summaryrefslogtreecommitdiffstats
path: root/tests/auto/q3header
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2010-01-06 14:02:09 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-01-06 14:02:09 (GMT)
commitda19e7f6b6b822f7a473c4eb2dff001a3434353a (patch)
tree5ff4f6c5d2cea0f0b75182387237fcc50982c117 /tests/auto/q3header
parentb13ede364f15a7237dbc67491c9edf65546ad01d (diff)
downloadQt-da19e7f6b6b822f7a473c4eb2dff001a3434353a.zip
Qt-da19e7f6b6b822f7a473c4eb2dff001a3434353a.tar.gz
Qt-da19e7f6b6b822f7a473c4eb2dff001a3434353a.tar.bz2
Update copyright year to 2010
Reviewed-by: Trust Me
Diffstat (limited to 'tests/auto/q3header')
-rw-r--r--tests/auto/q3header/tst_q3header.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/auto/q3header/tst_q3header.cpp b/tests/auto/q3header/tst_q3header.cpp
index 101a9db..ec79276 100644
--- a/tests/auto/q3header/tst_q3header.cpp
+++ b/tests/auto/q3header/tst_q3header.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
TUS_ARB 0x8B81 -#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 -#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 -#endif - -typedef GLhandleARB (APIENTRY *_glCreateShaderObjectARB) (GLenum); -typedef void (APIENTRY *_glShaderSourceARB) (GLhandleARB, GLuint, const GLcharARB**, GLint *); -typedef void (APIENTRY *_glCompileShaderARB) (GLhandleARB); -typedef void (APIENTRY *_glGetObjectParameterivARB) (GLhandleARB, GLenum, int *); -typedef void (APIENTRY *_glDeleteObjectARB) (GLhandleARB); -typedef void (APIENTRY *_glGetInfoLogARB) (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); -typedef GLhandleARB (APIENTRY *_glCreateProgramObjectARB) (); -typedef void (APIENTRY *_glAttachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glDetachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glLinkProgramARB) (GLhandleARB); -typedef void (APIENTRY *_glUseProgramObjectARB) (GLhandleARB); -typedef GLint (APIENTRY *_glGetUniformLocationARB) (GLhandleARB, const GLcharARB *); -typedef void (APIENTRY *_glUniform1iARB) (GLint, GLint); -typedef void (APIENTRY *_glUniform1fARB) (GLint, GLfloat); -typedef void (APIENTRY *_glUniform4fARB) (GLint, GLfloat, GLfloat, GLfloat, GLfloat); -typedef void (APIENTRY *_glUniformMatrix4fvARB) (GLint, GLuint, GLboolean, const GLfloat *); - typedef void (APIENTRY *_glGenFramebuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glGenRenderbuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum, GLuint); @@ -194,27 +144,9 @@ struct GLExtensionFunctions { bool resolve(const QGLContext *context); - bool glslSupported(); bool fboSupported(); bool openGL15Supported(); // the rest: multi-texture, 3D-texture, vertex buffer objects - _glCreateShaderObjectARB CreateShaderObjectARB; - _glShaderSourceARB ShaderSourceARB; - _glCompileShaderARB CompileShaderARB; - _glGetObjectParameterivARB GetObjectParameterivARB; - _glDeleteObjectARB DeleteObjectARB; - _glGetInfoLogARB GetInfoLogARB; - _glCreateProgramObjectARB CreateProgramObjectARB; - _glAttachObjectARB AttachObjectARB; - _glDetachObjectARB DetachObjectARB; - _glLinkProgramARB LinkProgramARB; - _glUseProgramObjectARB UseProgramObjectARB; - _glGetUniformLocationARB GetUniformLocationARB; - _glUniform1iARB Uniform1iARB; - _glUniform1fARB Uniform1fARB; - _glUniform4fARB Uniform4fARB; - _glUniformMatrix4fvARB UniformMatrix4fvARB; - _glGenFramebuffersEXT GenFramebuffersEXT; _glGenRenderbuffersEXT GenRenderbuffersEXT; _glBindRenderbufferEXT BindRenderbufferEXT; @@ -243,23 +175,6 @@ inline GLExtensionFunctions &getGLExtensionFunctions() return funcs; } -#define glCreateShaderObjectARB getGLExtensionFunctions().CreateShaderObjectARB -#define glShaderSourceARB getGLExtensionFunctions().ShaderSourceARB -#define glCompileShaderARB getGLExtensionFunctions().CompileShaderARB -#define glGetObjectParameterivARB getGLExtensionFunctions().GetObjectParameterivARB -#define glDeleteObjectARB getGLExtensionFunctions().DeleteObjectARB -#define glGetInfoLogARB getGLExtensionFunctions().GetInfoLogARB -#define glCreateProgramObjectARB getGLExtensionFunctions().CreateProgramObjectARB -#define glAttachObjectARB getGLExtensionFunctions().AttachObjectARB -#define glDetachObjectARB getGLExtensionFunctions().DetachObjectARB -#define glLinkProgramARB getGLExtensionFunctions().LinkProgramARB -#define glUseProgramObjectARB getGLExtensionFunctions().UseProgramObjectARB -#define glGetUniformLocationARB getGLExtensionFunctions().GetUniformLocationARB -#define glUniform1iARB getGLExtensionFunctions().Uniform1iARB -#define glUniform1fARB getGLExtensionFunctions().Uniform1fARB -#define glUniform4fARB getGLExtensionFunctions().Uniform4fARB -#define glUniformMatrix4fvARB getGLExtensionFunctions().UniformMatrix4fvARB - #define glGenFramebuffersEXT getGLExtensionFunctions().GenFramebuffersEXT #define glGenRenderbuffersEXT getGLExtensionFunctions().GenRenderbuffersEXT #define glBindRenderbufferEXT getGLExtensionFunctions().BindRenderbufferEXT diff --git a/demos/boxes/glshaders.cpp b/demos/boxes/glshaders.cpp deleted file mode 100644 index b6999a8..0000000 --- a/demos/boxes/glshaders.cpp +++ /dev/null @@ -1,266 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "glshaders.h" - -#define GLSHADERS_ASSERT_OPENGL(prefix, assertion, returnStatement) \ -if (m_failed || !(assertion)) { \ - if (!m_failed) qCritical(prefix ": The necessary OpenGL functions are not available."); \ - m_failed = true; \ - returnStatement; \ -} - - -GLShader::GLShader(const char *data, int size, GLenum shaderType) -: m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - GLint glSize = size; - glShaderSourceARB(m_shader, 1, &data, &glSize); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); -} - -GLShader::GLShader(const QString& fileName, GLenum shaderType) - : m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - QFile file(fileName); - if (file.open(QIODevice::ReadOnly)) { - QByteArray bytes = file.readAll(); - GLint size = file.size(); - const char *p = bytes.data(); - file.close(); - glShaderSourceARB(m_shader, 1, &p, &size); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); - } else { - m_compileError = true; - } -} - -GLShader::~GLShader() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::~GLShader", glDeleteObjectARB, return) - - glDeleteObjectARB(m_shader); -} - -QString GLShader::log() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::log", glGetObjectParameterivARB - && glGetInfoLogARB, return QLatin1String("GLSL not supported.")) - - int length; - glGetObjectParameterivARB(m_shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_shader, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -GLVertexShader::GLVertexShader(const char *data, int size) : GLShader(data, size, GL_VERTEX_SHADER_ARB) -{ -} - -GLVertexShader::GLVertexShader(const QString& fileName) : GLShader(fileName, GL_VERTEX_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const char *data, int size) : GLShader(data, size, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const QString& fileName) : GLShader(fileName, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLProgram::GLProgram() : m_linked(false), m_linkError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::GLProgram", glCreateProgramObjectARB, return) - - m_program = glCreateProgramObjectARB(); -} - -GLProgram::~GLProgram() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::~GLProgram", glDeleteObjectARB, return) - - glDeleteObjectARB(m_program); -} - -void GLProgram::attach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::attach", glAttachObjectARB, return) - - glAttachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -void GLProgram::detach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::detach", glDetachObjectARB, return) - - glDetachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -bool GLProgram::failed() -{ - if (m_failed || m_linkError) - return true; - - if (m_linked) - return false; - - GLSHADERS_ASSERT_OPENGL("GLProgram::failed", glLinkProgramARB && glGetObjectParameterivARB, return true) - - glLinkProgramARB(m_program); - int status; - glGetObjectParameterivARB(m_program, GL_OBJECT_LINK_STATUS_ARB, &status); - m_linkError = !(m_linked = (status == 1)); - return m_linkError; -} - -QString GLProgram::log() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::log", glGetObjectParameterivARB && glGetInfoLogARB, - return QLatin1String("Failed.")) - - int length; - glGetObjectParameterivARB(m_program, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_program, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -void GLProgram::bind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - if (!failed()) - glUseProgramObjectARB(m_program); -} - -void GLProgram::unbind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - glUseProgramObjectARB(0); -} - -bool GLProgram::hasParameter(const QString& name) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::hasParameter", glGetUniformLocationARB, return false) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - return -1 != glGetUniformLocationARB(m_program, asciiName.data()); - } - return false; -} - -void GLProgram::setInt(const QString& name, int value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setInt", glGetUniformLocationARB && glUniform1iARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1iARB(loc, value); - } -} - -void GLProgram::setFloat(const QString& name, float value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setFloat", glGetUniformLocationARB && glUniform1fARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1fARB(loc, value); - } -} - -void GLProgram::setColor(const QString& name, QRgb value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setColor", glGetUniformLocationARB && glUniform4fARB, return) - - //qDebug() << "Setting color" << name; - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - QColor color(value); - glUniform4fARB(loc, color.redF(), color.greenF(), color.blueF(), color.alphaF()); - } -} - -void GLProgram::setMatrix(const QString& name, const gfx::Matrix4x4f &mat) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setMatrix", glGetUniformLocationARB && glUniformMatrix4fvARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - glUniformMatrix4fvARB(loc, 1, GL_FALSE, mat.bits()); - } -} \ No newline at end of file diff --git a/demos/boxes/glshaders.h b/demos/boxes/glshaders.h deleted file mode 100644 index 2b6209a..0000000 --- a/demos/boxes/glshaders.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GLSHADERS_H -#define GLSHADERS_H - -//#include -#include "glextensions.h" - -#include -#include - -#include "vector.h" - -class GLShader -{ -public: - friend class GLProgram; - virtual ~GLShader(); - bool failed() const {return m_failed;} - QString log(); -protected: - GLShader(const char *data, int size, GLenum shaderType); - GLShader(const QString& fileName, GLenum shaderType); - - GLhandleARB m_shader; - bool m_compileError; - bool m_failed; -}; - -class GLVertexShader : public GLShader -{ -public: - GLVertexShader(const char *data, int size); - GLVertexShader(const QString& fileName); -}; - -class GLFragmentShader : public GLShader -{ -public: - GLFragmentShader(const char *data, int size); - GLFragmentShader(const QString& fileName); -}; - -class GLProgram -{ -public: - GLProgram(); - ~GLProgram(); - void attach(const GLShader &shader); - void detach(const GLShader &shader); - void bind(); - void unbind(); - bool failed(); - QString log(); - bool hasParameter(const QString& name); - // use program before setting values - void setInt(const QString& name, int value); - void setFloat(const QString& name, float value); - void setColor(const QString& name, QRgb value); - void setMatrix(const QString& name, const gfx::Matrix4x4f &mat); - // TODO: add a bunch of set-functions for different types. -private: - GLhandleARB m_program; - bool m_linked; - bool m_linkError; - bool m_failed; -}; - -#endif diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp index 1040e17..e5aab75 100644 --- a/demos/boxes/scene.cpp +++ b/demos/boxes/scene.cpp @@ -531,11 +531,11 @@ Scene::~Scene() if (texture) delete texture; if (m_mainCubemap) delete m_mainCubemap; - foreach (GLProgram *program, m_programs) + foreach (QGLShaderProgram *program, m_programs) if (program) delete program; if (m_vertexShader) delete m_vertexShader; - foreach (GLFragmentShader *shader, m_fragmentShaders) + foreach (QGLShader *shader, m_fragmentShaders) if (shader) delete shader; foreach (GLRenderTargetCube *rt, m_cubemaps) if (rt) delete rt; @@ -549,16 +549,18 @@ void Scene::initGL() { m_box = new GLRoundedBox(0.25f, 1.0f, 10); - m_vertexShader = new GLVertexShader(":/res/boxes/basic.vsh"); + m_vertexShader = new QGLShader(":/res/boxes/basic.vsh", QGLShader::VertexShader); QStringList list; list << ":/res/boxes/cubemap_posx.jpg" << ":/res/boxes/cubemap_negx.jpg" << ":/res/boxes/cubemap_posy.jpg" << ":/res/boxes/cubemap_negy.jpg" << ":/res/boxes/cubemap_posz.jpg" << ":/res/boxes/cubemap_negz.jpg"; m_environment = new GLTextureCube(list, qMin(1024, m_maxTextureSize)); - m_environmentShader = new GLFragmentShader(environmentShaderText, strlen(environmentShaderText)); - m_environmentProgram = new GLProgram; - m_environmentProgram->attach(*m_vertexShader); - m_environmentProgram->attach(*m_environmentShader); + m_environmentShader = new QGLShader(QGLShader::FragmentShader); + m_environmentShader->setSourceCode(environmentShaderText); + m_environmentProgram = new QGLShaderProgram; + m_environmentProgram->addShader(m_vertexShader); + m_environmentProgram->addShader(m_environmentShader); + m_environmentProgram->link(); const int NOISE_SIZE = 128; // for a different size, B and BM in fbm.c must also be changed m_noise = new GLTexture3D(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE); @@ -610,19 +612,19 @@ void Scene::initGL() filter = QStringList("*.fsh"); files = QDir(":/res/boxes/").entryInfoList(filter, QDir::Files | QDir::Readable); foreach (QFileInfo file, files) { - GLProgram *program = new GLProgram; - GLFragmentShader* shader = new GLFragmentShader(file.absoluteFilePath()); + QGLShaderProgram *program = new QGLShaderProgram; + QGLShader* shader = new QGLShader(file.absoluteFilePath(), QGLShader::FragmentShader); // The program does not take ownership over the shaders, so store them in a vector so they can be deleted afterwards. - program->attach(*m_vertexShader); - program->attach(*shader); - if (program->failed()) { + program->addShader(m_vertexShader); + program->addShader(shader); + if (!program->link()) { qWarning("Failed to compile and link shader program"); qWarning("Vertex shader log:"); - qWarning() << m_vertexShader->log(); + qWarning() << m_vertexShader->errors(); qWarning() << "Fragment shader log ( file =" << file.absoluteFilePath() << "):"; - qWarning() << shader->log(); + qWarning() << shader->errors(); qWarning("Shader program log:"); - qWarning() << program->log(); + qWarning() << program->errors(); delete shader; delete program; @@ -633,13 +635,13 @@ void Scene::initGL() m_programs << program; m_renderOptions->addShader(file.baseName()); - program->bind(); - m_cubemaps << (program->hasParameter("env") ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); - program->unbind(); + program->enable(); + m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); + program->disable(); } if (m_programs.size() == 0) - m_programs << new GLProgram; + m_programs << new QGLShaderProgram; m_renderOptions->emitParameterChanged(); } @@ -674,12 +676,12 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) // Don't render the environment if the environment texture can't be set for the correct sampler. if (glActiveTexture) { m_environment->bind(); - m_environmentProgram->bind(); - m_environmentProgram->setInt("tex", 0); - m_environmentProgram->setInt("env", 1); - m_environmentProgram->setInt("noise", 2); + m_environmentProgram->enable(); + m_environmentProgram->setUniformValue("tex", 0); + m_environmentProgram->setUniformValue("env", 1); + m_environmentProgram->setUniformValue("noise", 2); m_box->draw(); - m_environmentProgram->unbind(); + m_environmentProgram->disable(); m_environment->unbind(); } @@ -707,14 +709,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) else m_environment->bind(); } - m_programs[i]->bind(); - m_programs[i]->setInt("tex", 0); - m_programs[i]->setInt("env", 1); - m_programs[i]->setInt("noise", 2); - m_programs[i]->setMatrix("view", view); - m_programs[i]->setMatrix("invView", invView); + m_programs[i]->enable(); + m_programs[i]->setUniformValue("tex", 0); + m_programs[i]->setUniformValue("env", 1); + m_programs[i]->setUniformValue("noise", 2); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[i]->setUniformValue("view", mview); + m_programs[i]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[i]->unbind(); + m_programs[i]->disable(); if (glActiveTexture) { if (m_dynamicCubemap && m_cubemaps[i]) @@ -737,14 +743,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) m_environment->bind(); } - m_programs[m_currentShader]->bind(); - m_programs[m_currentShader]->setInt("tex", 0); - m_programs[m_currentShader]->setInt("env", 1); - m_programs[m_currentShader]->setInt("noise", 2); - m_programs[m_currentShader]->setMatrix("view", view); - m_programs[m_currentShader]->setMatrix("invView", invView); + m_programs[m_currentShader]->enable(); + m_programs[m_currentShader]->setUniformValue("tex", 0); + m_programs[m_currentShader]->setUniformValue("env", 1); + m_programs[m_currentShader]->setUniformValue("noise", 2); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[m_currentShader]->setUniformValue("view", mview); + m_programs[m_currentShader]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[m_currentShader]->unbind(); + m_programs[m_currentShader]->disable(); if (glActiveTexture) { if (m_dynamicCubemap) @@ -1021,20 +1031,20 @@ void Scene::toggleDynamicCubemap(int state) void Scene::setColorParameter(const QString &name, QRgb color) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setColor(name, color); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), QColor(color)); + program->disable(); } } void Scene::setFloatParameter(const QString &name, float value) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setFloat(name, value); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), value); + program->disable(); } } diff --git a/demos/boxes/scene.h b/demos/boxes/scene.h index 2db9317..c056739 100644 --- a/demos/boxes/scene.h +++ b/demos/boxes/scene.h @@ -53,7 +53,6 @@ #include "vector.h" #include "trackball.h" #include "glbuffers.h" -#include "glshaders.h" #include "qtbox.h" #define PI 3.14159265358979 @@ -231,11 +230,11 @@ private: GLTexture3D *m_noise; GLRenderTargetCube *m_mainCubemap; QVector m_cubemaps; - QVector m_programs; - GLVertexShader *m_vertexShader; - QVector m_fragmentShaders; - GLFragmentShader *m_environmentShader; - GLProgram *m_environmentProgram; + QVector m_programs; + QGLShader *m_vertexShader; + QVector m_fragmentShaders; + QGLShader *m_environmentShader; + QGLShaderProgram *m_environmentProgram; }; diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp index 213c5b2..ee50670 100644 --- a/examples/opengl/hellogl_es2/glwidget.cpp +++ b/examples/opengl/hellogl_es2/glwidget.cpp @@ -48,124 +48,10 @@ const int bubbleNum = 8; -inline void CrossProduct(qreal &xOut, qreal &yOut, qreal &zOut, qreal x1, qreal y1, qreal z1, qreal x2, qreal y2, qreal z2) -{ - xOut = y1 * z2 - z1 * y2; - yOut = z1 * x2 - x1 * z2; - zOut = x1 * y2 - y1 * x2; -} - -inline void Normalize(qreal &x, qreal &y, qreal &z) -{ - qreal l = sqrt(x*x + y*y + z*z); - x = x / l; - y = y / l; - z = z / l; -} - -inline void IdentityMatrix(GLfloat *m) -{ - m[0 * 4 + 0] = 1.0f; - m[1 * 4 + 0] = 0.0f; - m[2 * 4 + 0] = 0.0f; - m[3 * 4 + 0] = 0.0f; - m[0 * 4 + 1] = 0.0f; - m[1 * 4 + 1] = 1.0f; - m[2 * 4 + 1] = 0.0f; - m[3 * 4 + 1] = 0.0f; - m[0 * 4 + 2] = 0.0f; - m[1 * 4 + 2] = 0.0f; - m[2 * 4 + 2] = 1.0f; - m[3 * 4 + 2] = 0.0f; - m[0 * 4 + 3] = 0.0f; - m[1 * 4 + 3] = 0.0f; - m[2 * 4 + 3] = 0.0f; - m[3 * 4 + 3] = 1.0f; -} - -// Adjust a 4x4 matrix to apply a scale. -inline void ScaleMatrix(GLfloat *m, GLfloat scalex, GLfloat scaley, GLfloat scalez) -{ - m[0 * 4 + 0] *= scalex; - m[0 * 4 + 1] *= scalex; - m[0 * 4 + 2] *= scalex; - m[0 * 4 + 3] *= scalex; - m[1 * 4 + 0] *= scaley; - m[1 * 4 + 1] *= scaley; - m[1 * 4 + 2] *= scaley; - m[1 * 4 + 3] *= scaley; - m[2 * 4 + 0] *= scalez; - m[2 * 4 + 1] *= scalez; - m[2 * 4 + 2] *= scalez; - m[2 * 4 + 3] *= scalez; -} - -// Adjust a 4x4 matrix to apply a translation. -inline void TranslateMatrix(GLfloat *m, GLfloat translatex, GLfloat translatey, GLfloat translatez) -{ - m[3 * 4 + 0] += m[0 * 4 + 0] * translatex + m[1 * 4 + 0] * translatey + m[2 * 4 + 0] * translatez; - m[3 * 4 + 1] += m[0 * 4 + 1] * translatex + m[1 * 4 + 1] * translatey + m[2 * 4 + 1] * translatez; - m[3 * 4 + 2] += m[0 * 4 + 2] * translatex + m[1 * 4 + 2] * translatey + m[2 * 4 + 2] * translatez; - m[3 * 4 + 3] += m[0 * 4 + 3] * translatex + m[1 * 4 + 3] * translatey + m[2 * 4 + 3] * translatez; -} - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -// Adjust a 4x4 matrix to apply a rotation. -inline void RotateMatrix(GLfloat *m, GLfloat angle, GLfloat vx, GLfloat vy, GLfloat vz) -{ - GLfloat len = sqrt(vx * vx + vy * vy + vz * vz); - if (len != 0) { - vx /= len; - vy /= len; - vz /= len; - } - - GLfloat c, s, ic; - c = cos(angle * M_PI / 180.0); - s = sin(angle * M_PI / 180.0); - ic = 1.0f - c; - - GLfloat rot[16]; - rot[0 * 4 + 0] = vx * vx * ic + c; - rot[1 * 4 + 0] = vx * vy * ic - vz * s; - rot[2 * 4 + 0] = vx * vz * ic + vy * s; - rot[3 * 4 + 0] = 0.0f; - rot[0 * 4 + 1] = vy * vx * ic + vz * s; - rot[1 * 4 + 1] = vy * vy * ic + c; - rot[2 * 4 + 1] = vy * vz * ic - vx * s; - rot[3 * 4 + 1] = 0.0f; - rot[0 * 4 + 2] = vx * vz * ic - vy * s; - rot[1 * 4 + 2] = vy * vz * ic + vx * s; - rot[2 * 4 + 2] = vz * vz * ic + c; - rot[3 * 4 + 2] = 0.0f; - rot[0 * 4 + 3] = 0.0f; - rot[1 * 4 + 3] = 0.0f; - rot[2 * 4 + 3] = 0.0f; - rot[3 * 4 + 3] = 1.0f; - - GLfloat temp[16]; - for (int i = 0; i < 4; ++i) { - for (int j = 0; j < 4; ++j) { - temp[j * 4 + i] = 0.0f; - for (int k = 0; k < 4; ++k) { - temp[j * 4 + i] += m[k * 4 + i] * rot[j * 4 + k]; - } - } - } - - qMemCopy(m, temp, sizeof(temp)); -} - GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent) { qtLogo = true; - createdVertices = 0; - createdNormals = 0; - m_vertexNumber = 0; frames = 0; setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_NoSystemBackground); @@ -178,10 +64,6 @@ GLWidget::GLWidget(QWidget *parent) GLWidget::~GLWidget() { - if (createdVertices) - delete[] createdVertices; - if (createdNormals) - delete[] createdNormals; } void GLWidget::setScaling(int scale) { @@ -210,13 +92,11 @@ void GLWidget::showBubbles(bool bubbles) void GLWidget::paintQtLogo() { glDisable(GL_TEXTURE_2D); - glVertexAttribPointer(vertexAttr1, 3, GL_FLOAT, GL_FALSE, 0, createdVertices); - glEnableVertexAttribArray(vertexAttr1); - glVertexAttribPointer(normalAttr1, 3, GL_FLOAT, GL_FALSE, 0, createdNormals); - glEnableVertexAttribArray(normalAttr1); - glDrawArrays(GL_TRIANGLES, 0, m_vertexNumber / 3); - glDisableVertexAttribArray(normalAttr1); - glDisableVertexAttribArray(vertexAttr1); + program1.setAttributeArray(vertexAttr1, vertices.constData()); + program1.setAttributeArray(normalAttr1, normals.constData()); + glDrawArrays(GL_TRIANGLES, 0, vertices.size()); + program1.disableAttributeArray(normalAttr1); + program1.disableAttributeArray(vertexAttr1); } void GLWidget::paintTexturedCube() @@ -239,8 +119,7 @@ void GLWidget::paintTexturedCube() -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5 }; - glVertexAttribPointer(vertexAttr2, 3, GL_FLOAT, GL_FALSE, 0, afVertices); - glEnableVertexAttribArray(vertexAttr2); + program2.setAttributeArray(vertexAttr2, afVertices, 3); GLfloat afTexCoord[] = { 0.0f,0.0f, 1.0f,1.0f, 1.0f,0.0f, @@ -258,8 +137,7 @@ void GLWidget::paintTexturedCube() 1.0f,0.0f, 1.0f,1.0f, 0.0f,0.0f, 0.0f,1.0f, 0.0f,0.0f, 1.0f,1.0f }; - glVertexAttribPointer(texCoordAttr2, 2, GL_FLOAT, GL_FALSE, 0, afTexCoord); - glEnableVertexAttribArray(texCoordAttr2); + program2.setAttributeArray(texCoordAttr2, afTexCoord, 2); GLfloat afNormals[] = { @@ -278,50 +156,15 @@ void GLWidget::paintTexturedCube() 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0 }; - glVertexAttribPointer(normalAttr2, 3, GL_FLOAT, GL_FALSE, 0, afNormals); - glEnableVertexAttribArray(normalAttr2); + program2.setAttributeArray(normalAttr2, afNormals, 3); - glUniform1i(textureUniform2, 0); // use texture unit 0 + program2.setUniformValue(textureUniform2, 0); // use texture unit 0 glDrawArrays(GL_TRIANGLES, 0, 36); - glDisableVertexAttribArray(vertexAttr2); - glDisableVertexAttribArray(normalAttr2); - glDisableVertexAttribArray(texCoordAttr2); -} - -static void reportCompileErrors(GLuint shader, const char *src) -{ - GLint value = 0; - glGetShaderiv(shader, GL_COMPILE_STATUS, &value); - bool compiled = (value != 0); - value = 0; - glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &value); - if (!compiled && value > 1) { - char *log = new char [value]; - GLint len; - glGetShaderInfoLog(shader, value, &len, log); - qWarning("%s\n", log); - qWarning("when compiling:\n%s\n", src); - delete [] log; - } -} - -static void reportLinkErrors(GLuint program, const char *vsrc, const char *fsrc) -{ - GLint value = 0; - glGetProgramiv(program, GL_LINK_STATUS, &value); - bool linked = (value != 0); - value = 0; - glGetProgramiv(program, GL_INFO_LOG_LENGTH, &value); - if (!linked && value > 1) { - char *log = new char [value]; - GLint len; - glGetProgramInfoLog(program, value, &len, log); - qWarning("%s\n", log); - qWarning("when linking:\n%s\nwith:\n%s\n", vsrc, fsrc); - delete [] log; - } + program2.disableAttributeArray(vertexAttr2); + program2.disableAttributeArray(normalAttr2); + program2.disableAttributeArray(texCoordAttr2); } void GLWidget::initializeGL () @@ -332,8 +175,8 @@ void GLWidget::initializeGL () glGenTextures(1, &m_uiTexture); m_uiTexture = bindTexture(QImage(":/qt.png")); - GLuint vshader1 = glCreateShader(GL_VERTEX_SHADER); - const char *vsrc1[1] = { + QGLShader *vshader1 = new QGLShader(QGLShader::VertexShader, this); + const char *vsrc1 = "attribute highp vec4 vertex;\n" "attribute mediump vec3 normal;\n" "uniform mediump mat4 matrix;\n" @@ -346,36 +189,28 @@ void GLWidget::initializeGL () " color = vec4(col * 0.2 + col * 0.8 * angle, 1.0);\n" " color = clamp(color, 0.0, 1.0);\n" " gl_Position = matrix * vertex;\n" - "}\n" - }; - glShaderSource(vshader1, 1, vsrc1, 0); - glCompileShader(vshader1); - reportCompileErrors(vshader1, vsrc1[0]); + "}\n"; + vshader1->setSourceCode(vsrc1); - GLuint fshader1 = glCreateShader(GL_FRAGMENT_SHADER); - const char *fsrc1[1] = { + QGLShader *fshader1 = new QGLShader(QGLShader::FragmentShader, this); + const char *fsrc1 = "varying mediump vec4 color;\n" "void main(void)\n" "{\n" " gl_FragColor = color;\n" - "}\n" - }; - glShaderSource(fshader1, 1, fsrc1, 0); - glCompileShader(fshader1); - reportCompileErrors(fshader1, fsrc1[0]); - - program1 = glCreateProgram(); - glAttachShader(program1, vshader1); - glAttachShader(program1, fshader1); - glLinkProgram(program1); - reportLinkErrors(program1, vsrc1[0], fsrc1[0]); - - vertexAttr1 = glGetAttribLocation(program1, "vertex"); - normalAttr1 = glGetAttribLocation(program1, "normal"); - matrixUniform1 = glGetUniformLocation(program1, "matrix"); - - GLuint vshader2 = glCreateShader(GL_VERTEX_SHADER); - const char *vsrc2[1] = { + "}\n"; + fshader1->setSourceCode(fsrc1); + + program1.addShader(vshader1); + program1.addShader(fshader1); + program1.link(); + + vertexAttr1 = program1.attributeLocation("vertex"); + normalAttr1 = program1.attributeLocation("normal"); + matrixUniform1 = program1.uniformLocation("matrix"); + + QGLShader *vshader2 = new QGLShader(QGLShader::VertexShader); + const char *vsrc2 = "attribute highp vec4 vertex;\n" "attribute highp vec4 texCoord;\n" "attribute mediump vec3 normal;\n" @@ -388,14 +223,11 @@ void GLWidget::initializeGL () " angle = max(dot(normal, toLight), 0.0);\n" " gl_Position = matrix * vertex;\n" " texc = texCoord;\n" - "}\n" - }; - glShaderSource(vshader2, 1, vsrc2, 0); - glCompileShader(vshader2); - reportCompileErrors(vshader2, vsrc2[0]); + "}\n"; + vshader2->setSourceCode(vsrc2); - GLuint fshader2 = glCreateShader(GL_FRAGMENT_SHADER); - const char *fsrc2[1] = { + QGLShader *fshader2 = new QGLShader(QGLShader::FragmentShader); + const char *fsrc2 = "varying highp vec4 texc;\n" "uniform sampler2D tex;\n" "varying mediump float angle;\n" @@ -404,23 +236,18 @@ void GLWidget::initializeGL () " highp vec3 color = texture2D(tex, texc.st).rgb;\n" " color = color * 0.2 + color * 0.8 * angle;\n" " gl_FragColor = vec4(clamp(color, 0.0, 1.0), 1.0);\n" - "}\n" - }; - glShaderSource(fshader2, 1, fsrc2, 0); - glCompileShader(fshader2); - reportCompileErrors(fshader2, fsrc2[0]); - - program2 = glCreateProgram(); - glAttachShader(program2, vshader2); - glAttachShader(program2, fshader2); - glLinkProgram(program2); - reportLinkErrors(program2, vsrc2[0], fsrc2[0]); - - vertexAttr2 = glGetAttribLocation(program2, "vertex"); - normalAttr2 = glGetAttribLocation(program2, "normal"); - texCoordAttr2 = glGetAttribLocation(program2, "texCoord"); - matrixUniform2 = glGetUniformLocation(program2, "matrix"); - textureUniform2 = glGetUniformLocation(program2, "tex"); + "}\n"; + fshader2->setSourceCode(fsrc2); + + program2.addShader(vshader2); + program2.addShader(fshader2); + program2.link(); + + vertexAttr2 = program2.attributeLocation("vertex"); + normalAttr2 = program2.attributeLocation("normal"); + texCoordAttr2 = program2.attributeLocation("texCoord"); + matrixUniform2 = program2.uniformLocation("matrix"); + textureUniform2 = program2.uniformLocation("tex"); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); @@ -450,24 +277,23 @@ void GLWidget::paintGL() glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); - GLfloat modelview[16]; - IdentityMatrix(modelview); - RotateMatrix(modelview, m_fAngle, 0.0, 1.0, 0.0); - RotateMatrix(modelview, m_fAngle, 1.0, 0.0, 0.0); - RotateMatrix(modelview, m_fAngle, 0.0, 0.0, 1.0); - ScaleMatrix(modelview, m_fScale, m_fScale, m_fScale); - TranslateMatrix(modelview, 0, -0.2, 0); + QMatrix4x4 modelview; + modelview.rotate(m_fAngle, 0.0f, 1.0f, 0.0f); + modelview.rotate(m_fAngle, 1.0f, 0.0f, 0.0f); + modelview.rotate(m_fAngle, 0.0f, 0.0f, 1.0f); + modelview.scale(m_fScale); + modelview.translate(0.0f, -0.2f, 0.0f); if (qtLogo) { - glUseProgram(program1); - glUniformMatrix4fv(matrixUniform1, 1, GL_FALSE, modelview); + program1.enable(); + program1.setUniformValue(matrixUniform1, modelview); paintQtLogo(); - glUseProgram(0); + program1.disable(); } else { - glUseProgram(program2); - glUniformMatrix4fv(matrixUniform2, 1, GL_FALSE, modelview); + program2.enable(); + program1.setUniformValue(matrixUniform2, modelview); paintTexturedCube(); - glUseProgram(0); + program2.disable(); } glDisable(GL_DEPTH_TEST); @@ -563,80 +389,69 @@ void GLWidget::createGeometry() extrude(x8, y8, x5, y5); } - m_vertexNumber = vertices.size(); - createdVertices = new GLfloat[m_vertexNumber]; - createdNormals = new GLfloat[m_vertexNumber]; - for (int i = 0;i < m_vertexNumber;i++) { - createdVertices[i] = vertices.at(i) * 2; - createdNormals[i] = normals.at(i); - } - vertices.clear(); - normals.clear(); + for (int i = 0;i < vertices.size();i++) + vertices[i] *= 2.0f; } void GLWidget::quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4) { - qreal nx, ny, nz; + vertices << QVector3D(x1, y1, -0.05f); + vertices << QVector3D(x2, y2, -0.05f); + vertices << QVector3D(x4, y4, -0.05f); - vertices << x1 << y1 << -0.05f; - vertices << x2 << y2 << -0.05f; - vertices << x4 << y4 << -0.05f; + vertices << QVector3D(x3, y3, -0.05f); + vertices << QVector3D(x4, y4, -0.05f); + vertices << QVector3D(x2, y2, -0.05f); - vertices << x3 << y3 << -0.05f; - vertices << x4 << y4 << -0.05f; - vertices << x2 << y2 << -0.05f; + QVector3D n = QVector3D::normal + (QVector3D(x2 - x1, y2 - y1, 0.0f), QVector3D(x4 - x1, y4 - y1, 0.0f)); - CrossProduct(nx, ny, nz, x2 - x1, y2 - y1, 0, x4 - x1, y4 - y1, 0); - Normalize(nx, ny, nz); + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + vertices << QVector3D(x4, y4, 0.05f); + vertices << QVector3D(x2, y2, 0.05f); + vertices << QVector3D(x1, y1, 0.05f); - vertices << x4 << y4 << 0.05f; - vertices << x2 << y2 << 0.05f; - vertices << x1 << y1 << 0.05f; + vertices << QVector3D(x2, y2, 0.05f); + vertices << QVector3D(x4, y4, 0.05f); + vertices << QVector3D(x3, y3, 0.05f); - vertices << x2 << y2 << 0.05f; - vertices << x4 << y4 << 0.05f; - vertices << x3 << y3 << 0.05f; + n = QVector3D::normal + (QVector3D(x2 - x4, y2 - y4, 0.0f), QVector3D(x1 - x4, y1 - y4, 0.0f)); - CrossProduct(nx, ny, nz, x2 - x4, y2 - y4, 0, x1 - x4, y1 - y4, 0); - Normalize(nx, ny, nz); + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; - - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; } void GLWidget::extrude(qreal x1, qreal y1, qreal x2, qreal y2) { - qreal nx, ny, nz; - - vertices << x1 << y1 << +0.05f; - vertices << x2 << y2 << +0.05f; - vertices << x1 << y1 << -0.05f; + vertices << QVector3D(x1, y1, +0.05f); + vertices << QVector3D(x2, y2, +0.05f); + vertices << QVector3D(x1, y1, -0.05f); - vertices << x2 << y2 << -0.05f; - vertices << x1 << y1 << -0.05f; - vertices << x2 << y2 << +0.05f; + vertices << QVector3D(x2, y2, -0.05f); + vertices << QVector3D(x1, y1, -0.05f); + vertices << QVector3D(x2, y2, +0.05f); - CrossProduct(nx, ny, nz, x2 - x1, y2 - y1, 0.0f, 0.0f, 0.0f, -0.1f); - Normalize(nx, ny, nz); + QVector3D n = QVector3D::normal + (QVector3D(x2 - x1, y2 - y1, 0.0f), QVector3D(0.0f, 0.0f, -0.1f)); - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; } diff --git a/examples/opengl/hellogl_es2/glwidget.h b/examples/opengl/hellogl_es2/glwidget.h index 9a7823a..596e1cc 100644 --- a/examples/opengl/hellogl_es2/glwidget.h +++ b/examples/opengl/hellogl_es2/glwidget.h @@ -43,7 +43,11 @@ #define GLWIDGET_H #include +#include +#include +#include #include +#include class Bubble; class GLWidget : public QGLWidget { @@ -71,24 +75,21 @@ private: void createBubbles(int number); void quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4); void extrude(qreal x1, qreal y1, qreal x2, qreal y2); - QList vertices; - QList normals; - GLfloat *createdVertices; - GLfloat *createdNormals; - int m_vertexNumber; + QVector vertices; + QVector normals; bool qtLogo; QList bubbles; int frames; QTime time; - GLuint program1; - GLuint program2; - GLuint vertexAttr1; - GLuint normalAttr1; - GLuint matrixUniform1; - GLuint vertexAttr2; - GLuint normalAttr2; - GLuint texCoordAttr2; - GLuint matrixUniform2; - GLuint textureUniform2; + QGLShaderProgram program1; + QGLShaderProgram program2; + int vertexAttr1; + int normalAttr1; + int matrixUniform1; + int vertexAttr2; + int normalAttr2; + int texCoordAttr2; + int matrixUniform2; + int textureUniform2; }; #endif diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index b9c2bee..2767f6f 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2939,7 +2939,12 @@ bool QInternal::callFunction(InternalFunction func, void **args) \relates \since 4.4 \threadsafe - \overload + + Compares the floating point value \a p1 and \a p2 and + returns \c true if they are considered equal, otherwise \c false. + + The two numbers are compared in a relative way, where the + exactness is stronger the smaller the numbers are. */ /*! diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 210f713..6f886c2 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1833,7 +1833,7 @@ enum { /* TYPEINFO flags */ #define Q_DECLARE_TYPEINFO(TYPE, FLAGS) \ template <> \ -class QTypeInfo \ +class QTypeInfo \ { \ public: \ enum { \ diff --git a/src/gui/gui.pro b/src/gui/gui.pro index f224e67..1aa6558 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -31,6 +31,7 @@ include(itemviews/itemviews.pri) include(inputmethod/inputmethod.pri) include(graphicsview/graphicsview.pri) include(util/util.pri) +include(math3d/math3d.pri) embedded: QT += network diff --git a/src/gui/math3d/math3d.pri b/src/gui/math3d/math3d.pri new file mode 100644 index 0000000..581adbd --- /dev/null +++ b/src/gui/math3d/math3d.pri @@ -0,0 +1,20 @@ +HEADERS += \ + math3d/qfixedpt.h \ + math3d/qgenericmatrix.h \ + math3d/qmath3dglobal.h \ + math3d/qmath3dutil_p.h \ + math3d/qmatrix4x4.h \ + math3d/qquaternion.h \ + math3d/qvector2d.h \ + math3d/qvector3d.h \ + math3d/qvector4d.h + +SOURCES += \ + math3d/qfixedpt.cpp \ + math3d/qgenericmatrix.cpp \ + math3d/qmath3dutil.cpp \ + math3d/qmatrix4x4.cpp \ + math3d/qquaternion.cpp \ + math3d/qvector2d.cpp \ + math3d/qvector3d.cpp \ + math3d/qvector4d.cpp diff --git a/src/gui/math3d/qfixedpt.cpp b/src/gui/math3d/qfixedpt.cpp new file mode 100644 index 0000000..e7e61b6 --- /dev/null +++ b/src/gui/math3d/qfixedpt.cpp @@ -0,0 +1,681 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qfixedpt.h" + +QT_BEGIN_NAMESPACE + +/*! + \internal + Returns the fixed-point square root of \a value. +*/ +qint64 qt_math3d_fixed_sqrt(qint64 value) +{ + qint64 result = 0; + qint64 bit = ((qint64)1) << 62; + while (bit > value) + bit >>= 2; + while (bit != 0) { + if (value >= (result + bit)) { + value -= result + bit; + result += (bit << 1); + } + result >>= 1; + bit >>= 2; + } + return result; +} + +/*! + \class QFixedPt + \brief The QFixedPt class represents fixed-point numbers within a 32-bit integer with a configurable precision. + + The template parameter is the number of bits of precision after + the decimal point. For example, QFixedPt<5> indicates that there + are 27 bits before the decimal point, and 5 bits of precision after + the decimal point. +*/ + +/*! + \fn QFixedPt::QFixedPt() + + Constructs a default fixed-point number. The initial value + is undefined. +*/ + +/*! + \fn QFixedPt::QFixedPt(int value) + + Constructs a fixed-point number from the integer \a value. +*/ + +/*! + \fn QFixedPt::QFixedPt(qreal value) + + Constructs a fixed-point number from the floating-point \a value. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator=(int value) + + Assigns the integer \a value to this fixed-point variable. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator=(qreal value) + + Assigns the floating-point \a value to this fixed-point variable. +*/ + +/*! + \fn int QFixedPt::bits() const + + Returns the raw bits that represent the fixed-point value of this object. + + \sa setBits() +*/ + +/*! + \fn void QFixedPt::setBits(int value) + + Sets the raw bits that represent the fixed-point value of + this object to \a value. + + \sa bits() +*/ + +#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC) + +/*! + \fn QFixedPt QFixedPt::toPrecision() const + + Returns this fixed-point number, converted to the new fixed-point + precision Prec. + + \sa qFixedPtToPrecision() +*/ + +#endif + +/*! + \fn QFixedPt qFixedPtToPrecision(const QFixedPt& value) + + Returns the fixed-point number \a value, converted to the new fixed-point + precision Prec. + + \sa QFixedPt::toPrecision() +*/ + +/*! + \fn QFixedPt& QFixedPt::operator+=(const QFixedPt& value) + + Adds \a value to this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator+=(int value) + + Adds an integer \a value to this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator+=(qreal value) + + Adds a floating-point \a value to this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator-=(const QFixedPt& value) + + Subtracts \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator-=(int value) + + Subtracts an integer \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator-=(qreal value) + + Subtracts a floating-point \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator*=(const QFixedPt& value) + + Multiplies this fixed-point number by \a value. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator*=(int value) + + Multiplies this fixed-point number by an integer \a value. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator*=(qreal value) + + Multiplies this fixed-point number by a floating-point \a value. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator/=(const QFixedPt& value) + + Divides this fixed-point number by \a value. Division by zero + will result in zero. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator/=(int value) + + Divides this fixed-point number by an integer \a value. Division + by zero will result in zero. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator/=(qreal value) + + Divides this fixed-point number by a floating-point \a value. Division + by zero will result in zero. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator<<=(int value) + + Shifts this fixed-point number left by \a value bits. +*/ + +/*! + \fn QFixedPt& QFixedPt::operator>>=(int value) + + Shifts this fixed-point number right by \a value bits. +*/ + +/*! + \fn QFixedPt QFixedPt::operator<<(int value) const + + Returns the result of shifting this fixed-point number + left by \a value bits. +*/ + +/*! + \fn QFixedPt QFixedPt::operator>>(int value) const + + Returns the result of shifting this fixed-point number + right by \a value bits. +*/ + +/*! + \fn bool QFixedPt::operator==(const QFixedPt& value) const + + Returns true if this fixed-point number is equal to \a value; + false otherwise. +*/ + +/*! + \fn bool operator==(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator==(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator==(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator==(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is equal to \a v2; false otherwise. +*/ + +/*! + \fn bool QFixedPt::operator!=(const QFixedPt& value) const + + Returns true if this fixed-point number is not equal to \a value; + false otherwise. +*/ + +/*! + \fn bool operator!=(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is not equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator!=(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is not equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator!=(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is not equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator!=(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is not equal to \a v2; false otherwise. +*/ + +/*! + \fn bool QFixedPt::operator<=(const QFixedPt& value) const + + Returns true if this fixed-point number is less than or equal to + \a value; false otherwise. +*/ + +/*! + \fn bool operator<=(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is less than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator<=(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is less than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator<=(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is less than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator<=(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is less than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool QFixedPt::operator<(const QFixedPt& value) const + + Returns true if this fixed-point number is less than \a value; + false otherwise. +*/ + +/*! + \fn bool operator<(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is less than \a v2; false otherwise. +*/ + +/*! + \fn bool operator<(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is less than \a v2; false otherwise. +*/ + +/*! + \fn bool operator<(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is less than \a v2; false otherwise. +*/ + +/*! + \fn bool operator<(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is less than \a v2; false otherwise. +*/ + +/*! + \fn bool QFixedPt::operator>=(const QFixedPt& value) const + + Returns true if this fixed-point number is greater than or equal to + \a value; false otherwise. +*/ + +/*! + \fn bool operator>=(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is greater than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator>=(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is greater than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator>=(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is greater than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool operator>=(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is greater than or equal to \a v2; false otherwise. +*/ + +/*! + \fn bool QFixedPt::operator>(const QFixedPt& value) const + + Returns true if this fixed-point number is greater than \a value; + false otherwise. +*/ + +/*! + \fn bool operator>(const QFixedPt& v1, int v2) + \relates QFixedPt + + Returns true if \a v1 is greater than \a v2; false otherwise. +*/ + +/*! + \fn bool operator>(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is greater than \a v2; false otherwise. +*/ + +/*! + \fn bool operator>(const QFixedPt& v1, qreal v2) + \relates QFixedPt + + Returns true if \a v1 is greater than \a v2; false otherwise. +*/ + +/*! + \fn bool operator>(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns true if \a v1 is greater than \a v2; false otherwise. +*/ + +/*! + \fn QFixedPt QFixedPt::operator+(const QFixedPt& value) const + + Returns the result of adding this fixed-point number and \a value. +*/ + +/*! + \fn QFixedPt QFixedPt::operator+(int value) const + + Returns the result of adding this fixed-point number and \a value. +*/ + +/*! + \fn QFixedPt QFixedPt::operator+(qreal value) const + + Returns the result of adding this fixed-point number and \a value. +*/ + +/*! + \fn QFixedPt operator+(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of adding \a v1 and \a v2. +*/ + +/*! + \fn QFixedPt operator+(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of adding \a v1 and \a v2. +*/ + +/*! + \fn QFixedPt QFixedPt::operator-(const QFixedPt& value) const + + Returns the result of subtracting \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt QFixedPt::operator-(int value) const + + Returns the result of subtracting \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt QFixedPt::operator-(qreal value) const + + Returns the result of subtracting \a value from this fixed-point number. +*/ + +/*! + \fn QFixedPt operator-(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of subtracting \a v2 from \a v1. +*/ + +/*! + \fn QFixedPt operator-(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of subtracting \a v2 from \a v1. +*/ + +/*! + \fn QFixedPt QFixedPt::operator*(const QFixedPt& value) const + + Returns the result of multiplying this fixed-point number by \a value. +*/ + +/*! + \fn QFixedPt QFixedPt::operator*(int value) const + + Returns the result of multiplying this fixed-point number by \a value. +*/ + +/*! + \fn QFixedPt QFixedPt::operator*(qreal value) const + + Returns the result of multiplying this fixed-point number by \a value. +*/ + +/*! + \fn QFixedPt operator*(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of multiplying \a v1 by \a v2. +*/ + +/*! + \fn QFixedPt operator*(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of multiplying \a v1 by \a v2. +*/ + +/*! + \fn QFixedPt QFixedPt::operator/(const QFixedPt& value) const + + Returns the result of dividing this fixed-point number by \a value. + Division by zero will result in zero. +*/ + +/*! + \fn QFixedPt QFixedPt::operator/(int value) const + + Returns the result of dividing this fixed-point number by \a value. + Division by zero will result in zero. +*/ + +/*! + \fn QFixedPt QFixedPt::operator/(qreal value) const + + Returns the result of dividing this fixed-point number by \a value. + Division by zero will result in zero. +*/ + +/*! + \fn QFixedPt operator/(int v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of dividing \a v1 by \a v2. Division by zero will + result in zero. +*/ + +/*! + \fn QFixedPt operator/(qreal v1, const QFixedPt& v2) + \relates QFixedPt + + Returns the result of dividing \a v1 by \a v2. Division by zero will + result in zero. +*/ + +/*! + \fn QFixedPt QFixedPt::operator-() const + + Returns the negation of this fixed-point number. +*/ + +/*! + \fn QFixedPt QFixedPt::sqrt() const + + Returns the square root of this fixed-point number. + + \sa sqrtF() +*/ + +/*! + \fn qreal QFixedPt::sqrtF() const + + Return the square root of this fixed-point number as a + floating-point value. + + \sa sqrt() +*/ + +/*! + \fn QFixedPt QFixedPt::round() const + + Returns this fixed-point number, rounded to the nearest integer. + + \sa floor(), ceil(), truncate() +*/ + +/*! + \fn QFixedPt QFixedPt::floor() const; + + Returns the largest integer that is less than or equal to + this fixed-point number. + + \sa round(), ceil(), truncate() +*/ + +/*! + \fn QFixedPt QFixedPt::ceil() const + + Returns the smallest integer that is greater than or equal to + this fixed-point number. + + \sa round(), floor(), truncate() +*/ + +/*! + \fn int QFixedPt::truncate() const + + Returns this fixed-point number with the bits after the + decimal point truncated. + + \sa round(), floor(), ceil() +*/ + +/*! + \fn int QFixedPt::toInt() const + + Returns this fixed-point number, rounded to the nearest integer. + + \sa toReal() +*/ + +/*! + \fn qreal QFixedPt::toReal() const + + Returns this fixed-point number as a floating-point value. + + \sa toInt() +*/ + +/*! + \fn int qCeil(const QFixedPt& value) + \relates QFixedPt + + Returns the smallest integer that is greater than or equal to + \a value. + + \sa qFloor(), qRound(), QFixedPt::ceil() +*/ + +/*! + \fn int qFloor(const QFixedPt& value) + \relates QFixedPt + + Returns the largest integer that is less than or equal to + \a value. + + \sa qCeil(), qRound(), QFixedPt::floor() +*/ + +/*! + \fn int qRound(const QFixedPt& value) + \relates QFixedPt + + Returns \a value, rounded to the nearest integer. + + \sa qCeil(), qFloor(), QFixedPt::round() +*/ + +/*! + \fn bool qFuzzyCompare(const QFixedPt& v1, const QFixedPt& v2, int compareBits) + \relates QFixedPt + + Returns true if \a v1 is almost equal to \a v2; false otherwise. + The \a compareBits parameter specifies the number of bits of precision + that should be considered relevant when performing the comparison. + By default, \a compareBits is PrecBits / 4. +*/ + +/*! + \fn bool qIsNull(const QFixedPt& v) + \relates QFixedPt + + Returns true if \a v is zero; false otherwise. +*/ + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qfixedpt.h b/src/gui/math3d/qfixedpt.h new file mode 100644 index 0000000..ecbcad4 --- /dev/null +++ b/src/gui/math3d/qfixedpt.h @@ -0,0 +1,521 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QFIXEDPT_H +#define QFIXEDPT_H + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +Q_GUI_EXPORT qint64 qt_math3d_fixed_sqrt(qint64 value); + +// Should be called QFixed or QFixedPoint, but both of those +// are already in use in src/gui/painting/qfixed_p.h. +template +class QFixedPt +{ +public: + inline QFixedPt() {} // Deliberately not initialized - don't change this. + inline QFixedPt(int value) : val(value << PrecBits) {} + inline QFixedPt(qreal value) : val(int(value * (1 << PrecBits))) {} + + inline QFixedPt& operator=(int value) + { val = value << PrecBits; return *this; } + inline QFixedPt& operator=(qreal value) + { val = int(value * (1 << PrecBits)); return *this; } + + inline int bits() const { return val; } + inline void setBits(int value) { val = value; } + +#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC) + template + inline QFixedPt toPrecision() const + { + QFixedPt result; + if (Prec < PrecBits) + result.setBits(shiftRight(val, (PrecBits - Prec))); + else + result.setBits(shiftLeft(val, (Prec - PrecBits))); + return result; + } +#endif + + inline QFixedPt& operator+=(const QFixedPt& value) + { val += value.val; return *this; } + inline QFixedPt& operator+=(int value) + { val += (value << PrecBits); return *this; } + inline QFixedPt& operator+=(qreal value) + { val += int(value * (1 << PrecBits)); return *this; } + + inline QFixedPt& operator-=(const QFixedPt& value) + { val -= value.val; return *this; } + inline QFixedPt& operator-=(int value) + { val -= (value << PrecBits); return *this; } + inline QFixedPt& operator-=(qreal value) + { val -= int(value * (1 << PrecBits)); return *this; } + + inline QFixedPt& operator*=(const QFixedPt& value) + { val = mul(val, value.val); return *this; } + inline QFixedPt& operator*=(int value) + { val = mul(val, (value << PrecBits)); return *this; } + inline QFixedPt& operator*=(qreal value) + { val = mul(val, int(value * (1 << PrecBits))); return *this; } + + inline QFixedPt& operator/=(const QFixedPt& value) + { val = div(val, value.val); return *this; } + inline QFixedPt& operator/=(int value) + { val = div(val, (value << PrecBits)); return *this; } + inline QFixedPt& operator/=(qreal value) + { val = div(val, int(value * (1 << PrecBits))); return *this; } + + inline QFixedPt& operator<<=(int value) + { val <<= value; return *this; } + inline QFixedPt& operator>>=(int value) + { val >>= value; return *this; } + + inline QFixedPt operator<<(int value) const + { QFixedPt result; result.val = val << value; return result; } + inline QFixedPt operator>>(int value) const + { QFixedPt result; result.val = val >> value; return result; } + + inline bool operator==(const QFixedPt& value) const + { return val == value.val; } + inline bool operator!=(const QFixedPt& value) const + { return val != value.val; } + inline bool operator<=(const QFixedPt& value) const + { return val <= value.val; } + inline bool operator<(const QFixedPt& value) const + { return val < value.val; } + inline bool operator>=(const QFixedPt& value) const + { return val >= value.val; } + inline bool operator>(const QFixedPt& value) const + { return val > value.val; } + + inline QFixedPt operator+(const QFixedPt& value) const + { QFixedPt result; + result.val = val + value.val; return result; } + inline QFixedPt operator+(int value) const + { QFixedPt result; + result.val = val + (value << PrecBits); return result; } + inline QFixedPt operator+(qreal value) const + { QFixedPt result; + result.val = val + int(value * (1 << PrecBits)); return result; } + + inline QFixedPt operator-(const QFixedPt& value) const + { QFixedPt result; + result.val = val - value.val; return result; } + inline QFixedPt operator-(int value) const + { QFixedPt result; + result.val = val - (value << PrecBits); return result; } + inline QFixedPt operator-(qreal value) const + { QFixedPt result; + result.val = val - int(value * (1 << PrecBits)); return result; } + + inline QFixedPt operator*(const QFixedPt& value) const + { QFixedPt result; + result.val = mul(val, value.val); return result; } + inline QFixedPt operator*(int value) const + { QFixedPt result; + result.val = mul(val, (value << PrecBits)); return result; } + inline QFixedPt operator*(qreal value) const + { QFixedPt result; + result.val = mul(val, int(value * (1 << PrecBits))); return result; } + + inline QFixedPt operator/(const QFixedPt& value) const + { QFixedPt result; + result.val = div(val, value.val); return result; } + inline QFixedPt operator/(int value) const + { QFixedPt result; + result.val = div(val, (value << PrecBits)); return result; } + inline QFixedPt operator/(qreal value) const + { QFixedPt result; + result.val = div(val, int(value * (1 << PrecBits))); return result; } + + inline QFixedPt operator-() const + { QFixedPt result; result.val = -val; return result; } + + inline QFixedPt sqrt() const; + inline qreal sqrtF() const; + inline QFixedPt round() const; + inline QFixedPt floor() const; + inline QFixedPt ceil() const; + inline int truncate() const { return val >> PrecBits; } + + inline int toInt() const { return (val + (1 << (PrecBits - 1))) >> PrecBits; } + inline qreal toReal() const { return qreal(val) / qreal(1 << PrecBits); } + +#if !defined(Q_NO_TEMPLATE_FRIENDS) + template + friend QFixedPt operator/(int v1, const QFixedPt& v2); + template + friend QFixedPt operator/(qreal v1, const QFixedPt& v2); + +private: +#endif + int val; + + inline static int mul(int v1, int v2) + { + return int((qint64(v1) * qint64(v2)) >> PrecBits); + } + + inline static int div(int v1, int v2) + { + if (v2) + return int((qint64(v1) << PrecBits) / qint64(v2)); + else + return 0; + } + + // These are used by toPrecision() to avoid a silly gcc compiler warning + // related to negative shift values that will never actually be used. + inline static int shiftRight(int val, int shift) + { + return val >> shift; + } + inline static int shiftLeft(int val, int shift) + { + return val << shift; + } + +#if !defined(Q_NO_TEMPLATE_FRIENDS) + template + friend QFixedPt qFixedPtToPrecision(const QFixedPt& value); +#endif +}; + +template +inline bool operator==(const QFixedPt& v1, int v2) +{ + return v1.bits() == (v2 << PrecBits); +} + +template +inline bool operator==(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) == v2.bits(); +} + +template +inline bool operator==(const QFixedPt& v1, qreal v2) +{ + return v1.bits() == int(v2 * (1 << PrecBits)); +} + +template +inline bool operator==(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) == v2.bits(); +} + +template +inline bool operator!=(const QFixedPt& v1, int v2) +{ + return v1.bits() != (v2 << PrecBits); +} + +template +inline bool operator!=(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) != v2.bits(); +} + +template +inline bool operator!=(const QFixedPt& v1, qreal v2) +{ + return v1.bits() != int(v2 * (1 << PrecBits)); +} + +template +inline bool operator!=(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) != v2.bits(); +} + +template +inline bool operator<=(const QFixedPt& v1, int v2) +{ + return v1.bits() <= (v2 << PrecBits); +} + +template +inline bool operator<=(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) <= v2.bits(); +} + +template +inline bool operator<=(const QFixedPt& v1, qreal v2) +{ + return v1.bits() <= int(v2 * (1 << PrecBits)); +} + +template +inline bool operator<=(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) <= v2.bits(); +} + +template +inline bool operator<(const QFixedPt& v1, int v2) +{ + return v1.bits() < (v2 << PrecBits); +} + +template +inline bool operator<(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) < v2.bits(); +} + +template +inline bool operator<(const QFixedPt& v1, qreal v2) +{ + return v1.bits() < int(v2 * (1 << PrecBits)); +} + +template +inline bool operator<(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) < v2.bits(); +} + +template +inline bool operator>=(const QFixedPt& v1, int v2) +{ + return v1.bits() >= (v2 << PrecBits); +} + +template +inline bool operator>=(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) >= v2.bits(); +} + +template +inline bool operator>=(const QFixedPt& v1, qreal v2) +{ + return v1.bits() >= int(v2 * (1 << PrecBits)); +} + +template +inline bool operator>=(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) >= v2.bits(); +} + +template +inline bool operator>(const QFixedPt& v1, int v2) +{ + return v1.bits() > (v2 << PrecBits); +} + +template +inline bool operator>(int v1, const QFixedPt& v2) +{ + return (v1 << PrecBits) > v2.bits(); +} + +template +inline bool operator>(const QFixedPt& v1, qreal v2) +{ + return v1.bits() > int(v2 * (1 << PrecBits)); +} + +template +inline bool operator>(qreal v1, const QFixedPt& v2) +{ + return int(v1 * (1 << PrecBits)) > v2.bits(); +} + +template +inline QFixedPt operator+(int v1, const QFixedPt& v2) +{ + return v2 + v1; +} + +template +inline QFixedPt operator+(qreal v1, const QFixedPt& v2) +{ + return v2 + v1; +} + +template +inline QFixedPt operator-(int v1, const QFixedPt& v2) +{ + return -(v2 - v1); +} + +template +inline QFixedPt operator-(qreal v1, const QFixedPt& v2) +{ + return -(v2 - v1); +} + +template +inline QFixedPt operator*(int v1, const QFixedPt& v2) +{ + return v2 * v1; +} + +template +inline QFixedPt operator*(qreal v1, const QFixedPt& v2) +{ + return v2 * v1; +} + +template +inline QFixedPt operator/(int v1, const QFixedPt& v2) +{ + QFixedPt result; + result.val = QFixedPt::div(v1 << PrecBits, v2.val); + return result; +} + +template +inline QFixedPt operator/(qreal v1, const QFixedPt& v2) +{ + QFixedPt result; + result.val = QFixedPt::div(int(v1 * (1 << PrecBits)), v2.val); + return result; +} + +template +inline QFixedPt QFixedPt::sqrt() const +{ + QFixedPt result; + result.val = int(qt_math3d_fixed_sqrt + (qint64(val) << (PrecBits * 2)) >> (PrecBits / 2)); + return result; +} + +template +inline qreal QFixedPt::sqrtF() const +{ + return qt_math3d_fixed_sqrt + (qint64(val) << (PrecBits * 2)) / (qreal)(1 << (PrecBits + (PrecBits / 2))); +} + +template +inline QFixedPt QFixedPt::round() const +{ + QFixedPt result; + result.val = (val + (1 << (PrecBits - 1))) & ~((1 << PrecBits) - 1); + return result; +} + +template +inline QFixedPt QFixedPt::floor() const +{ + QFixedPt result; + result.val = val & ~((1 << PrecBits) - 1); + return result; +} + +template +inline QFixedPt QFixedPt::ceil() const +{ + QFixedPt result; + result.val = (val + (1 << PrecBits) - 1) & ~((1 << PrecBits) - 1); + return result; +} + +template +inline int qCeil(const QFixedPt& value) +{ + return value.ceil().bits() >> PrecBits; +} + +template +inline int qFloor(const QFixedPt& value) +{ + return value.floor().bits() >> PrecBits; +} + +template +inline int qRound(const QFixedPt& value) +{ + return value.round().bits() >> PrecBits; +} + +template +inline bool qFuzzyCompare(const QFixedPt& v1, const QFixedPt& v2, int compareBits = (PrecBits / 4)) +{ + return ((v1.bits() ^ v2.bits()) & ~((1 << compareBits) - 1)) == 0; +} + +template +inline bool qIsNull(const QFixedPt& v) +{ + return v.bits() == 0; +} + +template +QFixedPt qFixedPtToPrecision(const QFixedPt& value) +{ + QFixedPt result; + if (Prec < PrecBits) + result.setBits(QFixedPt::shiftRight(value.bits(), (PrecBits - Prec))); + else + result.setBits(QFixedPt::shiftLeft(value.bits(), (Prec - PrecBits))); + return result; +} + +template +inline QDebug &operator<<(QDebug &dbg, const QFixedPt &f) +{ + return dbg << f.toReal(); +} + +Q_DECLARE_TYPEINFO(QFixedPt<0>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<1>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<2>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<3>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<4>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<5>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<6>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<7>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<8>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<9>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<10>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<11>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<12>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<13>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<14>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<15>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<16>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<17>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<18>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<19>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<20>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<21>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<22>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<23>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<24>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<25>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<26>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<27>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<28>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<29>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<30>, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QFixedPt<31>, Q_PRIMITIVE_TYPE); + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qgenericmatrix.cpp b/src/gui/math3d/qgenericmatrix.cpp new file mode 100644 index 0000000..cb48909 --- /dev/null +++ b/src/gui/math3d/qgenericmatrix.cpp @@ -0,0 +1,221 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qgenericmatrix.h" + +QT_BEGIN_NAMESPACE + +/*! + \class QGenericMatrix + \brief The QGenericMatrix class is a template class that represents a NxM transformation matrix with N columns and M rows. + \since 4.6 + + The QGenericMatrix template has four parameters: + + \table + \row \i N \i Number of columns. + \row \i M \i Number of rows. + \row \i T \i Element type that is visible to users of the class. + \row \i InnerT \i Element type that is used inside the class. + \endtable + + Normally T and InnerT are the same type; e.g. float or double. + But they can be different if the user wants to store elements + internally in a fixed-point format for the underlying hardware. + + \sa QMatrix4x4, QFixedPt +*/ + +/*! + \fn QGenericMatrix::QGenericMatrix() + + Constructs a NxM identity matrix. +*/ + +/*! + \fn QGenericMatrix::QGenericMatrix(const QGenericMatrix& other) + + Constructs a copy of \a other. +*/ + +/*! + \fn QGenericMatrix::QGenericMatrix(const T *values) + + Constructs a matrix from the given N * M floating-point \a values. + The contents of the array \a values is assumed to be in + row-major order. + + \sa toValueArray() +*/ + +/*! + \fn T QGenericMatrix::operator()(int row, int column) const + + Returns the element at position (\a row, \a column) in this matrix. +*/ + +/*! + \fn InnerT& QGenericMatrix::operator()(int row, int column) + + Returns a reference to the element at position (\a row, \a column) + in this matrix so that the element can be assigned to. +*/ + +/*! + \fn bool QGenericMatrix::isIdentity() const + + Returns true if this matrix is the identity; false otherwise. + + \sa setIdentity() +*/ + +/*! + \fn void QGenericMatrix::setIdentity() + + Sets this matrix to the identity. + + \sa isIdentity() +*/ + +/*! + \fn void QGenericMatrix::fill(qreal value) + + Fills all elements of this matrix with \a value. +*/ + +/*! + \fn QGenericMatrix QGenericMatrix::transposed() const + + Returns this matrix, transposed about its diagonal. +*/ + +/*! + \fn QGenericMatrix& QGenericMatrix::operator+=(const QGenericMatrix& other) + + Adds the contents of \a other to this matrix. +*/ + +/*! + \fn QGenericMatrix& QGenericMatrix::operator-=(const QGenericMatrix& other) + + Subtracts the contents of \a other from this matrix. +*/ + +/*! + \fn QGenericMatrix& QGenericMatrix::operator*=(T factor) + + Multiplies all elements of this matrix by \a factor. +*/ + +/*! + \fn QGenericMatrix& QGenericMatrix::operator/=(T divisor) + + Divides all elements of this matrix by \a divisor. +*/ + +/*! + \fn bool QGenericMatrix::operator==(const QGenericMatrix& other) const + + Returns true if this matrix is identical to \a other; false otherwise. +*/ + +/*! + \fn bool QGenericMatrix::operator!=(const QGenericMatrix& other) const + + Returns true if this matrix is not identical to \a other; false otherwise. +*/ + +/*! + \fn QGenericMatrix operator+(const QGenericMatrix& m1, const QGenericMatrix& m2) + \relates QGenericMatrix + + Returns the sum of \a m1 and \a m2. +*/ + +/*! + \fn QGenericMatrix operator-(const QGenericMatrix& m1, const QGenericMatrix& m2) + \relates QGenericMatrix + + Returns the difference of \a m1 and \a m2. +*/ + +/*! + \fn QGenericMatrix operator*(const QGenericMatrix& m1, const QGenericMatrix& m2) + \relates QGenericMatrix + + Returns the product of the NxM2 matrix \a m1 and the M1xN matrix \a m2 + to produce a M1xM2 matrix result. +*/ + +/*! + \fn QGenericMatrix operator-(const QGenericMatrix& matrix) + \overload + \relates QGenericMatrix + + Returns the negation of \a matrix. +*/ + +/*! + \fn QGenericMatrix operator*(T factor, const QGenericMatrix& matrix) + \relates QGenericMatrix + + Returns the result of multiplying all elements of \a matrix by \a factor. +*/ + +/*! + \fn QGenericMatrix operator*(const QGenericMatrix& matrix, T factor) + \relates QGenericMatrix + + Returns the result of multiplying all elements of \a matrix by \a factor. +*/ + +/*! + \fn QGenericMatrix operator/(const QGenericMatrix& matrix, T divisor) + \relates QGenericMatrix + + Returns the result of dividing all elements of \a matrix by \a divisor. +*/ + +/*! + \fn void QGenericMatrix::toValueArray(T *values) + + Retrieves the N * M items in this matrix and writes them to \a values + in row-major order. +*/ + +/*! + \fn InnerT *QGenericMatrix::data() + + Returns a pointer to the raw data of this matrix. This is indended + for use with raw GL functions. + + \sa constData() +*/ + +/*! + \fn const InnerT *QGenericMatrix::data() const + + Returns a constant pointer to the raw data of this matrix. + This is indended for use with raw GL functions. + + \sa constData() +*/ + +/*! + \fn const InnerT *QGenericMatrix::constData() const + + Returns a constant pointer to the raw data of this matrix. + This is indended for use with raw GL functions. + + \sa data() +*/ + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h new file mode 100644 index 0000000..26a0e48 --- /dev/null +++ b/src/gui/math3d/qgenericmatrix.h @@ -0,0 +1,341 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QGENERICMATRIX_H +#define QGENERICMATRIX_H + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +template +class QGenericMatrix +{ +public: + QGenericMatrix(); + QGenericMatrix(const QGenericMatrix& other); + explicit QGenericMatrix(const T *values); + + T operator()(int row, int column) const; + InnerT& operator()(int row, int column); + + bool isIdentity() const; + void setIdentity(); + + void fill(qreal value); + + QGenericMatrix transposed() const; + + QGenericMatrix& operator+=(const QGenericMatrix& other); + QGenericMatrix& operator-=(const QGenericMatrix& other); + QGenericMatrix& operator*=(T factor); + QGenericMatrix& operator/=(T divisor); + bool operator==(const QGenericMatrix& other) const; + bool operator!=(const QGenericMatrix& other) const; + + void toValueArray(T *values); + + InnerT *data() { return m[0]; } + const InnerT *data() const { return m[0]; } + const InnerT *constData() const { return m[0]; } + +#if !defined(Q_NO_TEMPLATE_FRIENDS) + template + friend QGenericMatrix operator+(const QGenericMatrix& m1, const QGenericMatrix& m2); + template + friend QGenericMatrix operator-(const QGenericMatrix& m1, const QGenericMatrix& m2); + template + friend QGenericMatrix operator*(const QGenericMatrix& m1, const QGenericMatrix& m2); + template + friend QGenericMatrix operator-(const QGenericMatrix& matrix); + template + friend QGenericMatrix operator*(TT factor, const QGenericMatrix& matrix); + template + friend QGenericMatrix operator*(const QGenericMatrix& matrix, TT factor); + template + friend QGenericMatrix operator/(const QGenericMatrix& matrix, TT divisor); + +private: +#endif + InnerT m[N][M]; // Column-major order to match OpenGL. + + QGenericMatrix(int) {} // Construct without initializing identity matrix. + +#if !defined(Q_NO_TEMPLATE_FRIENDS) + template + friend class QGenericMatrix; +#endif +}; + +template +Q_INLINE_TEMPLATE QGenericMatrix::QGenericMatrix() +{ + setIdentity(); +} + +template +Q_INLINE_TEMPLATE QGenericMatrix::QGenericMatrix(const QGenericMatrix& other) +{ + qMemCopy(m, other.m, sizeof(m)); +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix::QGenericMatrix(const T *values) +{ + for (int col = 0; col < N; ++col) + for (int row = 0; row < M; ++row) + m[col][row] = values[row * N + col]; +} + +template +Q_INLINE_TEMPLATE T QGenericMatrix::operator()(int row, int column) const +{ + Q_ASSERT(row >= 0 && row < M && column >= 0 && column < N); + return qt_math3d_convert(m[column][row]); +} + +template +Q_INLINE_TEMPLATE InnerT& QGenericMatrix::operator()(int row, int column) +{ + Q_ASSERT(row >= 0 && row < M && column >= 0 && column < N); + return m[column][row]; +} + +template +Q_OUTOFLINE_TEMPLATE bool QGenericMatrix::isIdentity() const +{ + for (int col = 0; col < N; ++col) { + for (int row = 0; row < M; ++row) { + if (row == col) { + if (m[col][row] != 1.0f) + return false; + } else { + if (m[col][row] != 0.0f) + return false; + } + } + } + return true; +} + +template +Q_OUTOFLINE_TEMPLATE void QGenericMatrix::setIdentity() +{ + for (int col = 0; col < N; ++col) { + for (int row = 0; row < M; ++row) { + if (row == col) + m[col][row] = 1.0f; + else + m[col][row] = 0.0f; + } + } +} + +template +Q_OUTOFLINE_TEMPLATE void QGenericMatrix::fill(qreal value) +{ + for (int col = 0; col < N; ++col) + for (int row = 0; row < M; ++row) + m[col][row] = value; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix QGenericMatrix::transposed() const +{ + QGenericMatrix result(1); + for (int row = 0; row < M; ++row) + for (int col = 0; col < N; ++col) + result.m[row][col] = m[col][row]; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix& QGenericMatrix::operator+=(const QGenericMatrix& other) +{ + for (int index = 0; index < N * M; ++index) + m[0][index] += other.m[0][index]; + return *this; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix& QGenericMatrix::operator-=(const QGenericMatrix& other) +{ + for (int index = 0; index < N * M; ++index) + m[0][index] -= other.m[0][index]; + return *this; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix& QGenericMatrix::operator*=(T factor) +{ + InnerT f(factor); + for (int index = 0; index < N * M; ++index) + m[0][index] *= f; + return *this; +} + +template +Q_OUTOFLINE_TEMPLATE bool QGenericMatrix::operator==(const QGenericMatrix& other) const +{ + for (int index = 0; index < N * M; ++index) { + if (m[0][index] != other.m[0][index]) + return false; + } + return true; +} + +template +Q_OUTOFLINE_TEMPLATE bool QGenericMatrix::operator!=(const QGenericMatrix& other) const +{ + for (int index = 0; index < N * M; ++index) { + if (m[0][index] != other.m[0][index]) + return true; + } + return false; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix& QGenericMatrix::operator/=(T divisor) +{ + InnerT d(divisor); + for (int index = 0; index < N * M; ++index) + m[0][index] /= d; + return *this; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator+(const QGenericMatrix& m1, const QGenericMatrix& m2) +{ + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = m1.m[0][index] + m2.m[0][index]; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator-(const QGenericMatrix& m1, const QGenericMatrix& m2) +{ + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = m1.m[0][index] - m2.m[0][index]; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator*(const QGenericMatrix& m1, const QGenericMatrix& m2) +{ + QGenericMatrix result(1); + for (int row = 0; row < M2; ++row) { + for (int col = 0; col < M1; ++col) { + InnerT sum(0.0f); + for (int j = 0; j < N; ++j) + sum += m1.m[j][row] * m2.m[col][j]; + result.m[col][row] = sum; + } + } + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator-(const QGenericMatrix& matrix) +{ + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = -matrix.m[0][index]; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator*(T factor, const QGenericMatrix& matrix) +{ + InnerT f(factor); + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = matrix.m[0][index] * f; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator*(const QGenericMatrix& matrix, T factor) +{ + InnerT f(factor); + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = matrix.m[0][index] * f; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE QGenericMatrix operator/(const QGenericMatrix& matrix, T divisor) +{ + InnerT d(divisor); + QGenericMatrix result(1); + for (int index = 0; index < N * M; ++index) + result.m[0][index] = matrix.m[0][index] / d; + return result; +} + +template +Q_OUTOFLINE_TEMPLATE void QGenericMatrix::toValueArray(T *values) +{ + for (int col = 0; col < N; ++col) + for (int row = 0; row < M; ++row) + values[row * N + col] = qt_math3d_convert(m[col][row]); +} + +// Define aliases for the useful variants of QGenericMatrix. +typedef QGenericMatrix<2, 2, qreal, qrealinner> QMatrix2x2; +typedef QGenericMatrix<2, 3, qreal, qrealinner> QMatrix2x3; +typedef QGenericMatrix<2, 4, qreal, qrealinner> QMatrix2x4; +typedef QGenericMatrix<3, 2, qreal, qrealinner> QMatrix3x2; +typedef QGenericMatrix<3, 3, qreal, qrealinner> QMatrix3x3; +typedef QGenericMatrix<3, 4, qreal, qrealinner> QMatrix3x4; +typedef QGenericMatrix<4, 2, qreal, qrealinner> QMatrix4x2; +typedef QGenericMatrix<4, 3, qreal, qrealinner> QMatrix4x3; + +#ifndef QT_NO_DEBUG_STREAM + +template +QDebug operator<<(QDebug dbg, const QGenericMatrix &m) +{ + dbg.nospace() << "QGenericMatrix<" << N << ", " << M + << ", " << QTypeInfo::name() << ", " << QTypeInfo::name() + << ">(" << endl << qSetFieldWidth(10); + for (int row = 0; row < M; ++row) { + for (int col = 0; col < N; ++col) + dbg << m(row, col); + dbg << endl; + } + dbg << qSetFieldWidth(0) << ')'; + return dbg.space(); +} + +#endif + +QT_END_NAMESPACE + +Q_DECLARE_METATYPE(QMatrix2x2) +Q_DECLARE_METATYPE(QMatrix2x3) +Q_DECLARE_METATYPE(QMatrix2x4) +Q_DECLARE_METATYPE(QMatrix3x2) +Q_DECLARE_METATYPE(QMatrix3x3) +Q_DECLARE_METATYPE(QMatrix3x4) +Q_DECLARE_METATYPE(QMatrix4x2) +Q_DECLARE_METATYPE(QMatrix4x3) + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qmath3dglobal.h b/src/gui/math3d/qmath3dglobal.h new file mode 100644 index 0000000..ee5e734 --- /dev/null +++ b/src/gui/math3d/qmath3dglobal.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QMATH3DGLOBAL_H +#define QMATH3DGLOBAL_H + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +// Detect the presence of a fixed-point OpenGL implementation. +#if defined(QT_OPENGL_ES_1_CL) || defined(QT_NO_GL_FLOAT) +#ifndef QT_GL_FIXED_PREFERRED +#define QT_GL_FIXED_PREFERRED 1 +#endif +#endif + +// QT_GL_FIXED_PREFERRED indicates that fixed-point should be +// preferred over floating-point for operations requiring high performance. +// +// qreal is the floating-point type that should be used in +// user-visible functions. qrealinner is used internally where +// values may be stored as either floating-point or fixed-point. +// qrealinner will typically be the same size as GLfloat or GLfixed. +#if defined(QT_GL_FIXED_PREFERRED) +typedef QFixedPt<16> qrealinner; +#else +typedef float qrealinner; +#endif + +// Explicit conversion operator, primarily for converting from +// fixed point back to floating-point. This is safer than +// declaring conversion operators in the QFixedPt class. +template +T1 qt_math3d_convert(T2 v) +{ + return T1(v); +} +template <> +inline float qt_math3d_convert< float, QFixedPt<16> >(QFixedPt<16> v) +{ + return float(v.toReal()); +} +template <> +inline double qt_math3d_convert< double, QFixedPt<16> >(QFixedPt<16> v) +{ + return double(v.toReal()); +} +template <> +inline int qt_math3d_convert< int, QFixedPt<16> >(QFixedPt<16> v) +{ + return v.toInt(); +} + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qmath3dutil.cpp b/src/gui/math3d/qmath3dutil.cpp new file mode 100644 index 0000000..91d4b15 --- /dev/null +++ b/src/gui/math3d/qmath3dutil.cpp @@ -0,0 +1,164 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qmath3dutil_p.h" + +QT_BEGIN_NAMESPACE + +#ifdef QT_GL_FIXED_PREFERRED + +// The table that follows was automatically generated by the following code: +// +//#include +//#include +// +//int main() +//{ +// double angle; +// int count = 0; +// for (angle = 0.0; angle < 360.0; angle += 1.0) { +// if ((count % 4) == 0) +// printf(" "); +// printf(" qf2vt(%f)", sin(angle * M_PI / 180.0)); +// ++count; +// if (count != 360) +// printf(","); +// if ((count % 4) == 0) +// printf("\n"); +// } +// return 0; +//} + +#define qf2vt(x) (int((x) * 65536.0)) + +static int const sinTable[360] = { + qf2vt(0.000000), qf2vt(0.017452), qf2vt(0.034899), qf2vt(0.052336), + qf2vt(0.069756), qf2vt(0.087156), qf2vt(0.104528), qf2vt(0.121869), + qf2vt(0.139173), qf2vt(0.156434), qf2vt(0.173648), qf2vt(0.190809), + qf2vt(0.207912), qf2vt(0.224951), qf2vt(0.241922), qf2vt(0.258819), + qf2vt(0.275637), qf2vt(0.292372), qf2vt(0.309017), qf2vt(0.325568), + qf2vt(0.342020), qf2vt(0.358368), qf2vt(0.374607), qf2vt(0.390731), + qf2vt(0.406737), qf2vt(0.422618), qf2vt(0.438371), qf2vt(0.453990), + qf2vt(0.469472), qf2vt(0.484810), qf2vt(0.500000), qf2vt(0.515038), + qf2vt(0.529919), qf2vt(0.544639), qf2vt(0.559193), qf2vt(0.573576), + qf2vt(0.587785), qf2vt(0.601815), qf2vt(0.615661), qf2vt(0.629320), + qf2vt(0.642788), qf2vt(0.656059), qf2vt(0.669131), qf2vt(0.681998), + qf2vt(0.694658), qf2vt(0.707107), qf2vt(0.719340), qf2vt(0.731354), + qf2vt(0.743145), qf2vt(0.754710), qf2vt(0.766044), qf2vt(0.777146), + qf2vt(0.788011), qf2vt(0.798636), qf2vt(0.809017), qf2vt(0.819152), + qf2vt(0.829038), qf2vt(0.838671), qf2vt(0.848048), qf2vt(0.857167), + qf2vt(0.866025), qf2vt(0.874620), qf2vt(0.882948), qf2vt(0.891007), + qf2vt(0.898794), qf2vt(0.906308), qf2vt(0.913545), qf2vt(0.920505), + qf2vt(0.927184), qf2vt(0.933580), qf2vt(0.939693), qf2vt(0.945519), + qf2vt(0.951057), qf2vt(0.956305), qf2vt(0.961262), qf2vt(0.965926), + qf2vt(0.970296), qf2vt(0.974370), qf2vt(0.978148), qf2vt(0.981627), + qf2vt(0.984808), qf2vt(0.987688), qf2vt(0.990268), qf2vt(0.992546), + qf2vt(0.994522), qf2vt(0.996195), qf2vt(0.997564), qf2vt(0.998630), + qf2vt(0.999391), qf2vt(0.999848), qf2vt(1.000000), qf2vt(0.999848), + qf2vt(0.999391), qf2vt(0.998630), qf2vt(0.997564), qf2vt(0.996195), + qf2vt(0.994522), qf2vt(0.992546), qf2vt(0.990268), qf2vt(0.987688), + qf2vt(0.984808), qf2vt(0.981627), qf2vt(0.978148), qf2vt(0.974370), + qf2vt(0.970296), qf2vt(0.965926), qf2vt(0.961262), qf2vt(0.956305), + qf2vt(0.951057), qf2vt(0.945519), qf2vt(0.939693), qf2vt(0.933580), + qf2vt(0.927184), qf2vt(0.920505), qf2vt(0.913545), qf2vt(0.906308), + qf2vt(0.898794), qf2vt(0.891007), qf2vt(0.882948), qf2vt(0.874620), + qf2vt(0.866025), qf2vt(0.857167), qf2vt(0.848048), qf2vt(0.838671), + qf2vt(0.829038), qf2vt(0.819152), qf2vt(0.809017), qf2vt(0.798636), + qf2vt(0.788011), qf2vt(0.777146), qf2vt(0.766044), qf2vt(0.754710), + qf2vt(0.743145), qf2vt(0.731354), qf2vt(0.719340), qf2vt(0.707107), + qf2vt(0.694658), qf2vt(0.681998), qf2vt(0.669131), qf2vt(0.656059), + qf2vt(0.642788), qf2vt(0.629320), qf2vt(0.615661), qf2vt(0.601815), + qf2vt(0.587785), qf2vt(0.573576), qf2vt(0.559193), qf2vt(0.544639), + qf2vt(0.529919), qf2vt(0.515038), qf2vt(0.500000), qf2vt(0.484810), + qf2vt(0.469472), qf2vt(0.453990), qf2vt(0.438371), qf2vt(0.422618), + qf2vt(0.406737), qf2vt(0.390731), qf2vt(0.374607), qf2vt(0.358368), + qf2vt(0.342020), qf2vt(0.325568), qf2vt(0.309017), qf2vt(0.292372), + qf2vt(0.275637), qf2vt(0.258819), qf2vt(0.241922), qf2vt(0.224951), + qf2vt(0.207912), qf2vt(0.190809), qf2vt(0.173648), qf2vt(0.156434), + qf2vt(0.139173), qf2vt(0.121869), qf2vt(0.104528), qf2vt(0.087156), + qf2vt(0.069756), qf2vt(0.052336), qf2vt(0.034899), qf2vt(0.017452), + qf2vt(0.000000), qf2vt(-0.017452), qf2vt(-0.034899), qf2vt(-0.052336), + qf2vt(-0.069756), qf2vt(-0.087156), qf2vt(-0.104528), qf2vt(-0.121869), + qf2vt(-0.139173), qf2vt(-0.156434), qf2vt(-0.173648), qf2vt(-0.190809), + qf2vt(-0.207912), qf2vt(-0.224951), qf2vt(-0.241922), qf2vt(-0.258819), + qf2vt(-0.275637), qf2vt(-0.292372), qf2vt(-0.309017), qf2vt(-0.325568), + qf2vt(-0.342020), qf2vt(-0.358368), qf2vt(-0.374607), qf2vt(-0.390731), + qf2vt(-0.406737), qf2vt(-0.422618), qf2vt(-0.438371), qf2vt(-0.453990), + qf2vt(-0.469472), qf2vt(-0.484810), qf2vt(-0.500000), qf2vt(-0.515038), + qf2vt(-0.529919), qf2vt(-0.544639), qf2vt(-0.559193), qf2vt(-0.573576), + qf2vt(-0.587785), qf2vt(-0.601815), qf2vt(-0.615661), qf2vt(-0.629320), + qf2vt(-0.642788), qf2vt(-0.656059), qf2vt(-0.669131), qf2vt(-0.681998), + qf2vt(-0.694658), qf2vt(-0.707107), qf2vt(-0.719340), qf2vt(-0.731354), + qf2vt(-0.743145), qf2vt(-0.754710), qf2vt(-0.766044), qf2vt(-0.777146), + qf2vt(-0.788011), qf2vt(-0.798636), qf2vt(-0.809017), qf2vt(-0.819152), + qf2vt(-0.829038), qf2vt(-0.838671), qf2vt(-0.848048), qf2vt(-0.857167), + qf2vt(-0.866025), qf2vt(-0.874620), qf2vt(-0.882948), qf2vt(-0.891007), + qf2vt(-0.898794), qf2vt(-0.906308), qf2vt(-0.913545), qf2vt(-0.920505), + qf2vt(-0.927184), qf2vt(-0.933580), qf2vt(-0.939693), qf2vt(-0.945519), + qf2vt(-0.951057), qf2vt(-0.956305), qf2vt(-0.961262), qf2vt(-0.965926), + qf2vt(-0.970296), qf2vt(-0.974370), qf2vt(-0.978148), qf2vt(-0.981627), + qf2vt(-0.984808), qf2vt(-0.987688), qf2vt(-0.990268), qf2vt(-0.992546), + qf2vt(-0.994522), qf2vt(-0.996195), qf2vt(-0.997564), qf2vt(-0.998630), + qf2vt(-0.999391), qf2vt(-0.999848), qf2vt(-1.000000), qf2vt(-0.999848), + qf2vt(-0.999391), qf2vt(-0.998630), qf2vt(-0.997564), qf2vt(-0.996195), + qf2vt(-0.994522), qf2vt(-0.992546), qf2vt(-0.990268), qf2vt(-0.987688), + qf2vt(-0.984808), qf2vt(-0.981627), qf2vt(-0.978148), qf2vt(-0.974370), + qf2vt(-0.970296), qf2vt(-0.965926), qf2vt(-0.961262), qf2vt(-0.956305), + qf2vt(-0.951057), qf2vt(-0.945519), qf2vt(-0.939693), qf2vt(-0.933580), + qf2vt(-0.927184), qf2vt(-0.920505), qf2vt(-0.913545), qf2vt(-0.906308), + qf2vt(-0.898794), qf2vt(-0.891007), qf2vt(-0.882948), qf2vt(-0.874620), + qf2vt(-0.866025), qf2vt(-0.857167), qf2vt(-0.848048), qf2vt(-0.838671), + qf2vt(-0.829038), qf2vt(-0.819152), qf2vt(-0.809017), qf2vt(-0.798636), + qf2vt(-0.788011), qf2vt(-0.777146), qf2vt(-0.766044), qf2vt(-0.754710), + qf2vt(-0.743145), qf2vt(-0.731354), qf2vt(-0.719340), qf2vt(-0.707107), + qf2vt(-0.694658), qf2vt(-0.681998), qf2vt(-0.669131), qf2vt(-0.656059), + qf2vt(-0.642788), qf2vt(-0.629320), qf2vt(-0.615661), qf2vt(-0.601815), + qf2vt(-0.587785), qf2vt(-0.573576), qf2vt(-0.559193), qf2vt(-0.544639), + qf2vt(-0.529919), qf2vt(-0.515038), qf2vt(-0.500000), qf2vt(-0.484810), + qf2vt(-0.469472), qf2vt(-0.453990), qf2vt(-0.438371), qf2vt(-0.422618), + qf2vt(-0.406737), qf2vt(-0.390731), qf2vt(-0.374607), qf2vt(-0.358368), + qf2vt(-0.342020), qf2vt(-0.325568), qf2vt(-0.309017), qf2vt(-0.292372), + qf2vt(-0.275637), qf2vt(-0.258819), qf2vt(-0.241922), qf2vt(-0.224951), + qf2vt(-0.207912), qf2vt(-0.190809), qf2vt(-0.173648), qf2vt(-0.156434), + qf2vt(-0.139173), qf2vt(-0.121869), qf2vt(-0.104528), qf2vt(-0.087156), + qf2vt(-0.069756), qf2vt(-0.052336), qf2vt(-0.034899), qf2vt(-0.017452) +}; + +void qt_math3d_sincos(qreal angle, qrealinner *s, qrealinner *c) +{ + if (angle == qFloor(angle)) { + // The angle is an integer number of degrees, so look up the results. + int a = (int)angle; + if (a >= 0) + a = (a % 360); + else + a = 360 - (-a % 360); + s->setBits(sinTable[a]); + c->setBits(sinTable[(a + 90) % 360]); + } else { + qreal a = angle * M_PI / 180.0f; + *s = qSin(a); + *c = qCos(a); + } +} + +#else + +void qt_math3d_sincos(qreal angle, qrealinner *s, qrealinner *c) +{ + qreal a = angle * M_PI / 180.0f; + *s = qSin(a); + *c = qCos(a); +} + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qmath3dutil_p.h b/src/gui/math3d/qmath3dutil_p.h new file mode 100644 index 0000000..1cb0bb9 --- /dev/null +++ b/src/gui/math3d/qmath3dutil_p.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QMATH3DUTIL_P_H +#define QMATH3DUTIL_P_H + +#include +#include + +QT_BEGIN_NAMESPACE + +#ifdef QT_GL_FIXED_PREFERRED +#define qvtsqrt(x) ((x).sqrtF()) +#else +#define qvtsqrt(x) qSqrt((x)) +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +void qt_math3d_sincos(qreal degrees, qrealinner *s, qrealinner *c); + +#ifdef QT_GL_FIXED_PREFERRED + +inline qrealinner qf2vt_round(qreal x) +{ + QFixedPt<16> result; + if (x >= 0.0f) + result.setBits(int(x * 65536.0f + 0.5f)); + else + result.setBits(int(x * 65536.0f - 0.5f)); + return result; +} + +// Helper macros for computing dot products without losing precision. +// In fixed-point mode, a 64-bit intermediate result is used. +#define qvtmul64(x,y) ((qint64((x).bits())) * (qint64((y).bits()))) +#define qvtsqrt64(x) \ + (qt_math3d_fixed_sqrt((x) << 16) / (qreal)(1 << 24)) +#define qvtdot64(x) ((x) / (qreal)(((qint64)1) << 32)) + +#else + +inline qrealinner qf2vt_round(qreal x) +{ + return x; +} + +#define qvtmul64(x,y) ((x) * (y)) +#define qvtsqrt64(x) (qvtsqrt((x))) +#define qvtdot64(x) ((x)) + +#endif + +QT_END_NAMESPACE + +#endif diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp new file mode 100644 index 0000000..9941ca8 --- /dev/null +++ b/src/gui/math3d/qmatrix4x4.cpp @@ -0,0 +1,1649 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qmatrix4x4.h" +#include "qmath3dutil_p.h" +#include +#include +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_MATRIX4X4 + +/*! + \class QMatrix4x4 + \brief The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space. + \since 4.6 + + The matrix elements are stored internally using the most efficient + numeric representation for the underlying hardware: floating-point + or fixed-point. + + \sa QVector3D, QGenericMatrix +*/ + +/*! + \fn QMatrix4x4::QMatrix4x4() + + Constructs an identity matrix. +*/ + +/*! + Constructs a matrix from the given 16 floating-point \a values. + The contents of the array \a values is assumed to be in + row-major order. + + If the matrix has a special type (identity, translate, scale, etc), + the programmer should follow this constructor with a call to + inferSpecialType() if they wish QMatrix4x4 to optimize further + calls to translate(), scale(), etc. + + \sa toValueArray(), inferSpecialType() +*/ +QMatrix4x4::QMatrix4x4(const qreal *values) +{ + for (int row = 0; row < 4; ++row) + for (int col = 0; col < 4; ++col) + m[col][row] = values[row * 4 + col]; + flagBits = General; +} + +/*! + \fn QMatrix4x4::QMatrix4x4(qreal m11, qreal m12, qreal m13, qreal m14, qreal m21, qreal m22, qreal m23, qreal m24, qreal m31, qreal m32, qreal m33, qreal m34, qreal m41, qreal m42, qreal m43, qreal m44) + + Constructs a matrix from the 16 elements \a m11, \a m12, \a m13, \a m14, + \a m21, \a m22, \a m23, \a m24, \a m31, \a m32, \a m33, \a m34, + \a m41, \a m42, \a m43, and \a m44. The elements are specified in + row-major order. + + If the matrix has a special type (identity, translate, scale, etc), + the programmer should follow this constructor with a call to + inferSpecialType() if they wish QMatrix4x4 to optimize further + calls to translate(), scale(), etc. + + \sa inferSpecialType() +*/ + +#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC) + +/*! + \fn QMatrix4x4::QMatrix4x4(const QGenericMatrix& matrix) + + Constructs a 4x4 matrix from the left-most 4 columns and top-most + 4 rows of \a matrix. If \a matrix has less than 4 columns or rows, + the remaining elements are filled with elements from the identity + matrix. + + \sa toGenericMatrix(), qGenericMatrixToMatrix4x4() +*/ + +/*! + \fn QGenericMatrix QMatrix4x4::toGenericMatrix() const + + Constructs a NxM generic matrix from the left-most N columns and + top-most M rows of this 4x4 matrix. If N or M is greater than 4, + then the remaining elements are filled with elements from the + identity matrix. + + \sa qGenericMatrixFromMatrix4x4() +*/ + +#endif + +/*! + \fn QMatrix4x4 qGenericMatrixToMatrix4x4(const QGenericMatrix& matrix) + \relates QMatrix4x4 + + Returns a 4x4 matrix constructed from the left-most 4 columns and + top-most 4 rows of \a matrix. If \a matrix has less than 4 columns + or rows, the remaining elements are filled with elements from the + identity matrix. + + \sa qGenericMatrixFromMatrix4x4() +*/ + +/*! + \fn QGenericMatrix qGenericMatrixFromMatrix4x4(const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns a NxM generic matrix constructed from the left-most N columns + and top-most M rows of \a matrix. If N or M is greater than 4, + then the remaining elements are filled with elements from the + identity matrix. + + \sa qGenericMatrixToMatrix4x4(), QMatrix4x4::toGenericMatrix() +*/ + +/*! + \internal +*/ +QMatrix4x4::QMatrix4x4(const qrealinner *values, int cols, int rows) +{ + for (int col = 0; col < 4; ++col) { + for (int row = 0; row < 4; ++row) { + if (col < cols && row < rows) + m[col][row] = values[col * rows + row]; + else if (col == row) + m[col][row] = 1.0f; + else + m[col][row] = 0.0f; + } + } + flagBits = General; +} + +/*! + Constructs a 4x4 matrix from a conventional Qt 2D affine + transformation \a matrix. + + If \a matrix has a special type (identity, translate, scale, etc), + the programmer should follow this constructor with a call to + inferSpecialType() if they wish QMatrix4x4 to optimize further + calls to translate(), scale(), etc. + + \sa toAffine(), inferSpecialType() +*/ +QMatrix4x4::QMatrix4x4(const QMatrix& matrix) +{ + m[0][0] = matrix.m11(); + m[0][1] = matrix.m12(); + m[0][2] = 0.0f; + m[0][3] = 0.0f; + m[1][0] = matrix.m21(); + m[1][1] = matrix.m22(); + m[1][2] = 0.0f; + m[1][3] = 0.0f; + m[2][0] = 0.0f; + m[2][1] = 0.0f; + m[2][2] = 1.0f; + m[2][3] = 0.0f; + m[3][0] = matrix.dx(); + m[3][1] = matrix.dy(); + m[3][2] = 0.0f; + m[3][3] = 1.0f; + flagBits = General; +} + +/*! + Constructs a 4x4 matrix from the conventional Qt 2D + transformation matrix \a transform. + + If \a transform has a special type (identity, translate, scale, etc), + the programmer should follow this constructor with a call to + inferSpecialType() if they wish QMatrix4x4 to optimize further + calls to translate(), scale(), etc. + + \sa toTransform(), inferSpecialType() +*/ +QMatrix4x4::QMatrix4x4(const QTransform& transform) +{ + m[0][0] = transform.m11(); + m[0][1] = transform.m12(); + m[0][2] = 0.0f; + m[0][3] = transform.m13(); + m[1][0] = transform.m21(); + m[1][1] = transform.m22(); + m[1][2] = 0.0f; + m[1][3] = transform.m23(); + m[2][0] = 0.0f; + m[2][1] = 0.0f; + m[2][2] = 1.0f; + m[2][3] = 0.0f; + m[3][0] = transform.dx(); + m[3][1] = transform.dy(); + m[3][2] = 0.0f; + m[3][3] = transform.m33(); + flagBits = General; +} + +/*! + \fn qreal QMatrix4x4::operator()(int row, int column) const + + Returns the element at position (\a row, \a column) in this matrix. + + \sa column(), row() +*/ + +/*! + \fn qrealinner& QMatrix4x4::operator()(int row, int column) + + Returns a reference to the element at position (\a row, \a column) + in this matrix so that the element can be assigned to. + + \sa inferSpecialType(), setColumn(), setRow() +*/ + +/*! + \fn QVector4D QMatrix4x4::column(int index) const + + Returns the elements of column \a index as a 4D vector. + + \sa setColumn(), row() +*/ + +/*! + \fn void QMatrix4x4::setColumn(int index, const QVector4D& value) + + Sets the elements of column \a index to the components of \a value. + + \sa column(), setRow() +*/ + +/*! + \fn QVector4D QMatrix4x4::row(int index) const + + Returns the elements of row \a index as a 4D vector. + + \sa setRow(), column() +*/ + +/*! + \fn void QMatrix4x4::setRow(int index, const QVector4D& value) + + Sets the elements of row \a index to the components of \a value. + + \sa row(), setColumn() +*/ + +/*! + \fn bool QMatrix4x4::isIdentity() const + + Returns true if this matrix is the identity; false otherwise. + + \sa setIdentity() +*/ + +/*! + \fn void QMatrix4x4::setIdentity() + + Sets this matrix to the identity. + + \sa isIdentity() +*/ + +/*! + \fn void QMatrix4x4::fill(qreal value) + + Fills all elements of this matrx with \a value. +*/ + +// The 4x4 matrix inverse algorithm is based on that described at: +// http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q24 +// Some optimization has been done to avoid making copies of 3x3 +// sub-matrices, to do calculations in fixed-point where required, +// and to unroll the loops. + +// Calculate the determinant of a 3x3 sub-matrix. +// | A B C | +// M = | D E F | det(M) = A * (EI - HF) - B * (DI - GF) + C * (DH - GE) +// | G H I | +static inline qrealinner matrixDet3 + (const qrealinner m[4][4], int col0, int col1, int col2, + int row0, int row1, int row2) +{ + return m[col0][row0] * + (m[col1][row1] * m[col2][row2] - + m[col1][row2] * m[col2][row1]) - + m[col1][row0] * + (m[col0][row1] * m[col2][row2] - + m[col0][row2] * m[col2][row1]) + + m[col2][row0] * + (m[col0][row1] * m[col1][row2] - + m[col0][row2] * m[col1][row1]); +} + +// Calculate the determinant of a 4x4 matrix. +static inline qrealinner matrixDet4(const qrealinner m[4][4]) +{ + qrealinner det; + det = m[0][0] * matrixDet3(m, 1, 2, 3, 1, 2, 3); + det -= m[1][0] * matrixDet3(m, 0, 2, 3, 1, 2, 3); + det += m[2][0] * matrixDet3(m, 0, 1, 3, 1, 2, 3); + det -= m[3][0] * matrixDet3(m, 0, 1, 2, 1, 2, 3); + return det; +} + +/*! + Returns the determinant of this matrix. +*/ +qreal QMatrix4x4::determinant() const +{ + return qt_math3d_convert(matrixDet4(m)); +} + +/*! + Returns the inverse of this matrix. Returns the identity if + this matrix cannot be inverted; i.e. determinant() is zero. + If \a invertible is not null, then true will be written to + that location if the matrix can be inverted; false otherwise. + + If the matrix is recognized as the identity or an orthonormal + matrix, then this function will quickly invert the matrix + using optimized routines. + + \sa determinant(), normalMatrix() +*/ +QMatrix4x4 QMatrix4x4::inverted(bool *invertible) const +{ + // Handle some of the easy cases first. + if (flagBits == Identity) { + if (invertible) + *invertible = true; + return QMatrix4x4(); + } else if (flagBits == Translation) { + QMatrix4x4 inv; + inv.m[3][0] = -m[3][0]; + inv.m[3][1] = -m[3][1]; + inv.m[3][2] = -m[3][2]; + inv.flagBits = Translation; + if (invertible) + *invertible = true; + return inv; + } else if (flagBits == Rotation || flagBits == (Rotation | Translation)) { + if (invertible) + *invertible = true; + return orthonormalInverse(); + } + + QMatrix4x4 inv(1); // The "1" says to not load the identity. + + qrealinner det = matrixDet4(m); + if (det == 0.0f) { + if (invertible) + *invertible = false; + return QMatrix4x4(); + } + det = qrealinner(1.0f) / det; + + inv.m[0][0] = matrixDet3(m, 1, 2, 3, 1, 2, 3) * det; + inv.m[0][1] = -matrixDet3(m, 0, 2, 3, 1, 2, 3) * det; + inv.m[0][2] = matrixDet3(m, 0, 1, 3, 1, 2, 3) * det; + inv.m[0][3] = -matrixDet3(m, 0, 1, 2, 1, 2, 3) * det; + inv.m[1][0] = -matrixDet3(m, 1, 2, 3, 0, 2, 3) * det; + inv.m[1][1] = matrixDet3(m, 0, 2, 3, 0, 2, 3) * det; + inv.m[1][2] = -matrixDet3(m, 0, 1, 3, 0, 2, 3) * det; + inv.m[1][3] = matrixDet3(m, 0, 1, 2, 0, 2, 3) * det; + inv.m[2][0] = matrixDet3(m, 1, 2, 3, 0, 1, 3) * det; + inv.m[2][1] = -matrixDet3(m, 0, 2, 3, 0, 1, 3) * det; + inv.m[2][2] = matrixDet3(m, 0, 1, 3, 0, 1, 3) * det; + inv.m[2][3] = -matrixDet3(m, 0, 1, 2, 0, 1, 3) * det; + inv.m[3][0] = -matrixDet3(m, 1, 2, 3, 0, 1, 2) * det; + inv.m[3][1] = matrixDet3(m, 0, 2, 3, 0, 1, 2) * det; + inv.m[3][2] = -matrixDet3(m, 0, 1, 3, 0, 1, 2) * det; + inv.m[3][3] = matrixDet3(m, 0, 1, 2, 0, 1, 2) * det; + + if (invertible) + *invertible = true; + return inv; +} + +/*! + Returns the normal matrix corresponding to this 4x4 transformation. + The normal matrix is the transpose of the inverse of the top-left + 3x3 part of this 4x4 matrix. If the 3x3 sub-matrix is not invertible, + this function returns the identity. + + \sa inverted() +*/ +QMatrix3x3 QMatrix4x4::normalMatrix() const +{ + QMatrix3x3 inv; + + // Handle the simple cases first. + if (flagBits == Identity || flagBits == Translation) { + return inv; + } else if (flagBits == Scale || flagBits == (Translation | Scale)) { + if (m[0][0] == 0.0f || m[1][1] == 0.0f || m[2][2] == 0.0f) + return inv; + inv.data()[0] = qrealinner(1.0f) / m[0][0]; + inv.data()[4] = qrealinner(1.0f) / m[1][1]; + inv.data()[8] = qrealinner(1.0f) / m[2][2]; + return inv; + } + + qrealinner det = matrixDet3(m, 0, 1, 2, 0, 1, 2); + if (det == 0.0f) + return inv; + det = qrealinner(1.0f) / det; + + qrealinner *invm = inv.data(); + + // Invert and transpose in a single step. + invm[0 + 0 * 3] = (m[1][1] * m[2][2] - m[2][1] * m[1][2]) * det; + invm[1 + 0 * 3] = -(m[1][0] * m[2][2] - m[1][2] * m[2][0]) * det; + invm[2 + 0 * 3] = (m[1][0] * m[2][1] - m[1][1] * m[2][0]) * det; + invm[0 + 1 * 3] = -(m[0][1] * m[2][2] - m[2][1] * m[0][2]) * det; + invm[1 + 1 * 3] = (m[0][0] * m[2][2] - m[0][2] * m[2][0]) * det; + invm[2 + 1 * 3] = -(m[0][0] * m[2][1] - m[0][1] * m[2][0]) * det; + invm[0 + 2 * 3] = (m[0][1] * m[1][2] - m[0][2] * m[1][1]) * det; + invm[1 + 2 * 3] = -(m[0][0] * m[1][2] - m[0][2] * m[1][0]) * det; + invm[2 + 2 * 3] = (m[0][0] * m[1][1] - m[1][0] * m[0][1]) * det; + + return inv; +} + +/*! + Returns this matrix, transposed about its diagonal. +*/ +QMatrix4x4 QMatrix4x4::transposed() const +{ + QMatrix4x4 result(1); // The "1" says to not load the identity. + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + result.m[col][row] = m[row][col]; + } + } + return result; +} + +/*! + \fn QMatrix4x4& QMatrix4x4::operator+=(const QMatrix4x4& other) + + Adds the contents of \a other to this matrix. +*/ + +/*! + \fn QMatrix4x4& QMatrix4x4::operator-=(const QMatrix4x4& other) + + Subtracts the contents of \a other from this matrix. +*/ + +/*! + \fn QMatrix4x4& QMatrix4x4::operator*=(const QMatrix4x4& other) + + Multiplies the contents of \a other by this matrix. +*/ + +/*! + \fn QMatrix4x4& QMatrix4x4::operator*=(qreal factor) + \overload + + Multiplies all elements of this matrix by \a factor. +*/ + +/*! + \overload + + Divides all elements of this matrix by \a divisor. +*/ +QMatrix4x4& QMatrix4x4::operator/=(qreal divisor) +{ + qrealinner d(divisor); + m[0][0] /= d; + m[0][1] /= d; + m[0][2] /= d; + m[0][3] /= d; + m[1][0] /= d; + m[1][1] /= d; + m[1][2] /= d; + m[1][3] /= d; + m[2][0] /= d; + m[2][1] /= d; + m[2][2] /= d; + m[2][3] /= d; + m[3][0] /= d; + m[3][1] /= d; + m[3][2] /= d; + m[3][3] /= d; + flagBits = General; + return *this; +} + +/*! + \fn bool QMatrix4x4::operator==(const QMatrix4x4& other) const + + Returns true if this matrix is identical to \a other; false otherwise. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn bool QMatrix4x4::operator!=(const QMatrix4x4& other) const + + Returns true if this matrix is not identical to \a other; false otherwise. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn QMatrix4x4 operator+(const QMatrix4x4& m1, const QMatrix4x4& m2) + \relates QMatrix4x4 + + Returns the sum of \a m1 and \a m2. +*/ + +/*! + \fn QMatrix4x4 operator-(const QMatrix4x4& m1, const QMatrix4x4& m2) + \relates QMatrix4x4 + + Returns the difference of \a m1 and \a m2. +*/ + +/*! + \fn QMatrix4x4 operator*(const QMatrix4x4& m1, const QMatrix4x4& m2) + \relates QMatrix4x4 + + Returns the product of \a m1 and \a m2. +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + \fn QVector3D operator*(const QVector3D& vector, const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns the result of transforming \a vector according to \a matrix, + with the matrix applied post-vector. +*/ + +/*! + \fn QVector3D operator*(const QMatrix4x4& matrix, const QVector3D& vector) + \relates QMatrix4x4 + + Returns the result of transforming \a vector according to \a matrix, + with the matrix applied pre-vector. +*/ + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + \fn QVector4D operator*(const QVector4D& vector, const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns the result of transforming \a vector according to \a matrix, + with the matrix applied post-vector. +*/ + +/*! + \fn QVector4D operator*(const QMatrix4x4& matrix, const QVector4D& vector) + \relates QMatrix4x4 + + Returns the result of transforming \a vector according to \a matrix, + with the matrix applied pre-vector. +*/ + +#endif + +/*! + \fn QPoint operator*(const QPoint& point, const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns the result of transforming \a point according to \a matrix, + with the matrix applied post-point. +*/ + +/*! + \fn QPointF operator*(const QPointF& point, const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns the result of transforming \a point according to \a matrix, + with the matrix applied post-point. +*/ + +/*! + \fn QPoint operator*(const QMatrix4x4& matrix, const QPoint& point) + \relates QMatrix4x4 + + Returns the result of transforming \a point according to \a matrix, + with the matrix applied pre-point. +*/ + +/*! + \fn QPointF operator*(const QMatrix4x4& matrix, const QPointF& point) + \relates QMatrix4x4 + + Returns the result of transforming \a point according to \a matrix, + with the matrix applied pre-point. +*/ + +/*! + \fn QMatrix4x4 operator-(const QMatrix4x4& matrix) + \overload + \relates QMatrix4x4 + + Returns the negation of \a matrix. +*/ + +/*! + \fn QMatrix4x4 operator*(qreal factor, const QMatrix4x4& matrix) + \relates QMatrix4x4 + + Returns the result of multiplying all elements of \a matrix by \a factor. +*/ + +/*! + \fn QMatrix4x4 operator*(const QMatrix4x4& matrix, qreal factor) + \relates QMatrix4x4 + + Returns the result of multiplying all elements of \a matrix by \a factor. +*/ + +/*! + \relates QMatrix4x4 + + Returns the result of dividing all elements of \a matrix by \a divisor. +*/ +QMatrix4x4 operator/(const QMatrix4x4& matrix, qreal divisor) +{ + QMatrix4x4 m(1); // The "1" says to not load the identity. + qrealinner d(divisor); + m.m[0][0] = matrix.m[0][0] / d; + m.m[0][1] = matrix.m[0][1] / d; + m.m[0][2] = matrix.m[0][2] / d; + m.m[0][3] = matrix.m[0][3] / d; + m.m[1][0] = matrix.m[1][0] / d; + m.m[1][1] = matrix.m[1][1] / d; + m.m[1][2] = matrix.m[1][2] / d; + m.m[1][3] = matrix.m[1][3] / d; + m.m[2][0] = matrix.m[2][0] / d; + m.m[2][1] = matrix.m[2][1] / d; + m.m[2][2] = matrix.m[2][2] / d; + m.m[2][3] = matrix.m[2][3] / d; + m.m[3][0] = matrix.m[3][0] / d; + m.m[3][1] = matrix.m[3][1] / d; + m.m[3][2] = matrix.m[3][2] / d; + m.m[3][3] = matrix.m[3][3] / d; + return m; +} + +/*! + \fn bool qFuzzyCompare(const QMatrix4x4& m1, const QMatrix4x4& m2) + \relates QMatrix4x4 + + Returns true if \a m1 and \a m2 are equal, allowing for a small + fuzziness factor for floating-point comparisons; false otherwise. +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + Multiplies this matrix by another that scales coordinates by + the components of \a vector. Returns this matrix. + + \sa translate(), rotate() +*/ +QMatrix4x4& QMatrix4x4::scale(const QVector3D& vector) +{ + qrealinner vx = vector.xp; + qrealinner vy = vector.yp; + qrealinner vz = vector.zp; + if (flagBits == Identity) { + m[0][0] = vx; + m[1][1] = vy; + m[2][2] = vz; + flagBits = Scale; + } else if (flagBits == Scale || flagBits == (Scale | Translation)) { + m[0][0] *= vx; + m[1][1] *= vy; + m[2][2] *= vz; + } else if (flagBits == Translation) { + m[0][0] = vx; + m[1][1] = vy; + m[2][2] = vz; + flagBits |= Scale; + } else { + m[0][0] *= vx; + m[0][1] *= vx; + m[0][2] *= vx; + m[0][3] *= vx; + m[1][0] *= vy; + m[1][1] *= vy; + m[1][2] *= vy; + m[1][3] *= vy; + m[2][0] *= vz; + m[2][1] *= vz; + m[2][2] *= vz; + m[2][3] *= vz; + flagBits = General; + } + return *this; +} +#endif + +/*! + \overload + + Multiplies this matrix by another that scales coordinates by the + components \a x, \a y, and \a z. Returns this matrix. + + \sa translate(), rotate() +*/ +QMatrix4x4& QMatrix4x4::scale(qreal x, qreal y, qreal z) +{ + qrealinner vx(x); + qrealinner vy(y); + qrealinner vz(z); + if (flagBits == Identity) { + m[0][0] = vx; + m[1][1] = vy; + m[2][2] = vz; + flagBits = Scale; + } else if (flagBits == Scale || flagBits == (Scale | Translation)) { + m[0][0] *= vx; + m[1][1] *= vy; + m[2][2] *= vz; + } else if (flagBits == Translation) { + m[0][0] = vx; + m[1][1] = vy; + m[2][2] = vz; + flagBits |= Scale; + } else { + m[0][0] *= vx; + m[0][1] *= vx; + m[0][2] *= vx; + m[0][3] *= vx; + m[1][0] *= vy; + m[1][1] *= vy; + m[1][2] *= vy; + m[1][3] *= vy; + m[2][0] *= vz; + m[2][1] *= vz; + m[2][2] *= vz; + m[2][3] *= vz; + flagBits = General; + } + return *this; +} + +/*! + \overload + + Multiplies this matrix by another that scales coordinates by the + given \a factor. Returns this matrix. + + \sa translate(), rotate() +*/ +QMatrix4x4& QMatrix4x4::scale(qreal factor) +{ + qrealinner f(factor); + if (flagBits == Identity) { + m[0][0] = f; + m[1][1] = f; + m[2][2] = f; + flagBits = Scale; + } else if (flagBits == Scale || flagBits == (Scale | Translation)) { + m[0][0] *= f; + m[1][1] *= f; + m[2][2] *= f; + } else if (flagBits == Translation) { + m[0][0] = f; + m[1][1] = f; + m[2][2] = f; + flagBits |= Scale; + } else { + m[0][0] *= f; + m[0][1] *= f; + m[0][2] *= f; + m[0][3] *= f; + m[1][0] *= f; + m[1][1] *= f; + m[1][2] *= f; + m[1][3] *= f; + m[2][0] *= f; + m[2][1] *= f; + m[2][2] *= f; + m[2][3] *= f; + flagBits = General; + } + return *this; +} + +#ifndef QT_NO_VECTOR3D +/*! + Multiplies this matrix by another that translates coordinates by + the components of \a vector. Returns this matrix. + + \sa scale(), rotate() +*/ +QMatrix4x4& QMatrix4x4::translate(const QVector3D& vector) +{ + qrealinner vx = vector.xp; + qrealinner vy = vector.yp; + qrealinner vz = vector.zp; + if (flagBits == Identity) { + m[3][0] = vx; + m[3][1] = vy; + m[3][2] = vz; + flagBits = Translation; + } else if (flagBits == Translation) { + m[3][0] += vx; + m[3][1] += vy; + m[3][2] += vz; + } else if (flagBits == Scale) { + m[3][0] = m[0][0] * vx; + m[3][1] = m[1][1] * vy; + m[3][2] = m[2][2] * vz; + flagBits |= Translation; + } else if (flagBits == (Scale | Translation)) { + m[3][0] += m[0][0] * vx; + m[3][1] += m[1][1] * vy; + m[3][2] += m[2][2] * vz; + } else { + m[3][0] += m[0][0] * vx + m[1][0] * vy + m[2][0] * vz; + m[3][1] += m[0][1] * vx + m[1][1] * vy + m[2][1] * vz; + m[3][2] += m[0][2] * vx + m[1][2] * vy + m[2][2] * vz; + m[3][3] += m[0][3] * vx + m[1][3] * vy + m[2][3] * vz; + if (flagBits == Rotation) + flagBits |= Translation; + else if (flagBits != (Rotation | Translation)) + flagBits = General; + } + return *this; +} + +#endif + +/*! + \overload + + Multiplies this matrix by another that translates coordinates + by the components \a x, \a y, and \a z. Returns this matrix. + + \sa scale(), rotate() +*/ +QMatrix4x4& QMatrix4x4::translate(qreal x, qreal y, qreal z) +{ + qrealinner vx(x); + qrealinner vy(y); + qrealinner vz(z); + if (flagBits == Identity) { + m[3][0] = vx; + m[3][1] = vy; + m[3][2] = vz; + flagBits = Translation; + } else if (flagBits == Translation) { + m[3][0] += vx; + m[3][1] += vy; + m[3][2] += vz; + } else if (flagBits == Scale) { + m[3][0] = m[0][0] * vx; + m[3][1] = m[1][1] * vy; + m[3][2] = m[2][2] * vz; + flagBits |= Translation; + } else if (flagBits == (Scale | Translation)) { + m[3][0] += m[0][0] * vx; + m[3][1] += m[1][1] * vy; + m[3][2] += m[2][2] * vz; + } else { + m[3][0] += m[0][0] * vx + m[1][0] * vy + m[2][0] * vz; + m[3][1] += m[0][1] * vx + m[1][1] * vy + m[2][1] * vz; + m[3][2] += m[0][2] * vx + m[1][2] * vy + m[2][2] * vz; + m[3][3] += m[0][3] * vx + m[1][3] * vy + m[2][3] * vz; + if (flagBits == Rotation) + flagBits |= Translation; + else if (flagBits != (Rotation | Translation)) + flagBits = General; + } + return *this; +} + +#ifndef QT_NO_VECTOR3D + +/*! + Multiples this matrix by another that rotates coordinates through + \a angle degrees about \a vector. Returns this matrix. + + \sa scale(), translate() +*/ +QMatrix4x4& QMatrix4x4::rotate(qreal angle, const QVector3D& vector) +{ + return rotate(angle, vector.x(), vector.y(), vector.z()); +} + +#endif + +/*! + \overload + + Multiplies this matrix by another that rotates coordinates through + \a angle degrees about the vector (\a x, \a y, \a z). Returns this matrix. + + \sa scale(), translate() +*/ +QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z) +{ + QMatrix4x4 m(1); // The "1" says to not load the identity. + qrealinner c, s, ic; + qt_math3d_sincos(angle, &s, &c); + bool quick = false; + if (x == 0.0f) { + if (y == 0.0f) { + if (z != 0.0f) { + // Rotate around the Z axis. + m.setIdentity(); + m.m[0][0] = c; + m.m[1][1] = c; + if (z < 0.0f) { + m.m[1][0] = s; + m.m[0][1] = -s; + } else { + m.m[1][0] = -s; + m.m[0][1] = s; + } + m.flagBits = General; + quick = true; + } + } else if (z == 0.0f) { + // Rotate around the Y axis. + m.setIdentity(); + m.m[0][0] = c; + m.m[2][2] = c; + if (y < 0.0f) { + m.m[2][0] = -s; + m.m[0][2] = s; + } else { + m.m[2][0] = s; + m.m[0][2] = -s; + } + m.flagBits = General; + quick = true; + } + } else if (y == 0.0f && z == 0.0f) { + // Rotate around the X axis. + m.setIdentity(); + m.m[1][1] = c; + m.m[2][2] = c; + if (x < 0.0f) { + m.m[2][1] = s; + m.m[1][2] = -s; + } else { + m.m[2][1] = -s; + m.m[1][2] = s; + } + m.flagBits = General; + quick = true; + } + if (!quick) { + qrealinner vx(x); + qrealinner vy(y); + qrealinner vz(z); + qrealinner len(qvtsqrt(vx * vx + vy * vy + vz * vz)); + if (len != 0) { + vx /= len; + vy /= len; + vz /= len; + } + ic = 1.0f - c; + m.m[0][0] = vx * vx * ic + c; + m.m[1][0] = vx * vy * ic - vz * s; + m.m[2][0] = vx * vz * ic + vy * s; + m.m[3][0] = 0.0f; + m.m[0][1] = vy * vx * ic + vz * s; + m.m[1][1] = vy * vy * ic + c; + m.m[2][1] = vy * vz * ic - vx * s; + m.m[3][1] = 0.0f; + m.m[0][2] = vx * vz * ic - vy * s; + m.m[1][2] = vy * vz * ic + vx * s; + m.m[2][2] = vz * vz * ic + c; + m.m[3][2] = 0.0f; + m.m[0][3] = 0.0f; + m.m[1][3] = 0.0f; + m.m[2][3] = 0.0f; + m.m[3][3] = 1.0f; + } + int flags = flagBits; + *this *= m; + if (flags != Identity) + flagBits = flags | Rotation; + else + flagBits = Rotation; + return *this; +} + +#ifndef QT_NO_VECTOR4D + +/*! + Multiples this matrix by another that rotates coordinates according + to a specified \a quaternion. The \a quaternion is assumed to have + been normalized. Returns this matrix. + + \sa scale(), translate(), QQuaternion +*/ +QMatrix4x4& QMatrix4x4::rotate(const QQuaternion& quaternion) +{ + // Algorithm from: + // http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q54 + QMatrix4x4 m(1); + qrealinner xx = quaternion.xp * quaternion.xp; + qrealinner xy = quaternion.xp * quaternion.yp; + qrealinner xz = quaternion.xp * quaternion.zp; + qrealinner xw = quaternion.xp * quaternion.wp; + qrealinner yy = quaternion.yp * quaternion.yp; + qrealinner yz = quaternion.yp * quaternion.zp; + qrealinner yw = quaternion.yp * quaternion.wp; + qrealinner zz = quaternion.zp * quaternion.zp; + qrealinner zw = quaternion.zp * quaternion.wp; + m.m[0][0] = 1.0f - 2 * (yy + zz); + m.m[1][0] = 2 * (xy - zw); + m.m[2][0] = 2 * (xz + yw); + m.m[3][0] = 0.0f; + m.m[0][1] = 2 * (xy + zw); + m.m[1][1] = 1.0f - 2 * (xx + zz); + m.m[2][1] = 2 * (yz - xw); + m.m[3][1] = 0.0f; + m.m[0][2] = 2 * (xz - yw); + m.m[1][2] = 2 * (yz + xw); + m.m[2][2] = 1.0f - 2 * (xx + yy); + m.m[3][2] = 0.0f; + m.m[0][3] = 0.0f; + m.m[1][3] = 0.0f; + m.m[2][3] = 0.0f; + m.m[3][3] = 1.0f; + int flags = flagBits; + *this *= m; + if (flags != Identity) + flagBits = flags | Rotation; + else + flagBits = Rotation; + return *this; +} + +#endif + +/*! + \overload + + Multiplies this matrix by another that applies an orthographic + projection for a window with boundaries specified by \a rect. + The near and far clipping planes will be -1 and 1 respectively. + Returns this matrix. + + \sa frustum(), perspective() +*/ +QMatrix4x4& QMatrix4x4::ortho(const QRect& rect) +{ + // Note: rect.right() and rect.bottom() subtract 1 in QRect, + // which gives the location of a pixel within the rectangle, + // instead of the extent of the rectangle. We want the extent. + // QRectF expresses the extent properly. + return ortho(rect.x(), rect.x() + rect.width(), rect.y() + rect.height(), rect.y(), -1.0f, 1.0f); +} + +/*! + \overload + + Multiplies this matrix by another that applies an orthographic + projection for a window with boundaries specified by \a rect. + The near and far clipping planes will be -1 and 1 respectively. + Returns this matrix. + + \sa frustum(), perspective() +*/ +QMatrix4x4& QMatrix4x4::ortho(const QRectF& rect) +{ + return ortho(rect.left(), rect.right(), rect.bottom(), rect.top(), -1.0f, 1.0f); +} + +/*! + Multiplies this matrix by another that applies an orthographic + projection for a window with lower-left corner (\a left, \a bottom), + upper-right corner (\a right, \a top), and the specified \a nearPlane + and \a farPlane clipping planes. Returns this matrix. + + \sa frustum(), perspective() +*/ +QMatrix4x4& QMatrix4x4::ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane) +{ + // Bail out if the projection volume is zero-sized. + if (left == right || bottom == top || nearPlane == farPlane) + return *this; + + // Construct the projection. + qreal width = right - left; + qreal invheight = top - bottom; + qreal clip = farPlane - nearPlane; +#ifndef QT_NO_VECTOR3D + if (clip == 2.0f && (nearPlane + farPlane) == 0.0f) { + // We can express this projection as a translate and scale + // which will be more efficient to modify with further + // transformations than producing a "General" matrix. + translate(QVector3D + (qf2vt_round(-(left + right) / width), + qf2vt_round(-(top + bottom) / invheight), + 0.0f, 1)); + scale(QVector3D + (qf2vt_round(2.0f / width), + qf2vt_round(2.0f / invheight), + -1.0f, 1)); + return *this; + } +#endif + QMatrix4x4 m(1); + m.m[0][0] = qf2vt_round(2.0f / width); + m.m[1][0] = qf2vt_round(0.0f); + m.m[2][0] = qf2vt_round(0.0f); + m.m[3][0] = qf2vt_round(-(left + right) / width); + m.m[0][1] = qf2vt_round(0.0f); + m.m[1][1] = qf2vt_round(2.0f / invheight); + m.m[2][1] = qf2vt_round(0.0f); + m.m[3][1] = qf2vt_round(-(top + bottom) / invheight); + m.m[0][2] = qf2vt_round(0.0f); + m.m[1][2] = qf2vt_round(0.0f); + m.m[2][2] = qf2vt_round(-2.0f / clip); + m.m[3][2] = qf2vt_round(-(nearPlane + farPlane) / clip); + m.m[0][3] = qf2vt_round(0.0f); + m.m[1][3] = qf2vt_round(0.0f); + m.m[2][3] = qf2vt_round(0.0f); + m.m[3][3] = qf2vt_round(1.0f); + + // Apply the projection. + *this *= m; + return *this; +} + +/*! + Multiplies this matrix by another that applies a perspective + frustum projection for a window with lower-left corner (\a left, \a bottom), + upper-right corner (\a right, \a top), and the specified \a nearPlane + and \a farPlane clipping planes. Returns this matrix. + + \sa ortho(), perspective() +*/ +QMatrix4x4& QMatrix4x4::frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane) +{ + // Bail out if the projection volume is zero-sized. + if (left == right || bottom == top || nearPlane == farPlane) + return *this; + + // Construct the projection. + QMatrix4x4 m(1); + qreal width = right - left; + qreal invheight = top - bottom; + qreal clip = farPlane - nearPlane; + m.m[0][0] = qf2vt_round(2.0f * nearPlane / width); + m.m[1][0] = qf2vt_round(0.0f); + m.m[2][0] = qf2vt_round((left + right) / width); + m.m[3][0] = qf2vt_round(0.0f); + m.m[0][1] = qf2vt_round(0.0f); + m.m[1][1] = qf2vt_round(2.0f * nearPlane / invheight); + m.m[2][1] = qf2vt_round((top + bottom) / invheight); + m.m[3][1] = qf2vt_round(0.0f); + m.m[0][2] = qf2vt_round(0.0f); + m.m[1][2] = qf2vt_round(0.0f); + m.m[2][2] = qf2vt_round(-(nearPlane + farPlane) / clip); + m.m[3][2] = qf2vt_round(-(2.0f * nearPlane * farPlane) / clip); + m.m[0][3] = qf2vt_round(0.0f); + m.m[1][3] = qf2vt_round(0.0f); + m.m[2][3] = qf2vt_round(-1.0f); + m.m[3][3] = qf2vt_round(0.0f); + + // Apply the projection. + *this *= m; + return *this; +} + +/*! + Multiplies this matrix by another that applies a perspective + projection. The field of view will be \a angle degrees within + a window with a given \a aspect ratio. The projection will + have the specified \a nearPlane and \a farPlane clipping planes. + Returns this matrix. + + \sa ortho(), frustum() +*/ +QMatrix4x4& QMatrix4x4::perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane) +{ + // Bail out if the projection volume is zero-sized. + if (nearPlane == farPlane || aspect == 0.0f) + return *this; + + // Construct the projection. + QMatrix4x4 m(1); + qreal radians = (angle / 2.0f) * M_PI / 180.0f; + qreal sine = qSin(radians); + if (sine == 0.0f) + return *this; + qreal cotan = qCos(radians) / sine; + qreal clip = farPlane - nearPlane; + m.m[0][0] = qf2vt_round(cotan / aspect); + m.m[1][0] = qf2vt_round(0.0f); + m.m[2][0] = qf2vt_round(0.0f); + m.m[3][0] = qf2vt_round(0.0f); + m.m[0][1] = qf2vt_round(0.0f); + m.m[1][1] = qf2vt_round(cotan); + m.m[2][1] = qf2vt_round(0.0f); + m.m[3][1] = qf2vt_round(0.0f); + m.m[0][2] = qf2vt_round(0.0f); + m.m[1][2] = qf2vt_round(0.0f); + m.m[2][2] = qf2vt_round(-(nearPlane + farPlane) / clip); + m.m[3][2] = qf2vt_round(-(2.0f * nearPlane * farPlane) / clip); + m.m[0][3] = qf2vt_round(0.0f); + m.m[1][3] = qf2vt_round(0.0f); + m.m[2][3] = qf2vt_round(-1.0f); + m.m[3][3] = qf2vt_round(0.0f); + + // Apply the projection. + *this *= m; + return *this; +} + +#ifndef QT_NO_VECTOR3D + +/*! + Multiplies this matrix by another that applies an \a eye position + transformation. The \a center value indicates the center of the + view that the \a eye is looking at. The \a up value indicates + which direction should be considered up with respect to the \a eye. + Returns this matrix. +*/ +QMatrix4x4& QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up) +{ + QVector3D forward = (center - eye).normalized(); + QVector3D side = QVector3D::crossProduct(forward, up).normalized(); + QVector3D upVector = QVector3D::crossProduct(side, forward); + + QMatrix4x4 m(1); + + m.m[0][0] = side.xp; + m.m[1][0] = side.yp; + m.m[2][0] = side.zp; + m.m[3][0] = 0.0f; + m.m[0][1] = upVector.xp; + m.m[1][1] = upVector.yp; + m.m[2][1] = upVector.zp; + m.m[3][1] = 0.0f; + m.m[0][2] = -forward.xp; + m.m[1][2] = -forward.yp; + m.m[2][2] = -forward.zp; + m.m[3][2] = 0.0f; + m.m[0][3] = 0.0f; + m.m[1][3] = 0.0f; + m.m[2][3] = 0.0f; + m.m[3][3] = 1.0f; + + *this *= m; + return translate(-eye); +} + +#endif + +/*! + Flips between right-handed and left-handed coordinate systems + by multiplying the y and z co-ordinates by -1. This is normally + used to create a left-handed orthographic view without scaling + the viewport as ortho() does. Returns this matrix. + + \sa ortho() +*/ +QMatrix4x4& QMatrix4x4::flipCoordinates() +{ + if (flagBits == Scale || flagBits == (Scale | Translation)) { + m[1][1] = -m[1][1]; + m[2][2] = -m[2][2]; + } else if (flagBits == Translation) { + m[1][1] = -m[1][1]; + m[2][2] = -m[2][2]; + flagBits |= Scale; + } else if (flagBits == Identity) { + m[1][1] = -1.0f; + m[2][2] = -1.0f; + flagBits = Scale; + } else { + m[1][0] = -m[1][0]; + m[1][1] = -m[1][1]; + m[1][2] = -m[1][2]; + m[1][3] = -m[1][3]; + m[2][0] = -m[2][0]; + m[2][1] = -m[2][1]; + m[2][2] = -m[2][2]; + m[2][3] = -m[2][3]; + flagBits = General; + } + return *this; +} + +/*! + Retrieves the 16 items in this matrix and writes them to \a values + in row-major order. +*/ +void QMatrix4x4::toValueArray(qreal *values) const +{ + for (int row = 0; row < 4; ++row) + for (int col = 0; col < 4; ++col) + values[row * 4 + col] = qt_math3d_convert(m[col][row]); +} + +/*! + Returns the conventional Qt 2D affine transformation matrix that + corresponds to this matrix. It is assumed that this matrix + only contains 2D affine transformation elements. + + \sa toTransform() +*/ +QMatrix QMatrix4x4::toAffine() const +{ + return QMatrix(qt_math3d_convert(m[0][0]), + qt_math3d_convert(m[0][1]), + qt_math3d_convert(m[1][0]), + qt_math3d_convert(m[1][1]), + qt_math3d_convert(m[3][0]), + qt_math3d_convert(m[3][1])); +} + +/*! + Returns the conventional Qt 2D transformation matrix that + corresponds to this matrix. It is assumed that this matrix + only contains 2D transformation elements. + + \sa toAffine() +*/ +QTransform QMatrix4x4::toTransform() const +{ + return QTransform(qt_math3d_convert(m[0][0]), + qt_math3d_convert(m[0][1]), + qt_math3d_convert(m[0][3]), + qt_math3d_convert(m[1][0]), + qt_math3d_convert(m[1][1]), + qt_math3d_convert(m[1][3]), + qt_math3d_convert(m[3][0]), + qt_math3d_convert(m[3][1]), + qt_math3d_convert(m[3][3])); +} + +/*! + \fn QPoint QMatrix4x4::map(const QPoint& point) const + + Maps \a point by multiplying this matrix by \a point. + + \sa mapRect() +*/ + +/*! + \fn QPointF QMatrix4x4::map(const QPointF& point) const + + Maps \a point by multiplying this matrix by \a point. + + \sa mapRect() +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + \fn QVector3D QMatrix4x4::map(const QVector3D& point) const + + Maps \a point by multiplying this matrix by \a point. + + \sa mapRect() +*/ + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + \fn QVector4D QMatrix4x4::map(const QVector4D& point) const; + + Maps \a point by multiplying this matrix by \a point. + + \sa mapRect() +*/ + +#endif + +/*! + \fn QRect QMatrix4x4::mapRect(const QRect& rect) const + + Maps \a rect by multiplying this matrix by the corners + of \a rect and then forming a new rectangle from the results. + The returned rectangle will be an ordinary 2D rectangle + with sides parallel to the horizontal and vertical axes. + + \sa map() +*/ + +/*! + \fn QRectF QMatrix4x4::mapRect(const QRectF& rect) const + + Maps \a rect by multiplying this matrix by the corners + of \a rect and then forming a new rectangle from the results. + The returned rectangle will be an ordinary 2D rectangle + with sides parallel to the horizontal and vertical axes. + + \sa map() +*/ + +/*! + \fn qrealinner *QMatrix4x4::data() + + Returns a pointer to the raw data of this matrix. This is indended + for use with raw GL functions. + + \sa constData(), inferSpecialType() +*/ + +/*! + \fn const qrealinner *QMatrix4x4::data() const + + Returns a constant pointer to the raw data of this matrix. + This is indended for use with raw GL functions. + + \sa constData() +*/ + +/*! + \fn const qrealinner *QMatrix4x4::constData() const + + Returns a constant pointer to the raw data of this matrix. + This is indended for use with raw GL functions. + + \sa data() +*/ + +// Helper routine for inverting orthonormal matrices that consist +// of just rotations and translations. +QMatrix4x4 QMatrix4x4::orthonormalInverse() const +{ + QMatrix4x4 result(1); // The '1' says not to load identity + + result.m[0][0] = m[0][0]; + result.m[1][0] = m[0][1]; + result.m[2][0] = m[0][2]; + + result.m[0][1] = m[1][0]; + result.m[1][1] = m[1][1]; + result.m[2][1] = m[1][2]; + + result.m[0][2] = m[2][0]; + result.m[1][2] = m[2][1]; + result.m[2][2] = m[2][2]; + + result.m[0][3] = 0.0f; + result.m[1][3] = 0.0f; + result.m[2][3] = 0.0f; + + result.m[3][0] = -(result.m[0][0] * m[3][0] + result.m[1][0] * m[3][1] + result.m[2][0] * m[3][2]); + result.m[3][1] = -(result.m[0][1] * m[3][0] + result.m[1][1] * m[3][1] + result.m[2][1] * m[3][2]); + result.m[3][2] = -(result.m[0][2] * m[3][0] + result.m[1][2] * m[3][1] + result.m[2][2] * m[3][2]); + result.m[3][3] = 1.0f; + + return result; +} + +#ifndef QT_NO_VECTOR3D +/*! + Decomposes the current rotation matrix into an \a axis of rotation plus + an \a angle. The result can be used to construct an equivalent rotation + matrix using glRotate(). It is assumed that the homogenous coordinate + is 1.0. The returned vector is guaranteed to be normalized. + + \code + qreal angle; + QVector3D axis; + + matrix.extractAxisAngle(angle, axis); + glRotate(angle, axis[0], axis[1], axis[2]); + \endcode + + \sa rotate() +*/ +void QMatrix4x4::extractAxisRotation(qreal &angle, QVector3D &axis) const +{ + // Orientation is dependent on the upper 3x3 matrix; subtract the + // homogeneous scaling element from the trace of the 4x4 matrix + qrealinner tr = m[0][0] + m[1][1] + m[2][2]; + qreal cosa = qt_math3d_convert(0.5f * (tr - 1.0f)); + angle = acos(cosa) * 180.0f / M_PI; + + // Any axis will work if r is zero (means no rotation) + if (qFuzzyCompare(angle, (qreal)0.0f)) { + axis.setX(1.0f); + axis.setY(0.0f); + axis.setZ(0.0f); + return; + } + + if (angle < 180.0f) { + axis.xp = m[1][2] - m[2][1]; + axis.yp = m[2][0] - m[0][2]; + axis.zp = m[0][1] - m[1][0]; + axis.normalize(); + return; + } + + // rads == PI + qrealinner tmp; + + // r00 is maximum + if ((m[0][0] >= m[2][2]) && (m[0][0] >= m[1][1])) { + axis.xp = 0.5f * qvtsqrt(m[0][0] - m[1][1] - m[2][2] + 1.0f); + tmp = 0.5f / axis.x(); + axis.yp = m[1][0] * tmp; + axis.zp = m[2][0] * tmp; + } + + // r11 is maximum + if ((m[1][1] >= m[2][2]) && (m[1][1] >= m[0][0])) { + axis.yp = 0.5f * qvtsqrt(m[1][1] - m[0][0] - m[2][2] + 1.0f); + tmp = 0.5f / axis.y(); + axis.xp = tmp * m[1][0]; + axis.zp = tmp * m[2][1]; + } + + // r22 is maximum + if ((m[2][2] >= m[1][1]) && (m[2][2] >= m[0][0])) { + axis.zp = 0.5f * qvtsqrt(m[2][2] - m[0][0] - m[1][1] + 1.0f); + tmp = 0.5f / axis.z(); + axis.xp = m[2][0]*tmp; + axis.yp = m[2][1]*tmp; + } +} + +/*! + If this is an orthonormal transformation matrix (e.g. only rotations and + translations have been applied to the matrix, no scaling, or shearing) + then the world translational component can be obtained by calling this function. + + This is most useful for camera matrices, where the negation of this vector + is effectively the camera world coordinates. +*/ +QVector3D QMatrix4x4::extractTranslation() const +{ + return QVector3D + (m[0][0] * m[3][0] + m[0][1] * m[3][1] + m[0][2] * m[3][2], + m[1][0] * m[3][0] + m[1][1] * m[3][1] + m[1][2] * m[3][2], + m[2][0] * m[3][0] + m[2][1] * m[3][1] + m[2][2] * m[3][2], 1); +} +#endif + +/*! + Infers the special type of this matrix from its current elements. + + Some operations such as translate(), scale(), and rotate() can be + performed more efficiently if the matrix being modified is already + known to be the identity, a previous translate(), a previous + scale(), etc. + + Normally the QMatrix4x4 class keeps track of this special type internally + as operations are performed. However, if the matrix is modified + directly with operator()() or data(), then QMatrix4x4 will lose track of + the special type and will revert to the safest but least efficient + operations thereafter. + + By calling inferSpecialType() after directly modifying the matrix, + the programmer can force QMatrix4x4 to recover the special type if + the elements appear to conform to one of the known optimized types. + + \sa operator()(), data(), translate() +*/ +void QMatrix4x4::inferSpecialType() +{ + // If the last element is not 1, then it can never be special. + if (m[3][3] != 1.0f) { + flagBits = General; + return; + } + + // If the upper three elements m12, m13, and m21 are not all zero, + // or the lower elements below the diagonal are not all zero, then + // the matrix can never be special. + if (m[1][0] != 0.0f || m[2][0] != 0.0f || m[2][1] != 0.0f) { + flagBits = General; + return; + } + if (m[0][1] != 0.0f || m[0][2] != 0.0f || m[0][3] != 0.0f || + m[1][2] != 0.0f || m[1][3] != 0.0f || m[2][3] != 0.0f) { + flagBits = General; + return; + } + + // Determine what we have in the remaining regions of the matrix. + bool identityAlongDiagonal + = (m[0][0] == 1.0f && m[1][1] == 1.0f && m[2][2] == 1.0f); + bool translationPresent + = (m[3][0] != 0.0f || m[3][1] != 0.0f || m[3][2] != 0.0f); + + // Now determine the special matrix type. + if (translationPresent && identityAlongDiagonal) + flagBits = Translation; + else if (translationPresent) + flagBits = (Translation | Scale); + else if (identityAlongDiagonal) + flagBits = Identity; + else + flagBits = Scale; +} + +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QMatrix4x4 &m) +{ + // Create a string that represents the matrix type. + QByteArray bits; + if ((m.flagBits & QMatrix4x4::Identity) != 0) + bits += "Identity,"; + if ((m.flagBits & QMatrix4x4::General) != 0) + bits += "General,"; + if ((m.flagBits & QMatrix4x4::Translation) != 0) + bits += "Translation,"; + if ((m.flagBits & QMatrix4x4::Scale) != 0) + bits += "Scale,"; + if ((m.flagBits & QMatrix4x4::Rotation) != 0) + bits += "Rotation,"; + if (bits.size() > 0) + bits = bits.left(bits.size() - 1); + + // Output in row-major order because it is more human-readable. + dbg.nospace() << "QMatrix4x4(type:" << bits.constData() << endl + << qSetFieldWidth(10) + << m(0, 0) << m(0, 1) << m(0, 2) << m(0, 3) << endl + << m(1, 0) << m(1, 1) << m(1, 2) << m(1, 3) << endl + << m(2, 0) << m(2, 1) << m(2, 2) << m(2, 3) << endl + << m(3, 0) << m(3, 1) << m(3, 2) << m(3, 3) << endl + << qSetFieldWidth(0) << ')'; + return dbg.space(); +} + +#endif + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h new file mode 100644 index 0000000..8ef73bf --- /dev/null +++ b/src/gui/math3d/qmatrix4x4.h @@ -0,0 +1,954 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QMATRIX4X4_H +#define QMATRIX4X4_H + +#include +#include +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +#ifndef QT_NO_MATRIX4X4 + +class QMatrix; +class QTransform; + +class Q_GUI_EXPORT QMatrix4x4 +{ +public: + inline QMatrix4x4() { setIdentity(); } + explicit QMatrix4x4(const qreal *values); + inline QMatrix4x4(qreal m11, qreal m12, qreal m13, qreal m14, + qreal m21, qreal m22, qreal m23, qreal m24, + qreal m31, qreal m32, qreal m33, qreal m34, + qreal m41, qreal m42, qreal m43, qreal m44); +#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC) + template + explicit QMatrix4x4(const QGenericMatrix& matrix); +#endif + QMatrix4x4(const qrealinner *values, int cols, int rows); + QMatrix4x4(const QTransform& transform); + QMatrix4x4(const QMatrix& matrix); + + inline qreal operator()(int row, int column) const; + inline qrealinner& operator()(int row, int column); + + inline QVector4D column(int index) const; + inline void setColumn(int index, const QVector4D& value); + + inline QVector4D row(int index) const; + inline void setRow(int index, const QVector4D& value); + + inline bool isIdentity() const; + inline void setIdentity(); + + inline void fill(qreal value); + + qreal determinant() const; + QMatrix4x4 inverted(bool *invertible = 0) const; + QMatrix4x4 transposed() const; + QMatrix3x3 normalMatrix() const; + + inline QMatrix4x4& operator+=(const QMatrix4x4& other); + inline QMatrix4x4& operator-=(const QMatrix4x4& other); + inline QMatrix4x4& operator*=(const QMatrix4x4& other); + inline QMatrix4x4& operator*=(qreal factor); + QMatrix4x4& operator/=(qreal divisor); + inline bool operator==(const QMatrix4x4& other) const; + inline bool operator!=(const QMatrix4x4& other) const; + + friend QMatrix4x4 operator+(const QMatrix4x4& m1, const QMatrix4x4& m2); + friend QMatrix4x4 operator-(const QMatrix4x4& m1, const QMatrix4x4& m2); + friend QMatrix4x4 operator*(const QMatrix4x4& m1, const QMatrix4x4& m2); +#ifndef QT_NO_VECTOR3D + friend QVector3D operator*(const QMatrix4x4& matrix, const QVector3D& vector); + friend QVector3D operator*(const QVector3D& vector, const QMatrix4x4& matrix); +#endif +#ifndef QT_NO_VECTOR4D + friend QVector4D operator*(const QVector4D& vector, const QMatrix4x4& matrix); + friend QVector4D operator*(const QMatrix4x4& matrix, const QVector4D& vector); +#endif + friend QPoint operator*(const QPoint& point, const QMatrix4x4& matrix); + friend QPointF operator*(const QPointF& point, const QMatrix4x4& matrix); + friend QMatrix4x4 operator-(const QMatrix4x4& matrix); + friend QPoint operator*(const QMatrix4x4& matrix, const QPoint& point); + friend QPointF operator*(const QMatrix4x4& matrix, const QPointF& point); + friend QMatrix4x4 operator*(qreal factor, const QMatrix4x4& matrix); + friend QMatrix4x4 operator*(const QMatrix4x4& matrix, qreal factor); + friend Q_GUI_EXPORT QMatrix4x4 operator/(const QMatrix4x4& matrix, qreal divisor); + + friend inline bool qFuzzyCompare(const QMatrix4x4& m1, const QMatrix4x4& m2); + +#ifndef QT_NO_VECTOR3D + QMatrix4x4& scale(const QVector3D& vector); + QMatrix4x4& translate(const QVector3D& vector); + QMatrix4x4& rotate(qreal angle, const QVector3D& vector); +#endif + QMatrix4x4& scale(qreal x, qreal y, qreal z = 1.0f); + QMatrix4x4& scale(qreal factor); + QMatrix4x4& translate(qreal x, qreal y, qreal z = 0.0f); + QMatrix4x4& rotate(qreal angle, qreal x, qreal y, qreal z = 0.0f); +#ifndef QT_NO_QUATERNION + QMatrix4x4& rotate(const QQuaternion& quaternion); +#endif + +#ifndef QT_NO_VECTOR3D + void extractAxisRotation(qreal &angle, QVector3D &axis) const; + QVector3D extractTranslation() const; +#endif + + QMatrix4x4& ortho(const QRect& rect); + QMatrix4x4& ortho(const QRectF& rect); + QMatrix4x4& ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane); + QMatrix4x4& frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane); + QMatrix4x4& perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane); +#ifndef QT_NO_VECTOR3D + QMatrix4x4& lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up); +#endif + QMatrix4x4& flipCoordinates(); + + void toValueArray(qreal *values) const; + + QMatrix toAffine() const; + QTransform toTransform() const; + + QPoint map(const QPoint& point) const; + QPointF map(const QPointF& point) const; +#ifndef QT_NO_VECTOR3D + QVector3D map(const QVector3D& point) const; +#endif +#ifndef QT_NO_VECTOR4D + QVector4D map(const QVector4D& point) const; +#endif + QRect mapRect(const QRect& rect) const; + QRectF mapRect(const QRectF& rect) const; + +#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC) + template + QGenericMatrix toGenericMatrix() const; +#endif + + inline qrealinner *data(); + inline const qrealinner *data() const { return m[0]; } + inline const qrealinner *constData() const { return m[0]; } + + void inferSpecialType(); + +#ifndef QT_NO_DEBUG_STREAM + friend Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QMatrix4x4 &m); +#endif + +private: + qrealinner m[4][4]; // Column-major order to match OpenGL. + int flagBits; // Flag bits from the enum below. + + enum { + Identity = 0x0001, // Identity matrix + General = 0x0002, // General matrix, unknown contents + Translation = 0x0004, // Contains a simple translation + Scale = 0x0008, // Contains a simple scale + Rotation = 0x0010 // Contains a simple rotation + }; + + // Construct without initializing identity matrix. + QMatrix4x4(int) { flagBits = General; } + + QMatrix4x4 orthonormalInverse() const; +}; + +inline QMatrix4x4::QMatrix4x4 + (qreal m11, qreal m12, qreal m13, qreal m14, + qreal m21, qreal m22, qreal m23, qreal m24, + qreal m31, qreal m32, qreal m33, qreal m34, + qreal m41, qreal m42, qreal m43, qreal m44) +{ + m[0][0] = m11; m[0][1] = m21; m[0][2] = m31; m[0][3] = m41; + m[1][0] = m12; m[1][1] = m22; m[1][2] = m32; m[1][3] = m42; + m[2][0] = m13; m[2][1] = m23; m[2][2] = m33; m[2][3] = m43; + m[3][0] = m14; m[3][1] = m24; m[3][2] = m34; m[3][3] = m44; + flagBits = General; +} + +#if !defined(QT_NO_MEMBER_TEMPLATES) + +template +Q_INLINE_TEMPLATE QMatrix4x4::QMatrix4x4 + (const QGenericMatrix& matrix) +{ + const qrealinner *values = matrix.constData(); + for (int col = 0; col < 4; ++col) { + for (int row = 0; row < 4; ++row) { + if (col < N && row < M) + m[col][row] = values[col * M + row]; + else if (col == row) + m[col][row] = 1.0f; + else + m[col][row] = 0.0f; + } + } + flagBits = General; +} + +template +QGenericMatrix QMatrix4x4::toGenericMatrix() const +{ + QGenericMatrix result; + qrealinner *values = result.data(); + for (int col = 0; col < N; ++col) { + for (int row = 0; row < M; ++row) { + if (col < 4 && row < 4) + values[col * M + row] = m[col][row]; + else if (col == row) + values[col * M + row] = 1.0f; + else + values[col * M + row] = 0.0f; + } + } + return result; +} + +#endif + +inline qreal QMatrix4x4::operator()(int row, int column) const +{ + Q_ASSERT(row >= 0 && row < 4 && column >= 0 && column < 4); + return qt_math3d_convert(m[column][row]); +} + +inline qrealinner& QMatrix4x4::operator()(int row, int column) +{ + Q_ASSERT(row >= 0 && row < 4 && column >= 0 && column < 4); + flagBits = General; + return m[column][row]; +} + +inline QVector4D QMatrix4x4::column(int index) const +{ + Q_ASSERT(index >= 0 && index < 4); + return QVector4D(m[index][0], m[index][1], m[index][2], m[index][3], 1); +} + +inline void QMatrix4x4::setColumn(int index, const QVector4D& value) +{ + Q_ASSERT(index >= 0 && index < 4); + m[index][0] = value.xp; + m[index][1] = value.yp; + m[index][2] = value.zp; + m[index][3] = value.wp; + flagBits = General; +} + +inline QVector4D QMatrix4x4::row(int index) const +{ + Q_ASSERT(index >= 0 && index < 4); + return QVector4D(m[0][index], m[1][index], m[2][index], m[3][index], 1); +} + +inline void QMatrix4x4::setRow(int index, const QVector4D& value) +{ + Q_ASSERT(index >= 0 && index < 4); + m[0][index] = value.xp; + m[1][index] = value.yp; + m[2][index] = value.zp; + m[3][index] = value.wp; + flagBits = General; +} + +Q_GUI_EXPORT QMatrix4x4 operator/(const QMatrix4x4& matrix, qreal divisor); + +inline bool QMatrix4x4::isIdentity() const +{ + if (flagBits == Identity) + return true; + if (m[0][0] != 1.0f || m[0][1] != 0.0f || m[0][2] != 0.0f) + return false; + if (m[0][3] != 0.0f || m[1][0] != 0.0f || m[1][1] != 1.0f) + return false; + if (m[1][2] != 0.0f || m[1][3] != 0.0f || m[2][0] != 0.0f) + return false; + if (m[2][1] != 0.0f || m[2][2] != 1.0f || m[2][3] != 0.0f) + return false; + if (m[3][0] != 0.0f || m[3][1] != 0.0f || m[3][2] != 0.0f) + return false; + return (m[3][3] == 1.0f); +} + +inline void QMatrix4x4::setIdentity() +{ + m[0][0] = 1.0f; + m[0][1] = 0.0f; + m[0][2] = 0.0f; + m[0][3] = 0.0f; + m[1][0] = 0.0f; + m[1][1] = 1.0f; + m[1][2] = 0.0f; + m[1][3] = 0.0f; + m[2][0] = 0.0f; + m[2][1] = 0.0f; + m[2][2] = 1.0f; + m[2][3] = 0.0f; + m[3][0] = 0.0f; + m[3][1] = 0.0f; + m[3][2] = 0.0f; + m[3][3] = 1.0f; + flagBits = Identity; +} + +inline void QMatrix4x4::fill(qreal value) +{ + m[0][0] = value; + m[0][1] = value; + m[0][2] = value; + m[0][3] = value; + m[1][0] = value; + m[1][1] = value; + m[1][2] = value; + m[1][3] = value; + m[2][0] = value; + m[2][1] = value; + m[2][2] = value; + m[2][3] = value; + m[3][0] = value; + m[3][1] = value; + m[3][2] = value; + m[3][3] = value; + flagBits = General; +} + +inline QMatrix4x4& QMatrix4x4::operator+=(const QMatrix4x4& other) +{ + m[0][0] += other.m[0][0]; + m[0][1] += other.m[0][1]; + m[0][2] += other.m[0][2]; + m[0][3] += other.m[0][3]; + m[1][0] += other.m[1][0]; + m[1][1] += other.m[1][1]; + m[1][2] += other.m[1][2]; + m[1][3] += other.m[1][3]; + m[2][0] += other.m[2][0]; + m[2][1] += other.m[2][1]; + m[2][2] += other.m[2][2]; + m[2][3] += other.m[2][3]; + m[3][0] += other.m[3][0]; + m[3][1] += other.m[3][1]; + m[3][2] += other.m[3][2]; + m[3][3] += other.m[3][3]; + flagBits = General; + return *this; +} + +inline QMatrix4x4& QMatrix4x4::operator-=(const QMatrix4x4& other) +{ + m[0][0] -= other.m[0][0]; + m[0][1] -= other.m[0][1]; + m[0][2] -= other.m[0][2]; + m[0][3] -= other.m[0][3]; + m[1][0] -= other.m[1][0]; + m[1][1] -= other.m[1][1]; + m[1][2] -= other.m[1][2]; + m[1][3] -= other.m[1][3]; + m[2][0] -= other.m[2][0]; + m[2][1] -= other.m[2][1]; + m[2][2] -= other.m[2][2]; + m[2][3] -= other.m[2][3]; + m[3][0] -= other.m[3][0]; + m[3][1] -= other.m[3][1]; + m[3][2] -= other.m[3][2]; + m[3][3] -= other.m[3][3]; + flagBits = General; + return *this; +} + +inline QMatrix4x4& QMatrix4x4::operator*=(const QMatrix4x4& other) +{ + if (flagBits == Identity) { + *this = other; + return *this; + } else if (other.flagBits == Identity) { + return *this; + } else { + *this = *this * other; + return *this; + } +} + +inline QMatrix4x4& QMatrix4x4::operator*=(qreal factor) +{ + qrealinner f(factor); + m[0][0] *= f; + m[0][1] *= f; + m[0][2] *= f; + m[0][3] *= f; + m[1][0] *= f; + m[1][1] *= f; + m[1][2] *= f; + m[1][3] *= f; + m[2][0] *= f; + m[2][1] *= f; + m[2][2] *= f; + m[2][3] *= f; + m[3][0] *= f; + m[3][1] *= f; + m[3][2] *= f; + m[3][3] *= f; + flagBits = General; + return *this; +} + +inline bool QMatrix4x4::operator==(const QMatrix4x4& other) const +{ + return m[0][0] == other.m[0][0] && + m[0][1] == other.m[0][1] && + m[0][2] == other.m[0][2] && + m[0][3] == other.m[0][3] && + m[1][0] == other.m[1][0] && + m[1][1] == other.m[1][1] && + m[1][2] == other.m[1][2] && + m[1][3] == other.m[1][3] && + m[2][0] == other.m[2][0] && + m[2][1] == other.m[2][1] && + m[2][2] == other.m[2][2] && + m[2][3] == other.m[2][3] && + m[3][0] == other.m[3][0] && + m[3][1] == other.m[3][1] && + m[3][2] == other.m[3][2] && + m[3][3] == other.m[3][3]; +} + +inline bool QMatrix4x4::operator!=(const QMatrix4x4& other) const +{ + return m[0][0] != other.m[0][0] || + m[0][1] != other.m[0][1] || + m[0][2] != other.m[0][2] || + m[0][3] != other.m[0][3] || + m[1][0] != other.m[1][0] || + m[1][1] != other.m[1][1] || + m[1][2] != other.m[1][2] || + m[1][3] != other.m[1][3] || + m[2][0] != other.m[2][0] || + m[2][1] != other.m[2][1] || + m[2][2] != other.m[2][2] || + m[2][3] != other.m[2][3] || + m[3][0] != other.m[3][0] || + m[3][1] != other.m[3][1] || + m[3][2] != other.m[3][2] || + m[3][3] != other.m[3][3]; +} + +inline QMatrix4x4 operator+(const QMatrix4x4& m1, const QMatrix4x4& m2) +{ + QMatrix4x4 m(1); + m.m[0][0] = m1.m[0][0] + m2.m[0][0]; + m.m[0][1] = m1.m[0][1] + m2.m[0][1]; + m.m[0][2] = m1.m[0][2] + m2.m[0][2]; + m.m[0][3] = m1.m[0][3] + m2.m[0][3]; + m.m[1][0] = m1.m[1][0] + m2.m[1][0]; + m.m[1][1] = m1.m[1][1] + m2.m[1][1]; + m.m[1][2] = m1.m[1][2] + m2.m[1][2]; + m.m[1][3] = m1.m[1][3] + m2.m[1][3]; + m.m[2][0] = m1.m[2][0] + m2.m[2][0]; + m.m[2][1] = m1.m[2][1] + m2.m[2][1]; + m.m[2][2] = m1.m[2][2] + m2.m[2][2]; + m.m[2][3] = m1.m[2][3] + m2.m[2][3]; + m.m[3][0] = m1.m[3][0] + m2.m[3][0]; + m.m[3][1] = m1.m[3][1] + m2.m[3][1]; + m.m[3][2] = m1.m[3][2] + m2.m[3][2]; + m.m[3][3] = m1.m[3][3] + m2.m[3][3]; + return m; +} + +inline QMatrix4x4 operator-(const QMatrix4x4& m1, const QMatrix4x4& m2) +{ + QMatrix4x4 m(1); + m.m[0][0] = m1.m[0][0] - m2.m[0][0]; + m.m[0][1] = m1.m[0][1] - m2.m[0][1]; + m.m[0][2] = m1.m[0][2] - m2.m[0][2]; + m.m[0][3] = m1.m[0][3] - m2.m[0][3]; + m.m[1][0] = m1.m[1][0] - m2.m[1][0]; + m.m[1][1] = m1.m[1][1] - m2.m[1][1]; + m.m[1][2] = m1.m[1][2] - m2.m[1][2]; + m.m[1][3] = m1.m[1][3] - m2.m[1][3]; + m.m[2][0] = m1.m[2][0] - m2.m[2][0]; + m.m[2][1] = m1.m[2][1] - m2.m[2][1]; + m.m[2][2] = m1.m[2][2] - m2.m[2][2]; + m.m[2][3] = m1.m[2][3] - m2.m[2][3]; + m.m[3][0] = m1.m[3][0] - m2.m[3][0]; + m.m[3][1] = m1.m[3][1] - m2.m[3][1]; + m.m[3][2] = m1.m[3][2] - m2.m[3][2]; + m.m[3][3] = m1.m[3][3] - m2.m[3][3]; + return m; +} + +inline QMatrix4x4 operator*(const QMatrix4x4& m1, const QMatrix4x4& m2) +{ + if (m1.flagBits == QMatrix4x4::Identity) + return m2; + else if (m2.flagBits == QMatrix4x4::Identity) + return m1; + + QMatrix4x4 m(1); + m.m[0][0] = m1.m[0][0] * m2.m[0][0] + + m1.m[1][0] * m2.m[0][1] + + m1.m[2][0] * m2.m[0][2] + + m1.m[3][0] * m2.m[0][3]; + m.m[0][1] = m1.m[0][1] * m2.m[0][0] + + m1.m[1][1] * m2.m[0][1] + + m1.m[2][1] * m2.m[0][2] + + m1.m[3][1] * m2.m[0][3]; + m.m[0][2] = m1.m[0][2] * m2.m[0][0] + + m1.m[1][2] * m2.m[0][1] + + m1.m[2][2] * m2.m[0][2] + + m1.m[3][2] * m2.m[0][3]; + m.m[0][3] = m1.m[0][3] * m2.m[0][0] + + m1.m[1][3] * m2.m[0][1] + + m1.m[2][3] * m2.m[0][2] + + m1.m[3][3] * m2.m[0][3]; + m.m[1][0] = m1.m[0][0] * m2.m[1][0] + + m1.m[1][0] * m2.m[1][1] + + m1.m[2][0] * m2.m[1][2] + + m1.m[3][0] * m2.m[1][3]; + m.m[1][1] = m1.m[0][1] * m2.m[1][0] + + m1.m[1][1] * m2.m[1][1] + + m1.m[2][1] * m2.m[1][2] + + m1.m[3][1] * m2.m[1][3]; + m.m[1][2] = m1.m[0][2] * m2.m[1][0] + + m1.m[1][2] * m2.m[1][1] + + m1.m[2][2] * m2.m[1][2] + + m1.m[3][2] * m2.m[1][3]; + m.m[1][3] = m1.m[0][3] * m2.m[1][0] + + m1.m[1][3] * m2.m[1][1] + + m1.m[2][3] * m2.m[1][2] + + m1.m[3][3] * m2.m[1][3]; + m.m[2][0] = m1.m[0][0] * m2.m[2][0] + + m1.m[1][0] * m2.m[2][1] + + m1.m[2][0] * m2.m[2][2] + + m1.m[3][0] * m2.m[2][3]; + m.m[2][1] = m1.m[0][1] * m2.m[2][0] + + m1.m[1][1] * m2.m[2][1] + + m1.m[2][1] * m2.m[2][2] + + m1.m[3][1] * m2.m[2][3]; + m.m[2][2] = m1.m[0][2] * m2.m[2][0] + + m1.m[1][2] * m2.m[2][1] + + m1.m[2][2] * m2.m[2][2] + + m1.m[3][2] * m2.m[2][3]; + m.m[2][3] = m1.m[0][3] * m2.m[2][0] + + m1.m[1][3] * m2.m[2][1] + + m1.m[2][3] * m2.m[2][2] + + m1.m[3][3] * m2.m[2][3]; + m.m[3][0] = m1.m[0][0] * m2.m[3][0] + + m1.m[1][0] * m2.m[3][1] + + m1.m[2][0] * m2.m[3][2] + + m1.m[3][0] * m2.m[3][3]; + m.m[3][1] = m1.m[0][1] * m2.m[3][0] + + m1.m[1][1] * m2.m[3][1] + + m1.m[2][1] * m2.m[3][2] + + m1.m[3][1] * m2.m[3][3]; + m.m[3][2] = m1.m[0][2] * m2.m[3][0] + + m1.m[1][2] * m2.m[3][1] + + m1.m[2][2] * m2.m[3][2] + + m1.m[3][2] * m2.m[3][3]; + m.m[3][3] = m1.m[0][3] * m2.m[3][0] + + m1.m[1][3] * m2.m[3][1] + + m1.m[2][3] * m2.m[3][2] + + m1.m[3][3] * m2.m[3][3]; + return m; +} + +#ifndef QT_NO_VECTOR3D + +inline QVector3D operator*(const QVector3D& vector, const QMatrix4x4& matrix) +{ + qrealinner x, y, z, w; + x = vector.xp * matrix.m[0][0] + + vector.yp * matrix.m[0][1] + + vector.zp * matrix.m[0][2] + + matrix.m[0][3]; + y = vector.xp * matrix.m[1][0] + + vector.yp * matrix.m[1][1] + + vector.zp * matrix.m[1][2] + + matrix.m[1][3]; + z = vector.xp * matrix.m[2][0] + + vector.yp * matrix.m[2][1] + + vector.zp * matrix.m[2][2] + + matrix.m[2][3]; + w = vector.xp * matrix.m[3][0] + + vector.yp * matrix.m[3][1] + + vector.zp * matrix.m[3][2] + + matrix.m[3][3]; + if (w == 1.0f) + return QVector3D(x, y, z, 1); + else + return QVector3D(x / w, y / w, z / w, 1); +} + +inline QVector3D operator*(const QMatrix4x4& matrix, const QVector3D& vector) +{ + qrealinner x, y, z, w; + x = vector.xp * matrix.m[0][0] + + vector.yp * matrix.m[1][0] + + vector.zp * matrix.m[2][0] + + matrix.m[3][0]; + y = vector.xp * matrix.m[0][1] + + vector.yp * matrix.m[1][1] + + vector.zp * matrix.m[2][1] + + matrix.m[3][1]; + z = vector.xp * matrix.m[0][2] + + vector.yp * matrix.m[1][2] + + vector.zp * matrix.m[2][2] + + matrix.m[3][2]; + w = vector.xp * matrix.m[0][3] + + vector.yp * matrix.m[1][3] + + vector.zp * matrix.m[2][3] + + matrix.m[3][3]; + if (w == 1.0f) + return QVector3D(x, y, z, 1); + else + return QVector3D(x / w, y / w, z / w, 1); +} + +#endif + +#ifndef QT_NO_VECTOR4D + +inline QVector4D operator*(const QVector4D& vector, const QMatrix4x4& matrix) +{ + qrealinner x, y, z, w; + x = vector.xp * matrix.m[0][0] + + vector.yp * matrix.m[0][1] + + vector.zp * matrix.m[0][2] + + vector.wp * matrix.m[0][3]; + y = vector.xp * matrix.m[1][0] + + vector.yp * matrix.m[1][1] + + vector.zp * matrix.m[1][2] + + vector.wp * matrix.m[1][3]; + z = vector.xp * matrix.m[2][0] + + vector.yp * matrix.m[2][1] + + vector.zp * matrix.m[2][2] + + vector.wp * matrix.m[2][3]; + w = vector.xp * matrix.m[3][0] + + vector.yp * matrix.m[3][1] + + vector.zp * matrix.m[3][2] + + vector.wp * matrix.m[3][3]; + return QVector4D(x, y, z, w, 1); +} + +inline QVector4D operator*(const QMatrix4x4& matrix, const QVector4D& vector) +{ + qrealinner x, y, z, w; + x = vector.xp * matrix.m[0][0] + + vector.yp * matrix.m[1][0] + + vector.zp * matrix.m[2][0] + + vector.wp * matrix.m[3][0]; + y = vector.xp * matrix.m[0][1] + + vector.yp * matrix.m[1][1] + + vector.zp * matrix.m[2][1] + + vector.wp * matrix.m[3][1]; + z = vector.xp * matrix.m[0][2] + + vector.yp * matrix.m[1][2] + + vector.zp * matrix.m[2][2] + + vector.wp * matrix.m[3][2]; + w = vector.xp * matrix.m[0][3] + + vector.yp * matrix.m[1][3] + + vector.zp * matrix.m[2][3] + + vector.wp * matrix.m[3][3]; + return QVector4D(x, y, z, w, 1); +} + +#endif + +inline QPoint operator*(const QPoint& point, const QMatrix4x4& matrix) +{ + qrealinner xin, yin; + qrealinner x, y, w; + xin = point.x(); + yin = point.y(); + x = xin * matrix.m[0][0] + + yin * matrix.m[0][1] + + matrix.m[0][3]; + y = xin * matrix.m[1][0] + + yin * matrix.m[1][1] + + matrix.m[1][3]; + w = xin * matrix.m[3][0] + + yin * matrix.m[3][1] + + matrix.m[3][3]; + if (w == 1.0f) + return QPoint(qRound(x), qRound(y)); + else + return QPoint(qRound(x / w), qRound(y / w)); +} + +inline QPointF operator*(const QPointF& point, const QMatrix4x4& matrix) +{ + qrealinner xin, yin; + qrealinner x, y, w; + xin = point.x(); + yin = point.y(); + x = xin * matrix.m[0][0] + + yin * matrix.m[0][1] + + matrix.m[0][3]; + y = xin * matrix.m[1][0] + + yin * matrix.m[1][1] + + matrix.m[1][3]; + w = xin * matrix.m[3][0] + + yin * matrix.m[3][1] + + matrix.m[3][3]; + if (w == 1.0f) { + return QPointF(qt_math3d_convert(x), + qt_math3d_convert(y)); + } else { + return QPointF(qt_math3d_convert(x / w), + qt_math3d_convert(y / w)); + } +} + +inline QPoint operator*(const QMatrix4x4& matrix, const QPoint& point) +{ + qrealinner xin, yin; + qrealinner x, y, w; + xin = point.x(); + yin = point.y(); + x = xin * matrix.m[0][0] + + yin * matrix.m[1][0] + + matrix.m[3][0]; + y = xin * matrix.m[0][1] + + yin * matrix.m[1][1] + + matrix.m[3][1]; + w = xin * matrix.m[0][3] + + yin * matrix.m[1][3] + + matrix.m[3][3]; + if (w == 1.0f) + return QPoint(qRound(x), qRound(y)); + else + return QPoint(qRound(x / w), qRound(y / w)); +} + +inline QPointF operator*(const QMatrix4x4& matrix, const QPointF& point) +{ + qrealinner xin, yin; + qrealinner x, y, w; + xin = point.x(); + yin = point.y(); + x = xin * matrix.m[0][0] + + yin * matrix.m[1][0] + + matrix.m[3][0]; + y = xin * matrix.m[0][1] + + yin * matrix.m[1][1] + + matrix.m[3][1]; + w = xin * matrix.m[0][3] + + yin * matrix.m[1][3] + + matrix.m[3][3]; + if (w == 1.0f) { + return QPointF(qt_math3d_convert(x), + qt_math3d_convert(y)); + } else { + return QPointF(qt_math3d_convert(x / w), + qt_math3d_convert(y / w)); + } +} + +inline QMatrix4x4 operator-(const QMatrix4x4& matrix) +{ + QMatrix4x4 m(1); + m.m[0][0] = -matrix.m[0][0]; + m.m[0][1] = -matrix.m[0][1]; + m.m[0][2] = -matrix.m[0][2]; + m.m[0][3] = -matrix.m[0][3]; + m.m[1][0] = -matrix.m[1][0]; + m.m[1][1] = -matrix.m[1][1]; + m.m[1][2] = -matrix.m[1][2]; + m.m[1][3] = -matrix.m[1][3]; + m.m[2][0] = -matrix.m[2][0]; + m.m[2][1] = -matrix.m[2][1]; + m.m[2][2] = -matrix.m[2][2]; + m.m[2][3] = -matrix.m[2][3]; + m.m[3][0] = -matrix.m[3][0]; + m.m[3][1] = -matrix.m[3][1]; + m.m[3][2] = -matrix.m[3][2]; + m.m[3][3] = -matrix.m[3][3]; + return m; +} + +inline QMatrix4x4 operator*(qreal factor, const QMatrix4x4& matrix) +{ + QMatrix4x4 m(1); + qrealinner f(factor); + m.m[0][0] = matrix.m[0][0] * f; + m.m[0][1] = matrix.m[0][1] * f; + m.m[0][2] = matrix.m[0][2] * f; + m.m[0][3] = matrix.m[0][3] * f; + m.m[1][0] = matrix.m[1][0] * f; + m.m[1][1] = matrix.m[1][1] * f; + m.m[1][2] = matrix.m[1][2] * f; + m.m[1][3] = matrix.m[1][3] * f; + m.m[2][0] = matrix.m[2][0] * f; + m.m[2][1] = matrix.m[2][1] * f; + m.m[2][2] = matrix.m[2][2] * f; + m.m[2][3] = matrix.m[2][3] * f; + m.m[3][0] = matrix.m[3][0] * f; + m.m[3][1] = matrix.m[3][1] * f; + m.m[3][2] = matrix.m[3][2] * f; + m.m[3][3] = matrix.m[3][3] * f; + return m; +} + +inline QMatrix4x4 operator*(const QMatrix4x4& matrix, qreal factor) +{ + QMatrix4x4 m(1); + qrealinner f(factor); + m.m[0][0] = matrix.m[0][0] * f; + m.m[0][1] = matrix.m[0][1] * f; + m.m[0][2] = matrix.m[0][2] * f; + m.m[0][3] = matrix.m[0][3] * f; + m.m[1][0] = matrix.m[1][0] * f; + m.m[1][1] = matrix.m[1][1] * f; + m.m[1][2] = matrix.m[1][2] * f; + m.m[1][3] = matrix.m[1][3] * f; + m.m[2][0] = matrix.m[2][0] * f; + m.m[2][1] = matrix.m[2][1] * f; + m.m[2][2] = matrix.m[2][2] * f; + m.m[2][3] = matrix.m[2][3] * f; + m.m[3][0] = matrix.m[3][0] * f; + m.m[3][1] = matrix.m[3][1] * f; + m.m[3][2] = matrix.m[3][2] * f; + m.m[3][3] = matrix.m[3][3] * f; + return m; +} + +inline bool qFuzzyCompare(const QMatrix4x4& m1, const QMatrix4x4& m2) +{ + return qFuzzyCompare(m1.m[0][0], m2.m[0][0]) && + qFuzzyCompare(m1.m[0][1], m2.m[0][1]) && + qFuzzyCompare(m1.m[0][2], m2.m[0][2]) && + qFuzzyCompare(m1.m[0][3], m2.m[0][3]) && + qFuzzyCompare(m1.m[1][0], m2.m[1][0]) && + qFuzzyCompare(m1.m[1][1], m2.m[1][1]) && + qFuzzyCompare(m1.m[1][2], m2.m[1][2]) && + qFuzzyCompare(m1.m[1][3], m2.m[1][3]) && + qFuzzyCompare(m1.m[2][0], m2.m[2][0]) && + qFuzzyCompare(m1.m[2][1], m2.m[2][1]) && + qFuzzyCompare(m1.m[2][2], m2.m[2][2]) && + qFuzzyCompare(m1.m[2][3], m2.m[2][3]) && + qFuzzyCompare(m1.m[3][0], m2.m[3][0]) && + qFuzzyCompare(m1.m[3][1], m2.m[3][1]) && + qFuzzyCompare(m1.m[3][2], m2.m[3][2]) && + qFuzzyCompare(m1.m[3][3], m2.m[3][3]); +} + +inline QPoint QMatrix4x4::map(const QPoint& point) const +{ + return *this * point; +} + +inline QPointF QMatrix4x4::map(const QPointF& point) const +{ + return *this * point; +} + +#ifndef QT_NO_VECTOR3D + +inline QVector3D QMatrix4x4::map(const QVector3D& point) const +{ + return *this * point; +} + +#endif + +#ifndef QT_NO_VECTOR4D + +inline QVector4D QMatrix4x4::map(const QVector4D& point) const +{ + return *this * point; +} + +#endif + +inline QRect QMatrix4x4::mapRect(const QRect& rect) const +{ + QPoint tl = map(rect.topLeft()); QPoint tr = map(rect.topRight()); + QPoint bl = map(rect.bottomLeft()); QPoint br = map(rect.bottomRight()); + + int xmin = qMin(qMin(tl.x(), tr.x()), qMin(bl.x(), br.x())); + int xmax = qMax(qMax(tl.x(), tr.x()), qMax(bl.x(), br.x())); + int ymin = qMin(qMin(tl.y(), tr.y()), qMin(bl.y(), br.y())); + int ymax = qMax(qMax(tl.y(), tr.y()), qMax(bl.y(), br.y())); + + return QRect(QPoint(xmin, ymin), QPoint(xmax, ymax)); +} + +inline QRectF QMatrix4x4::mapRect(const QRectF& rect) const +{ + QPointF tl = map(rect.topLeft()); QPointF tr = map(rect.topRight()); + QPointF bl = map(rect.bottomLeft()); QPointF br = map(rect.bottomRight()); + + qreal xmin = qMin(qMin(tl.x(), tr.x()), qMin(bl.x(), br.x())); + qreal xmax = qMax(qMax(tl.x(), tr.x()), qMax(bl.x(), br.x())); + qreal ymin = qMin(qMin(tl.y(), tr.y()), qMin(bl.y(), br.y())); + qreal ymax = qMax(qMax(tl.y(), tr.y()), qMax(bl.y(), br.y())); + + return QRectF(QPointF(xmin, ymin), QPointF(xmax, ymax)); +} + +inline qrealinner *QMatrix4x4::data() +{ + // We have to assume that the caller will modify the matrix elements, + // so we flip it over to "General" mode. + flagBits = General; + return m[0]; +} + +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QMatrix4x4 &m); +#endif + +template +QMatrix4x4 qGenericMatrixToMatrix4x4(const QGenericMatrix& matrix) +{ + return QMatrix4x4(matrix.constData(), N, M); +} + +template +QGenericMatrix qGenericMatrixFromMatrix4x4(const QMatrix4x4& matrix) +{ + QGenericMatrix result; + const qrealinner *m = matrix.constData(); + qrealinner *values = result.data(); + for (int col = 0; col < N; ++col) { + for (int row = 0; row < M; ++row) { + if (col < 4 && row < 4) + values[col * M + row] = m[col * 4 + row]; + else if (col == row) + values[col * M + row] = 1.0f; + else + values[col * M + row] = 0.0f; + } + } + return result; +} + +#endif + +QT_END_NAMESPACE + +#ifndef QT_NO_MATRIX4X4 +Q_DECLARE_METATYPE(QMatrix4x4) +#endif + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qquaternion.cpp b/src/gui/math3d/qquaternion.cpp new file mode 100644 index 0000000..730844f --- /dev/null +++ b/src/gui/math3d/qquaternion.cpp @@ -0,0 +1,513 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qquaternion.h" +#include "qmath3dutil_p.h" +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_QUATERNION + +/*! + \class QQuaternion + \brief The QQuaternion class represents a quaternion consisting of a vector and scalar. + \since 4.6 + + Quaternions are used to represent rotations in 3D space, and + consist of a 3D rotation axis specified by the x, y, and z + coordinates, and a scalar representing the rotation angle. + + The components of a quaternion are stored internally using the most + efficient representation for the GL rendering engine, which will be + either floating-point or fixed-point. +*/ + +/*! + \fn QQuaternion::QQuaternion() + + Constructs an identity quaternion, i.e. with coordinates (1, 0, 0, 0). +*/ + +/*! + \fn QQuaternion::QQuaternion(qreal scalar, qreal xpos, qreal ypos, qreal zpos) + + Constructs a quaternion with the vector (\a xpos, \a ypos, \a zpos) + and \a scalar. +*/ + +/*! + \fn QQuaternion::QQuaternion(int scalar, int xpos, int ypos, int zpos) + + Constructs a quaternion with the vector (\a xpos, \a ypos, \a zpos) + and \a scalar. +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + \fn QQuaternion::QQuaternion(qreal scalar, const QVector3D& vector) + + Constructs a quaternion vector from the specified \a vector and + \a scalar. + + \sa vector(), scalar() +*/ + +/*! + \fn QVector3D QQuaternion::vector() const + + Returns the vector component of this quaternion. + + \sa setVector(), scalar() +*/ + +/*! + \fn void QQuaternion::setVector(const QVector3D& vector) + + Sets the vector component of this quaternion to \a vector. + + \sa vector(), setScalar() +*/ + +#endif + +/*! + \fn void QQuaternion::setVector(qreal x, qreal y, qreal z) + + Sets the vector component of this quaternion to (\a x, \a y, \a z). + + \sa vector(), setScalar() +*/ + +#ifndef QT_NO_VECTOR4D + +/*! + \fn QQuaternion::QQuaternion(const QVector4D& vector) + + Constructs a quaternion from the components of \a vector. +*/ + +/*! + \fn QVector4D QQuaternion::toVector4D() const + + Returns this quaternion as a 4D vector. +*/ + +#endif + +/*! + \fn bool QQuaternion::isNull() const + + Returns true if the x, y, z, and scalar components of this + quaternion are set to 0.0; otherwise returns false. +*/ + +/*! + \fn bool QQuaternion::isIdentity() const + + Returns true if the x, y, and z components of this + quaternion are set to 0.0, and the scalar component is set + to 1.0; otherwise returns false. +*/ + +/*! + \fn qreal QQuaternion::x() const + + Returns the x coordinate of this quaternion's vector. + + \sa setX(), y(), z(), scalar() +*/ + +/*! + \fn qreal QQuaternion::y() const + + Returns the y coordinate of this quaternion's vector. + + \sa setY(), x(), z(), scalar() +*/ + +/*! + \fn qreal QQuaternion::z() const + + Returns the z coordinate of this quaternion's vector. + + \sa setZ(), x(), y(), scalar() +*/ + +/*! + \fn qreal QQuaternion::scalar() const + + Returns the scalar component of this quaternion. + + \sa setScalar(), x(), y(), z() +*/ + +/*! + \fn void QQuaternion::setX(qreal x) + + Sets the x coordinate of this quaternion's vector to the given + \a x coordinate. + + \sa x(), setY(), setZ(), setScalar() +*/ + +/*! + \fn void QQuaternion::setY(qreal y) + + Sets the y coordinate of this quaternion's vector to the given + \a y coordinate. + + \sa y(), setX(), setZ(), setScalar() +*/ + +/*! + \fn void QQuaternion::setZ(qreal z) + + Sets the z coordinate of this quaternion's vector to the given + \a z coordinate. + + \sa z(), setX(), setY(), setScalar() +*/ + +/*! + \fn void QQuaternion::setScalar(qreal scalar) + + Sets the scalar component of this quaternion to \a scalar. + + \sa scalar(), setX(), setY(), setZ() +*/ + +/*! + Returns the length of the quaternion. This is also called the "norm". + + \sa lengthSquared(), normalized() +*/ +qreal QQuaternion::length() const +{ + return qvtsqrt64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + + qvtmul64(zp, zp) + qvtmul64(wp, wp)); +} + +/*! + Returns the squared length of the quaternion. + + \sa length() +*/ +qreal QQuaternion::lengthSquared() const +{ + return qvtdot64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + + qvtmul64(zp, zp) + qvtmul64(wp, wp)); +} + +/*! + Returns the normalized unit form of this quaternion. If this quaternion + is not null, the returned quaternion is guaranteed to be 1.0 in length. + If this quaternion is null, then a null quaternion is returned. + + \sa length(), normalize() +*/ +QQuaternion QQuaternion::normalized() const +{ + qreal len = length(); + if (!qIsNull(len)) + return *this / len; + else + return QQuaternion(0.0f, 0.0f, 0.0f, 0.0f); +} + +/*! + Normalizes the currect quaternion in place. Nothing happens if this + is a null quaternion. + + \sa length(), normalized() +*/ +void QQuaternion::normalize() +{ + qreal len = length(); + if (qIsNull(len)) + return; + + xp /= len; + yp /= len; + zp /= len; + wp /= len; +} + + +/*! + \fn QQuaternion QQuaternion::conjugate() const + + Returns the conjugate of this quaternion, which is + (-x, -y, -z, scalar). +*/ + +/*! + Rotates \a vector with this quaternion to produce a new vector + in 3D space. The following code: + + \code + QVector3D result = q.rotateVector(vector); + \endcode + + is equivalent to the following: + + \code + QVector3D result = (q * QQuaternion(0, vector) * q.conjugate()).vector(); + \endcode +*/ +QVector3D QQuaternion::rotateVector(const QVector3D& vector) const +{ + return (*this * QQuaternion(0, vector) * conjugate()).vector(); +} + +/*! + \fn QQuaternion &QQuaternion::operator+=(const QQuaternion &quaternion) + + Adds the given \a quaternion to this quaternion and returns a reference to + this quaternion. + + \sa operator-=() +*/ + +/*! + \fn QQuaternion &QQuaternion::operator-=(const QQuaternion &quaternion) + + Subtracts the given \a quaternion from this quaternion and returns a + reference to this quaternion. + + \sa operator+=() +*/ + +/*! + \fn QQuaternion &QQuaternion::operator*=(qreal factor) + + Multiplies this quaternion's components by the given \a factor, and + returns a reference to this quaternion. + + \sa operator/=() +*/ + +/*! + \fn QQuaternion &QQuaternion::operator*=(const QQuaternion &quaternion) + + Multiplies this quaternion by \a quaternion and returns a reference + to this quaternion. +*/ + +/*! + \fn QQuaternion &QQuaternion::operator/=(qreal divisor) + + Divides this quaternion's components by the given \a divisor, and + returns a reference to this quaternion. + + \sa operator*=() +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + Creates a normalized quaternion that corresponds to rotating through + \a angle degrees about the specified 3D \a axis. +*/ +QQuaternion QQuaternion::fromAxisAndAngle(const QVector3D& axis, qreal angle) +{ + // Algorithm from: + // http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q56 + // We normalize the result just in case the values are close + // to zero, as suggested in the above FAQ. + qrealinner s, c; + QVector3D ax = axis.normalized(); + qt_math3d_sincos(angle / 2.0f, &s, &c); + return QQuaternion(c, ax.xp * s, ax.yp * s, ax.zp * s, 1).normalized(); +} + +#endif + +/*! + Creates a normalized quaternion that corresponds to rotating through + \a angle degrees about the 3D axis (\a x, \a y, \a z). +*/ +QQuaternion QQuaternion::fromAxisAndAngle + (qreal x, qreal y, qreal z, qreal angle) +{ + qrealinner xp = x; + qrealinner yp = y; + qrealinner zp = z; + qrealinner s, c; + qreal length = qvtsqrt(xp * xp + yp * yp + zp * zp); + if (!qIsNull(length)) { + xp /= length; + yp /= length; + zp /= length; + } + qt_math3d_sincos(angle / 2.0f, &s, &c); + return QQuaternion(c, xp * s, yp * s, zp * s, 1).normalized(); +} + +/*! + \fn bool operator==(const QQuaternion &q1, const QQuaternion &q2) + \relates QQuaternion + + Returns true if \a q1 is equal to \a q2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn bool operator!=(const QQuaternion &q1, const QQuaternion &q2) + \relates QQuaternion + + Returns true if \a q1 is not equal to \a q2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2) + \relates QQuaternion + + Returns a QQuaternion object that is the sum of the given quaternions, + \a q1 and \a q2; each component is added separately. + + \sa QQuaternion::operator+=() +*/ + +/*! + \fn const QQuaternion operator-(const QQuaternion &q1, const QQuaternion &q2) + \relates QQuaternion + + Returns a QQuaternion object that is formed by subtracting + \a q2 from \a q1; each component is subtracted separately. + + \sa QQuaternion::operator-=() +*/ + +/*! + \fn const QQuaternion operator*(qreal factor, const QQuaternion &quaternion) + \relates QQuaternion + + Returns a copy of the given \a quaternion, multiplied by the + given \a factor. + + \sa QQuaternion::operator*=() +*/ + +/*! + \fn const QQuaternion operator*(const QQuaternion &quaternion, qreal factor) + \relates QQuaternion + + Returns a copy of the given \a quaternion, multiplied by the + given \a factor. + + \sa QQuaternion::operator*=() +*/ + +/*! + \fn const QQuaternion operator*(const QQuaternion &q1, const QQuaternion& q2) + \relates QQuaternion + + Multiplies \a q1 and \a q2 using quaternion multiplication. + The result corresponds to applying both of the rotations specified + by \a q1 and \a q2. + + \sa QQuaternion::operator*=() +*/ + +/*! + \fn const QQuaternion operator-(const QQuaternion &quaternion) + \relates QQuaternion + \overload + + Returns a QQuaternion object that is formed by changing the sign of + all three components of the given \a quaternion. + + Equivalent to \c {QQuaternion(0,0,0,0) - quaternion}. +*/ + +/*! + \fn const QQuaternion operator/(const QQuaternion &quaternion, qreal divisor) + \relates QQuaternion + + Returns the QQuaternion object formed by dividing all components of + the given \a quaternion by the given \a divisor. + + \sa QQuaternion::operator/=() +*/ + +/*! + \fn bool qFuzzyCompare(const QQuaternion& q1, const QQuaternion& q2) + \relates QQuaternion + + Returns true if \a q1 and \a q2 are equal, allowing for a small + fuzziness factor for floating-point comparisons; false otherwise. +*/ + +/*! + Interpolates along the shortest spherical path between the + rotational positions \a q1 and \a q2. The value \a t should + be between 0 and 1, indicating the spherical distance to travel + between \a q1 and \a q2. + + If \a t is less than or equal to 0, then \a q1 will be returned. + If \a t is greater than or equal to 1, then \a q2 will be returned. +*/ +QQuaternion QQuaternion::interpolate + (const QQuaternion& q1, const QQuaternion& q2, qreal t) +{ + // Handle the easy cases first. + if (t <= 0.0f) + return q1; + else if (t >= 1.0f) + return q2; + + // Determine the angle between the two quaternions. + QQuaternion q2b; + qreal dot; + dot = qvtdot64(qvtmul64(q1.xp, q2.xp) + qvtmul64(q1.yp, q2.yp) + + qvtmul64(q1.zp, q2.zp) + qvtmul64(q1.wp, q2.wp)); + if (dot >= 0.0f) { + q2b = q2; + } else { + q2b = -q2; + dot = -dot; + } + + // Get the scale factors. If they are too small, + // then revert to simple linear interpolation. + qreal factor1 = 1.0f - t; + qreal factor2 = t; + if ((1.0f - dot) > 0.0000001) { + qreal angle = qreal(qAcos(dot)); + qreal sinOfAngle = qreal(qSin(angle)); + if (sinOfAngle > 0.0000001) { + factor1 = qreal(qSin((1.0f - t) * angle)) / sinOfAngle; + factor2 = qreal(qSin(t * angle)) / sinOfAngle; + } + } + + // Construct the result quaternion. + return q1 * factor1 + q2b * factor2; +} + +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QQuaternion &q) +{ + dbg.nospace() << "QQuaternion(scalar:" << q.scalar() + << ", vector:(" << q.x() << ", " + << q.y() << ", " << q.z() << "))"; + return dbg.space(); +} + +#endif + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h new file mode 100644 index 0000000..cc71b7d --- /dev/null +++ b/src/gui/math3d/qquaternion.h @@ -0,0 +1,313 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QQUATERNION_H +#define QQUATERNION_H + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +#ifndef QT_NO_QUATERNION + +class QMatrix4x4; + +class Q_GUI_EXPORT QQuaternion +{ +public: + QQuaternion(); + QQuaternion(qreal scalar, qreal xpos, qreal ypos, qreal zpos); + QQuaternion(int scalar, int xpos, int ypos, int zpos); +#ifndef QT_NO_VECTOR3D + QQuaternion(qreal scalar, const QVector3D& vector); +#endif +#ifndef QT_NO_VECTOR4D + explicit QQuaternion(const QVector4D& vector); +#endif + + bool isNull() const; + bool isIdentity() const; + +#ifndef QT_NO_VECTOR3D + QVector3D vector() const; + void setVector(const QVector3D& vector); +#endif + void setVector(qreal x, qreal y, qreal z); + + qreal x() const; + qreal y() const; + qreal z() const; + qreal scalar() const; + + void setX(qreal x); + void setY(qreal y); + void setZ(qreal z); + void setScalar(qreal scalar); + + qreal length() const; + qreal lengthSquared() const; + + QQuaternion normalized() const; + void normalize(); + + QQuaternion conjugate() const; + + QVector3D rotateVector(const QVector3D& vector) const; + + QQuaternion &operator+=(const QQuaternion &quaternion); + QQuaternion &operator-=(const QQuaternion &quaternion); + QQuaternion &operator*=(qreal factor); + QQuaternion &operator*=(const QQuaternion &quaternion); + QQuaternion &operator/=(qreal divisor); + + friend inline bool operator==(const QQuaternion &q1, const QQuaternion &q2); + friend inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2); + friend inline const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2); + friend inline const QQuaternion operator-(const QQuaternion &q1, const QQuaternion &q2); + friend inline const QQuaternion operator*(qreal factor, const QQuaternion &quaternion); + friend inline const QQuaternion operator*(const QQuaternion &quaternion, qreal factor); + friend inline const QQuaternion operator*(const QQuaternion &q1, const QQuaternion& q2); + friend inline const QQuaternion operator-(const QQuaternion &quaternion); + friend inline const QQuaternion operator/(const QQuaternion &quaternion, qreal divisor); + + friend inline bool qFuzzyCompare(const QQuaternion& q1, const QQuaternion& q2); + +#ifndef QT_NO_VECTOR4D + QVector4D toVector4D() const; +#endif + +#ifndef QT_NO_VECTOR3D + static QQuaternion fromAxisAndAngle(const QVector3D& axis, qreal angle); +#endif + static QQuaternion fromAxisAndAngle + (qreal x, qreal y, qreal z, qreal angle); + + static QQuaternion interpolate + (const QQuaternion& q1, const QQuaternion& q2, qreal t); + +private: + qrealinner wp, xp, yp, zp; + + friend class QMatrix4x4; + + QQuaternion(qrealinner scalar, qrealinner xpos, qrealinner ypos, qrealinner zpos, int dummy); +}; + +inline QQuaternion::QQuaternion() : wp(1.0f), xp(0.0f), yp(0.0f), zp(0.0f) {} + +inline QQuaternion::QQuaternion(qreal scalar, qreal xpos, qreal ypos, qreal zpos) : wp(scalar), xp(xpos), yp(ypos), zp(zpos) {} + + +inline QQuaternion::QQuaternion(qrealinner scalar, qrealinner xpos, qrealinner ypos, qrealinner zpos, int) : wp(scalar), xp(xpos), yp(ypos), zp(zpos) {} + +inline QQuaternion::QQuaternion(int scalar, int xpos, int ypos, int zpos) : wp(scalar), xp(xpos), yp(ypos), zp(zpos) {} + +inline bool QQuaternion::isNull() const +{ + return qIsNull(xp) && qIsNull(yp) && qIsNull(zp) && qIsNull(wp); +} + +inline bool QQuaternion::isIdentity() const +{ + return qIsNull(xp) && qIsNull(yp) && qIsNull(zp) && wp == 1.0f; +} + +inline qreal QQuaternion::x() const { return qt_math3d_convert(xp); } +inline qreal QQuaternion::y() const { return qt_math3d_convert(yp); } +inline qreal QQuaternion::z() const { return qt_math3d_convert(zp); } +inline qreal QQuaternion::scalar() const { return qt_math3d_convert(wp); } + +inline void QQuaternion::setX(qreal x) { xp = x; } +inline void QQuaternion::setY(qreal y) { yp = y; } +inline void QQuaternion::setZ(qreal z) { zp = z; } +inline void QQuaternion::setScalar(qreal scalar) { wp = scalar; } + +inline QQuaternion QQuaternion::conjugate() const +{ + return QQuaternion(wp, -xp, -yp, -zp, 1); +} + +inline QQuaternion &QQuaternion::operator+=(const QQuaternion &quaternion) +{ + xp += quaternion.xp; + yp += quaternion.yp; + zp += quaternion.zp; + wp += quaternion.wp; + return *this; +} + +inline QQuaternion &QQuaternion::operator-=(const QQuaternion &quaternion) +{ + xp -= quaternion.xp; + yp -= quaternion.yp; + zp -= quaternion.zp; + wp -= quaternion.wp; + return *this; +} + +inline QQuaternion &QQuaternion::operator*=(qreal factor) +{ + qrealinner f(factor); + xp *= f; + yp *= f; + zp *= f; + wp *= f; + return *this; +} + +inline const QQuaternion operator*(const QQuaternion &q1, const QQuaternion& q2) +{ + // Algorithm from: + // http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q53 + qrealinner x = q1.wp * q2.xp + + q1.xp * q2.wp + + q1.yp * q2.zp - + q1.zp * q2.yp; + qrealinner y = q1.wp * q2.yp + + q1.yp * q2.wp + + q1.zp * q2.xp - + q1.xp * q2.zp; + qrealinner z = q1.wp * q2.zp + + q1.zp * q2.wp + + q1.xp * q2.yp - + q1.yp * q2.xp; + qrealinner w = q1.wp * q2.wp - + q1.xp * q2.xp - + q1.yp * q2.yp - + q1.zp * q2.zp; + return QQuaternion(w, x, y, z, 1); +} + +inline QQuaternion &QQuaternion::operator*=(const QQuaternion &quaternion) +{ + *this = *this * quaternion; + return *this; +} + +inline QQuaternion &QQuaternion::operator/=(qreal divisor) +{ + qrealinner d(divisor); + xp /= d; + yp /= d; + zp /= d; + wp /= d; + return *this; +} + +inline bool operator==(const QQuaternion &q1, const QQuaternion &q2) +{ + return q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp && q1.wp == q2.wp; +} + +inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2) +{ + return q1.xp != q2.xp || q1.yp != q2.yp || q1.zp != q2.zp || q1.wp != q2.wp; +} + +inline const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2) +{ + return QQuaternion(q1.wp + q2.wp, q1.xp + q2.xp, q1.yp + q2.yp, q1.zp + q2.zp, 1); +} + +inline const QQuaternion operator-(const QQuaternion &q1, const QQuaternion &q2) +{ + return QQuaternion(q1.wp - q2.wp, q1.xp - q2.xp, q1.yp - q2.yp, q1.zp - q2.zp, 1); +} + +inline const QQuaternion operator*(qreal factor, const QQuaternion &quaternion) +{ + qrealinner f(factor); + return QQuaternion(quaternion.wp * f, quaternion.xp * f, quaternion.yp * f, quaternion.zp * f, 1); +} + +inline const QQuaternion operator*(const QQuaternion &quaternion, qreal factor) +{ + qrealinner f(factor); + return QQuaternion(quaternion.wp * f, quaternion.xp * f, quaternion.yp * f, quaternion.zp * f, 1); +} + +inline const QQuaternion operator-(const QQuaternion &quaternion) +{ + return QQuaternion(-quaternion.wp, -quaternion.xp, -quaternion.yp, -quaternion.zp, 1); +} + +inline const QQuaternion operator/(const QQuaternion &quaternion, qreal divisor) +{ + qrealinner d(divisor); + return QQuaternion(quaternion.wp / d, quaternion.xp / d, quaternion.yp / d, quaternion.zp / d, 1); +} + +inline bool qFuzzyCompare(const QQuaternion& q1, const QQuaternion& q2) +{ + return qFuzzyCompare(q1.xp, q2.xp) && + qFuzzyCompare(q1.yp, q2.yp) && + qFuzzyCompare(q1.zp, q2.zp) && + qFuzzyCompare(q1.wp, q2.wp); +} + +#ifndef QT_NO_VECTOR3D + +inline QQuaternion::QQuaternion(qreal scalar, const QVector3D& vector) + : wp(scalar), xp(vector.xp), yp(vector.yp), zp(vector.zp) {} + +inline void QQuaternion::setVector(const QVector3D& vector) +{ + xp = vector.xp; + yp = vector.yp; + zp = vector.zp; +} + +inline QVector3D QQuaternion::vector() const +{ + return QVector3D(xp, yp, zp, 1); +} + +#endif + +inline void QQuaternion::setVector(qreal x, qreal y, qreal z) +{ + xp = x; + yp = y; + zp = z; +} + +#ifndef QT_NO_VECTOR4D + +inline QQuaternion::QQuaternion(const QVector4D& vector) + : wp(vector.wp), xp(vector.xp), yp(vector.yp), zp(vector.zp) {} + +inline QVector4D QQuaternion::toVector4D() const +{ + return QVector4D(xp, yp, zp, wp, 1); +} + +#endif + +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QQuaternion &q); +#endif + +#endif + +QT_END_NAMESPACE + +#ifndef QT_NO_QUATERNION +Q_DECLARE_METATYPE(QQuaternion) +#endif + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qvector2d.cpp b/src/gui/math3d/qvector2d.cpp new file mode 100644 index 0000000..13d6cc9 --- /dev/null +++ b/src/gui/math3d/qvector2d.cpp @@ -0,0 +1,386 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qvector2d.h" +#include "qvector3d.h" +#include "qvector4d.h" +#include "qmath3dutil_p.h" + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_VECTOR2D + +/*! + \class QVector2D + \brief The QVector2D class represents a vector or vertex in 2D space. + \since 4.6 + + The QVector2D class can also be used to represent vertices in 2D space. + We therefore do not need to provide a separate vertex class. + + The coordinates are stored internally using the most efficient + representation for the GL rendering engine, which will be either + floating-point or fixed-point. +*/ + +/*! + \fn QVector2D::QVector2D() + + Constructs a null vector, i.e. with coordinates (0, 0, 0). +*/ + +/*! + \fn QVector2D::QVector2D(qreal xpos, qreal ypos) + + Constructs a vector with coordinates (\a xpos, \a ypos). +*/ + +/*! + \fn QVector2D::QVector2D(int xpos, int ypos) + + Constructs a vector with coordinates (\a xpos, \a ypos). +*/ + +/*! + \fn QVector2D::QVector2D(const QPoint& point) + + Constructs a vector with x and y coordinates from a 2D \a point. +*/ + +/*! + \fn QVector2D::QVector2D(const QPointF& point) + + Constructs a vector with x and y coordinates from a 2D \a point. +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + Constructs a vector with x and y coordinates from a 3D \a vector. + The z coordinate of \a vector is dropped. + + \sa toVector3D() +*/ +QVector2D::QVector2D(const QVector3D& vector) +{ + xp = vector.xp; + yp = vector.yp; +} + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + Constructs a vector with x and y coordinates from a 3D \a vector. + The z and w coordinates of \a vector are dropped. + + \sa toVector4D() +*/ +QVector2D::QVector2D(const QVector4D& vector) +{ + xp = vector.xp; + yp = vector.yp; +} + +#endif + +/*! + \fn bool QVector2D::isNull() const + + Returns true if the x and y coordinates are set to 0.0, + otherwise returns false. +*/ + +/*! + \fn qreal QVector2D::x() const + + Returns the x coordinate of this point. + + \sa setX(), y() +*/ + +/*! + \fn qreal QVector2D::y() const + + Returns the y coordinate of this point. + + \sa setY(), x() +*/ + +/*! + \fn void QVector2D::setX(qreal x) + + Sets the x coordinate of this point to the given \a x coordinate. + + \sa x(), setY() +*/ + +/*! + \fn void QVector2D::setY(qreal y) + + Sets the y coordinate of this point to the given \a y coordinate. + + \sa y(), setX() +*/ + +/*! + Returns the length of the vector from the origin. + + \sa lengthSquared(), normalized() +*/ +qreal QVector2D::length() const +{ + return qvtsqrt64(qvtmul64(xp, xp) + qvtmul64(yp, yp)); +} + +/*! + Returns the squared length of the vector from the origin. + This is equivalent to the dot product of the vector with itself. + + \sa length(), dotProduct() +*/ +qreal QVector2D::lengthSquared() const +{ + return qvtdot64(qvtmul64(xp, xp) + qvtmul64(yp, yp)); +} + +/*! + Returns the normalized unit vector form of this vector. If this vector + is not null, the returned vector is guaranteed to be 1.0 in length. + If this vector is null, then a null vector is returned. + + \sa length(), normalize() +*/ +QVector2D QVector2D::normalized() const +{ + qreal len = length(); + if (!qIsNull(len)) + return *this / len; + else + return QVector2D(); +} + +/*! + Normalizes the currect vector in place. Nothing happens if this + vector is a null vector. + + \sa length(), normalized() +*/ +void QVector2D::normalize() +{ + qreal len = length(); + if (qIsNull(len)) + return; + + xp /= len; + yp /= len; +} + +/*! + \fn QVector2D &QVector2D::operator+=(const QVector2D &vector) + + Adds the given \a vector to this vector and returns a reference to + this vector. + + \sa operator-=() +*/ + +/*! + \fn QVector2D &QVector2D::operator-=(const QVector2D &vector) + + Subtracts the given \a vector from this vector and returns a reference to + this vector. + + \sa operator+=() +*/ + +/*! + \fn QVector2D &QVector2D::operator*=(qreal factor) + + Multiplies this vector's coordinates by the given \a factor, and + returns a reference to this vector. + + \sa operator/=() +*/ + +/*! + \fn QVector2D &QVector2D::operator*=(const QVector2D &vector) + + Multiplies the components of this vector by the corresponding + components in \a vector. +*/ + +/*! + \fn QVector2D &QVector2D::operator/=(qreal divisor) + + Divides this vector's coordinates by the given \a divisor, and + returns a reference to this vector. + + \sa operator*=() +*/ + +/*! + Returns the dot product of \a v1 and \a v2. +*/ +qreal QVector2D::dotProduct(const QVector2D& v1, const QVector2D& v2) +{ + return qvtdot64(qvtmul64(v1.xp, v2.xp) + qvtmul64(v1.yp, v2.yp)); +} + +/*! + \fn bool operator==(const QVector2D &v1, const QVector2D &v2) + \relates QVector2D + + Returns true if \a v1 is equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn bool operator!=(const QVector2D &v1, const QVector2D &v2) + \relates QVector2D + + Returns true if \a v1 is not equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn const QVector2D operator+(const QVector2D &v1, const QVector2D &v2) + \relates QVector2D + + Returns a QVector2D object that is the sum of the given vectors, \a v1 + and \a v2; each component is added separately. + + \sa QVector2D::operator+=() +*/ + +/*! + \fn const QVector2D operator-(const QVector2D &v1, const QVector2D &v2) + \relates QVector2D + + Returns a QVector2D object that is formed by subtracting \a v2 from \a v1; + each component is subtracted separately. + + \sa QVector2D::operator-=() +*/ + +/*! + \fn const QVector2D operator*(qreal factor, const QVector2D &vector) + \relates QVector2D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector2D::operator*=() +*/ + +/*! + \fn const QVector2D operator*(const QVector2D &vector, qreal factor) + \relates QVector2D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector2D::operator*=() +*/ + +/*! + \fn const QVector2D operator*(const QVector2D &v1, const QVector2D &v2) + \relates QVector2D + + Multiplies the components of \a v1 by the corresponding + components in \a v2. +*/ + +/*! + \fn const QVector2D operator-(const QVector2D &vector) + \relates QVector2D + \overload + + Returns a QVector2D object that is formed by changing the sign of + the components of the given \a vector. + + Equivalent to \c {QVector2D(0,0) - vector}. +*/ + +/*! + \fn const QVector2D operator/(const QVector2D &vector, qreal divisor) + \relates QVector2D + + Returns the QVector2D object formed by dividing all three components of + the given \a vector by the given \a divisor. + + \sa QVector2D::operator/=() +*/ + +/*! + \fn bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2) + \relates QVector2D + + Returns true if \a v1 and \a v2 are equal, allowing for a small + fuzziness factor for floating-point comparisons; false otherwise. +*/ + +#ifndef QT_NO_VECTOR3D + +/*! + Returns the 3D form of this 2D vector, with the z coordinate set to zero. + + \sa toVector4D(), toPoint() +*/ +QVector3D QVector2D::toVector3D() const +{ + return QVector3D(xp, yp, 0.0f, 1); +} + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + Returns the 4D form of this 2D vector, with the z and w coordinates set to zero. + + \sa toVector3D(), toPoint() +*/ +QVector4D QVector2D::toVector4D() const +{ + return QVector4D(xp, yp, 0.0f, 0.0f, 1); +} + +#endif + +/*! + \fn QPoint QVector2D::toPoint() const + + Returns the QPoint form of this 2D vector. + + \sa toPointF(), toVector3D() +*/ + +/*! + \fn QPointF QVector2D::toPointF() const + + Returns the QPointF form of this 2D vector. + + \sa toPoint(), toVector3D() +*/ + +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QVector2D &vector) +{ + dbg.nospace() << "QVector2D(" << vector.x() << ", " << vector.y() << ')'; + return dbg.space(); +} + +#endif + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qvector2d.h b/src/gui/math3d/qvector2d.h new file mode 100644 index 0000000..55452b0 --- /dev/null +++ b/src/gui/math3d/qvector2d.h @@ -0,0 +1,237 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QVECTOR2D_H +#define QVECTOR2D_H + +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QVector3D; +class QVector4D; + +#ifndef QT_NO_VECTOR2D + +class Q_GUI_EXPORT QVector2D +{ +public: + QVector2D(); + QVector2D(qreal xpos, qreal ypos); + QVector2D(int xpos, int ypos); + explicit QVector2D(const QPoint& point); + explicit QVector2D(const QPointF& point); +#ifndef QT_NO_VECTOR3D + explicit QVector2D(const QVector3D& vector); +#endif +#ifndef QT_NO_VECTOR4D + explicit QVector2D(const QVector4D& vector); +#endif + + bool isNull() const; + + qreal x() const; + qreal y() const; + + void setX(qreal x); + void setY(qreal y); + + qreal length() const; + qreal lengthSquared() const; + + QVector2D normalized() const; + void normalize(); + + QVector2D &operator+=(const QVector2D &vector); + QVector2D &operator-=(const QVector2D &vector); + QVector2D &operator*=(qreal factor); + QVector2D &operator*=(const QVector2D &vector); + QVector2D &operator/=(qreal divisor); + + static qreal dotProduct(const QVector2D& v1, const QVector2D& v2); + + friend inline bool operator==(const QVector2D &v1, const QVector2D &v2); + friend inline bool operator!=(const QVector2D &v1, const QVector2D &v2); + friend inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2); + friend inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2); + friend inline const QVector2D operator*(qreal factor, const QVector2D &vector); + friend inline const QVector2D operator*(const QVector2D &vector, qreal factor); + friend inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2); + friend inline const QVector2D operator-(const QVector2D &vector); + friend inline const QVector2D operator/(const QVector2D &vector, qreal divisor); + + friend inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2); + +#ifndef QT_NO_VECTOR3D + QVector3D toVector3D() const; +#endif +#ifndef QT_NO_VECTOR4D + QVector4D toVector4D() const; +#endif + + QPoint toPoint() const; + QPointF toPointF() const; + +private: + qrealinner xp, yp; + + QVector2D(qrealinner xpos, qrealinner ypos, int dummy); + + friend class QVector3D; + friend class QVector4D; + friend class QVertexArray; +}; + +inline QVector2D::QVector2D() : xp(0.0f), yp(0.0f) {} + +inline QVector2D::QVector2D(qrealinner xpos, qrealinner ypos, int) : xp(xpos), yp(ypos) {} + +inline QVector2D::QVector2D(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) {} + +inline QVector2D::QVector2D(int xpos, int ypos) : xp(xpos), yp(ypos) {} + +inline QVector2D::QVector2D(const QPoint& point) : xp(point.x()), yp(point.y()) {} + +inline QVector2D::QVector2D(const QPointF& point) : xp(point.x()), yp(point.y()) {} + +inline bool QVector2D::isNull() const +{ + return qIsNull(xp) && qIsNull(yp); +} + +inline qreal QVector2D::x() const { return qt_math3d_convert(xp); } +inline qreal QVector2D::y() const { return qt_math3d_convert(yp); } + +inline void QVector2D::setX(qreal x) { xp = x; } +inline void QVector2D::setY(qreal y) { yp = y; } + +inline QVector2D &QVector2D::operator+=(const QVector2D &vector) +{ + xp += vector.xp; + yp += vector.yp; + return *this; +} + +inline QVector2D &QVector2D::operator-=(const QVector2D &vector) +{ + xp -= vector.xp; + yp -= vector.yp; + return *this; +} + +inline QVector2D &QVector2D::operator*=(qreal factor) +{ + qrealinner f(factor); + xp *= f; + yp *= f; + return *this; +} + +inline QVector2D &QVector2D::operator*=(const QVector2D &vector) +{ + xp *= vector.xp; + yp *= vector.yp; + return *this; +} + +inline QVector2D &QVector2D::operator/=(qreal divisor) +{ + qrealinner d(divisor); + xp /= d; + yp /= d; + return *this; +} + +inline bool operator==(const QVector2D &v1, const QVector2D &v2) +{ + return v1.xp == v2.xp && v1.yp == v2.yp; +} + +inline bool operator!=(const QVector2D &v1, const QVector2D &v2) +{ + return v1.xp != v2.xp || v1.yp != v2.yp; +} + +inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2) +{ + return QVector2D(v1.xp + v2.xp, v1.yp + v2.yp, 1); +} + +inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2) +{ + return QVector2D(v1.xp - v2.xp, v1.yp - v2.yp, 1); +} + +inline const QVector2D operator*(qreal factor, const QVector2D &vector) +{ + qrealinner f(factor); + return QVector2D(vector.xp * f, vector.yp * f, 1); +} + +inline const QVector2D operator*(const QVector2D &vector, qreal factor) +{ + qrealinner f(factor); + return QVector2D(vector.xp * f, vector.yp * f, 1); +} + +inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2) +{ + return QVector2D(v1.xp * v2.xp, v1.yp * v2.yp, 1); +} + +inline const QVector2D operator-(const QVector2D &vector) +{ + return QVector2D(-vector.xp, -vector.yp, 1); +} + +inline const QVector2D operator/(const QVector2D &vector, qreal divisor) +{ + qrealinner d(divisor); + return QVector2D(vector.xp / d, vector.yp / d, 1); +} + +inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2) +{ + return qFuzzyCompare(v1.xp, v2.xp) && qFuzzyCompare(v1.yp, v2.yp); +} + +inline QPoint QVector2D::toPoint() const +{ + return QPoint(qRound(xp), qRound(yp)); +} + +inline QPointF QVector2D::toPointF() const +{ + return QPointF(qt_math3d_convert(xp), + qt_math3d_convert(yp)); +} + +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector2D &vector); +#endif + +#endif + +QT_END_NAMESPACE + +#ifndef QT_NO_VECTOR2D +Q_DECLARE_METATYPE(QVector2D) +#endif + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qvector3d.cpp b/src/gui/math3d/qvector3d.cpp new file mode 100644 index 0000000..f0b3aeb --- /dev/null +++ b/src/gui/math3d/qvector3d.cpp @@ -0,0 +1,535 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qvector3d.h" +#include "qvector2d.h" +#include "qvector4d.h" +#include "qmath3dutil_p.h" +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_VECTOR3D + +/*! + \class QVector3D + \brief The QVector3D class represents a vector or vertex in 3D space. + \since 4.6 + + Vectors are one of the main building blocks of 3D representation and + drawing. They consist of three coordinates, traditionally called + x, y, and z. + + The QVector3D class can also be used to represent vertices in 3D space. + We therefore do not need to provide a separate vertex class. + + The coordinates are stored internally using the most efficient + representation for the GL rendering engine, which will be either + floating-point or fixed-point. +*/ + +/*! + \fn QVector3D::QVector3D() + + Constructs a null vector, i.e. with coordinates (0, 0, 0). +*/ + +/*! + \fn QVector3D::QVector3D(qreal xpos, qreal ypos, qreal zpos) + + Constructs a vector with coordinates (\a xpos, \a ypos, \a zpos). +*/ + +/*! + \fn QVector3D::QVector3D(int xpos, int ypos, int zpos) + + Constructs a vector with coordinates (\a xpos, \a ypos, \a zpos). +*/ + +/*! + \fn QVector3D::QVector3D(const QPoint& point) + + Constructs a vector with x and y coordinates from a 2D \a point, and a + z coordinate of 0. +*/ + +/*! + \fn QVector3D::QVector3D(const QPointF& point) + + Constructs a vector with x and y coordinates from a 2D \a point, and a + z coordinate of 0. +*/ + +#ifndef QT_NO_VECTOR2D + +/*! + Constructs a 3D vector from the specified 2D \a vector. The z + coordinate is set to zero. + + \sa toVector2D() +*/ +QVector3D::QVector3D(const QVector2D& vector) +{ + xp = vector.xp; + yp = vector.yp; + zp = 0.0f; +} + +/*! + Constructs a 3D vector from the specified 2D \a vector. The z + coordinate is set to \a zpos. + + \sa toVector2D() +*/ +QVector3D::QVector3D(const QVector2D& vector, qreal zpos) +{ + xp = vector.xp; + yp = vector.yp; + zp = zpos; +} + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + Constructs a 3D vector from the specified 4D \a vector. The w + coordinate is dropped. + + \sa toVector4D() +*/ +QVector3D::QVector3D(const QVector4D& vector) +{ + xp = vector.xp; + yp = vector.yp; + zp = vector.zp; +} + +#endif + +/*! + \fn bool QVector3D::isNull() const + + Returns true if the x, y, and z coordinates are set to 0.0, + otherwise returns false. +*/ + +/*! + \fn qreal QVector3D::x() const + + Returns the x coordinate of this point. + + \sa setX(), y(), z() +*/ + +/*! + \fn qreal QVector3D::y() const + + Returns the y coordinate of this point. + + \sa setY(), x(), z() +*/ + +/*! + \fn qreal QVector3D::z() const + + Returns the z coordinate of this point. + + \sa setZ(), x(), y() +*/ + +/*! + \fn void QVector3D::setX(qreal x) + + Sets the x coordinate of this point to the given \a x coordinate. + + \sa x(), setY(), setZ() +*/ + +/*! + \fn void QVector3D::setY(qreal y) + + Sets the y coordinate of this point to the given \a y coordinate. + + \sa y(), setX(), setZ() +*/ + +/*! + \fn void QVector3D::setZ(qreal z) + + Sets the z coordinate of this point to the given \a z coordinate. + + \sa z(), setX(), setY() +*/ + +/*! + Returns the normalized unit vector form of this vector. If this vector + is not null, the returned vector is guaranteed to be 1.0 in length. + If this vector is null, then a null vector is returned. + + \sa length(), normalize() +*/ +QVector3D QVector3D::normalized() const +{ + qreal len = length(); + if (!qIsNull(len)) + return *this / len; + else + return QVector3D(); +} + +/*! + Normalizes the currect vector in place. Nothing happens if this + vector is a null vector. + + \sa length(), normalized() +*/ +void QVector3D::normalize() +{ + qreal len = length(); + if (qIsNull(len)) + return; + + xp /= len; + yp /= len; + zp /= len; +} + +/*! + \fn QVector3D &QVector3D::operator+=(const QVector3D &vector) + + Adds the given \a vector to this vector and returns a reference to + this vector. + + \sa operator-=() +*/ + +/*! + \fn QVector3D &QVector3D::operator-=(const QVector3D &vector) + + Subtracts the given \a vector from this vector and returns a reference to + this vector. + + \sa operator+=() +*/ + +/*! + \fn QVector3D &QVector3D::operator*=(qreal factor) + + Multiplies this vector's coordinates by the given \a factor, and + returns a reference to this vector. + + \sa operator/=() +*/ + +/*! + \fn QVector3D &QVector3D::operator*=(const QVector3D& vector) + \overload + + Multiplies the components of this vector by the corresponding + components in \a vector. + + Note: this is not the same as the crossProduct() of this + vector and \a vector. + + \sa crossProduct() +*/ + +/*! + \fn QVector3D &QVector3D::operator/=(qreal divisor) + + Divides this vector's coordinates by the given \a divisor, and + returns a reference to this vector. + + \sa operator*=() +*/ + +/*! + Returns the dot product of \a v1 and \a v2. +*/ +qreal QVector3D::dotProduct(const QVector3D& v1, const QVector3D& v2) +{ + return qvtdot64(qvtmul64(v1.xp, v2.xp) + qvtmul64(v1.yp, v2.yp) + qvtmul64(v1.zp, v2.zp)); +} + +/*! + Returns the cross-product of vectors \a v1 and \a v2, which corresponds + to the normal vector of a plane defined by \a v1 and \a v2. + + \sa normal() +*/ +QVector3D QVector3D::crossProduct(const QVector3D& v1, const QVector3D& v2) +{ + return QVector3D(v1.yp * v2.zp - v1.zp * v2.yp, + v1.zp * v2.xp - v1.xp * v2.zp, + v1.xp * v2.yp - v1.yp * v2.xp, 1); +} + +/*! + Returns the normal vector of a plane defined by vectors \a v1 and \a v2, + normalized to be a unit vector. + + Use crossProduct() to compute the cross-product of \a v1 and \a v2 if you + do not need the result to be normalized to a unit vector. + + \sa crossProduct(), distanceToPlane() +*/ +QVector3D QVector3D::normal(const QVector3D& v1, const QVector3D& v2) +{ + return crossProduct(v1, v2).normalized(); +} + +/*! + \overload + + Returns the normal vector of a plane defined by vectors + \a v2 - \a v1 and \a v3 - \a v1, normalized to be a unit vector. + + Use crossProduct() to compute the cross-product of \a v2 - \a v1 and + \a v3 - \a v1 if you do not need the result to be normalized to a + unit vector. + + \sa crossProduct(), distanceToPlane() +*/ +QVector3D QVector3D::normal + (const QVector3D& v1, const QVector3D& v2, const QVector3D& v3) +{ + return crossProduct((v2 - v1), (v3 - v1)).normalized(); +} + +/*! + Returns the distance from this vertex to a plane defined by + the vertex \a plane and a \a normal unit vector. The \a normal + parameter is assumed to have been normalized to a unit vector. + + The return value will be negative if the vertex is below the plane, + or zero if it is on the plane. + + \sa normal(), distanceToLine() +*/ +qreal QVector3D::distanceToPlane + (const QVector3D& plane, const QVector3D& normal) const +{ + return dotProduct(*this - plane, normal); +} + +/*! + \overload + + Returns the distance from this vertex a plane defined by + the vertices \a plane1, \a plane2 and \a plane3. + + The return value will be negative if the vertex is below the plane, + or zero if it is on the plane. + + The two vectors that define the plane are \a plane2 - \a plane1 + and \a plane3 - \a plane1. + + \sa normal(), distanceToLine() +*/ +qreal QVector3D::distanceToPlane + (const QVector3D& plane1, const QVector3D& plane2, const QVector3D& plane3) const +{ + QVector3D n = normal(plane2 - plane1, plane3 - plane1); + return dotProduct(*this - plane1, n); +} + +/*! + Returns the distance that this vertex is from a line defined + by \a point and the unit vector \a direction. + + If \a direction is a null vector, then it does not define a line. + In that case, the distance from \a point to this vertex is returned. + + \sa distanceToPlane() +*/ +qreal QVector3D::distanceToLine + (const QVector3D& point, const QVector3D& direction) const +{ + if (direction.isNull()) + return (*this - point).length(); + QVector3D p = point + dotProduct(*this - point, direction) * direction; + return (*this - p).length(); +} + +/*! + \fn bool operator==(const QVector3D &v1, const QVector3D &v2) + \relates QVector3D + + Returns true if \a v1 is equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn bool operator!=(const QVector3D &v1, const QVector3D &v2) + \relates QVector3D + + Returns true if \a v1 is not equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn const QVector3D operator+(const QVector3D &v1, const QVector3D &v2) + \relates QVector3D + + Returns a QVector3D object that is the sum of the given vectors, \a v1 + and \a v2; each component is added separately. + + \sa QVector3D::operator+=() +*/ + +/*! + \fn const QVector3D operator-(const QVector3D &v1, const QVector3D &v2) + \relates QVector3D + + Returns a QVector3D object that is formed by subtracting \a v2 from \a v1; + each component is subtracted separately. + + \sa QVector3D::operator-=() +*/ + +/*! + \fn const QVector3D operator*(qreal factor, const QVector3D &vector) + \relates QVector3D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector3D::operator*=() +*/ + +/*! + \fn const QVector3D operator*(const QVector3D &vector, qreal factor) + \relates QVector3D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector3D::operator*=() +*/ + +/*! + \fn const QVector3D operator*(const QVector3D &v1, const QVector3D& v2) + \relates QVector3D + + Multiplies the components of \a v1 by the corresponding components in \a v2. + + Note: this is not the same as the crossProduct() of \a v1 and \a v2. + + \sa QVector3D::crossProduct() +*/ + +/*! + \fn const QVector3D operator-(const QVector3D &vector) + \relates QVector3D + \overload + + Returns a QVector3D object that is formed by changing the sign of + all three components of the given \a vector. + + Equivalent to \c {QVector3D(0,0,0) - vector}. +*/ + +/*! + \fn const QVector3D operator/(const QVector3D &vector, qreal divisor) + \relates QVector3D + + Returns the QVector3D object formed by dividing all three components of + the given \a vector by the given \a divisor. + + \sa QVector3D::operator/=() +*/ + +/*! + \fn bool qFuzzyCompare(const QVector3D& v1, const QVector3D& v2) + \relates QVector3D + + Returns true if \a v1 and \a v2 are equal, allowing for a small + fuzziness factor for floating-point comparisons; false otherwise. +*/ + +#ifndef QT_NO_VECTOR2D + +/*! + Returns the 2D vector form of this 3D vector, dropping the z coordinate. + + \sa toVector4D(), toPoint() +*/ +QVector2D QVector3D::toVector2D() const +{ + return QVector2D(xp, yp, 1); +} + +#endif + +#ifndef QT_NO_VECTOR4D + +/*! + Returns the 4D form of this 3D vector, with the w coordinate set to zero. + + \sa toVector2D(), toPoint() +*/ +QVector4D QVector3D::toVector4D() const +{ + return QVector4D(xp, yp, zp, 0.0f, 1); +} + +#endif + +/*! + \fn QPoint QVector3D::toPoint() const + + Returns the QPoint form of this 3D vector. + + \sa toPointF(), toVector2D() +*/ + +/*! + \fn QPointF QVector3D::toPointF() const + + Returns the QPointF form of this 3D vector. + + \sa toPoint(), toVector2D() +*/ + +/*! + Returns the length of the vector from the origin. + + \sa lengthSquared(), normalized() +*/ +qreal QVector3D::length() const +{ + return qvtsqrt64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + qvtmul64(zp, zp)); +} + +/*! + Returns the squared length of the vector from the origin. + This is equivalent to the dot product of the vector with itself. + + \sa length(), dotProduct() +*/ +qreal QVector3D::lengthSquared() const +{ + return qvtdot64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + qvtmul64(zp, zp)); +} + +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QVector3D &vector) +{ + dbg.nospace() << "QVector3D(" + << vector.x() << ", " << vector.y() << ", " << vector.z() << ')'; + return dbg.space(); +} + +#endif + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h new file mode 100644 index 0000000..dd1d014 --- /dev/null +++ b/src/gui/math3d/qvector3d.h @@ -0,0 +1,266 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QVECTOR3D_H +#define QVECTOR3D_H + +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QMatrix4x4; +class QVector2D; +class QVector4D; +class QQuaternion; + +#ifndef QT_NO_VECTOR3D + +class Q_GUI_EXPORT QVector3D +{ +public: + QVector3D(); + QVector3D(qreal xpos, qreal ypos, qreal zpos); + QVector3D(int xpos, int ypos, int zpos); + explicit QVector3D(const QPoint& point); + explicit QVector3D(const QPointF& point); +#ifndef QT_NO_VECTOR2D + QVector3D(const QVector2D& vector); + QVector3D(const QVector2D& vector, qreal zpos); +#endif +#ifndef QT_NO_VECTOR4D + explicit QVector3D(const QVector4D& vector); +#endif + + bool isNull() const; + + qreal x() const; + qreal y() const; + qreal z() const; + + void setX(qreal x); + void setY(qreal y); + void setZ(qreal z); + + qreal length() const; + qreal lengthSquared() const; + + QVector3D normalized() const; + void normalize(); + + QVector3D &operator+=(const QVector3D &vector); + QVector3D &operator-=(const QVector3D &vector); + QVector3D &operator*=(qreal factor); + QVector3D &operator*=(const QVector3D& vector); + QVector3D &operator/=(qreal divisor); + + static qreal dotProduct(const QVector3D& v1, const QVector3D& v2); + static QVector3D crossProduct(const QVector3D& v1, const QVector3D& v2); + static QVector3D normal(const QVector3D& v1, const QVector3D& v2); + static QVector3D normal + (const QVector3D& v1, const QVector3D& v2, const QVector3D& v3); + + qreal distanceToPlane(const QVector3D& plane, const QVector3D& normal) const; + qreal distanceToPlane(const QVector3D& plane1, const QVector3D& plane2, const QVector3D& plane3) const; + qreal distanceToLine(const QVector3D& point, const QVector3D& direction) const; + + friend inline bool operator==(const QVector3D &v1, const QVector3D &v2); + friend inline bool operator!=(const QVector3D &v1, const QVector3D &v2); + friend inline const QVector3D operator+(const QVector3D &v1, const QVector3D &v2); + friend inline const QVector3D operator-(const QVector3D &v1, const QVector3D &v2); + friend inline const QVector3D operator*(qreal factor, const QVector3D &vector); + friend inline const QVector3D operator*(const QVector3D &vector, qreal factor); + friend const QVector3D operator*(const QVector3D &v1, const QVector3D& v2); + friend inline const QVector3D operator-(const QVector3D &vector); + friend inline const QVector3D operator/(const QVector3D &vector, qreal divisor); + + friend inline bool qFuzzyCompare(const QVector3D& v1, const QVector3D& v2); + +#ifndef QT_NO_VECTOR2D + QVector2D toVector2D() const; +#endif +#ifndef QT_NO_VECTOR4D + QVector4D toVector4D() const; +#endif + + QPoint toPoint() const; + QPointF toPointF() const; + +private: + qrealinner xp, yp, zp; + + QVector3D(qrealinner xpos, qrealinner ypos, qrealinner zpos, int dummy); + + friend class QVector2D; + friend class QVector4D; + friend class QQuaternion; + friend class QMatrix4x4; + friend class QVertexArray; + friend class QGLPainter; +#ifndef QT_NO_MATRIX4X4 + friend QVector3D operator*(const QVector3D& vector, const QMatrix4x4& matrix); + friend QVector3D operator*(const QMatrix4x4& matrix, const QVector3D& vector); +#endif +}; + +inline QVector3D::QVector3D() : xp(0.0f), yp(0.0f), zp(0.0f) {} + +inline QVector3D::QVector3D(qreal xpos, qreal ypos, qreal zpos) : xp(xpos), yp(ypos), zp(zpos) {} + +inline QVector3D::QVector3D(qrealinner xpos, qrealinner ypos, qrealinner zpos, int) : xp(xpos), yp(ypos), zp(zpos) {} + +inline QVector3D::QVector3D(int xpos, int ypos, int zpos) : xp(xpos), yp(ypos), zp(zpos) {} + +inline QVector3D::QVector3D(const QPoint& point) : xp(point.x()), yp(point.y()), zp(0.0f) {} + +inline QVector3D::QVector3D(const QPointF& point) : xp(point.x()), yp(point.y()), zp(0.0f) {} + +inline bool QVector3D::isNull() const +{ + return qIsNull(xp) && qIsNull(yp) && qIsNull(zp); +} + +inline qreal QVector3D::x() const { return qt_math3d_convert(xp); } +inline qreal QVector3D::y() const { return qt_math3d_convert(yp); } +inline qreal QVector3D::z() const { return qt_math3d_convert(zp); } + +inline void QVector3D::setX(qreal x) { xp = x; } +inline void QVector3D::setY(qreal y) { yp = y; } +inline void QVector3D::setZ(qreal z) { zp = z; } + +inline QVector3D &QVector3D::operator+=(const QVector3D &vector) +{ + xp += vector.xp; + yp += vector.yp; + zp += vector.zp; + return *this; +} + +inline QVector3D &QVector3D::operator-=(const QVector3D &vector) +{ + xp -= vector.xp; + yp -= vector.yp; + zp -= vector.zp; + return *this; +} + +inline QVector3D &QVector3D::operator*=(qreal factor) +{ + qrealinner f(factor); + xp *= f; + yp *= f; + zp *= f; + return *this; +} + +inline QVector3D &QVector3D::operator*=(const QVector3D& vector) +{ + xp *= vector.xp; + yp *= vector.yp; + zp *= vector.zp; + return *this; +} + +inline QVector3D &QVector3D::operator/=(qreal divisor) +{ + qrealinner d(divisor); + xp /= d; + yp /= d; + zp /= d; + return *this; +} + +inline bool operator==(const QVector3D &v1, const QVector3D &v2) +{ + return v1.xp == v2.xp && v1.yp == v2.yp && v1.zp == v2.zp; +} + +inline bool operator!=(const QVector3D &v1, const QVector3D &v2) +{ + return v1.xp != v2.xp || v1.yp != v2.yp || v1.zp != v2.zp; +} + +inline const QVector3D operator+(const QVector3D &v1, const QVector3D &v2) +{ + return QVector3D(v1.xp + v2.xp, v1.yp + v2.yp, v1.zp + v2.zp, 1); +} + +inline const QVector3D operator-(const QVector3D &v1, const QVector3D &v2) +{ + return QVector3D(v1.xp - v2.xp, v1.yp - v2.yp, v1.zp - v2.zp, 1); +} + +inline const QVector3D operator*(qreal factor, const QVector3D &vector) +{ + qrealinner f(factor); + return QVector3D(vector.xp * f, vector.yp * f, vector.zp * f, 1); +} + +inline const QVector3D operator*(const QVector3D &vector, qreal factor) +{ + qrealinner f(factor); + return QVector3D(vector.xp * f, vector.yp * f, vector.zp * f, 1); +} + +inline const QVector3D operator*(const QVector3D &v1, const QVector3D& v2) +{ + return QVector3D(v1.xp * v2.xp, v1.yp * v2.yp, v1.zp * v2.zp, 1); +} + +inline const QVector3D operator-(const QVector3D &vector) +{ + return QVector3D(-vector.xp, -vector.yp, -vector.zp, 1); +} + +inline const QVector3D operator/(const QVector3D &vector, qreal divisor) +{ + qrealinner d(divisor); + return QVector3D(vector.xp / d, vector.yp / d, vector.zp / d, 1); +} + +inline bool qFuzzyCompare(const QVector3D& v1, const QVector3D& v2) +{ + return qFuzzyCompare(v1.xp, v2.xp) && + qFuzzyCompare(v1.yp, v2.yp) && + qFuzzyCompare(v1.zp, v2.zp); +} + +inline QPoint QVector3D::toPoint() const +{ + return QPoint(qRound(xp), qRound(yp)); +} + +inline QPointF QVector3D::toPointF() const +{ + return QPointF(qt_math3d_convert(xp), + qt_math3d_convert(yp)); +} + +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector3D &vector); +#endif + +#endif + +QT_END_NAMESPACE + +#ifndef QT_NO_VECTOR3D +Q_DECLARE_METATYPE(QVector3D) +#endif + +QT_END_HEADER + +#endif diff --git a/src/gui/math3d/qvector4d.cpp b/src/gui/math3d/qvector4d.cpp new file mode 100644 index 0000000..1239df0 --- /dev/null +++ b/src/gui/math3d/qvector4d.cpp @@ -0,0 +1,491 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qvector4d.h" +#include "qvector3d.h" +#include "qvector2d.h" +#include "qmath3dutil_p.h" + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_VECTOR4D + +/*! + \class QVector4D + \brief The QVector4D class represents a vector or vertex in 4D space. + \since 4.6 + + The QVector4D class can also be used to represent vertices in 4D space. + We therefore do not need to provide a separate vertex class. + + The coordinates are stored internally using the most efficient + representation for the GL rendering engine, which will be either + floating-point or fixed-point. + + \sa QQuaternion, QVector2D, QVector3D +*/ + +/*! + \fn QVector4D::QVector4D() + + Constructs a null vector, i.e. with coordinates (0, 0, 0, 0). +*/ + +/*! + \fn QVector4D::QVector4D(qreal xpos, qreal ypos, qreal zpos, qreal wpos) + + Constructs a vector with coordinates (\a xpos, \a ypos, \a zpos, \a wpos). +*/ + +/*! + \fn QVector4D::QVector4D(int xpos, int ypos, int zpos, int wpos) + + Constructs a vector with coordinates (\a xpos, \a ypos, \a zpos, \a wpos). +*/ + +/*! + \fn QVector4D::QVector4D(const QPoint& point) + + Constructs a vector with x and y coordinates from a 2D \a point, and + z and w coordinates of 0. +*/ + +/*! + \fn QVector4D::QVector4D(const QPointF& point) + + Constructs a vector with x and y coordinates from a 2D \a point, and + z and w coordinates of 0. +*/ + +#ifndef QT_NO_VECTOR2D + +/*! + Constructs a 4D vector from the specified 2D \a vector. The z + and w coordinates are set to zero. + + \sa toVector2D() +*/ +QVector4D::QVector4D(const QVector2D& vector) +{ + xp = vector.xp; + yp = vector.yp; + zp = 0.0f; + wp = 0.0f; +} + +/*! + Constructs a 4D vector from the specified 2D \a vector. The z + and w coordinates are set to \a zpos and \a wpos respectively. + + \sa toVector2D() +*/ +QVector4D::QVector4D(const QVector2D& vector, qreal zpos, qreal wpos) +{ + xp = vector.xp; + yp = vector.yp; + zp = zpos; + wp = wpos; +} + +#endif + +#ifndef QT_NO_VECTOR3D + +/*! + Constructs a 4D vector from the specified 3D \a vector. The w + coordinate is set to zero. + + \sa toVector3D() +*/ +QVector4D::QVector4D(const QVector3D& vector) +{ + xp = vector.xp; + yp = vector.yp; + zp = vector.zp; + wp = 0.0f; +} + +/*! + Constructs a 4D vector from the specified 3D \a vector. The w + coordinate is set to \a wpos. + + \sa toVector3D() +*/ +QVector4D::QVector4D(const QVector3D& vector, qreal wpos) +{ + xp = vector.xp; + yp = vector.yp; + zp = vector.zp; + wp = wpos; +} + +#endif + +/*! + \fn bool QVector4D::isNull() const + + Returns true if the x, y, z, and w coordinates are set to 0.0, + otherwise returns false. +*/ + +/*! + \fn qreal QVector4D::x() const + + Returns the x coordinate of this point. + + \sa setX(), y(), z(), w() +*/ + +/*! + \fn qreal QVector4D::y() const + + Returns the y coordinate of this point. + + \sa setY(), x(), z(), w() +*/ + +/*! + \fn qreal QVector4D::z() const + + Returns the z coordinate of this point. + + \sa setZ(), x(), y(), w() +*/ + +/*! + \fn qreal QVector4D::w() const + + Returns the w coordinate of this point. + + \sa setW(), x(), y(), z() +*/ + +/*! + \fn void QVector4D::setX(qreal x) + + Sets the x coordinate of this point to the given \a x coordinate. + + \sa x(), setY(), setZ(), setW() +*/ + +/*! + \fn void QVector4D::setY(qreal y) + + Sets the y coordinate of this point to the given \a y coordinate. + + \sa y(), setX(), setZ(), setW() +*/ + +/*! + \fn void QVector4D::setZ(qreal z) + + Sets the z coordinate of this point to the given \a z coordinate. + + \sa z(), setX(), setY(), setW() +*/ + +/*! + \fn void QVector4D::setW(qreal w) + + Sets the w coordinate of this point to the given \a w coordinate. + + \sa w(), setX(), setY(), setZ() +*/ + +/*! + Returns the length of the vector from the origin. + + \sa lengthSquared(), normalized() +*/ +qreal QVector4D::length() const +{ + return qvtsqrt64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + + qvtmul64(zp, zp) + qvtmul64(wp, wp)); +} + +/*! + Returns the squared length of the vector from the origin. + This is equivalent to the dot product of the vector with itself. + + \sa length(), dotProduct() +*/ +qreal QVector4D::lengthSquared() const +{ + return qvtdot64(qvtmul64(xp, xp) + qvtmul64(yp, yp) + + qvtmul64(zp, zp) + qvtmul64(wp, wp)); +} + +/*! + Returns the normalized unit vector form of this vector. If this vector + is not null, the returned vector is guaranteed to be 1.0 in length. + If this vector is null, then a null vector is returned. + + \sa length(), normalize() +*/ +QVector4D QVector4D::normalized() const +{ + qreal len = length(); + if (!qIsNull(len)) + return *this / len; + else + return QVector4D(); +} + +/*! + Normalizes the currect vector in place. Nothing happens if this + vector is a null vector. + + \sa length(), normalized() +*/ +void QVector4D::normalize() +{ + qreal len = length(); + if (qIsNull(len)) + return; + + xp /= len; + yp /= len; + zp /= len; + wp /= len; +} + + +/*! + \fn QVector4D &QVector4D::operator+=(const QVector4D &vector) + + Adds the given \a vector to this vector and returns a reference to + this vector. + + \sa operator-=() +*/ + +/*! + \fn QVector4D &QVector4D::operator-=(const QVector4D &vector) + + Subtracts the given \a vector from this vector and returns a reference to + this vector. + + \sa operator+=() +*/ + +/*! + \fn QVector4D &QVector4D::operator*=(qreal factor) + + Multiplies this vector's coordinates by the given \a factor, and + returns a reference to this vector. + + \sa operator/=() +*/ + +/*! + \fn QVector4D &QVector4D::operator*=(const QVector4D &vector) + + Multiplies the components of this vector by the corresponding + components in \a vector. +*/ + +/*! + \fn QVector4D &QVector4D::operator/=(qreal divisor) + + Divides this vector's coordinates by the given \a divisor, and + returns a reference to this vector. + + \sa operator*=() +*/ + +/*! + Returns the dot product of \a v1 and \a v2. +*/ +qreal QVector4D::dotProduct(const QVector4D& v1, const QVector4D& v2) +{ + return qvtdot64(qvtmul64(v1.xp, v2.xp) + qvtmul64(v1.yp, v2.yp) + + qvtmul64(v1.zp, v2.zp) + qvtmul64(v1.wp, v2.wp)); +} + +/*! + \fn bool operator==(const QVector4D &v1, const QVector4D &v2) + \relates QVector4D + + Returns true if \a v1 is equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn bool operator!=(const QVector4D &v1, const QVector4D &v2) + \relates QVector4D + + Returns true if \a v1 is not equal to \a v2; otherwise returns false. + This operator uses an exact floating-point comparison. +*/ + +/*! + \fn const QVector4D operator+(const QVector4D &v1, const QVector4D &v2) + \relates QVector4D + + Returns a QVector4D object that is the sum of the given vectors, \a v1 + and \a v2; each component is added separately. + + \sa QVector4D::operator+=() +*/ + +/*! + \fn const QVector4D operator-(const QVector4D &v1, const QVector4D &v2) + \relates QVector4D + + Returns a QVector4D object that is formed by subtracting \a v2 from \a v1; + each component is subtracted separately. + + \sa QVector4D::operator-=() +*/ + +/*! + \fn const QVector4D operator*(qreal factor, const QVector4D &vector) + \relates QVector4D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector4D::operator*=() +*/ + +/*! + \fn const QVector4D operator*(const QVector4D &vector, qreal factor) + \relates QVector4D + + Returns a copy of the given \a vector, multiplied by the given \a factor. + + \sa QVector4D::operator*=() +*/ + +/*! + \fn const QVector4D operator*(const QVector4D &v1, const QVector4D& v2) + \relates QVector4D + + Returns the vector consisting of the multiplication of the + components from \a v1 and \a v2. + + \sa QVector4D::operator*=() +*/ + +/*! + \fn const QVector4D operator-(const QVector4D &vector) + \relates QVector4D + \overload + + Returns a QVector4D object that is formed by changing the sign of + all three components of the given \a vector. + + Equivalent to \c {QVector4D(0,0,0,0) - vector}. +*/ + +/*! + \fn const QVector4D operator/(const QVector4D &vector, qreal divisor) + \relates QVector4D + + Returns the QVector4D object formed by dividing all four components of + the given \a vector by the given \a divisor. + + \sa QVector4D::operator/=() +*/ + +/*! + \fn bool qFuzzyCompare(const QVector4D& v1, const QVector4D& v2) + \relates QVector4D + + Returns true if \a v1 and \a v2 are equal, allowing for a small + fuzziness factor for floating-point comparisons; false otherwise. +*/ + +#ifndef QT_NO_VECTOR2D + +/*! + Returns the 2D vector form of this 4D vector, dropping the z and w coordinates. + + \sa toVector2DAffine(), toVector3D(), toPoint() +*/ +QVector2D QVector4D::toVector2D() const +{ + return QVector2D(xp, yp, 1); +} + +/*! + Returns the 2D vector form of this 4D vector, dividing the x and y + coordinates by the w coordinate and dropping the z coordinate. + Returns a null vector if w is zero. + + \sa toVector2D(), toVector3DAffine(), toPoint() +*/ +QVector2D QVector4D::toVector2DAffine() const +{ + if (qIsNull(wp)) + return QVector2D(); + return QVector2D(xp / wp, yp / wp, 1); +} + +#endif + +#ifndef QT_NO_VECTOR3D + +/*! + Returns the 3D vector form of this 4D vector, dropping the w coordinate. + + \sa toVector3DAffine(), toVector2D(), toPoint() +*/ +QVector3D QVector4D::toVector3D() const +{ + return QVector3D(xp, yp, zp, 1); +} + +/*! + Returns the 3D vector form of this 4D vector, dividing the x, y, and + z coordinates by the w coordinate. Returns a null vector if w is zero. + + \sa toVector3D(), toVector2DAffine(), toPoint() +*/ +QVector3D QVector4D::toVector3DAffine() const +{ + if (qIsNull(wp)) + return QVector3D(); + return QVector3D(xp / wp, yp / wp, zp / wp, 1); +} + +#endif + +/*! + \fn QPoint QVector4D::toPoint() const + + Returns the QPoint form of this 4D vector. + + \sa toPointF(), toVector2D() +*/ + +/*! + \fn QPointF QVector4D::toPointF() const + + Returns the QPointF form of this 4D vector. + + \sa toPoint(), toVector2D() +*/ + +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QVector4D &vector) +{ + dbg.nospace() << "QVector4D(" + << vector.x() << ", " << vector.y() << ", " + << vector.z() << ", " << vector.w() << ')'; + return dbg.space(); +} + +#endif + +#endif + +QT_END_NAMESPACE diff --git a/src/gui/math3d/qvector4d.h b/src/gui/math3d/qvector4d.h new file mode 100644 index 0000000..078c328 --- /dev/null +++ b/src/gui/math3d/qvector4d.h @@ -0,0 +1,270 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QVECTOR4D_H +#define QVECTOR4D_H + +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QMatrix4x4; +class QVector2D; +class QVector3D; +class QQuaternion; + +#ifndef QT_NO_VECTOR4D + +class Q_GUI_EXPORT QVector4D +{ +public: + QVector4D(); + QVector4D(qreal xpos, qreal ypos, qreal zpos, qreal wpos); + QVector4D(int xpos, int ypos, int zpos, int wpos); + explicit QVector4D(const QPoint& point); + explicit QVector4D(const QPointF& point); +#ifndef QT_NO_VECTOR2D + QVector4D(const QVector2D& vector); + QVector4D(const QVector2D& vector, qreal zpos, qreal wpos); +#endif +#ifndef QT_NO_VECTOR3D + QVector4D(const QVector3D& vector); + QVector4D(const QVector3D& vector, qreal wpos); +#endif + + bool isNull() const; + + qreal x() const; + qreal y() const; + qreal z() const; + qreal w() const; + + void setX(qreal x); + void setY(qreal y); + void setZ(qreal z); + void setW(qreal w); + + qreal length() const; + qreal lengthSquared() const; + + QVector4D normalized() const; + void normalize(); + + QVector4D &operator+=(const QVector4D &vector); + QVector4D &operator-=(const QVector4D &vector); + QVector4D &operator*=(qreal factor); + QVector4D &operator*=(const QVector4D &vector); + QVector4D &operator/=(qreal divisor); + + static qreal dotProduct(const QVector4D& v1, const QVector4D& v2); + + friend inline bool operator==(const QVector4D &v1, const QVector4D &v2); + friend inline bool operator!=(const QVector4D &v1, const QVector4D &v2); + friend inline const QVector4D operator+(const QVector4D &v1, const QVector4D &v2); + friend inline const QVector4D operator-(const QVector4D &v1, const QVector4D &v2); + friend inline const QVector4D operator*(qreal factor, const QVector4D &vector); + friend inline const QVector4D operator*(const QVector4D &vector, qreal factor); + friend inline const QVector4D operator*(const QVector4D &v1, const QVector4D& v2); + friend inline const QVector4D operator-(const QVector4D &vector); + friend inline const QVector4D operator/(const QVector4D &vector, qreal divisor); + + friend inline bool qFuzzyCompare(const QVector4D& v1, const QVector4D& v2); + +#ifndef QT_NO_VECTOR2D + QVector2D toVector2D() const; + QVector2D toVector2DAffine() const; +#endif +#ifndef QT_NO_VECTOR3D + QVector3D toVector3D() const; + QVector3D toVector3DAffine() const; +#endif + + QPoint toPoint() const; + QPointF toPointF() const; + +private: + qrealinner xp, yp, zp, wp; + + QVector4D(qrealinner xpos, qrealinner ypos, qrealinner zpos, qrealinner wpos, int dummy); + + friend class QVector2D; + friend class QVector3D; + friend class QQuaternion; + friend class QMatrix4x4; + friend class QVertexArray; +#ifndef QT_NO_MATRIX4X4 + friend QVector4D operator*(const QVector4D& vector, const QMatrix4x4& matrix); + friend QVector4D operator*(const QMatrix4x4& matrix, const QVector4D& vector); +#endif +}; + +inline QVector4D::QVector4D() : xp(0.0f), yp(0.0f), zp(0.0f), wp(0.0f) {} + +inline QVector4D::QVector4D(qreal xpos, qreal ypos, qreal zpos, qreal wpos) : xp(xpos), yp(ypos), zp(zpos), wp(wpos) {} + +inline QVector4D::QVector4D(qrealinner xpos, qrealinner ypos, qrealinner zpos, qrealinner wpos, int) : xp(xpos), yp(ypos), zp(zpos), wp(wpos) {} + +inline QVector4D::QVector4D(int xpos, int ypos, int zpos, int wpos) : xp(xpos), yp(ypos), zp(zpos), wp(wpos) {} + +inline QVector4D::QVector4D(const QPoint& point) : xp(point.x()), yp(point.y()), zp(0.0f), wp(0.0f) {} + +inline QVector4D::QVector4D(const QPointF& point) : xp(point.x()), yp(point.y()), zp(0.0f), wp(0.0f) {} + +inline bool QVector4D::isNull() const +{ + return qIsNull(xp) && qIsNull(yp) && qIsNull(zp) && qIsNull(wp); +} + +inline qreal QVector4D::x() const { return qt_math3d_convert(xp); } +inline qreal QVector4D::y() const { return qt_math3d_convert(yp); } +inline qreal QVector4D::z() const { return qt_math3d_convert(zp); } +inline qreal QVector4D::w() const { return qt_math3d_convert(wp); } + +inline void QVector4D::setX(qreal x) { xp = x; } +inline void QVector4D::setY(qreal y) { yp = y; } +inline void QVector4D::setZ(qreal z) { zp = z; } +inline void QVector4D::setW(qreal w) { wp = w; } + +inline QVector4D &QVector4D::operator+=(const QVector4D &vector) +{ + xp += vector.xp; + yp += vector.yp; + zp += vector.zp; + wp += vector.wp; + return *this; +} + +inline QVector4D &QVector4D::operator-=(const QVector4D &vector) +{ + xp -= vector.xp; + yp -= vector.yp; + zp -= vector.zp; + wp -= vector.wp; + return *this; +} + +inline QVector4D &QVector4D::operator*=(qreal factor) +{ + qrealinner f(factor); + xp *= f; + yp *= f; + zp *= f; + wp *= f; + return *this; +} + +inline QVector4D &QVector4D::operator*=(const QVector4D &vector) +{ + xp *= vector.xp; + yp *= vector.yp; + zp *= vector.zp; + wp *= vector.wp; + return *this; +} + +inline QVector4D &QVector4D::operator/=(qreal divisor) +{ + qrealinner d(divisor); + xp /= d; + yp /= d; + zp /= d; + wp /= d; + return *this; +} + +inline bool operator==(const QVector4D &v1, const QVector4D &v2) +{ + return v1.xp == v2.xp && v1.yp == v2.yp && v1.zp == v2.zp && v1.wp == v2.wp; +} + +inline bool operator!=(const QVector4D &v1, const QVector4D &v2) +{ + return v1.xp != v2.xp || v1.yp != v2.yp || v1.zp != v2.zp || v1.wp != v2.wp; +} + +inline const QVector4D operator+(const QVector4D &v1, const QVector4D &v2) +{ + return QVector4D(v1.xp + v2.xp, v1.yp + v2.yp, v1.zp + v2.zp, v1.wp + v2.wp, 1); +} + +inline const QVector4D operator-(const QVector4D &v1, const QVector4D &v2) +{ + return QVector4D(v1.xp - v2.xp, v1.yp - v2.yp, v1.zp - v2.zp, v1.wp - v2.wp, 1); +} + +inline const QVector4D operator*(qreal factor, const QVector4D &vector) +{ + qrealinner f(factor); + return QVector4D(vector.xp * f, vector.yp * f, vector.zp * f, vector.wp * f, 1); +} + +inline const QVector4D operator*(const QVector4D &vector, qreal factor) +{ + qrealinner f(factor); + return QVector4D(vector.xp * f, vector.yp * f, vector.zp * f, vector.wp * f, 1); +} + +inline const QVector4D operator*(const QVector4D &v1, const QVector4D& v2) +{ + return QVector4D(v1.xp * v2.xp, v1.yp * v2.yp, v1.zp * v2.zp, v1.wp * v2.wp, 1); +} + +inline const QVector4D operator-(const QVector4D &vector) +{ + return QVector4D(-vector.xp, -vector.yp, -vector.zp, -vector.wp, 1); +} + +inline const QVector4D operator/(const QVector4D &vector, qreal divisor) +{ + qrealinner d(divisor); + return QVector4D(vector.xp / d, vector.yp / d, vector.zp / d, vector.wp / d, 1); +} + +inline bool qFuzzyCompare(const QVector4D& v1, const QVector4D& v2) +{ + return qFuzzyCompare(v1.xp, v2.xp) && + qFuzzyCompare(v1.yp, v2.yp) && + qFuzzyCompare(v1.zp, v2.zp) && + qFuzzyCompare(v1.wp, v2.wp); +} + +inline QPoint QVector4D::toPoint() const +{ + return QPoint(qRound(xp), qRound(yp)); +} + +inline QPointF QVector4D::toPointF() const +{ + return QPointF(qt_math3d_convert(xp), + qt_math3d_convert(yp)); +} + +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QVector4D &vector); +#endif + +#endif + +QT_END_NAMESPACE + +#ifndef QT_NO_VECTOR4D +Q_DECLARE_METATYPE(QVector4D) +#endif + +QT_END_HEADER + +#endif diff --git a/src/opengl/gl2paintengineex/qglshader_p.h b/src/opengl/gl2paintengineex/qglshader_p.h index 1625b84..64c9a42 100644 --- a/src/opengl/gl2paintengineex/qglshader_p.h +++ b/src/opengl/gl2paintengineex/qglshader_p.h @@ -81,6 +81,8 @@ SAMPLER_2D_SHADOW. #include +#define QGLShader QGLEngineShader +#define QGLShaderProgram QGLEngineShaderProgram typedef struct { GLfloat a; diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 48d7caf..5be48ba 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -25,14 +25,16 @@ HEADERS += qgl.h \ qglcolormap.h \ qglpixelbuffer.h \ qglframebufferobject.h \ - qglpixmapfilter_p.h + qglpixmapfilter_p.h \ + qglshaderprogram.h SOURCES += qgl.cpp \ qglcolormap.cpp \ qglpixelbuffer.cpp \ qglframebufferobject.cpp \ qglextensions.cpp \ - qglpixmapfilter.cpp + qglpixmapfilter.cpp \ + qglshaderprogram.cpp !contains(QT_CONFIG, opengles2) { HEADERS += qpaintengine_opengl_p.h diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index 8357cf9..5ba669b 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -150,36 +150,158 @@ bool qt_resolve_buffer_extensions(QGLContext *ctx) bool qt_resolve_glsl_extensions(QGLContext *ctx) { +#if defined(QT_OPENGL_ES_2) + // The GLSL shader functions are always present in OpenGL/ES 2.0. + // The only exceptions are glGetProgramBinaryOES and glProgramBinaryOES. + if (!QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glslResolved) { + glGetProgramBinaryOES = (_glGetProgramBinaryOES) ctx->getProcAddress(QLatin1String("glGetProgramBinaryOES")); + glProgramBinaryOES = (_glProgramBinaryOES) ctx->getProcAddress(QLatin1String("glProgramBinaryOES")); + QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glslResolved = true; + } + return true; +#else if (glCreateShader) return true; glCreateShader = (_glCreateShader) ctx->getProcAddress(QLatin1String("glCreateShader")); - glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSource")); - glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShader")); - glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteShader")); - - glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgram")); - glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachShader")); - glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachShader")); - glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgram")); - glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgram")); - glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteProgram")); - - glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetShaderInfoLog")); - glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetShaderiv")); - glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetProgramiv")); - - glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocation")); - glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fv")); - glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fv")); - glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fv")); - glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fv")); - glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1i")); - - return glCreateShader && glShaderSource && glCompileShader && glDeleteProgram && - glCreateProgram && glAttachShader && glDetachShader && glLinkProgram && glUseProgram && - glDeleteProgram && glGetShaderInfoLog && glGetShaderiv && glGetProgramiv && glGetUniformLocation && - glUniform1i && glUniform1fv && glUniform2fv && glUniform3fv && glUniform4fv; + if (glCreateShader) { + glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSource")); + glShaderBinary = (_glShaderBinary) ctx->getProcAddress(QLatin1String("glShaderBinary")); + glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShader")); + glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteShader")); + glIsShader = (_glIsShader) ctx->getProcAddress(QLatin1String("glIsShader")); + + glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgram")); + glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachShader")); + glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachShader")); + glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgram")); + glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgram")); + glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteProgram")); + glIsProgram = (_glIsProgram) ctx->getProcAddress(QLatin1String("glIsProgram")); + + glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetShaderInfoLog")); + glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetShaderiv")); + glGetShaderSource = (_glGetShaderSource) ctx->getProcAddress(QLatin1String("glGetShaderSource")); + glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetProgramiv")); + glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetProgramInfoLog")); + + glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocation")); + glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fv")); + glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fv")); + glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fv")); + glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fv")); + glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1i")); + glUniform1iv = (_glUniform1iv) ctx->getProcAddress(QLatin1String("glUniform1iv")); + glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fv")); + glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fv")); + glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fv")); + glUniformMatrix2x3fv = (_glUniformMatrix2x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x3fv")); + glUniformMatrix2x4fv = (_glUniformMatrix2x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x4fv")); + glUniformMatrix3x2fv = (_glUniformMatrix3x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x2fv")); + glUniformMatrix3x4fv = (_glUniformMatrix3x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x4fv")); + glUniformMatrix4x2fv = (_glUniformMatrix4x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x2fv")); + glUniformMatrix4x3fv = (_glUniformMatrix4x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x3fv")); + + glBindAttribLocation = (_glBindAttribLocation) ctx->getProcAddress(QLatin1String("glBindAttribLocation")); + glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocation")); + glVertexAttrib1fv = (_glVertexAttrib1fv) ctx->getProcAddress(QLatin1String("glVertexAttrib1fv")); + glVertexAttrib2fv = (_glVertexAttrib2fv) ctx->getProcAddress(QLatin1String("glVertexAttrib2fv")); + glVertexAttrib3fv = (_glVertexAttrib3fv) ctx->getProcAddress(QLatin1String("glVertexAttrib3fv")); + glVertexAttrib4fv = (_glVertexAttrib4fv) ctx->getProcAddress(QLatin1String("glVertexAttrib4fv")); + glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointer")); + glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArray")); + glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArray")); + } else { + // We may not have the standard shader functions, but we might + // have the older ARB functions instead. + glCreateShader = (_glCreateShader) ctx->getProcAddress(QLatin1String("glCreateShaderObjectARB")); + glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSourceARB")); + glShaderBinary = (_glShaderBinary) ctx->getProcAddress(QLatin1String("glShaderBinaryARB")); + glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShaderARB")); + glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteObjectARB")); + glIsShader = 0; + + glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgramObjectARB")); + glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachObjectARB")); + glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachObjectARB")); + glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgramARB")); + glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgramObjectARB")); + glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteObjectARB")); + glIsProgram = 0; + + glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetInfoLogARB")); + glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetObjectParameterivARB")); + glGetShaderSource = (_glGetShaderSource) ctx->getProcAddress(QLatin1String("glGetShaderSourceARB")); + glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetObjectParameterivARB")); + glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetInfoLogARB")); + + glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocationARB")); + glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fvARB")); + glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fvARB")); + glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fvARB")); + glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fvARB")); + glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1iARB")); + glUniform1iv = (_glUniform1iv) ctx->getProcAddress(QLatin1String("glUniform1ivARB")); + glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fvARB")); + glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fvARB")); + glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fvARB")); + glUniformMatrix2x3fv = (_glUniformMatrix2x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x3fvARB")); + glUniformMatrix2x4fv = (_glUniformMatrix2x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x4fvARB")); + glUniformMatrix3x2fv = (_glUniformMatrix3x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x2fvARB")); + glUniformMatrix3x4fv = (_glUniformMatrix3x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x4fvARB")); + glUniformMatrix4x2fv = (_glUniformMatrix4x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x2fvARB")); + glUniformMatrix4x3fv = (_glUniformMatrix4x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x3fvARB")); + + glBindAttribLocation = (_glBindAttribLocation) ctx->getProcAddress(QLatin1String("glBindAttribLocationARB")); + glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocationARB")); + glVertexAttrib1fv = (_glVertexAttrib1fv) ctx->getProcAddress(QLatin1String("glVertexAttrib1fvARB")); + glVertexAttrib2fv = (_glVertexAttrib2fv) ctx->getProcAddress(QLatin1String("glVertexAttrib2fvARB")); + glVertexAttrib3fv = (_glVertexAttrib3fv) ctx->getProcAddress(QLatin1String("glVertexAttrib3fvARB")); + glVertexAttrib4fv = (_glVertexAttrib4fv) ctx->getProcAddress(QLatin1String("glVertexAttrib4fvARB")); + glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointerARB")); + glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArrayARB")); + glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArrayARB")); + } + + // Note: glShaderBinary(), glIsShader(), glIsProgram(), and + // glUniformMatrixNxMfv() are optional, but all other functions + // are required. + + return glCreateShader && + glShaderSource && + glCompileShader && + glDeleteProgram && + glCreateProgram && + glAttachShader && + glDetachShader && + glLinkProgram && + glUseProgram && + glDeleteProgram && + glGetShaderInfoLog && + glGetShaderiv && + glGetShaderSource && + glGetProgramiv && + glGetProgramInfoLog && + glGetUniformLocation && + glUniform1fv && + glUniform2fv && + glUniform3fv && + glUniform4fv && + glUniform1i && + glUniform1iv && + glUniformMatrix2fv && + glUniformMatrix3fv && + glUniformMatrix4fv && + glBindAttribLocation && + glGetAttribLocation && + glVertexAttrib1fv && + glVertexAttrib2fv && + glVertexAttrib3fv && + glVertexAttrib4fv && + glVertexAttribPointer && + glDisableVertexAttribArray && + glEnableVertexAttribArray; +#endif } QT_END_NAMESPACE diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index a0517f5..f71ae9d 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -92,8 +92,10 @@ typedef void (APIENTRY *_glProgramLocalParameter4fvARB) (GLenum, GLuint, const G // GLSL typedef GLuint (APIENTRY *_glCreateShader) (GLenum); typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *); +typedef void (APIENTRY *_glShaderBinary) (GLint, const GLuint*, GLenum, const void*, GLint); typedef void (APIENTRY *_glCompileShader) (GLuint); typedef void (APIENTRY *_glDeleteShader) (GLuint); +typedef GLboolean (APIENTRY *_glIsShader) (GLuint); typedef GLuint (APIENTRY *_glCreateProgram) (); typedef void (APIENTRY *_glAttachShader) (GLuint, GLuint); @@ -101,17 +103,43 @@ typedef void (APIENTRY *_glDetachShader) (GLuint, GLuint); typedef void (APIENTRY *_glLinkProgram) (GLuint); typedef void (APIENTRY *_glUseProgram) (GLuint); typedef void (APIENTRY *_glDeleteProgram) (GLuint); +typedef GLboolean (APIENTRY *_glIsProgram) (GLuint); typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *); typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *); +typedef void (APIENTRY *_glGetShaderSource) (GLuint, GLsizei, GLsizei *, char *); typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *); +typedef void (APIENTRY *_glGetProgramInfoLog) (GLuint, GLsizei, GLsizei *, char *); typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); -typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *); +typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, const GLfloat *); typedef void (APIENTRY *_glUniform1i) (GLint, GLint); +typedef void (APIENTRY *_glUniform1iv) (GLint, GLsizei, const GLint *); +typedef void (APIENTRY *_glUniformMatrix2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix2x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix2x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); + +typedef void (APIENTRY *_glBindAttribLocation) (GLuint, GLuint, const char *); +typedef GLint (APIENTRY *_glGetAttribLocation) (GLuint, const char *); +typedef void (APIENTRY *_glVertexAttrib1fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib2fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib3fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib4fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); +typedef void (APIENTRY *_glDisableVertexAttribArray) (GLuint); +typedef void (APIENTRY *_glEnableVertexAttribArray) (GLuint); + +typedef void (APIENTRY *_glGetProgramBinaryOES) (GLuint, GLsizei, GLsizei *, GLenum *, void *); +typedef void (APIENTRY *_glProgramBinaryOES) (GLuint, GLenum, const void *, GLint); typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); @@ -153,10 +181,13 @@ struct QGLExtensionFuncs qt_glGenProgramsARB = 0; qt_glProgramLocalParameter4fvARB = 0; +#if !defined(QT_OPENGL_ES_2) qt_glCreateShader = 0; qt_glShaderSource = 0; + qt_glShaderBinary = 0; qt_glCompileShader = 0; qt_glDeleteShader = 0; + qt_glIsShader = 0; qt_glCreateProgram = 0; qt_glAttachShader = 0; @@ -164,10 +195,13 @@ struct QGLExtensionFuncs qt_glLinkProgram = 0; qt_glUseProgram = 0; qt_glDeleteProgram = 0; + qt_glIsProgram = 0; qt_glGetShaderInfoLog = 0; qt_glGetShaderiv = 0; + qt_glGetShaderSource = 0; qt_glGetProgramiv = 0; + qt_glGetProgramInfoLog = 0; qt_glGetUniformLocation = 0; qt_glUniform4fv = 0; @@ -175,6 +209,32 @@ struct QGLExtensionFuncs qt_glUniform2fv = 0; qt_glUniform1fv = 0; qt_glUniform1i = 0; + qt_glUniform1iv = 0; + qt_glUniformMatrix2fv = 0; + qt_glUniformMatrix3fv = 0; + qt_glUniformMatrix4fv = 0; + qt_glUniformMatrix2x3fv = 0; + qt_glUniformMatrix2x4fv = 0; + qt_glUniformMatrix3x2fv = 0; + qt_glUniformMatrix3x4fv = 0; + qt_glUniformMatrix4x2fv = 0; + qt_glUniformMatrix4x3fv = 0; + + qt_glBindAttribLocation = 0; + qt_glGetAttribLocation = 0; + qt_glVertexAttrib1fv = 0; + qt_glVertexAttrib2fv = 0; + qt_glVertexAttrib3fv = 0; + qt_glVertexAttrib4fv = 0; + qt_glVertexAttribPointer = 0; + qt_glDisableVertexAttribArray = 0; + qt_glEnableVertexAttribArray = 0; +#else + qt_glslResolved = false; + + qt_glGetProgramBinaryOES = 0; + qt_glProgramBinaryOES = 0; +#endif qt_glActiveStencilFaceEXT = 0; @@ -215,11 +275,14 @@ struct QGLExtensionFuncs _glGenProgramsARB qt_glGenProgramsARB; _glProgramLocalParameter4fvARB qt_glProgramLocalParameter4fvARB; +#if !defined(QT_OPENGL_ES_2) // GLSL definitions _glCreateShader qt_glCreateShader; _glShaderSource qt_glShaderSource; + _glShaderBinary qt_glShaderBinary; _glCompileShader qt_glCompileShader; _glDeleteShader qt_glDeleteShader; + _glIsShader qt_glIsShader; _glCreateProgram qt_glCreateProgram; _glAttachShader qt_glAttachShader; @@ -227,10 +290,13 @@ struct QGLExtensionFuncs _glLinkProgram qt_glLinkProgram; _glUseProgram qt_glUseProgram; _glDeleteProgram qt_glDeleteProgram; + _glIsProgram qt_glIsProgram; _glGetShaderInfoLog qt_glGetShaderInfoLog; _glGetShaderiv qt_glGetShaderiv; + _glGetShaderSource qt_glGetShaderSource; _glGetProgramiv qt_glGetProgramiv; + _glGetProgramInfoLog qt_glGetProgramInfoLog; _glGetUniformLocation qt_glGetUniformLocation; _glUniform4fv qt_glUniform4fv; @@ -238,6 +304,32 @@ struct QGLExtensionFuncs _glUniform2fv qt_glUniform2fv; _glUniform1fv qt_glUniform1fv; _glUniform1i qt_glUniform1i; + _glUniform1iv qt_glUniform1iv; + _glUniformMatrix2fv qt_glUniformMatrix2fv; + _glUniformMatrix3fv qt_glUniformMatrix3fv; + _glUniformMatrix4fv qt_glUniformMatrix4fv; + _glUniformMatrix2x3fv qt_glUniformMatrix2x3fv; + _glUniformMatrix2x4fv qt_glUniformMatrix2x4fv; + _glUniformMatrix3x2fv qt_glUniformMatrix3x2fv; + _glUniformMatrix3x4fv qt_glUniformMatrix3x4fv; + _glUniformMatrix4x2fv qt_glUniformMatrix4x2fv; + _glUniformMatrix4x3fv qt_glUniformMatrix4x3fv; + + _glBindAttribLocation qt_glBindAttribLocation; + _glGetAttribLocation qt_glGetAttribLocation; + _glVertexAttrib1fv qt_glVertexAttrib1fv; + _glVertexAttrib2fv qt_glVertexAttrib2fv; + _glVertexAttrib3fv qt_glVertexAttrib3fv; + _glVertexAttrib4fv qt_glVertexAttrib4fv; + _glVertexAttribPointer qt_glVertexAttribPointer; + _glDisableVertexAttribArray qt_glDisableVertexAttribArray; + _glEnableVertexAttribArray qt_glEnableVertexAttribArray; +#else + bool qt_glslResolved; + + _glGetProgramBinaryOES qt_glGetProgramBinaryOES; + _glProgramBinaryOES qt_glProgramBinaryOES; +#endif _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT; @@ -479,10 +571,14 @@ struct QGLExtensionFuncs #define glMapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glMapBufferARB #define glUnmapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUnmapBufferARB +#if !defined(QT_OPENGL_ES_2) + #define glCreateShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateShader #define glShaderSource QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glShaderSource +#define glShaderBinary QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glShaderBinary #define glCompileShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCompileShader #define glDeleteShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteShader +#define glIsShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsShader #define glCreateProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateProgram #define glAttachShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glAttachShader @@ -490,10 +586,13 @@ struct QGLExtensionFuncs #define glLinkProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glLinkProgram #define glUseProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUseProgram #define glDeleteProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteProgram +#define glIsProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsProgram #define glGetShaderInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderInfoLog #define glGetShaderiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderiv +#define glGetShaderSource QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderSource #define glGetProgramiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramiv +#define glGetProgramInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramInfoLog #define glGetUniformLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetUniformLocation #define glUniform4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform4fv @@ -501,6 +600,33 @@ struct QGLExtensionFuncs #define glUniform2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform2fv #define glUniform1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1fv #define glUniform1i QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1i +#define glUniform1iv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1iv +#define glUniformMatrix2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2fv +#define glUniformMatrix3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3fv +#define glUniformMatrix4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4fv +#define glUniformMatrix2x3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2x3fv +#define glUniformMatrix2x4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2x4fv +#define glUniformMatrix3x2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3x2fv +#define glUniformMatrix3x4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3x4fv +#define glUniformMatrix4x2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4x2fv +#define glUniformMatrix4x3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4x3fv + +#define glBindAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindAttribLocation +#define glGetAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetAttribLocation +#define glVertexAttrib1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib1fv +#define glVertexAttrib2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib2fv +#define glVertexAttrib3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib3fv +#define glVertexAttrib4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib4fv +#define glVertexAttribPointer QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttribPointer +#define glDisableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDisableVertexAttribArray +#define glEnableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glEnableVertexAttribArray + +#else // QT_OPENGL_ES_2 + +#define glGetProgramBinaryOES QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramBinaryOES +#define glProgramBinaryOES QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glProgramBinaryOES + +#endif // QT_OPENGL_ES_2 extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx); bool qt_resolve_buffer_extensions(QGLContext *ctx); diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp index ff23948..4b811e5 100644 --- a/src/opengl/qglpixmapfilter.cpp +++ b/src/opengl/qglpixmapfilter.cpp @@ -45,27 +45,12 @@ #include "qpaintengine_opengl_p.h" #include "qglpixelbuffer.h" -#include "qglextensions_p.h" +#include "qglshaderprogram.h" #include "qgl_p.h" #include "private/qapplication_p.h" -#ifndef GL_FRAGMENT_SHADER -#define GL_FRAGMENT_SHADER 0x8B30 -#endif - -#ifndef GL_COMPILE_STATUS -#define GL_COMPILE_STATUS 0x8B81 -#endif - -#ifndef GL_LINK_STATUS -#define GL_LINK_STATUS 0x8B82 -#endif - - - - QT_BEGIN_NAMESPACE @@ -79,117 +64,6 @@ void QGLPixmapFilterBase::drawImpl(QPainter *painter, const QPointF &pos, const processGL(painter, pos, src, source); } -QGLSLProgram::QGLSLProgram(const QString &src) - : ctx(QGLContext::currentContext()) -{ - if (!qt_resolve_glsl_extensions(const_cast(ctx))) { - qWarning("Failed to resolve GLSL functions"); - m_valid = false; - return; - } - - m_shader = glCreateShader(GL_FRAGMENT_SHADER); - - const QByteArray src_ba = src.toAscii(); - const char *src_cstr = src_ba.constData(); - - glShaderSource(m_shader, 1, &src_cstr, 0); - glCompileShader(m_shader); - glGetShaderiv(m_shader, GL_COMPILE_STATUS, &m_valid); - if (!m_valid) { - char data[4096]; - GLsizei len; - glGetShaderInfoLog(m_shader, 4096, &len, data); - qWarning("Failed to compile GLSL shader:\n%s\nCODE:\n%s\n", data, src_cstr); - return; - } - - m_program = glCreateProgram(); - glAttachShader(m_program, m_shader); - glLinkProgram(m_program); - glGetProgramiv(m_program, GL_LINK_STATUS, &m_valid); - if (!m_valid) { - char data[4096]; - GLsizei len; - glGetShaderInfoLog(m_shader, 4096, &len, data); - qWarning("Failed to link GLSL program:\n%s\nCODE:\n%s\n", data, src_cstr); - return; - } -} - -QGLSLProgram::~QGLSLProgram() -{ - glDeleteProgram(m_program); - glDeleteShader(m_shader); -} - -bool QGLSLProgram::success() const -{ - return m_valid; -} - -void QGLSLProgram::enable() -{ - glUseProgram(m_program); -} - -void QGLSLProgram::disable() -{ - glUseProgram(0); -} - -typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); -typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1i) (GLint, GLint); - -int QGLSLProgram::getUniformLocation(const QString &name) -{ - return glGetUniformLocation(m_program, name.toAscii().constData()); -} - -void QGLSLProgram::setUniform(int uniform, int value) -{ - enable(); - glUniform1i(uniform, value); -} - -void QGLSLProgram::setUniform(int uniform, qreal value) -{ - enable(); - GLfloat v[] = { value }; - glUniform1fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2) -{ - enable(); - GLfloat v[] = { v1, v2 }; - glUniform2fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2, qreal v3) -{ - enable(); - GLfloat v[] = { v1, v2, v3 }; - glUniform3fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2, qreal v3, qreal v4) -{ - enable(); - GLfloat v[] = { v1, v2, v3, v4 }; - glUniform4fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, int count, float *v) -{ - enable(); - glUniform1fv(uniform, count, v); -} - class QGLPixmapColorizeFilter: public QGLPixmapFilter { public: @@ -199,8 +73,8 @@ protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &pixmap, const QRectF &srcRect) const; private: - mutable QGLSLProgram m_program; - uint m_colorUniform; + mutable QGLShaderProgram m_program; + int m_colorUniform; }; class QGLPixmapConvolutionFilter: public QGLPixmapFilter @@ -213,11 +87,11 @@ protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const; private: - QString generateConvolutionShader() const; + QByteArray generateConvolutionShader() const; - mutable QGLSLProgram *m_program; - mutable uint m_scaleUniform; - mutable uint m_matrixUniform; + mutable QGLShaderProgram *m_program; + mutable int m_scaleUniform; + mutable int m_matrixUniform; mutable int m_kernelWidth; mutable int m_kernelHeight; @@ -294,10 +168,12 @@ static const char *qt_gl_colorize_filter = "}"; QGLPixmapColorizeFilter::QGLPixmapColorizeFilter() - : m_program(QLatin1String(qt_gl_colorize_filter)) { - m_program.setUniform(m_program.getUniformLocation(QLatin1String("texture")), 0); // GL_TEXTURE_0 - m_colorUniform = m_program.getUniformLocation(QLatin1String("color")); + m_program.addShader(QGLShader::FragmentShader, qt_gl_colorize_filter); + m_program.link(); + m_program.enable(); + m_program.setUniformValue(m_program.uniformLocation("texture"), 0); // GL_TEXTURE_0 + m_colorUniform = m_program.uniformLocation("color"); } bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const @@ -305,10 +181,10 @@ bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QP bindTexture(src); QColor col = color(); - m_program.setUniform(m_colorUniform, col.redF(), col.greenF(), col.blueF()); + m_program.enable(); + m_program.setUniformValue(m_colorUniform, col.redF(), col.greenF(), col.blueF()); QRectF target = (srcRect.isNull() ? QRectF(src.rect()) : srcRect).translated(pos); - m_program.enable(); qgl_drawTexture(target, src.width(), src.height(), srcRect); m_program.disable(); @@ -316,7 +192,7 @@ bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QP } // generates convolution filter code for arbitrary sized kernel -QString QGLPixmapConvolutionFilter::generateConvolutionShader() const { +QByteArray QGLPixmapConvolutionFilter::generateConvolutionShader() const { QByteArray code; code.append("uniform sampler2D texture;\n"); code.append("uniform vec2 inv_texture_size;\n"); @@ -352,7 +228,7 @@ QString QGLPixmapConvolutionFilter::generateConvolutionShader() const { code.append(" }\n"); code.append(" gl_FragColor = sum;\n"); code.append("}"); - return QLatin1String(code); + return code; } QGLPixmapConvolutionFilter::QGLPixmapConvolutionFilter() @@ -384,10 +260,12 @@ bool QGLPixmapConvolutionFilter::processGL(QPainter *, const QPointF &pos, const m_kernelWidth = columns(); m_kernelHeight = rows(); - QString code = generateConvolutionShader(); - m_program = new QGLSLProgram(code); - m_scaleUniform = m_program->getUniformLocation(QLatin1String("inv_texture_size")); - m_matrixUniform = m_program->getUniformLocation(QLatin1String("matrix")); + QByteArray code = generateConvolutionShader(); + m_program = new QGLShaderProgram(); + m_program->addShader(QGLShader::FragmentShader, code); + m_program->link(); + m_scaleUniform = m_program->uniformLocation("inv_texture_size"); + m_matrixUniform = m_program->uniformLocation("matrix"); } const qreal *kernel = convolutionKernel(); @@ -397,10 +275,10 @@ bool QGLPixmapConvolutionFilter::processGL(QPainter *, const QPointF &pos, const const qreal iw = 1.0 / src.width(); const qreal ih = 1.0 / src.height(); - m_program->setUniform(m_scaleUniform, iw, ih); - m_program->setUniform(m_matrixUniform, m_kernelWidth * m_kernelHeight, conv); - m_program->enable(); + m_program->setUniformValue(m_scaleUniform, iw, ih); + m_program->setUniformValueArray(m_matrixUniform, conv, m_kernelWidth * m_kernelHeight, 1); + qgl_drawTexture(target, src.width(), src.height(), boundingRectFor(srcRect)); m_program->disable(); return true; diff --git a/src/opengl/qglpixmapfilter_p.h b/src/opengl/qglpixmapfilter_p.h index dc2eea6..d6742fc 100644 --- a/src/opengl/qglpixmapfilter_p.h +++ b/src/opengl/qglpixmapfilter_p.h @@ -87,35 +87,6 @@ public: } }; -class Q_OPENGL_EXPORT QGLSLProgram -{ -public: - QGLSLProgram(const QString &src); - ~QGLSLProgram(); - - bool success() const; - - void enable(); - void disable(); - - int getUniformLocation(const QString &name); - - void setUniform(int uniform, int value); - void setUniform(int uniform, qreal value); - void setUniform(int uniform, qreal v1, qreal v2); - void setUniform(int uniform, qreal v1, qreal v2, qreal v3); - void setUniform(int uniform, qreal v1, qreal v2, qreal v3, qreal v4); - void setUniform(int uniform, int count, float *v); - -private: - GLuint m_shader; - GLuint m_program; - - GLint m_valid; - - const QGLContext *ctx; -}; - QT_END_NAMESPACE QT_END_HEADER diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp new file mode 100644 index 0000000..934b5a5 --- /dev/null +++ b/src/opengl/qglshaderprogram.cpp @@ -0,0 +1,2828 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qglshaderprogram.h" +#include "qglextensions_p.h" +#include "qgl_p.h" +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +#if !defined(QT_OPENGL_ES_1_CL) + +/*! + \class QGLShaderProgram + \brief The QGLShaderProgram class allows OpenGL shader programs to be linked and used. + \since 4.6 + + \section1 Introduction + + This class supports shader programs written in the OpenGL Shading + Language (GLSL) and in the OpenGL/ES Shading Language (GLSL/ES). + + QGLShader and QGLShaderProgram shelter the programmer from the details of + compiling and linking vertex and fragment shaders. + + The following example creates a vertex shader program using the + supplied source \c{code}. Once compiled and linked, the shader + program is activated in the current QGLContext by calling + QGLShaderProgram::enable(): + + \code + QGLShader shader(QGLShader::VertexShader); + shader.setSourceCode(code); + + QGLShaderProgram program(context); + program.addShader(shader); + program.link(); + + program.enable(); + \endcode + + \section1 Writing portable shaders + + Shader programs can be difficult to reuse across OpenGL implementations + because of varying levels of support for standard vertex attributes and + uniform variables. In particular, GLSL/ES lacks all of the + standard variables that are present on desktop OpenGL systems: + \c{gl_Vertex}, \c{gl_Normal}, \c{gl_Color}, and so on. Desktop OpenGL + lacks the variable qualifiers \c{highp}, \c{mediump}, and \c{lowp}. + + The QGLShaderProgram class makes the process of writing portable shaders + easier by prefixing all shader programs with the following lines on + desktop OpenGL: + + \code + #define highp + #define mediump + #define lowp + \endcode + + This makes it possible to run most GLSL/ES shader programs + on desktop systems. The programmer should restrict themselves + to just features that are present in GLSL/ES, and avoid + standard variable names that only work on the desktop. + + \section1 Simple shader example + + \code + program.addShader(QGLShader::VertexShader, + "attribute highp vec4 vertex;\n" + "attribute mediump mat4 matrix;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + "}"); + program.addShader(QGLShader::FragmentShader, + "uniform mediump vec4 color;\n" + "void main(void)\n" + "{\n" + " gl_FragColor = color;\n" + "}"); + program.link(); + program.enable(); + + int vertexLocation = program.attributeLocation("vertex"); + int matrixLocation = program.attributeLocation("matrix"); + int colorLocation = program.uniformLocation("color"); + \endcode + + With the above shader program active, we can draw a green triangle + as follows: + + \code + static GLfloat const triangleVertices[] = { + 60.0f, 10.0f, 0.0f, + 110.0f, 110.0f, 0.0f, + 10.0f, 110.0f, 0.0f + }; + + QColor color(0, 255, 0, 255); + + QMatrix4x4 pmvMatrix; + pmvMatrix.ortho(rect()); + + program.setAttributeArray(vertexLocation, triangleVertices, 3); + program.setUniformValue(matrixLocation, pmvMatrix); + program.setUniformValue(colorLocation, color); + + glDrawArrays(GL_TRIANGLES, 0, 3); + \endcode + + \section1 Partial shaders + + Desktop GLSL can attach an arbitrary number of vertex and fragment + shaders to a shader program. Embedded GLSL/ES on the other hand + supports only a single shader of each type on a shader program. + + Multiple shaders of the same type can be useful when large libraries + of shaders are needed. Common functions can be factored out into + library shaders that can be reused in multiple shader programs. + + To support this use of shaders, the application programmer can + create shaders with the QGLShader::PartialVertexShader and + QGLShader::PartialFragmentShader types. These types direct + QGLShader and QGLShaderProgram to delay shader compilation until + link time. + + When link() is called, the sources for the partial shaders are + concatenated, and a single vertex or fragment shader is compiled + and linked into the shader program. + + It is more efficient to use the QGLShader::VertexShader and + QGLShader::FragmentShader when there is only one shader of that + type in the program. + + \sa QGLShader +*/ + +/*! + \class QGLShader + \brief The QGLShader class allows OpenGL shaders to be compiled. + \since 4.6 + + This class supports shaders written in the OpenGL Shading Language (GLSL) + and in the OpenGL/ES Shading Language (GLSL/ES). + + QGLShader and QGLShaderProgram shelter the programmer from the details of + compiling and linking vertex and fragment shaders. + + \sa QGLShaderProgram +*/ + +/*! + \enum QGLShader::ShaderType + This enum specifies the type of QGLShader that is being created. + + \value VertexShader Vertex shader written in the OpenGL Shading Language (GLSL). + \value FragmentShader Fragment shader written in the OpenGL Shading Language (GLSL). + \value PartialVertexShader Partial vertex shader that will be concatenated with all other partial vertex shaders at link time. + \value PartialFragmentShader Partial fragment shader that will be concatenated with all other partial fragment shaders at link time. +*/ + +#ifndef GL_FRAGMENT_SHADER +#define GL_FRAGMENT_SHADER 0x8B30 +#endif +#ifndef GL_VERTEX_SHADER +#define GL_VERTEX_SHADER 0x8B31 +#endif +#ifndef GL_COMPILE_STATUS +#define GL_COMPILE_STATUS 0x8B81 +#endif +#ifndef GL_LINK_STATUS +#define GL_LINK_STATUS 0x8B82 +#endif +#ifndef GL_INFO_LOG_LENGTH +#define GL_INFO_LOG_LENGTH 0x8B84 +#endif +#ifndef GL_ACTIVE_UNIFORMS +#define GL_ACTIVE_UNIFORMS 0x8B86 +#endif +#ifndef GL_ACTIVE_UNIFORM_MAX_LENGTH +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#endif +#ifndef GL_ACTIVE_ATTRIBUTES +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#endif +#ifndef GL_ACTIVE_ATTRIBUTE_MAX_LENGTH +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#endif +#ifndef GL_CURRENT_VERTEX_ATTRIB +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#endif +#ifndef GL_SHADER_SOURCE_LENGTH +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#endif +#ifndef GL_SHADER_BINARY_FORMATS +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#endif +#ifndef GL_NUM_SHADER_BINARY_FORMATS +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#endif + +class QGLShaderPrivate +{ +public: + QGLShaderPrivate(QGLShader::ShaderType type, const QGLContext *ctx) + { + context = ctx; + shader = 0; + shaderType = type; + compiled = false; + isPartial = (type == QGLShader::PartialVertexShader || + type == QGLShader::PartialFragmentShader); + hasPartialSource = false; + } + + const QGLContext *context; + GLuint shader; + QGLShader::ShaderType shaderType; + bool compiled; + bool isPartial; + bool hasPartialSource; + QString errors; + QByteArray partialSource; + + bool create(); + bool compile(); +}; + +#define ctx context + +bool QGLShaderPrivate::create() +{ + if (isPartial) + return true; + if (!context) + context = QGLContext::currentContext(); + if (!context) + return false; + if (qt_resolve_glsl_extensions(const_cast(context))) { + if (shaderType == QGLShader::VertexShader) + shader = glCreateShader(GL_VERTEX_SHADER); + else + shader = glCreateShader(GL_FRAGMENT_SHADER); + if (!shader) { + qWarning() << "QGLShader: could not create shader"; + return false; + } + return true; + } else { + return false; + } +} + +bool QGLShaderPrivate::compile() +{ + // Partial shaders are compiled during QGLShaderProgram::link(). + if (isPartial && hasPartialSource) { + compiled = true; + return true; + } + if (!shader) + return false; + glCompileShader(shader); + GLint value = 0; + glGetShaderiv(shader, GL_COMPILE_STATUS, &value); + compiled = (value != 0); + value = 0; + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &value); + if (!compiled && value > 1) { + char *log = new char [value]; + GLint len; + glGetShaderInfoLog(shader, value, &len, log); + errors = QString::fromLatin1(log); + qWarning() << "QGLShader::compile:" << errors; + delete [] log; + } + return compiled; +} + +#undef ctx +#define ctx d->context + +/*! + Constructs a new QGLShader object of the specified \a type + and attaches it to \a parent. If shader programs are not supported, + then isValid() will return false. + + This constructor is normally followed by a call to setSourceCode() + or setSourceCodeFile(). + + The shader will be associated with the current QGLContext. + + \sa setSourceCode(), setSourceCodeFile(), isValid() +*/ +QGLShader::QGLShader(QGLShader::ShaderType type, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, QGLContext::currentContext()); + d->create(); +} + +/*! + Constructs a new QGLShader object from the source code in \a fileName + and attaches it to \a parent. If the filename ends in \c{.fsh}, + it is assumed to be a fragment shader, otherwise it is assumed to + be a vertex shader (normally the extension is \c{.vsh} for vertex shaders). + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with the current QGLContext. + + \sa isValid() +*/ +QGLShader::QGLShader(const QString& fileName, QObject *parent) + : QObject(parent) +{ + if (fileName.endsWith(QLatin1String(".fsh"), Qt::CaseInsensitive)) + d = new QGLShaderPrivate(QGLShader::FragmentShader, QGLContext::currentContext()); + else + d = new QGLShaderPrivate(QGLShader::VertexShader, QGLContext::currentContext()); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type from the + source code in \a fileName and attaches it to \a parent. + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with the current QGLContext. + + \sa isValid() +*/ +QGLShader::QGLShader + (const QString& fileName, QGLShader::ShaderType type, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, QGLContext::currentContext()); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type + and attaches it to \a parent. If shader programs are not supported, + then isValid() will return false. + + This constructor is normally followed by a call to setSourceCode() + or setSourceCodeFile(). + + The shader will be associated with \a context. + + \sa setSourceCode(), setSourceCodeFile(), isValid() +*/ +QGLShader::QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, context); + d->create(); +} + +/*! + Constructs a new QGLShader object from the source code in \a fileName + and attaches it to \a parent. If the filename ends in \c{.fsh}, + it is assumed to be a fragment shader, otherwise it is assumed to + be a vertex shader (normally the extension is \c{.vsh} for vertex shaders). + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with \a context. + + \sa isValid() +*/ +QGLShader::QGLShader(const QString& fileName, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + if (fileName.endsWith(QLatin1String(".fsh"), Qt::CaseInsensitive)) + d = new QGLShaderPrivate(QGLShader::FragmentShader, context); + else + d = new QGLShaderPrivate(QGLShader::VertexShader, context); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type from the + source code in \a fileName and attaches it to \a parent. + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with \a context. + + \sa isValid() +*/ +QGLShader::QGLShader + (const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, context); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Deletes this shader. If the shader has been attached to a + QGLShaderProgram object, then the actual shader will stay around + until the QGLShaderProgram is destroyed. +*/ +QGLShader::~QGLShader() +{ + if (d->shader) + glDeleteShader(d->shader); + delete d; +} + +/*! + Returns true if this shader is valid. Shaders become invalid + when they are destroyed and no longer attached to a QGLShaderProgram. +*/ +bool QGLShader::isValid() const +{ + if (d->isPartial && d->hasPartialSource) + return true; + if (!d->shader) + return false; +#if defined(QT_OPENGL_ES_2) + return glIsShader(d->shader); +#else + // glIsShader() may not exist on some systems. + return (!glIsShader || glIsShader(d->shader)); +#endif +} + +/*! + Returns the type of this shader. +*/ +QGLShader::ShaderType QGLShader::shaderType() const +{ + return d->shaderType; +} + +// The precision qualifiers are useful on OpenGL/ES systems, +// but usually not present on desktop systems. Define the +// keywords to empty strings on desktop systems. +#ifndef QT_OPENGL_ES +#define QGL_DEFINE_QUALIFIERS 1 +static const char qualifierDefines[] = + "#define lowp\n" + "#define mediump\n" + "#define highp\n"; +#endif + +/*! + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const char *source) +{ + if (d->isPartial) { + d->partialSource = QByteArray(source); + d->hasPartialSource = true; + return d->compile(); + } else if (d->shader) { + QVarLengthArray src; +#ifdef QGL_DEFINE_QUALIFIERS + src.append(qualifierDefines); +#endif + src.append(source); + glShaderSource(d->shader, src.size(), src.data(), 0); + return d->compile(); + } else { + return false; + } +} + +/*! + \overload + + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const QByteArray& source) +{ + return setSourceCode(source.constData()); +} + +/*! + \overload + + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const QString& source) +{ + return setSourceCode(source.toLatin1().constData()); +} + +/*! + Sets the source code for this shader to the contents of \a fileName + and compiles it. Returns true if the file could be opened and the + source compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCodeFile(const QString& fileName) +{ + if (!d->shader) + return false; + + QFile file(fileName); + if (!file.open(QFile::ReadOnly)) { + qWarning() << "QGLShader: Unable to open file" << fileName; + return false; + } + + QByteArray contents = file.readAll(); + return setSourceCode(contents.constData()); +} + +/*! + Sets the binary code for this shader to the \a length bytes from + the array \a binary. The \a format specifies how the binary data + should be interpreted by the OpenGL engine. Returns true if the + binary was set on the shader; false otherwise. + + This function cannot be used with PartialVertexShader or + PartialFragmentShader. + + \sa shaderBinaryFormats() +*/ +bool QGLShader::setBinaryCode(GLenum format, const void *binary, int length) +{ +#if !defined(QT_OPENGL_ES_2) + if (!glShaderBinary) + return false; +#endif + if (d->isPartial || !d->shader) + return false; + glGetError(); // Clear error state. + glShaderBinary(1, &(d->shader), format, binary, length); + return (glGetError() == GL_NO_ERROR); +} + +/*! + Sets the binary code for this shader to the \a length bytes from + the array \a binary. The \a format specifies how the binary data + should be interpreted by the OpenGL engine. Returns true if the + binary was set on the shader; false otherwise. + + The \a otherShader will also have binary code set on it. This is + for the case where \a binary contains both vertex and fragment + shader code. + + This function cannot be used with PartialVertexShader or + PartialFragmentShader. + + \sa shaderBinaryFormats() +*/ +bool QGLShader::setBinaryCode + (QGLShader& otherShader, GLenum format, const void *binary, int length) +{ +#if !defined(QT_OPENGL_ES_2) + if (!glShaderBinary) + return false; +#endif + if (d->isPartial || !d->shader) + return false; + if (otherShader.d->isPartial || !otherShader.d->shader) + return false; + glGetError(); // Clear error state. + GLuint shaders[2]; + shaders[0] = d->shader; + shaders[1] = otherShader.d->shader; + glShaderBinary(2, shaders, format, binary, length); + return (glGetError() == GL_NO_ERROR); +} + +/*! + Returns a list of all binary formats that are supported by + setBinaryCode() on this system. + + \sa setBinaryCode() +*/ +QList QGLShader::shaderBinaryFormats() +{ + GLint num; + QList list; + glGetError(); // Clear error state. + glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &num); + if (glGetError() != GL_NO_ERROR || num <= 0) + return list; + QVarLengthArray formats(num); + glGetIntegerv(GL_SHADER_BINARY_FORMATS, formats.data()); + for (GLint i = 0; i < num; ++i) + list += (GLenum)(formats[i]); + return list; +} + +/*! + Returns the source code for this shader. + + \sa setSourceCode() +*/ +QByteArray QGLShader::sourceCode() const +{ + if (d->isPartial) + return d->partialSource; + if (!d->shader) + return QByteArray(); + GLint size = 0; + glGetShaderiv(d->shader, GL_SHADER_SOURCE_LENGTH, &size); + if (size <= 0) + return QByteArray(); + GLint len = 0; + char *source = new char [size]; + glGetShaderSource(d->shader, size, &len, source); + QByteArray src(source); + delete [] source; + return src; +} + +/*! + Returns true if this shader has been compiled; false otherwise. + + \sa setSourceCode() +*/ +bool QGLShader::isCompiled() const +{ + return d->compiled; +} + +/*! + Returns the errors that occurred during the last compile. + + \sa setSourceCode() +*/ +QString QGLShader::errors() const +{ + return d->errors; +} + +/*! + Returns the OpenGL identifier associated with this shader. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + this function will always return zero. Partial shaders are + created and compiled when QGLShaderProgram::link() is called. + + \sa QGLShaderProgram::programId() +*/ +GLuint QGLShader::shaderId() const +{ + return d->shader; +} + +#undef ctx +#define ctx context + +class QGLShaderProgramPrivate +{ +public: + QGLShaderProgramPrivate(const QGLContext *ctx) + { + context = ctx; + program = 0; + linked = false; + inited = false; + hasPartialShaders = false; + vertexShader = 0; + fragmentShader = 0; + } + ~QGLShaderProgramPrivate() + { + if (program) + glDeleteProgram(program); + } + + const QGLContext *context; + GLuint program; + bool linked; + bool inited; + bool hasPartialShaders; + QString errors; + QList shaders; + QList anonShaders; + QGLShader *vertexShader; + QGLShader *fragmentShader; +}; + +#undef ctx +#define ctx d->context + +/*! + Constructs a new shader program and attaches it to \a parent. + The program will be invalid until addShader() is called. + + The shader program will be associated with the current QGLContext. + + \sa isValid(), addShader() +*/ +QGLShaderProgram::QGLShaderProgram(QObject *parent) + : QObject(parent) +{ + d = new QGLShaderProgramPrivate(QGLContext::currentContext()); +} + +/*! + Constructs a new shader program and attaches it to \a parent. + The program will be invalid until addShader() is called. + + The shader program will be associated with \a context. + + \sa isValid(), addShader() +*/ +QGLShaderProgram::QGLShaderProgram(const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderProgramPrivate(context); +} + +/*! + Deletes this shader program. +*/ +QGLShaderProgram::~QGLShaderProgram() +{ + delete d; +} + +bool QGLShaderProgram::init() +{ + if (d->program || d->inited) + return true; + d->inited = true; + if (!d->context) + d->context = QGLContext::currentContext(); + if (!d->context) + return false; + if (qt_resolve_glsl_extensions(const_cast(d->context))) { + d->program = glCreateProgram(); + if (!(d->program)) { + qWarning() << "QGLShaderProgram: could not create shader program"; + return false; + } + return true; + } else { + qWarning() << "QGLShaderProgram: shader programs are not supported"; + return false; + } +} + +/*! + Returns true if this shader program object is valid, false otherwise. +*/ +bool QGLShaderProgram::isValid() const +{ + if (!d->program) + return false; +#if defined(QT_OPENGL_ES_2) + return glIsProgram(d->program); +#else + // glIsProgram() may not exist on some systems. + return (!glIsProgram || glIsProgram(d->program)); +#endif +} + +/*! + Adds a compiled \a shader to this shader program. Returns true + if the shader could be added, or false otherwise. + + Ownership of the \a shader object remains with the caller. + It will not be deleted when this QGLShaderProgram instance + is deleted. This allows the caller to add the same shader + to multiple shader programs. + + \sa removeShader(), link(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader *shader) +{ + if (!init()) + return false; + if (d->shaders.contains(shader)) + return true; // Already added to this shader program. + if (d->program && shader && shader->d->shader) { + if (!shader->d->compiled) + return false; + if (!shader->d->isPartial) + glAttachShader(d->program, shader->d->shader); + else + d->hasPartialShaders = true; + d->linked = false; // Program needs to be relinked. + d->shaders.append(shader); + return true; + } else { + return false; + } +} + +/*! + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const char *source) +{ + if (!init()) + return false; + QGLShader *shader = new QGLShader(type, this); + if (!shader->setSourceCode(source)) { + d->errors = shader->errors(); + delete shader; + return false; + } + d->anonShaders.append(shader); + return addShader(shader); +} + +/*! + \overload + + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QByteArray& source) +{ + return addShader(type, source.constData()); +} + +/*! + \overload + + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QString& source) +{ + return addShader(type, source.toLatin1().constData()); +} + +/*! + Removes \a shader from this shader program. The object is not deleted. + + \sa addShader(), link(), removeAllShaders() +*/ +void QGLShaderProgram::removeShader(QGLShader *shader) +{ + if (d->program && shader && shader->d->shader) { + glDetachShader(d->program, shader->d->shader); + d->linked = false; // Program needs to be relinked. + } + d->shaders.removeAll(shader); + d->anonShaders.removeAll(shader); +} + +/*! + Returns a list of all shaders that have been added to this shader + program using addShader(). + + \sa addShader(), removeShader() +*/ +QList QGLShaderProgram::shaders() const +{ + return d->shaders; +} + +/*! + Removes all of the shaders that were added to this program previously. + The QGLShader objects for the shaders will not be deleted if they + were constructed externally. QGLShader objects that are constructed + internally by QGLShaderProgram will be deleted. + + \sa addShader(), removeShader() +*/ +void QGLShaderProgram::removeAllShaders() +{ + foreach (QGLShader *shader, d->shaders) { + if (d->program && shader && shader->d->shader) + glDetachShader(d->program, shader->d->shader); + } + foreach (QGLShader *shader, d->anonShaders) { + // Delete shader objects that were created anonymously. + delete shader; + } + d->shaders.clear(); + d->anonShaders.clear(); + d->linked = false; // Program needs to be relinked. +} + +#if defined(QT_OPENGL_ES_2) + +#ifndef GL_PROGRAM_BINARY_LENGTH_OES +#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 +#endif +#ifndef GL_NUM_PROGRAM_BINARY_FORMATS_OES +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE +#endif +#ifndef GL_PROGRAM_BINARY_FORMATS_OES +#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF +#endif + +#endif + +/*! + Returns the program binary associated with this shader program. + The numeric identifier of the program binary format is returned + in \a format. The \c OES_get_program_binary extension will need + to be supported by the system for binary retrieval to succeed. + + Returns an empty QByteArray if the program binary cannot be + retrieved on this system, or the shader program has not yet + been linked. + + The returned binary can be supplied to setProgramBinary() on the + same machine at some future point to reload the program. It contains + the compiled code of all of the shaders that were attached to the + program at the time programBinary() is called. + + \sa setProgramBinary(), programBinaryFormats() +*/ +QByteArray QGLShaderProgram::programBinary(int *format) const +{ +#if defined(QT_OPENGL_ES_2) + if (!isLinked()) + return QByteArray(); + + // Get the length of the binary data, bailing out if there is none. + GLint length = 0; + glGetProgramiv(d->program, GL_PROGRAM_BINARY_LENGTH_OES, &length); + if (length <= 0) + return QByteArray(); + + // Retrieve the binary data. + QByteArray binary(length, 0); + GLenum binaryFormat; + glGetProgramBinaryOES(d->program, length, 0, &binaryFormat, binary.data()); + if (format) + *format = (int)binaryFormat; + return binary; +#else + Q_UNUSED(format); + return QByteArray(); +#endif +} + +/*! + Sets the \a binary for this shader program according to \a format. + Returns true if the binary was set, or false if the binary format + is not supported or this system does not support program binaries. + The program will be linked if the load succeeds. + + \sa programBinary(), programBinaryFormats(), isLinked() +*/ +bool QGLShaderProgram::setProgramBinary(int format, const QByteArray& binary) +{ +#if defined(QT_OPENGL_ES_2) + // Load the binary and check that it was linked correctly. + glProgramBinaryOES(d->program, (GLenum)format, + binary.constData(), binary.size()); + GLint value = 0; + glGetProgramiv(d->program, GL_LINK_STATUS, &value); + d->linked = (value != 0); + value = 0; + glGetProgramiv(d->program, GL_INFO_LOG_LENGTH, &value); + d->errors = QString(); + if (value > 1) { + char *log = new char [value]; + GLint len; + glGetProgramInfoLog(d->program, value, &len, log); + d->errors = QString::fromLatin1(log); + qWarning() << "QGLShaderProgram::setProgramBinary:" << d->errors; + delete [] log; + } + return d->linked; +#else + Q_UNUSED(format); + Q_UNUSED(binary); + return false; +#endif +} + +/*! + Returns the list of program binary formats that are accepted by + this system for use with setProgramBinary(). + + \sa programBinary, setProgramBinary() +*/ +QList QGLShaderProgram::programBinaryFormats() +{ +#if defined(QT_OPENGL_ES_2) + GLint count = 0; + glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS_OES, &count); + if (count <= 0) + return QList(); + QVector list; + list.resize(count); + glGetIntegerv(GL_PROGRAM_BINARY_FORMATS_OES, list.data()); + return list.toList(); +#else + return QList(); +#endif +} + +/*! + Links together the shaders that were added to this program with + addShader(). Returns true if the link was successful or + false otherwise. If the link failed, the error messages can + be retrieved with errors(). + + Subclasses can override this function to initialize attributes + and uniform variables for use in specific shader programs. + + If the shader program was already linked, calling this + function again will force it to be re-linked. + + \sa addShader(), errors() +*/ +bool QGLShaderProgram::link() +{ + if (!d->program) + return false; + if (d->hasPartialShaders) { + // Compile the partial vertex and fragment shaders. + QByteArray vertexSource; + QByteArray fragmentSource; + foreach (QGLShader *shader, d->shaders) { + if (shader->shaderType() == QGLShader::PartialVertexShader) + vertexSource += shader->sourceCode(); + else if (shader->shaderType() == QGLShader::PartialFragmentShader) + fragmentSource += shader->sourceCode(); + } + if (vertexSource.isEmpty()) { + if (d->vertexShader) { + glDetachShader(d->program, d->vertexShader->d->shader); + delete d->vertexShader; + d->vertexShader = 0; + } + } else { + if (!d->vertexShader) { + d->vertexShader = + new QGLShader(QGLShader::VertexShader, this); + } + if (!d->vertexShader->setSourceCode(vertexSource)) { + d->errors = d->vertexShader->errors(); + return false; + } + glAttachShader(d->program, d->vertexShader->d->shader); + } + if (fragmentSource.isEmpty()) { + if (d->fragmentShader) { + glDetachShader(d->program, d->fragmentShader->d->shader); + delete d->fragmentShader; + d->fragmentShader = 0; + } + } else { + if (!d->fragmentShader) { + d->fragmentShader = + new QGLShader(QGLShader::FragmentShader, this); + } + if (!d->fragmentShader->setSourceCode(fragmentSource)) { + d->errors = d->fragmentShader->errors(); + return false; + } + glAttachShader(d->program, d->fragmentShader->d->shader); + } + } + glLinkProgram(d->program); + GLint value = 0; + glGetProgramiv(d->program, GL_LINK_STATUS, &value); + d->linked = (value != 0); + value = 0; + glGetProgramiv(d->program, GL_INFO_LOG_LENGTH, &value); + d->errors = QString(); + if (value > 1) { + char *log = new char [value]; + GLint len; + glGetProgramInfoLog(d->program, value, &len, log); + d->errors = QString::fromLatin1(log); + qWarning() << "QGLShaderProgram::link:" << d->errors; + delete [] log; + } + return d->linked; +} + +/*! + Returns true if this shader program has been linked; false otherwise. + + \sa link() +*/ +bool QGLShaderProgram::isLinked() const +{ + return d->linked; +} + +/*! + Returns the errors that occurred during the last link() + or addShader() with explicitly specified source code. + + \sa link() +*/ +QString QGLShaderProgram::errors() const +{ + return d->errors; +} + +/*! + Enable use of this shader program in the currently active QGLContext. + Returns true if the program was successfully enabled; false + otherwise. If the shader program has not yet been linked, + or it needs to be re-linked, this function will call link(). + + \sa link(), disable() +*/ +bool QGLShaderProgram::enable() +{ + if (!d->program) + return false; + if (!d->linked && !link()) + return false; + glUseProgram(d->program); + return true; +} + +/*! + Disables this shader program in the currently active QGLContext. + This is equivalent to calling \c{glUseProgram(0)}. + + \sa enable() +*/ +void QGLShaderProgram::disable() +{ +#if defined(QT_OPENGL_ES_2) + glUseProgram(0); +#else + if (glUseProgram) + glUseProgram(0); +#endif +} + +/*! + Returns the OpenGL identifier associated with this shader program. + + \sa QGLShader::shaderId() +*/ +GLuint QGLShaderProgram::programId() const +{ + return d->program; +} + +/*! + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const char *name, int location) +{ + glBindAttribLocation(d->program, location, name); +} + +/*! + \overload + + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const QByteArray& name, int location) +{ + glBindAttribLocation(d->program, location, name.constData()); +} + +/*! + \overload + + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const QString& name, int location) +{ + glBindAttribLocation(d->program, location, name.toLatin1().constData()); +} + +/*! + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const char *name) const +{ + if (d->linked) { + return glGetAttribLocation(d->program, name); + } else { + qWarning() << "QGLShaderProgram::attributeLocation(" << name + << "): shader program is not linked"; + return -1; + } +} + +/*! + \overload + + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const QByteArray& name) const +{ + return attributeLocation(name.constData()); +} + +/*! + \overload + + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const QString& name) const +{ + return attributeLocation(name.toLatin1().constData()); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, GLfloat value) +{ + if (location != -1) + glVertexAttrib1fv(location, &value); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, GLfloat value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to + the 2D vector (\a x, \a y). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, GLfloat x, GLfloat y) +{ + if (location != -1) { + GLfloat values[2] = {x, y}; + glVertexAttrib2fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 2D vector (\a x, \a y). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, GLfloat x, GLfloat y) +{ + setAttributeValue(attributeLocation(name), x, y); +} + +/*! + Sets the attribute at \a location in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, GLfloat x, GLfloat y, GLfloat z) +{ + if (location != -1) { + GLfloat values[3] = {x, y, z}; + glVertexAttrib3fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, GLfloat x, GLfloat y, GLfloat z) +{ + setAttributeValue(attributeLocation(name), x, y, z); +} + +/*! + Sets the attribute at \a location in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + if (location != -1) { + GLfloat values[4] = {x, y, z, w}; + glVertexAttrib4fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + setAttributeValue(attributeLocation(name), x, y, z, w); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector2D& value) +{ + if (location != -1) + glVertexAttrib2fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector2D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector3D& value) +{ + if (location != -1) + glVertexAttrib3fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector3D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector4D& value) +{ + if (location != -1) + glVertexAttrib4fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector4D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QColor& value) +{ + if (location != -1) { + GLfloat values[4] = {value.redF(), value.greenF(), value.blueF(), value.alphaF()}; + glVertexAttrib4fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QColor& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to the + contents of \a values, which contains \a columns elements, each + consisting of \a rows elements. The \a rows value should be + 1, 2, 3, or 4. This function is typically used to set matrix + values and column vectors. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, const GLfloat *values, int columns, int rows) +{ + if (rows < 1 || rows > 4) { + qWarning() << "QGLShaderProgram::setAttributeValue: rows" << rows << "not supported"; + return; + } + if (location != -1) { + while (columns-- > 0) { + if (rows == 1) + glVertexAttrib1fv(location, values); + else if (rows == 2) + glVertexAttrib2fv(location, values); + else if (rows == 3) + glVertexAttrib3fv(location, values); + else + glVertexAttrib4fv(location, values); + values += rows; + ++location; + } + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to the + contents of \a values, which contains \a columns elements, each + consisting of \a rows elements. The \a rows value should be + 1, 2, 3, or 4. This function is typically used to set matrix + values and column vectors. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, const GLfloat *values, int columns, int rows) +{ + setAttributeValue(attributeLocation(name), values, columns, rows); +} + +/*! + Sets an array of vertex \a values on the attribute at \a location + in this shader program. The \a size indicates the number of + components per vertex (1, 2, 3, or 4), and the \a stride indicates + the number of bytes between vertices. A default \a stride value + of zero indicates that the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const GLfloat *values, int size, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, size, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 2D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector2D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 2, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 3D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector3D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 3, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 4D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector4D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 4, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + \overload + + Sets an array of vertex \a values on the attribute called \a name + in this shader program. The \a size indicates the number of + components per vertex (1, 2, 3, or 4), and the \a stride indicates + the number of bytes between vertices. A default \a stride value + of zero indicates that the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const GLfloat *values, int size, int stride) +{ + setAttributeArray(attributeLocation(name), values, size, stride); +} + +/*! + \overload + + Sets an array of 2D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector2D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + \overload + + Sets an array of 3D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector3D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + \overload + + Sets an array of 4D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector4D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + Disables the vertex array at \a location in this shader program + that was enabled by a previous call to setAttributeArray(). + + \sa setAttributeArray(), setAttributeValue(), setUniformValue() +*/ +void QGLShaderProgram::disableAttributeArray(int location) +{ + if (location != -1) + glDisableVertexAttribArray(location); +} + +/*! + \overload + + Disables the vertex array called \a name in this shader program + that was enabled by a previous call to setAttributeArray(). + + \sa setAttributeArray(), setAttributeValue(), setUniformValue() +*/ +void QGLShaderProgram::disableAttributeArray(const char *name) +{ + disableAttributeArray(attributeLocation(name)); +} + +/*! + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const char *name) const +{ + if (d->linked) { + return glGetUniformLocation(d->program, name); + } else { + qWarning() << "QGLShaderProgram::uniformLocation(" << name + << "): shader program is not linked"; + return -1; + } +} + +/*! + \overload + + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const QByteArray& name) const +{ + return uniformLocation(name.constData()); +} + +/*! + \overload + + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const QString& name) const +{ + return uniformLocation(name.toLatin1().constData()); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLfloat value) +{ + if (location != -1) + glUniform1fv(location, 1, &value); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLfloat value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + This function must be used when setting sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLint value) +{ + if (location != -1) + glUniform1i(location, value); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. This function must be used when setting sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLint value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 2D vector (\a x, \a y). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLfloat x, GLfloat y) +{ + if (location != -1) { + GLfloat values[2] = {x, y}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 2D vector (\a x, \a y). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLfloat x, GLfloat y) +{ + setUniformValue(uniformLocation(name), x, y); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (int location, GLfloat x, GLfloat y, GLfloat z) +{ + if (location != -1) { + GLfloat values[3] = {x, y, z}; + glUniform3fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (const char *name, GLfloat x, GLfloat y, GLfloat z) +{ + setUniformValue(uniformLocation(name), x, y, z); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + if (location != -1) { + GLfloat values[4] = {x, y, z, w}; + glUniform4fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + setUniformValue(uniformLocation(name), x, y, z, w); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector2D& value) +{ + if (location != -1) + glUniform2fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector2D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector3D& value) +{ + if (location != -1) + glUniform3fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector3D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector4D& value) +{ + if (location != -1) + glUniform4fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector4D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to + the red, green, blue, and alpha components of \a color. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QColor& color) +{ + if (location != -1) { + GLfloat values[4] = {color.redF(), color.greenF(), color.blueF(), color.alphaF()}; + glUniform4fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the red, green, blue, and alpha components of \a color. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QColor& color) +{ + setUniformValue(uniformLocation(name), color); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x2& value) +{ + if (location != -1) + glUniformMatrix2fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x3& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix2x3fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix2x3fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform3fv(location, 2, value.data()); + } + } +#else + if (location != -1) + glUniform3fv(location, 2, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x4& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix2x4fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix2x4fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform4fv(location, 2, value.data()); + } + } +#else + if (location != -1) + glUniform4fv(location, 2, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x2& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix3x2fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix3x2fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform2fv(location, 3, value.data()); + } + } +#else + if (location != -1) + glUniform2fv(location, 3, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x3& value) +{ + if (location != -1) + glUniformMatrix3fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x4& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix3x4fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix3x4fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform4fv(location, 3, value.data()); + } + } +#else + if (location != -1) + glUniform4fv(location, 3, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x2& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix4x2fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix4x2fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform2fv(location, 4, value.data()); + } + } +#else + if (location != -1) + glUniform2fv(location, 4, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x3& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix4x3fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix4x3fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform3fv(location, 4, value.data()); + } + } +#else + if (location != -1) + glUniform3fv(location, 4, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x4& value) +{ + if (location != -1) + glUniformMatrix4fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context + to a 4x4 matrix \a value. The matrix elements must be specified + in column-major order. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const GLfloat value[4][4]) +{ + if (location != -1) + glUniformMatrix4fv(location, 1, GL_FALSE, value[0]); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x4 matrix \a value. The matrix elements must be specified + in column-major order. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const GLfloat value[4][4]) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to a + 3x3 transformation matrix \a value that is specified as a QTransform value. + + To set a QTransform value as a 4x4 matrix in a shader, use + \c{setUniformValue(location, QMatrix4x4(value))}. +*/ +void QGLShaderProgram::setUniformValue(int location, const QTransform& value) +{ + if (location != -1) { + GLfloat mat[3][3] = { + {value.m11(), value.m12(), value.m13()}, + {value.m21(), value.m22(), value.m23()}, + {value.m31(), value.m32(), value.m33()} + }; + glUniformMatrix3fv(location, 1, GL_FALSE, mat[0]); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to a + 3x3 transformation matrix \a value that is specified as a QTransform value. + + To set a QTransform value as a 4x4 matrix in a shader, use + \c{setUniformValue(name, QMatrix4x4(value))}. +*/ +void QGLShaderProgram::setUniformValue + (const char *name, const QTransform& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count elements of \a values. This overload + must be used when setting an array of sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const GLint *values, int count) +{ + if (location != -1) + glUniform1iv(location, count, values); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count elements of \a values. This overload + must be used when setting an array of sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray + (const char *name, const GLint *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count elements of \a values. Each element + has \a size components. The \a size must be 1, 2, 3, or 4. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const GLfloat *values, int count, int size) +{ + if (location != -1) { + if (size == 1) + glUniform1fv(location, count, values); + else if (size == 2) + glUniform2fv(location, count, values); + else if (size == 3) + glUniform3fv(location, count, values); + else if (size == 4) + glUniform4fv(location, count, values); + else + qWarning() << "QGLShaderProgram::setUniformValue: size" << size << "not supported"; + } +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count elements of \a values. Each element + has \a size components. The \a size must be 1, 2, 3, or 4. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray + (const char *name, const GLfloat *values, int count, int size) +{ + setUniformValueArray(uniformLocation(name), values, count, size); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector2D *values, int count) +{ + if (location != -1) + glUniform2fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector2D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector3D *values, int count) +{ + if (location != -1) + glUniform3fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector3D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector4D *values, int count) +{ + if (location != -1) + glUniform4fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector4D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +// We may have to repack matrix arrays if the matrix types +// contain additional flag bits. Especially QMatrix4x4. +#define setUniformMatrixArray(func,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + func(location, count, GL_FALSE, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + func(location, count, GL_FALSE, temp.constData()); \ + } +#if !defined(QT_OPENGL_ES_2) +#define setUniformGenericMatrixArray(func,colfunc,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + if (func) \ + func(location, count, GL_FALSE, values->constData()); \ + else \ + colfunc(location, cols * count, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + if (func) \ + func(location, count, GL_FALSE, temp.constData()); \ + else \ + colfunc(location, count * cols, temp.constData()); \ + } +#else +#define setUniformGenericMatrixArray(func,colfunc,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + colfunc(location, cols * count, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + colfunc(location, count * cols, temp.constData()); \ + } +#endif + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x2 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix2fv, location, values, count, QMatrix2x2, 2, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x3 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix2x3fv, glUniform3fv, location, values, count, + QMatrix2x3, 2, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x4 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix2x4fv, glUniform4fv, location, values, count, + QMatrix2x4, 2, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x2 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix3x2fv, glUniform2fv, location, values, count, + QMatrix3x2, 3, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x3 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix3fv, location, values, count, QMatrix3x3, 3, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x4 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix3x4fv, glUniform4fv, location, values, count, + QMatrix3x4, 3, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x2 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix4x2fv, glUniform2fv, location, values, count, + QMatrix4x2, 4, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x3 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix4x3fv, glUniform3fv, location, values, count, + QMatrix4x3, 4, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x4 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix4fv, location, values, count, QMatrix4x4, 4, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Returns true if shader programs written in the OpenGL Shading + Language (GLSL) are supported on this system; false otherwise. + + The \a context is used to resolve the GLSL extensions. + If \a context is null, then QGLContext::currentContext() is used. +*/ +bool QGLShaderProgram::hasShaderPrograms(const QGLContext *context) +{ +#if !defined(QT_OPENGL_ES_2) + if (!context) + context = QGLContext::currentContext(); + if (!context) + return false; + return qt_resolve_glsl_extensions(const_cast(context)); +#else + Q_UNUSED(context); + return true; +#endif +} + +#endif + +QT_END_NAMESPACE diff --git a/src/opengl/qglshaderprogram.h b/src/opengl/qglshaderprogram.h new file mode 100644 index 0000000..ec6faaf --- /dev/null +++ b/src/opengl/qglshaderprogram.h @@ -0,0 +1,285 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGLSHADERPROGRAM_H +#define QGLSHADERPROGRAM_H + +#include +#include +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(OpenGL) + +#if !defined(QT_OPENGL_ES_1_CL) && !defined(QT_GL_FIXED_PREFERRED) + +class QGLShaderProgram; +class QGLShaderPrivate; + +class Q_OPENGL_EXPORT QGLShader : public QObject +{ + Q_OBJECT +public: + enum ShaderType + { + VertexShader, + FragmentShader, + PartialVertexShader, + PartialFragmentShader + }; + + explicit QGLShader(QGLShader::ShaderType type, QObject *parent = 0); + explicit QGLShader(const QString& fileName, QObject *parent = 0); + QGLShader(const QString& fileName, QGLShader::ShaderType type, QObject *parent = 0); + QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0); + QGLShader(const QString& fileName, const QGLContext *context, QObject *parent = 0); + QGLShader(const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0); + virtual ~QGLShader(); + + bool isValid() const; + + QGLShader::ShaderType shaderType() const; + + bool setSourceCode(const char *source); + bool setSourceCode(const QByteArray& source); + bool setSourceCode(const QString& source); + bool setSourceCodeFile(const QString& fileName); + + bool setBinaryCode(GLenum format, const void *binary, int length); + bool setBinaryCode(QGLShader& otherShader, GLenum format, const void *binary, int length); + + static QList shaderBinaryFormats(); + + QByteArray sourceCode() const; + + bool isCompiled() const; + QString errors() const; + + GLuint shaderId() const; + +private: + QGLShaderPrivate *d; + + friend class QGLShaderProgram; + + Q_DISABLE_COPY(QGLShader); +}; + +class QGLShaderProgramPrivate; + +class Q_OPENGL_EXPORT QGLShaderProgram : public QObject +{ + Q_OBJECT +public: + explicit QGLShaderProgram(QObject *parent = 0); + explicit QGLShaderProgram(const QGLContext *context, QObject *parent = 0); + virtual ~QGLShaderProgram(); + + bool isValid() const; + + bool addShader(QGLShader *shader); + void removeShader(QGLShader *shader); + QList shaders() const; + + bool addShader(QGLShader::ShaderType type, const char *source); + bool addShader(QGLShader::ShaderType type, const QByteArray& source); + bool addShader(QGLShader::ShaderType type, const QString& source); + + void removeAllShaders(); + + QByteArray programBinary(int *format) const; + bool setProgramBinary(int format, const QByteArray& binary); + static QList programBinaryFormats(); + + virtual bool link(); + bool isLinked() const; + QString errors() const; + + bool enable(); + void disable(); + + GLuint programId() const; + + void bindAttributeLocation(const char *name, int location); + void bindAttributeLocation(const QByteArray& name, int location); + void bindAttributeLocation(const QString& name, int location); + + int attributeLocation(const char *name) const; + int attributeLocation(const QByteArray& name) const; + int attributeLocation(const QString& name) const; + + void setAttributeValue(int location, GLfloat value); + void setAttributeValue(int location, GLfloat x, GLfloat y); + void setAttributeValue(int location, GLfloat x, GLfloat y, GLfloat z); + void setAttributeValue(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setAttributeValue(int location, const QVector2D& value); + void setAttributeValue(int location, const QVector3D& value); + void setAttributeValue(int location, const QVector4D& value); + void setAttributeValue(int location, const QColor& value); + void setAttributeValue(int location, const GLfloat *values, int columns, int rows); + + void setAttributeValue(const char *name, GLfloat value); + void setAttributeValue(const char *name, GLfloat x, GLfloat y); + void setAttributeValue(const char *name, GLfloat x, GLfloat y, GLfloat z); + void setAttributeValue(const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setAttributeValue(const char *name, const QVector2D& value); + void setAttributeValue(const char *name, const QVector3D& value); + void setAttributeValue(const char *name, const QVector4D& value); + void setAttributeValue(const char *name, const QColor& value); + void setAttributeValue(const char *name, const GLfloat *values, int columns, int rows); + + void setAttributeArray + (int location, const GLfloat *values, int size, int stride = 0); + void setAttributeArray + (int location, const QVector2D *values, int stride = 0); + void setAttributeArray + (int location, const QVector3D *values, int stride = 0); + void setAttributeArray + (int location, const QVector4D *values, int stride = 0); + void setAttributeArray + (const char *name, const GLfloat *values, int size, int stride = 0); + void setAttributeArray + (const char *name, const QVector2D *values, int stride = 0); + void setAttributeArray + (const char *name, const QVector3D *values, int stride = 0); + void setAttributeArray + (const char *name, const QVector4D *values, int stride = 0); + void disableAttributeArray(int location); + void disableAttributeArray(const char *name); + + int uniformLocation(const char *name) const; + int uniformLocation(const QByteArray& name) const; + int uniformLocation(const QString& name) const; + + void setUniformValue(int location, GLfloat value); + void setUniformValue(int location, GLint value); + void setUniformValue(int location, GLfloat x, GLfloat y); + void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z); + void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setUniformValue(int location, const QVector2D& value); + void setUniformValue(int location, const QVector3D& value); + void setUniformValue(int location, const QVector4D& value); + void setUniformValue(int location, const QColor& color); + void setUniformValue(int location, const QMatrix2x2& value); + void setUniformValue(int location, const QMatrix2x3& value); + void setUniformValue(int location, const QMatrix2x4& value); + void setUniformValue(int location, const QMatrix3x2& value); + void setUniformValue(int location, const QMatrix3x3& value); + void setUniformValue(int location, const QMatrix3x4& value); + void setUniformValue(int location, const QMatrix4x2& value); + void setUniformValue(int location, const QMatrix4x3& value); + void setUniformValue(int location, const QMatrix4x4& value); + void setUniformValue(int location, const GLfloat value[4][4]); + void setUniformValue(int location, const QTransform& value); + + void setUniformValue(const char *name, GLfloat value); + void setUniformValue(const char *name, GLint value); + void setUniformValue(const char *name, GLfloat x, GLfloat y); + void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z); + void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setUniformValue(const char *name, const QVector2D& value); + void setUniformValue(const char *name, const QVector3D& value); + void setUniformValue(const char *name, const QVector4D& value); + void setUniformValue(const char *name, const QColor& color); + void setUniformValue(const char *name, const QMatrix2x2& value); + void setUniformValue(const char *name, const QMatrix2x3& value); + void setUniformValue(const char *name, const QMatrix2x4& value); + void setUniformValue(const char *name, const QMatrix3x2& value); + void setUniformValue(const char *name, const QMatrix3x3& value); + void setUniformValue(const char *name, const QMatrix3x4& value); + void setUniformValue(const char *name, const QMatrix4x2& value); + void setUniformValue(const char *name, const QMatrix4x3& value); + void setUniformValue(const char *name, const QMatrix4x4& value); + void setUniformValue(const char *name, const GLfloat value[4][4]); + void setUniformValue(const char *name, const QTransform& value); + + void setUniformValueArray(int location, const GLfloat *values, int count, int size); + void setUniformValueArray(int location, const GLint *values, int count); + void setUniformValueArray(int location, const QVector2D *values, int count); + void setUniformValueArray(int location, const QVector3D *values, int count); + void setUniformValueArray(int location, const QVector4D *values, int count); + void setUniformValueArray(int location, const QMatrix2x2 *values, int count); + void setUniformValueArray(int location, const QMatrix2x3 *values, int count); + void setUniformValueArray(int location, const QMatrix2x4 *values, int count); + void setUniformValueArray(int location, const QMatrix3x2 *values, int count); + void setUniformValueArray(int location, const QMatrix3x3 *values, int count); + void setUniformValueArray(int location, const QMatrix3x4 *values, int count); + void setUniformValueArray(int location, const QMatrix4x2 *values, int count); + void setUniformValueArray(int location, const QMatrix4x3 *values, int count); + void setUniformValueArray(int location, const QMatrix4x4 *values, int count); + + void setUniformValueArray(const char *name, const GLfloat *values, int count, int size); + void setUniformValueArray(const char *name, const GLint *values, int count); + void setUniformValueArray(const char *name, const QVector2D *values, int count); + void setUniformValueArray(const char *name, const QVector3D *values, int count); + void setUniformValueArray(const char *name, const QVector4D *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x4 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x4 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x4 *values, int count); + + static bool hasShaderPrograms(const QGLContext *context = 0); + +private: + QGLShaderProgramPrivate *d; + + Q_DISABLE_COPY(QGLShaderProgram); + + bool init(); +}; + +#endif + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 41c73a3..19f6b43 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -432,3 +432,4 @@ contains(QT_CONFIG, webkit): SUBDIRS += \ qwebframe \ qwebpage +SUBDIRS += math3d diff --git a/tests/auto/math3d/math3d.pro b/tests/auto/math3d/math3d.pro new file mode 100644 index 0000000..3977e92 --- /dev/null +++ b/tests/auto/math3d/math3d.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = qfixedpt qmatrixnxn qquaternion qvectornd +SUBDIRS += qmatrixnxn_fixed qquaternion_fixed qvectornd_fixed diff --git a/tests/auto/math3d/qfixedpt/qfixedpt.pro b/tests/auto/math3d/qfixedpt/qfixedpt.pro new file mode 100644 index 0000000..94598b5 --- /dev/null +++ b/tests/auto/math3d/qfixedpt/qfixedpt.pro @@ -0,0 +1,2 @@ +load(qttest_p4) +SOURCES += tst_qfixedpt.cpp diff --git a/tests/auto/math3d/qfixedpt/tst_qfixedpt.cpp b/tests/auto/math3d/qfixedpt/tst_qfixedpt.cpp new file mode 100644 index 0000000..f8c8d09 --- /dev/null +++ b/tests/auto/math3d/qfixedpt/tst_qfixedpt.cpp @@ -0,0 +1,613 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +class tst_QFixedPt : public QObject +{ + Q_OBJECT +public: + tst_QFixedPt() {} + ~tst_QFixedPt() {} + +private slots: + void create_data(); + void create(); + void add_data(); + void add(); + void sub_data(); + void sub(); + void mul_data(); + void mul(); + void div_data(); + void div(); + void neg_data(); + void neg(); + void shift_data(); + void shift(); + void sqrt_data(); + void sqrt(); + void round_data(); + void round(); + void compare_data(); + void compare(); +}; + +// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion +// to fixed-point and back again. So create a "fuzzier" compare. +static bool fuzzyCompare(double x, double y) +{ + double diff = x - y; + if (diff < 0.0f) + diff = -diff; + return (diff < 0.0001); +} + +// Test the creation of QFixedPt values in various ways. +void tst_QFixedPt::create_data() +{ + QTest::addColumn("value"); + QTest::addColumn("intValue"); + QTest::addColumn("realValue"); + + QTest::newRow("zero") << 0x00000000 << 0 << 0.0f; + QTest::newRow("one") << 0x00010000 << 1 << 1.0f; + QTest::newRow("1.5") << 0x00018000 << 2 << 1.5f; // int rounds up + QTest::newRow("-1.5") << (int)0xFFFE8000 << -1 << -1.5f; // int rounds up + QTest::newRow("-7") << (int)0xFFF90000 << -7 << -7.0f; +} +void tst_QFixedPt::create() +{ + QFETCH(int, value); + QFETCH(int, intValue); + QFETCH(float, realValue); + + if (qFloor(realValue) == realValue) { + QFixedPt<16> ivalue(intValue); + QCOMPARE(ivalue.bits(), value); + QCOMPARE(ivalue.toInt(), intValue); + QCOMPARE(ivalue.toReal(), (qreal)realValue); + } + + QFixedPt<16> fvalue(realValue); + QCOMPARE(fvalue.bits(), value); + QCOMPARE(fvalue.toInt(), intValue); + QCOMPARE(fvalue.toReal(), (qreal)realValue); + + QFixedPt<16> fpvalue; + fpvalue.setBits(value); + QCOMPARE(fpvalue.bits(), value); + QCOMPARE(fpvalue.toInt(), intValue); + QCOMPARE(fpvalue.toReal(), (qreal)realValue); + + QFixedPt<16> fpvalue2(fpvalue); + QCOMPARE(fpvalue2.bits(), value); + QCOMPARE(fpvalue2.toInt(), intValue); + QCOMPARE(fpvalue2.toReal(), (qreal)realValue); + + if (qFloor(realValue) == realValue) { + QFixedPt<16> ivalue2(63); // Initialize the something else. + ivalue2 = intValue; // Then change the value. + QCOMPARE(ivalue2.bits(), value); + QCOMPARE(ivalue2.toInt(), intValue); + QCOMPARE(ivalue2.toReal(), (qreal)realValue); + } + + QFixedPt<16> fvalue2(36); + fvalue2 = realValue; + QCOMPARE(fvalue2.bits(), value); + QCOMPARE(fvalue2.toInt(), intValue); + QCOMPARE(fvalue2.toReal(), (qreal)realValue); + + QFixedPt<16> fpvalue3; + fpvalue3 = fpvalue; + QCOMPARE(fpvalue3.bits(), value); + QCOMPARE(fpvalue3.toInt(), intValue); + QCOMPARE(fpvalue3.toReal(), (qreal)realValue); + + // Now do some of the tests again with a different precision value. + + if (qFloor(realValue) == realValue) { + QFixedPt<4> ivalue3(intValue); + QCOMPARE(ivalue3.bits(), value >> 12); + QCOMPARE(ivalue3.toInt(), intValue); + QCOMPARE(ivalue3.toReal(), (qreal)realValue); + } + + QFixedPt<4> fvalue3(realValue); + QCOMPARE(fvalue3.bits(), value >> 12); + QCOMPARE(fvalue3.toInt(), intValue); + QCOMPARE(fvalue3.toReal(), (qreal)realValue); + + QFixedPt<4> fpvalue4; + fpvalue4.setBits(value >> 12); + QCOMPARE(fpvalue4.bits(), value >> 12); + QCOMPARE(fpvalue4.toInt(), intValue); + QCOMPARE(fpvalue4.toReal(), (qreal)realValue); + + // Test conversion between the precision values. + +#if !defined(QT_NO_MEMBER_TEMPLATES) + if (qFloor(realValue) == realValue) { + QFixedPt<16> ivalue(intValue); + QFixedPt<4> ivalue3(intValue); + QVERIFY(ivalue.toPrecision<4>() == ivalue3); + QVERIFY(ivalue3.toPrecision<16>() == ivalue); + } + QVERIFY(fvalue.toPrecision<4>() == fvalue3); + QVERIFY(fvalue3.toPrecision<16>() == fvalue); +#endif + + if (qFloor(realValue) == realValue) { + QFixedPt<16> ivalue(intValue); + QFixedPt<4> ivalue3(intValue); + QVERIFY(qFixedPtToPrecision<4>(ivalue) == ivalue3); + QVERIFY(qFixedPtToPrecision<16>(ivalue3) == ivalue); + } + QVERIFY(qFixedPtToPrecision<4>(fvalue) == fvalue3); + QVERIFY(qFixedPtToPrecision<16>(fvalue3) == fvalue); +} + +// Test fixed point addition. +void tst_QFixedPt::add_data() +{ + QTest::addColumn("a"); + QTest::addColumn("b"); + + QTest::newRow("zero") << 0.0f << 0.0f; + QTest::newRow("test1") << 1.0f << 0.0f; + QTest::newRow("test2") << 0.0f << 1.0f; + QTest::newRow("test3") << 10.0f << -3.0f; + QTest::newRow("test4") << 10.5f << 3.25f; +} +void tst_QFixedPt::add() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + QFixedPt<16> cvalue = avalue + bvalue; + QFixedPt<16> dvalue = a + bvalue; + QFixedPt<16> evalue = avalue + b; + + QCOMPARE(cvalue.toReal(), (qreal)(a + b)); + QCOMPARE(dvalue.toReal(), (qreal)(a + b)); + QCOMPARE(evalue.toReal(), (qreal)(a + b)); + + QFixedPt<16> fvalue(avalue); + fvalue += bvalue; + QCOMPARE(fvalue.toReal(), (qreal)(a + b)); + + QFixedPt<16> gvalue(avalue); + gvalue += b; + QCOMPARE(gvalue.toReal(), (qreal)(a + b)); + + if (qFloor(a) == a && qFloor(b) == b) { + QFixedPt<16> hvalue = int(a) + bvalue; + QFixedPt<16> ivalue = avalue + int(b); + + QCOMPARE(hvalue.toInt(), int(a) + int(b)); + QCOMPARE(ivalue.toInt(), int(a) + int(b)); + QCOMPARE(hvalue.toReal(), (qreal)(a + b)); + QCOMPARE(ivalue.toReal(), (qreal)(a + b)); + + QFixedPt<16> jvalue(avalue); + jvalue += int(b); + QCOMPARE(jvalue.toReal(), (qreal)(a + b)); + } +} + +// Test fixed point subtraction. +void tst_QFixedPt::sub_data() +{ + // Use the same test data as the add() test. + add_data(); +} +void tst_QFixedPt::sub() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + QFixedPt<16> cvalue = avalue - bvalue; + QFixedPt<16> dvalue = a - bvalue; + QFixedPt<16> evalue = avalue - b; + + QCOMPARE(cvalue.toReal(), (qreal)(a - b)); + QCOMPARE(dvalue.toReal(), (qreal)(a - b)); + QCOMPARE(evalue.toReal(), (qreal)(a - b)); + + QFixedPt<16> fvalue(avalue); + fvalue -= bvalue; + QCOMPARE(fvalue.toReal(), (qreal)(a - b)); + + QFixedPt<16> gvalue(avalue); + gvalue -= b; + QCOMPARE(gvalue.toReal(), (qreal)(a - b)); + + if (qFloor(a) == a && qFloor(b) == b) { + QFixedPt<16> hvalue = int(a) - bvalue; + QFixedPt<16> ivalue = avalue - int(b); + + QCOMPARE(hvalue.toInt(), int(a) - int(b)); + QCOMPARE(ivalue.toInt(), int(a) - int(b)); + QCOMPARE(hvalue.toReal(), (qreal)(a - b)); + QCOMPARE(ivalue.toReal(), (qreal)(a - b)); + + QFixedPt<16> jvalue(avalue); + jvalue -= int(b); + QCOMPARE(jvalue.toReal(), (qreal)(a - b)); + } +} + +// Test fixed point multiplication. +void tst_QFixedPt::mul_data() +{ + // Use the same test data as the add() test. + add_data(); +} +void tst_QFixedPt::mul() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + QFixedPt<16> cvalue = avalue * bvalue; + QFixedPt<16> dvalue = a * bvalue; + QFixedPt<16> evalue = avalue * b; + + QCOMPARE(cvalue.toReal(), (qreal)(a * b)); + QCOMPARE(dvalue.toReal(), (qreal)(a * b)); + QCOMPARE(evalue.toReal(), (qreal)(a * b)); + + QFixedPt<16> fvalue(avalue); + fvalue *= bvalue; + QCOMPARE(fvalue.toReal(), (qreal)(a * b)); + + QFixedPt<16> gvalue(avalue); + gvalue *= b; + QCOMPARE(gvalue.toReal(), (qreal)(a * b)); + + if (qFloor(a) == a && qFloor(b) == b) { + QFixedPt<16> hvalue = int(a) * bvalue; + QFixedPt<16> ivalue = avalue * int(b); + + QCOMPARE(hvalue.toInt(), int(a) * int(b)); + QCOMPARE(ivalue.toInt(), int(a) * int(b)); + QCOMPARE(hvalue.toReal(), (qreal)(a * b)); + QCOMPARE(ivalue.toReal(), (qreal)(a * b)); + + QFixedPt<16> jvalue(avalue); + jvalue *= int(b); + QCOMPARE(jvalue.toReal(), (qreal)(a * b)); + } +} + +// Test fixed point division. +void tst_QFixedPt::div_data() +{ + // Use the same test data as the add() test. + add_data(); +} +void tst_QFixedPt::div() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + qreal result; + if (b == 0.0f) + result = 0.0f; // Divide by zero results in zero. + else + result = a / b; + + QFixedPt<16> cvalue = avalue / bvalue; + QFixedPt<16> dvalue = a / bvalue; + QFixedPt<16> evalue = avalue / b; + + QVERIFY(fuzzyCompare(cvalue.toReal(), result)); + QVERIFY(fuzzyCompare(dvalue.toReal(), result)); + QVERIFY(fuzzyCompare(evalue.toReal(), result)); + + QFixedPt<16> fvalue(avalue); + fvalue /= bvalue; + QVERIFY(fuzzyCompare(fvalue.toReal(), result)); + + QFixedPt<16> gvalue(avalue); + gvalue /= b; + QVERIFY(fuzzyCompare(gvalue.toReal(), result)); + + if (qFloor(a) == a && qFloor(b) == b) { + QFixedPt<16> hvalue = int(a) / bvalue; + QFixedPt<16> ivalue = avalue / int(b); + + QCOMPARE(hvalue.toInt(), int(result)); + QCOMPARE(ivalue.toInt(), int(result)); + QVERIFY(fuzzyCompare(hvalue.toReal(), result)); + QVERIFY(fuzzyCompare(ivalue.toReal(), result)); + + QFixedPt<16> jvalue(avalue); + jvalue /= int(b); + QVERIFY(fuzzyCompare(jvalue.toReal(), result)); + } +} + +// Test fixed point negation. +void tst_QFixedPt::neg_data() +{ + // Use the same test data as the add() test. + add_data(); +} +void tst_QFixedPt::neg() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + QFixedPt<16> cvalue = -avalue; + QCOMPARE(cvalue.bits(), -avalue.bits()); + QCOMPARE(cvalue.toInt(), int(-a)); + QCOMPARE(cvalue.toReal(), (qreal)-a); + + QFixedPt<16> dvalue = -bvalue; + QCOMPARE(dvalue.bits(), -bvalue.bits()); + QCOMPARE(dvalue.toInt(), int(-b)); + QCOMPARE(dvalue.toReal(), (qreal)-b); +} + +// Test left and right shift operators on fixed point values. +void tst_QFixedPt::shift_data() +{ + QTest::addColumn("a"); + QTest::addColumn("amount"); + + QTest::newRow("zero") << 0.0f << 5; + QTest::newRow("one") << 1.0f << 4; + QTest::newRow("-1.75") << -1.75f << 4; +} +void tst_QFixedPt::shift() +{ + QFETCH(float, a); + QFETCH(int, amount); + + int lresult = int((a * 65536.0) * (1 << amount)); + int rresult = int((a * 65536.0) / (1 << amount)); + + QFixedPt<16> avalue(a); + avalue <<= amount; + QCOMPARE(avalue.bits(), lresult); + + QFixedPt<16> bvalue(a); + bvalue >>= amount; + QCOMPARE(bvalue.bits(), rresult); + + QFixedPt<16> cvalue(a); + + QFixedPt<16> dvalue; + dvalue = cvalue << amount; + QCOMPARE(dvalue.bits(), lresult); + + QFixedPt<16> evalue; + evalue = cvalue >> amount; + QCOMPARE(evalue.bits(), rresult); +} + +// Test fixed point square root. +void tst_QFixedPt::sqrt_data() +{ + QTest::addColumn("a"); + + QTest::newRow("zero") << 0.0f; + QTest::newRow("one") << 1.0f; + QTest::newRow("two") << 2.0f; + QTest::newRow("sixteen") << 16.0f; + QTest::newRow("1.5") << 1.5f; +} +void tst_QFixedPt::sqrt() +{ + QFETCH(float, a); + + QFixedPt<16> avalue(a); + QVERIFY(fuzzyCompare(avalue.sqrt().toReal(), qSqrt(a))); + QVERIFY(fuzzyCompare(avalue.sqrtF(), qSqrt(a))); +} + +// Test fixed point rounding. +void tst_QFixedPt::round_data() +{ + QTest::addColumn("a"); + QTest::addColumn("rounded"); + QTest::addColumn("ceiling"); + QTest::addColumn("flooring"); + QTest::addColumn("truncated"); + + QTest::newRow("zero") << 0.0f << 0 << 0 << 0 << 0; + QTest::newRow("test1") << 1.0f << 1 << 1 << 1 << 1; + QTest::newRow("test2") << 2.5f << 3 << 3 << 2 << 2; + QTest::newRow("test3") << 2.3f << 2 << 3 << 2 << 2; + QTest::newRow("test4") << -2.5f << -2 << -2 << -3 << -3; + QTest::newRow("test5") << -2.3f << -2 << -2 << -3 << -3; + QTest::newRow("test6") << -2.7f << -3 << -2 << -3 << -3; +} +void tst_QFixedPt::round() +{ + QFETCH(float, a); + QFETCH(int, rounded); + QFETCH(int, ceiling); + QFETCH(int, flooring); + QFETCH(int, truncated); + + QFixedPt<16> avalue(a); + QVERIFY(avalue.round() == rounded); + QVERIFY(avalue.ceil() == ceiling); + QVERIFY(avalue.floor() == flooring); + QVERIFY(avalue.truncate() == truncated); + + QCOMPARE(qRound(avalue), rounded); + QCOMPARE(qCeil(avalue), ceiling); + QCOMPARE(qFloor(avalue), flooring); +} + +// Test comparison operators. +void tst_QFixedPt::compare_data() +{ + QTest::addColumn("a"); + QTest::addColumn("b"); + + QTest::newRow("test1") << 0.0f << 0.0f; + QTest::newRow("test2") << 1.0f << 0.0f; + QTest::newRow("test3") << 2.5f << 2.5f; + QTest::newRow("test4") << 2.5f << -2.5f; + QTest::newRow("test5") << -2.5f << 2.5f; +} +void tst_QFixedPt::compare() +{ + QFETCH(float, a); + QFETCH(float, b); + + QFixedPt<16> avalue(a); + QFixedPt<16> bvalue(b); + + if (a == b) { + QVERIFY(avalue == bvalue); + QVERIFY(avalue == b); + QVERIFY(a == bvalue); + QVERIFY(!(avalue != bvalue)); + QVERIFY(!(avalue != b)); + QVERIFY(!(a != bvalue)); + QVERIFY(!(avalue < bvalue)); + QVERIFY(!(avalue < b)); + QVERIFY(!(a < bvalue)); + QVERIFY(!(avalue > bvalue)); + QVERIFY(!(avalue > b)); + QVERIFY(!(a > bvalue)); + QVERIFY(avalue <= bvalue); + QVERIFY(avalue <= b); + QVERIFY(a <= bvalue); + QVERIFY(avalue >= bvalue); + QVERIFY(avalue >= b); + QVERIFY(a >= bvalue); + if (qFloor(a) == a) { + QVERIFY(int(a) == bvalue); + QVERIFY(!(int(a) != bvalue)); + QVERIFY(!(int(a) < bvalue)); + QVERIFY(!(int(a) > bvalue)); + QVERIFY(int(a) <= bvalue); + QVERIFY(int(a) >= bvalue); + } + if (qFloor(b) == b) { + QVERIFY(avalue == int(b)); + QVERIFY(!(avalue != int(b))); + QVERIFY(!(avalue < int(b))); + QVERIFY(!(avalue > int(b))); + QVERIFY(avalue <= int(b)); + QVERIFY(avalue >= int(b)); + } + } + + if (a != b) { + QVERIFY(avalue != bvalue); + QVERIFY(avalue != b); + QVERIFY(a != bvalue); + QVERIFY(!(avalue == bvalue)); + QVERIFY(!(avalue == b)); + QVERIFY(!(a == bvalue)); + if (qFloor(a) == a) { + QVERIFY(int(a) != bvalue); + QVERIFY(!(int(a) == bvalue)); + } + if (qFloor(b) == b) { + QVERIFY(avalue != int(b)); + QVERIFY(!(avalue == int(b))); + } + } + + if (a < b) { + QVERIFY(avalue < bvalue); + QVERIFY(avalue < b); + QVERIFY(a < bvalue); + QVERIFY(!(avalue >= bvalue)); + QVERIFY(!(avalue >= b)); + QVERIFY(!(a >= bvalue)); + QVERIFY(!(avalue > bvalue)); + QVERIFY(!(avalue > b)); + QVERIFY(!(a > bvalue)); + QVERIFY(avalue <= bvalue); + QVERIFY(avalue <= b); + QVERIFY(a <= bvalue); + QVERIFY(!(avalue >= bvalue)); + QVERIFY(!(avalue >= b)); + QVERIFY(!(a >= bvalue)); + if (qFloor(a) == a) { + QVERIFY(int(a) < bvalue); + QVERIFY(!(int(a) >= bvalue)); + QVERIFY(!(int(a) > bvalue)); + QVERIFY(int(a) <= bvalue); + } + if (qFloor(b) == b) { + QVERIFY(avalue < int(b)); + QVERIFY(!(avalue >= int(b))); + QVERIFY(!(avalue > int(b))); + QVERIFY(avalue <= int(b)); + } + } + + if (a > b) { + QVERIFY(avalue > bvalue); + QVERIFY(avalue > b); + QVERIFY(a > bvalue); + QVERIFY(!(avalue <= bvalue)); + QVERIFY(!(avalue <= b)); + QVERIFY(!(a <= bvalue)); + QVERIFY(!(avalue < bvalue)); + QVERIFY(!(avalue < b)); + QVERIFY(!(a < bvalue)); + QVERIFY(avalue >= bvalue); + QVERIFY(avalue >= b); + QVERIFY(a >= bvalue); + QVERIFY(!(avalue <= bvalue)); + QVERIFY(!(avalue <= b)); + QVERIFY(!(a <= bvalue)); + if (qFloor(a) == a) { + QVERIFY(int(a) > bvalue); + QVERIFY(!(int(a) <= bvalue)); + QVERIFY(!(int(a) < bvalue)); + QVERIFY(int(a) >= bvalue); + } + if (qFloor(b) == b) { + QVERIFY(avalue > int(b)); + QVERIFY(!(avalue <= int(b))); + QVERIFY(!(avalue < int(b))); + QVERIFY(avalue >= int(b)); + } + } + + if (qFuzzyCompare(a, b)) + QVERIFY(qFuzzyCompare(avalue, bvalue)); + else + QVERIFY(!qFuzzyCompare(avalue, bvalue)); +} + +QTEST_APPLESS_MAIN(tst_QFixedPt) + +#include "tst_qfixedpt.moc" diff --git a/tests/auto/math3d/qmatrixnxn/qmatrixnxn.pro b/tests/auto/math3d/qmatrixnxn/qmatrixnxn.pro new file mode 100644 index 0000000..40c6cc0 --- /dev/null +++ b/tests/auto/math3d/qmatrixnxn/qmatrixnxn.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +VPATH += ../shared +INCLUDEPATH += ../shared +HEADERS += math3dincludes.h +SOURCES += tst_qmatrixnxn.cpp diff --git a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp new file mode 100644 index 0000000..3d92adf --- /dev/null +++ b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp @@ -0,0 +1,3218 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include "math3dincludes.h" + +class tst_QMatrix : public QObject +{ + Q_OBJECT +public: + tst_QMatrix() {} + ~tst_QMatrix() {} + +private slots: + void create2x2(); + void create3x3(); + void create4x4(); + void create4x3(); + + void isIdentity2x2(); + void isIdentity3x3(); + void isIdentity4x4(); + void isIdentity4x3(); + + void compare2x2(); + void compare3x3(); + void compare4x4(); + void compare4x3(); + + void transposed2x2(); + void transposed3x3(); + void transposed4x4(); + void transposed4x3(); + + void add2x2_data(); + void add2x2(); + void add3x3_data(); + void add3x3(); + void add4x4_data(); + void add4x4(); + void add4x3_data(); + void add4x3(); + + void subtract2x2_data(); + void subtract2x2(); + void subtract3x3_data(); + void subtract3x3(); + void subtract4x4_data(); + void subtract4x4(); + void subtract4x3_data(); + void subtract4x3(); + + void multiply2x2_data(); + void multiply2x2(); + void multiply3x3_data(); + void multiply3x3(); + void multiply4x4_data(); + void multiply4x4(); + void multiply4x3_data(); + void multiply4x3(); + + void multiplyFactor2x2_data(); + void multiplyFactor2x2(); + void multiplyFactor3x3_data(); + void multiplyFactor3x3(); + void multiplyFactor4x4_data(); + void multiplyFactor4x4(); + void multiplyFactor4x3_data(); + void multiplyFactor4x3(); + + void divideFactor2x2_data(); + void divideFactor2x2(); + void divideFactor3x3_data(); + void divideFactor3x3(); + void divideFactor4x4_data(); + void divideFactor4x4(); + void divideFactor4x3_data(); + void divideFactor4x3(); + + void negate2x2_data(); + void negate2x2(); + void negate3x3_data(); + void negate3x3(); + void negate4x4_data(); + void negate4x4(); + void negate4x3_data(); + void negate4x3(); + + void inverted4x4_data(); + void inverted4x4(); + + void orthonormalInverse4x4(); + + void scale4x4_data(); + void scale4x4(); + + void translate4x4_data(); + void translate4x4(); + + void rotate4x4_data(); + void rotate4x4(); + + void normalMatrix_data(); + void normalMatrix(); + + void optimizedTransforms(); + + void ortho(); + void frustum(); + void perspective(); + void flipCoordinates(); + + void convertGeneric(); + + void extractAxisRotation_data(); + void extractAxisRotation(); + + void extractTranslation_data(); + void extractTranslation(); + + void inferSpecialType_data(); + void inferSpecialType(); + + void columnsAndRows(); + + void convertQMatrix(); + void convertQTransform(); + + void fill(); + +private: + static void setMatrix(QMatrix2x2& m, const qreal *values); + static void setMatrixFixed(QMatrix2x2& m, const qreal *values); + static bool isSame(const QMatrix2x2& m, const qreal *values); + static bool isIdentity(const QMatrix2x2& m); + + static void setMatrix(QMatrix3x3& m, const qreal *values); + static void setMatrixFixed(QMatrix3x3& m, const qreal *values); + static bool isSame(const QMatrix3x3& m, const qreal *values); + static bool isIdentity(const QMatrix3x3& m); + + static void setMatrix(QMatrix4x4& m, const qreal *values); + static void setMatrixFixed(QMatrix4x4& m, const qreal *values); + static bool isSame(const QMatrix4x4& m, const qreal *values); + static bool isIdentity(const QMatrix4x4& m); + + static void setMatrix(QMatrix4x3& m, const qreal *values); + static void setMatrixFixed(QMatrix4x3& m, const qreal *values); + static bool isSame(const QMatrix4x3& m, const qreal *values); + static bool isIdentity(const QMatrix4x3& m); +}; + +static const qreal nullValues2[] = + {0.0f, 0.0f, + 0.0f, 0.0f}; + +static qreal const identityValues2[16] = + {1.0f, 0.0f, + 0.0f, 1.0f}; + +static const qreal doubleIdentity2[] = + {2.0f, 0.0f, + 0.0f, 2.0f}; + +static qreal const uniqueValues2[16] = + {1.0f, 2.0f, + 5.0f, 6.0f}; + +static qreal const transposedValues2[16] = + {1.0f, 5.0f, + 2.0f, 6.0f}; + +static const qreal nullValues3[] = + {0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f}; + +static qreal const identityValues3[16] = + {1.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 1.0f}; + +static const qreal doubleIdentity3[] = + {2.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, + 0.0f, 0.0f, 2.0f}; + +static qreal const uniqueValues3[16] = + {1.0f, 2.0f, 3.0f, + 5.0f, 6.0f, 7.0f, + 9.0f, 10.0f, 11.0f}; + +static qreal const transposedValues3[16] = + {1.0f, 5.0f, 9.0f, + 2.0f, 6.0f, 10.0f, + 3.0f, 7.0f, 11.0f}; + +static const qreal nullValues4[] = + {0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f}; + +static qreal const identityValues4[16] = + {1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + +static const qreal doubleIdentity4[] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 2.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 2.0f}; + +static qreal const uniqueValues4[16] = + {1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f, + 13.0f, 14.0f, 15.0f, 16.0f}; + +static qreal const transposedValues4[16] = + {1.0f, 5.0f, 9.0f, 13.0f, + 2.0f, 6.0f, 10.0f, 14.0f, + 3.0f, 7.0f, 11.0f, 15.0f, + 4.0f, 8.0f, 12.0f, 16.0f}; + +static const qreal nullValues4x3[] = + {0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f}; + +static qreal const identityValues4x3[12] = + {1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f}; + +static qreal const doubleIdentity4x3[12] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 2.0f, 0.0f}; + +static qreal const uniqueValues4x3[12] = + {1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f}; + +static qreal const transposedValues3x4[12] = + {1.0f, 5.0f, 9.0f, + 2.0f, 6.0f, 10.0f, + 3.0f, 7.0f, 11.0f, + 4.0f, 8.0f, 12.0f}; + +// Set a matrix to a specified array of values, which are assumed +// to be in row-major order. This sets the values using floating-point. +void tst_QMatrix::setMatrix(QMatrix2x2& m, const qreal *values) +{ + for (int row = 0; row < 2; ++row) + for (int col = 0; col < 2; ++col) + m(row, col) = values[row * 2 + col]; +} +void tst_QMatrix::setMatrix(QMatrix3x3& m, const qreal *values) +{ + for (int row = 0; row < 3; ++row) + for (int col = 0; col < 3; ++col) + m(row, col) = values[row * 3 + col]; +} +void tst_QMatrix::setMatrix(QMatrix4x4& m, const qreal *values) +{ + for (int row = 0; row < 4; ++row) + for (int col = 0; col < 4; ++col) + m(row, col) = values[row * 4 + col]; +} +void tst_QMatrix::setMatrix(QMatrix4x3& m, const qreal *values) +{ + for (int row = 0; row < 3; ++row) + for (int col = 0; col < 4; ++col) + m(row, col) = values[row * 4 + col]; +} + +// Set a matrix to a specified array of values, which are assumed +// to be in row-major order. This sets the values using fixed-point. +void tst_QMatrix::setMatrixFixed(QMatrix2x2& m, const qreal *values) +{ + qrealinner *data = m.data(); + for (int row = 0; row < 2; ++row) { + for (int col = 0; col < 2; ++col) { + data[row + col * 2] = values[row * 2 + col]; + } + } +} +void tst_QMatrix::setMatrixFixed(QMatrix3x3& m, const qreal *values) +{ + qrealinner *data = m.data(); + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 3; ++col) { + data[row + col * 3] = values[row * 3 + col]; + } + } +} +void tst_QMatrix::setMatrixFixed(QMatrix4x4& m, const qreal *values) +{ + qrealinner *data = m.data(); + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + data[row + col * 4] = values[row * 4 + col]; + } + } +} +void tst_QMatrix::setMatrixFixed(QMatrix4x3& m, const qreal *values) +{ + qrealinner *data = m.data(); + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 4; ++col) { + data[row + col * 3] = values[row * 4 + col]; + } + } +} + +// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion +// to fixed-point and back again. So create "fuzzier" compares. +static bool fuzzyCompare(float x, float y, qreal epsilon = 0.001) +{ + float diff = x - y; + if (diff < 0.0f) + diff = -diff; + return (diff < epsilon); +} +#ifdef QT_GL_FIXED_PREFERRED +static bool fuzzyCompareFixed(qrealinner x, int y) +{ + int diff = x.bits() - y; + if (diff < 0) + diff = -diff; + return (diff < 50); +} +#endif + +static bool fuzzyCompare(const QVector3D &v1, const QVector3D &v2, qreal epsilon = 0.001) +{ + if (!fuzzyCompare(v1.x(), v2.x(), epsilon)) + return false; + if (!fuzzyCompare(v1.y(), v2.y(), epsilon)) + return false; + if (!fuzzyCompare(v1.z(), v2.z(), epsilon)) + return false; + return true; +} + +static bool matrixFuzzyCompare(const QMatrix4x4 &m1, const QMatrix4x4 &m2) +{ + bool ret = true; + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + ret = ret && fuzzyCompare(m1(i, j), m2(i, j)); + } + } + + return ret; +} + +// Determine if a matrix is the same as a specified array of values. +// The values are assumed to be specified in row-major order. +bool tst_QMatrix::isSame(const QMatrix2x2& m, const qreal *values) +{ + const qrealinner *mv = m.constData(); + for (int row = 0; row < 2; ++row) { + for (int col = 0; col < 2; ++col) { + // Check the values using the operator() function. + if (!fuzzyCompare((float)(m(row, col)), (float)(values[row * 2 + col]))) { + qDebug() << "floating-point failure at" << row << col << "actual =" << m(row, col) << "expected =" << values[row * 2 + col]; + return false; + } + + // Check the values using direct access, which verifies that the values + // are stored internally in column-major order. +#ifdef QT_GL_FIXED_PREFERRED + if (!fuzzyCompareFixed(mv[col * 2 + row], (int)(values[row * 2 + col] * 65536.0))) { + qDebug() << "column fixed-point failure at" << row << col << "actual =" << mv[col * 2 + row] << "expected =" << (int)(values[row * 2 + col] * 65536.0); + return false; + } +#else + if (!fuzzyCompare((float)(mv[col * 2 + row]), (float)(values[row * 2 + col]))) { + qDebug() << "column floating-point failure at" << row << col << "actual =" << mv[col * 2 + row] << "expected =" << values[row * 2 + col]; + return false; + } +#endif + } + } + return true; +} +bool tst_QMatrix::isSame(const QMatrix3x3& m, const qreal *values) +{ + const qrealinner *mv = m.constData(); + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 3; ++col) { + // Check the values using the operator() access function. + if (!fuzzyCompare((float)(m(row, col)), (float)(values[row * 3 + col]))) { + qDebug() << "floating-point failure at" << row << col << "actual =" << m(row, col) << "expected =" << values[row * 3 + col]; + return false; + } + + // Check the values using direct access, which verifies that the values + // are stored internally in column-major order. +#ifdef QT_GL_FIXED_PREFERRED + if (!fuzzyCompareFixed(mv[col * 3 + row], (int)(values[row * 3 + col] * 65536.0))) { + qDebug() << "column fixed-point failure at" << row << col << "actual =" << mv[col * 3 + row] << "expected =" << (int)(values[row * 3 + col] * 65536.0); + return false; + } +#else + if (!fuzzyCompare((float)(mv[col * 3 + row]), (float)(values[row * 3 + col]))) { + qDebug() << "column floating-point failure at" << row << col << "actual =" << mv[col * 3 + row] << "expected =" << values[row * 3 + col]; + return false; + } +#endif + } + } + return true; +} +bool tst_QMatrix::isSame(const QMatrix4x4& m, const qreal *values) +{ + const qrealinner *mv = m.constData(); + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + // Check the values using the operator() access function. + if (!fuzzyCompare((float)(m(row, col)), (float)(values[row * 4 + col]))) { + qDebug() << "floating-point failure at" << row << col << "actual =" << m(row, col) << "expected =" << values[row * 4 + col]; + return false; + } + + // Check the values using direct access, which verifies that the values + // are stored internally in column-major order. +#ifdef QT_GL_FIXED_PREFERRED + if (!fuzzyCompareFixed(mv[col * 4 + row], (int)(values[row * 4 + col] * 65536.0))) { + qDebug() << "column fixed-point failure at" << row << col << "actual =" << mv[col * 4 + row] << "expected =" << (int)(values[row * 4 + col] * 65536.0); + return false; + } +#else + if (!fuzzyCompare((float)(mv[col * 4 + row]), (float)(values[row * 4 + col]))) { + qDebug() << "column floating-point failure at" << row << col << "actual =" << mv[col * 4 + row] << "expected =" << values[row * 4 + col]; + return false; + } +#endif + } + } + return true; +} +bool tst_QMatrix::isSame(const QMatrix4x3& m, const qreal *values) +{ + const qrealinner *mv = m.constData(); + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 4; ++col) { + // Check the values using the operator() access function. + if (!fuzzyCompare((float)(m(row, col)), (float)(values[row * 4 + col]))) { + qDebug() << "floating-point failure at" << row << col << "actual =" << m(row, col) << "expected =" << values[row * 4 + col]; + return false; + } + + // Check the values using direct access, which verifies that the values + // are stored internally in column-major order. +#ifdef QT_GL_FIXED_PREFERRED + if (!fuzzyCompareFixed(mv[col * 3 + row], (int)(values[row * 4 + col] * 65536.0))) { + qDebug() << "column fixed-point failure at" << row << col << "actual =" << mv[col * 3 + row] << "expected =" << (int)(values[row * 4 + col] * 65536.0); + return false; + } +#else + if (!fuzzyCompare((float)(mv[col * 3 + row]), (float)(values[row * 4 + col]))) { + qDebug() << "column floating-point failure at" << row << col << "actual =" << mv[col * 3 + row] << "expected =" << values[row * 4 + col]; + return false; + } +#endif + } + } + return true; +} + +// Determine if a matrix is the identity. +bool tst_QMatrix::isIdentity(const QMatrix2x2& m) +{ + return isSame(m, identityValues2); +} +bool tst_QMatrix::isIdentity(const QMatrix3x3& m) +{ + return isSame(m, identityValues3); +} +bool tst_QMatrix::isIdentity(const QMatrix4x4& m) +{ + return isSame(m, identityValues4); +} +bool tst_QMatrix::isIdentity(const QMatrix4x3& m) +{ + return isSame(m, identityValues4x3); +} + +// Test the creation of QMatrix2x2 objects in various ways: +// construct, copy, and modify. +void tst_QMatrix::create2x2() +{ + QMatrix2x2 m1; + QVERIFY(isIdentity(m1)); + QVERIFY(m1.isIdentity()); + + QMatrix2x2 m2; + setMatrix(m2, uniqueValues2); + QVERIFY(isSame(m2, uniqueValues2)); + QVERIFY(!m2.isIdentity()); + + QMatrix2x2 m3; + setMatrixFixed(m3, uniqueValues2); + QVERIFY(isSame(m3, uniqueValues2)); + + QMatrix2x2 m4(m3); + QVERIFY(isSame(m4, uniqueValues2)); + + QMatrix2x2 m5; + m5 = m3; + QVERIFY(isSame(m5, uniqueValues2)); + + m5.setIdentity(); + QVERIFY(isIdentity(m5)); + + QMatrix2x2 m6(uniqueValues2); + QVERIFY(isSame(m6, uniqueValues2)); + qreal vals[4]; + m6.toValueArray(vals); + for (int index = 0; index < 4; ++index) + QCOMPARE((float)(vals[index]), (float)(uniqueValues2[index])); +} + +// Test the creation of QMatrix3x3 objects in various ways: +// construct, copy, and modify. +void tst_QMatrix::create3x3() +{ + QMatrix3x3 m1; + QVERIFY(isIdentity(m1)); + QVERIFY(m1.isIdentity()); + + QMatrix3x3 m2; + setMatrix(m2, uniqueValues3); + QVERIFY(isSame(m2, uniqueValues3)); + QVERIFY(!m2.isIdentity()); + + QMatrix3x3 m3; + setMatrixFixed(m3, uniqueValues3); + QVERIFY(isSame(m3, uniqueValues3)); + + QMatrix3x3 m4(m3); + QVERIFY(isSame(m4, uniqueValues3)); + + QMatrix3x3 m5; + m5 = m3; + QVERIFY(isSame(m5, uniqueValues3)); + + m5.setIdentity(); + QVERIFY(isIdentity(m5)); + + QMatrix3x3 m6(uniqueValues3); + QVERIFY(isSame(m6, uniqueValues3)); + qreal vals[9]; + m6.toValueArray(vals); + for (int index = 0; index < 9; ++index) + QCOMPARE((float)(vals[index]), (float)(uniqueValues3[index])); +} + +// Test the creation of QMatrix4x4 objects in various ways: +// construct, copy, and modify. +void tst_QMatrix::create4x4() +{ + QMatrix4x4 m1; + QVERIFY(isIdentity(m1)); + QVERIFY(m1.isIdentity()); + + QMatrix4x4 m2; + setMatrix(m2, uniqueValues4); + QVERIFY(isSame(m2, uniqueValues4)); + QVERIFY(!m2.isIdentity()); + + QMatrix4x4 m3; + setMatrixFixed(m3, uniqueValues4); + QVERIFY(isSame(m3, uniqueValues4)); + + QMatrix4x4 m4(m3); + QVERIFY(isSame(m4, uniqueValues4)); + + QMatrix4x4 m5; + m5 = m3; + QVERIFY(isSame(m5, uniqueValues4)); + + m5.setIdentity(); + QVERIFY(isIdentity(m5)); + + QMatrix4x4 m6(uniqueValues4); + QVERIFY(isSame(m6, uniqueValues4)); + qreal vals[16]; + m6.toValueArray(vals); + for (int index = 0; index < 16; ++index) + QCOMPARE((float)(vals[index]), (float)(uniqueValues4[index])); + + QMatrix4x4 m8 + (uniqueValues4[0], uniqueValues4[1], uniqueValues4[2], uniqueValues4[3], + uniqueValues4[4], uniqueValues4[5], uniqueValues4[6], uniqueValues4[7], + uniqueValues4[8], uniqueValues4[9], uniqueValues4[10], uniqueValues4[11], + uniqueValues4[12], uniqueValues4[13], uniqueValues4[14], uniqueValues4[15]); + QVERIFY(isSame(m8, uniqueValues4)); +} + +// Test the creation of QMatrix4x3 objects in various ways: +// construct, copy, and modify. +void tst_QMatrix::create4x3() +{ + QMatrix4x3 m1; + QVERIFY(isIdentity(m1)); + QVERIFY(m1.isIdentity()); + + QMatrix4x3 m2; + setMatrix(m2, uniqueValues4x3); + QVERIFY(isSame(m2, uniqueValues4x3)); + QVERIFY(!m2.isIdentity()); + + QMatrix4x3 m3; + setMatrixFixed(m3, uniqueValues4x3); + QVERIFY(isSame(m3, uniqueValues4x3)); + + QMatrix4x3 m4(m3); + QVERIFY(isSame(m4, uniqueValues4x3)); + + QMatrix4x3 m5; + m5 = m3; + QVERIFY(isSame(m5, uniqueValues4x3)); + + m5.setIdentity(); + QVERIFY(isIdentity(m5)); + + QMatrix4x3 m6(uniqueValues4x3); + QVERIFY(isSame(m6, uniqueValues4x3)); + qreal vals[12]; + m6.toValueArray(vals); + for (int index = 0; index < 12; ++index) + QCOMPARE((float)(vals[index]), (float)(uniqueValues4x3[index])); +} + +// Test isIdentity() for 2x2 matrices. +void tst_QMatrix::isIdentity2x2() +{ + for (int i = 0; i < 2 * 2; ++i) { + QMatrix2x2 m; + QVERIFY(m.isIdentity()); + m.data()[i] = 42.0f; + QVERIFY(!m.isIdentity()); + } +} + +// Test isIdentity() for 3x3 matrices. +void tst_QMatrix::isIdentity3x3() +{ + for (int i = 0; i < 3 * 3; ++i) { + QMatrix3x3 m; + QVERIFY(m.isIdentity()); + m.data()[i] = 42.0f; + QVERIFY(!m.isIdentity()); + } +} + +// Test isIdentity() for 4x4 matrices. +void tst_QMatrix::isIdentity4x4() +{ + for (int i = 0; i < 4 * 4; ++i) { + QMatrix4x4 m; + QVERIFY(m.isIdentity()); + m.data()[i] = 42.0f; + QVERIFY(!m.isIdentity()); + } + + // Force the "Identity" flag bit to be lost and check again. + QMatrix4x4 m2; + m2.data()[0] = 1.0f; + QVERIFY(m2.isIdentity()); +} + +// Test isIdentity() for 4x3 matrices. +void tst_QMatrix::isIdentity4x3() +{ + for (int i = 0; i < 4 * 3; ++i) { + QMatrix4x3 m; + QVERIFY(m.isIdentity()); + m.data()[i] = 42.0f; + QVERIFY(!m.isIdentity()); + } +} + +// Test 2x2 matrix comparisons. +void tst_QMatrix::compare2x2() +{ + QMatrix2x2 m1(uniqueValues2); + QMatrix2x2 m2(uniqueValues2); + QMatrix2x2 m3(transposedValues2); + + QVERIFY(m1 == m2); + QVERIFY(!(m1 != m2)); + QVERIFY(m1 != m3); + QVERIFY(!(m1 == m3)); +} + +// Test 3x3 matrix comparisons. +void tst_QMatrix::compare3x3() +{ + QMatrix3x3 m1(uniqueValues3); + QMatrix3x3 m2(uniqueValues3); + QMatrix3x3 m3(transposedValues3); + + QVERIFY(m1 == m2); + QVERIFY(!(m1 != m2)); + QVERIFY(m1 != m3); + QVERIFY(!(m1 == m3)); +} + +// Test 4x4 matrix comparisons. +void tst_QMatrix::compare4x4() +{ + QMatrix4x4 m1(uniqueValues4); + QMatrix4x4 m2(uniqueValues4); + QMatrix4x4 m3(transposedValues4); + + QVERIFY(m1 == m2); + QVERIFY(!(m1 != m2)); + QVERIFY(m1 != m3); + QVERIFY(!(m1 == m3)); +} + +// Test 4x3 matrix comparisons. +void tst_QMatrix::compare4x3() +{ + QMatrix4x3 m1(uniqueValues4x3); + QMatrix4x3 m2(uniqueValues4x3); + QMatrix4x3 m3(transposedValues3x4); + + QVERIFY(m1 == m2); + QVERIFY(!(m1 != m2)); + QVERIFY(m1 != m3); + QVERIFY(!(m1 == m3)); +} + +// Test matrix 2x2 transpose operations. +void tst_QMatrix::transposed2x2() +{ + // Transposing the identity should result in the identity. + QMatrix2x2 m1; + QMatrix2x2 m2 = m1.transposed(); + QVERIFY(isIdentity(m2)); + + // Transpose a more interesting matrix that allows us to track + // exactly where each source element ends up. + QMatrix2x2 m3(uniqueValues2); + QMatrix2x2 m4 = m3.transposed(); + QVERIFY(isSame(m4, transposedValues2)); + + // Transpose in-place, just to check that the compiler is sane. + m3 = m3.transposed(); + QVERIFY(isSame(m3, transposedValues2)); +} + +// Test matrix 3x3 transpose operations. +void tst_QMatrix::transposed3x3() +{ + // Transposing the identity should result in the identity. + QMatrix3x3 m1; + QMatrix3x3 m2 = m1.transposed(); + QVERIFY(isIdentity(m2)); + + // Transpose a more interesting matrix that allows us to track + // exactly where each source element ends up. + QMatrix3x3 m3(uniqueValues3); + QMatrix3x3 m4 = m3.transposed(); + QVERIFY(isSame(m4, transposedValues3)); + + // Transpose in-place, just to check that the compiler is sane. + m3 = m3.transposed(); + QVERIFY(isSame(m3, transposedValues3)); +} + +// Test matrix 4x4 transpose operations. +void tst_QMatrix::transposed4x4() +{ + // Transposing the identity should result in the identity. + QMatrix4x4 m1; + QMatrix4x4 m2 = m1.transposed(); + QVERIFY(isIdentity(m2)); + + // Transpose a more interesting matrix that allows us to track + // exactly where each source element ends up. + QMatrix4x4 m3(uniqueValues4); + QMatrix4x4 m4 = m3.transposed(); + QVERIFY(isSame(m4, transposedValues4)); + + // Transpose in-place, just to check that the compiler is sane. + m3 = m3.transposed(); + QVERIFY(isSame(m3, transposedValues4)); +} + +// Test matrix 4x3 transpose operations. +void tst_QMatrix::transposed4x3() +{ + QMatrix4x3 m3(uniqueValues4x3); + QMatrix3x4 m4 = m3.transposed(); + qreal values[12]; + m4.toValueArray(values); + for (int index = 0; index < 12; ++index) + QCOMPARE(values[index], transposedValues3x4[index]); +} + +// Test matrix addition for 2x2 matrices. +void tst_QMatrix::add2x2_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues2 << (void *)nullValues2 << (void *)nullValues2; + + QTest::newRow("identity/null") + << (void *)identityValues2 << (void *)nullValues2 << (void *)identityValues2; + + QTest::newRow("identity/identity") + << (void *)identityValues2 << (void *)identityValues2 << (void *)doubleIdentity2; + + static qreal const sumValues[16] = + {2.0f, 7.0f, + 7.0f, 12.0f}; + QTest::newRow("unique") + << (void *)uniqueValues2 << (void *)transposedValues2 << (void *)sumValues; +} +void tst_QMatrix::add2x2() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix2x2 m1((const qreal *)m1Values); + QMatrix2x2 m2((const qreal *)m2Values); + + QMatrix2x2 m4(m1); + m4 += m2; + QVERIFY(isSame(m4, (const qreal *)m3Values)); + + QMatrix2x2 m5; + m5 = m1 + m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix addition for 3x3 matrices. +void tst_QMatrix::add3x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues3 << (void *)nullValues3 << (void *)nullValues3; + + QTest::newRow("identity/null") + << (void *)identityValues3 << (void *)nullValues3 << (void *)identityValues3; + + QTest::newRow("identity/identity") + << (void *)identityValues3 << (void *)identityValues3 << (void *)doubleIdentity3; + + static qreal const sumValues[16] = + {2.0f, 7.0f, 12.0f, + 7.0f, 12.0f, 17.0f, + 12.0f, 17.0f, 22.0f}; + QTest::newRow("unique") + << (void *)uniqueValues3 << (void *)transposedValues3 << (void *)sumValues; +} +void tst_QMatrix::add3x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix3x3 m1((const qreal *)m1Values); + QMatrix3x3 m2((const qreal *)m2Values); + + QMatrix3x3 m4(m1); + m4 += m2; + QVERIFY(isSame(m4, (const qreal *)m3Values)); + + QMatrix3x3 m5; + m5 = m1 + m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix addition for 4x4 matrices. +void tst_QMatrix::add4x4_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues4 << (void *)nullValues4 << (void *)nullValues4; + + QTest::newRow("identity/null") + << (void *)identityValues4 << (void *)nullValues4 << (void *)identityValues4; + + QTest::newRow("identity/identity") + << (void *)identityValues4 << (void *)identityValues4 << (void *)doubleIdentity4; + + static qreal const sumValues[16] = + {2.0f, 7.0f, 12.0f, 17.0f, + 7.0f, 12.0f, 17.0f, 22.0f, + 12.0f, 17.0f, 22.0f, 27.0f, + 17.0f, 22.0f, 27.0f, 32.0f}; + QTest::newRow("unique") + << (void *)uniqueValues4 << (void *)transposedValues4 << (void *)sumValues; +} +void tst_QMatrix::add4x4() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x4 m1((const qreal *)m1Values); + QMatrix4x4 m2((const qreal *)m2Values); + + QMatrix4x4 m4(m1); + m4 += m2; + QVERIFY(isSame(m4, (const qreal *)m3Values)); + + QMatrix4x4 m5; + m5 = m1 + m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix addition for 4x3 matrices. +void tst_QMatrix::add4x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues4x3 << (void *)nullValues4x3 << (void *)nullValues4x3; + + QTest::newRow("identity/null") + << (void *)identityValues4x3 << (void *)nullValues4x3 << (void *)identityValues4x3; + + QTest::newRow("identity/identity") + << (void *)identityValues4x3 << (void *)identityValues4x3 << (void *)doubleIdentity4x3; + + static qreal const sumValues[16] = + {2.0f, 7.0f, 12.0f, 6.0f, + 11.0f, 16.0f, 10.0f, 15.0f, + 20.0f, 14.0f, 19.0f, 24.0f}; + QTest::newRow("unique") + << (void *)uniqueValues4x3 << (void *)transposedValues3x4 << (void *)sumValues; +} +void tst_QMatrix::add4x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x3 m1((const qreal *)m1Values); + QMatrix4x3 m2((const qreal *)m2Values); + + QMatrix4x3 m4(m1); + m4 += m2; + QVERIFY(isSame(m4, (const qreal *)m3Values)); + + QMatrix4x3 m5; + m5 = m1 + m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix subtraction for 2x2 matrices. +void tst_QMatrix::subtract2x2_data() +{ + // Use the same test cases as the add test. + add2x2_data(); +} +void tst_QMatrix::subtract2x2() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix2x2 m1((const qreal *)m1Values); + QMatrix2x2 m2((const qreal *)m2Values); + QMatrix2x2 m3((const qreal *)m3Values); + + QMatrix2x2 m4(m3); + m4 -= m1; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix2x2 m5; + m5 = m3 - m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); + + QMatrix2x2 m6(m3); + m6 -= m2; + QVERIFY(isSame(m6, (const qreal *)m1Values)); + + QMatrix2x2 m7; + m7 = m3 - m2; + QVERIFY(isSame(m7, (const qreal *)m1Values)); +} + +// Test matrix subtraction for 3x3 matrices. +void tst_QMatrix::subtract3x3_data() +{ + // Use the same test cases as the add test. + add3x3_data(); +} +void tst_QMatrix::subtract3x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix3x3 m1((const qreal *)m1Values); + QMatrix3x3 m2((const qreal *)m2Values); + QMatrix3x3 m3((const qreal *)m3Values); + + QMatrix3x3 m4(m3); + m4 -= m1; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix3x3 m5; + m5 = m3 - m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); + + QMatrix3x3 m6(m3); + m6 -= m2; + QVERIFY(isSame(m6, (const qreal *)m1Values)); + + QMatrix3x3 m7; + m7 = m3 - m2; + QVERIFY(isSame(m7, (const qreal *)m1Values)); +} + +// Test matrix subtraction for 4x4 matrices. +void tst_QMatrix::subtract4x4_data() +{ + // Use the same test cases as the add test. + add4x4_data(); +} +void tst_QMatrix::subtract4x4() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x4 m1((const qreal *)m1Values); + QMatrix4x4 m2((const qreal *)m2Values); + QMatrix4x4 m3((const qreal *)m3Values); + + QMatrix4x4 m4(m3); + m4 -= m1; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix4x4 m5; + m5 = m3 - m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); + + QMatrix4x4 m6(m3); + m6 -= m2; + QVERIFY(isSame(m6, (const qreal *)m1Values)); + + QMatrix4x4 m7; + m7 = m3 - m2; + QVERIFY(isSame(m7, (const qreal *)m1Values)); +} + +// Test matrix subtraction for 4x3 matrices. +void tst_QMatrix::subtract4x3_data() +{ + // Use the same test cases as the add test. + add4x3_data(); +} +void tst_QMatrix::subtract4x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x3 m1((const qreal *)m1Values); + QMatrix4x3 m2((const qreal *)m2Values); + QMatrix4x3 m3((const qreal *)m3Values); + + QMatrix4x3 m4(m3); + m4 -= m1; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix4x3 m5; + m5 = m3 - m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); + + QMatrix4x3 m6(m3); + m6 -= m2; + QVERIFY(isSame(m6, (const qreal *)m1Values)); + + QMatrix4x3 m7; + m7 = m3 - m2; + QVERIFY(isSame(m7, (const qreal *)m1Values)); +} + +// Test matrix multiplication for 2x2 matrices. +void tst_QMatrix::multiply2x2_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues2 << (void *)nullValues2 << (void *)nullValues2; + + QTest::newRow("null/unique") + << (void *)nullValues2 << (void *)uniqueValues2 << (void *)nullValues2; + + QTest::newRow("unique/null") + << (void *)uniqueValues2 << (void *)nullValues2 << (void *)nullValues2; + + QTest::newRow("unique/identity") + << (void *)uniqueValues2 << (void *)identityValues2 << (void *)uniqueValues2; + + QTest::newRow("identity/unique") + << (void *)identityValues2 << (void *)uniqueValues2 << (void *)uniqueValues2; + + static qreal uniqueResult[4]; + for (int row = 0; row < 2; ++row) { + for (int col = 0; col < 2; ++col) { + qreal sum = 0.0f; + for (int j = 0; j < 2; ++j) + sum += uniqueValues2[row * 2 + j] * transposedValues2[j * 2 + col]; + uniqueResult[row * 2 + col] = sum; + } + } + + QTest::newRow("unique/transposed") + << (void *)uniqueValues2 << (void *)transposedValues2 << (void *)uniqueResult; +} +void tst_QMatrix::multiply2x2() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix2x2 m1((const qreal *)m1Values); + QMatrix2x2 m2((const qreal *)m2Values); + + QMatrix2x2 m5; + m5 = m1 * m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix multiplication for 3x3 matrices. +void tst_QMatrix::multiply3x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues3 << (void *)nullValues3 << (void *)nullValues3; + + QTest::newRow("null/unique") + << (void *)nullValues3 << (void *)uniqueValues3 << (void *)nullValues3; + + QTest::newRow("unique/null") + << (void *)uniqueValues3 << (void *)nullValues3 << (void *)nullValues3; + + QTest::newRow("unique/identity") + << (void *)uniqueValues3 << (void *)identityValues3 << (void *)uniqueValues3; + + QTest::newRow("identity/unique") + << (void *)identityValues3 << (void *)uniqueValues3 << (void *)uniqueValues3; + + static qreal uniqueResult[9]; + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 3; ++col) { + qreal sum = 0.0f; + for (int j = 0; j < 3; ++j) + sum += uniqueValues3[row * 3 + j] * transposedValues3[j * 3 + col]; + uniqueResult[row * 3 + col] = sum; + } + } + + QTest::newRow("unique/transposed") + << (void *)uniqueValues3 << (void *)transposedValues3 << (void *)uniqueResult; +} +void tst_QMatrix::multiply3x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix3x3 m1((const qreal *)m1Values); + QMatrix3x3 m2((const qreal *)m2Values); + + QMatrix3x3 m5; + m5 = m1 * m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix multiplication for 4x4 matrices. +void tst_QMatrix::multiply4x4_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues4 << (void *)nullValues4 << (void *)nullValues4; + + QTest::newRow("null/unique") + << (void *)nullValues4 << (void *)uniqueValues4 << (void *)nullValues4; + + QTest::newRow("unique/null") + << (void *)uniqueValues4 << (void *)nullValues4 << (void *)nullValues4; + + QTest::newRow("unique/identity") + << (void *)uniqueValues4 << (void *)identityValues4 << (void *)uniqueValues4; + + QTest::newRow("identity/unique") + << (void *)identityValues4 << (void *)uniqueValues4 << (void *)uniqueValues4; + + static qreal uniqueResult[16]; + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + qreal sum = 0.0f; + for (int j = 0; j < 4; ++j) + sum += uniqueValues4[row * 4 + j] * transposedValues4[j * 4 + col]; + uniqueResult[row * 4 + col] = sum; + } + } + + QTest::newRow("unique/transposed") + << (void *)uniqueValues4 << (void *)transposedValues4 << (void *)uniqueResult; +} +void tst_QMatrix::multiply4x4() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x4 m1((const qreal *)m1Values); + QMatrix4x4 m2((const qreal *)m2Values); + + QMatrix4x4 m4; + m4 = m1; + m4 *= m2; + QVERIFY(isSame(m4, (const qreal *)m3Values)); + + QMatrix4x4 m5; + m5 = m1 * m2; + QVERIFY(isSame(m5, (const qreal *)m3Values)); +} + +// Test matrix multiplication for 4x3 matrices. +void tst_QMatrix::multiply4x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("m3Values"); + + QTest::newRow("null") + << (void *)nullValues4x3 << (void *)nullValues4x3 << (void *)nullValues3; + + QTest::newRow("null/unique") + << (void *)nullValues4x3 << (void *)uniqueValues4x3 << (void *)nullValues3; + + QTest::newRow("unique/null") + << (void *)uniqueValues4x3 << (void *)nullValues4x3 << (void *)nullValues3; + + static qreal uniqueResult[9]; + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 3; ++col) { + qreal sum = 0.0f; + for (int j = 0; j < 4; ++j) + sum += uniqueValues4x3[row * 4 + j] * transposedValues3x4[j * 3 + col]; + uniqueResult[row * 3 + col] = sum; + } + } + + QTest::newRow("unique/transposed") + << (void *)uniqueValues4x3 << (void *)transposedValues3x4 << (void *)uniqueResult; +} +void tst_QMatrix::multiply4x3() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(void *, m3Values); + + QMatrix4x3 m1((const qreal *)m1Values); + QMatrix3x4 m2((const qreal *)m2Values); + + QGenericMatrix<3, 3, qreal, qrealinner> m4; + m4 = m1 * m2; + qreal values[9]; + m4.toValueArray(values); + for (int index = 0; index < 9; ++index) + QCOMPARE(values[index], ((const qreal *)m3Values)[index]); +} + +// Test matrix multiplication by a factor for 2x2 matrices. +void tst_QMatrix::multiplyFactor2x2_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("factor"); + QTest::addColumn("m2Values"); + + QTest::newRow("null") + << (void *)nullValues2 << (qreal)1.0f << (void *)nullValues2; + + QTest::newRow("double identity") + << (void *)identityValues2 << (qreal)2.0f << (void *)doubleIdentity2; + + static qreal const values[16] = + {1.0f, 2.0f, + 5.0f, 6.0f}; + static qreal const doubleValues[16] = + {2.0f, 4.0f, + 10.0f, 12.0f}; + static qreal const negDoubleValues[16] = + {-2.0f, -4.0f, + -10.0f, -12.0f}; + + QTest::newRow("unique") + << (void *)values << (qreal)2.0f << (void *)doubleValues; + + QTest::newRow("neg") + << (void *)values << (qreal)-2.0f << (void *)negDoubleValues; + + QTest::newRow("zero") + << (void *)values << (qreal)0.0f << (void *)nullValues4; +} +void tst_QMatrix::multiplyFactor2x2() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + QMatrix2x2 m1((const qreal *)m1Values); + + QMatrix2x2 m3; + m3 = m1; + m3 *= factor; + QVERIFY(isSame(m3, (const qreal *)m2Values)); + + QMatrix2x2 m4; + m4 = m1 * factor; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix2x2 m5; + m5 = factor * m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); +} + +// Test matrix multiplication by a factor for 3x3 matrices. +void tst_QMatrix::multiplyFactor3x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("factor"); + QTest::addColumn("m2Values"); + + QTest::newRow("null") + << (void *)nullValues3 << (qreal)1.0f << (void *)nullValues3; + + QTest::newRow("double identity") + << (void *)identityValues3 << (qreal)2.0f << (void *)doubleIdentity3; + + static qreal const values[16] = + {1.0f, 2.0f, 3.0f, + 5.0f, 6.0f, 7.0f, + 9.0f, 10.0f, 11.0f}; + static qreal const doubleValues[16] = + {2.0f, 4.0f, 6.0f, + 10.0f, 12.0f, 14.0f, + 18.0f, 20.0f, 22.0f}; + static qreal const negDoubleValues[16] = + {-2.0f, -4.0f, -6.0f, + -10.0f, -12.0f, -14.0f, + -18.0f, -20.0f, -22.0f}; + + QTest::newRow("unique") + << (void *)values << (qreal)2.0f << (void *)doubleValues; + + QTest::newRow("neg") + << (void *)values << (qreal)-2.0f << (void *)negDoubleValues; + + QTest::newRow("zero") + << (void *)values << (qreal)0.0f << (void *)nullValues4; +} +void tst_QMatrix::multiplyFactor3x3() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + QMatrix3x3 m1((const qreal *)m1Values); + + QMatrix3x3 m3; + m3 = m1; + m3 *= factor; + QVERIFY(isSame(m3, (const qreal *)m2Values)); + + QMatrix3x3 m4; + m4 = m1 * factor; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix3x3 m5; + m5 = factor * m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); +} + +// Test matrix multiplication by a factor for 4x4 matrices. +void tst_QMatrix::multiplyFactor4x4_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("factor"); + QTest::addColumn("m2Values"); + + QTest::newRow("null") + << (void *)nullValues4 << (qreal)1.0f << (void *)nullValues4; + + QTest::newRow("double identity") + << (void *)identityValues4 << (qreal)2.0f << (void *)doubleIdentity4; + + static qreal const values[16] = + {1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f, + 13.0f, 14.0f, 15.0f, 16.0f}; + static qreal const doubleValues[16] = + {2.0f, 4.0f, 6.0f, 8.0f, + 10.0f, 12.0f, 14.0f, 16.0f, + 18.0f, 20.0f, 22.0f, 24.0f, + 26.0f, 28.0f, 30.0f, 32.0f}; + static qreal const negDoubleValues[16] = + {-2.0f, -4.0f, -6.0f, -8.0f, + -10.0f, -12.0f, -14.0f, -16.0f, + -18.0f, -20.0f, -22.0f, -24.0f, + -26.0f, -28.0f, -30.0f, -32.0f}; + + QTest::newRow("unique") + << (void *)values << (qreal)2.0f << (void *)doubleValues; + + QTest::newRow("neg") + << (void *)values << (qreal)-2.0f << (void *)negDoubleValues; + + QTest::newRow("zero") + << (void *)values << (qreal)0.0f << (void *)nullValues4; +} +void tst_QMatrix::multiplyFactor4x4() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + QMatrix4x4 m1((const qreal *)m1Values); + + QMatrix4x4 m3; + m3 = m1; + m3 *= factor; + QVERIFY(isSame(m3, (const qreal *)m2Values)); + + QMatrix4x4 m4; + m4 = m1 * factor; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix4x4 m5; + m5 = factor * m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); +} + +// Test matrix multiplication by a factor for 4x3 matrices. +void tst_QMatrix::multiplyFactor4x3_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("factor"); + QTest::addColumn("m2Values"); + + QTest::newRow("null") + << (void *)nullValues4x3 << (qreal)1.0f << (void *)nullValues4x3; + + QTest::newRow("double identity") + << (void *)identityValues4x3 << (qreal)2.0f << (void *)doubleIdentity4x3; + + static qreal const values[12] = + {1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f}; + static qreal const doubleValues[12] = + {2.0f, 4.0f, 6.0f, 8.0f, + 10.0f, 12.0f, 14.0f, 16.0f, + 18.0f, 20.0f, 22.0f, 24.0f}; + static qreal const negDoubleValues[12] = + {-2.0f, -4.0f, -6.0f, -8.0f, + -10.0f, -12.0f, -14.0f, -16.0f, + -18.0f, -20.0f, -22.0f, -24.0f}; + + QTest::newRow("unique") + << (void *)values << (qreal)2.0f << (void *)doubleValues; + + QTest::newRow("neg") + << (void *)values << (qreal)-2.0f << (void *)negDoubleValues; + + QTest::newRow("zero") + << (void *)values << (qreal)0.0f << (void *)nullValues4x3; +} +void tst_QMatrix::multiplyFactor4x3() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + QMatrix4x3 m1((const qreal *)m1Values); + + QMatrix4x3 m3; + m3 = m1; + m3 *= factor; + QVERIFY(isSame(m3, (const qreal *)m2Values)); + + QMatrix4x3 m4; + m4 = m1 * factor; + QVERIFY(isSame(m4, (const qreal *)m2Values)); + + QMatrix4x3 m5; + m5 = factor * m1; + QVERIFY(isSame(m5, (const qreal *)m2Values)); +} + +// Test matrix division by a factor for 2x2 matrices. +void tst_QMatrix::divideFactor2x2_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor2x2_data(); +} +void tst_QMatrix::divideFactor2x2() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + if (factor == 0.0f) + return; + + QMatrix2x2 m2((const qreal *)m2Values); + + QMatrix2x2 m3; + m3 = m2; + m3 /= factor; + QVERIFY(isSame(m3, (const qreal *)m1Values)); + + QMatrix2x2 m4; + m4 = m2 / factor; + QVERIFY(isSame(m4, (const qreal *)m1Values)); +} + +// Test matrix division by a factor for 3x3 matrices. +void tst_QMatrix::divideFactor3x3_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor3x3_data(); +} +void tst_QMatrix::divideFactor3x3() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + if (factor == 0.0f) + return; + + QMatrix3x3 m2((const qreal *)m2Values); + + QMatrix3x3 m3; + m3 = m2; + m3 /= factor; + QVERIFY(isSame(m3, (const qreal *)m1Values)); + + QMatrix3x3 m4; + m4 = m2 / factor; + QVERIFY(isSame(m4, (const qreal *)m1Values)); +} + +// Test matrix division by a factor for 4x4 matrices. +void tst_QMatrix::divideFactor4x4_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor4x4_data(); +} +void tst_QMatrix::divideFactor4x4() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + if (factor == 0.0f) + return; + + QMatrix4x4 m2((const qreal *)m2Values); + + QMatrix4x4 m3; + m3 = m2; + m3 /= factor; + QVERIFY(isSame(m3, (const qreal *)m1Values)); + + QMatrix4x4 m4; + m4 = m2 / factor; + QVERIFY(isSame(m4, (const qreal *)m1Values)); +} + +// Test matrix division by a factor for 4x3 matrices. +void tst_QMatrix::divideFactor4x3_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor4x3_data(); +} +void tst_QMatrix::divideFactor4x3() +{ + QFETCH(void *, m1Values); + QFETCH(qreal, factor); + QFETCH(void *, m2Values); + + if (factor == 0.0f) + return; + + QMatrix4x3 m2((const qreal *)m2Values); + + QMatrix4x3 m3; + m3 = m2; + m3 /= factor; + QVERIFY(isSame(m3, (const qreal *)m1Values)); + + QMatrix4x3 m4; + m4 = m2 / factor; + QVERIFY(isSame(m4, (const qreal *)m1Values)); +} + +// Test matrix negation for 2x2 matrices. +void tst_QMatrix::negate2x2_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor2x2_data(); +} +void tst_QMatrix::negate2x2() +{ + QFETCH(void *, m1Values); + + const qreal *values = (const qreal *)m1Values; + + QMatrix2x2 m1(values); + + qreal negated[4]; + for (int index = 0; index < 4; ++index) + negated[index] = -values[index]; + + QMatrix2x2 m2; + m2 = -m1; + QVERIFY(isSame(m2, negated)); +} + +// Test matrix negation for 3x3 matrices. +void tst_QMatrix::negate3x3_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor3x3_data(); +} +void tst_QMatrix::negate3x3() +{ + QFETCH(void *, m1Values); + + const qreal *values = (const qreal *)m1Values; + + QMatrix3x3 m1(values); + + qreal negated[9]; + for (int index = 0; index < 9; ++index) + negated[index] = -values[index]; + + QMatrix3x3 m2; + m2 = -m1; + QVERIFY(isSame(m2, negated)); +} + +// Test matrix negation for 4x4 matrices. +void tst_QMatrix::negate4x4_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor4x4_data(); +} +void tst_QMatrix::negate4x4() +{ + QFETCH(void *, m1Values); + + const qreal *values = (const qreal *)m1Values; + + QMatrix4x4 m1(values); + + qreal negated[16]; + for (int index = 0; index < 16; ++index) + negated[index] = -values[index]; + + QMatrix4x4 m2; + m2 = -m1; + QVERIFY(isSame(m2, negated)); +} + +// Test matrix negation for 4x3 matrices. +void tst_QMatrix::negate4x3_data() +{ + // Use the same test cases as the multiplyFactor test. + multiplyFactor4x3_data(); +} +void tst_QMatrix::negate4x3() +{ + QFETCH(void *, m1Values); + + const qreal *values = (const qreal *)m1Values; + + QMatrix4x3 m1(values); + + qreal negated[12]; + for (int index = 0; index < 12; ++index) + negated[index] = -values[index]; + + QMatrix4x3 m2; + m2 = -m1; + QVERIFY(isSame(m2, negated)); +} + +// Matrix inverted. This is a more straight-forward implementation +// of the algorithm at http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q24 +// than the optimized version in the QMatrix4x4 code. Hopefully it is +// easier to verify that this version is the same as the reference. + +struct Matrix3 +{ + qreal v[9]; +}; +struct Matrix4 +{ + qreal v[16]; +}; + +static qreal m3Determinant(const Matrix3& m) +{ + return m.v[0] * (m.v[4] * m.v[8] - m.v[7] * m.v[5]) - + m.v[1] * (m.v[3] * m.v[8] - m.v[6] * m.v[5]) + + m.v[2] * (m.v[3] * m.v[7] - m.v[6] * m.v[4]); +} + +static bool m3Inverse(const Matrix3& min, Matrix3& mout) +{ + qreal det = m3Determinant(min); + if (det == 0.0f) + return false; + mout.v[0] = (min.v[4] * min.v[8] - min.v[5] * min.v[7]) / det; + mout.v[1] = -(min.v[1] * min.v[8] - min.v[2] * min.v[7]) / det; + mout.v[2] = (min.v[1] * min.v[5] - min.v[4] * min.v[2]) / det; + mout.v[3] = -(min.v[3] * min.v[8] - min.v[5] * min.v[6]) / det; + mout.v[4] = (min.v[0] * min.v[8] - min.v[6] * min.v[2]) / det; + mout.v[5] = -(min.v[0] * min.v[5] - min.v[3] * min.v[2]) / det; + mout.v[6] = (min.v[3] * min.v[7] - min.v[6] * min.v[4]) / det; + mout.v[7] = -(min.v[0] * min.v[7] - min.v[6] * min.v[1]) / det; + mout.v[8] = (min.v[0] * min.v[4] - min.v[1] * min.v[3]) / det; + return true; +} + +static void m3Transpose(Matrix3& m) +{ + qSwap(m.v[1], m.v[3]); + qSwap(m.v[2], m.v[6]); + qSwap(m.v[5], m.v[7]); +} + +static void m4Submatrix(const Matrix4& min, Matrix3& mout, int i, int j) +{ + for (int di = 0; di < 3; ++di) { + for (int dj = 0; dj < 3; ++dj) { + int si = di + ((di >= i) ? 1 : 0); + int sj = dj + ((dj >= j) ? 1 : 0); + mout.v[di * 3 + dj] = min.v[si * 4 + sj]; + } + } +} + +static qreal m4Determinant(const Matrix4& m) +{ + qreal det; + qreal result = 0.0f; + qreal i = 1.0f; + Matrix3 msub; + for (int n = 0; n < 4; ++n, i *= -1.0f) { + m4Submatrix(m, msub, 0, n); + det = m3Determinant(msub); + result += m.v[n] * det * i; + } + return result; +} + +static void m4Inverse(const Matrix4& min, Matrix4& mout) +{ + qreal det = m4Determinant(min); + Matrix3 msub; + for (int i = 0; i < 4; ++i) { + for (int j = 0; j < 4; ++j) { + qreal sign = 1.0f - ((i + j) % 2) * 2.0f; + m4Submatrix(min, msub, i, j); + mout.v[i + j * 4] = (m3Determinant(msub) * sign) / det; + } + } +} + +// Test matrix inverted for 4x4 matrices. +void tst_QMatrix::inverted4x4_data() +{ + QTest::addColumn("m1Values"); + QTest::addColumn("m2Values"); + QTest::addColumn("invertible"); + + QTest::newRow("null") + << (void *)nullValues4 << (void *)identityValues4 << false; + + QTest::newRow("identity") + << (void *)identityValues4 << (void *)identityValues4 << true; + + QTest::newRow("unique") + << (void *)uniqueValues4 << (void *)identityValues4 << false; + + static Matrix4 const invertible = { + {5.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 6.0f, 0.0f, 3.0f, + 0.0f, 0.0f, 7.0f, 4.0f, + 0.0f, 0.0f, 0.0f, 1.0f} + }; + static Matrix4 inverted; + m4Inverse(invertible, inverted); + + QTest::newRow("invertible") + << (void *)invertible.v << (void *)inverted.v << true; + + static Matrix4 const translate = { + {1.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 1.0f, 0.0f, 3.0f, + 0.0f, 0.0f, 1.0f, 4.0f, + 0.0f, 0.0f, 0.0f, 1.0f} + }; + static Matrix4 const inverseTranslate = { + {1.0f, 0.0f, 0.0f, -2.0f, + 0.0f, 1.0f, 0.0f, -3.0f, + 0.0f, 0.0f, 1.0f, -4.0f, + 0.0f, 0.0f, 0.0f, 1.0f} + }; + + QTest::newRow("translate") + << (void *)translate.v << (void *)inverseTranslate.v << true; +} +void tst_QMatrix::inverted4x4() +{ + QFETCH(void *, m1Values); + QFETCH(void *, m2Values); + QFETCH(bool, invertible); + + QMatrix4x4 m1((const qreal *)m1Values); + + if (invertible) + QVERIFY(m1.determinant() != 0.0f); + else + QVERIFY(m1.determinant() == 0.0f); + + Matrix4 m1alt; + memcpy(m1alt.v, (const qreal *)m1Values, sizeof(m1alt.v)); + + QCOMPARE((float)(m1.determinant()), (float)(m4Determinant(m1alt))); + + QMatrix4x4 m2; + bool inv; + m2 = m1.inverted(&inv); + QVERIFY(isSame(m2, (const qreal *)m2Values)); + + if (invertible) { + QVERIFY(inv); + + Matrix4 m2alt; + m4Inverse(m1alt, m2alt); + QVERIFY(isSame(m2, m2alt.v)); + + QMatrix4x4 m3; + m3 = m1 * m2; + QVERIFY(isIdentity(m3)); + + QMatrix4x4 m4; + m4 = m2 * m1; + QVERIFY(isIdentity(m4)); + } else { + QVERIFY(!inv); + } + + // Test again, after inferring the special matrix type. + m1.inferSpecialType(); + m2 = m1.inverted(&inv); + QVERIFY(isSame(m2, (const qreal *)m2Values)); + QCOMPARE(inv, invertible); +} + +void tst_QMatrix::orthonormalInverse4x4() +{ + QMatrix4x4 m1; + QVERIFY(matrixFuzzyCompare(m1.inverted(), m1)); + + QMatrix4x4 m2; + m2.rotate(45.0, 1.0, 0.0, 0.0); + m2.translate(10.0, 0.0, 0.0); + + // Use inferSpecialType() to drop the internal flags that + // mark the matrix as orthonormal. This will force inverted() + // to compute m3.inverted() the long way. We can then compare + // the result to what the faster algorithm produces on m2. + QMatrix4x4 m3 = m2; + m3.inferSpecialType(); + bool invertible; + QVERIFY(matrixFuzzyCompare(m2.inverted(&invertible), m3.inverted())); + QVERIFY(invertible); + + QMatrix4x4 m4; + m4.rotate(45.0, 0.0, 1.0, 0.0); + QMatrix4x4 m5 = m4; + m5.inferSpecialType(); + QVERIFY(matrixFuzzyCompare(m4.inverted(), m5.inverted())); + + QMatrix4x4 m6; + m1.rotate(88, 0.0, 0.0, 1.0); + m1.translate(-20.0, 20.0, 15.0); + m1.rotate(25, 1.0, 0.0, 0.0); + QMatrix4x4 m7 = m6; + m7.inferSpecialType(); + QVERIFY(matrixFuzzyCompare(m6.inverted(), m7.inverted())); +} + +// Test the generation and use of 4x4 scale matrices. +void tst_QMatrix::scale4x4_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("resultValues"); + + static const qreal nullScale[] = + {0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (void *)nullScale; + + QTest::newRow("identity") + << (qreal)1.0f << (qreal)1.0f << (qreal)1.0f << (void *)identityValues4; + + static const qreal doubleScale[] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 2.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("double") + << (qreal)2.0f << (qreal)2.0f << (qreal)2.0f << (void *)doubleScale; + + static const qreal complexScale[] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 11.0f, 0.0f, 0.0f, + 0.0f, 0.0f, -6.5f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("complex") + << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexScale; +} +void tst_QMatrix::scale4x4() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(void *, resultValues); + + QMatrix4x4 result((const qreal *)resultValues); + + QMatrix4x4 m1; + m1.scale(QVector3D(x, y, z)); + QVERIFY(isSame(m1, (const qreal *)resultValues)); + + QMatrix4x4 m2; + m2.scale(x, y, z); + QVERIFY(isSame(m2, (const qreal *)resultValues)); + + QVector3D v1(2.0f, 3.0f, -4.0f); + QVector3D v2 = m1 * v1; + QCOMPARE(v2.x(), (qreal)(2.0f * x)); + QCOMPARE(v2.y(), (qreal)(3.0f * y)); + QCOMPARE(v2.z(), (qreal)(-4.0f * z)); + + v2 = v1 * m1; + QCOMPARE(v2.x(), (qreal)(2.0f * x)); + QCOMPARE(v2.y(), (qreal)(3.0f * y)); + QCOMPARE(v2.z(), (qreal)(-4.0f * z)); + + QVector4D v3(2.0f, 3.0f, -4.0f, 34.0f); + QVector4D v4 = m1 * v3; + QCOMPARE(v4.x(), (qreal)(2.0f * x)); + QCOMPARE(v4.y(), (qreal)(3.0f * y)); + QCOMPARE(v4.z(), (qreal)(-4.0f * z)); + QCOMPARE(v4.w(), (qreal)34.0f); + + v4 = v3 * m1; + QCOMPARE(v4.x(), (qreal)(2.0f * x)); + QCOMPARE(v4.y(), (qreal)(3.0f * y)); + QCOMPARE(v4.z(), (qreal)(-4.0f * z)); + QCOMPARE(v4.w(), (qreal)34.0f); + + QPoint p1(2, 3); + QPoint p2 = m1 * p1; + QCOMPARE(p2.x(), (int)(2.0f * x)); + QCOMPARE(p2.y(), (int)(3.0f * y)); + + p2 = p1 * m1; + QCOMPARE(p2.x(), (int)(2.0f * x)); + QCOMPARE(p2.y(), (int)(3.0f * y)); + + QPointF p3(2.0f, 3.0f); + QPointF p4 = m1 * p3; + QCOMPARE(p4.x(), (qreal)(2.0f * x)); + QCOMPARE(p4.y(), (qreal)(3.0f * y)); + + p4 = p3 * m1; + QCOMPARE(p4.x(), (qreal)(2.0f * x)); + QCOMPARE(p4.y(), (qreal)(3.0f * y)); + + QMatrix4x4 m3(uniqueValues4); + QMatrix4x4 m4(m3); + m4.scale(x, y, z); + QVERIFY(m4 == m3 * m1); + + if (x == y && y == z) { + QMatrix4x4 m5; + m5.scale(x); + QVERIFY(isSame(m5, (const qreal *)resultValues)); + } + + // Test coverage when the special matrix type is unknown. + + QMatrix4x4 m6; + m6(0, 0) = 1.0f; + m6.scale(QVector3D(x, y, z)); + QVERIFY(isSame(m6, (const qreal *)resultValues)); + + QMatrix4x4 m7; + m7(0, 0) = 1.0f; + m7.scale(x, y, z); + QVERIFY(isSame(m7, (const qreal *)resultValues)); + + if (x == y && y == z) { + QMatrix4x4 m8; + m8(0, 0) = 1.0f; + m8.scale(x); + QVERIFY(isSame(m8, (const qreal *)resultValues)); + + m8.inferSpecialType(); + m8.scale(1.0f); + QVERIFY(isSame(m8, (const qreal *)resultValues)); + + QMatrix4x4 m9; + m9.translate(0.0f, 0.0f, 0.0f); + m9.scale(x); + QVERIFY(isSame(m9, (const qreal *)resultValues)); + } +} + +// Test the generation and use of 4x4 translation matrices. +void tst_QMatrix::translate4x4_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("resultValues"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (void *)identityValues4; + + static const qreal identityTranslate[] = + {1.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 1.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 1.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("identity") + << (qreal)1.0f << (qreal)1.0f << (qreal)1.0f << (void *)identityTranslate; + + static const qreal complexTranslate[] = + {1.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 1.0f, 0.0f, 11.0f, + 0.0f, 0.0f, 1.0f, -6.5f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("complex") + << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexTranslate; +} +void tst_QMatrix::translate4x4() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(void *, resultValues); + + QMatrix4x4 result((const qreal *)resultValues); + + QMatrix4x4 m1; + m1.translate(QVector3D(x, y, z)); + QVERIFY(isSame(m1, (const qreal *)resultValues)); + + QMatrix4x4 m2; + m2.translate(x, y, z); + QVERIFY(isSame(m2, (const qreal *)resultValues)); + + QVector3D v1(2.0f, 3.0f, -4.0f); + QVector3D v2 = m1 * v1; + QCOMPARE(v2.x(), (qreal)(2.0f + x)); + QCOMPARE(v2.y(), (qreal)(3.0f + y)); + QCOMPARE(v2.z(), (qreal)(-4.0f + z)); + + QVector4D v3(2.0f, 3.0f, -4.0f, 1.0f); + QVector4D v4 = m1 * v3; + QCOMPARE(v4.x(), (qreal)(2.0f + x)); + QCOMPARE(v4.y(), (qreal)(3.0f + y)); + QCOMPARE(v4.z(), (qreal)(-4.0f + z)); + QCOMPARE(v4.w(), (qreal)1.0f); + + QVector4D v5(2.0f, 3.0f, -4.0f, 34.0f); + QVector4D v6 = m1 * v5; + QCOMPARE(v6.x(), (qreal)(2.0f + x * 34.0f)); + QCOMPARE(v6.y(), (qreal)(3.0f + y * 34.0f)); + QCOMPARE(v6.z(), (qreal)(-4.0f + z * 34.0f)); + QCOMPARE(v6.w(), (qreal)34.0f); + + QPoint p1(2, 3); + QPoint p2 = m1 * p1; + QCOMPARE(p2.x(), (int)(2.0f + x)); + QCOMPARE(p2.y(), (int)(3.0f + y)); + + QPointF p3(2.0f, 3.0f); + QPointF p4 = m1 * p3; + QCOMPARE(p4.x(), (qreal)(2.0f + x)); + QCOMPARE(p4.y(), (qreal)(3.0f + y)); + + QMatrix4x4 m3(uniqueValues4); + QMatrix4x4 m4(m3); + m4.translate(x, y, z); + QVERIFY(m4 == m3 * m1); +} + +// Test the generation and use of 4x4 rotation matrices. +void tst_QMatrix::rotate4x4_data() +{ + QTest::addColumn("angle"); + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("resultValues"); + + static const qreal nullRotate[] = + {0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("null") + << (qreal)90.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (void *)nullRotate; + + static const qreal noRotate[] = + {1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("zerodegrees") + << (qreal)0.0f + << (qreal)2.0f << (qreal)3.0f << (qreal)-4.0f + << (void *)noRotate; + + static const qreal xRotate[] = + {1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, -1.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("xrotate") + << (qreal)90.0f + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (void *)xRotate; + + static const qreal xRotateNeg[] = + {1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("-xrotate") + << (qreal)90.0f + << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f + << (void *)xRotateNeg; + + static const qreal yRotate[] = + {0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("yrotate") + << (qreal)90.0f + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (void *)yRotate; + + static const qreal yRotateNeg[] = + {0.0f, 0.0f, -1.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("-yrotate") + << (qreal)90.0f + << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f + << (void *)yRotateNeg; + + static const qreal zRotate[] = + {0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("zrotate") + << (qreal)90.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (void *)zRotate; + + static const qreal zRotateNeg[] = + {0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("-zrotate") + << (qreal)90.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f + << (void *)zRotateNeg; + + // Algorithm from http://en.wikipedia.org/wiki/Rotation_matrix. + // Deliberately different from the one in the code for cross-checking. + static qreal complexRotate[16]; + qreal x = 1.0f; + qreal y = 2.0f; + qreal z = -6.0f; + qreal angle = -45.0f; + qreal c = qCos(angle * M_PI / 180.0f); + qreal s = qSin(angle * M_PI / 180.0f); + qreal len = qSqrt(x * x + y * y + z * z); + qreal xu = x / len; + qreal yu = y / len; + qreal zu = z / len; + complexRotate[0] = (qreal)((1 - xu * xu) * c + xu * xu); + complexRotate[1] = (qreal)(-zu * s - xu * yu * c + xu * yu); + complexRotate[2] = (qreal)(yu * s - xu * zu * c + xu * zu); + complexRotate[3] = 0; + complexRotate[4] = (qreal)(zu * s - xu * yu * c + xu * yu); + complexRotate[5] = (qreal)((1 - yu * yu) * c + yu * yu); + complexRotate[6] = (qreal)(-xu * s - yu * zu * c + yu * zu); + complexRotate[7] = 0; + complexRotate[8] = (qreal)(-yu * s - xu * zu * c + xu * zu); + complexRotate[9] = (qreal)(xu * s - yu * zu * c + yu * zu); + complexRotate[10] = (qreal)((1 - zu * zu) * c + zu * zu); + complexRotate[11] = 0; + complexRotate[12] = 0; + complexRotate[13] = 0; + complexRotate[14] = 0; + complexRotate[15] = 1; + + QTest::newRow("complex") + << (qreal)angle + << (qreal)x << (qreal)y << (qreal)z + << (void *)complexRotate; +} +void tst_QMatrix::rotate4x4() +{ + QFETCH(qreal, angle); + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(void *, resultValues); + + QMatrix4x4 m1; + m1.rotate(angle, QVector3D(x, y, z)); + QVERIFY(isSame(m1, (const qreal *)resultValues)); + + QMatrix4x4 m2; + m2.rotate(angle, x, y, z); + QVERIFY(isSame(m2, (const qreal *)resultValues)); + + QMatrix4x4 m3(uniqueValues4); + QMatrix4x4 m4(m3); + m4.rotate(angle, x, y, z); + QVERIFY(matrixFuzzyCompare(m4, m3 * m1)); + + // Null vectors don't make sense for quaternion rotations. + if (x != 0 || y != 0 || z != 0) { + QMatrix4x4 m5; + m5.rotate(QQuaternion::fromAxisAndAngle(QVector3D(x, y, z), angle)); + QVERIFY(isSame(m5, (const qreal *)resultValues)); + } + +#define ROTATE4(xin,yin,zin,win,xout,yout,zout,wout) \ + do { \ + xout = ((const qreal *)resultValues)[0] * xin + \ + ((const qreal *)resultValues)[1] * yin + \ + ((const qreal *)resultValues)[2] * zin + \ + ((const qreal *)resultValues)[3] * win; \ + yout = ((const qreal *)resultValues)[4] * xin + \ + ((const qreal *)resultValues)[5] * yin + \ + ((const qreal *)resultValues)[6] * zin + \ + ((const qreal *)resultValues)[7] * win; \ + zout = ((const qreal *)resultValues)[8] * xin + \ + ((const qreal *)resultValues)[9] * yin + \ + ((const qreal *)resultValues)[10] * zin + \ + ((const qreal *)resultValues)[11] * win; \ + wout = ((const qreal *)resultValues)[12] * xin + \ + ((const qreal *)resultValues)[13] * yin + \ + ((const qreal *)resultValues)[14] * zin + \ + ((const qreal *)resultValues)[15] * win; \ + } while (0) + + // Rotate various test vectors using the straight-forward approach. + qreal v1x, v1y, v1z, v1w; + ROTATE4(2.0f, 3.0f, -4.0f, 1.0f, v1x, v1y, v1z, v1w); + v1x /= v1w; + v1y /= v1w; + v1z /= v1w; + qreal v3x, v3y, v3z, v3w; + ROTATE4(2.0f, 3.0f, -4.0f, 1.0f, v3x, v3y, v3z, v3w); + qreal v5x, v5y, v5z, v5w; + ROTATE4(2.0f, 3.0f, -4.0f, 34.0f, v5x, v5y, v5z, v5w); + qreal p1x, p1y, p1z, p1w; + ROTATE4(2.0f, 3.0f, 0.0f, 1.0f, p1x, p1y, p1z, p1w); + p1x /= p1w; + p1y /= p1w; + p1z /= p1w; + + QVector3D v1(2.0f, 3.0f, -4.0f); + QVector3D v2 = m1 * v1; + QVERIFY(fuzzyCompare(v2.x(), v1x)); + QVERIFY(fuzzyCompare(v2.y(), v1y)); + QVERIFY(fuzzyCompare(v2.z(), v1z)); + + QVector4D v3(2.0f, 3.0f, -4.0f, 1.0f); + QVector4D v4 = m1 * v3; + QVERIFY(fuzzyCompare(v4.x(), v3x)); + QVERIFY(fuzzyCompare(v4.y(), v3y)); + QVERIFY(fuzzyCompare(v4.z(), v3z)); + QVERIFY(fuzzyCompare(v4.w(), v3w)); + + QVector4D v5(2.0f, 3.0f, -4.0f, 34.0f); + QVector4D v6 = m1 * v5; + QVERIFY(fuzzyCompare(v6.x(), v5x)); + QVERIFY(fuzzyCompare(v6.y(), v5y)); + QVERIFY(fuzzyCompare(v6.z(), v5z)); + QVERIFY(fuzzyCompare(v6.w(), v5w)); + + QPoint p1(2, 3); + QPoint p2 = m1 * p1; + QCOMPARE(p2.x(), qRound(p1x)); + QCOMPARE(p2.y(), qRound(p1y)); + + QPointF p3(2.0f, 3.0f); + QPointF p4 = m1 * p3; + QVERIFY(fuzzyCompare((float)(p4.x()), p1x)); + QVERIFY(fuzzyCompare((float)(p4.y()), p1y)); + + if (x != 0 || y != 0 || z != 0) { + QQuaternion q = QQuaternion::fromAxisAndAngle(QVector3D(x, y, z), angle); + QVector3D vq = q.rotateVector(v1); + QVERIFY(fuzzyCompare(vq.x(), v1x)); + QVERIFY(fuzzyCompare(vq.y(), v1y)); + QVERIFY(fuzzyCompare(vq.z(), v1z)); + } +} + +static bool isSame(const QMatrix3x3& m1, const Matrix3& m2) +{ + for (int row = 0; row < 3; ++row) { + for (int col = 0; col < 3; ++col) { + if (!fuzzyCompare(m1(row, col), m2.v[row * 3 + col])) + return false; + } + } + return true; +} + +// Test the computation of normal matrices from 4x4 transformation matrices. +void tst_QMatrix::normalMatrix_data() +{ + QTest::addColumn("mValues"); + + QTest::newRow("identity") + << (void *)identityValues4; + QTest::newRow("unique") + << (void *)uniqueValues4; // Not invertible because determinant == 0. + + static qreal const translateValues[16] = + {1.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 1.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 1.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const scaleValues[16] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 7.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 9.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const bothValues[16] = + {2.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 7.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 9.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const nullScaleValues1[16] = + {0.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 7.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 9.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const nullScaleValues2[16] = + {2.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 0.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 9.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const nullScaleValues3[16] = + {2.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 7.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 0.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + + QTest::newRow("translate") << (void *)translateValues; + QTest::newRow("scale") << (void *)scaleValues; + QTest::newRow("both") << (void *)bothValues; + QTest::newRow("null scale 1") << (void *)nullScaleValues1; + QTest::newRow("null scale 2") << (void *)nullScaleValues2; + QTest::newRow("null scale 3") << (void *)nullScaleValues3; +} +void tst_QMatrix::normalMatrix() +{ + QFETCH(void *, mValues); + const qreal *values = (const qreal *)mValues; + + // Compute the expected answer the long way. + Matrix3 min; + Matrix3 answer; + min.v[0] = values[0]; + min.v[1] = values[1]; + min.v[2] = values[2]; + min.v[3] = values[4]; + min.v[4] = values[5]; + min.v[5] = values[6]; + min.v[6] = values[8]; + min.v[7] = values[9]; + min.v[8] = values[10]; + bool invertible = m3Inverse(min, answer); + m3Transpose(answer); + + // Perform the test. + QMatrix4x4 m1(values); + QMatrix3x3 n1 = m1.normalMatrix(); + + if (invertible) + QVERIFY(::isSame(n1, answer)); + else + QVERIFY(isIdentity(n1)); + + // Perform the test again, after inferring special matrix types. + // This tests the optimized paths in the normalMatrix() function. + m1.inferSpecialType(); + n1 = m1.normalMatrix(); + + if (invertible) + QVERIFY(::isSame(n1, answer)); + else + QVERIFY(isIdentity(n1)); +} + +// Test optimized transformations on 4x4 matrices. +void tst_QMatrix::optimizedTransforms() +{ + static qreal const translateValues[16] = + {1.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 1.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 1.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const translateDoubleValues[16] = + {1.0f, 0.0f, 0.0f, 8.0f, + 0.0f, 1.0f, 0.0f, 10.0f, + 0.0f, 0.0f, 1.0f, -6.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const scaleValues[16] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 7.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 9.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const scaleDoubleValues[16] = + {4.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 49.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 81.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const bothValues[16] = + {2.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 7.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 9.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const bothReverseValues[16] = + {2.0f, 0.0f, 0.0f, 4.0f * 2.0f, + 0.0f, 7.0f, 0.0f, 5.0f * 7.0f, + 0.0f, 0.0f, 9.0f, -3.0f * 9.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const bothThenTranslateValues[16] = + {2.0f, 0.0f, 0.0f, 4.0f + 2.0f * 4.0f, + 0.0f, 7.0f, 0.0f, 5.0f + 7.0f * 5.0f, + 0.0f, 0.0f, 9.0f, -3.0f + 9.0f * -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + static qreal const bothThenScaleValues[16] = + {4.0f, 0.0f, 0.0f, 4.0f, + 0.0f, 49.0f, 0.0f, 5.0f, + 0.0f, 0.0f, 81.0f, -3.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + + QMatrix4x4 translate(translateValues); + QMatrix4x4 scale(scaleValues); + QMatrix4x4 both(bothValues); + + QMatrix4x4 m1; + m1.translate(4.0f, 5.0f, -3.0f); + QVERIFY(isSame(m1, translateValues)); + m1.translate(4.0f, 5.0f, -3.0f); + QVERIFY(isSame(m1, translateDoubleValues)); + + QMatrix4x4 m2; + m2.translate(QVector3D(4.0f, 5.0f, -3.0f)); + QVERIFY(isSame(m2, translateValues)); + m2.translate(QVector3D(4.0f, 5.0f, -3.0f)); + QVERIFY(isSame(m2, translateDoubleValues)); + + QMatrix4x4 m3; + m3.scale(2.0f, 7.0f, 9.0f); + QVERIFY(isSame(m3, scaleValues)); + m3.scale(2.0f, 7.0f, 9.0f); + QVERIFY(isSame(m3, scaleDoubleValues)); + + QMatrix4x4 m4; + m4.scale(QVector3D(2.0f, 7.0f, 9.0f)); + QVERIFY(isSame(m4, scaleValues)); + m4.scale(QVector3D(2.0f, 7.0f, 9.0f)); + QVERIFY(isSame(m4, scaleDoubleValues)); + + QMatrix4x4 m5; + m5.translate(4.0f, 5.0f, -3.0f); + m5.scale(2.0f, 7.0f, 9.0f); + QVERIFY(isSame(m5, bothValues)); + m5.translate(4.0f, 5.0f, -3.0f); + QVERIFY(isSame(m5, bothThenTranslateValues)); + + QMatrix4x4 m6; + m6.translate(QVector3D(4.0f, 5.0f, -3.0f)); + m6.scale(QVector3D(2.0f, 7.0f, 9.0f)); + QVERIFY(isSame(m6, bothValues)); + m6.translate(QVector3D(4.0f, 5.0f, -3.0f)); + QVERIFY(isSame(m6, bothThenTranslateValues)); + + QMatrix4x4 m7; + m7.scale(2.0f, 7.0f, 9.0f); + m7.translate(4.0f, 5.0f, -3.0f); + QVERIFY(isSame(m7, bothReverseValues)); + + QMatrix4x4 m8; + m8.scale(QVector3D(2.0f, 7.0f, 9.0f)); + m8.translate(QVector3D(4.0f, 5.0f, -3.0f)); + QVERIFY(isSame(m8, bothReverseValues)); + + QMatrix4x4 m9; + m9.translate(4.0f, 5.0f, -3.0f); + m9.scale(2.0f, 7.0f, 9.0f); + QVERIFY(isSame(m9, bothValues)); + m9.scale(2.0f, 7.0f, 9.0f); + QVERIFY(isSame(m9, bothThenScaleValues)); + + QMatrix4x4 m10; + m10.translate(QVector3D(4.0f, 5.0f, -3.0f)); + m10.scale(QVector3D(2.0f, 7.0f, 9.0f)); + QVERIFY(isSame(m10, bothValues)); + m10.scale(QVector3D(2.0f, 7.0f, 9.0f)); + QVERIFY(isSame(m10, bothThenScaleValues)); +} + +// Test orthographic projections. +void tst_QMatrix::ortho() +{ + QMatrix4x4 m1; + m1.ortho(QRect(0, 0, 300, 150)); + QPointF p1 = m1 * QPointF(0, 0); + QPointF p2 = m1 * QPointF(300, 0); + QPointF p3 = m1 * QPointF(0, 150); + QPointF p4 = m1 * QPointF(300, 150); + QVector3D p5 = m1 * QVector3D(300, 150, 1); + QVERIFY(fuzzyCompare(p1.x(), -1.0)); + QVERIFY(fuzzyCompare(p1.y(), 1.0)); + QVERIFY(fuzzyCompare(p2.x(), 1.0)); + QVERIFY(fuzzyCompare(p2.y(), 1.0)); + QVERIFY(fuzzyCompare(p3.x(), -1.0)); + QVERIFY(fuzzyCompare(p3.y(), -1.0)); + QVERIFY(fuzzyCompare(p4.x(), 1.0)); + QVERIFY(fuzzyCompare(p4.y(), -1.0)); + QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0)); + QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0)); + QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0)); + + QMatrix4x4 m2; + m2.ortho(QRectF(0, 0, 300, 150)); + p1 = m2 * QPointF(0, 0); + p2 = m2 * QPointF(300, 0); + p3 = m2 * QPointF(0, 150); + p4 = m2 * QPointF(300, 150); + p5 = m2 * QVector3D(300, 150, 1); + QVERIFY(fuzzyCompare(p1.x(), -1.0)); + QVERIFY(fuzzyCompare(p1.y(), 1.0)); + QVERIFY(fuzzyCompare(p2.x(), 1.0)); + QVERIFY(fuzzyCompare(p2.y(), 1.0)); + QVERIFY(fuzzyCompare(p3.x(), -1.0)); + QVERIFY(fuzzyCompare(p3.y(), -1.0)); + QVERIFY(fuzzyCompare(p4.x(), 1.0)); + QVERIFY(fuzzyCompare(p4.y(), -1.0)); + QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0)); + QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0)); + QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0)); + + QMatrix4x4 m3; + m3.ortho(0, 300, 150, 0, -1, 1); + p1 = m3 * QPointF(0, 0); + p2 = m3 * QPointF(300, 0); + p3 = m3 * QPointF(0, 150); + p4 = m3 * QPointF(300, 150); + p5 = m3 * QVector3D(300, 150, 1); + QVERIFY(fuzzyCompare(p1.x(), -1.0)); + QVERIFY(fuzzyCompare(p1.y(), 1.0)); + QVERIFY(fuzzyCompare(p2.x(), 1.0)); + QVERIFY(fuzzyCompare(p2.y(), 1.0)); + QVERIFY(fuzzyCompare(p3.x(), -1.0)); + QVERIFY(fuzzyCompare(p3.y(), -1.0)); + QVERIFY(fuzzyCompare(p4.x(), 1.0)); + QVERIFY(fuzzyCompare(p4.y(), -1.0)); + QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0)); + QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0)); + QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0)); + + QMatrix4x4 m4; + m4.ortho(0, 300, 150, 0, -2, 3); + p1 = m4 * QPointF(0, 0); + p2 = m4 * QPointF(300, 0); + p3 = m4 * QPointF(0, 150); + p4 = m4 * QPointF(300, 150); + p5 = m4 * QVector3D(300, 150, 1); + QVERIFY(fuzzyCompare(p1.x(), -1.0)); + QVERIFY(fuzzyCompare(p1.y(), 1.0)); + QVERIFY(fuzzyCompare(p2.x(), 1.0)); + QVERIFY(fuzzyCompare(p2.y(), 1.0)); + QVERIFY(fuzzyCompare(p3.x(), -1.0)); + QVERIFY(fuzzyCompare(p3.y(), -1.0)); + QVERIFY(fuzzyCompare(p4.x(), 1.0)); + QVERIFY(fuzzyCompare(p4.y(), -1.0)); + QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0)); + QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0)); + QVERIFY(fuzzyCompare(p5.z(), (qreal)-0.6)); + + // An empty view volume should leave the matrix alone. + QMatrix4x4 m5; + m5.ortho(0, 0, 150, 0, -2, 3); + QVERIFY(m5.isIdentity()); + m5.ortho(0, 300, 150, 150, -2, 3); + QVERIFY(m5.isIdentity()); + m5.ortho(0, 300, 150, 0, 2, 2); + QVERIFY(m5.isIdentity()); +} + +// Test perspective frustum projections. +void tst_QMatrix::frustum() +{ + QMatrix4x4 m1; + m1.frustum(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f); + QVector3D p1 = m1 * QVector3D(-1.0f, -1.0f, 1.0f); + QVector3D p2 = m1 * QVector3D(1.0f, -1.0f, 1.0f); + QVector3D p3 = m1 * QVector3D(-1.0f, 1.0f, 1.0f); + QVector3D p4 = m1 * QVector3D(1.0f, 1.0f, 1.0f); + QVector3D p5 = m1 * QVector3D(0.0f, 0.0f, 2.0f); + QVERIFY(fuzzyCompare(p1.x(), -1.0f)); + QVERIFY(fuzzyCompare(p1.y(), -1.0f)); + QVERIFY(fuzzyCompare(p1.z(), -1.0f)); + QVERIFY(fuzzyCompare(p2.x(), 1.0f)); + QVERIFY(fuzzyCompare(p2.y(), -1.0f)); + QVERIFY(fuzzyCompare(p2.z(), -1.0f)); + QVERIFY(fuzzyCompare(p3.x(), -1.0f)); + QVERIFY(fuzzyCompare(p3.y(), 1.0f)); + QVERIFY(fuzzyCompare(p3.z(), -1.0f)); + QVERIFY(fuzzyCompare(p4.x(), 1.0f)); + QVERIFY(fuzzyCompare(p4.y(), 1.0f)); + QVERIFY(fuzzyCompare(p4.z(), -1.0f)); + QVERIFY(fuzzyCompare(p5.x(), 0.0f)); + QVERIFY(fuzzyCompare(p5.y(), 0.0f)); + QVERIFY(fuzzyCompare(p5.z(), -0.5f)); + + // An empty view volume should leave the matrix alone. + QMatrix4x4 m5; + m5.frustum(0, 0, 150, 0, -2, 3); + QVERIFY(m5.isIdentity()); + m5.frustum(0, 300, 150, 150, -2, 3); + QVERIFY(m5.isIdentity()); + m5.frustum(0, 300, 150, 0, 2, 2); + QVERIFY(m5.isIdentity()); +} + +// Test perspective field-of-view projections. +void tst_QMatrix::perspective() +{ + QMatrix4x4 m1; + m1.perspective(45.0f, 1.0f, -1.0f, 1.0f); + QVector3D p1 = m1 * QVector3D(-1.0f, -1.0f, 1.0f); + QVector3D p2 = m1 * QVector3D(1.0f, -1.0f, 1.0f); + QVector3D p3 = m1 * QVector3D(-1.0f, 1.0f, 1.0f); + QVector3D p4 = m1 * QVector3D(1.0f, 1.0f, 1.0f); + QVector3D p5 = m1 * QVector3D(0.0f, 0.0f, 2.0f); + QVERIFY(fuzzyCompare(p1.x(), 2.41421)); + QVERIFY(fuzzyCompare(p1.y(), 2.41421)); + QVERIFY(fuzzyCompare(p1.z(), -1)); + QVERIFY(fuzzyCompare(p2.x(), -2.41421)); + QVERIFY(fuzzyCompare(p2.y(), 2.41421)); + QVERIFY(fuzzyCompare(p2.z(), -1.0f)); + QVERIFY(fuzzyCompare(p3.x(), 2.41421)); + QVERIFY(fuzzyCompare(p3.y(), -2.41421)); + QVERIFY(fuzzyCompare(p3.z(), -1.0f)); + QVERIFY(fuzzyCompare(p4.x(), -2.41421)); + QVERIFY(fuzzyCompare(p4.y(), -2.41421)); + QVERIFY(fuzzyCompare(p4.z(), -1.0f)); + QVERIFY(fuzzyCompare(p5.x(), 0.0f)); + QVERIFY(fuzzyCompare(p5.y(), 0.0f)); + QVERIFY(fuzzyCompare(p5.z(), -0.5f)); + + // An empty view volume should leave the matrix alone. + QMatrix4x4 m5; + m5.perspective(45.0f, 1.0f, 0.0f, 0.0f); + QVERIFY(m5.isIdentity()); + m5.perspective(45.0f, 0.0f, -1.0f, 1.0f); + QVERIFY(m5.isIdentity()); + m5.perspective(0.0f, 1.0f, -1.0f, 1.0f); + QVERIFY(m5.isIdentity()); +} + +// Test left-handed vs right-handed coordinate flipping. +void tst_QMatrix::flipCoordinates() +{ + QMatrix4x4 m1; + m1.flipCoordinates(); + QVector3D p1 = m1 * QVector3D(2, 3, 4); + QVERIFY(p1 == QVector3D(2, -3, -4)); + + QMatrix4x4 m2; + m2.scale(2.0f, 3.0f, 1.0f); + m2.flipCoordinates(); + QVector3D p2 = m2 * QVector3D(2, 3, 4); + QVERIFY(p2 == QVector3D(4, -9, -4)); + + QMatrix4x4 m3; + m3.translate(2.0f, 3.0f, 1.0f); + m3.flipCoordinates(); + QVector3D p3 = m3 * QVector3D(2, 3, 4); + QVERIFY(p3 == QVector3D(4, 0, -3)); + + QMatrix4x4 m4; + m4.rotate(90.0f, 0.0f, 0.0f, 1.0f); + m4.flipCoordinates(); + QVector3D p4 = m4 * QVector3D(2, 3, 4); + QVERIFY(p4 == QVector3D(3, 2, -4)); +} + +// Test conversion of generic matrices to and from the non-generic types. +void tst_QMatrix::convertGeneric() +{ + QMatrix4x3 m1(uniqueValues4x3); + + static qreal const unique4x4[16] = { + 1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; +#if !defined(QT_NO_MEMBER_TEMPLATES) + QMatrix4x4 m4(m1); + QVERIFY(isSame(m4, unique4x4)); +#endif + QMatrix4x4 m5 = qGenericMatrixToMatrix4x4(m1); + QVERIFY(isSame(m5, unique4x4)); + + static qreal const conv4x4[12] = { + 1.0f, 2.0f, 3.0f, 4.0f, + 5.0f, 6.0f, 7.0f, 8.0f, + 9.0f, 10.0f, 11.0f, 12.0f + }; + QMatrix4x4 m9(uniqueValues4); +#if !defined(QT_NO_MEMBER_TEMPLATES) + QMatrix4x3 m10 = m9.toGenericMatrix<4, 3>(); + QVERIFY(isSame(m10, conv4x4)); +#endif + + QMatrix4x3 m11 = qGenericMatrixFromMatrix4x4<4, 3>(m9); + QVERIFY(isSame(m11, conv4x4)); +} + +void tst_QMatrix::extractAxisRotation_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("angle"); + + QTest::newRow("1, 0, 0, 0 deg") << 1.0f << 0.0f << 0.0f << 0.0f; + QTest::newRow("1, 0, 0, 90 deg") << 1.0f << 0.0f << 0.0f << 90.0f; + QTest::newRow("1, 0, 0, 270 deg") << 1.0f << 0.0f << 0.0f << 270.0f; + QTest::newRow("1, 0, 0, 45 deg") << 1.0f << 0.0f << 0.0f << 45.0f; + QTest::newRow("1, 0, 0, 120 deg") << 1.0f << 0.0f << 0.0f << 120.0f; + QTest::newRow("1, 0, 0, 300 deg") << 1.0f << 0.0f << 0.0f << 300.0f; + + QTest::newRow("0, 1, 0, 90 deg") << 0.0f << 1.0f << 0.0f << 90.0f; + QTest::newRow("0, 1, 0, 270 deg") << 0.0f << 1.0f << 0.0f << 270.0f; + QTest::newRow("0, 1, 0, 45 deg") << 0.0f << 1.0f << 0.0f << 45.0f; + QTest::newRow("0, 1, 0, 120 deg") << 0.0f << 1.0f << 0.0f << 120.0f; + QTest::newRow("0, 1, 0, 300 deg") << 0.0f << 1.0f << 0.0f << 300.0f; + + QTest::newRow("0, 0, 1, 90 deg") << 0.0f << 0.0f << 1.0f << 90.0f; + QTest::newRow("0, 0, 1, 270 deg") << 0.0f << 0.0f << 1.0f << 270.0f; + QTest::newRow("0, 0, 1, 45 deg") << 0.0f << 0.0f << 1.0f << 45.0f; + QTest::newRow("0, 0, 1, 120 deg") << 0.0f << 0.0f << 1.0f << 120.0f; + QTest::newRow("0, 0, 1, 300 deg") << 0.0f << 0.0f << 1.0f << 300.0f; + + QTest::newRow("1, 1, 1, 90 deg") << 1.0f << 1.0f << 1.0f << 90.0f; + QTest::newRow("1, 1, 1, 270 deg") << 1.0f << 1.0f << 1.0f << 270.0f; + QTest::newRow("1, 1, 1, 45 deg") << 1.0f << 1.0f << 1.0f << 45.0f; + QTest::newRow("1, 1, 1, 120 deg") << 1.0f << 1.0f << 1.0f << 120.0f; + QTest::newRow("1, 1, 1, 300 deg") << 1.0f << 1.0f << 1.0f << 300.0f; +} + +void tst_QMatrix::extractAxisRotation() +{ + QFETCH(float, x); + QFETCH(float, y); + QFETCH(float, z); + QFETCH(float, angle); + + QMatrix4x4 m; + QVector3D origAxis(x, y, z); + + m.rotate(angle, x, y, z); + + origAxis.normalize(); + QVector3D extractedAxis; + qreal extractedAngle; + + m.extractAxisRotation(extractedAngle, extractedAxis); + +#ifdef QT_GL_FIXED_PREFERRED + qreal epsilon = 0.003; +#else + qreal epsilon = 0.001; +#endif + + if (angle > 180) { + QVERIFY(fuzzyCompare(360.0f - angle, extractedAngle, epsilon)); + QVERIFY(fuzzyCompare(extractedAxis, -origAxis, epsilon)); + } else { + QVERIFY(fuzzyCompare(angle, extractedAngle, epsilon)); + QVERIFY(fuzzyCompare(extractedAxis, origAxis, epsilon)); + } +} + +void tst_QMatrix::extractTranslation_data() +{ + QTest::addColumn("rotation"); + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + + static QMatrix4x4 m1; + + QTest::newRow("identity, 100, 50, 25") + << m1 << 100.0f << 50.0f << 250.0f; + + m1.rotate(45.0, 1.0, 0.0, 0.0); + QTest::newRow("rotX 45 + 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f; + + m1.setIdentity(); + m1.rotate(45.0, 0.0, 1.0, 0.0); + QTest::newRow("rotY 45 + 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f; + + m1.setIdentity(); + m1.rotate(75, 0.0, 0.0, 1.0); + m1.rotate(25, 1.0, 0.0, 0.0); + m1.rotate(45, 0.0, 1.0, 0.0); + QTest::newRow("rotZ 75, rotX 25, rotY 45, 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f; +} + +void tst_QMatrix::extractTranslation() +{ + QFETCH(QMatrix4x4, rotation); + QFETCH(float, x); + QFETCH(float, y); + QFETCH(float, z); + + rotation.translate(x, y, z); + + QVector3D vec = rotation.extractTranslation(); + +#ifdef QT_GL_FIXED_PREFERRED + qreal epsilon = 0.01; +#else + qreal epsilon = 0.001; +#endif + + QVERIFY(fuzzyCompare(vec.x(), x, epsilon)); + QVERIFY(fuzzyCompare(vec.y(), y, epsilon)); + QVERIFY(fuzzyCompare(vec.z(), z, epsilon)); + + // Have to be careful with numbers here, it is really easy to blow away + // the precision of a fixed pointer number, especially when doing distance + // formula for vector normalization + + QMatrix4x4 lookAt; + QVector3D eye(1.5f, -2.5f, 2.5f); + lookAt.lookAt(eye, + QVector3D(10.0f, 10.0f, 10.0f), + QVector3D(0.0f, 1.0f, 0.0f)); + + QVector3D extEye = lookAt.extractTranslation(); + + QVERIFY(fuzzyCompare(eye.x(), -extEye.x(), epsilon)); + QVERIFY(fuzzyCompare(eye.y(), -extEye.y(), epsilon)); + QVERIFY(fuzzyCompare(eye.z(), -extEye.z(), epsilon)); +} + +// Copy of "flagBits" in qmatrix4x4.h. +enum { + Identity = 0x0001, // Identity matrix + General = 0x0002, // General matrix, unknown contents + Translation = 0x0004, // Contains a simple translation + Scale = 0x0008, // Contains a simple scale + Rotation = 0x0010 // Contains a simple rotation +}; + +// Structure that allows direct access to "flagBits" for testing. +struct Matrix4x4 +{ + qrealinner m[4][4]; + int flagBits; +}; + +// Test the inferring of special matrix types. +void tst_QMatrix::inferSpecialType_data() +{ + QTest::addColumn("mValues"); + QTest::addColumn("flagBits"); + + QTest::newRow("null") + << (void *)nullValues4 << (int)General; + QTest::newRow("identity") + << (void *)identityValues4 << (int)Identity; + QTest::newRow("unique") + << (void *)uniqueValues4 << (int)General; + + static qreal scaleValues[16] = { + 2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 3.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 4.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; + QTest::newRow("scale") + << (void *)scaleValues << (int)Scale; + + static qreal translateValues[16] = { + 1.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 1.0f, 0.0f, 3.0f, + 0.0f, 0.0f, 1.0f, 4.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; + QTest::newRow("scale") + << (void *)translateValues << (int)Translation; + + static qreal bothValues[16] = { + 1.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 4.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; + QTest::newRow("both") + << (void *)bothValues << (int)(Scale | Translation); + + static qreal belowValues[16] = { + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 4.0f, 0.0f, 0.0f, 1.0f + }; + QTest::newRow("below") + << (void *)belowValues << (int)General; +} +void tst_QMatrix::inferSpecialType() +{ + QFETCH(void *, mValues); + QFETCH(int, flagBits); + + QMatrix4x4 m((const qreal *)mValues); + m.inferSpecialType(); + + QCOMPARE(reinterpret_cast(&m)->flagBits, flagBits); +} + +void tst_QMatrix::columnsAndRows() +{ + QMatrix4x4 m1(uniqueValues4); + + QVERIFY(m1.column(0) == QVector4D(1, 5, 9, 13)); + QVERIFY(m1.column(1) == QVector4D(2, 6, 10, 14)); + QVERIFY(m1.column(2) == QVector4D(3, 7, 11, 15)); + QVERIFY(m1.column(3) == QVector4D(4, 8, 12, 16)); + + QVERIFY(m1.row(0) == QVector4D(1, 2, 3, 4)); + QVERIFY(m1.row(1) == QVector4D(5, 6, 7, 8)); + QVERIFY(m1.row(2) == QVector4D(9, 10, 11, 12)); + QVERIFY(m1.row(3) == QVector4D(13, 14, 15, 16)); + + m1.setColumn(0, QVector4D(-1, -5, -9, -13)); + m1.setColumn(1, QVector4D(-2, -6, -10, -14)); + m1.setColumn(2, QVector4D(-3, -7, -11, -15)); + m1.setColumn(3, QVector4D(-4, -8, -12, -16)); + + QVERIFY(m1.column(0) == QVector4D(-1, -5, -9, -13)); + QVERIFY(m1.column(1) == QVector4D(-2, -6, -10, -14)); + QVERIFY(m1.column(2) == QVector4D(-3, -7, -11, -15)); + QVERIFY(m1.column(3) == QVector4D(-4, -8, -12, -16)); + + QVERIFY(m1.row(0) == QVector4D(-1, -2, -3, -4)); + QVERIFY(m1.row(1) == QVector4D(-5, -6, -7, -8)); + QVERIFY(m1.row(2) == QVector4D(-9, -10, -11, -12)); + QVERIFY(m1.row(3) == QVector4D(-13, -14, -15, -16)); + + m1.setRow(0, QVector4D(1, 5, 9, 13)); + m1.setRow(1, QVector4D(2, 6, 10, 14)); + m1.setRow(2, QVector4D(3, 7, 11, 15)); + m1.setRow(3, QVector4D(4, 8, 12, 16)); + + QVERIFY(m1.column(0) == QVector4D(1, 2, 3, 4)); + QVERIFY(m1.column(1) == QVector4D(5, 6, 7, 8)); + QVERIFY(m1.column(2) == QVector4D(9, 10, 11, 12)); + QVERIFY(m1.column(3) == QVector4D(13, 14, 15, 16)); + + QVERIFY(m1.row(0) == QVector4D(1, 5, 9, 13)); + QVERIFY(m1.row(1) == QVector4D(2, 6, 10, 14)); + QVERIFY(m1.row(2) == QVector4D(3, 7, 11, 15)); + QVERIFY(m1.row(3) == QVector4D(4, 8, 12, 16)); +} + +// Test converting QMatrix objects into QMatrix4x4 and then +// checking that transformations in the original perform the +// equivalent transformations in the new matrix. +void tst_QMatrix::convertQMatrix() +{ + QMatrix m1; + m1.translate(-3.5, 2.0); + QPointF p1 = m1.map(QPointF(100.0, 150.0)); + QCOMPARE(p1.x(), 100.0 - 3.5); + QCOMPARE(p1.y(), 150.0 + 2.0); + + QMatrix4x4 m2(m1); + QPointF p2 = m2 * QPointF(100.0, 150.0); + QCOMPARE((double)p2.x(), 100.0 - 3.5); + QCOMPARE((double)p2.y(), 150.0 + 2.0); + QVERIFY(m1 == m2.toAffine()); + + QMatrix m3; + m3.scale(1.5, -2.0); + QPointF p3 = m3.map(QPointF(100.0, 150.0)); + QCOMPARE(p3.x(), 1.5 * 100.0); + QCOMPARE(p3.y(), -2.0 * 150.0); + + QMatrix4x4 m4(m3); + QPointF p4 = m4 * QPointF(100.0, 150.0); + QCOMPARE((double)p4.x(), 1.5 * 100.0); + QCOMPARE((double)p4.y(), -2.0 * 150.0); + QVERIFY(m3 == m4.toAffine()); + + QMatrix m5; + m5.rotate(45.0); + QPointF p5 = m5.map(QPointF(100.0, 150.0)); + + QMatrix4x4 m6(m5); + QPointF p6 = m6 * QPointF(100.0, 150.0); + QVERIFY(fuzzyCompare(p5.x(), p6.x(), 0.005)); + QVERIFY(fuzzyCompare(p5.y(), p6.y(), 0.005)); + + QMatrix m7 = m6.toAffine(); + QVERIFY(fuzzyCompare(m5.m11(), m7.m11())); + QVERIFY(fuzzyCompare(m5.m12(), m7.m12())); + QVERIFY(fuzzyCompare(m5.m21(), m7.m21())); + QVERIFY(fuzzyCompare(m5.m22(), m7.m22())); + QVERIFY(fuzzyCompare(m5.dx(), m7.dx())); + QVERIFY(fuzzyCompare(m5.dy(), m7.dy())); +} + +// Test converting QTransform objects into QMatrix4x4 and then +// checking that transformations in the original perform the +// equivalent transformations in the new matrix. +void tst_QMatrix::convertQTransform() +{ + QTransform m1; + m1.translate(-3.5, 2.0); + QPointF p1 = m1.map(QPointF(100.0, 150.0)); + QCOMPARE(p1.x(), 100.0 - 3.5); + QCOMPARE(p1.y(), 150.0 + 2.0); + + QMatrix4x4 m2(m1); + QPointF p2 = m2 * QPointF(100.0, 150.0); + QCOMPARE((double)p2.x(), 100.0 - 3.5); + QCOMPARE((double)p2.y(), 150.0 + 2.0); + QVERIFY(m1 == m2.toTransform()); + + QTransform m3; + m3.scale(1.5, -2.0); + QPointF p3 = m3.map(QPointF(100.0, 150.0)); + QCOMPARE(p3.x(), 1.5 * 100.0); + QCOMPARE(p3.y(), -2.0 * 150.0); + + QMatrix4x4 m4(m3); + QPointF p4 = m4 * QPointF(100.0, 150.0); + QCOMPARE((double)p4.x(), 1.5 * 100.0); + QCOMPARE((double)p4.y(), -2.0 * 150.0); + QVERIFY(m3 == m4.toTransform()); + + QTransform m5; + m5.rotate(45.0); + QPointF p5 = m5.map(QPointF(100.0, 150.0)); + + QMatrix4x4 m6(m5); + QPointF p6 = m6 * QPointF(100.0, 150.0); + QVERIFY(fuzzyCompare(p5.x(), p6.x(), 0.005)); + QVERIFY(fuzzyCompare(p5.y(), p6.y(), 0.005)); + + QTransform m7 = m6.toTransform(); + QVERIFY(fuzzyCompare(m5.m11(), m7.m11())); + QVERIFY(fuzzyCompare(m5.m12(), m7.m12())); + QVERIFY(fuzzyCompare(m5.m21(), m7.m21())); + QVERIFY(fuzzyCompare(m5.m22(), m7.m22())); + QVERIFY(fuzzyCompare(m5.dx(), m7.dx())); + QVERIFY(fuzzyCompare(m5.dy(), m7.dy())); + QVERIFY(fuzzyCompare(m5.m13(), m7.m13())); + QVERIFY(fuzzyCompare(m5.m23(), m7.m23())); + QVERIFY(fuzzyCompare(m5.m33(), m7.m33())); +} + +// Test filling matrices with specific values. +void tst_QMatrix::fill() +{ + QMatrix4x4 m1; + m1.fill(0.0f); + QVERIFY(isSame(m1, nullValues4)); + + static const qreal fillValues4[] = + {2.5f, 2.5f, 2.5f, 2.5f, + 2.5f, 2.5f, 2.5f, 2.5f, + 2.5f, 2.5f, 2.5f, 2.5f, + 2.5f, 2.5f, 2.5f, 2.5f}; + m1.fill(2.5f); + QVERIFY(isSame(m1, fillValues4)); + + QMatrix4x3 m2; + m2.fill(0.0f); + QVERIFY(isSame(m2, nullValues4x3)); + + static const qreal fillValues4x3[] = + {2.5f, 2.5f, 2.5f, 2.5f, + 2.5f, 2.5f, 2.5f, 2.5f, + 2.5f, 2.5f, 2.5f, 2.5f}; + m2.fill(2.5f); + QVERIFY(isSame(m2, fillValues4x3)); +} + +// Force the fixed-point version of the test case to put a +// different test name on the front of failure reports. +class tst_QMatrixFixed : public tst_QMatrix +{ + Q_OBJECT +public: + tst_QMatrixFixed() {} + ~tst_QMatrixFixed() {} +}; + +#ifdef QT_GL_FIXED_PREFERRED + +QTEST_APPLESS_MAIN(tst_QMatrixFixed) + +#else + +QTEST_APPLESS_MAIN(tst_QMatrix) + +#endif + +#include "tst_qmatrixnxn.moc" diff --git a/tests/auto/math3d/qmatrixnxn_fixed/qmatrixnxn_fixed.pro b/tests/auto/math3d/qmatrixnxn_fixed/qmatrixnxn_fixed.pro new file mode 100644 index 0000000..cd1c8fa --- /dev/null +++ b/tests/auto/math3d/qmatrixnxn_fixed/qmatrixnxn_fixed.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +VPATH += ../shared +VPATH += ../qmatrixnxn +INCLUDEPATH += ../shared +INCLUDEPATH += ../../../../src/gui/math3d +DEFINES += FIXED_POINT_TESTS +HEADERS += math3dincludes.h +SOURCES += tst_qmatrixnxn.cpp math3dincludes.cpp diff --git a/tests/auto/math3d/qquaternion/qquaternion.pro b/tests/auto/math3d/qquaternion/qquaternion.pro new file mode 100644 index 0000000..eea84f0 --- /dev/null +++ b/tests/auto/math3d/qquaternion/qquaternion.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +VPATH += ../shared +INCLUDEPATH += ../shared +HEADERS += math3dincludes.h +SOURCES += tst_qquaternion.cpp diff --git a/tests/auto/math3d/qquaternion/tst_qquaternion.cpp b/tests/auto/math3d/qquaternion/tst_qquaternion.cpp new file mode 100644 index 0000000..252bdc7 --- /dev/null +++ b/tests/auto/math3d/qquaternion/tst_qquaternion.cpp @@ -0,0 +1,761 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include "math3dincludes.h" + +class tst_QQuaternion : public QObject +{ + Q_OBJECT +public: + tst_QQuaternion() {} + ~tst_QQuaternion() {} + +private slots: + void create(); + + void length_data(); + void length(); + + void normalized_data(); + void normalized(); + + void normalize_data(); + void normalize(); + + void compare(); + + void add_data(); + void add(); + + void subtract_data(); + void subtract(); + + void multiply_data(); + void multiply(); + + void multiplyFactor_data(); + void multiplyFactor(); + + void divide_data(); + void divide(); + + void negate_data(); + void negate(); + + void conjugate_data(); + void conjugate(); + + void fromAxisAndAngle_data(); + void fromAxisAndAngle(); + + void interpolate_data(); + void interpolate(); +}; + +// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion +// to fixed-point and back again. So create "fuzzier" compares. +static bool fuzzyCompare(float x, float y) +{ + float diff = x - y; + if (diff < 0.0f) + diff = -diff; + return (diff < 0.001); +} + +// Test the creation of QQuaternion objects in various ways: +// construct, copy, and modify. +void tst_QQuaternion::create() +{ + QQuaternion identity; + QCOMPARE(identity.x(), (qreal)0.0f); + QCOMPARE(identity.y(), (qreal)0.0f); + QCOMPARE(identity.z(), (qreal)0.0f); + QCOMPARE(identity.scalar(), (qreal)1.0f); + QVERIFY(identity.isIdentity()); + + QQuaternion v1(34.0f, 1.0f, 2.5f, -89.25f); + QCOMPARE(v1.x(), (qreal)1.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.scalar(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + QQuaternion v1i(34, 1, 2, -89); + QCOMPARE(v1i.x(), (qreal)1.0f); + QCOMPARE(v1i.y(), (qreal)2.0f); + QCOMPARE(v1i.z(), (qreal)-89.0f); + QCOMPARE(v1i.scalar(), (qreal)34.0f); + QVERIFY(!v1i.isNull()); + + QQuaternion v2(v1); + QCOMPARE(v2.x(), (qreal)1.0f); + QCOMPARE(v2.y(), (qreal)2.5f); + QCOMPARE(v2.z(), (qreal)-89.25f); + QCOMPARE(v2.scalar(), (qreal)34.0f); + QVERIFY(!v2.isNull()); + + QQuaternion v4; + QCOMPARE(v4.x(), (qreal)0.0f); + QCOMPARE(v4.y(), (qreal)0.0f); + QCOMPARE(v4.z(), (qreal)0.0f); + QCOMPARE(v4.scalar(), (qreal)1.0f); + QVERIFY(v4.isIdentity()); + v4 = v1; + QCOMPARE(v4.x(), (qreal)1.0f); + QCOMPARE(v4.y(), (qreal)2.5f); + QCOMPARE(v4.z(), (qreal)-89.25f); + QCOMPARE(v4.scalar(), (qreal)34.0f); + QVERIFY(!v4.isNull()); + + QQuaternion v9(34, QVector3D(1.0f, 2.5f, -89.25f)); + QCOMPARE(v9.x(), (qreal)1.0f); + QCOMPARE(v9.y(), (qreal)2.5f); + QCOMPARE(v9.z(), (qreal)-89.25f); + QCOMPARE(v9.scalar(), (qreal)34.0f); + QVERIFY(!v9.isNull()); + + v1.setX(3.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.scalar(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setY(10.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.scalar(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setZ(15.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)15.5f); + QCOMPARE(v1.scalar(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setScalar(6.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)15.5f); + QCOMPARE(v1.scalar(), (qreal)6.0f); + QVERIFY(!v1.isNull()); + + v1.setVector(2.0f, 6.5f, -1.25f); + QCOMPARE(v1.x(), (qreal)2.0f); + QCOMPARE(v1.y(), (qreal)6.5f); + QCOMPARE(v1.z(), (qreal)-1.25f); + QCOMPARE(v1.scalar(), (qreal)6.0f); + QVERIFY(!v1.isNull()); + QVERIFY(v1.vector() == QVector3D(2.0f, 6.5f, -1.25f)); + + v1.setVector(QVector3D(-2.0f, -6.5f, 1.25f)); + QCOMPARE(v1.x(), (qreal)-2.0f); + QCOMPARE(v1.y(), (qreal)-6.5f); + QCOMPARE(v1.z(), (qreal)1.25f); + QCOMPARE(v1.scalar(), (qreal)6.0f); + QVERIFY(!v1.isNull()); + QVERIFY(v1.vector() == QVector3D(-2.0f, -6.5f, 1.25f)); + + v1.setX(0.0f); + v1.setY(0.0f); + v1.setZ(0.0f); + v1.setScalar(0.0f); + QCOMPARE(v1.x(), (qreal)0.0f); + QCOMPARE(v1.y(), (qreal)0.0f); + QCOMPARE(v1.z(), (qreal)0.0f); + QCOMPARE(v1.scalar(), (qreal)0.0f); + QVERIFY(v1.isNull()); + + QVector4D v10 = v9.toVector4D(); + QCOMPARE(v10.x(), (qreal)1.0f); + QCOMPARE(v10.y(), (qreal)2.5f); + QCOMPARE(v10.z(), (qreal)-89.25f); + QCOMPARE(v10.w(), (qreal)34.0f); +} + +// Test length computation for quaternions. +void tst_QQuaternion::length_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("w"); + QTest::addColumn("len"); + + QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f; + QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; + QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)2.0f << (qreal)qSqrt(16.0f); +} +void tst_QQuaternion::length() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + QFETCH(qreal, len); + + QQuaternion v(w, x, y, z); + QCOMPARE((float)(v.length()), (float)len); + QCOMPARE((float)(v.lengthSquared()), (float)(x * x + y * y + z * z + w * w)); +} + +// Test the unit vector conversion for quaternions. +void tst_QQuaternion::normalized_data() +{ + // Use the same test data as the length test. + length_data(); +} +void tst_QQuaternion::normalized() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + QFETCH(qreal, len); + + QQuaternion v(w, x, y, z); + QQuaternion u = v.normalized(); + if (v.isNull()) + QVERIFY(u.isNull()); + else + QCOMPARE((float)(u.length()), (float)1.0f); + QCOMPARE((float)(u.x() * len), (float)(v.x())); + QCOMPARE((float)(u.y() * len), (float)(v.y())); + QCOMPARE((float)(u.z() * len), (float)(v.z())); + QCOMPARE((float)(u.scalar() * len), (float)(v.scalar())); +} + +// Test the unit vector conversion for quaternions. +void tst_QQuaternion::normalize_data() +{ + // Use the same test data as the length test. + length_data(); +} +void tst_QQuaternion::normalize() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + + QQuaternion v(w, x, y, z); + bool isNull = v.isNull(); + v.normalize(); + if (isNull) + QVERIFY(v.isNull()); + else + QCOMPARE((float)(v.length()), (float)1.0f); +} + +// Test the comparison operators for quaternions. +void tst_QQuaternion::compare() +{ + QQuaternion v1(8, 1, 2, 4); + QQuaternion v2(8, 1, 2, 4); + QQuaternion v3(8, 3, 2, 4); + QQuaternion v4(8, 1, 3, 4); + QQuaternion v5(8, 1, 2, 3); + QQuaternion v6(3, 1, 2, 4); + + QVERIFY(v1 == v2); + QVERIFY(v1 != v3); + QVERIFY(v1 != v4); + QVERIFY(v1 != v5); + QVERIFY(v1 != v6); +} + +// Test addition for quaternions. +void tst_QQuaternion::add_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("w3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f; + + QTest::newRow("wonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f + << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f << (qreal)17.0f; +} +void tst_QQuaternion::add() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, w3); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(w2, x2, y2, z2); + QQuaternion v3(w3, x3, y3, z3); + + QVERIFY((v1 + v2) == v3); + + QQuaternion v4(v1); + v4 += v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() + v2.x()); + QCOMPARE(v4.y(), v1.y() + v2.y()); + QCOMPARE(v4.z(), v1.z() + v2.z()); + QCOMPARE(v4.scalar(), v1.scalar() + v2.scalar()); +} + +// Test subtraction for quaternions. +void tst_QQuaternion::subtract_data() +{ + // Use the same test data as the add test. + add_data(); +} +void tst_QQuaternion::subtract() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, w3); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(w2, x2, y2, z2); + QQuaternion v3(w3, x3, y3, z3); + + QVERIFY((v3 - v1) == v2); + QVERIFY((v3 - v2) == v1); + + QQuaternion v4(v3); + v4 -= v1; + QVERIFY(v4 == v2); + + QCOMPARE(v4.x(), v3.x() - v1.x()); + QCOMPARE(v4.y(), v3.y() - v1.y()); + QCOMPARE(v4.z(), v3.z() - v1.z()); + QCOMPARE(v4.scalar(), v3.scalar() - v1.scalar()); + + QQuaternion v5(v3); + v5 -= v2; + QVERIFY(v5 == v1); + + QCOMPARE(v5.x(), v3.x() - v2.x()); + QCOMPARE(v5.y(), v3.y() - v2.y()); + QCOMPARE(v5.z(), v3.z() - v2.z()); + QCOMPARE(v5.scalar(), v3.scalar() - v2.scalar()); +} + +// Test quaternion multiplication. +void tst_QQuaternion::multiply_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("unitvec") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f; + + QTest::newRow("complex") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)7.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)8.0f; +} +void tst_QQuaternion::multiply() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + + QQuaternion q1(w1, x1, y1, z1); + QQuaternion q2(w2, x2, y2, z2); + + // Use the simple algorithm at: + // http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q53 + // to calculate the answer we expect to get. + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + qreal scalar = w1 * w2 - QVector3D::dotProduct(v1, v2); + QVector3D vector = w1 * v2 + w2 * v1 + QVector3D::crossProduct(v1, v2); + QQuaternion result(scalar, vector); + + QVERIFY((q1 * q2) == result); +} + +// Test multiplication by a factor for quaternions. +void tst_QQuaternion::multiplyFactor_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("factor"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)100.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("wonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f << (qreal)8.0f; + + QTest::newRow("allzero") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f + << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; +} +void tst_QQuaternion::multiplyFactor() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(w2, x2, y2, z2); + + QVERIFY((v1 * factor) == v2); + QVERIFY((factor * v1) == v2); + + QQuaternion v3(v1); + v3 *= factor; + QVERIFY(v3 == v2); + + QCOMPARE(v3.x(), v1.x() * factor); + QCOMPARE(v3.y(), v1.y() * factor); + QCOMPARE(v3.z(), v1.z() * factor); + QCOMPARE(v3.scalar(), v1.scalar() * factor); +} + +// Test division by a factor for quaternions. +void tst_QQuaternion::divide_data() +{ + // Use the same test data as the multiply test. + multiplyFactor_data(); +} +void tst_QQuaternion::divide() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(w2, x2, y2, z2); + + if (factor == (qreal)0.0f) + return; + + QVERIFY((v2 / factor) == v1); + + QQuaternion v3(v2); + v3 /= factor; + QVERIFY(v3 == v1); + + QCOMPARE(v3.x(), v2.x() / factor); + QCOMPARE(v3.y(), v2.y() / factor); + QCOMPARE(v3.z(), v2.z() / factor); + QCOMPARE(v3.scalar(), v2.scalar() / factor); +} + +// Test negation for quaternions. +void tst_QQuaternion::negate_data() +{ + // Use the same test data as the add test. + add_data(); +} +void tst_QQuaternion::negate() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(-w1, -x1, -y1, -z1); + + QVERIFY(-v1 == v2); +} + +// Test quaternion conjugate calculations. +void tst_QQuaternion::conjugate_data() +{ + // Use the same test data as the add test. + add_data(); +} +void tst_QQuaternion::conjugate() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + + QQuaternion v1(w1, x1, y1, z1); + QQuaternion v2(w1, -x1, -y1, -z1); + + QVERIFY(v1.conjugate() == v2); +} + +// Test quaternion creation from an axis and an angle. +void tst_QQuaternion::fromAxisAndAngle_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("angle"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)90.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)180.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)270.0f; + + QTest::newRow("complex") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)45.0f; +} +void tst_QQuaternion::fromAxisAndAngle() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, angle); + + // Use a straight-forward implementation of the algorithm at: + // http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q56 + // to calculate the answer we expect to get. + QVector3D vector = QVector3D(x1, y1, z1).normalized(); + qreal sin_a = qSin((angle * M_PI / 180.0) / 2.0); + qreal cos_a = qCos((angle * M_PI / 180.0) / 2.0); + QQuaternion result((qreal)cos_a, + (qreal)(vector.x() * sin_a), + (qreal)(vector.y() * sin_a), + (qreal)(vector.z() * sin_a)); + result = result.normalized(); + + QQuaternion answer = QQuaternion::fromAxisAndAngle(QVector3D(x1, y1, z1), angle); + QVERIFY(fuzzyCompare(answer.x(), result.x())); + QVERIFY(fuzzyCompare(answer.y(), result.y())); + QVERIFY(fuzzyCompare(answer.z(), result.z())); + QVERIFY(fuzzyCompare(answer.scalar(), result.scalar())); + + answer = QQuaternion::fromAxisAndAngle(x1, y1, z1, angle); + QVERIFY(fuzzyCompare(answer.x(), result.x())); + QVERIFY(fuzzyCompare(answer.y(), result.y())); + QVERIFY(fuzzyCompare(answer.z(), result.z())); + QVERIFY(fuzzyCompare(answer.scalar(), result.scalar())); +} + +// Test spherical interpolation of quaternions. +void tst_QQuaternion::interpolate_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("angle1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("angle2"); + QTest::addColumn("t"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("angle3"); + + QTest::newRow("first") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f + << (qreal)0.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f; + QTest::newRow("first2") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f + << (qreal)-0.5f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f; + QTest::newRow("second") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f + << (qreal)1.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f; + QTest::newRow("second2") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f + << (qreal)1.5f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f; + QTest::newRow("middle") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f + << (qreal)0.5f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)135.0f; + QTest::newRow("wide angle") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)0.0f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)270.0f + << (qreal)0.5f + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)-45.0f; +} +void tst_QQuaternion::interpolate() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, angle1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, angle2); + QFETCH(qreal, t); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, angle3); + + QQuaternion q1 = QQuaternion::fromAxisAndAngle(x1, y1, z1, angle1); + QQuaternion q2 = QQuaternion::fromAxisAndAngle(x2, y2, z2, angle2); + QQuaternion q3 = QQuaternion::fromAxisAndAngle(x3, y3, z3, angle3); + + QQuaternion result = QQuaternion::interpolate(q1, q2, t); + + QVERIFY(fuzzyCompare(result.x(), q3.x())); + QVERIFY(fuzzyCompare(result.y(), q3.y())); + QVERIFY(fuzzyCompare(result.z(), q3.z())); + QVERIFY(fuzzyCompare(result.scalar(), q3.scalar())); +} + +// Force the fixed-point version of the test case to put a +// different test name on the front of failure reports. +class tst_QQuaternionFixed : public tst_QQuaternion +{ + Q_OBJECT +public: + tst_QQuaternionFixed() {} + ~tst_QQuaternionFixed() {} +}; + +#ifdef QT_GL_FIXED_PREFERRED + +QTEST_APPLESS_MAIN(tst_QQuaternionFixed) + +#else + +QTEST_APPLESS_MAIN(tst_QQuaternion) + +#endif + +#include "tst_qquaternion.moc" diff --git a/tests/auto/math3d/qquaternion_fixed/qquaternion_fixed.pro b/tests/auto/math3d/qquaternion_fixed/qquaternion_fixed.pro new file mode 100644 index 0000000..a0d5401 --- /dev/null +++ b/tests/auto/math3d/qquaternion_fixed/qquaternion_fixed.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +VPATH += ../shared +VPATH += ../qquaternion +INCLUDEPATH += ../shared +INCLUDEPATH += ../../../../src/gui/math3d +DEFINES += FIXED_POINT_TESTS +HEADERS += math3dincludes.h +SOURCES += tst_qquaternion.cpp math3dincludes.cpp diff --git a/tests/auto/math3d/qvectornd/qvectornd.pro b/tests/auto/math3d/qvectornd/qvectornd.pro new file mode 100644 index 0000000..0981637 --- /dev/null +++ b/tests/auto/math3d/qvectornd/qvectornd.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +VPATH += ../shared +INCLUDEPATH += ../shared +HEADERS += math3dincludes.h +SOURCES += tst_qvectornd.cpp diff --git a/tests/auto/math3d/qvectornd/tst_qvectornd.cpp b/tests/auto/math3d/qvectornd/tst_qvectornd.cpp new file mode 100644 index 0000000..48a41b9 --- /dev/null +++ b/tests/auto/math3d/qvectornd/tst_qvectornd.cpp @@ -0,0 +1,2033 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include "math3dincludes.h" + +class tst_QVector : public QObject +{ + Q_OBJECT +public: + tst_QVector() {} + ~tst_QVector() {} + +private slots: + void create2(); + void create3(); + void create4(); + + void length2_data(); + void length2(); + void length3_data(); + void length3(); + void length4_data(); + void length4(); + + void normalized2_data(); + void normalized2(); + void normalized3_data(); + void normalized3(); + void normalized4_data(); + void normalized4(); + + void normalize2_data(); + void normalize2(); + void normalize3_data(); + void normalize3(); + void normalize4_data(); + void normalize4(); + + void compare2(); + void compare3(); + void compare4(); + + void add2_data(); + void add2(); + void add3_data(); + void add3(); + void add4_data(); + void add4(); + + void subtract2_data(); + void subtract2(); + void subtract3_data(); + void subtract3(); + void subtract4_data(); + void subtract4(); + + void multiply2_data(); + void multiply2(); + void multiply3_data(); + void multiply3(); + void multiply4_data(); + void multiply4(); + + void multiplyFactor2_data(); + void multiplyFactor2(); + void multiplyFactor3_data(); + void multiplyFactor3(); + void multiplyFactor4_data(); + void multiplyFactor4(); + + void divide2_data(); + void divide2(); + void divide3_data(); + void divide3(); + void divide4_data(); + void divide4(); + + void negate2_data(); + void negate2(); + void negate3_data(); + void negate3(); + void negate4_data(); + void negate4(); + + void crossProduct_data(); + void crossProduct(); + void normal_data(); + void normal(); + void distanceToPlane_data(); + void distanceToPlane(); + void distanceToLine_data(); + void distanceToLine(); + + void dotProduct2_data(); + void dotProduct2(); + void dotProduct3_data(); + void dotProduct3(); + void dotProduct4_data(); + void dotProduct4(); +}; + +// qFuzzyCompare isn't quite "fuzzy" enough to handle conversion +// to fixed-point and back again. So create "fuzzier" compares. +static bool fuzzyCompare(float x, float y) +{ + float diff = x - y; + if (diff < 0.0f) + diff = -diff; + return (diff < 0.001); +} + +// Test the creation of QVector2D objects in various ways: +// construct, copy, and modify. +void tst_QVector::create2() +{ + QVector2D null; + QCOMPARE(null.x(), (qreal)0.0f); + QCOMPARE(null.y(), (qreal)0.0f); + QVERIFY(null.isNull()); + + QVector2D v1(1.0f, 2.5f); + QCOMPARE(v1.x(), (qreal)1.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QVERIFY(!v1.isNull()); + + QVector2D v1i(1, 2); + QCOMPARE(v1i.x(), (qreal)1.0f); + QCOMPARE(v1i.y(), (qreal)2.0f); + QVERIFY(!v1i.isNull()); + + QVector2D v2(v1); + QCOMPARE(v2.x(), (qreal)1.0f); + QCOMPARE(v2.y(), (qreal)2.5f); + QVERIFY(!v2.isNull()); + + QVector2D v4; + QCOMPARE(v4.x(), (qreal)0.0f); + QCOMPARE(v4.y(), (qreal)0.0f); + QVERIFY(v4.isNull()); + v4 = v1; + QCOMPARE(v4.x(), (qreal)1.0f); + QCOMPARE(v4.y(), (qreal)2.5f); + QVERIFY(!v4.isNull()); + + QVector2D v5(QPoint(1, 2)); + QCOMPARE(v5.x(), (qreal)1.0f); + QCOMPARE(v5.y(), (qreal)2.0f); + QVERIFY(!v5.isNull()); + + QVector2D v6(QPointF(1, 2.5)); + QCOMPARE(v6.x(), (qreal)1.0f); + QCOMPARE(v6.y(), (qreal)2.5f); + QVERIFY(!v6.isNull()); + + QVector2D v7(QVector3D(1.0f, 2.5f, 54.25f)); + QCOMPARE(v7.x(), (qreal)1.0f); + QCOMPARE(v7.y(), (qreal)2.5f); + QVERIFY(!v6.isNull()); + + QVector2D v8(QVector4D(1.0f, 2.5f, 54.25f, 34.0f)); + QCOMPARE(v8.x(), (qreal)1.0f); + QCOMPARE(v8.y(), (qreal)2.5f); + QVERIFY(!v6.isNull()); + + v1.setX(3.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QVERIFY(!v1.isNull()); + + v1.setY(10.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QVERIFY(!v1.isNull()); + + v1.setX(0.0f); + v1.setY(0.0f); + QCOMPARE(v1.x(), (qreal)0.0f); + QCOMPARE(v1.y(), (qreal)0.0f); + QVERIFY(v1.isNull()); + + QPoint p1 = v8.toPoint(); + QCOMPARE(p1.x(), 1); + QCOMPARE(p1.y(), 3); + + QPointF p2 = v8.toPointF(); + QCOMPARE((qreal)p2.x(), (qreal)1.0f); + QCOMPARE((qreal)p2.y(), (qreal)2.5f); + + QVector3D v9 = v8.toVector3D(); + QCOMPARE(v9.x(), (qreal)1.0f); + QCOMPARE(v9.y(), (qreal)2.5f); + QCOMPARE(v9.z(), (qreal)0.0f); + + QVector4D v10 = v8.toVector4D(); + QCOMPARE(v10.x(), (qreal)1.0f); + QCOMPARE(v10.y(), (qreal)2.5f); + QCOMPARE(v10.z(), (qreal)0.0f); + QCOMPARE(v10.w(), (qreal)0.0f); +} + +// Test the creation of QVector3D objects in various ways: +// construct, copy, and modify. +void tst_QVector::create3() +{ + QVector3D null; + QCOMPARE(null.x(), (qreal)0.0f); + QCOMPARE(null.y(), (qreal)0.0f); + QCOMPARE(null.z(), (qreal)0.0f); + QVERIFY(null.isNull()); + + QVector3D v1(1.0f, 2.5f, -89.25f); + QCOMPARE(v1.x(), (qreal)1.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QVERIFY(!v1.isNull()); + + QVector3D v1i(1, 2, -89); + QCOMPARE(v1i.x(), (qreal)1.0f); + QCOMPARE(v1i.y(), (qreal)2.0f); + QCOMPARE(v1i.z(), (qreal)-89.0f); + QVERIFY(!v1i.isNull()); + + QVector3D v2(v1); + QCOMPARE(v2.x(), (qreal)1.0f); + QCOMPARE(v2.y(), (qreal)2.5f); + QCOMPARE(v2.z(), (qreal)-89.25f); + QVERIFY(!v2.isNull()); + + QVector3D v3(1.0f, 2.5f, 0.0f); + QCOMPARE(v3.x(), (qreal)1.0f); + QCOMPARE(v3.y(), (qreal)2.5f); + QCOMPARE(v3.z(), (qreal)0.0f); + QVERIFY(!v3.isNull()); + + QVector3D v3i(1, 2, 0); + QCOMPARE(v3i.x(), (qreal)1.0f); + QCOMPARE(v3i.y(), (qreal)2.0f); + QCOMPARE(v3i.z(), (qreal)0.0f); + QVERIFY(!v3i.isNull()); + + QVector3D v4; + QCOMPARE(v4.x(), (qreal)0.0f); + QCOMPARE(v4.y(), (qreal)0.0f); + QCOMPARE(v4.z(), (qreal)0.0f); + QVERIFY(v4.isNull()); + v4 = v1; + QCOMPARE(v4.x(), (qreal)1.0f); + QCOMPARE(v4.y(), (qreal)2.5f); + QCOMPARE(v4.z(), (qreal)-89.25f); + QVERIFY(!v4.isNull()); + + QVector3D v5(QPoint(1, 2)); + QCOMPARE(v5.x(), (qreal)1.0f); + QCOMPARE(v5.y(), (qreal)2.0f); + QCOMPARE(v5.z(), (qreal)0.0f); + QVERIFY(!v5.isNull()); + + QVector3D v6(QPointF(1, 2.5)); + QCOMPARE(v6.x(), (qreal)1.0f); + QCOMPARE(v6.y(), (qreal)2.5f); + QCOMPARE(v6.z(), (qreal)0.0f); + QVERIFY(!v6.isNull()); + + QVector3D v7(QVector2D(1.0f, 2.5f)); + QCOMPARE(v7.x(), (qreal)1.0f); + QCOMPARE(v7.y(), (qreal)2.5f); + QCOMPARE(v7.z(), (qreal)0.0f); + QVERIFY(!v7.isNull()); + + QVector3D v8(QVector2D(1.0f, 2.5f), 54.25f); + QCOMPARE(v8.x(), (qreal)1.0f); + QCOMPARE(v8.y(), (qreal)2.5f); + QCOMPARE(v8.z(), (qreal)54.25f); + QVERIFY(!v8.isNull()); + + QVector3D v9(QVector4D(1.0f, 2.5f, 54.25f, 34.0f)); + QCOMPARE(v9.x(), (qreal)1.0f); + QCOMPARE(v9.y(), (qreal)2.5f); + QCOMPARE(v9.z(), (qreal)54.25f); + QVERIFY(!v9.isNull()); + + v1.setX(3.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QVERIFY(!v1.isNull()); + + v1.setY(10.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QVERIFY(!v1.isNull()); + + v1.setZ(15.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)15.5f); + QVERIFY(!v1.isNull()); + + v1.setX(0.0f); + v1.setY(0.0f); + v1.setZ(0.0f); + QCOMPARE(v1.x(), (qreal)0.0f); + QCOMPARE(v1.y(), (qreal)0.0f); + QCOMPARE(v1.z(), (qreal)0.0f); + QVERIFY(v1.isNull()); + + QPoint p1 = v8.toPoint(); + QCOMPARE(p1.x(), 1); + QCOMPARE(p1.y(), 3); + + QPointF p2 = v8.toPointF(); + QCOMPARE((qreal)p2.x(), (qreal)1.0f); + QCOMPARE((qreal)p2.y(), (qreal)2.5f); + + QVector2D v10 = v8.toVector2D(); + QCOMPARE(v10.x(), (qreal)1.0f); + QCOMPARE(v10.y(), (qreal)2.5f); + + QVector4D v11 = v8.toVector4D(); + QCOMPARE(v11.x(), (qreal)1.0f); + QCOMPARE(v11.y(), (qreal)2.5f); + QCOMPARE(v11.z(), (qreal)54.25f); + QCOMPARE(v11.w(), (qreal)0.0f); +} + +// Test the creation of QVector4D objects in various ways: +// construct, copy, and modify. +void tst_QVector::create4() +{ + QVector4D null; + QCOMPARE(null.x(), (qreal)0.0f); + QCOMPARE(null.y(), (qreal)0.0f); + QCOMPARE(null.z(), (qreal)0.0f); + QCOMPARE(null.w(), (qreal)0.0f); + QVERIFY(null.isNull()); + + QVector4D v1(1.0f, 2.5f, -89.25f, 34.0f); + QCOMPARE(v1.x(), (qreal)1.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.w(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + QVector4D v1i(1, 2, -89, 34); + QCOMPARE(v1i.x(), (qreal)1.0f); + QCOMPARE(v1i.y(), (qreal)2.0f); + QCOMPARE(v1i.z(), (qreal)-89.0f); + QCOMPARE(v1i.w(), (qreal)34.0f); + QVERIFY(!v1i.isNull()); + + QVector4D v2(v1); + QCOMPARE(v2.x(), (qreal)1.0f); + QCOMPARE(v2.y(), (qreal)2.5f); + QCOMPARE(v2.z(), (qreal)-89.25f); + QCOMPARE(v2.w(), (qreal)34.0f); + QVERIFY(!v2.isNull()); + + QVector4D v3(1.0f, 2.5f, 0.0f, 0.0f); + QCOMPARE(v3.x(), (qreal)1.0f); + QCOMPARE(v3.y(), (qreal)2.5f); + QCOMPARE(v3.z(), (qreal)0.0f); + QCOMPARE(v3.w(), (qreal)0.0f); + QVERIFY(!v3.isNull()); + + QVector4D v3i(1, 2, 0, 0); + QCOMPARE(v3i.x(), (qreal)1.0f); + QCOMPARE(v3i.y(), (qreal)2.0f); + QCOMPARE(v3i.z(), (qreal)0.0f); + QCOMPARE(v3i.w(), (qreal)0.0f); + QVERIFY(!v3i.isNull()); + + QVector4D v3b(1.0f, 2.5f, -89.25f, 0.0f); + QCOMPARE(v3b.x(), (qreal)1.0f); + QCOMPARE(v3b.y(), (qreal)2.5f); + QCOMPARE(v3b.z(), (qreal)-89.25f); + QCOMPARE(v3b.w(), (qreal)0.0f); + QVERIFY(!v3b.isNull()); + + QVector4D v3bi(1, 2, -89, 0); + QCOMPARE(v3bi.x(), (qreal)1.0f); + QCOMPARE(v3bi.y(), (qreal)2.0f); + QCOMPARE(v3bi.z(), (qreal)-89.0f); + QCOMPARE(v3bi.w(), (qreal)0.0f); + QVERIFY(!v3bi.isNull()); + + QVector4D v4; + QCOMPARE(v4.x(), (qreal)0.0f); + QCOMPARE(v4.y(), (qreal)0.0f); + QCOMPARE(v4.z(), (qreal)0.0f); + QCOMPARE(v4.w(), (qreal)0.0f); + QVERIFY(v4.isNull()); + v4 = v1; + QCOMPARE(v4.x(), (qreal)1.0f); + QCOMPARE(v4.y(), (qreal)2.5f); + QCOMPARE(v4.z(), (qreal)-89.25f); + QCOMPARE(v4.w(), (qreal)34.0f); + QVERIFY(!v4.isNull()); + + QVector4D v5(QPoint(1, 2)); + QCOMPARE(v5.x(), (qreal)1.0f); + QCOMPARE(v5.y(), (qreal)2.0f); + QCOMPARE(v5.z(), (qreal)0.0f); + QCOMPARE(v5.w(), (qreal)0.0f); + QVERIFY(!v5.isNull()); + + QVector4D v6(QPointF(1, 2.5)); + QCOMPARE(v6.x(), (qreal)1.0f); + QCOMPARE(v6.y(), (qreal)2.5f); + QCOMPARE(v6.z(), (qreal)0.0f); + QCOMPARE(v6.w(), (qreal)0.0f); + QVERIFY(!v6.isNull()); + + QVector4D v7(QVector2D(1.0f, 2.5f)); + QCOMPARE(v7.x(), (qreal)1.0f); + QCOMPARE(v7.y(), (qreal)2.5f); + QCOMPARE(v7.z(), (qreal)0.0f); + QCOMPARE(v7.w(), (qreal)0.0f); + QVERIFY(!v7.isNull()); + + QVector4D v8(QVector3D(1.0f, 2.5f, -89.25f)); + QCOMPARE(v8.x(), (qreal)1.0f); + QCOMPARE(v8.y(), (qreal)2.5f); + QCOMPARE(v8.z(), (qreal)-89.25f); + QCOMPARE(v8.w(), (qreal)0.0f); + QVERIFY(!v8.isNull()); + + QVector4D v9(QVector3D(1.0f, 2.5f, -89.25f), 34); + QCOMPARE(v9.x(), (qreal)1.0f); + QCOMPARE(v9.y(), (qreal)2.5f); + QCOMPARE(v9.z(), (qreal)-89.25f); + QCOMPARE(v9.w(), (qreal)34.0f); + QVERIFY(!v9.isNull()); + + QVector4D v10(QVector2D(1.0f, 2.5f), 23.5f, -8); + QCOMPARE(v10.x(), (qreal)1.0f); + QCOMPARE(v10.y(), (qreal)2.5f); + QCOMPARE(v10.z(), (qreal)23.5f); + QCOMPARE(v10.w(), (qreal)-8.0f); + QVERIFY(!v10.isNull()); + + v1.setX(3.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)2.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.w(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setY(10.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)-89.25f); + QCOMPARE(v1.w(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setZ(15.5f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)15.5f); + QCOMPARE(v1.w(), (qreal)34.0f); + QVERIFY(!v1.isNull()); + + v1.setW(6.0f); + QCOMPARE(v1.x(), (qreal)3.0f); + QCOMPARE(v1.y(), (qreal)10.5f); + QCOMPARE(v1.z(), (qreal)15.5f); + QCOMPARE(v1.w(), (qreal)6.0f); + QVERIFY(!v1.isNull()); + + v1.setX(0.0f); + v1.setY(0.0f); + v1.setZ(0.0f); + v1.setW(0.0f); + QCOMPARE(v1.x(), (qreal)0.0f); + QCOMPARE(v1.y(), (qreal)0.0f); + QCOMPARE(v1.z(), (qreal)0.0f); + QCOMPARE(v1.w(), (qreal)0.0f); + QVERIFY(v1.isNull()); + + QPoint p1 = v8.toPoint(); + QCOMPARE(p1.x(), 1); + QCOMPARE(p1.y(), 3); + + QPointF p2 = v8.toPointF(); + QCOMPARE((qreal)p2.x(), (qreal)1.0f); + QCOMPARE((qreal)p2.y(), (qreal)2.5f); + + QVector2D v11 = v8.toVector2D(); + QCOMPARE(v11.x(), (qreal)1.0f); + QCOMPARE(v11.y(), (qreal)2.5f); + + QVector3D v12 = v8.toVector3D(); + QCOMPARE(v12.x(), (qreal)1.0f); + QCOMPARE(v12.y(), (qreal)2.5f); + QCOMPARE(v12.z(), (qreal)-89.25f); + + QVector2D v13 = v9.toVector2DAffine(); + QVERIFY(fuzzyCompare(v13.x(), (qreal)(1.0f / 34.0f))); + QVERIFY(fuzzyCompare(v13.y(), (qreal)(2.5f / 34.0f))); + + QVector4D zerow(1.0f, 2.0f, 3.0f, 0.0f); + v13 = zerow.toVector2DAffine(); + QVERIFY(v13.isNull()); + + QVector3D v14 = v9.toVector3DAffine(); + QVERIFY(fuzzyCompare(v14.x(), (qreal)(1.0f / 34.0f))); + QVERIFY(fuzzyCompare(v14.y(), (qreal)(2.5f / 34.0f))); + QVERIFY(fuzzyCompare(v14.z(), (qreal)(-89.25f / 34.0f))); + + v14 = zerow.toVector3DAffine(); + QVERIFY(v14.isNull()); +} + +// Test vector length computation for 2D vectors. +void tst_QVector::length2_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("len"); + + QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f; + QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; + QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)qSqrt(8.0f); +} +void tst_QVector::length2() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, len); + + QVector2D v(x, y); + QCOMPARE((float)(v.length()), (float)len); + QCOMPARE((float)(v.lengthSquared()), (float)(x * x + y * y)); +} + +// Test vector length computation for 3D vectors. +void tst_QVector::length3_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("len"); + + QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f; + QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; + QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)qSqrt(12.0f); +} +void tst_QVector::length3() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, len); + + QVector3D v(x, y, z); + QCOMPARE((float)(v.length()), (float)len); + QCOMPARE((float)(v.lengthSquared()), (float)(x * x + y * y + z * z)); +} + +// Test vector length computation for 4D vectors. +void tst_QVector::length4_data() +{ + QTest::addColumn("x"); + QTest::addColumn("y"); + QTest::addColumn("z"); + QTest::addColumn("w"); + QTest::addColumn("len"); + + QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f; + QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f; + QTest::newRow("-1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; + QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)2.0f << (qreal)qSqrt(16.0f); +} +void tst_QVector::length4() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + QFETCH(qreal, len); + + QVector4D v(x, y, z, w); + QCOMPARE((float)(v.length()), (float)len); + QCOMPARE((float)(v.lengthSquared()), (float)(x * x + y * y + z * z + w * w)); +} + +// Test the unit vector conversion for 2D vectors. +void tst_QVector::normalized2_data() +{ + // Use the same test data as the length test. + length2_data(); +} +void tst_QVector::normalized2() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, len); + + QVector2D v(x, y); + QVector2D u = v.normalized(); + if (v.isNull()) + QVERIFY(u.isNull()); + else + QCOMPARE((float)(u.length()), (float)1.0f); + QCOMPARE((float)(u.x() * len), (float)(v.x())); + QCOMPARE((float)(u.y() * len), (float)(v.y())); +} + +// Test the unit vector conversion for 3D vectors. +void tst_QVector::normalized3_data() +{ + // Use the same test data as the length test. + length3_data(); +} +void tst_QVector::normalized3() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, len); + + QVector3D v(x, y, z); + QVector3D u = v.normalized(); + if (v.isNull()) + QVERIFY(u.isNull()); + else + QCOMPARE((float)(u.length()), (float)1.0f); + QCOMPARE((float)(u.x() * len), (float)(v.x())); + QCOMPARE((float)(u.y() * len), (float)(v.y())); + QCOMPARE((float)(u.z() * len), (float)(v.z())); +} + +// Test the unit vector conversion for 4D vectors. +void tst_QVector::normalized4_data() +{ + // Use the same test data as the length test. + length4_data(); +} +void tst_QVector::normalized4() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + QFETCH(qreal, len); + + QVector4D v(x, y, z, w); + QVector4D u = v.normalized(); + if (v.isNull()) + QVERIFY(u.isNull()); + else + QCOMPARE((float)(u.length()), (float)1.0f); + QCOMPARE((float)(u.x() * len), (float)(v.x())); + QCOMPARE((float)(u.y() * len), (float)(v.y())); + QCOMPARE((float)(u.z() * len), (float)(v.z())); + QCOMPARE((float)(u.w() * len), (float)(v.w())); +} + +// Test the unit vector conversion for 2D vectors. +void tst_QVector::normalize2_data() +{ + // Use the same test data as the length test. + length2_data(); +} +void tst_QVector::normalize2() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + + QVector2D v(x, y); + bool isNull = v.isNull(); + v.normalize(); + if (isNull) + QVERIFY(v.isNull()); + else + QCOMPARE((float)(v.length()), (float)1.0f); +} + +// Test the unit vector conversion for 3D vectors. +void tst_QVector::normalize3_data() +{ + // Use the same test data as the length test. + length3_data(); +} +void tst_QVector::normalize3() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + + QVector3D v(x, y, z); + bool isNull = v.isNull(); + v.normalize(); + if (isNull) + QVERIFY(v.isNull()); + else + QCOMPARE((float)(v.length()), (float)1.0f); +} + +// Test the unit vector conversion for 4D vectors. +void tst_QVector::normalize4_data() +{ + // Use the same test data as the length test. + length4_data(); +} +void tst_QVector::normalize4() +{ + QFETCH(qreal, x); + QFETCH(qreal, y); + QFETCH(qreal, z); + QFETCH(qreal, w); + + QVector4D v(x, y, z, w); + bool isNull = v.isNull(); + v.normalize(); + if (isNull) + QVERIFY(v.isNull()); + else + QCOMPARE((float)(v.length()), (float)1.0f); +} + +// Test the comparison operators for 2D vectors. +void tst_QVector::compare2() +{ + QVector2D v1(1, 2); + QVector2D v2(1, 2); + QVector2D v3(3, 2); + QVector2D v4(1, 3); + + QVERIFY(v1 == v2); + QVERIFY(v1 != v3); + QVERIFY(v1 != v4); +} + +// Test the comparison operators for 3D vectors. +void tst_QVector::compare3() +{ + QVector3D v1(1, 2, 4); + QVector3D v2(1, 2, 4); + QVector3D v3(3, 2, 4); + QVector3D v4(1, 3, 4); + QVector3D v5(1, 2, 3); + + QVERIFY(v1 == v2); + QVERIFY(v1 != v3); + QVERIFY(v1 != v4); + QVERIFY(v1 != v5); +} + +// Test the comparison operators for 4D vectors. +void tst_QVector::compare4() +{ + QVector4D v1(1, 2, 4, 8); + QVector4D v2(1, 2, 4, 8); + QVector4D v3(3, 2, 4, 8); + QVector4D v4(1, 3, 4, 8); + QVector4D v5(1, 2, 3, 8); + QVector4D v6(1, 2, 4, 3); + + QVERIFY(v1 == v2); + QVERIFY(v1 != v3); + QVERIFY(v1 != v4); + QVERIFY(v1 != v5); + QVERIFY(v1 != v6); +} + +// Test vector addition for 2D vectors. +void tst_QVector::add2_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f + << (qreal)3.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)3.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f + << (qreal)4.0f << (qreal)5.0f + << (qreal)5.0f << (qreal)7.0f; +} +void tst_QVector::add2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + QVector2D v3(x3, y3); + + QVERIFY((v1 + v2) == v3); + + QVector2D v4(v1); + v4 += v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() + v2.x()); + QCOMPARE(v4.y(), v1.y() + v2.y()); +} + +// Test vector addition for 3D vectors. +void tst_QVector::add3_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f + << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f; +} +void tst_QVector::add3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QVERIFY((v1 + v2) == v3); + + QVector3D v4(v1); + v4 += v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() + v2.x()); + QCOMPARE(v4.y(), v1.y() + v2.y()); + QCOMPARE(v4.z(), v1.z() + v2.z()); +} + +// Test vector addition for 4D vectors. +void tst_QVector::add4_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("w3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f; + + QTest::newRow("wonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f + << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f << (qreal)17.0f; +} +void tst_QVector::add4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, w3); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + QVector4D v3(x3, y3, z3, w3); + + QVERIFY((v1 + v2) == v3); + + QVector4D v4(v1); + v4 += v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() + v2.x()); + QCOMPARE(v4.y(), v1.y() + v2.y()); + QCOMPARE(v4.z(), v1.z() + v2.z()); + QCOMPARE(v4.w(), v1.w() + v2.w()); +} + +// Test vector subtraction for 2D vectors. +void tst_QVector::subtract2_data() +{ + // Use the same test data as the add test. + add2_data(); +} +void tst_QVector::subtract2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + QVector2D v3(x3, y3); + + QVERIFY((v3 - v1) == v2); + QVERIFY((v3 - v2) == v1); + + QVector2D v4(v3); + v4 -= v1; + QVERIFY(v4 == v2); + + QCOMPARE(v4.x(), v3.x() - v1.x()); + QCOMPARE(v4.y(), v3.y() - v1.y()); + + QVector2D v5(v3); + v5 -= v2; + QVERIFY(v5 == v1); + + QCOMPARE(v5.x(), v3.x() - v2.x()); + QCOMPARE(v5.y(), v3.y() - v2.y()); +} + +// Test vector subtraction for 3D vectors. +void tst_QVector::subtract3_data() +{ + // Use the same test data as the add test. + add3_data(); +} +void tst_QVector::subtract3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QVERIFY((v3 - v1) == v2); + QVERIFY((v3 - v2) == v1); + + QVector3D v4(v3); + v4 -= v1; + QVERIFY(v4 == v2); + + QCOMPARE(v4.x(), v3.x() - v1.x()); + QCOMPARE(v4.y(), v3.y() - v1.y()); + QCOMPARE(v4.z(), v3.z() - v1.z()); + + QVector3D v5(v3); + v5 -= v2; + QVERIFY(v5 == v1); + + QCOMPARE(v5.x(), v3.x() - v2.x()); + QCOMPARE(v5.y(), v3.y() - v2.y()); + QCOMPARE(v5.z(), v3.z() - v2.z()); +} + +// Test vector subtraction for 4D vectors. +void tst_QVector::subtract4_data() +{ + // Use the same test data as the add test. + add4_data(); +} +void tst_QVector::subtract4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, w3); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + QVector4D v3(x3, y3, z3, w3); + + QVERIFY((v3 - v1) == v2); + QVERIFY((v3 - v2) == v1); + + QVector4D v4(v3); + v4 -= v1; + QVERIFY(v4 == v2); + + QCOMPARE(v4.x(), v3.x() - v1.x()); + QCOMPARE(v4.y(), v3.y() - v1.y()); + QCOMPARE(v4.z(), v3.z() - v1.z()); + QCOMPARE(v4.w(), v3.w() - v1.w()); + + QVector4D v5(v3); + v5 -= v2; + QVERIFY(v5 == v1); + + QCOMPARE(v5.x(), v3.x() - v2.x()); + QCOMPARE(v5.y(), v3.y() - v2.y()); + QCOMPARE(v5.z(), v3.z() - v2.z()); + QCOMPARE(v5.w(), v3.w() - v2.w()); +} + +// Test component-wise vector multiplication for 2D vectors. +void tst_QVector::multiply2_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f + << (qreal)4.0f << (qreal)5.0f + << (qreal)4.0f << (qreal)10.0f; +} +void tst_QVector::multiply2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + QVector2D v3(x3, y3); + + QVERIFY((v1 * v2) == v3); + + QVector2D v4(v1); + v4 *= v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() * v2.x()); + QCOMPARE(v4.y(), v1.y() * v2.y()); +} + +// Test component-wise vector multiplication for 3D vectors. +void tst_QVector::multiply3_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f + << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f; +} +void tst_QVector::multiply3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QVERIFY((v1 * v2) == v3); + + QVector3D v4(v1); + v4 *= v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() * v2.x()); + QCOMPARE(v4.y(), v1.y() * v2.y()); + QCOMPARE(v4.z(), v1.z() * v2.z()); +} + +// Test component-wise vector multiplication for 4D vectors. +void tst_QVector::multiply4_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("w3"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("wonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f + << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f << (qreal)72.0f; +} +void tst_QVector::multiply4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, w3); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + QVector4D v3(x3, y3, z3, w3); + + QVERIFY((v1 * v2) == v3); + + QVector4D v4(v1); + v4 *= v2; + QVERIFY(v4 == v3); + + QCOMPARE(v4.x(), v1.x() * v2.x()); + QCOMPARE(v4.y(), v1.y() * v2.y()); + QCOMPARE(v4.z(), v1.z() * v2.z()); + QCOMPARE(v4.w(), v1.w() * v2.w()); +} + +// Test vector multiplication by a factor for 2D vectors. +void tst_QVector::multiplyFactor2_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("factor"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f + << (qreal)100.0f + << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)4.0f; + + QTest::newRow("allzero") + << (qreal)1.0f << (qreal)2.0f + << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f; +} +void tst_QVector::multiplyFactor2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + + QVERIFY((v1 * factor) == v2); + QVERIFY((factor * v1) == v2); + + QVector2D v3(v1); + v3 *= factor; + QVERIFY(v3 == v2); + + QCOMPARE(v3.x(), v1.x() * factor); + QCOMPARE(v3.y(), v1.y() * factor); +} + +// Test vector multiplication by a factor for 3D vectors. +void tst_QVector::multiplyFactor3_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("factor"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)100.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f; + + QTest::newRow("allzero") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f + << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; +} +void tst_QVector::multiplyFactor3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + + QVERIFY((v1 * factor) == v2); + QVERIFY((factor * v1) == v2); + + QVector3D v3(v1); + v3 *= factor; + QVERIFY(v3 == v2); + + QCOMPARE(v3.x(), v1.x() * factor); + QCOMPARE(v3.y(), v1.y() * factor); + QCOMPARE(v3.z(), v1.z() * factor); +} + +// Test vector multiplication by a factor for 4D vectors. +void tst_QVector::multiplyFactor4_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("factor"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)100.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("xonly") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("yonly") + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f; + + QTest::newRow("zonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f; + + QTest::newRow("wonly") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)2.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f; + + QTest::newRow("all") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f + << (qreal)2.0f + << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f << (qreal)8.0f; + + QTest::newRow("allzero") + << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f + << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; +} +void tst_QVector::multiplyFactor4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + + QVERIFY((v1 * factor) == v2); + QVERIFY((factor * v1) == v2); + + QVector4D v3(v1); + v3 *= factor; + QVERIFY(v3 == v2); + + QCOMPARE(v3.x(), v1.x() * factor); + QCOMPARE(v3.y(), v1.y() * factor); + QCOMPARE(v3.z(), v1.z() * factor); + QCOMPARE(v3.w(), v1.w() * factor); +} + +// Test vector division by a factor for 2D vectors. +void tst_QVector::divide2_data() +{ + // Use the same test data as the multiply test. + multiplyFactor2_data(); +} +void tst_QVector::divide2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + + if (factor == (qreal)0.0f) + return; + + QVERIFY((v2 / factor) == v1); + + QVector2D v3(v2); + v3 /= factor; + QVERIFY(v3 == v1); + + QCOMPARE(v3.x(), v2.x() / factor); + QCOMPARE(v3.y(), v2.y() / factor); +} + +// Test vector division by a factor for 3D vectors. +void tst_QVector::divide3_data() +{ + // Use the same test data as the multiply test. + multiplyFactor3_data(); +} +void tst_QVector::divide3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + + if (factor == (qreal)0.0f) + return; + + QVERIFY((v2 / factor) == v1); + + QVector3D v3(v2); + v3 /= factor; + QVERIFY(v3 == v1); + + QCOMPARE(v3.x(), v2.x() / factor); + QCOMPARE(v3.y(), v2.y() / factor); + QCOMPARE(v3.z(), v2.z() / factor); +} + +// Test vector division by a factor for 4D vectors. +void tst_QVector::divide4_data() +{ + // Use the same test data as the multiply test. + multiplyFactor4_data(); +} +void tst_QVector::divide4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, factor); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + + if (factor == (qreal)0.0f) + return; + + QVERIFY((v2 / factor) == v1); + + QVector4D v3(v2); + v3 /= factor; + QVERIFY(v3 == v1); + + QCOMPARE(v3.x(), v2.x() / factor); + QCOMPARE(v3.y(), v2.y() / factor); + QCOMPARE(v3.z(), v2.z() / factor); + QCOMPARE(v3.w(), v2.w() / factor); +} + +// Test vector negation for 2D vectors. +void tst_QVector::negate2_data() +{ + // Use the same test data as the add test. + add2_data(); +} +void tst_QVector::negate2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + + QVector2D v1(x1, y1); + QVector2D v2(-x1, -y1); + + QVERIFY(-v1 == v2); +} + +// Test vector negation for 3D vectors. +void tst_QVector::negate3_data() +{ + // Use the same test data as the add test. + add3_data(); +} +void tst_QVector::negate3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + + QVector3D v1(x1, y1, z1); + QVector3D v2(-x1, -y1, -z1); + + QVERIFY(-v1 == v2); +} + +// Test vector negation for 4D vectors. +void tst_QVector::negate4_data() +{ + // Use the same test data as the add test. + add4_data(); +} +void tst_QVector::negate4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(-x1, -y1, -z1, -w1); + + QVERIFY(-v1 == v2); +} + +// Test the computation of vector cross-products. +void tst_QVector::crossProduct_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("x3"); + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("dot"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("unitvec") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f; + + QTest::newRow("complex") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f + << (qreal)-3.0f << (qreal)6.0f << (qreal)-3.0f + << (qreal)32.0f; +} +void tst_QVector::crossProduct() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QVector3D v4 = QVector3D::crossProduct(v1, v2); + QVERIFY(v4 == v3); + + // Compute the cross-product long-hand and check again. + qreal xres = y1 * z2 - z1 * y2; + qreal yres = z1 * x2 - x1 * z2; + qreal zres = x1 * y2 - y1 * x2; + + QCOMPARE(v4.x(), xres); + QCOMPARE(v4.y(), yres); + QCOMPARE(v4.z(), zres); +} + +// Test the computation of normals. +void tst_QVector::normal_data() +{ + // Use the same test data as the crossProduct test. + crossProduct_data(); +} +void tst_QVector::normal() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QVERIFY(QVector3D::normal(v1, v2) == v3.normalized()); + QVERIFY(QVector3D::normal(QVector3D(), v1, v2) == v3.normalized()); + + QVector3D point(1.0f, 2.0f, 3.0f); + QVERIFY(QVector3D::normal(point, v1 + point, v2 + point) == v3.normalized()); +} + +// Test distance to plane calculations. +void tst_QVector::distanceToPlane_data() +{ + QTest::addColumn("x1"); // Point on plane + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("x2"); // Normal to plane + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("x3"); // Point to test for distance + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("x4"); // Second point on plane + QTest::addColumn("y4"); + QTest::addColumn("z4"); + QTest::addColumn("x5"); // Third point on plane + QTest::addColumn("y5"); + QTest::addColumn("z5"); + QTest::addColumn("distance"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("above") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)2.0f; + + QTest::newRow("below") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)-1.0f << (qreal)1.0f << (qreal)-2.0f + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f + << (qreal)-2.0f; +} +void tst_QVector::distanceToPlane() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, x4); + QFETCH(qreal, y4); + QFETCH(qreal, z4); + QFETCH(qreal, x5); + QFETCH(qreal, y5); + QFETCH(qreal, z5); + QFETCH(qreal, distance); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + QVector3D v4(x4, y4, z4); + QVector3D v5(x5, y5, z5); + + QCOMPARE(v3.distanceToPlane(v1, v2), distance); + QCOMPARE(v3.distanceToPlane(v1, v4, v5), distance); +} + +// Test distance to line calculations. +void tst_QVector::distanceToLine_data() +{ + QTest::addColumn("x1"); // Point on line + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("x2"); // Direction of the line + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("x3"); // Point to test for distance + QTest::addColumn("y3"); + QTest::addColumn("z3"); + QTest::addColumn("distance"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("on line") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)5.0f + << (qreal)0.0f; + + QTest::newRow("off line") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)1.0f; + + QTest::newRow("off line 2") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f << (qreal)-2.0f << (qreal)0.0f + << (qreal)2.0f; + + QTest::newRow("points") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)5.0f << (qreal)0.0f + << (qreal)5.0f; +} +void tst_QVector::distanceToLine() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, distance); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + QVector3D v3(x3, y3, z3); + + QCOMPARE(v3.distanceToLine(v1, v2), distance); +} + +// Test the computation of dot products for 2D vectors. +void tst_QVector::dotProduct2_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("dot"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("unitvec") + << (qreal)1.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)1.0f + << (qreal)0.0f; + + QTest::newRow("complex") + << (qreal)1.0f << (qreal)2.0f + << (qreal)4.0f << (qreal)5.0f + << (qreal)14.0f; +} +void tst_QVector::dotProduct2() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, dot); + + QVector2D v1(x1, y1); + QVector2D v2(x2, y2); + + QVERIFY(QVector2D::dotProduct(v1, v2) == dot); + + // Compute the dot-product long-hand and check again. + qreal d = x1 * x2 + y1 * y2; + + QCOMPARE(QVector2D::dotProduct(v1, v2), d); +} + +// Test the computation of dot products for 3D vectors. +void tst_QVector::dotProduct3_data() +{ + // Use the same test data as the crossProduct test. + crossProduct_data(); +} +void tst_QVector::dotProduct3() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, x3); + QFETCH(qreal, y3); + QFETCH(qreal, z3); + QFETCH(qreal, dot); + + Q_UNUSED(x3); + Q_UNUSED(y3); + Q_UNUSED(z3); + + QVector3D v1(x1, y1, z1); + QVector3D v2(x2, y2, z2); + + QVERIFY(QVector3D::dotProduct(v1, v2) == dot); + + // Compute the dot-product long-hand and check again. + qreal d = x1 * x2 + y1 * y2 + z1 * z2; + + QCOMPARE(QVector3D::dotProduct(v1, v2), d); +} + +// Test the computation of dot products for 4D vectors. +void tst_QVector::dotProduct4_data() +{ + QTest::addColumn("x1"); + QTest::addColumn("y1"); + QTest::addColumn("z1"); + QTest::addColumn("w1"); + QTest::addColumn("x2"); + QTest::addColumn("y2"); + QTest::addColumn("z2"); + QTest::addColumn("w2"); + QTest::addColumn("dot"); + + QTest::newRow("null") + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("unitvec") + << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f + << (qreal)0.0f; + + QTest::newRow("complex") + << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)4.0f + << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)7.0f + << (qreal)60.0f; +} +void tst_QVector::dotProduct4() +{ + QFETCH(qreal, x1); + QFETCH(qreal, y1); + QFETCH(qreal, z1); + QFETCH(qreal, w1); + QFETCH(qreal, x2); + QFETCH(qreal, y2); + QFETCH(qreal, z2); + QFETCH(qreal, w2); + QFETCH(qreal, dot); + + QVector4D v1(x1, y1, z1, w1); + QVector4D v2(x2, y2, z2, w2); + + QVERIFY(QVector4D::dotProduct(v1, v2) == dot); + + // Compute the dot-product long-hand and check again. + qreal d = x1 * x2 + y1 * y2 + z1 * z2 + w1 * w2; + + QCOMPARE(QVector4D::dotProduct(v1, v2), d); +} + +// Force the fixed-point version of the test case to put a +// different test name on the front of failure reports. +class tst_QVectorFixed : public tst_QVector +{ + Q_OBJECT +public: + tst_QVectorFixed() {} + ~tst_QVectorFixed() {} +}; + +#ifdef QT_GL_FIXED_PREFERRED + +QTEST_APPLESS_MAIN(tst_QVectorFixed) + +#else + +QTEST_APPLESS_MAIN(tst_QVector) + +#endif + +#include "tst_qvectornd.moc" diff --git a/tests/auto/math3d/qvectornd_fixed/qvectornd_fixed.pro b/tests/auto/math3d/qvectornd_fixed/qvectornd_fixed.pro new file mode 100644 index 0000000..a667fcc --- /dev/null +++ b/tests/auto/math3d/qvectornd_fixed/qvectornd_fixed.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +VPATH += ../shared +VPATH += ../qvectornd +INCLUDEPATH += ../shared +INCLUDEPATH += ../../../../src/gui/math3d +DEFINES += FIXED_POINT_TESTS +HEADERS += math3dincludes.h +SOURCES += tst_qvectornd.cpp math3dincludes.cpp diff --git a/tests/auto/math3d/shared/math3dincludes.cpp b/tests/auto/math3d/shared/math3dincludes.cpp new file mode 100644 index 0000000..c4e1533 --- /dev/null +++ b/tests/auto/math3d/shared/math3dincludes.cpp @@ -0,0 +1,24 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "math3dincludes.h" + +#if defined(FIXED_POINT_TESTS) + +#include "qmatrix4x4.cpp" +#include "qgenericmatrix.cpp" +#include "qvector2d.cpp" +#include "qvector3d.cpp" +#include "qvector4d.cpp" +#include "qquaternion.cpp" +#include "qmath3dutil.cpp" + +#endif diff --git a/tests/auto/math3d/shared/math3dincludes.h b/tests/auto/math3d/shared/math3dincludes.h new file mode 100644 index 0000000..9e406ee --- /dev/null +++ b/tests/auto/math3d/shared/math3dincludes.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef MATH3DINCLUDES_H +#define MATH3DINCLUDES_H + +#if defined(FIXED_POINT_TESTS) + +// Rename the classes we want to test in fixed-point mode so that +// they don't conflict with the ones that are built into Qt. +#define QT_NO_GL_FLOAT 1 +#define QVector2D tst_QVector2D +#define QVector3D tst_QVector3D +#define QVector4D tst_QVector4D +#define QQuaternion tst_QQuaternionX +#define QMatrix2x2 tst_QMatrix2x2 +#define QMatrix3x3 tst_QMatrix3x3 +#define QMatrix4x4 tst_QMatrix4x4 +#define QMatrix2x3 tst_QMatrix2x3 +#define QMatrix2x4 tst_QMatrix2x4 +#define QMatrix3x2 tst_QMatrix3x2 +#define QMatrix3x4 tst_QMatrix3x4 +#define QMatrix4x2 tst_QMatrix4x2 +#define QMatrix4x3 tst_QMatrix4x3 +#define QGenericMatrix tst_QGenericMatrix +#define qt_math3d_sincos tst_qt_math3d_sincos +#define qt_math3d_convert tst_qt_math3d_convert +#define qrealinner tst_qrealinner + +// We need to re-include the headers with the changed class names. +#undef QGENERICMATRIX_H +#undef QMATH3DGLOBAL_H +#undef QMATH3DUTIL_P_H +#undef QMATRIX4X4_H +#undef QQUATERNION_H +#undef QVECTOR2D_H +#undef QVECTOR3D_H +#undef QVECTOR4D_H + +#endif + +#include +#include +#include +#include +#include +#include + +#endif -- cgit v0.12 From 0d00798f6bdd098dbb59c6f1da5be5efd6c283fa Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 24 Mar 2009 11:07:00 +1000 Subject: Squashed commit of the following: commit 39de3862f5678b3226b4932eeb342c4a023d2f2b Author: Ian Walters Date: Thu Feb 19 14:16:05 2009 +1000 Fixes: Test runs (and passes), doc links. Task: QT-308 Details: Minor changes related to the code having moved. commit 5a8910dd1018fb228d0e2e2819ea429577bfa834 Author: Ian Walters Date: Thu Feb 19 09:47:20 2009 +1000 Fixes: Checkin of QOffsetVector stuff for branch Task: QT-308 Details: Files originally from research/qcircularbuffer This checkin likely won't compile. Just a copy for now. --- doc/src/examples/offsetvector.qdoc | 70 +++++ examples/tools/offsetvector/main.cpp | 15 + examples/tools/offsetvector/offsetvector.pro | 9 + examples/tools/offsetvector/randomlistmodel.cpp | 56 ++++ examples/tools/offsetvector/randomlistmodel.h | 26 ++ examples/tools/tools.pro | 1 + src/corelib/tools/qoffsetvector.cpp | 360 ++++++++++++++++++++++ src/corelib/tools/qoffsetvector.h | 386 ++++++++++++++++++++++++ src/corelib/tools/tools.pri | 2 + tests/auto/auto.pro | 1 + tests/auto/qoffsetvector/qoffsetvector.pro | 8 + tests/auto/qoffsetvector/tst_qoffsetvector.cpp | 361 ++++++++++++++++++++++ 12 files changed, 1295 insertions(+) create mode 100644 doc/src/examples/offsetvector.qdoc create mode 100644 examples/tools/offsetvector/main.cpp create mode 100644 examples/tools/offsetvector/offsetvector.pro create mode 100644 examples/tools/offsetvector/randomlistmodel.cpp create mode 100644 examples/tools/offsetvector/randomlistmodel.h create mode 100644 src/corelib/tools/qoffsetvector.cpp create mode 100644 src/corelib/tools/qoffsetvector.h create mode 100644 tests/auto/qoffsetvector/qoffsetvector.pro create mode 100644 tests/auto/qoffsetvector/tst_qoffsetvector.cpp diff --git a/doc/src/examples/offsetvector.qdoc b/doc/src/examples/offsetvector.qdoc new file mode 100644 index 0000000..256569e --- /dev/null +++ b/doc/src/examples/offsetvector.qdoc @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +/*! + \example tools/offsetvector + \title Offset Vector Example + + The Offset Vector example shows how to use QOffsetVector to manage memory usage for + very large models. In some environments memory is limited, and even when it + isn't users still dislike an application using + excessive memory. Using QOffsetVector to manage a list rather than loading + the entire list into memory allows the application to limit the amount + of memory it uses regardless of the size of the data set it accesses + + The simplest way to use QOffsetVector is to cache as items are requested. When + a view requests an item at row N it is also likely to ask for items at rows near + to N. + + \snippet examples/tools/offsetvector/randomlistmodel.cpp 0 + + After getting the row the class determines if the row is in the bounds + of the offset vector's current range. It would have been equally valid to + simply have the following code instead. + + \code + while (row > m_words.lastIndex()) + m_words.append(fetchWord(m_words.lastIndex()+1); + while (row < m_words.firstIndex()) + m_words.prepend(fetchWord(m_words.firstIndex()-1); + \endcode + + However a list will often jump rows if the scroll bar is used directly, and + the above code would cause every row between where the cache was last centered + to where the cache is currently centered to be cached before the requested + row is reached. + + Using QOffsetVector::lastIndex() and QOffsetVector::firstIndex() allows + the example to determine where the list the vector is currently over. These values + don't represent the indexes into the vector own memory, but rather a virtual + infinite array that the vector represents. + + By using QOffsetVector::append() and QOffsetVector::prepend() the code ensures + that items that may be still on the screen are not lost when the requested row + has not moved far from the current vector range. QOffsetVector::insert() can + potentially remove more than one item from the cache as QOffsetVector does not + allow for gaps. If your cache needs to quickly jump back and forth between + rows with significant gaps between them consider using QCache instead. + + And thats it. A perfectly reasonable cache, using minimal memory for a very large + list. In this case the accessor for getting the words into cache: + + \snippet examples/tools/offsetvector/randomlistmodel.cpp 1 + + Generates random information rather than fixed information. This allows you + to see how the cache range is kept for a local number of rows when running the + example. + + It is also worth considering pre-fetching items into the cache outside of the + applications paint routine. This can be done either with a separate thread + or using a QTimer to incrementally expand the range of the thread prior to + rows being requested out of the current vector range. +*/ diff --git a/examples/tools/offsetvector/main.cpp b/examples/tools/offsetvector/main.cpp new file mode 100644 index 0000000..bdeb3f3 --- /dev/null +++ b/examples/tools/offsetvector/main.cpp @@ -0,0 +1,15 @@ +#include "randomlistmodel.h" +#include +#include + +int main(int c, char **v) +{ + QApplication a(c, v); + + QListView view; + view.setUniformItemSizes(true); + view.setModel(new RandomListModel(&view)); + view.show(); + + return a.exec(); +} diff --git a/examples/tools/offsetvector/offsetvector.pro b/examples/tools/offsetvector/offsetvector.pro new file mode 100644 index 0000000..f329bb9 --- /dev/null +++ b/examples/tools/offsetvector/offsetvector.pro @@ -0,0 +1,9 @@ +HEADERS = randomlistmodel.h +SOURCES = randomlistmodel.cpp \ + main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tools/offsetvector +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS offsetvector.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tools/offsetvector +INSTALLS += target sources diff --git a/examples/tools/offsetvector/randomlistmodel.cpp b/examples/tools/offsetvector/randomlistmodel.cpp new file mode 100644 index 0000000..5c0953b --- /dev/null +++ b/examples/tools/offsetvector/randomlistmodel.cpp @@ -0,0 +1,56 @@ +#include "randomlistmodel.h" + +static const int bufferSize(500); +static const int lookAhead(100); +static const int halfLookAhead(lookAhead/2); + +RandomListModel::RandomListModel(QObject *parent) +: QAbstractListModel(parent), m_rows(bufferSize), m_count(10000) +{ +} + +RandomListModel::~RandomListModel() +{ +} + +int RandomListModel::rowCount(const QModelIndex &) const +{ + return m_count; +} + +//! [0] +QVariant RandomListModel::data(const QModelIndex &index, int role) const +{ + if (role != Qt::DisplayRole) + return QVariant(); + + int row = index.row(); + + if (row > m_rows.lastIndex()) { + if (row - m_rows.lastIndex() > lookAhead) + cacheRows(row-halfLookAhead, qMin(m_count, row+halfLookAhead)); + else while (row > m_rows.lastIndex()) + m_rows.append(fetchRow(m_rows.lastIndex()+1)); + } else if (row < m_rows.firstIndex()) { + if (m_rows.firstIndex() - row > lookAhead) + cacheRows(qMax(0, row-halfLookAhead), row+halfLookAhead); + else while (row < m_rows.firstIndex()) + m_rows.prepend(fetchRow(m_rows.firstIndex()-1)); + } + + return m_rows.at(row); +} + +void RandomListModel::cacheRows(int from, int to) const +{ + for (int i = from; i <= to; ++i) + m_rows.insert(i, fetchRow(i)); +} +//![0] + +//![1] +QString RandomListModel::fetchRow(int position) const +{ + return QString::number(rand() % ++position); +} +//![1] diff --git a/examples/tools/offsetvector/randomlistmodel.h b/examples/tools/offsetvector/randomlistmodel.h new file mode 100644 index 0000000..e102255 --- /dev/null +++ b/examples/tools/offsetvector/randomlistmodel.h @@ -0,0 +1,26 @@ +#ifndef RANDOMLISTMODEL_H +#define RANDOMLISTMODEL_H + +#include +#include + +class QTimer; +class RandomListModel : public QAbstractListModel +{ + Q_OBJECT +public: + RandomListModel(QObject *parent = 0); + ~RandomListModel(); + + int rowCount(const QModelIndex & = QModelIndex()) const; + QVariant data(const QModelIndex &, int) const; + +private: + void cacheRows(int, int) const; + QString fetchRow(int) const; + + mutable QOffsetVector m_rows; + const int m_count; +}; + +#endif diff --git a/examples/tools/tools.pro b/examples/tools/tools.pro index 79f0faa..424f286 100644 --- a/examples/tools/tools.pro +++ b/examples/tools/tools.pro @@ -5,6 +5,7 @@ SUBDIRS = codecs \ customcompleter \ echoplugin \ i18n \ + offsetvector \ plugandpaintplugins \ plugandpaint \ regexp \ diff --git a/src/corelib/tools/qoffsetvector.cpp b/src/corelib/tools/qoffsetvector.cpp new file mode 100644 index 0000000..32d2872 --- /dev/null +++ b/src/corelib/tools/qoffsetvector.cpp @@ -0,0 +1,360 @@ +/**************************************************************************** +** +** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qoffsetvector.h" +#include + +void QOffsetVectorData::dump() const +{ + qDebug() << "capacity:" << alloc; + qDebug() << "count:" << count; + qDebug() << "start:" << start; + qDebug() << "offset:" << offset; +} + +/*! \class QOffsetVector + \brief The QOffsetVector class is a template class that provides a offset vector. + \ingroup tools + \ingroup shared + \reentrant + + The QOffsetVector class provides an efficient way of caching items for + display in a user interface view. It does this by providing a window + into a theoretical infinite sized vector. This has the advantage that + it matches how user interface views most commonly request the data, in + a set of rows localized around the current scrolled position. It also + allows the cache to use less overhead than QCache both in terms of + performance and memory. In turn, unlike a QCache, the key has to be + an int and has to be contiguous. That is to say if an item is inserted + at index 85, then if there were no previous items at 84 or 86 then the + cache will be cleared before the new item at 85 is inserted. If this + restriction is not suitable consider using QCache instead. + + The simplest way of using an offset vector is to use the append() + and prepend() functions to slide the window to where it is needed. + +\code +MyRecord record(int row) const +{ + Q_ASSERT(row >= 0 && row < count()); + + while(row > cache.lastIndex()) + cache.append(slowFetchRecord(cache.lastIndex()+1)); + while(row < cache.firstIndex()) + cache.prepend(slowFetchRecord(cache.firstIndex()-1)); + + return cache.at(row); +} +\endcode + + The append() and prepend() functions cause the vector window to move to + where the current row is requested from. This usage can be further + optimized by using the insert() function to reset the vector window to + a row in the case where the row is a long way from the current row. It + may also be worth while to fetch multiple records into the cache if + it is faster to retrieve them in a batch operation. + + See the The \l{Offset Vector Example}{Offset Vector} example. +*/ + +/*! \fn QOffsetVector::QOffsetVector(int capacity) + + Constructs a vector with the given \a capacity. + + \sa setCapacity() +*/ + +/*! \fn QOffsetVector::QOffsetVector(const QOffsetVector &other) + + Constructs a copy of \a other. + + This operation takes \l{constant time}, because QOffsetVector is + \l{implicitly shared}. This makes returning a QOffsetVector from a + function very fast. If a shared instance is modified, it will be + copied (copy-on-write), and that takes \l{linear time}. + + \sa operator=() +*/ + +/*! \fn QOffsetVector::~QOffsetVector() + Destorys the vector. +*/ + +/*! \fn void QOffsetVector::detach() + + \internal +*/ + +/*! \fn bool QOffsetVector::isDetached() const + + \internal +*/ + +/*! \fn void QOffsetVector::setSharable(bool sharable) + + \internal +*/ + + +/*! \fn QOffsetVector &QOffsetVector::operator=(const QOffsetVector &other) + + Assigns \a other to this vector and returns a reference to this vector. +*/ + +/*! \fn bool QOffsetVector::operator==(const QOffsetVector &other) const + + Returns true if \a other is equal to this vector; otherwise returns false. + + Two vectors are considered equal if they contain the same values at the same + indexes. This function requires the value type to implement the \c operator==(). + + \sa operator!=() +*/ + +/*! \fn bool QOffsetVector::operator!=(const QOffsetVector &other) const + + Returns true if \a other is not equal to this vector; otherwise + returns false. + + Two vector are considered equal if they contain the same values at the same + indexes. This function requires the value type to implement the \c operator==(). + + \sa operator==() +*/ + +/*! \fn int QOffsetVector::capacity() const + + Returns the number of items the vector can store before it is full. + When a vector contains a number of items equal to its capacity, adding new + items will cause items furthest from the added item to be removed. + + \sa setCapacity(), size() +*/ + +/*! \fn int QOffsetVector::count() const + + \overload + + Same as size(). +*/ + +/*! \fn int QOffsetVector::size() const + + Returns the number of items contained within the vector. + + \sa capacity() +*/ + +/*! \fn bool QOffsetVector::isEmpty() const + + Returns true if no items are stored within the vector. + + \sa size(), capacity() +*/ + +/*! \fn bool QOffsetVector::isFull() const + + Returns true if the number of items stored within the vector is equal + to the capacity of the vector. + + \sa size(), capacity() +*/ + +/*! \fn int QOffsetVector::available() const + + Returns the number of items that can be added to the vector before it becomes full. + + \sa size(), capacity(), isFull() +*/ + +/*! \fn void QOffsetVector::clear() + + Removes all items from the vector. The capacity is unchanged. +*/ + +/*! \fn void QOffsetVector::setCapacity(int size) + + Sets the capacity of the vector to the given \a size. A vector can hold a + number of items equal to its capacity. When inserting, appending or prepending + items to the vector, if the vector is already full then the item furthest from + the added item will be removed. + + If the given \a size is smaller than the current count of items in the vector + then only the last \a size items from the vector will remain. + + \sa capacity(), isFull() +*/ + +/*! \fn const T &QOffsetVector::at(int i) const + + Returns the item at index position \a i in the vector. \a i must + be a valid index position in the vector (i.e, firstIndex() <= \a i <= lastIndex()). + + The indexes in the vector refer to number of positions the item is from the + first item appended into the vector. That is to say a vector with a capacity of + 100, that has had 150 items appended will have a valid index range of + 50 to 149. This allows inserting an retrieving items into the vector based + on a theoretical infinite list + + \sa firstIndex(), lastIndex(), insert(), operator[]() +*/ + +/*! \fn T &QOffsetVector::operator[](int i) + + Returns the item at index position \a i as a modifiable reference. If + the vector does not contain an item at the given index position \a i + then it will first insert an empty item at that position. + + In most cases it is better to use either at() or insert(). + + Note that using non-const operators can cause QOffsetVector to do a deep + copy. + + \sa insert(), at() +*/ + +/*! \fn const T &QOffsetVector::operator[](int i) const + + \overload + + Same as at(\a i). +*/ + +/*! \fn void QOffsetVector::append(const T &value) + + Inserts \a value at the end of the vector. If the vector is already full + the item at the start of the vector will be removed. + + \sa prepend(), insert(), isFull() +*/ + +/*! \fn void QOffsetVector::prepend(const T &value) + + Inserts \a value at the start of the vector. If the vector is already full + the item at the end of the vector will be removed. + + \sa append(), insert(), isFull() +*/ + +/*! \fn void QOffsetVector::insert(int i, const T &value) + + Inserts the \a value at the index position \a i. If the vector already contains + an item at \a i then that value is replaced. If \a i is either one more than + lastIndex() or one less than firstIndex() it is the equivalent to an append() + or a prepend(). + + If the given index \a i is not within the current range of the vector nor adjacent + to the bounds of the vector's index range the vector is first cleared before + inserting the item. At this point the vector will have a size of 1. It is worth + while then taking effort to insert items in an order than starts adjacent to the + current index range for the vector. + + \sa prepend(), append(), isFull(), firstIndex(), lastIndex() +*/ + +/*! \fn bool QOffsetVector::containsIndex(int i) const + + Returns true if the vector's index range includes the given index \a i. + + \sa firstIndex(), lastIndex() +*/ + +/*! \fn int QOffsetVector::firstIndex() const + Returns the first valid index in the vector. The index will be invalid if the + vector is empty. However the following code is valid even when the vector is empty: + + \code + for (int i = vector.firstIndex(); i <= vector.lastIndex(); ++i) + qDebug() << "Item" << i << "of the vector is" << vector.at(i); + \endcode + + \sa capacity(), size(), lastIndex() +*/ + +/*! \fn int QOffsetVector::lastIndex() const + + Returns the last valid index in the vector. If the vector is empty will return -1. + + \code + for (int i = vector.firstIndex(); i <= vector.lastIndex(); ++i) + qDebug() << "Item" << i << "of the vector is" << vector.at(i); + \endcode + + \sa capacity(), size(), firstIndex() +*/ + + +/*! \fn T &QOffsetVector::first() + + Returns a reference to the first item in the vector. This function + assumes that the vector isn't empty. + + \sa last(), isEmpty() +*/ + +/*! \fn T &QOffsetVector::last() + + Returns a reference to the last item in the vector. This function + assumes that the vector isn't empty. + + \sa first(), isEmpty() +*/ + +/*! \fn const T& QOffsetVector::first() const + + \overload +*/ + +/*! \fn const T& QOffsetVector::last() const + + \overload +*/ + +/*! \fn void QOffsetVector::removeFirst() + + Removes the first item from the vector. This function assumes that + the vector isn't empty. + + \sa removeLast() +*/ + +/*! \fn void QOffsetVector::removeLast() + + Removes the last item from the vector. This function assumes that + the vector isn't empty. + + \sa removeFirst() +*/ + +/*! \fn T QOffsetVector::takeFirst() + + Removes the first item in the vector and returns it. + + If you don't sue the return value, removeFirst() is more efficient. + + \sa takeLast(), removeFirst() +*/ + +/*! \fn T QOffsetVector::takeLast() + + Removes the last item in the vector and returns it. + + If you don't sue the return value, removeLast() is more efficient. + + \sa takeFirst(), removeLast() +*/ + +/*! \fn void QOffsetVector::dump() const + + \internal + + Sends information about the vector's internal structure to qDebug() +*/ diff --git a/src/corelib/tools/qoffsetvector.h b/src/corelib/tools/qoffsetvector.h new file mode 100644 index 0000000..7030862 --- /dev/null +++ b/src/corelib/tools/qoffsetvector.h @@ -0,0 +1,386 @@ +/**************************************************************************** +** +** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QCIRCULARBUFFER_H +#define QCIRCULARBUFFER_H + +#include + +struct QOffsetVectorData +{ + QBasicAtomicInt ref; + int alloc; + int count; + int start; + int offset; + uint sharable : 1; + + void dump() const; +}; + +template +struct QOffsetVectorTypedData +{ + QBasicAtomicInt ref; + int alloc; + int count; + int start; + int offset; + uint sharable : 1; + + T array[1]; +}; + +class QOffsetVectorDevice; + +template +class QOffsetVector { + typedef QOffsetVectorTypedData Data; + union { QOffsetVectorData *p; QOffsetVectorTypedData *d; }; +public: + explicit QOffsetVector(int capacity = 0); + QOffsetVector(const QOffsetVector &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } + + inline ~QOffsetVector() { if (!d) return; if (!d->ref.deref()) free(d); } + + inline void detach() { if (d->ref != 1) detach_helper(); } + inline bool isDetached() const { return d->ref == 1; } + inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } + + QOffsetVector &operator=(const QOffsetVector &other); + bool operator==(const QOffsetVector &other) const; + inline bool operator!=(const QOffsetVector &other) const { return !(*this == other); } + + inline int capacity() const {return d->alloc; } + inline int count() const { return d->count; } + inline int size() const { return d->count; } + + inline bool isEmpty() const { return d->count == 0; } + inline bool isFull() const { return d->count == d->alloc; } + inline int available() const { return d->alloc - d->count; } + + void clear(); + void setCapacity(int size); + + const T &at(int pos) const; + T &operator[](int i); + const T &operator[](int i) const; + + void append(const T &value); + void prepend(const T &value); + void insert(int pos, const T &value); + + inline bool containsIndex(int pos) const { return pos >= d->offset && pos - d->offset < d->count; } + inline int firstIndex() const { return d->offset; } + inline int lastIndex() const { return d->offset + d->count - 1; } + + inline const T &first() const { Q_ASSERT(!isEmpty()); return d->array[d->start]; } + inline const T &last() const { Q_ASSERT(!isEmpty()); return d->array[(d->start + d->count -1) % d->alloc]; } + inline T &first() { Q_ASSERT(!isEmpty()); detach(); return d->array[d->start]; } + inline T &last() { Q_ASSERT(!isEmpty()); detach(); return d->array[(d->start + d->count -1) % d->alloc]; } + + void removeFirst(); + T takeFirst(); + void removeLast(); + T takeLast(); + + // debug + void dump() const { p->dump(); } +private: + void detach_helper(); + + QOffsetVectorData *malloc(int alloc); + void free(Data *d); + int sizeOfTypedData() { + // this is more or less the same as sizeof(Data), except that it doesn't + // count the padding at the end + return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); + } +}; + +template +void QOffsetVector::detach_helper() +{ + union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; + + x.p = malloc(d->alloc); + x.d->ref = 1; + x.d->count = d->count; + x.d->start = d->start; + x.d->offset = d->offset; + x.d->alloc = d->alloc; + x.d->sharable = true; + + T *dest = x.d->array + x.d->start; + T *src = d->array + d->start; + int count = x.d->count; + while (count--) { + if (QTypeInfo::isComplex) { + new (dest) T(*src); + } else { + *dest = *src; + } + dest++; + if (dest == x.d->array + x.d->alloc) + dest = x.d->array; + src++; + if (src == d->array + d->alloc) + src = d->array; + } + + if (!d->ref.deref()) + free(d); + d = x.d; +} + +template +void QOffsetVector::setCapacity(int asize) +{ + if (asize == d->alloc) + return; + detach(); + union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; + x.p = malloc(asize); + x.d->alloc = asize; + x.d->count = qMin(d->count, asize); + x.d->offset = d->offset + d->count - x.d->count; + x.d->start = x.d->offset % x.d->alloc; + /* deep copy - + slow way now, get unit test working, then + improve performance if need be. (e.g. memcpy) + */ + T *dest = x.d->array + (x.d->start + x.d->count-1) % x.d->alloc; + T *src = d->array + (d->start + d->count-1) % d->alloc; + int count = x.d->count; + while (count--) { + if (QTypeInfo::isComplex) { + new (dest) T(*src); + } else { + *dest = *src; + } + if (dest == x.d->array) + dest = x.d->array + x.d->alloc; + dest--; + if (src == d->array) + src = d->array + d->alloc; + src--; + } + /* free old */ + free(d); + d = x.d; +} + +template +void QOffsetVector::clear() +{ + if (d->ref == 1) { + if (QTypeInfo::isComplex) { + int count = d->count; + T * i = d->array + d->start; + T * e = d->array + d->alloc; + while (count--) { + i->~T(); + i++; + if (i == e) + i = d->array; + } + } + d->count = d->start = d->offset = 0; + } else { + union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; + x.p = malloc(d->alloc); + x.d->ref = 1; + x.d->alloc = d->alloc; + x.d->count = x.d->start = x.d->offset = 0; + x.d->sharable = true; + if (!d->ref.deref()) free(d); + d = x.d; + } +} + +template +inline QOffsetVectorData *QOffsetVector::malloc(int aalloc) +{ + return static_cast(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T))); +} + +template +QOffsetVector::QOffsetVector(int asize) +{ + p = malloc(asize); + d->ref = 1; + d->alloc = asize; + d->count = d->start = d->offset = 0; + d->sharable = true; +} + +template +QOffsetVector &QOffsetVector::operator=(const QOffsetVector &other) +{ + other.d->ref.ref(); + if (!d->ref.deref()) + free(d); + d = other.d; + if (!d->sharable) + detach_helper(); + return *this; +} + +template +bool QOffsetVector::operator==(const QOffsetVector &other) const +{ + if (other.d == d) + return true; + if (other.d->start != d->start + || other.d->count != d->count + || other.d->offset != d->offset + || other.d->alloc != d->alloc) + return false; + for (int i = firstIndex(); i <= lastIndex(); ++i) + if (!(at(i) == other.at(i))) + return false; + return true; +} + +template +void QOffsetVector::free(Data *x) +{ + if (QTypeInfo::isComplex) { + int count = d->count; + T * i = d->array + d->start; + T * e = d->array + d->alloc; + while (count--) { + i->~T(); + i++; + if (i == e) + i = d->array; + } + } + qFree(x); +} + +template +void QOffsetVector::append(const T &value) +{ + detach(); + if (QTypeInfo::isComplex) { + if (d->count == d->alloc) + (d->array + (d->start+d->count) % d->alloc)->~T(); + new (d->array + (d->start+d->count) % d->alloc) T(value); + } else { + d->array[(d->start+d->count) % d->alloc] = value; + } + + if (d->count == d->alloc) { + d->start++; + d->start %= d->alloc; + d->offset++; + } else { + d->count++; + } +} + +template +void QOffsetVector::prepend(const T &value) +{ + detach(); + if (d->start) + d->start--; + else + d->start = d->alloc-1; + d->offset--; + + if (d->count != d->alloc) + d->count++; + else + if (d->count == d->alloc) + (d->array + d->start)->~T(); + + if (QTypeInfo::isComplex) + new (d->array + d->start) T(value); + else + d->array[d->start] = value; +} + +template +void QOffsetVector::insert(int pos, const T &value) +{ + detach(); + if (containsIndex(pos)) { + if(QTypeInfo::isComplex) + new (d->array + pos % d->alloc) T(value); + else + d->array[pos % d->alloc] = value; + } else if (pos == d->offset-1) + prepend(value); + else if (pos == d->offset+d->count) + append(value); + else { + // we don't leave gaps. + clear(); + d->offset = d->start = pos; + d->start %= d->alloc; + d->count = 1; + if (QTypeInfo::isComplex) + new (d->array + d->start) T(value); + else + d->array[d->start] = value; + } +} + +template +inline const T &QOffsetVector::at(int pos) const +{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QOffsetVector::at", "index out of range"); return d->array[pos % d->alloc]; } +template +inline const T &QOffsetVector::operator[](int pos) const +{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QOffsetVector::at", "index out of range"); return d->array[pos % d->alloc]; } +template + +// can use the non-inline one to modify the index range. +inline T &QOffsetVector::operator[](int pos) +{ + detach(); + if (!containsIndex(pos)) + insert(pos, T()); + return d->array[pos % d->alloc]; +} + +template +inline void QOffsetVector::removeFirst() +{ + Q_ASSERT(d->count > 0); + detach(); + d->count--; + if (QTypeInfo::isComplex) + (d->array + d->start)->~T(); + d->start = (d->start + 1) % d->alloc; + d->offset++; +} + +template +inline void QOffsetVector::removeLast() +{ + Q_ASSERT(d->count > 0); + detach(); + d->count--; + if (QTypeInfo::isComplex) + (d->array + (d->start + d->count) % d->alloc)->~T(); +} + +template +inline T QOffsetVector::takeFirst() +{ T t = first(); removeFirst(); return t; } + +template +inline T QOffsetVector::takeLast() +{ T t = last(); removeLast(); return t; } + +#endif diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index e5bf7e4..626c9e5 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -19,6 +19,7 @@ HEADERS += \ tools/qlocale_p.h \ tools/qlocale_data_p.h \ tools/qmap.h \ + tools/qoffsetvector.h \ tools/qpodlist_p.h \ tools/qpoint.h \ tools/qqueue.h \ @@ -53,6 +54,7 @@ SOURCES += \ tools/qlocale.cpp \ tools/qpoint.cpp \ tools/qmap.cpp \ + tools/qoffsetvector.cpp \ tools/qrect.cpp \ tools/qregexp.cpp \ tools/qshareddata.cpp \ diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 19f6b43..5d71e79 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -209,6 +209,7 @@ SUBDIRS += bic \ qnumeric \ qobject \ qobjectrace \ + qoffsetvector \ qpaintengine \ qpainter \ qpainterpath \ diff --git a/tests/auto/qoffsetvector/qoffsetvector.pro b/tests/auto/qoffsetvector/qoffsetvector.pro new file mode 100644 index 0000000..0b801f3 --- /dev/null +++ b/tests/auto/qoffsetvector/qoffsetvector.pro @@ -0,0 +1,8 @@ +load(qttest_p4) + +QT = core + +SOURCES += tst_qoffsetvector.cpp + + + diff --git a/tests/auto/qoffsetvector/tst_qoffsetvector.cpp b/tests/auto/qoffsetvector/tst_qoffsetvector.cpp new file mode 100644 index 0000000..439ea2c --- /dev/null +++ b/tests/auto/qoffsetvector/tst_qoffsetvector.cpp @@ -0,0 +1,361 @@ +/**************************************************************************** +** +** This file is part of the $PACKAGE_NAME$. +** +** Copyright (C) $THISYEAR$ $COMPANY_NAME$. +** +** $QT_EXTENDED_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include +#include + + +#if defined(FORCE_UREF) +template +inline QDebug &operator<<(QDebug debug, const QOffsetVector &offsetVector) +#else +template +inline QDebug operator<<(QDebug debug, const QOffsetVector &offsetVector) +#endif +{ + debug.nospace() << "QOffsetVector("; + for (int i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { + debug << offsetVector[i]; + if (i != offsetVector.lastIndex()) + debug << ", "; + } + debug << ")"; + return debug.space(); +} + +#if defined(NO_BENCHMARK) and defined(QBENCHMARK) +#undef QBENCHMARK +#define QBENCHMARK +#endif + +class tst_QOffsetVector : public QObject +{ + Q_OBJECT +public: + tst_QOffsetVector() {} + virtual ~tst_QOffsetVector() {} +private slots: + void empty(); + void forwardBuffer(); + void scrollingList(); + + void complexType(); + + void operatorAt(); + + void cacheBenchmark(); + void offsetVectorBenchmark(); + + void setCapacity(); +}; + +QTEST_MAIN(tst_QOffsetVector) + +void tst_QOffsetVector::empty() +{ + QOffsetVector c(10); + QCOMPARE(c.capacity(), 10); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + c.append(1); + QVERIFY(!c.isEmpty()); + c.clear(); + QCOMPARE(c.capacity(), 10); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + c.prepend(1); + QVERIFY(!c.isEmpty()); + c.clear(); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + QCOMPARE(c.capacity(), 10); +} + +void tst_QOffsetVector::forwardBuffer() +{ + int i; + QOffsetVector c(10); + for(i = 1; i < 30; ++i) { + c.append(i); + QCOMPARE(c.first(), qMax(1, i-9)); + QCOMPARE(c.last(), i); + QCOMPARE(c.count(), qMin(i, 10)); + } + + c.clear(); + + for(i = 1; i < 30; ++i) { + c.prepend(i); + QCOMPARE(c.last(), qMax(1, i-9)); + QCOMPARE(c.first(), i); + QCOMPARE(c.count(), qMin(i, 10)); + } +} + +void tst_QOffsetVector::scrollingList() +{ + int i; + QOffsetVector c(10); + + // Once allocated QOffsetVector should not + // allocate any additional memory for non + // complex data types. + QBENCHMARK { + // simulate scrolling in a list of items; + for(i = 0; i < 10; ++i) + c.append(i); + + QCOMPARE(c.firstIndex(), 0); + QCOMPARE(c.lastIndex(), 9); + QVERIFY(c.containsIndex(0)); + QVERIFY(c.containsIndex(9)); + QVERIFY(!c.containsIndex(10)); + + for (i = 0; i < 10; ++i) + QCOMPARE(c.at(i), i); + + for (i = 10; i < 30; ++i) + c.append(i); + + QCOMPARE(c.firstIndex(), 20); + QCOMPARE(c.lastIndex(), 29); + QVERIFY(c.containsIndex(20)); + QVERIFY(c.containsIndex(29)); + QVERIFY(!c.containsIndex(30)); + + for (i = 20; i < 30; ++i) + QCOMPARE(c.at(i), i); + + for (i = 19; i >= 10; --i) + c.prepend(i); + + QCOMPARE(c.firstIndex(), 10); + QCOMPARE(c.lastIndex(), 19); + QVERIFY(c.containsIndex(10)); + QVERIFY(c.containsIndex(19)); + QVERIFY(!c.containsIndex(20)); + + for (i = 10; i < 20; ++i) + QCOMPARE(c.at(i), i); + + for (i = 200; i < 220; ++i) + c.insert(i, i); + + QCOMPARE(c.firstIndex(), 210); + QCOMPARE(c.lastIndex(), 219); + QVERIFY(c.containsIndex(210)); + QVERIFY(c.containsIndex(219)); + QVERIFY(!c.containsIndex(300)); + QVERIFY(!c.containsIndex(209)); + + for (i = 220; i < 220; ++i) { + QVERIFY(c.containsIndex(i)); + QCOMPARE(c.at(i), i); + } + c.clear(); // needed to reset benchmark + } + + // from a specific bug that was encountered. 100 to 299 cached, attempted to cache 250 - 205 via insert, failed. + // bug was that item at 150 would instead be item that should have been inserted at 250 + c.setCapacity(200); + for(i = 100; i < 300; ++i) + c.insert(i, i); + for (i = 250; i <= 306; ++i) + c.insert(i, 1000+i); + for (i = 107; i <= 306; ++i) { + QVERIFY(c.containsIndex(i)); + QCOMPARE(c.at(i), i < 250 ? i : 1000+i); + } +} + +struct RefCountingClassData +{ + QBasicAtomicInt ref; + static RefCountingClassData shared_null; +}; + +RefCountingClassData RefCountingClassData::shared_null = { + Q_BASIC_ATOMIC_INITIALIZER(1) +}; + +class RefCountingClass +{ +public: + RefCountingClass() : d(&RefCountingClassData::shared_null) { d->ref.ref(); } + + RefCountingClass(const RefCountingClass &other) + { + d = other.d; + d->ref.ref(); + } + + ~RefCountingClass() + { + if (!d->ref.deref()) + delete d; + } + + RefCountingClass &operator=(const RefCountingClass &other) + { + if (!d->ref.deref()) + delete d; + d = other.d; + d->ref.ref(); + return *this; + } + + int refCount() const { return d->ref; } +private: + RefCountingClassData *d; +}; + +void tst_QOffsetVector::complexType() +{ + RefCountingClass original; + + QOffsetVector offsetVector(10); + offsetVector.append(original); + QCOMPARE(original.refCount(), 3); + offsetVector.removeFirst(); + QCOMPARE(original.refCount(), 2); // shared null, 'original'. + offsetVector.append(original); + QCOMPARE(original.refCount(), 3); + offsetVector.clear(); + QCOMPARE(original.refCount(), 2); + + for(int i = 0; i < 100; ++i) + offsetVector.insert(i, original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. + + offsetVector.clear(); + QCOMPARE(original.refCount(), 2); + for (int i = 0; i < 100; i++) + offsetVector.append(original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. + offsetVector.clear(); + QCOMPARE(original.refCount(), 2); + + for (int i = 0; i < 100; i++) + offsetVector.prepend(original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. + offsetVector.clear(); + QCOMPARE(original.refCount(), 2); + + for (int i = 0; i < 100; i++) + offsetVector.append(original); + + offsetVector.takeLast(); + QCOMPARE(original.refCount(), 11); + + offsetVector.takeFirst(); + QCOMPARE(original.refCount(), 10); +} + +void tst_QOffsetVector::operatorAt() +{ + RefCountingClass original; + QOffsetVector offsetVector(10); + + for (int i = 25; i < 35; ++i) + offsetVector[i] = original; + + QCOMPARE(original.refCount(), 12); // shared null, orig, items in vector + + // verify const access does not copy items. + const QOffsetVector copy(offsetVector); + for (int i = 25; i < 35; ++i) + QCOMPARE(copy[i].refCount(), 12); + + // verify modifying the original increments ref count (e.g. does a detach) + offsetVector[25] = original; + QCOMPARE(original.refCount(), 22); +} + +/* + Benchmarks must be near identical in tasks to be fair. + QCache uses pointers to ints as its a requirement of QCache, + whereas QOffsetVector doesn't support pointers (won't free them). + Given the ability to use simple data types is a benefit, its + fair. Although this obviously must take into account we are + testing QOffsetVector use cases here, QCache has its own + areas where it is the more sensible class to use. +*/ +void tst_QOffsetVector::cacheBenchmark() +{ + QBENCHMARK { + QCache cache; + cache.setMaxCost(100); + + for (int i = 0; i < 1000; i++) + cache.insert(i, new int(i)); + } +} + +void tst_QOffsetVector::offsetVectorBenchmark() +{ + QBENCHMARK { + QOffsetVector offsetVector(100); + for (int i = 0; i < 1000; i++) + offsetVector.insert(i, i); + } +} + +void tst_QOffsetVector::setCapacity() +{ + int i; + QOffsetVector offsetVector(100); + for (i = 280; i < 310; ++i) + offsetVector.insert(i, i); + QCOMPARE(offsetVector.capacity(), 100); + QCOMPARE(offsetVector.count(), 30); + QCOMPARE(offsetVector.firstIndex(), 280); + QCOMPARE(offsetVector.lastIndex(), 309); + + for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { + QVERIFY(offsetVector.containsIndex(i)); + QCOMPARE(offsetVector.at(i), i); + } + + offsetVector.setCapacity(150); + + QCOMPARE(offsetVector.capacity(), 150); + QCOMPARE(offsetVector.count(), 30); + QCOMPARE(offsetVector.firstIndex(), 280); + QCOMPARE(offsetVector.lastIndex(), 309); + + for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { + QVERIFY(offsetVector.containsIndex(i)); + QCOMPARE(offsetVector.at(i), i); + } + + offsetVector.setCapacity(20); + + QCOMPARE(offsetVector.capacity(), 20); + QCOMPARE(offsetVector.count(), 20); + QCOMPARE(offsetVector.firstIndex(), 290); + QCOMPARE(offsetVector.lastIndex(), 309); + + for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { + QVERIFY(offsetVector.containsIndex(i)); + QCOMPARE(offsetVector.at(i), i); + } +} + +#include "tst_qoffsetvector.moc" -- cgit v0.12 From 58cbec72215d795948f7ed06cd9e6f199776806b Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 27 Mar 2009 12:22:04 +1000 Subject: Bug in QGLShaderProgram::addShader() that stopped partial shaders working. --- src/opengl/qglshaderprogram.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 934b5a5..3c19434 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -849,13 +849,16 @@ bool QGLShaderProgram::addShader(QGLShader *shader) return false; if (d->shaders.contains(shader)) return true; // Already added to this shader program. - if (d->program && shader && shader->d->shader) { + if (d->program && shader) { if (!shader->d->compiled) return false; - if (!shader->d->isPartial) + if (!shader->d->isPartial) { + if (!shader->d->shader) + return false; glAttachShader(d->program, shader->d->shader); - else + } else { d->hasPartialShaders = true; + } d->linked = false; // Program needs to be relinked. d->shaders.append(shader); return true; -- cgit v0.12 From 96e13b0411ed3f4ef8753edafc41503fc9aceb0f Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 27 Mar 2009 12:34:48 +1000 Subject: Fix loading of partial shaders from files. --- src/opengl/qglshaderprogram.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 3c19434..5738acd 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -573,9 +573,6 @@ bool QGLShader::setSourceCode(const QString& source) */ bool QGLShader::setSourceCodeFile(const QString& fileName) { - if (!d->shader) - return false; - QFile file(fileName); if (!file.open(QFile::ReadOnly)) { qWarning() << "QGLShader: Unable to open file" << fileName; -- cgit v0.12 From 16488d6e1073ce311c173d78c16be8da1f57f94e Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 30 Mar 2009 16:44:55 +0200 Subject: Doc: Synchronized the QTransform constructor arguments with the class documentation and updated a diagram. Task-number: 228201 Reviewed-by: TrustMe --- doc/src/diagrams/qtransform-representation.sk | 103 ++++++++++++++++++++++++++ src/gui/painting/qtransform.cpp | 19 +++-- 2 files changed, 114 insertions(+), 8 deletions(-) create mode 100644 doc/src/diagrams/qtransform-representation.sk diff --git a/doc/src/diagrams/qtransform-representation.sk b/doc/src/diagrams/qtransform-representation.sk new file mode 100644 index 0000000..17dcbfe --- /dev/null +++ b/doc/src/diagrams/qtransform-representation.sk @@ -0,0 +1,103 @@ +##Sketch 1 2 +document() +layout('A4',0) +layer('Layer 1',1,1,0,0,(0,0,0)) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,190,760) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,190,695) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,190,630) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,320,760) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,320,695) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,320,630) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,255,760) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,255,695) +lp((0,0,1)) +lw(2) +r(65,0,0,-65,255,630) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m33',(329.16,589.968)) +G() +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('dy',(274.828,577.768)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m32',(264.16,602.768)) +G_() +G() +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m31',(199.16,602.768)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('dx',(209.828,577.8)) +G_() +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m11',(199.16,719.968)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m12',(264.16,719.968)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m13',(329.16,719.968)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m21',(199.16,654.968)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m22',(264.16,654.968)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +Fs(24) +txt('m23',(329.16,654.968)) +guidelayer('Guide Lines',1,0,0,1,(0,0,1)) +grid((0,0,5,5),1,(0,0,1),'Grid') diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp index da8c428..c70208c 100644 --- a/src/gui/painting/qtransform.cpp +++ b/src/gui/painting/qtransform.cpp @@ -168,10 +168,10 @@ QT_BEGIN_NAMESPACE \image qtransform-representation.png - A QTransform object contains a 3 x 3 matrix. The \c dx and \c dy - elements specify horizontal and vertical translation. The \c m11 - and \c m22 elements specify horizontal and vertical scaling. The - \c m21 and \c m12 elements specify horizontal and vertical \e shearing. + A QTransform object contains a 3 x 3 matrix. The \c m31 (\c dx) and + \c m32 (\c dy) elements specify horizontal and vertical translation. + The \c m11 and \c m22 elements specify horizontal and vertical scaling. + The \c m21 and \c m12 elements specify horizontal and vertical \e shearing. And finally, the \c m13 and \c m23 elements specify horizontal and vertical projection, with \c m33 as an additional projection factor. @@ -246,8 +246,10 @@ QTransform::QTransform() } /*! - Constructs a matrix with the elements, \a h11, \a h12, \a h13, - \a h21, \a h22, \a h23, \a h31, \a h32, \a h33. + \fn QTransform::QTransform(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33) + + Constructs a matrix with the elements, \a m11, \a m12, \a m13, + \a m21, \a m22, \a m23, \a m31, \a m32, \a m33. \sa setMatrix() */ @@ -263,8 +265,9 @@ QTransform::QTransform(qreal h11, qreal h12, qreal h13, } /*! - Constructs a matrix with the elements, \a h11, \a h12, \a h21, \a - h22, \a dx and \a dy. + \fn QTransform::QTransform(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy) + + Constructs a matrix with the elements, \a m11, \a m12, \a m21, \a m22, \a dx and \a dy. \sa setMatrix() */ -- cgit v0.12 From 1e2fdb56ce6025b34b88b1da1386f8c79464b412 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 30 Mar 2009 16:48:26 +0200 Subject: Doc: Synchronized the QTransform constructor arguments with the class documentation and updated a diagram. Task-number: 228201 Reviewed-by: TrustMe --- doc/src/images/qtransform-representation.png | Bin 17892 -> 17385 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/src/images/qtransform-representation.png b/doc/src/images/qtransform-representation.png index 2608872..883d5dc 100644 Binary files a/doc/src/images/qtransform-representation.png and b/doc/src/images/qtransform-representation.png differ -- cgit v0.12 From 87f1ea14ae7e245dd7589b1d992f67b0058ae1b5 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 30 Mar 2009 17:03:01 +0200 Subject: Doc: Fixed typo. Reviewed-by: TrustMe --- src/corelib/kernel/qmetatype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 4d7d309..ce10bae 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1255,7 +1255,7 @@ void QMetaType::destroy(int type, void *data) \relates QMetaType \threadsafe - Registers the type name \a typeName to the type \c{T}. Returns + Registers the type name \a typeName for the type \c{T}. Returns the internal ID used by QMetaType. Any class or struct that has a public default constructor, a public copy constructor and a public destructor can be registered. -- cgit v0.12 From 577853b93dd4cf848abbd95abfed7e5a9d48688b Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 30 Mar 2009 18:11:04 +0200 Subject: Doc: Added a code snippet to illustrate the opening of local files. Task-number: 223087 Reviewed-by: TrustMe --- doc/src/snippets/code/src_gui_util_qdesktopservices.cpp | 5 ++++- src/gui/util/qdesktopservices.cpp | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/src/snippets/code/src_gui_util_qdesktopservices.cpp b/doc/src/snippets/code/src_gui_util_qdesktopservices.cpp index a9c630b..5001984 100644 --- a/doc/src/snippets/code/src_gui_util_qdesktopservices.cpp +++ b/doc/src/snippets/code/src_gui_util_qdesktopservices.cpp @@ -11,7 +11,10 @@ public slots: QDesktopServices::setUrlHandler("help", helpInstance, "showHelp"); //! [0] - //! [1] mailto:user@foo.com?subject=Test&body=Just a test //! [1] + +//! [2] +QDesktopServices::openUrl(QUrl("file:///C:/Documents and Settings/All Users/Desktop", QUrl::TolerantMode)); +//! [2] diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp index 0fe1d69..84aa16e 100644 --- a/src/gui/util/qdesktopservices.cpp +++ b/src/gui/util/qdesktopservices.cpp @@ -157,6 +157,11 @@ void QOpenUrlHandlerRegistry::handlerDestroyed(QObject *handler) If the URL is a reference to a local file (i.e., the URL scheme is "file") then it will be opened with a suitable application instead of a Web browser. + The following example opens a file on the Windows file system residing on a path + that contains spaces: + + \snippet doc/src/snippets/code/src_gui_util_qdesktopservices.cpp 2 + If a \c mailto URL is specified, the user's e-mail client will be used to open a composer window containing the options specified in the URL, similar to the way \c mailto links are handled by a Web browser. -- cgit v0.12 From 22ee1110301b228bbcbe9d39a9bcebe9ab4cdad0 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 31 Mar 2009 14:55:33 +0200 Subject: Doc: Removed a reference to a deprecated function. Reported by a former Doc Manager. Reviewed-by: TrustMe --- src/gui/dialogs/qcolordialog.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/dialogs/qcolordialog.cpp b/src/gui/dialogs/qcolordialog.cpp index b744dca..3aa04f6 100644 --- a/src/gui/dialogs/qcolordialog.cpp +++ b/src/gui/dialogs/qcolordialog.cpp @@ -1523,10 +1523,10 @@ static const Qt::WindowFlags DefaultWindowFlags = If you require a modeless dialog, use the QColorDialog constructor. \endomit - The static getColor() function shows the dialog, and allows the - user to specify a color. The getRgba() function does the same, but - also allows the user to specify a color with an alpha channel - (transparency) value. + The static getColor() function shows the dialog, and allows the user to + specify a color. This function can also be used to let users choose a + color with a level of transparency: pass the ShowAlphaChannel option as + an additional argument. The user can store customCount() different custom colors. The custom colors are shared by all color dialogs, and remembered -- cgit v0.12 From 94c3e15e0fd04a178c319c2bc151b492a46380ee Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 31 Mar 2009 16:53:36 +0200 Subject: Doc: Clarified that the main use case for QRegion is as a clipping primitive not as a rendering primitive. Task-number: 183493 Reviewed-by: TrustMe --- src/gui/painting/qregion.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index 8169ef8..c88af7c 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -65,9 +65,17 @@ QT_BEGIN_NAMESPACE \ingroup shared QRegion is used with QPainter::setClipRegion() to limit the paint - area to what needs to be painted. There is also a - QWidget::repaint() function that takes a QRegion parameter. - QRegion is the best tool for reducing flicker. + area to what needs to be painted. There is also a QWidget::repaint() + function that takes a QRegion parameter. QRegion is the best tool for + minimizing the amount of screen area to be updated by a repaint. + + This class is not suitable for constructing shapes for rendering, especially + as outlines. Use QPainterPath to create paths and shapes for use with + QPainter. + + QRegion is an \l{implicitly shared} class. + + \section1 Creating and Using Regions A region can be created from a rectangle, an ellipse, a polygon or a bitmap. Complex regions may be created by combining simple @@ -84,8 +92,6 @@ QT_BEGIN_NAMESPACE Example of using complex regions: \snippet doc/src/snippets/code/src_gui_painting_qregion.cpp 0 - QRegion is an \l{implicitly shared} class. - \warning Due to window system limitations, the whole coordinate space for a region is limited to the points between -32767 and 32767 on Windows 95/98/ME. You can circumvent this limitation by using a QPainterPath. @@ -93,7 +99,7 @@ QT_BEGIN_NAMESPACE \section1 Additional License Information On Embedded Linux, Windows CE and X11 platforms, parts of this class rely on - code obtained under the following license: + code obtained under the following licenses: \legalese Copyright (c) 1987 X Consortium @@ -120,9 +126,7 @@ QT_BEGIN_NAMESPACE in this Software without prior written authorization from the X Consortium. \endlegalese - \raw HTML -
- \endraw + \br \legalese Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. -- cgit v0.12 From cf4d9e09afc72dfb474b497a95c872965335e341 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 31 Mar 2009 17:35:33 +0200 Subject: Doc: Noted the difference between the qLowerBound() functions. Task-number: 160621 Reviewed-by: TrustMe --- doc/src/qalgorithms.qdoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/src/qalgorithms.qdoc b/doc/src/qalgorithms.qdoc index 459fb81..b33c250 100644 --- a/doc/src/qalgorithms.qdoc +++ b/doc/src/qalgorithms.qdoc @@ -490,7 +490,10 @@ of \a value in the variable passed as a reference in argument \a n. \overload - This is the same as qLowerBound(\a{container}.begin(), \a{container}.end(), value); + For read-only iteration over containers, this function is broadly equivalent to + qLowerBound(\a{container}.begin(), \a{container}.end(), value). However, since it + returns a const iterator, you cannot use it to modify the container; for example, + to insert items. */ /*! \fn RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) -- cgit v0.12 From 93ca19a8ff7570606b4c01cfb9953921f897aa6e Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 31 Mar 2009 17:38:40 +0200 Subject: Doc: Made it clearer that QProcess::start() only starts a new process if one is not already running. Task-number: 231513 Reviewed-by: TrustMe --- src/corelib/io/qprocess.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index a9d8ee2..18618fc 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -1476,11 +1476,15 @@ QByteArray QProcess::readAllStandardError() } /*! - Starts the program \a program in a new process, passing the - command line arguments in \a arguments. The OpenMode is set to \a - mode. QProcess will immediately enter the Starting state. If the - process starts successfully, QProcess will emit started(); - otherwise, error() will be emitted. + Starts the program \a program in a new process, if one is not already + running, passing the command line arguments in \a arguments. The OpenMode + is set to \a mode. + + The QProcess object will immediately enter the Starting state. If the + process starts successfully, QProcess will emit started(); otherwise, + error() will be emitted. If the QProcess object is already running a + process, a warning may be printed at the console, and the existing + process will continue running. Note that arguments that contain spaces are not passed to the process as separate arguments. @@ -1577,10 +1581,10 @@ static QStringList parseCombinedArgString(const QString &program) /*! \overload - Starts the program \a program in a new process. \a program is a - single string of text containing both the program name and its - arguments. The arguments are separated by one or more - spaces. For example: + Starts the program \a program in a new process, if one is not already + running. \a program is a single string of text containing both the + program name and its arguments. The arguments are separated by one or + more spaces. For example: \snippet doc/src/snippets/code/src_corelib_io_qprocess.cpp 5 @@ -1589,6 +1593,9 @@ static QStringList parseCombinedArgString(const QString &program) \snippet doc/src/snippets/code/src_corelib_io_qprocess.cpp 6 + If the QProcess object is already running a process, a warning may be + printed at the console, and the existing process will continue running. + Note that, on Windows, quotes need to be both escaped and quoted. For example, the above code would be specified in the following way to ensure that \c{"My Documents"} is used as the argument to -- cgit v0.12 From 65c16391fff38e28e4a9db215758b1df6c868a32 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 31 Mar 2009 19:53:21 +0200 Subject: Doc: Fixed the screenshots and example description to match the code. Task-number: 242369 Reviewed-by: TrustMe --- doc/src/examples/extension.qdoc | 11 +++++------ doc/src/images/extension-example.png | Bin 7676 -> 9929 bytes doc/src/images/extension_more.png | Bin 9309 -> 13523 bytes 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/src/examples/extension.qdoc b/doc/src/examples/extension.qdoc index 8a0ca3a..02e0698 100644 --- a/doc/src/examples/extension.qdoc +++ b/doc/src/examples/extension.qdoc @@ -80,9 +80,9 @@ user type a word to search for, we need several \l {QCheckBox}{QCheckBox}es to facilitate the search options, and we need three \l {QPushButton}{QPushButton}s: the \gui Find button to - start a search, the \gui More button to enable an advanced search, - and the \gui Close button to exit the application. Finally, we - need a QWidget representing the application's extension part. + start a search and the \gui More button to enable an advanced search. + Finally, we need a QWidget representing the application's extension + part. \section1 FindDialog Class Implementation @@ -128,8 +128,7 @@ the connection makes sure that the extension widget is shown depending on the state of \gui More button. - We also connect the \gui Close button to the QWidget::close() - slot, and we put the checkboxes associated with the advanced + We also put the check boxes associated with the advanced search options into a layout we install on the extension widget. \snippet examples/dialogs/extension/finddialog.cpp 4 @@ -137,7 +136,7 @@ Before we create the main layout, we create several child layouts for the widgets: First we allign the QLabel ans its buddy, the QLineEdit, using a QHBoxLayout. Then we vertically allign the - QLabel and QLineEdit with the checkboxes associated with the + QLabel and QLineEdit with the check boxes associated with the simple search, using a QVBoxLayout. We also create a QVBoxLayout for the buttons. In the end we lay out the two latter layouts and the extension widget using a QGridLayout. diff --git a/doc/src/images/extension-example.png b/doc/src/images/extension-example.png index dfaacc0..18fab52 100644 Binary files a/doc/src/images/extension-example.png and b/doc/src/images/extension-example.png differ diff --git a/doc/src/images/extension_more.png b/doc/src/images/extension_more.png index 2b06809..407af27 100644 Binary files a/doc/src/images/extension_more.png and b/doc/src/images/extension_more.png differ -- cgit v0.12 From e8f91c93de3599309d8fe11fd94318bfdc51d36c Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Thu, 12 Feb 2009 15:59:43 +0100 Subject: Merge branch 'gl2text' of ..\qt-main --- src/opengl/gl2paintengineex/qglshader.cpp | 16 ++- src/opengl/gl2paintengineex/qglshader_p.h | 1 + .../gl2paintengineex/qpaintengineex_opengl2.cpp | 6 ++ src/opengl/opengl.pro | 12 +-- src/opengl/qgl.cpp | 25 ++++- src/opengl/qglextensions.cpp | 21 +++- src/opengl/qglextensions_p.h | 111 ++++++++++++++++++++- src/opengl/qglframebufferobject.cpp | 8 +- src/opengl/qglpixelbuffer.cpp | 10 +- src/opengl/qglpixmapfilter.cpp | 20 ++-- src/opengl/qwindowsurface_gl.cpp | 8 +- 11 files changed, 207 insertions(+), 31 deletions(-) diff --git a/src/opengl/gl2paintengineex/qglshader.cpp b/src/opengl/gl2paintengineex/qglshader.cpp index 634be84..4ac6e61 100644 --- a/src/opengl/gl2paintengineex/qglshader.cpp +++ b/src/opengl/gl2paintengineex/qglshader.cpp @@ -49,7 +49,11 @@ return false; \ ctx->makeCurrent(); \ - +#if !defined(QT_OPENGL_ES_2) +static const char *qglslDefines = "#define lowp\n#define mediump\n#define highp\n"; +#else +static const char *qglslDefines = ""; +#endif class QGLShaderPrivate @@ -131,9 +135,13 @@ bool QGLShader::compile() return false; const QByteArray src_ba = d->source.toAscii(); - const char* src = src_ba.constData(); + const char* src[2]; + src[0] = qglslDefines; + src[1] = src_ba.constData(); + - glShaderSource(d->shaderId, 1, &src, 0); + QGLContext *ctx = d->ctx; + glShaderSource(d->shaderId, 2, src, 0); glCompileShader(d->shaderId); @@ -160,6 +168,7 @@ QString QGLShader::log() GLint logSize; GLint logLength; + QGLContext *ctx = d->ctx; glGetShaderiv(d->shaderId, GL_INFO_LOG_LENGTH, &logSize); if (!logSize) @@ -377,6 +386,7 @@ void QGLShaderProgram::use() if (!d->valid) return; + QGLContext *ctx = d->ctx; glUseProgram(d->programId); } diff --git a/src/opengl/gl2paintengineex/qglshader_p.h b/src/opengl/gl2paintengineex/qglshader_p.h index 1625b84..4cbf3f6 100644 --- a/src/opengl/gl2paintengineex/qglshader_p.h +++ b/src/opengl/gl2paintengineex/qglshader_p.h @@ -81,6 +81,7 @@ SAMPLER_2D_SHADOW. #include +#include typedef struct { GLfloat a; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index a74f044..2948e62 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -845,6 +845,7 @@ void QGL2PaintEngineEx::transformChanged() void QGL2PaintEngineEx::drawPixmap(const QRectF& dest, const QPixmap & pixmap, const QRectF & src) { Q_D(QGL2PaintEngineEx); + QGLContext *ctx = d->ctx; glActiveTexture(QT_BRUSH_TEXTURE_UNIT); d->ctx->d_func()->bindTexture(pixmap, GL_TEXTURE_2D, GL_RGBA, true); @@ -862,6 +863,7 @@ void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const Qt::ImageConversionFlags) { Q_D(QGL2PaintEngineEx); + QGLContext *ctx = d->ctx; glActiveTexture(QT_BRUSH_TEXTURE_UNIT); d->ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); @@ -926,6 +928,7 @@ void QGL2PaintEngineEx::drawCachedGlyphs(const QPointF &p, const QTextItemInt &t const QImage &image = cache->image(); int margin = cache->glyphMargin(); + QGLContext *ctx = d->ctx; glActiveTexture(QT_BRUSH_TEXTURE_UNIT); d->ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); @@ -1000,6 +1003,9 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) d->width = widget->width(); d->height = widget->height(); + qt_resolve_version_1_3_functions(d->ctx); + qt_resolve_glsl_extensions(d->ctx); + if (!d->shaderManager) d->shaderManager = new QGLPEXShaderManager(d->ctx); diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 48d7caf..af16312 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -34,12 +34,12 @@ SOURCES += qgl.cpp \ qglextensions.cpp \ qglpixmapfilter.cpp -!contains(QT_CONFIG, opengles2) { - HEADERS += qpaintengine_opengl_p.h - SOURCES += qpaintengine_opengl.cpp -} +#!contains(QT_CONFIG, opengles2) { +# HEADERS += qpaintengine_opengl_p.h +# SOURCES += qpaintengine_opengl.cpp +#} -contains(QT_CONFIG, opengles2) { +#contains(QT_CONFIG, opengles2) { SOURCES += gl2paintengineex/qglgradientcache.cpp \ gl2paintengineex/qglpexshadermanager.cpp \ gl2paintengineex/qglshader.cpp \ @@ -51,7 +51,7 @@ contains(QT_CONFIG, opengles2) { gl2paintengineex/qglshader_p.h \ gl2paintengineex/qgl2pexvertexarray_p.h \ gl2paintengineex/qpaintengineex_opengl2_p.h -} +#} x11 { diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 4c152e2..386e9b8 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -65,7 +65,7 @@ #include "qimage.h" #include "qgl_p.h" -#if defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) #include "gl2paintengineex/qpaintengineex_opengl2_p.h" #else #include @@ -2041,7 +2041,24 @@ void QGLContext::deleteTexture(QMacCompatGLuint id) // qpaintengine_opengl.cpp #if !defined(QT_OPENGL_ES_2) -extern void qt_add_rect_to_array(const QRectF &r, q_vertexType *array); +//extern void qt_add_rect_to_array(const QRectF &r, q_vertexType *array); +void qt_add_rect_to_array(const QRectF &r, q_vertexType *array) +{ + qreal left = r.left(); + qreal right = r.right(); + qreal top = r.top(); + qreal bottom = r.bottom(); + + array[0] = f2vt(left); + array[1] = f2vt(top); + array[2] = f2vt(right); + array[3] = f2vt(top); + array[4] = f2vt(right); + array[5] = f2vt(bottom); + array[6] = f2vt(left); + array[7] = f2vt(bottom); +} + #else void qt_add_rect_to_array(const QRectF &r, q_vertexType *array) {}; #endif @@ -4039,14 +4056,14 @@ void QGLWidget::drawTexture(const QPointF &point, QMacCompatGLuint textureId, QM } #endif -#if defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_gl_engine) #else Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_gl_engine) #endif #ifdef Q_WS_QWS -Q_OPENGL_EXPORT QOpenGLPaintEngine* qt_qgl_paint_engine() +Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine() { #if !defined(QT_OPENGL_ES_2) return qt_gl_engine(); diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index 8357cf9..b054fe8 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -176,10 +176,29 @@ bool qt_resolve_glsl_extensions(QGLContext *ctx) glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fv")); glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1i")); + glGetActiveAttrib = (_glGetActiveAttrib) ctx->getProcAddress(QLatin1String("glGetActiveAttrib")); + glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocation")); + glGetActiveUniform = (_glGetActiveUniform) ctx->getProcAddress(QLatin1String("glGetActiveUniform")); + glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetProgramInfoLog")); + glUniform1f = (_glUniform1f) ctx->getProcAddress(QLatin1String("glUniform1f")); + glUniform2f = (_glUniform2f) ctx->getProcAddress(QLatin1String("glUniform2f")); + glUniform4f = (_glUniform4f) ctx->getProcAddress(QLatin1String("glUniform4f")); + glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fv")); + glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fv")); + glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fv")); + glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArray")); + glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArray")); + glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointer")); + glStencilOpSeparate = (_glStencilOpSeparate) ctx->getProcAddress(QLatin1String("glStencilOpSeparate")); + return glCreateShader && glShaderSource && glCompileShader && glDeleteProgram && glCreateProgram && glAttachShader && glDetachShader && glLinkProgram && glUseProgram && glDeleteProgram && glGetShaderInfoLog && glGetShaderiv && glGetProgramiv && glGetUniformLocation && - glUniform1i && glUniform1fv && glUniform2fv && glUniform3fv && glUniform4fv; + glUniform1i && glUniform1fv && glUniform2fv && glUniform3fv && glUniform4fv && + glGetActiveAttrib && glGetAttribLocation && glGetActiveUniform && glGetProgramInfoLog && + glUniform1f && glUniform2f && glUniform4f && + glUniformMatrix2fv && glUniformMatrix3fv && glUniformMatrix4fv && + glEnableVertexAttribArray && glDisableVertexAttribArray && glVertexAttribPointer && glStencilOpSeparate; } QT_END_NAMESPACE diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index a0517f5..fdf0bba 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -74,6 +74,10 @@ typedef ptrdiff_t GLsizeiptrARB; #endif +#ifndef GL_VERSION_2_0 +typedef char GLchar; +#endif + // ARB_pixel_buffer_object typedef void (APIENTRY *_glBindBufferARB) (GLenum, GLuint); typedef void (APIENTRY *_glDeleteBuffersARB) (GLsizei, const GLuint *); @@ -107,10 +111,10 @@ typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *); typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *); typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); -typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *); +typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, const GLfloat *); +typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, const GLfloat *); typedef void (APIENTRY *_glUniform1i) (GLint, GLint); typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); @@ -118,6 +122,22 @@ typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); typedef void (APIENTRY *_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); typedef void (APIENTRY *_glActiveTexture) (GLenum); +typedef void (APIENTRY *_glGetActiveAttrib) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef GLint (APIENTRY *_glGetAttribLocation) (GLuint program, const GLchar* name); +typedef void (APIENTRY *_glGetActiveUniform) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef void (APIENTRY *_glGetProgramInfoLog) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); +typedef void (APIENTRY *_glUniform1f) (GLint location, GLfloat v0); +typedef void (APIENTRY *_glUniform2f) (GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRY *_glUniform4f) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRY *_glUniformMatrix2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (APIENTRY *_glUniformMatrix3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (APIENTRY *_glUniformMatrix4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (APIENTRY *_glEnableVertexAttribArray) (GLuint); +typedef void (APIENTRY *_glDisableVertexAttribArray) (GLuint); +typedef void (APIENTRY *_glVertexAttribPointer) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer); +typedef void (APIENTRY *_glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); + + // EXT_GL_framebuffer_object typedef GLboolean (APIENTRY *_glIsRenderbufferEXT) (GLuint renderbuffer); typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum target, GLuint renderbuffer); @@ -207,6 +227,21 @@ struct QGLExtensionFuncs qt_glBufferDataARB = 0; qt_glMapBufferARB = 0; qt_glUnmapBufferARB = 0; + + qt_glGetActiveAttrib = 0; + qt_glGetAttribLocation = 0; + qt_glGetActiveUniform = 0; + qt_glGetProgramInfoLog = 0; + qt_glUniform1f = 0; + qt_glUniform2f = 0; + qt_glUniform4f = 0; + qt_glUniformMatrix2fv = 0; + qt_glUniformMatrix3fv = 0; + qt_glUniformMatrix4fv = 0; + qt_glEnableVertexAttribArray = 0; + qt_glDisableVertexAttribArray = 0; + qt_glVertexAttribPointer = 0; + qt_glStencilOpSeparate = 0; } _glProgramStringARB qt_glProgramStringARB; @@ -270,6 +305,21 @@ struct QGLExtensionFuncs _glBufferDataARB qt_glBufferDataARB; _glMapBufferARB qt_glMapBufferARB; _glUnmapBufferARB qt_glUnmapBufferARB; + + _glGetActiveAttrib qt_glGetActiveAttrib; + _glGetAttribLocation qt_glGetAttribLocation; + _glGetActiveUniform qt_glGetActiveUniform; + _glGetProgramInfoLog qt_glGetProgramInfoLog; + _glUniform1f qt_glUniform1f; + _glUniform2f qt_glUniform2f; + _glUniform4f qt_glUniform4f; + _glUniformMatrix2fv qt_glUniformMatrix2fv; + _glUniformMatrix3fv qt_glUniformMatrix3fv; + _glUniformMatrix4fv qt_glUniformMatrix4fv; + _glEnableVertexAttribArray qt_glEnableVertexAttribArray; + _glDisableVertexAttribArray qt_glDisableVertexAttribArray; + _glVertexAttribPointer qt_glVertexAttribPointer; + _glStencilOpSeparate qt_glStencilOpSeparate; }; @@ -416,6 +466,40 @@ struct QGLExtensionFuncs #define GL_UNPACK_IMAGE_HEIGHT 0x806E #endif +#ifndef GL_VERSION_1_4 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#endif + +#ifndef GL_VERSION_2_0 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#endif + #define glProgramStringARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glProgramStringARB #define glBindProgramARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindProgramARB #define glDeleteProgramsARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteProgramsARB @@ -502,6 +586,25 @@ struct QGLExtensionFuncs #define glUniform1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1fv #define glUniform1i QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1i +#define glGetActiveAttrib QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetActiveAttrib +#define glGetAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetAttribLocation +#define glGetActiveUniform QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetActiveUniform +#define glGetProgramInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramInfoLog +#define glUniform1f QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1f +#define glUniform2f QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform2f +#define glUniform4f QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform4f +#define glUniformMatrix2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2fv +#define glUniformMatrix3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3fv +#define glUniformMatrix4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4fv +#define glEnableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glEnableVertexAttribArray +#define glDisableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDisableVertexAttribArray +#define glVertexAttribPointer QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttribPointer +#define glStencilOpSeparate QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glStencilOpSeparate + +#if !defined(QT_OPENGL_ES_2) +#define glClearDepthf(x) glClearDepth(GLdouble(x)) +#endif + extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx); bool qt_resolve_buffer_extensions(QGLContext *ctx); diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 8524dfa..9134fc6 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -43,7 +43,11 @@ #include #include +#if 1 || defined(QT_OPENGL_ES_2) +#include +#else #include +#endif #include #include #include @@ -573,7 +577,9 @@ QImage QGLFramebufferObject::toImage() const return image; } -#if !defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) +Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_buffer_paintengine) +#else Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_buffer_paintengine) #endif diff --git a/src/opengl/qglpixelbuffer.cpp b/src/opengl/qglpixelbuffer.cpp index 5f74f26..6a207c8 100644 --- a/src/opengl/qglpixelbuffer.cpp +++ b/src/opengl/qglpixelbuffer.cpp @@ -81,13 +81,15 @@ #include #include -#if !defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) +#include +#else #include #endif QT_BEGIN_NAMESPACE -#if !defined(QT_OPENGL_ES_2) +#if 0 && !defined(QT_OPENGL_ES_2) extern void qgl_cleanup_glyph_cache(QGLContext *); #else void qgl_cleanup_glyph_cache(QGLContext *) {} @@ -363,7 +365,9 @@ bool QGLPixelBuffer::isValid() const return !d->invalid; } -#if !defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) +Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_buffer_paintengine) +#else Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_buffer_paintengine) #endif diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp index ff23948..8a64515 100644 --- a/src/opengl/qglpixmapfilter.cpp +++ b/src/opengl/qglpixmapfilter.cpp @@ -138,13 +138,6 @@ void QGLSLProgram::disable() glUseProgram(0); } -typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); -typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, GLfloat *); -typedef void (APIENTRY *_glUniform1i) (GLint, GLint); - int QGLSLProgram::getUniformLocation(const QString &name) { return glGetUniformLocation(m_program, name.toAscii().constData()); @@ -244,7 +237,18 @@ QPixmapFilter *QGLContextPrivate::createPixmapFilter(int type) const #if !defined(QT_OPENGL_ES_2) extern void qt_add_rect_to_array(const QRectF &r, q_vertexType *array); -extern void qt_add_texcoords_to_array(qreal x1, qreal y1, qreal x2, qreal y2, q_vertexType *array); +//extern void qt_add_texcoords_to_array(qreal x1, qreal y1, qreal x2, qreal y2, q_vertexType *array); +void qt_add_texcoords_to_array(qreal x1, qreal y1, qreal x2, qreal y2, q_vertexType *array) +{ + array[0] = f2vt(x1); + array[1] = f2vt(y1); + array[2] = f2vt(x2); + array[3] = f2vt(y1); + array[4] = f2vt(x2); + array[5] = f2vt(y2); + array[6] = f2vt(x1); + array[7] = f2vt(y2); +} #endif static void qgl_drawTexture(const QRectF &rect, int tx_width, int tx_height, const QRectF & src) diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 3dd3064..bb4ffc5 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -69,7 +69,11 @@ #include #include +#if 1 || defined(QT_OPENGL_ES_2) +#include +#else #include +#endif #ifndef GLX_ARB_multisample #define GLX_SAMPLE_BUFFERS_ARB 100000 @@ -283,7 +287,9 @@ void QGLWindowSurface::hijackWindow(QWidget *widget) qDebug() << "hijackWindow() context created for" << widget << d_ptr->contexts.size(); } -#if !defined(QT_OPENGL_ES_2) +#if 1 || defined(QT_OPENGL_ES_2) +Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_gl_window_surface_paintengine) +#else Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_gl_window_surface_paintengine) #endif -- cgit v0.12 From afdd536c50ba14ece1db63f5efab0328730f2e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 17 Feb 2009 14:10:06 +0100 Subject: Fixes: Move QGLDrawable into qgl_p.h so that we can use it in the GL 2 paint engine. RevBy: Tom Details: Now we can use the GL 2 paint engine on non-widget paint devices like pixel buffers, framebuffer objects, and GL window surfaces. Using -graphicssystem opengl works now. --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 19 +-- src/opengl/qgl.cpp | 150 ++++++++++++++++++ src/opengl/qgl_p.h | 33 ++++ src/opengl/qpaintengine_opengl.cpp | 176 --------------------- 4 files changed, 193 insertions(+), 185 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 2948e62..1cc2233 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -133,10 +133,9 @@ public: inline QColor premultiplyColor(QColor c, GLfloat opacity); QGL2PaintEngineEx* q; - - //### Move into QGLDrawable + QGLDrawable drawable; + QGLContext *ctx; int width, height; - QGLContext* ctx; // Dirty flags bool matrixDirty; // Implies matrix uniforms are also dirty @@ -997,11 +996,12 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) // qDebug("QGL2PaintEngineEx::begin()"); - QGLWidget* widget = static_cast(pdev); - d->ctx = const_cast(widget->context()); - d->ctx->makeCurrent(); - d->width = widget->width(); - d->height = widget->height(); + d->drawable.setDevice(pdev); + d->drawable.makeCurrent(); + d->ctx = d->drawable.context(); + QSize sz = d->drawable.size(); + d->width = sz.width(); + d->height = sz.height(); qt_resolve_version_1_3_functions(d->ctx); qt_resolve_glsl_extensions(d->ctx); @@ -1033,7 +1033,8 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) bool QGL2PaintEngineEx::end() { Q_D(QGL2PaintEngineEx); - d->ctx->swapBuffers(); + d->drawable.swapBuffers(); + d->drawable.doneCurrent(); return false; } diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 386e9b8..7c42039 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -71,9 +71,14 @@ #include #endif +#include +#include + #include #include #include +#include +#include #include "qcolormap.h" #include "qcache.h" #include "qfile.h" @@ -4219,4 +4224,149 @@ Q_OPENGL_EXPORT const QString qt_gl_library_name() } #endif +void QGLDrawable::setDevice(QPaintDevice *pdev) +{ + wasBound = false; + widget = 0; + buffer = 0; + fbo = 0; +#ifdef Q_WS_QWS + wsurf = 0; +#endif + if (pdev->devType() == QInternal::Widget) + widget = static_cast(pdev); + else if (pdev->devType() == QInternal::Pbuffer) + buffer = static_cast(pdev); + else if (pdev->devType() == QInternal::FramebufferObject) + fbo = static_cast(pdev); + else if (pdev->devType() == QInternal::UnknownDevice) +#ifdef Q_WS_QWS + wsurf = static_cast(pdev)->windowSurface(); +#else + wsurf = static_cast(pdev); +#endif +} + +void QGLDrawable::swapBuffers() +{ + if (widget) { + if (widget->autoBufferSwap()) + widget->swapBuffers(); + } else { + glFlush(); + } +} + +void QGLDrawable::makeCurrent() +{ + if (widget) + widget->makeCurrent(); + else if (buffer) + buffer->makeCurrent(); + else if (wsurf) + wsurf->context()->makeCurrent(); + else if (fbo) { + wasBound = fbo->isBound(); + if (!wasBound) + fbo->bind(); + } +} + +void QGLDrawable::doneCurrent() +{ + if (fbo && !wasBound) + fbo->release(); +} + +QSize QGLDrawable::size() const +{ + if (widget) { + return QSize(widget->d_func()->glcx->device()->width(), + widget->d_func()->glcx->device()->height()); + } else if (buffer) { + return buffer->size(); + } else if (fbo) { + return fbo->size(); + } else if (wsurf) { +#ifdef Q_WS_QWS + return wsurf->window()->frameSize(); +#else + return QSize(wsurf->width(), wsurf->height()); +#endif + } + return QSize(); +} + +QGLFormat QGLDrawable::format() const +{ + if (widget) + return widget->format(); + else if (buffer) + return buffer->format(); + else if (wsurf) + return wsurf->context()->format(); + else if (fbo && QGLContext::currentContext()) { + QGLFormat fmt = QGLContext::currentContext()->format(); + fmt.setStencil(fbo->attachment() == QGLFramebufferObject::CombinedDepthStencil); + fmt.setDepth(fbo->attachment() != QGLFramebufferObject::NoAttachment); + return fmt; + } + + return QGLFormat(); +} + +GLuint QGLDrawable::bindTexture(const QImage &image, GLenum target, GLint format) +{ + if (widget) + return widget->d_func()->glcx->d_func()->bindTexture(image, target, format, true); + else if (buffer) + return buffer->d_func()->qctx->d_func()->bindTexture(image, target, format, true); + else if (fbo && QGLContext::currentContext()) + return const_cast(QGLContext::currentContext())->d_func()->bindTexture(image, target, format, true); + else if (wsurf) + return wsurf->context()->d_func()->bindTexture(image, target, format, true); + return 0; +} + +GLuint QGLDrawable::bindTexture(const QPixmap &pixmap, GLenum target, GLint format) +{ + if (widget) + return widget->d_func()->glcx->d_func()->bindTexture(pixmap, target, format, true); + else if (buffer) + return buffer->d_func()->qctx->d_func()->bindTexture(pixmap, target, format, true); + else if (fbo && QGLContext::currentContext()) + return const_cast(QGLContext::currentContext())->d_func()->bindTexture(pixmap, target, format, true); + else if (wsurf) + return wsurf->context()->d_func()->bindTexture(pixmap, target, format, true); + return 0; +} + +QColor QGLDrawable::backgroundColor() const +{ + if (widget) + return widget->palette().brush(widget->backgroundRole()).color(); + return QApplication::palette().brush(QPalette::Background).color(); +} + +QGLContext *QGLDrawable::context() const +{ + if (widget) + return widget->d_func()->glcx; + else if (buffer) + return buffer->d_func()->qctx; + else if (fbo) + return const_cast(QGLContext::currentContext()); + else if (wsurf) + return wsurf->context(); + return 0; +} + +bool QGLDrawable::autoFillBackground() const +{ + if (widget) + return widget->autoFillBackground(); + else + return false; +} + QT_END_NAMESPACE diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index b15eebc..2eccc23 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -282,6 +282,39 @@ Q_SIGNALS: void aboutToDestroyContext(const QGLContext *context); }; +class QGLPixelBuffer; +class QGLFramebufferObject; +class QWSGLWindowSurface; +class QGLWindowSurface; +class QGLDrawable { +public: + QGLDrawable() : widget(0), buffer(0), fbo(0) + , wsurf(0) + {} + void setDevice(QPaintDevice *pdev); + void swapBuffers(); + void makeCurrent(); + void doneCurrent(); + QSize size() const; + QGLFormat format() const; + GLuint bindTexture(const QImage &image, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA); + GLuint bindTexture(const QPixmap &pixmap, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA); + QColor backgroundColor() const; + QGLContext *context() const; + bool autoFillBackground() const; + +private: + bool wasBound; + QGLWidget *widget; + QGLPixelBuffer *buffer; + QGLFramebufferObject *fbo; +#ifdef Q_WS_QWS + QWSGLWindowSurface *wsurf; +#else + QGLWindowSurface *wsurf; +#endif +}; + // GL extension definitions class QGLExtensions { public: diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index 976a021..998492c 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -57,13 +57,11 @@ #include "qpen.h" #include "qvarlengtharray.h" #include -#include #include #include #include #include "private/qtessellator_p.h" -#include "private/qwindowsurface_gl_p.h" #include "util/fragmentprograms_p.h" @@ -190,180 +188,6 @@ const QGLTrapezoid QGLTrapezoid::translated(const QPointF &delta) const return trap; } -class QGLDrawable { -public: - QGLDrawable() : widget(0), buffer(0), fbo(0) - , wsurf(0) - {} - inline void setDevice(QPaintDevice *pdev); - inline void swapBuffers(); - inline void makeCurrent(); - inline void doneCurrent(); - inline QSize size() const; - inline QGLFormat format() const; - inline GLuint bindTexture(const QImage &image, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA); - inline GLuint bindTexture(const QPixmap &pixmap, GLenum target = GL_TEXTURE_2D, GLint format = GL_RGBA); - inline QColor backgroundColor() const; - inline QGLContext *context() const; - inline bool autoFillBackground() const; - -private: - bool wasBound; - QGLWidget *widget; - QGLPixelBuffer *buffer; - QGLFramebufferObject *fbo; -#ifdef Q_WS_QWS - QWSGLWindowSurface *wsurf; -#else - QGLWindowSurface *wsurf; -#endif -}; - -void QGLDrawable::setDevice(QPaintDevice *pdev) -{ - wasBound = false; - widget = 0; - buffer = 0; - fbo = 0; -#ifdef Q_WS_QWS - wsurf = 0; -#endif - if (pdev->devType() == QInternal::Widget) - widget = static_cast(pdev); - else if (pdev->devType() == QInternal::Pbuffer) - buffer = static_cast(pdev); - else if (pdev->devType() == QInternal::FramebufferObject) - fbo = static_cast(pdev); - else if (pdev->devType() == QInternal::UnknownDevice) -#ifdef Q_WS_QWS - wsurf = static_cast(pdev)->windowSurface(); -#else - wsurf = static_cast(pdev); -#endif -} - -inline void QGLDrawable::swapBuffers() -{ - if (widget) { - if (widget->autoBufferSwap()) - widget->swapBuffers(); - } else { - glFlush(); - } -} - -inline void QGLDrawable::makeCurrent() -{ - if (widget) - widget->makeCurrent(); - else if (buffer) - buffer->makeCurrent(); - else if (wsurf) - wsurf->context()->makeCurrent(); - else if (fbo) { - wasBound = fbo->isBound(); - if (!wasBound) - fbo->bind(); - } -} - -inline void QGLDrawable::doneCurrent() -{ - if (fbo && !wasBound) - fbo->release(); -} - -inline QSize QGLDrawable::size() const -{ - if (widget) { - return QSize(widget->d_func()->glcx->device()->width(), - widget->d_func()->glcx->device()->height()); - } else if (buffer) { - return buffer->size(); - } else if (fbo) { - return fbo->size(); - } else if (wsurf) { -#ifdef Q_WS_QWS - return wsurf->window()->frameSize(); -#else - return QSize(wsurf->width(), wsurf->height()); -#endif - } - return QSize(); -} - -inline QGLFormat QGLDrawable::format() const -{ - if (widget) - return widget->format(); - else if (buffer) - return buffer->format(); - else if (wsurf) - return wsurf->context()->format(); - else if (fbo && QGLContext::currentContext()) { - QGLFormat fmt = QGLContext::currentContext()->format(); - fmt.setStencil(fbo->attachment() == QGLFramebufferObject::CombinedDepthStencil); - fmt.setDepth(fbo->attachment() != QGLFramebufferObject::NoAttachment); - return fmt; - } - - return QGLFormat(); -} - -inline GLuint QGLDrawable::bindTexture(const QImage &image, GLenum target, GLint format) -{ - if (widget) - return widget->d_func()->glcx->d_func()->bindTexture(image, target, format, true); - else if (buffer) - return buffer->d_func()->qctx->d_func()->bindTexture(image, target, format, true); - else if (fbo && QGLContext::currentContext()) - return const_cast(QGLContext::currentContext())->d_func()->bindTexture(image, target, format, true); - else if (wsurf) - return wsurf->context()->d_func()->bindTexture(image, target, format, true); - return 0; -} - -inline GLuint QGLDrawable::bindTexture(const QPixmap &pixmap, GLenum target, GLint format) -{ - if (widget) - return widget->d_func()->glcx->d_func()->bindTexture(pixmap, target, format, true); - else if (buffer) - return buffer->d_func()->qctx->d_func()->bindTexture(pixmap, target, format, true); - else if (fbo && QGLContext::currentContext()) - return const_cast(QGLContext::currentContext())->d_func()->bindTexture(pixmap, target, format, true); - else if (wsurf) - return wsurf->context()->d_func()->bindTexture(pixmap, target, format, true); - return 0; -} - -inline QColor QGLDrawable::backgroundColor() const -{ - if (widget) - return widget->palette().brush(widget->backgroundRole()).color(); - return QApplication::palette().brush(QPalette::Background).color(); -} - -inline QGLContext *QGLDrawable::context() const -{ - if (widget) - return widget->d_func()->glcx; - else if (buffer) - return buffer->d_func()->qctx; - else if (fbo) - return const_cast(QGLContext::currentContext()); - else if (wsurf) - return wsurf->context(); - return 0; -} - -inline bool QGLDrawable::autoFillBackground() const -{ - if (widget) - return widget->autoFillBackground(); - else - return false; -} - class QOpenGLImmediateModeTessellator; class QGLMaskGenerator; -- cgit v0.12 From 842d514edd0ef6fa8d6e863dfe6ba696b95ba790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 17 Feb 2009 15:43:05 +0100 Subject: Get rid of warning introduced in the last commit. --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 1cc2233..e211f10 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -134,8 +134,8 @@ public: QGL2PaintEngineEx* q; QGLDrawable drawable; - QGLContext *ctx; int width, height; + QGLContext *ctx; // Dirty flags bool matrixDirty; // Implies matrix uniforms are also dirty -- cgit v0.12 From a49ec03834b14063b4130c410d59df6e8c4db8ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 17 Feb 2009 16:11:41 +0100 Subject: Fixes: Improve text rendering in GL 2 paint engine. Details: Avoid adding 0.5 to dx() / dy() which caused images / glyphs to get slight antialiasing and edge artifacts. --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index e211f10..0e41602 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -399,8 +399,8 @@ void QGL2PaintEngineExPrivate::updateMatrix() // Use the (3x3) transform for the Model~View matrix: const QTransform& transform = q->state()->matrix; GLfloat MV[4][4] = { - {transform.m11(), transform.m21(), 0.0, transform.dx() + 0.5}, - {transform.m12(), transform.m22(), 0.0, transform.dy() + 0.5}, + {transform.m11(), transform.m21(), 0.0, transform.dx()}, + {transform.m12(), transform.m22(), 0.0, transform.dy()}, {0.0, 0.0, 1.0, 0.0}, {transform.m13(), transform.m23(), 0.0, transform.m33()} }; -- cgit v0.12 From 6513e4b9513dfc591c53744517f05aa3c522ace3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 18 Feb 2009 09:42:04 +0100 Subject: Fixes: GL 2 paint engine text rendering optimization. RevBy: Tom Details: Buffer vertex and texture coordinates so that we get away with just a single glDrawArrays call per text item. Also move drawCachedGlyphs() into the private class. --- src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp | 6 ++ src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h | 1 + .../gl2paintengineex/qpaintengineex_opengl2.cpp | 101 +++++++++------------ .../gl2paintengineex/qpaintengineex_opengl2_p.h | 1 - 4 files changed, 52 insertions(+), 57 deletions(-) diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp index 0352d39..f237847 100644 --- a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp +++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp @@ -59,6 +59,12 @@ QGLRect QGL2PEXVertexArray::boundingRect() const return QGLRect(minX, minY, maxX, maxY); } +void QGL2PEXVertexArray::addRect(const QRectF &rect) +{ + vertexArray << rect.topLeft() << rect.topRight() << rect.bottomRight() + << rect.bottomRight() << rect.bottomLeft() << rect.topLeft(); +} + void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseScale) { const QPointF* const points = reinterpret_cast(path.points()); diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h index c205022..65f6d42 100644 --- a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h +++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h @@ -98,6 +98,7 @@ public: maxX(-2e10), maxY(-2e10), minX(2e10), minY(2e10), boundingRectDirty(true) {} + void addRect(const QRectF &rect); void addPath(const QVectorPath &path, GLfloat curveInverseScale); void clear(); diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 0e41602..ea0d7b1 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -115,6 +115,7 @@ public: void setBrush(const QBrush* brush); void drawTexture(const QGLRect& dest, const QGLRect& src, int txtWidth, int txtHeight); + void drawCachedGlyphs(const QPointF &p, const QTextItemInt &ti); void fill(const QVectorPath &path); void drawOutline(const QVectorPath& path); @@ -152,7 +153,8 @@ public: GLfloat inverseScale; - QGL2PEXVertexArray pathVertexArray; + QGL2PEXVertexArray vertexCoordinateArray; + QGL2PEXVertexArray textureCoordinateArray; GLfloat pmvMatrix[4][4]; @@ -548,17 +550,17 @@ void QGL2PaintEngineExPrivate::drawOutline(const QVectorPath& path) if (matrixDirty) updateMatrix(); - pathVertexArray.clear(); - pathVertexArray.addPath(path, inverseScale); + vertexCoordinateArray.clear(); + vertexCoordinateArray.addPath(path, inverseScale); if (path.hasImplicitClose()) { // Close the path's outline - pathVertexArray.lineToArray(path.points()[0], path.points()[1]); - pathVertexArray.stops().last() += 1; + vertexCoordinateArray.lineToArray(path.points()[0], path.points()[1]); + vertexCoordinateArray.stops().last() += 1; } prepareForDraw(); - drawVertexArrays(pathVertexArray, GL_LINE_STRIP); + drawVertexArrays(vertexCoordinateArray, GL_LINE_STRIP); } @@ -578,26 +580,26 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) composite(rect); } else if (path.shape() == QVectorPath::EllipseHint) { - pathVertexArray.clear(); - pathVertexArray.addPath(path, inverseScale); + vertexCoordinateArray.clear(); + vertexCoordinateArray.addPath(path, inverseScale); prepareForDraw(); - drawVertexArrays(pathVertexArray, GL_TRIANGLE_FAN); + drawVertexArrays(vertexCoordinateArray, GL_TRIANGLE_FAN); } else { // The path is too complicated & needs the stencil technique - pathVertexArray.clear(); - pathVertexArray.addPath(path, inverseScale); + vertexCoordinateArray.clear(); + vertexCoordinateArray.addPath(path, inverseScale); - fillStencilWithVertexArray(pathVertexArray, path.hasWindingFill()); + fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); // Stencil the brush onto the dest buffer glStencilFunc(GL_NOTEQUAL, 0, 0xFFFF); // Pass if stencil buff value != 0 glEnable(GL_STENCIL_TEST); prepareForDraw(); - composite(pathVertexArray.boundingRect()); + composite(vertexCoordinateArray.boundingRect()); glDisable(GL_STENCIL_TEST); - cleanStencilBuffer(pathVertexArray.boundingRect()); + cleanStencilBuffer(vertexCoordinateArray.boundingRect()); } } @@ -876,6 +878,7 @@ void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem) { + Q_D(QGL2PaintEngineEx); QOpenGLPaintEngineState *s = state(); const QTextItemInt &ti = static_cast(textItem); @@ -893,17 +896,17 @@ void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem drawCached = false; if (drawCached) { - drawCachedGlyphs(p, ti); + d->drawCachedGlyphs(p, ti); return; } QPaintEngineEx::drawTextItem(p, ti); } -void QGL2PaintEngineEx::drawCachedGlyphs(const QPointF &p, const QTextItemInt &ti) +void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextItemInt &ti) { - Q_D(QGL2PaintEngineEx); - QOpenGLPaintEngineState *s = state(); + Q_Q(QGL2PaintEngineEx); + QOpenGLPaintEngineState *s = q->state(); QVarLengthArray positions; QVarLengthArray glyphs; @@ -927,65 +930,51 @@ void QGL2PaintEngineEx::drawCachedGlyphs(const QPointF &p, const QTextItemInt &t const QImage &image = cache->image(); int margin = cache->glyphMargin(); - QGLContext *ctx = d->ctx; glActiveTexture(QT_BRUSH_TEXTURE_UNIT); - d->ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); + ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); glEnable(GL_BLEND); - d->shaderManager->textShader()->use(); - d->updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); + shaderManager->textShader()->use(); + updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); - if (d->compositionModeDirty) - d->updateCompositionMode(); + if (compositionModeDirty) + updateCompositionMode(); - if (d->matrixDirty) - d->updateMatrix(); + if (matrixDirty) + updateMatrix(); - if (d->textShaderMatrixUniformDirty) { - d->shaderManager->textShader()->uniforms()[QLatin1String("pmvMatrix")] = d->pmvMatrix; - d->textShaderMatrixUniformDirty = false; + if (textShaderMatrixUniformDirty) { + shaderManager->textShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; + textShaderMatrixUniformDirty = false; } - d->shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; - QColor col = d->premultiplyColor(state()->pen.color(), (GLfloat)state()->opacity); - d->shaderManager->textShader()->uniforms()[QLatin1String("fragmentColor")] = col; + shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; + QColor col = premultiplyColor(s->pen.color(), (GLfloat)s->opacity); + shaderManager->textShader()->uniforms()[QLatin1String("fragmentColor")] = col; GLfloat dx = 1.0 / image.width(); GLfloat dy = 1.0 / image.height(); - glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); - glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); + vertexCoordinateArray.clear(); + textureCoordinateArray.clear(); + for (int i=0; icoords.value(glyphs[i]); int x = positions[i].x.toInt() + c.baseLineX - margin; int y = positions[i].y.toInt() - c.baseLineY - margin; - QGLRect dest = QRectF(x, y, c.w, c.h); - QGLRect src = QRectF(c.x, c.y, c.w, c.h); - - GLfloat vertexCoords[] = { - dest.left, dest.top, - dest.left, dest.bottom, - dest.right, dest.bottom, - dest.right, dest.top - }; - - glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoords); - - QGLRect srcTextureRect(src.left*dx, 1.0 - src.top*dy, src.right*dx, 1.0 - src.bottom*dy); + vertexCoordinateArray.addRect(QRectF(x, y, c.w, c.h)); + textureCoordinateArray.addRect(QRectF(c.x*dx, 1 - c.y*dy, c.w * dx, -c.h * dy)); + } - GLfloat textureCoords[] = { - srcTextureRect.left, srcTextureRect.top, - srcTextureRect.left, srcTextureRect.bottom, - srcTextureRect.right, srcTextureRect.bottom, - srcTextureRect.right, srcTextureRect.top - }; + glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); + glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); - glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoords); + glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data()); + glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray.data()); + glDrawArrays(GL_TRIANGLES, 0, 6 * glyphs.size()); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - } glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); } diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index ce66e4b..9f84a25 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -100,7 +100,6 @@ public: virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor); virtual void drawTextItem(const QPointF &p, const QTextItem &textItem); - void drawCachedGlyphs(const QPointF &p, const QTextItemInt &ti); Type type() const { return OpenGL; } -- cgit v0.12 From d903f379470fb9f9159fbf37f2cfc02638cd05f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 18 Feb 2009 14:54:51 +0100 Subject: Fixes: Enable use of the GL pixmap backend in the GL 2 paint engine. --- src/opengl/qgl.cpp | 10 +++++----- src/opengl/qgl_p.h | 4 ++++ src/opengl/qpixmapdata_gl.cpp | 13 ++++++++++--- src/opengl/qpixmapdata_gl_p.h | 1 + 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 7c42039..558897d 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1888,14 +1888,14 @@ GLuint QGLContextPrivate::bindTexture(const QImage &image, GLenum target, GLint /*! \internal */ GLuint QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target, GLint format, bool clean) { -#if !defined(QT_OPENGL_ES_2) - if (target == qt_gl_preferredTextureTarget() && pixmap.pixmapData()->classId() == QPixmapData::OpenGLClass) { - const QGLPixmapData *data = static_cast(pixmap.pixmapData()); + Q_Q(QGLContext); + QPixmapData *pd = pixmap.pixmapData(); + if (target == qt_gl_preferredTextureTarget() && pd->classId() == QPixmapData::OpenGLClass) { + const QGLPixmapData *data = static_cast(pd); - if (data->isValidContext(QGLContext::currentContext())) + if (data->isValidContext(q)) return data->bind(); } -#endif const qint64 key = pixmap.cacheKey(); GLuint id; diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 2eccc23..76f3812 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -418,9 +418,13 @@ inline GLenum qt_gl_preferredTextureFormat() inline GLenum qt_gl_preferredTextureTarget() { +#if 1 || defined(QT_OPENGL_ES_2) + return GL_TEXTURE_2D; +#else return (QGLExtensions::glExtensions & QGLExtensions::TextureRectangle) ? GL_TEXTURE_RECTANGLE_NV : GL_TEXTURE_2D; +#endif } diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index b079557..ec71fa6 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -57,12 +57,14 @@ class QGLShareContextScope public: QGLShareContextScope(const QGLContext *ctx) : m_oldContext(0) - , m_ctx(const_cast(ctx)) { - const QGLContext *currentContext = QGLContext::currentContext(); + QGLContext *currentContext = const_cast(QGLContext::currentContext()); if (currentContext != ctx && !qgl_share_reg()->checkSharing(ctx, currentContext)) { - m_oldContext = const_cast(currentContext); + m_oldContext = currentContext; + m_ctx = const_cast(ctx); m_ctx->makeCurrent(); + } else { + m_ctx = currentContext; } } @@ -127,6 +129,7 @@ QGLPixmapData::QGLPixmapData(PixelType type) : QPixmapData(type, OpenGLClass) , m_width(0) , m_height(0) + , m_ctx(0) , m_texture(0) , m_dirty(false) { @@ -148,6 +151,9 @@ bool QGLPixmapData::isValid() const bool QGLPixmapData::isValidContext(const QGLContext *ctx) const { + if (ctx == m_ctx) + return true; + const QGLContext *share_ctx = qt_gl_share_widget()->context(); return ctx == share_ctx || qgl_share_reg()->checkSharing(ctx, share_ctx); } @@ -173,6 +179,7 @@ void QGLPixmapData::ensureCreated() const m_dirty = false; QGLShareContextScope ctx(qt_gl_share_widget()->context()); + m_ctx = ctx; const GLenum format = qt_gl_preferredTextureFormat(); const GLenum target = qt_gl_preferredTextureTarget(); diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h index e450f01..97f4959 100644 --- a/src/opengl/qpixmapdata_gl_p.h +++ b/src/opengl/qpixmapdata_gl_p.h @@ -97,6 +97,7 @@ private: int m_width; int m_height; + mutable QGLContext *m_ctx; mutable GLuint m_texture; mutable bool m_dirty; mutable QImage m_source; -- cgit v0.12 From a3c964db2bee664b0e71e9ec1c5d8b2830659ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 18 Feb 2009 14:56:16 +0100 Subject: Fixes: Introduce mode transfer functions in the GL 2 paint engine. RevBy: Tom Details: Mode transfer lets us optimize the case where the same operation is done a lot of times in a row, for example image or text drawing, by being able to assume that most of the state has already been set up properly. --- src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h | 4 +- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 143 +++++++++++++-------- 2 files changed, 94 insertions(+), 53 deletions(-) diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h index 65f6d42..a83f13e 100644 --- a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h +++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h @@ -62,7 +62,7 @@ public: QGLPoint(GLfloat new_x, GLfloat new_y) : x(new_x), y(new_y) {}; - QGLPoint(QPointF p) : + QGLPoint(const QPointF &p) : x(p.x()), y(p.y()) {}; QGLPoint(const QPointF* p) : @@ -77,7 +77,7 @@ public: struct QGLRect { - QGLRect(QRectF r) + QGLRect(const QRectF &r) : left(r.left()), top(r.top()), right(r.right()), bottom(r.bottom()) {} QGLRect(GLfloat l, GLfloat t, GLfloat r, GLfloat b) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index ea0d7b1..88c33d4 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -86,6 +86,11 @@ extern QImage qt_imageForBrush(int brushStyle, bool invert); //in qbrush.cpp #include +enum EngineMode { + ImageDrawingMode, + TextDrawingMode, + DefaultMode +}; static const GLuint QT_VERTEX_COORDS_ATTR = 0; static const GLuint QT_TEXTURE_COORDS_ATTR = 1; @@ -114,7 +119,9 @@ public: void setBrush(const QBrush* brush); - void drawTexture(const QGLRect& dest, const QGLRect& src, int txtWidth, int txtHeight); + void transferMode(EngineMode newMode); + + void drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize); void drawCachedGlyphs(const QPointF &p, const QTextItemInt &ti); void fill(const QVectorPath &path); @@ -138,6 +145,8 @@ public: int width, height; QGLContext *ctx; + EngineMode mode; + // Dirty flags bool matrixDirty; // Implies matrix uniforms are also dirty bool compositionModeDirty; @@ -156,6 +165,9 @@ public: QGL2PEXVertexArray vertexCoordinateArray; QGL2PEXVertexArray textureCoordinateArray; + GLfloat staticVertexCoordinateArray[8]; + GLfloat staticTextureCoordinateArray[8]; + GLfloat pmvMatrix[4][4]; QGLPEXShaderManager* shaderManager; @@ -486,14 +498,21 @@ void QGL2PaintEngineExPrivate::updateCompositionMode() compositionModeDirty = false; } +static inline void setCoords(GLfloat *coords, const QGLRect &rect) +{ + coords[0] = rect.left; + coords[1] = rect.top; + coords[2] = rect.right; + coords[3] = rect.top; + coords[4] = rect.right; + coords[5] = rect.bottom; + coords[6] = rect.left; + coords[7] = rect.bottom; +} -void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& src, int txtWidth, int txtHeight) +void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize) { // qDebug("QGL2PaintEngineExPrivate::drawImage()"); - - // We have a shader specifically for drawPixmap/drawImage... - shaderManager->imageShader()->use(); - updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); if (compositionModeDirty) @@ -507,45 +526,66 @@ void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& s imageShaderMatrixUniformDirty = false; } - shaderManager->imageShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; - -// if (q->state()->opacity < 0.99f) + if (q->state()->opacity < 0.99f) shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)q->state()->opacity; - GLfloat vertexCoords[] = { - dest.left, dest.top, - dest.left, dest.bottom, - dest.right, dest.bottom, - dest.right, dest.top - }; + GLfloat dx = 1.0 / textureSize.width(); + GLfloat dy = 1.0 / textureSize.height(); - glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); - glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoords); + QGLRect srcTextureRect(src.left*dx, 1.0 - src.top*dy, src.right*dx, 1.0 - src.bottom*dy); - GLfloat dx = 1.0 / txtWidth; - GLfloat dy = 1.0 / txtHeight; + setCoords(staticVertexCoordinateArray, dest); + setCoords(staticTextureCoordinateArray, srcTextureRect); - QGLRect srcTextureRect(src.left*dx, 1.0 - src.top*dy, src.right*dx, 1.0 - src.bottom*dy); + glDrawArrays(GL_TRIANGLE_FAN, 0, 4); +} - GLfloat textureCoords[] = { - srcTextureRect.left, srcTextureRect.top, - srcTextureRect.left, srcTextureRect.bottom, - srcTextureRect.right, srcTextureRect.bottom, - srcTextureRect.right, srcTextureRect.top - }; +void QGL2PaintEngineExPrivate::transferMode(EngineMode newMode) +{ + if (newMode == mode) + return; - glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); - glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoords); + if (mode == TextDrawingMode || mode == ImageDrawingMode) { + glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); + glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); + } - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + if (newMode == TextDrawingMode) { + glEnable(GL_BLEND); + glActiveTexture(QT_BRUSH_TEXTURE_UNIT); - glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); - glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); -} + glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); + glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); + glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data()); + glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray.data()); + + shaderManager->textShader()->use(); + shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; + } + + if (newMode == ImageDrawingMode) { + // We have a shader specifically for drawPixmap/drawImage... + shaderManager->imageShader()->use(); + shaderManager->imageShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; + shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)1.0; + + glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); + glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); + + glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, staticVertexCoordinateArray); + glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, staticTextureCoordinateArray); + + glActiveTexture(QT_BRUSH_TEXTURE_UNIT); + } + + mode = newMode; +} void QGL2PaintEngineExPrivate::drawOutline(const QVectorPath& path) { + transferMode(DefaultMode); + // qDebug("QGL2PaintEngineExPrivate::drawOutline()"); if (matrixDirty) updateMatrix(); @@ -567,6 +607,8 @@ void QGL2PaintEngineExPrivate::drawOutline(const QVectorPath& path) // Assumes everything is configured for the brush you want to use void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) { + transferMode(DefaultMode); + if (matrixDirty) updateMatrix(); @@ -846,10 +888,10 @@ void QGL2PaintEngineEx::transformChanged() void QGL2PaintEngineEx::drawPixmap(const QRectF& dest, const QPixmap & pixmap, const QRectF & src) { Q_D(QGL2PaintEngineEx); - QGLContext *ctx = d->ctx; - glActiveTexture(QT_BRUSH_TEXTURE_UNIT); + d->transferMode(ImageDrawingMode); - d->ctx->d_func()->bindTexture(pixmap, GL_TEXTURE_2D, GL_RGBA, true); + QGLContext *ctx = d->ctx; + ctx->d_func()->bindTexture(pixmap, GL_TEXTURE_2D, GL_RGBA, true); //FIXME: we should use hasAlpha() instead, but that's SLOW at the moment if ((state()->opacity < 0.99f) || pixmap.hasAlphaChannel()) @@ -857,23 +899,24 @@ void QGL2PaintEngineEx::drawPixmap(const QRectF& dest, const QPixmap & pixmap, c else glDisable(GL_BLEND); - d->drawTexture(dest, src, pixmap.width(), pixmap.height()); + d->drawTexture(dest, src, pixmap.size()); } void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const QRectF& src, Qt::ImageConversionFlags) { Q_D(QGL2PaintEngineEx); + d->transferMode(ImageDrawingMode); + QGLContext *ctx = d->ctx; - glActiveTexture(QT_BRUSH_TEXTURE_UNIT); - d->ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); + ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); if ((state()->opacity < 0.99f) || image.hasAlphaChannel()) glEnable(GL_BLEND); else glDisable(GL_BLEND); - d->drawTexture(dest, src, image.width(), image.height()); + d->drawTexture(dest, src, image.size()); } void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem) @@ -908,6 +951,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte Q_Q(QGL2PaintEngineEx); QOpenGLPaintEngineState *s = q->state(); + transferMode(TextDrawingMode); + QVarLengthArray positions; QVarLengthArray glyphs; QTransform matrix; @@ -930,12 +975,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte const QImage &image = cache->image(); int margin = cache->glyphMargin(); - glActiveTexture(QT_BRUSH_TEXTURE_UNIT); ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); - glEnable(GL_BLEND); - - shaderManager->textShader()->use(); updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); if (compositionModeDirty) @@ -949,13 +990,15 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte textShaderMatrixUniformDirty = false; } - shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; QColor col = premultiplyColor(s->pen.color(), (GLfloat)s->opacity); shaderManager->textShader()->uniforms()[QLatin1String("fragmentColor")] = col; GLfloat dx = 1.0 / image.width(); GLfloat dy = 1.0 / image.height(); + QGLPoint *oldVertexCoordinateDataPtr = vertexCoordinateArray.data(); + QGLPoint *oldTextureCoordinateDataPtr = textureCoordinateArray.data(); + vertexCoordinateArray.clear(); textureCoordinateArray.clear(); @@ -968,15 +1011,12 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte textureCoordinateArray.addRect(QRectF(c.x*dx, 1 - c.y*dy, c.w * dx, -c.h * dy)); } - glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); - glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); + if (vertexCoordinateArray.data() != oldVertexCoordinateDataPtr) + glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data()); + if (textureCoordinateArray.data() != oldTextureCoordinateDataPtr) + glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray.data()); - glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data()); - glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray.data()); glDrawArrays(GL_TRIANGLES, 0, 6 * glyphs.size()); - - glDisableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); - glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); } bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) @@ -991,6 +1031,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) QSize sz = d->drawable.size(); d->width = sz.width(); d->height = sz.height(); + d->mode = DefaultMode; qt_resolve_version_1_3_functions(d->ctx); qt_resolve_glsl_extensions(d->ctx); -- cgit v0.12 From 7cee2659388388754d741ba4b46647c57d03c498 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 23 Feb 2009 13:54:07 +0100 Subject: Fixes: Make raster engine perform better on 0-opacity drawing RevBy: sroedal Task: came in from brisbane --- src/gui/painting/qdrawhelper_p.h | 3 ++- src/gui/painting/qpaintengine_raster.cpp | 23 +++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h index de97683..586ffe3 100644 --- a/src/gui/painting/qdrawhelper_p.h +++ b/src/gui/painting/qdrawhelper_p.h @@ -110,6 +110,7 @@ struct QSpanData; class QGradient; class QRasterBuffer; class QClipData; +class QRasterPaintEngineState; typedef QT_FT_SpanFunc ProcessSpans; typedef void (*BitmapBlitFunc)(QRasterBuffer *rasterBuffer, @@ -293,7 +294,7 @@ struct QSpanData }; void init(QRasterBuffer *rb, const QRasterPaintEngine *pe); - void setup(const QBrush &brush, int alpha); + void setup(const QBrush &brush, int alpha, const QRasterPaintEngineState *s); void setupMatrix(const QTransform &matrix, int bilinear); void initTexture(const QImage *image, int alpha, QTextureData::Type = QTextureData::Plain, const QRect &sourceRect = QRect()); void adjustSpanMethods(); diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index ba79b5b..92a196c 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -483,12 +483,12 @@ bool QRasterPaintEngine::begin(QPaintDevice *device) d->rasterizer->setClipRect(d->deviceRect); s->penData.init(d->rasterBuffer, this); - s->penData.setup(s->pen.brush(), s->intOpacity); + s->penData.setup(s->pen.brush(), s->intOpacity, s); s->stroker = &d->basicStroker; d->basicStroker.setClipRect(d->deviceRect); s->brushData.init(d->rasterBuffer, this); - s->brushData.setup(s->brush, s->intOpacity); + s->brushData.setup(s->brush, s->intOpacity, s); d->rasterBuffer->compositionMode = QPainter::CompositionMode_SourceOver; @@ -769,7 +769,7 @@ void QRasterPaintEngine::updatePen(const QPen &pen) s->strokeFlags = 0; s->penData.clip = d->clip(); - s->penData.setup(pen_style == Qt::NoPen ? QBrush() : pen.brush(), s->intOpacity); + s->penData.setup(pen_style == Qt::NoPen ? QBrush() : pen.brush(), s->intOpacity, s); if (s->strokeFlags & QRasterPaintEngine::DirtyTransform || pen.brush().transform().type() >= QTransform::TxNone) { @@ -869,7 +869,7 @@ void QRasterPaintEngine::updateBrush(const QBrush &brush) QRasterPaintEngineState *s = state(); // must set clip prior to setup, as setup uses it... s->brushData.clip = d->clip(); - s->brushData.setup(brush, s->intOpacity); + s->brushData.setup(brush, s->intOpacity, s); if (s->fillFlags & DirtyTransform || brush.transform().type() >= QTransform::TxNone) d_func()->updateMatrixData(&s->brushData, brush, d->brushMatrix()); @@ -1024,6 +1024,10 @@ void QRasterPaintEnginePrivate::drawImage(const QPointF &pt, { if (!clip.isValid()) return; + + if (alpha ==0) + return; + Q_ASSERT(img.depth() >= 8); int srcBPL = img.bytesPerLine(); @@ -1867,9 +1871,12 @@ void QRasterPaintEngine::fillRect(const QRectF &r, const QColor &color) QRasterPaintEngineState *s = state(); d->solid_color_filler.solid.color = PREMUL(ARGB_COMBINE_ALPHA(color.rgba(), s->intOpacity)); + if ((d->solid_color_filler.solid.color & 0xff000000) == 0 + && s->composition_mode == QPainter::CompositionMode_SourceOver) { + return; + } d->solid_color_filler.clip = d->clip(); d->solid_color_filler.adjustSpanMethods(); - fillRect(r, &d->solid_color_filler); } @@ -4906,7 +4913,7 @@ void QSpanData::init(QRasterBuffer *rb, const QRasterPaintEngine *pe) extern QImage qt_imageForBrush(int brushStyle, bool invert); -void QSpanData::setup(const QBrush &brush, int alpha) +void QSpanData::setup(const QBrush &brush, int alpha, const QRasterPaintEngineState *s) { Qt::BrushStyle brushStyle = qbrush_style(brush); switch (brushStyle) { @@ -4914,6 +4921,10 @@ void QSpanData::setup(const QBrush &brush, int alpha) type = Solid; QColor c = qbrush_color(brush); solid.color = PREMUL(ARGB_COMBINE_ALPHA(c.rgba(), alpha)); + if ((solid.color & 0xff000000) == 0 + && s->composition_mode == QPainter::CompositionMode_SourceOver) { + type = None; + } break; } -- cgit v0.12 From 6ab74831766cdd5cf4e94eee8a60099436e61202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 9 Mar 2009 13:07:18 +0100 Subject: Fixes: Extreme amount of pixel buffers created in embeddeddialogs demo. Details: As a window surface is created even for embedded widgets, don't create the GL resources required by the surface until they are actually needed. RevBy: Tom --- src/opengl/qwindowsurface_gl.cpp | 14 +++++++++++--- src/opengl/qwindowsurface_gl_p.h | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index bb4ffc5..08c2aab 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -315,6 +315,8 @@ QGLContext *QGLWindowSurface::context() const QPaintDevice *QGLWindowSurface::paintDevice() { + updateGeometry(); + if (d_ptr->pb) return d_ptr->pb; @@ -330,6 +332,7 @@ static void drawTexture(const QRectF &rect, GLuint tex_id, const QSize &texSize, void QGLWindowSurface::beginPaint(const QRegion &) { + updateGeometry(); } void QGLWindowSurface::endPaint(const QRegion &rgn) @@ -460,9 +463,9 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & d_ptr->fbo->bind(); } -void QGLWindowSurface::setGeometry(const QRect &rect) +void QGLWindowSurface::updateGeometry() { - QWindowSurface::setGeometry(rect); + QRect rect = QWindowSurface::geometry(); const GLenum target = qt_gl_preferredTextureTarget(); @@ -496,7 +499,7 @@ void QGLWindowSurface::setGeometry(const QRect &rect) qt_gl_share_widget()); if (d_ptr->pb->isValid()) { - qDebug() << "PB Sample buffers:" << d_ptr->pb->format().sampleBuffers(); + qDebug() << "Created Window Surface Pixelbuffer, Sample buffers:" << d_ptr->pb->format().sampleBuffers(); d_ptr->pb->makeCurrent(); glGenTextures(1, &d_ptr->pb_tex_id); @@ -561,6 +564,11 @@ void QGLWindowSurface::setGeometry(const QRect &rect) d_ptr->ctx->d_ptr->internal_context = true; } +void QGLWindowSurface::setGeometry(const QRect &rect) +{ + QWindowSurface::setGeometry(rect); +} + bool QGLWindowSurface::scroll(const QRegion &area, int dx, int dy) { // this code randomly fails currently for unknown reasons diff --git a/src/opengl/qwindowsurface_gl_p.h b/src/opengl/qwindowsurface_gl_p.h index 0194378..d47e3e3 100644 --- a/src/opengl/qwindowsurface_gl_p.h +++ b/src/opengl/qwindowsurface_gl_p.h @@ -74,6 +74,7 @@ public: QPaintDevice *paintDevice(); void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); void setGeometry(const QRect &rect); + void updateGeometry(); bool scroll(const QRegion &area, int dx, int dy); void beginPaint(const QRegion ®ion); -- cgit v0.12 From 570ef6dbc4526d39ef8d2b7e29ddedcfa67b061f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 9 Mar 2009 15:01:48 +0100 Subject: Fixes: Clipping bug in GL 2 paint engine (embeddeddialogs demo). RevBy: Tom --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 88c33d4..9eeef1b 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1057,6 +1057,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) glDisable(GL_DEPTH_TEST); + updateClipRegion(QRegion(), Qt::NoClip); return true; } -- cgit v0.12 From 0f95b04c91e559ca62698234dcd82445c5ee8ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 9 Mar 2009 15:01:16 +0100 Subject: Fixes: Small optimizations in GL 2 paint engine... RevBy: Tom --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 9eeef1b..ce9f976 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -424,7 +424,9 @@ void QGL2PaintEngineExPrivate::updateMatrix() for (int row = 0; row < 4; ++row) { for (int col = 0; col < 4; ++col) { pmvMatrix[col][row] = 0.0; - for (int n = 0; n < 4; ++n) + + // P[row][n] is 0.0 for n < row + for (int n = row; n < 4; ++n) pmvMatrix[col][row] += P[row][n] * MV[n][col]; } } @@ -804,8 +806,6 @@ void QGL2PaintEngineEx::fill(const QVectorPath &path, const QBrush &brush) { Q_D(QGL2PaintEngineEx); - QTime startTime = QTime::currentTime(); - d->setBrush(&brush); d->fill(path); d->setBrush(&(state()->brush)); // reset back to the state's brush -- cgit v0.12 From 4feeae36f1dc18795646e648f9987795706d21f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 9 Mar 2009 13:09:25 +0100 Subject: Fixes: Get rid of GL 2 paint engine debug message... RevBy: Tom --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index ce9f976..6e24bdc 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -794,8 +794,6 @@ void QGL2PaintEngineExPrivate::drawVertexArrays(QGL2PEXVertexArray& vertexArray, QGL2PaintEngineEx::QGL2PaintEngineEx() : QPaintEngineEx(*(new QGL2PaintEngineExPrivate(this))) { - qDebug("QGL2PaintEngineEx::QGL2PaintEngineEx()"); - } QGL2PaintEngineEx::~QGL2PaintEngineEx() -- cgit v0.12 From 56fc9b853f8d19999c81ed13a9f2fcd0e95241e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 Mar 2009 09:16:37 +0100 Subject: Fixes: Respect the SmoothPixmapTransform render hint in the GL2 paint engine. RevBy: Tom --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 6e24bdc..dbf18b1 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -515,7 +515,7 @@ static inline void setCoords(GLfloat *coords, const QGLRect &rect) void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize) { // qDebug("QGL2PaintEngineExPrivate::drawImage()"); - updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); + updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, q->state()->renderHints & QPainter::SmoothPixmapTransform); if (compositionModeDirty) updateCompositionMode(); -- cgit v0.12 From 4d4580b5f43adb22b6ba95f49698efcd5dbdfeae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 Mar 2009 10:37:13 +0100 Subject: Fixes: Make FBO window surface work with GL 2 paint engine. RevBy: Trond Details: Need to make sure clipping/scissoring etc is turned off and that we are in a good state. --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 3 +++ src/opengl/qwindowsurface_gl.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index dbf18b1..89ed1f7 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1062,6 +1062,9 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) bool QGL2PaintEngineEx::end() { Q_D(QGL2PaintEngineEx); + QGLContext *ctx = d->ctx; + glUseProgram(0); + d->transferMode(DefaultMode); d->drawable.swapBuffers(); d->drawable.doneCurrent(); return false; diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 08c2aab..5cd4366 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -439,6 +439,9 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & if (d_ptr->fbo) d_ptr->fbo->release(); + glDisable(GL_DEPTH_TEST); + glDisable(GL_SCISSOR_TEST); + glMatrixMode(GL_MODELVIEW); glLoadIdentity(); @@ -539,6 +542,7 @@ void QGLWindowSurface::updateGeometry() d_ptr->fbo->bind(); if (d_ptr->fbo->isValid()) { + qDebug() << "Created Window Surface FBO" << rect.size(); return; } else { qDebug() << "QGLWindowSurface: Failed to create valid FBO, falling back"; -- cgit v0.12 From 1ada6800efbbca276441b3b170b1ccfa0c09c20a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 12 Mar 2009 09:00:34 +0100 Subject: Fixes: Add blitting and multisample API to QGLFramebufferObject. RevBy: Trond Details: Support GL_EXT_framebuffer_multisample and GL_EXT_framebuffer_blit in the QGLFramebufferObject API. --- src/opengl/qgl.cpp | 2 + src/opengl/qgl_p.h | 3 +- src/opengl/qglextensions.cpp | 3 + src/opengl/qglextensions_p.h | 37 +++ src/opengl/qglframebufferobject.cpp | 456 +++++++++++++++++++++++++++++++++--- src/opengl/qglframebufferobject.h | 49 ++++ 6 files changed, 520 insertions(+), 30 deletions(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 558897d..fc11d90 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -4175,6 +4175,8 @@ void QGLExtensions::init_extensions() glExtensions |= FramebufferObject; glExtensions |= GenerateMipmap; #endif + if (extensions.contains(QLatin1String("EXT_framebuffer_blit"))) + glExtensions |= FramebufferBlit; QGLContext cx(QGLFormat::defaultFormat()); if (glExtensions & TextureCompression) { diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 76f3812..8ab73d8 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -330,7 +330,8 @@ public: StencilWrap = 0x00000100, PackedDepthStencil = 0x00000200, NVFloatBuffer = 0x00000400, - PixelBufferObject = 0x00000800 + PixelBufferObject = 0x00000800, + FramebufferBlit = 0x00001000 }; Q_DECLARE_FLAGS(Extensions, Extension) diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index b054fe8..e6ac043 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -74,6 +74,9 @@ bool qt_resolve_framebufferobject_extensions(QGLContext *ctx) glGetFramebufferAttachmentParameterivEXT = (_glGetFramebufferAttachmentParameterivEXT) ctx->getProcAddress(QLatin1String("glGetFramebufferAttachmentParameterivEXT")); glGenerateMipmapEXT = (_glGenerateMipmapEXT) ctx->getProcAddress(QLatin1String("glGenerateMipmapEXT")); + glBlitFramebufferEXT = (_glBlitFramebufferEXT) ctx->getProcAddress(QLatin1String("glBlitFramebufferEXT")); + glRenderbufferStorageMultisampleEXT = + (_glRenderbufferStorageMultisampleEXT) ctx->getProcAddress(QLatin1String("glRenderbufferStorageMultisampleEXT")); return glIsRenderbufferEXT; #else Q_UNUSED(ctx); diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index fdf0bba..cd35eb0 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -162,6 +162,15 @@ typedef void (APIENTRY *_glGetFramebufferAttachmentParameterivEXT) (GLenum targe GLint *params); typedef void (APIENTRY *_glGenerateMipmapEXT) (GLenum target); +// EXT_GL_framebuffer_blit +typedef void (APIENTRY *_glBlitFramebufferEXT) (int srcX0, int srcY0, int srcX1, int srcY1, + int dstX0, int dstY0, int dstX1, int dstY1, + GLbitfield mask, GLenum filter); + +// EXT_GL_framebuffer_multisample +typedef void (APIENTRY *_glRenderbufferStorageMultisampleEXT) (GLenum target, GLsizei samples, + GLenum internalformat, GLsizei width, GLsizei height); + QT_BEGIN_NAMESPACE struct QGLExtensionFuncs @@ -220,6 +229,8 @@ struct QGLExtensionFuncs qt_glGetFramebufferAttachmentParameterivEXT = 0; qt_glGenerateMipmapEXT = 0; #endif + qt_glBlitFramebufferEXT = 0; + qt_glRenderbufferStorageMultisampleEXT = 0; qt_glBindBufferARB = 0; qt_glDeleteBuffersARB = 0; @@ -298,6 +309,8 @@ struct QGLExtensionFuncs _glGetFramebufferAttachmentParameterivEXT qt_glGetFramebufferAttachmentParameterivEXT; _glGenerateMipmapEXT qt_glGenerateMipmapEXT; #endif + _glBlitFramebufferEXT qt_glBlitFramebufferEXT; + _glRenderbufferStorageMultisampleEXT qt_glRenderbufferStorageMultisampleEXT; _glBindBufferARB qt_glBindBufferARB; _glDeleteBuffersARB qt_glDeleteBuffersARB; @@ -447,6 +460,28 @@ struct QGLExtensionFuncs #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 #endif +// GL_EXT_framebuffer_blit +#ifndef GL_READ_FRAMEBUFFER_EXT +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#endif + +// GL_EXT_framebuffer_multisample +#ifndef GL_RENDERBUFFER_SAMPLES_EXT +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#endif + +#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#endif + +#ifndef GL_MAX_SAMPLES_EXT +#define GL_MAX_SAMPLES_EXT 0x8D5 +#endif + +#ifndef GL_DRAW_FRAMEBUFFER_EXT +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#endif + #ifndef GL_EXT_packed_depth_stencil #define GL_DEPTH_STENCIL_EXT 0x84F9 #define GL_UNSIGNED_INT_24_8_EXT 0x84FA @@ -533,6 +568,8 @@ struct QGLExtensionFuncs #define glFramebufferRenderbufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glFramebufferRenderbufferEXT #define glGetFramebufferAttachmentParameterivEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetFramebufferAttachmentParameterivEXT #define glGenerateMipmapEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGenerateMipmapEXT +#define glBlitFramebufferEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBlitFramebufferEXT +#define glRenderbufferStorageMultisampleEXT QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glRenderbufferStorageMultisampleEXT #else // QT_OPENGL_ES_2 diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 9134fc6..297ef84 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -67,6 +67,216 @@ extern QImage qt_gl_read_framebuffer(const QSize&, bool, bool); } \ } +class QGLFramebufferObjectFormatPrivate +{ +public: + int samples; + QGLFramebufferObject::Attachment attachment; + GLenum target; + GLenum internal_format; +}; + +/*! + \class QGLFramebufferObjectFormat + \brief The QGLFramebufferObjectFormat class specifies the format of an OpenGL + framebuffer object. + + \since 4.6 + + \ingroup multimedia + + A framebuffer object has several characteristics: + \list + \i \link setSamples() Number of samples per pixels.\endlink + \i \link setAttachment() Depth and/or stencil attachments.\endlink + \i \link setTextureTarget() Texture target.\endlink + \i \link setInternalFormat() Internal format.\endlink + \endlist + + Note that the desired attachments or number of samples per pixels might not + be supported by the hardware driver. Call QGLFramebufferObject::format() + after creating a QGLFramebufferObject to find the exact format that was + used to create the frame buffer object. + + \sa QGLFramebufferObject +*/ + +/*! + \since 4.6 + + Creates a QGLFramebufferObjectFormat object with properties specifying + the format of an OpenGL framebuffer object. + + A multisample framebuffer object is specified by setting \a samples + to a value different from zero. If the desired amount of samples per pixel is + not supported by the hardware then the maximum number of samples per pixel + will be used. Note that multisample framebuffer objects can not be bound as + textures. Also, the \c{GL_EXT_framebuffer_multisample} extension is required + to create a framebuffer with more than one sample per pixel. + + For multisample framebuffer objects a color render buffer is created, + otherwise a texture with the texture target \a target is created. + The color render buffer or texture will have the internal format + \a internalFormat, and will be bound to the \c GL_COLOR_ATTACHMENT0 + attachment in the framebuffer object. + + The \a attachment parameter describes the depth/stencil buffer + configuration. + + \sa samples(), attachment(), target(), internalFormat() +*/ + +QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(int samples, + QGLFramebufferObject::Attachment attachment, + GLenum target, + GLenum internalFormat) +{ + d = new QGLFramebufferObjectFormatPrivate; + d->samples = samples; + d->attachment = attachment; + d->target = target; + d->internal_format = internalFormat; +} + +/*! + \since 4.6 + + Constructs a copy of \a other. +*/ + +QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(const QGLFramebufferObjectFormat &other) +{ + d = new QGLFramebufferObjectFormatPrivate; + *d = *other.d; +} + +/*! + \since 4.6 + + Assigns \a other to this object. +*/ + +QGLFramebufferObjectFormat::QGLFramebufferObjectFormat & +QGLFramebufferObjectFormat::operator=(const QGLFramebufferObjectFormat &other) +{ + *d = *other.d; + return *this; +} + +/*! + \since 4.6 + + Destroys the QGLFramebufferObjectFormat. +*/ +QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat() +{ + delete d; +} + +/*! + \since 4.6 + + Sets the number of samples per pixel for a multisample framebuffer object + to \a samples. + A sample count of 0 represents a regular non-multisample framebuffer object. + + \sa samples() +*/ +void QGLFramebufferObjectFormat::setSamples(int samples) +{ + d->samples = samples; +} + +/*! + \since 4.6 + + Returns the number of samples per pixel if a framebuffer object + is a multisample framebuffer object. Otherwise, returns 0. + + \sa setSamples() +*/ +int QGLFramebufferObjectFormat::samples() const +{ + return d->samples; +} + +/*! + \since 4.6 + + Sets the attachments a framebuffer object should have to \a attachment. + + \sa attachment() +*/ +void QGLFramebufferObjectFormat::setAttachment(QGLFramebufferObject::Attachment attachment) +{ + d->attachment = attachment; +} + +/*! + \since 4.6 + + Returns the status of the depth and stencil buffers attached to + a framebuffer object. + + \sa setAttachment() +*/ +QGLFramebufferObject::Attachment QGLFramebufferObjectFormat::attachment() const +{ + return d->attachment; +} + +/*! + \since 4.6 + + Sets the texture target of the texture attached to a framebuffer object to + \a target. Ignored for multisample framebuffer objects. + + \sa textureTarget(), samples() +*/ +void QGLFramebufferObjectFormat::setTextureTarget(GLenum target) +{ + d->target = target; +} + +/*! + \since 4.6 + + Returns the texture target of the texture attached to a framebuffer object. + Ignored for multisample framebuffer objects. + + \sa setTextureTarget(), samples() +*/ +GLenum QGLFramebufferObjectFormat::textureTarget() const +{ + return d->target; +} + +/*! + \since 4.6 + + Sets the internal format of a framebuffer object's texture or multisample + framebuffer object's color buffer to \a internalFormat. + + \sa internalFormat() +*/ +void QGLFramebufferObjectFormat::setInternalFormat(GLenum internalFormat) +{ + d->internal_format = internalFormat; +} + +/*! + \since 4.6 + + Returns the internal format of a framebuffer object's texture or + multisample framebuffer object's color buffer. + + \sa setInternalFormat() +*/ +GLenum QGLFramebufferObjectFormat::internalFormat() const +{ + return d->internal_format; +} + class QGLFramebufferObjectPrivate { public: @@ -74,13 +284,16 @@ public: ~QGLFramebufferObjectPrivate() {} void init(const QSize& sz, QGLFramebufferObject::Attachment attachment, - GLenum internal_format, GLenum texture_target); + GLenum internal_format, GLenum texture_target, int samples = 0); bool checkFramebufferStatus() const; GLuint texture; GLuint fbo; GLuint depth_stencil_buffer; + GLuint color_buffer; GLenum target; QSize size; + QGLFramebufferObjectFormat format; + int samples; uint valid : 1; uint bound : 1; QGLFramebufferObject::Attachment fbo_attachment; @@ -122,6 +335,9 @@ bool QGLFramebufferObjectPrivate::checkFramebufferStatus() const case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: qDebug("QGLFramebufferObject: Framebuffer incomplete, missing read buffer."); break; + case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT: + qDebug("QGLFramebufferObject: Framebuffer incomplete, attachments must have same number of samples per pixel."); + break; default: qDebug() <<"QGLFramebufferObject: An undefined error has occurred: "<< status; break; @@ -130,7 +346,7 @@ bool QGLFramebufferObjectPrivate::checkFramebufferStatus() const } void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::Attachment attachment, - GLenum texture_target, GLenum internal_format) + GLenum texture_target, GLenum internal_format, int samples) { ctx = const_cast(QGLContext::currentContext()); bool ext_detected = (QGLExtensions::glExtensions & QGLExtensions::FramebufferObject); @@ -147,26 +363,56 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At QT_CHECK_GLERROR(); // init texture - glGenTextures(1, &texture); - glBindTexture(target, texture); - glTexImage2D(target, 0, internal_format, size.width(), size.height(), 0, - GL_RGBA, GL_UNSIGNED_BYTE, NULL); + if (samples == 0) { + glGenTextures(1, &texture); + glBindTexture(target, texture); + glTexImage2D(target, 0, internal_format, size.width(), size.height(), 0, + GL_RGBA, GL_UNSIGNED_BYTE, NULL); #ifndef QT_OPENGL_ES - glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); #else - glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glTexParameterf(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameterf(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameterf(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameterf(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); #endif - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, - target, texture, 0); + glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, + target, texture, 0); - QT_CHECK_GLERROR(); - valid = checkFramebufferStatus(); + QT_CHECK_GLERROR(); + valid = checkFramebufferStatus(); + + color_buffer = 0; + samples = 0; + } else { + GLint maxSamples; + glGetIntegerv(GL_MAX_SAMPLES_EXT, &maxSamples); + + samples = qBound(1, samples, int(maxSamples)); + + glGenRenderbuffersEXT(1, &color_buffer); + glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, color_buffer); + if (glRenderbufferStorageMultisampleEXT) { + glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, + internal_format, size.width(), size.height()); + } else { + samples = 0; + glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, internal_format, + size.width(), size.height()); + } + + glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, + GL_RENDERBUFFER_EXT, color_buffer); + + QT_CHECK_GLERROR(); + valid = checkFramebufferStatus(); + + if (valid) + glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT, GL_RENDERBUFFER_SAMPLES_EXT, &samples); + } if (attachment == QGLFramebufferObject::CombinedDepthStencil && (QGLExtensions::glExtensions & QGLExtensions::PackedDepthStencil)) { @@ -175,7 +421,13 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At Q_ASSERT(!glIsRenderbufferEXT(depth_stencil_buffer)); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, depth_stencil_buffer); Q_ASSERT(glIsRenderbufferEXT(depth_stencil_buffer)); - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT, size.width(), size.height()); + if (samples != 0 && glRenderbufferStorageMultisampleEXT) + glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, + GL_DEPTH24_STENCIL8_EXT, size.width(), size.height()); + else + glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, + GL_DEPTH24_STENCIL8_EXT, size.width(), size.height()); + GLint i = 0; glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT, GL_RENDERBUFFER_DEPTH_SIZE_EXT, &i); glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, @@ -183,6 +435,7 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depth_stencil_buffer); fbo_attachment = QGLFramebufferObject::CombinedDepthStencil; + valid = checkFramebufferStatus(); if (!valid) glDeleteRenderbuffersEXT(1, &depth_stencil_buffer); @@ -193,12 +446,23 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At Q_ASSERT(!glIsRenderbufferEXT(depth_stencil_buffer)); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, depth_stencil_buffer); Q_ASSERT(glIsRenderbufferEXT(depth_stencil_buffer)); + if (samples != 0 && glRenderbufferStorageMultisampleEXT) { #ifdef QT_OPENGL_ES #define GL_DEPTH_COMPONENT16 0x81A5 - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16, size.width(), size.height()); + glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, + GL_DEPTH_COMPONENT16, size.width(), size.height()); #else - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, size.width(), size.height()); + glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, + GL_DEPTH_COMPONENT, size.width(), size.height()); #endif + } else { +#ifdef QT_OPENGL_ES +#define GL_DEPTH_COMPONENT16 0x81A5 + glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16, size.width(), size.height()); +#else + glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, size.width(), size.height()); +#endif + } GLint i = 0; glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT, GL_RENDERBUFFER_DEPTH_SIZE_EXT, &i); glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, @@ -213,10 +477,18 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); if (!valid) { - glDeleteTextures(1, &texture); + if (color_buffer) + glDeleteRenderbuffersEXT(1, &color_buffer); + else + glDeleteTextures(1, &texture); glDeleteFramebuffersEXT(1, &fbo); } QT_CHECK_GLERROR(); + + format.setTextureTarget(target); + format.setSamples(samples); + format.setAttachment(fbo_attachment); + format.setInternalFormat(internal_format); } /*! @@ -264,13 +536,18 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At framebuffer objects more portable. \endlist - Note that primitives drawn to a QGLFramebufferObject with QPainter - will only be antialiased if the QPainter::HighQualityAntialiasing - render hint is set. This is because there is currently no support - for the \c{GL_EXT_framebuffer_multisample} extension, which is - required to do multisample based antialiasing. Also note that the - QPainter::HighQualityAntialiasing render hint requires the - \c{GL_ARB_fragment_program} extension to work in OpenGL. + Note that you need to create a QGLFramebufferObject with more than one + sample per pixel for primitives to be antialiased when drawing using a + QPainter, unless if the QPainter::HighQualityAntialiasing render hint is + set. The QPainter::HighQualityAntialiasing render hint will enable + antialiasing as long as the \c{GL_ARB_fragment_program} extension is + present. To create a multisample framebuffer object you should use one of + the constructors that take a QGLFramebufferObject parameter, and set the + QGLFramebufferObject::samples() property to a non-zero value. + + If you want to use a framebuffer object with multisampling enabled + as a texture, you first need to copy from it to a regular framebuffer + object using QGLContext::blitFramebuffer(). \sa {Framebuffer Object Example} */ @@ -358,6 +635,32 @@ QGLFramebufferObject::QGLFramebufferObject(int width, int height, GLenum target) d->init(QSize(width, height), NoAttachment, target, DEFAULT_FORMAT); } +/*! \overload + + Constructs an OpenGL framebuffer object of the given \a size based on the + supplied \a format. +*/ + +QGLFramebufferObject::QGLFramebufferObject(const QSize &size, const QGLFramebufferObjectFormat &format) + : d_ptr(new QGLFramebufferObjectPrivate) +{ + Q_D(QGLFramebufferObject); + d->init(size, format.attachment(), format.textureTarget(), format.internalFormat(), format.samples()); +} + +/*! \overload + + Constructs an OpenGL framebuffer object of the given \a width and \a height + based on the supplied \a format. +*/ + +QGLFramebufferObject::QGLFramebufferObject(int width, int height, const QGLFramebufferObjectFormat &format) + : d_ptr(new QGLFramebufferObjectPrivate) +{ + Q_D(QGLFramebufferObject); + d->init(QSize(width, height), format.attachment(), format.textureTarget(), format.internalFormat(), format.samples()); +} + #ifdef Q_MAC_COMPAT_GL_FUNCTIONS /*! \internal */ QGLFramebufferObject::QGLFramebufferObject(int width, int height, QMacCompatGLenum target) @@ -445,6 +748,8 @@ QGLFramebufferObject::~QGLFramebufferObject() || qgl_share_reg()->checkSharing(d->ctx, QGLContext::currentContext()))) { glDeleteTextures(1, &d->texture); + if (d->color_buffer) + glDeleteRenderbuffersEXT(1, &d->color_buffer); if (d->depth_stencil_buffer) glDeleteRenderbuffersEXT(1, &d->depth_stencil_buffer); glDeleteFramebuffersEXT(1, &d->fbo); @@ -540,6 +845,9 @@ bool QGLFramebufferObject::release() Returns the texture id for the texture attached as the default rendering target in this framebuffer object. This texture id can be bound as a normal texture in your own GL code. + + If a multisample framebuffer object is used then the value returned + from this function will be invalid. */ GLuint QGLFramebufferObject::texture() const { @@ -560,6 +868,15 @@ QSize QGLFramebufferObject::size() const } /*! + Returns the format of this framebuffer object. +*/ +const QGLFramebufferObjectFormat &QGLFramebufferObject::format() const +{ + Q_D(const QGLFramebufferObject); + return d->format; +} + +/*! \fn QImage QGLFramebufferObject::toImage() const Returns the contents of this framebuffer object as a QImage. @@ -752,4 +1069,85 @@ bool QGLFramebufferObject::isBound() const return d->bound; } +/*! + \fn bool QGLFramebufferObject::hasOpenGLFramebufferBlit() + + \since 4.6 + + Returns true if the OpenGL \c{GL_EXT_framebuffer_blit} extension + is present on this system; otherwise returns false. +*/ +bool QGLFramebufferObject::hasOpenGLFramebufferBlit() +{ + QGLWidget dmy; // needed to detect and init the QGLExtensions object + return (QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit); +} + +/*! + \since 4.6 + + Blits from the \a sourceRect rectangle in the \a source framebuffer + object to the \a targetRect rectangle in the \a target framebuffer object. + + If \a source or \a target is 0, the default framebuffer will be used + instead of a framebuffer object as source or target respectively. + + The \a buffers parameter should be a mask consisting of any combination of + COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT, and STENCIL_BUFFER_BIT. Any buffer type + that is not present both in the source and target buffers is ignored. + + The \a sourceRect and \a targetRect rectangles may have different sizes; + in this case \a buffers should not contain DEPTH_BUFFER_BIT or + STENCIL_BUFFER_BIT. The \a filter parameter should be set to GL_LINEAR or + GL_NEAREST, and specifies whether linear or nearest interpolation should + be used when scaling is performed. + + If \a source equals \a target a copy is performed within the same buffer. + Results are undefined if the source and target rectangles overlap and + have different sizes. The sizes must also be the same if any of the + framebuffer objects are multisample framebuffers. + + Note that the scissor test will restrict the blit area if enabled. + + This function will have no effect unless hasOpenGLFramebufferBlit() returns + true. +*/ +void QGLFramebufferObject::blitFramebuffer(QGLFramebufferObject *target, const QRect &targetRect, + QGLFramebufferObject *source, const QRect &sourceRect, + GLbitfield buffers, + GLenum filter) +{ + if (!(QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit)) + return; + + const QGLContext *ctx = QGLContext::currentContext(); + if (!ctx) + return; + + const int height = ctx->device()->height(); + + const int sh = source ? source->height() : height; + const int th = target ? target->height() : height; + + const int sx0 = sourceRect.left(); + const int sx1 = sourceRect.right(); + const int sy0 = sh - sourceRect.bottom() - 1; + const int sy1 = sh - sourceRect.top() - 1; + + const int tx0 = targetRect.left(); + const int tx1 = targetRect.right(); + const int ty0 = th - targetRect.bottom() - 1; + const int ty1 = th - targetRect.top() - 1; + + glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source ? source->handle() : 0); + glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, target ? target->handle() : 0); + + glBlitFramebufferEXT(sx0, sy0, sx1, sy1, + tx0, ty0, tx1, ty1, + buffers, filter); + + glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, 0); + glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); +} + QT_END_NAMESPACE diff --git a/src/opengl/qglframebufferobject.h b/src/opengl/qglframebufferobject.h index a9e1b2f..0a2a9d2 100644 --- a/src/opengl/qglframebufferobject.h +++ b/src/opengl/qglframebufferobject.h @@ -52,6 +52,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(OpenGL) class QGLFramebufferObjectPrivate; +class QGLFramebufferObjectFormat; class Q_OPENGL_EXPORT QGLFramebufferObject : public QPaintDevice { @@ -77,6 +78,9 @@ public: GLenum target = GL_TEXTURE_2D, GLenum internal_format = GL_RGBA); #endif + QGLFramebufferObject(const QSize &size, const QGLFramebufferObjectFormat &format); + QGLFramebufferObject(int width, int height, const QGLFramebufferObjectFormat &format); + #ifdef Q_MAC_COMPAT_GL_FUNCTIONS QGLFramebufferObject(const QSize &size, QMacCompatGLenum target = GL_TEXTURE_2D); QGLFramebufferObject(int width, int height, QMacCompatGLenum target = GL_TEXTURE_2D); @@ -89,10 +93,13 @@ public: virtual ~QGLFramebufferObject(); + const QGLFramebufferObjectFormat &format() const; + bool isValid() const; bool isBound() const; bool bind(); bool release(); + GLuint texture() const; QSize size() const; QImage toImage() const; @@ -110,6 +117,12 @@ public: void drawTexture(const QPointF &point, QMacCompatGLuint textureId, QMacCompatGLenum textureTarget = GL_TEXTURE_2D); #endif + static bool hasOpenGLFramebufferBlit(); + static void blitFramebuffer(QGLFramebufferObject *target, const QRect &targetRect, + QGLFramebufferObject *source, const QRect &sourceRect, + GLbitfield buffers = GL_COLOR_BUFFER_BIT, + GLenum filter = GL_NEAREST); + protected: int metric(PaintDeviceMetric metric) const; int devType() const { return QInternal::FramebufferObject; } @@ -120,6 +133,42 @@ private: friend class QGLDrawable; }; +class QGLFramebufferObjectFormatPrivate; +class Q_OPENGL_EXPORT QGLFramebufferObjectFormat +{ +public: +#if !defined(QT_OPENGL_ES) || defined(Q_QDOC) + QGLFramebufferObjectFormat(int samples = 0, + QGLFramebufferObject::Attachment attachment = QGLFramebufferObject::NoAttachment, + GLenum target = GL_TEXTURE_2D, + GLenum internalFormat = GL_RGBA8); +#else + QGLFramebufferObjectFormat(int samples = 0, + QGLFramebufferObject::Attachment attachment = QGLFramebufferObject::NoAttachment, + GLenum target = GL_TEXTURE_2D, + GLenum internalFormat = GL_RGBA); +#endif + + QGLFramebufferObjectFormat(const QGLFramebufferObjectFormat &other); + QGLFramebufferObjectFormat &operator=(const QGLFramebufferObjectFormat &other); + ~QGLFramebufferObjectFormat(); + + void setSamples(int samples); + int samples() const; + + void setAttachment(QGLFramebufferObject::Attachment attachment); + QGLFramebufferObject::Attachment attachment() const; + + void setTextureTarget(GLenum target); + GLenum textureTarget() const; + + void setInternalFormat(GLenum internalFormat); + GLenum internalFormat() const; + +private: + QGLFramebufferObjectFormatPrivate *d; +}; + QT_END_NAMESPACE QT_END_HEADER -- cgit v0.12 From ee8949183917ae7494cbf0121922d0b68384f90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 Mar 2009 12:23:51 +0100 Subject: Fixes: Use the new framebuffer blit/multisample API in the window surface. RevBy: Trond --- src/opengl/qwindowsurface_gl.cpp | 49 +++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 5cd4366..b4a4565 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -436,34 +436,39 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & #ifdef Q_WS_MAC ctx->updatePaintDevice(); #endif - if (d_ptr->fbo) - d_ptr->fbo->release(); - glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); + if (d_ptr->fbo && QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit) { + QGLFramebufferObject::blitFramebuffer(0, rect, d_ptr->fbo, rect); + d_ptr->fbo->bind(); + } else { + if (d_ptr->fbo) + d_ptr->fbo->release(); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); #ifndef QT_OPENGL_ES - glOrtho(0, size.width(), size.height(), 0, -999999, 999999); + glOrtho(0, size.width(), size.height(), 0, -999999, 999999); #else - glOrthof(0, size.width(), size.height(), 0, -999999, 999999); + glOrthof(0, size.width(), size.height(), 0, -999999, 999999); #endif - glViewport(0, 0, size.width(), size.height()); + glViewport(0, 0, size.width(), size.height()); + + glColor4f(1, 1, 1, 1); + drawTexture(rect, texture, window()->size(), br); - glColor4f(1, 1, 1, 1); - drawTexture(rect, texture, window()->size(), br); + if (d_ptr->fbo) + d_ptr->fbo->bind(); + } if (ctx->format().doubleBuffer()) ctx->swapBuffers(); else glFlush(); - - if (d_ptr->fbo) - d_ptr->fbo->bind(); } void QGLWindowSurface::updateGeometry() @@ -537,12 +542,20 @@ void QGLWindowSurface::updateGeometry() ctx->d_ptr->internal_context = true; ctx->makeCurrent(); delete d_ptr->fbo; - d_ptr->fbo = new QGLFramebufferObject(rect.size(), QGLFramebufferObject::CombinedDepthStencil, - GLenum(target), GLenum(GL_RGBA)); + QGLFramebufferObjectFormat format; + format.setAttachment(QGLFramebufferObject::CombinedDepthStencil); + format.setInternalFormat(GL_RGBA); + format.setTextureTarget(target); + + if (QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit) + format.setSamples(8); + + d_ptr->fbo = new QGLFramebufferObject(rect.size(), format); d_ptr->fbo->bind(); if (d_ptr->fbo->isValid()) { - qDebug() << "Created Window Surface FBO" << rect.size(); + qDebug() << "Created Window Surface FBO" << rect.size() + << "with samples" << d_ptr->fbo->format().samples(); return; } else { qDebug() << "QGLWindowSurface: Failed to create valid FBO, falling back"; -- cgit v0.12 From b469889f6f9b49f2e52948e3419958b0d8bfc994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 Mar 2009 18:46:13 +0100 Subject: Fixes: Prevent QGLFramebufferObject from resetting the current context. RevBy: Trond Details: If there is already an active context we don't need a dummy widget. --- src/opengl/qglframebufferobject.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 297ef84..45d4788 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -918,7 +918,8 @@ QPaintEngine *QGLFramebufferObject::paintEngine() const */ bool QGLFramebufferObject::hasOpenGLFramebufferObjects() { - QGLWidget dmy; // needed to detect and init the QGLExtensions object + if (!QGLContext::currentContext()) + QGLWidget dmy; // needed to detect and init the QGLExtensions object return (QGLExtensions::glExtensions & QGLExtensions::FramebufferObject); } @@ -1079,7 +1080,8 @@ bool QGLFramebufferObject::isBound() const */ bool QGLFramebufferObject::hasOpenGLFramebufferBlit() { - QGLWidget dmy; // needed to detect and init the QGLExtensions object + if (!QGLContext::currentContext()) + QGLWidget dmy; // needed to detect and init the QGLExtensions object return (QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit); } -- cgit v0.12 From 860498a1e63bff2b5a52accda92256c36ba5c23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 Mar 2009 18:47:47 +0100 Subject: Fixes: Use the blit/multisample FBO API in the framebuffer object example. RevBy: Trond --- examples/opengl/framebufferobject/glwidget.cpp | 28 ++++++++++++++++++++++---- examples/opengl/framebufferobject/glwidget.h | 3 ++- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/examples/opengl/framebufferobject/glwidget.cpp b/examples/opengl/framebufferobject/glwidget.cpp index d3591d6..3cb3929 100644 --- a/examples/opengl/framebufferobject/glwidget.cpp +++ b/examples/opengl/framebufferobject/glwidget.cpp @@ -53,7 +53,18 @@ GLWidget::GLWidget(QWidget *parent) { setWindowTitle(tr("OpenGL framebuffer objects")); makeCurrent(); - fbo = new QGLFramebufferObject(1024, 1024); + + if (QGLFramebufferObject::hasOpenGLFramebufferBlit()) { + QGLFramebufferObjectFormat format; + format.setSamples(4); + + render_fbo = new QGLFramebufferObject(512, 512, format); + texture_fbo = new QGLFramebufferObject(512, 512); + } else { + render_fbo = new QGLFramebufferObject(1024, 1024); + texture_fbo = render_fbo; + } + rot_x = rot_y = rot_z = 0.0f; scale = 0.1f; anim = new QTimeLine(750, this); @@ -113,7 +124,9 @@ GLWidget::~GLWidget() { delete[] wave; glDeleteLists(tile_list, 1); - delete fbo; + delete texture_fbo; + if (render_fbo != texture_fbo) + delete render_fbo; } void GLWidget::paintEvent(QPaintEvent *) @@ -129,10 +142,16 @@ void GLWidget::draw() saveGLState(); // render the 'bubbles.svg' file into our framebuffer object - QPainter fbo_painter(fbo); + QPainter fbo_painter(render_fbo); svg_renderer->render(&fbo_painter); fbo_painter.end(); + if (render_fbo != texture_fbo) { + QRect rect(0, 0, render_fbo->width(), render_fbo->height()); + QGLFramebufferObject::blitFramebuffer(texture_fbo, rect, + render_fbo, rect); + } + // draw into the GL widget glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); @@ -145,8 +164,9 @@ void GLWidget::draw() glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glBindTexture(GL_TEXTURE_2D, fbo->texture()); + glBindTexture(GL_TEXTURE_2D, texture_fbo->texture()); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glEnable(GL_TEXTURE_2D); glEnable(GL_MULTISAMPLE); glEnable(GL_CULL_FACE); diff --git a/examples/opengl/framebufferobject/glwidget.h b/examples/opengl/framebufferobject/glwidget.h index b64cfa8..d97ef78 100644 --- a/examples/opengl/framebufferobject/glwidget.h +++ b/examples/opengl/framebufferobject/glwidget.h @@ -77,6 +77,7 @@ private: QImage logo; QTimeLine *anim; QSvgRenderer *svg_renderer; - QGLFramebufferObject *fbo; + QGLFramebufferObject *render_fbo; + QGLFramebufferObject *texture_fbo; }; -- cgit v0.12 From 23174985c19c61fbce412965ecc1ba49c1cb5582 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Apr 2009 16:36:19 +0200 Subject: Doc: Minor language fixes and tidying. Reviewed-by: TrustMe --- doc/src/phonon-api.qdoc | 2 +- doc/src/phonon.qdoc | 2 +- doc/src/qnamespace.qdoc | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/phonon-api.qdoc b/doc/src/phonon-api.qdoc index 147ded3..3d04c68 100644 --- a/doc/src/phonon-api.qdoc +++ b/doc/src/phonon-api.qdoc @@ -2568,7 +2568,7 @@ details. Phonon also provides EffectWidget, which lets the user modify the - parameters of an effect an the fly, e.g., with comboboxes. + parameters of an effect an the fly; e.g., with combo boxes. \sa {Phonon Module}, EffectWidget */ diff --git a/doc/src/phonon.qdoc b/doc/src/phonon.qdoc index fa84b96..9470e61 100644 --- a/doc/src/phonon.qdoc +++ b/doc/src/phonon.qdoc @@ -49,7 +49,7 @@ \section1 Introduction Qt uses the Phonon multimedia framework to provide functionality - for playback of the most common multimedia formats.The media can + for playback of the most common multimedia formats. The media can be read from files or streamed over a network, using a QURL to a file. diff --git a/doc/src/qnamespace.qdoc b/doc/src/qnamespace.qdoc index 6220795..e6a1a36 100644 --- a/doc/src/qnamespace.qdoc +++ b/doc/src/qnamespace.qdoc @@ -508,11 +508,11 @@ \value DirectConnection When emitted, the signal is immediately delivered to the slot. \value QueuedConnection When emitted, the signal is queued until the event loop is able to deliver it to the slot. - \value - BlockingQueuedConnection Same as QueuedConnection, except that the current thread blocks + \value BlockingQueuedConnection + Same as QueuedConnection, except that the current thread blocks until the slot has been delivered. This connection type should only be used for receivers in a different thread. Note that misuse - of this type can lead to dead locks in your application. + of this type can lead to deadlocks in your application. \value AutoConnection If the signal is emitted from the thread in which the receiving object lives, the slot is invoked directly, as with -- cgit v0.12 From 855aa89e0ba99f8a0f75d7b31930bab2cefb93f8 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Wed, 4 Mar 2009 14:43:58 +0100 Subject: Fixes: make the toNormalizedFillRect function slightly faster RevBy: sroedal --- src/gui/painting/qpaintengine_raster.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 92a196c..3cf618c 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -1706,12 +1706,17 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen) static inline QRect toNormalizedFillRect(const QRectF &rect) { - const int x1 = qRound(rect.x() + aliasedCoordinateDelta); - const int y1 = qRound(rect.y() + aliasedCoordinateDelta); - const int x2 = qRound(rect.right() + aliasedCoordinateDelta); - const int y2 = qRound(rect.bottom() + aliasedCoordinateDelta); + int x1 = int(rect.x() + aliasedCoordinateDelta); + int y1 = int(rect.y() + aliasedCoordinateDelta); + int x2 = int(rect.right() + aliasedCoordinateDelta); + int y2 = int(rect.bottom() + aliasedCoordinateDelta); - return QRect(x1, y1, x2 - x1, y2 - y1).normalized(); + if (x2 < x1) + qSwap(x1, x2); + if (y2 < y1) + qSwap(y1, y2); + + return QRect(x1, y1, x2 - x1, y2 - y1); } /*! -- cgit v0.12 From 80293b874047c028e47d91d33c2afe157d9e6785 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Apr 2009 16:37:14 +0200 Subject: Doc: Trivial fixes. Reviewed-by: TrustMe --- src/corelib/global/qglobal.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 1645279..8324d05 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2944,12 +2944,12 @@ bool QInternal::callFunction(InternalFunction func, void **args) Compares the floating point value \a p1 and \a p2 and returns \c true if they are considered equal, otherwise \c false. - + Note that comparing values where either \a p1 or \a p2 is 0.0 will not work. - The solution to this is to compare against values greater than or equal to 1.0 - + The solution to this is to compare against values greater than or equal to 1.0. + \snippet doc/src/snippets/code/src_corelib_global_qglobal.cpp 46 - + The two numbers are compared in a relative way, where the exactness is stronger the smaller the numbers are. */ -- cgit v0.12 From 244daeabfb55160387985d0ff3f057aa03d4d2da Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Apr 2009 16:38:15 +0200 Subject: Doc: Updated the deployment documentation with the QtScriptTools module and references to Phonon documentation. Task-number: 212939 Reviewed-by: TrustMe --- doc/src/deployment.qdoc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/src/deployment.qdoc b/doc/src/deployment.qdoc index 7e02f1a..d9f7c1a 100644 --- a/doc/src/deployment.qdoc +++ b/doc/src/deployment.qdoc @@ -91,7 +91,7 @@ The disadvantage with the shared library approach is that you will get more files to deploy. For more information, see \l{sharedlibrary.html}{Creating Shared Libraries}. - + \section1 Deploying Qt's Libraries \table @@ -111,13 +111,14 @@ \o \l {QtNetwork} \o \l {QtOpenGL} \o \l {QtScript} - \o \l {QtSql} + \o \l {QtScriptTools} \row + \o \l {QtSql} \o \l {QtSvg} \o \l {QtWebKit} \o \l {QtXml} - \o \l {QtXmlPatterns} \row + \o \l {QtXmlPatterns} \o \l {Phonon Module}{Phonon} \o \l {Qt3Support} \endtable @@ -178,11 +179,13 @@ Please see \l{QtWebKit Module#License Information}{the QtWebKit module documentation} for more information. - \row \o Phonon \o Phonon + \row \o \l{Phonon Module}{Phonon} \o Phonon \o Phonon relies on the native multimedia engines on different platforms. Phonon itself is licensed under the GNU LGPL version 2. Please see \l{Phonon Module#License Information}{the Phonon module documentation} - for more information. + for more information on licensing and the + \l{Phonon Overview#Backends}{Phonon Overview} for details of the backends + in use on different platforms. \endtable \section1 Platform-Specific Notes -- cgit v0.12 From 10d0536fd3b08a394c41de349e67325183328ec6 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Apr 2009 16:59:51 +0200 Subject: Doc: Clarified the usage of QImage::dotsPerMeterX() and QImage::dotsPerMeterY(). Task-number: 240164 Reviewed-by: Jan Erik Hanssen --- src/gui/image/qimage.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 558d574..dc236e4 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -4937,10 +4937,12 @@ int QImage::dotsPerMeterY() const meter, to \a x. Together with dotsPerMeterY(), this number defines the intended - scale and aspect ratio of the image. + scale and aspect ratio of the image, and determines the scale + at which QPainter will draw graphics on the image. It does not + change the scale or aspect ratio of the image when it is rendered + on other paint devices. - \sa dotsPerMeterX(), {QImage#Image Information}{Image - Information} + \sa dotsPerMeterX(), {QImage#Image Information}{Image Information} */ void QImage::setDotsPerMeterX(int x) { @@ -4957,10 +4959,12 @@ void QImage::setDotsPerMeterX(int x) to \a y. Together with dotsPerMeterX(), this number defines the intended - scale and aspect ratio of the image. + scale and aspect ratio of the image, and determines the scale + at which QPainter will draw graphics on the image. It does not + change the scale or aspect ratio of the image when it is rendered + on other paint devices. - \sa dotsPerMeterY(), {QImage#Image Information}{Image - Information} + \sa dotsPerMeterY(), {QImage#Image Information}{Image Information} */ void QImage::setDotsPerMeterY(int y) { -- cgit v0.12 From 423d6052844b2026c8acc8826d6546d3afc494d3 Mon Sep 17 00:00:00 2001 From: Ian Walters Date: Fri, 3 Apr 2009 12:44:38 +1000 Subject: Rename OffsetVector to ContiguousCache --- doc/src/examples/contiguouscache.qdoc | 69 ++++ doc/src/examples/offsetvector.qdoc | 70 ---- examples/tools/contiguouscache/contiguouscache.pro | 9 + examples/tools/contiguouscache/main.cpp | 15 + examples/tools/contiguouscache/randomlistmodel.cpp | 56 +++ examples/tools/contiguouscache/randomlistmodel.h | 26 ++ examples/tools/offsetvector/main.cpp | 15 - examples/tools/offsetvector/offsetvector.pro | 9 - examples/tools/offsetvector/randomlistmodel.cpp | 56 --- examples/tools/offsetvector/randomlistmodel.h | 26 -- examples/tools/tools.pro | 2 +- src/corelib/tools/qcontiguouscache.cpp | 359 +++++++++++++++++++ src/corelib/tools/qcontiguouscache.h | 386 +++++++++++++++++++++ src/corelib/tools/qoffsetvector.cpp | 360 ------------------- src/corelib/tools/qoffsetvector.h | 386 --------------------- src/corelib/tools/tools.pri | 4 +- tests/auto/qcontiguouscache/qcontiguouscache.pro | 8 + .../auto/qcontiguouscache/tst_qcontiguouscache.cpp | 361 +++++++++++++++++++ tests/auto/qoffsetvector/qoffsetvector.pro | 8 - tests/auto/qoffsetvector/tst_qoffsetvector.cpp | 361 ------------------- 20 files changed, 1292 insertions(+), 1294 deletions(-) create mode 100644 doc/src/examples/contiguouscache.qdoc delete mode 100644 doc/src/examples/offsetvector.qdoc create mode 100644 examples/tools/contiguouscache/contiguouscache.pro create mode 100644 examples/tools/contiguouscache/main.cpp create mode 100644 examples/tools/contiguouscache/randomlistmodel.cpp create mode 100644 examples/tools/contiguouscache/randomlistmodel.h delete mode 100644 examples/tools/offsetvector/main.cpp delete mode 100644 examples/tools/offsetvector/offsetvector.pro delete mode 100644 examples/tools/offsetvector/randomlistmodel.cpp delete mode 100644 examples/tools/offsetvector/randomlistmodel.h create mode 100644 src/corelib/tools/qcontiguouscache.cpp create mode 100644 src/corelib/tools/qcontiguouscache.h delete mode 100644 src/corelib/tools/qoffsetvector.cpp delete mode 100644 src/corelib/tools/qoffsetvector.h create mode 100644 tests/auto/qcontiguouscache/qcontiguouscache.pro create mode 100644 tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp delete mode 100644 tests/auto/qoffsetvector/qoffsetvector.pro delete mode 100644 tests/auto/qoffsetvector/tst_qoffsetvector.cpp diff --git a/doc/src/examples/contiguouscache.qdoc b/doc/src/examples/contiguouscache.qdoc new file mode 100644 index 0000000..22c97fa --- /dev/null +++ b/doc/src/examples/contiguouscache.qdoc @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +/*! + \example tools/contiguouscache + \title Contiguous Cache Example + + The Contiguous Cache example shows how to use QContiguousCache to manage memory usage for + very large models. In some environments memory is limited, and even when it + isn't users still dislike an application using + excessive memory. Using QContiguousCache to manage a list rather than loading + the entire list into memory allows the application to limit the amount + of memory it uses regardless of the size of the data set it accesses + + The simplest way to use QContiguousCache is to cache as items are requested. When + a view requests an item at row N it is also likely to ask for items at rows near + to N. + + \snippet examples/tools/contiguouscache/randomlistmodel.cpp 0 + + After getting the row the class determines if the row is in the bounds + of the contiguous cache's current range. It would have been equally valid to + simply have the following code instead. + + \code + while (row > m_words.lastIndex()) + m_words.append(fetchWord(m_words.lastIndex()+1); + while (row < m_words.firstIndex()) + m_words.prepend(fetchWord(m_words.firstIndex()-1); + \endcode + + However a list will often jump rows if the scroll bar is used directly, resulting in + the code above to cause every row between where the cache was last centered + to the requested row to be fetched before the requested row is fetched. + + Using QContiguousCache::lastIndex() and QContiguousCache::firstIndex() allows + the example to determine where in the list the cache is currently over. These values + don't represent the indexes into the cache own memory, but rather a virtual + infinite array that the cache represents. + + By using QContiguousCache::append() and QContiguousCache::prepend() the code ensures + that items that may be still on the screen are not lost when the requested row + has not moved far from the current cache range. QContiguousCache::insert() can + potentially remove more than one item from the cache as QContiguousCache does not + allow for gaps. If your cache needs to quickly jump back and forth between + rows with significant gaps between them consider using QCache instead. + + And thats it. A perfectly reasonable cache, using minimal memory for a very large + list. In this case the accessor for getting the words into cache: + + \snippet examples/tools/contiguouscache/randomlistmodel.cpp 1 + + Generates random information rather than fixed information. This allows you + to see how the cache range is kept for a local number of rows when running the + example. + + It is also worth considering pre-fetching items into the cache outside of the + applications paint routine. This can be done either with a separate thread + or using a QTimer to incrementally expand the range of the thread prior to + rows being requested out of the current cache range. +*/ diff --git a/doc/src/examples/offsetvector.qdoc b/doc/src/examples/offsetvector.qdoc deleted file mode 100644 index 256569e..0000000 --- a/doc/src/examples/offsetvector.qdoc +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the $MODULE$ of the Qt Toolkit. -** -** $TROLLTECH_DUAL_LICENSE$ -** -****************************************************************************/ - -/*! - \example tools/offsetvector - \title Offset Vector Example - - The Offset Vector example shows how to use QOffsetVector to manage memory usage for - very large models. In some environments memory is limited, and even when it - isn't users still dislike an application using - excessive memory. Using QOffsetVector to manage a list rather than loading - the entire list into memory allows the application to limit the amount - of memory it uses regardless of the size of the data set it accesses - - The simplest way to use QOffsetVector is to cache as items are requested. When - a view requests an item at row N it is also likely to ask for items at rows near - to N. - - \snippet examples/tools/offsetvector/randomlistmodel.cpp 0 - - After getting the row the class determines if the row is in the bounds - of the offset vector's current range. It would have been equally valid to - simply have the following code instead. - - \code - while (row > m_words.lastIndex()) - m_words.append(fetchWord(m_words.lastIndex()+1); - while (row < m_words.firstIndex()) - m_words.prepend(fetchWord(m_words.firstIndex()-1); - \endcode - - However a list will often jump rows if the scroll bar is used directly, and - the above code would cause every row between where the cache was last centered - to where the cache is currently centered to be cached before the requested - row is reached. - - Using QOffsetVector::lastIndex() and QOffsetVector::firstIndex() allows - the example to determine where the list the vector is currently over. These values - don't represent the indexes into the vector own memory, but rather a virtual - infinite array that the vector represents. - - By using QOffsetVector::append() and QOffsetVector::prepend() the code ensures - that items that may be still on the screen are not lost when the requested row - has not moved far from the current vector range. QOffsetVector::insert() can - potentially remove more than one item from the cache as QOffsetVector does not - allow for gaps. If your cache needs to quickly jump back and forth between - rows with significant gaps between them consider using QCache instead. - - And thats it. A perfectly reasonable cache, using minimal memory for a very large - list. In this case the accessor for getting the words into cache: - - \snippet examples/tools/offsetvector/randomlistmodel.cpp 1 - - Generates random information rather than fixed information. This allows you - to see how the cache range is kept for a local number of rows when running the - example. - - It is also worth considering pre-fetching items into the cache outside of the - applications paint routine. This can be done either with a separate thread - or using a QTimer to incrementally expand the range of the thread prior to - rows being requested out of the current vector range. -*/ diff --git a/examples/tools/contiguouscache/contiguouscache.pro b/examples/tools/contiguouscache/contiguouscache.pro new file mode 100644 index 0000000..f840514 --- /dev/null +++ b/examples/tools/contiguouscache/contiguouscache.pro @@ -0,0 +1,9 @@ +HEADERS = randomlistmodel.h +SOURCES = randomlistmodel.cpp \ + main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tools/contiguouscache +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS contiguouscache.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tools/contiguouscache +INSTALLS += target sources diff --git a/examples/tools/contiguouscache/main.cpp b/examples/tools/contiguouscache/main.cpp new file mode 100644 index 0000000..bdeb3f3 --- /dev/null +++ b/examples/tools/contiguouscache/main.cpp @@ -0,0 +1,15 @@ +#include "randomlistmodel.h" +#include +#include + +int main(int c, char **v) +{ + QApplication a(c, v); + + QListView view; + view.setUniformItemSizes(true); + view.setModel(new RandomListModel(&view)); + view.show(); + + return a.exec(); +} diff --git a/examples/tools/contiguouscache/randomlistmodel.cpp b/examples/tools/contiguouscache/randomlistmodel.cpp new file mode 100644 index 0000000..5c0953b --- /dev/null +++ b/examples/tools/contiguouscache/randomlistmodel.cpp @@ -0,0 +1,56 @@ +#include "randomlistmodel.h" + +static const int bufferSize(500); +static const int lookAhead(100); +static const int halfLookAhead(lookAhead/2); + +RandomListModel::RandomListModel(QObject *parent) +: QAbstractListModel(parent), m_rows(bufferSize), m_count(10000) +{ +} + +RandomListModel::~RandomListModel() +{ +} + +int RandomListModel::rowCount(const QModelIndex &) const +{ + return m_count; +} + +//! [0] +QVariant RandomListModel::data(const QModelIndex &index, int role) const +{ + if (role != Qt::DisplayRole) + return QVariant(); + + int row = index.row(); + + if (row > m_rows.lastIndex()) { + if (row - m_rows.lastIndex() > lookAhead) + cacheRows(row-halfLookAhead, qMin(m_count, row+halfLookAhead)); + else while (row > m_rows.lastIndex()) + m_rows.append(fetchRow(m_rows.lastIndex()+1)); + } else if (row < m_rows.firstIndex()) { + if (m_rows.firstIndex() - row > lookAhead) + cacheRows(qMax(0, row-halfLookAhead), row+halfLookAhead); + else while (row < m_rows.firstIndex()) + m_rows.prepend(fetchRow(m_rows.firstIndex()-1)); + } + + return m_rows.at(row); +} + +void RandomListModel::cacheRows(int from, int to) const +{ + for (int i = from; i <= to; ++i) + m_rows.insert(i, fetchRow(i)); +} +//![0] + +//![1] +QString RandomListModel::fetchRow(int position) const +{ + return QString::number(rand() % ++position); +} +//![1] diff --git a/examples/tools/contiguouscache/randomlistmodel.h b/examples/tools/contiguouscache/randomlistmodel.h new file mode 100644 index 0000000..ad8cfad --- /dev/null +++ b/examples/tools/contiguouscache/randomlistmodel.h @@ -0,0 +1,26 @@ +#ifndef RANDOMLISTMODEL_H +#define RANDOMLISTMODEL_H + +#include +#include + +class QTimer; +class RandomListModel : public QAbstractListModel +{ + Q_OBJECT +public: + RandomListModel(QObject *parent = 0); + ~RandomListModel(); + + int rowCount(const QModelIndex & = QModelIndex()) const; + QVariant data(const QModelIndex &, int) const; + +private: + void cacheRows(int, int) const; + QString fetchRow(int) const; + + mutable QContiguousCache m_rows; + const int m_count; +}; + +#endif diff --git a/examples/tools/offsetvector/main.cpp b/examples/tools/offsetvector/main.cpp deleted file mode 100644 index bdeb3f3..0000000 --- a/examples/tools/offsetvector/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "randomlistmodel.h" -#include -#include - -int main(int c, char **v) -{ - QApplication a(c, v); - - QListView view; - view.setUniformItemSizes(true); - view.setModel(new RandomListModel(&view)); - view.show(); - - return a.exec(); -} diff --git a/examples/tools/offsetvector/offsetvector.pro b/examples/tools/offsetvector/offsetvector.pro deleted file mode 100644 index f329bb9..0000000 --- a/examples/tools/offsetvector/offsetvector.pro +++ /dev/null @@ -1,9 +0,0 @@ -HEADERS = randomlistmodel.h -SOURCES = randomlistmodel.cpp \ - main.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/tools/offsetvector -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS offsetvector.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/tools/offsetvector -INSTALLS += target sources diff --git a/examples/tools/offsetvector/randomlistmodel.cpp b/examples/tools/offsetvector/randomlistmodel.cpp deleted file mode 100644 index 5c0953b..0000000 --- a/examples/tools/offsetvector/randomlistmodel.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "randomlistmodel.h" - -static const int bufferSize(500); -static const int lookAhead(100); -static const int halfLookAhead(lookAhead/2); - -RandomListModel::RandomListModel(QObject *parent) -: QAbstractListModel(parent), m_rows(bufferSize), m_count(10000) -{ -} - -RandomListModel::~RandomListModel() -{ -} - -int RandomListModel::rowCount(const QModelIndex &) const -{ - return m_count; -} - -//! [0] -QVariant RandomListModel::data(const QModelIndex &index, int role) const -{ - if (role != Qt::DisplayRole) - return QVariant(); - - int row = index.row(); - - if (row > m_rows.lastIndex()) { - if (row - m_rows.lastIndex() > lookAhead) - cacheRows(row-halfLookAhead, qMin(m_count, row+halfLookAhead)); - else while (row > m_rows.lastIndex()) - m_rows.append(fetchRow(m_rows.lastIndex()+1)); - } else if (row < m_rows.firstIndex()) { - if (m_rows.firstIndex() - row > lookAhead) - cacheRows(qMax(0, row-halfLookAhead), row+halfLookAhead); - else while (row < m_rows.firstIndex()) - m_rows.prepend(fetchRow(m_rows.firstIndex()-1)); - } - - return m_rows.at(row); -} - -void RandomListModel::cacheRows(int from, int to) const -{ - for (int i = from; i <= to; ++i) - m_rows.insert(i, fetchRow(i)); -} -//![0] - -//![1] -QString RandomListModel::fetchRow(int position) const -{ - return QString::number(rand() % ++position); -} -//![1] diff --git a/examples/tools/offsetvector/randomlistmodel.h b/examples/tools/offsetvector/randomlistmodel.h deleted file mode 100644 index e102255..0000000 --- a/examples/tools/offsetvector/randomlistmodel.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef RANDOMLISTMODEL_H -#define RANDOMLISTMODEL_H - -#include -#include - -class QTimer; -class RandomListModel : public QAbstractListModel -{ - Q_OBJECT -public: - RandomListModel(QObject *parent = 0); - ~RandomListModel(); - - int rowCount(const QModelIndex & = QModelIndex()) const; - QVariant data(const QModelIndex &, int) const; - -private: - void cacheRows(int, int) const; - QString fetchRow(int) const; - - mutable QOffsetVector m_rows; - const int m_count; -}; - -#endif diff --git a/examples/tools/tools.pro b/examples/tools/tools.pro index 424f286..c694dd8 100644 --- a/examples/tools/tools.pro +++ b/examples/tools/tools.pro @@ -5,7 +5,7 @@ SUBDIRS = codecs \ customcompleter \ echoplugin \ i18n \ - offsetvector \ + contiguouscache \ plugandpaintplugins \ plugandpaint \ regexp \ diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp new file mode 100644 index 0000000..5046912 --- /dev/null +++ b/src/corelib/tools/qcontiguouscache.cpp @@ -0,0 +1,359 @@ +/**************************************************************************** +** +** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#include "qcontiguouscache.h" +#include + +void QContiguousCacheData::dump() const +{ + qDebug() << "capacity:" << alloc; + qDebug() << "count:" << count; + qDebug() << "start:" << start; + qDebug() << "offset:" << offset; +} + +/*! \class QContiguousCache + \brief The QContiguousCache class is a template class that provides a contiguous cache. + \ingroup tools + \ingroup shared + \reentrant + + The QContiguousCache class provides an efficient way of caching items for + display in a user interface view. Unlike QCache though it adds a restriction + that elements within the cache are contiguous. This has the advantage that + of matching how user interface views most commonly request data, as + a set of rows localized around the current scrolled position. It also + allows the cache to use less overhead than QCache both in terms of + performance and memory. + + The simplest way of using an contiguous cache is to use the append() + and prepend(). + +\code +MyRecord record(int row) const +{ + Q_ASSERT(row >= 0 && row < count()); + + while(row > cache.lastIndex()) + cache.append(slowFetchRecord(cache.lastIndex()+1)); + while(row < cache.firstIndex()) + cache.prepend(slowFetchRecord(cache.firstIndex()-1)); + + return cache.at(row); +} +\endcode + + If the cache is full then the item with the furthest index from where + the new item is appended or prepended is removed. + + This usage can be further optimized by using the insert() function + in the case where the requested row is a long way from the currently cached + items. If there is a is a gap between where the new item is inserted and the currently + cached items then the existing cached items are first removed to retain + the contiguous nature of the cache. Hence it is important to take some care then + when using insert() in order to avoid to unwanted clearing of the cache. + + See the The \l{Contiguous Cache Example}{Contiguous Cache} example. +*/ + +/*! \fn QContiguousCache::QContiguousCache(int capacity) + + Constructs a cache with the given \a capacity. + + \sa setCapacity() +*/ + +/*! \fn QContiguousCache::QContiguousCache(const QContiguousCache &other) + + Constructs a copy of \a other. + + This operation takes \l{constant time}, because QContiguousCache is + \l{implicitly shared}. This makes returning a QContiguousCache from a + function very fast. If a shared instance is modified, it will be + copied (copy-on-write), and that takes \l{linear time}. + + \sa operator=() +*/ + +/*! \fn QContiguousCache::~QContiguousCache() + Destroys the cache. +*/ + +/*! \fn void QContiguousCache::detach() + + \internal +*/ + +/*! \fn bool QContiguousCache::isDetached() const + + \internal +*/ + +/*! \fn void QContiguousCache::setSharable(bool sharable) + + \internal +*/ + + +/*! \fn QContiguousCache &QContiguousCache::operator=(const QContiguousCache &other) + + Assigns \a other to this cache and returns a reference to this cache. +*/ + +/*! \fn bool QContiguousCache::operator==(const QContiguousCache &other) const + + Returns true if \a other is equal to this cache; otherwise returns false. + + Two cache are considered equal if they contain the same values at the same + indexes. This function requires the value type to implement the \c operator==(). + + \sa operator!=() +*/ + +/*! \fn bool QContiguousCache::operator!=(const QContiguousCache &other) const + + Returns true if \a other is not equal to this cache; otherwise + returns false. + + Two cache are considered equal if they contain the same values at the same + indexes. This function requires the value type to implement the \c operator==(). + + \sa operator==() +*/ + +/*! \fn int QContiguousCache::capacity() const + + Returns the number of items the cache can store before it is full. + When a cache contains a number of items equal to its capacity, adding new + items will cause items furthest from the added item to be removed. + + \sa setCapacity(), size() +*/ + +/*! \fn int QContiguousCache::count() const + + \overload + + Same as size(). +*/ + +/*! \fn int QContiguousCache::size() const + + Returns the number of items contained within the cache. + + \sa capacity() +*/ + +/*! \fn bool QContiguousCache::isEmpty() const + + Returns true if no items are stored within the cache. + + \sa size(), capacity() +*/ + +/*! \fn bool QContiguousCache::isFull() const + + Returns true if the number of items stored within the cache is equal + to the capacity of the cache. + + \sa size(), capacity() +*/ + +/*! \fn int QContiguousCache::available() const + + Returns the number of items that can be added to the cache before it becomes full. + + \sa size(), capacity(), isFull() +*/ + +/*! \fn void QContiguousCache::clear() + + Removes all items from the cache. The capacity is unchanged. +*/ + +/*! \fn void QContiguousCache::setCapacity(int size) + + Sets the capacity of the cache to the given \a size. A cache can hold a + number of items equal to its capacity. When inserting, appending or prepending + items to the cache, if the cache is already full then the item furthest from + the added item will be removed. + + If the given \a size is smaller than the current count of items in the cache + then only the last \a size items from the cache will remain. + + \sa capacity(), isFull() +*/ + +/*! \fn const T &QContiguousCache::at(int i) const + + Returns the item at index position \a i in the cache. \a i must + be a valid index position in the cache (i.e, firstIndex() <= \a i <= lastIndex()). + + The indexes in the cache refer to number of positions the item is from the + first item appended into the cache. That is to say a cache with a capacity of + 100, that has had 150 items appended will have a valid index range of + 50 to 149. This allows inserting an retrieving items into the cache based + on a theoretical infinite list + + \sa firstIndex(), lastIndex(), insert(), operator[]() +*/ + +/*! \fn T &QContiguousCache::operator[](int i) + + Returns the item at index position \a i as a modifiable reference. If + the cache does not contain an item at the given index position \a i + then it will first insert an empty item at that position. + + In most cases it is better to use either at() or insert(). + + Note that using non-const operators can cause QContiguousCache to do a deep + copy. + + \sa insert(), at() +*/ + +/*! \fn const T &QContiguousCache::operator[](int i) const + + \overload + + Same as at(\a i). +*/ + +/*! \fn void QContiguousCache::append(const T &value) + + Inserts \a value at the end of the cache. If the cache is already full + the item at the start of the cache will be removed. + + \sa prepend(), insert(), isFull() +*/ + +/*! \fn void QContiguousCache::prepend(const T &value) + + Inserts \a value at the start of the cache. If the cache is already full + the item at the end of the cache will be removed. + + \sa append(), insert(), isFull() +*/ + +/*! \fn void QContiguousCache::insert(int i, const T &value) + + Inserts the \a value at the index position \a i. If the cache already contains + an item at \a i then that value is replaced. If \a i is either one more than + lastIndex() or one less than firstIndex() it is the equivalent to an append() + or a prepend(). + + If the given index \a i is not within the current range of the cache nor adjacent + to the bounds of the cache's index range the cache is first cleared before + inserting the item. At this point the cache will have a size of 1. It is worth + while then taking effort to insert items in an order that starts adjacent to the + current index range for the cache. + + \sa prepend(), append(), isFull(), firstIndex(), lastIndex() +*/ + +/*! \fn bool QContiguousCache::containsIndex(int i) const + + Returns true if the cache's index range includes the given index \a i. + + \sa firstIndex(), lastIndex() +*/ + +/*! \fn int QContiguousCache::firstIndex() const + Returns the first valid index in the cache. The index will be invalid if the + cache is empty. However the following code is valid even when the cache is empty: + + \code + for (int i = cache.firstIndex(); i <= cache.lastIndex(); ++i) + qDebug() << "Item" << i << "of the cache is" << cache.at(i); + \endcode + + \sa capacity(), size(), lastIndex() +*/ + +/*! \fn int QContiguousCache::lastIndex() const + + Returns the last valid index in the cache. If the cache is empty will return -1. + + \code + for (int i = cache.firstIndex(); i <= cache.lastIndex(); ++i) + qDebug() << "Item" << i << "of the cache is" << cache.at(i); + \endcode + + \sa capacity(), size(), firstIndex() +*/ + + +/*! \fn T &QContiguousCache::first() + + Returns a reference to the first item in the cache. This function + assumes that the cache isn't empty. + + \sa last(), isEmpty() +*/ + +/*! \fn T &QContiguousCache::last() + + Returns a reference to the last item in the cache. This function + assumes that the cache isn't empty. + + \sa first(), isEmpty() +*/ + +/*! \fn const T& QContiguousCache::first() const + + \overload +*/ + +/*! \fn const T& QContiguousCache::last() const + + \overload +*/ + +/*! \fn void QContiguousCache::removeFirst() + + Removes the first item from the cache. This function assumes that + the cache isn't empty. + + \sa removeLast() +*/ + +/*! \fn void QContiguousCache::removeLast() + + Removes the last item from the cache. This function assumes that + the cache isn't empty. + + \sa removeFirst() +*/ + +/*! \fn T QContiguousCache::takeFirst() + + Removes the first item in the cache and returns it. + + If you don't sue the return value, removeFirst() is more efficient. + + \sa takeLast(), removeFirst() +*/ + +/*! \fn T QContiguousCache::takeLast() + + Removes the last item in the cache and returns it. + + If you don't sue the return value, removeLast() is more efficient. + + \sa takeFirst(), removeLast() +*/ + +/*! \fn void QContiguousCache::dump() const + + \internal + + Sends information about the cache's internal structure to qDebug() +*/ diff --git a/src/corelib/tools/qcontiguouscache.h b/src/corelib/tools/qcontiguouscache.h new file mode 100644 index 0000000..03012a2 --- /dev/null +++ b/src/corelib/tools/qcontiguouscache.h @@ -0,0 +1,386 @@ +/**************************************************************************** +** +** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the $MODULE$ of the Qt Toolkit. +** +** $TROLLTECH_DUAL_LICENSE$ +** +****************************************************************************/ + +#ifndef QCONTIGUOUSCACHE_H +#define QCONTIGUOUSCACHE_H + +#include + +struct QContiguousCacheData +{ + QBasicAtomicInt ref; + int alloc; + int count; + int start; + int offset; + uint sharable : 1; + + void dump() const; +}; + +template +struct QContiguousCacheTypedData +{ + QBasicAtomicInt ref; + int alloc; + int count; + int start; + int offset; + uint sharable : 1; + + T array[1]; +}; + +class QContiguousCacheDevice; + +template +class QContiguousCache { + typedef QContiguousCacheTypedData Data; + union { QContiguousCacheData *p; QContiguousCacheTypedData *d; }; +public: + explicit QContiguousCache(int capacity = 0); + QContiguousCache(const QContiguousCache &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } + + inline ~QContiguousCache() { if (!d) return; if (!d->ref.deref()) free(d); } + + inline void detach() { if (d->ref != 1) detach_helper(); } + inline bool isDetached() const { return d->ref == 1; } + inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } + + QContiguousCache &operator=(const QContiguousCache &other); + bool operator==(const QContiguousCache &other) const; + inline bool operator!=(const QContiguousCache &other) const { return !(*this == other); } + + inline int capacity() const {return d->alloc; } + inline int count() const { return d->count; } + inline int size() const { return d->count; } + + inline bool isEmpty() const { return d->count == 0; } + inline bool isFull() const { return d->count == d->alloc; } + inline int available() const { return d->alloc - d->count; } + + void clear(); + void setCapacity(int size); + + const T &at(int pos) const; + T &operator[](int i); + const T &operator[](int i) const; + + void append(const T &value); + void prepend(const T &value); + void insert(int pos, const T &value); + + inline bool containsIndex(int pos) const { return pos >= d->offset && pos - d->offset < d->count; } + inline int firstIndex() const { return d->offset; } + inline int lastIndex() const { return d->offset + d->count - 1; } + + inline const T &first() const { Q_ASSERT(!isEmpty()); return d->array[d->start]; } + inline const T &last() const { Q_ASSERT(!isEmpty()); return d->array[(d->start + d->count -1) % d->alloc]; } + inline T &first() { Q_ASSERT(!isEmpty()); detach(); return d->array[d->start]; } + inline T &last() { Q_ASSERT(!isEmpty()); detach(); return d->array[(d->start + d->count -1) % d->alloc]; } + + void removeFirst(); + T takeFirst(); + void removeLast(); + T takeLast(); + + // debug + void dump() const { p->dump(); } +private: + void detach_helper(); + + QContiguousCacheData *malloc(int alloc); + void free(Data *d); + int sizeOfTypedData() { + // this is more or less the same as sizeof(Data), except that it doesn't + // count the padding at the end + return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); + } +}; + +template +void QContiguousCache::detach_helper() +{ + union { QContiguousCacheData *p; QContiguousCacheTypedData *d; } x; + + x.p = malloc(d->alloc); + x.d->ref = 1; + x.d->count = d->count; + x.d->start = d->start; + x.d->offset = d->offset; + x.d->alloc = d->alloc; + x.d->sharable = true; + + T *dest = x.d->array + x.d->start; + T *src = d->array + d->start; + int count = x.d->count; + while (count--) { + if (QTypeInfo::isComplex) { + new (dest) T(*src); + } else { + *dest = *src; + } + dest++; + if (dest == x.d->array + x.d->alloc) + dest = x.d->array; + src++; + if (src == d->array + d->alloc) + src = d->array; + } + + if (!d->ref.deref()) + free(d); + d = x.d; +} + +template +void QContiguousCache::setCapacity(int asize) +{ + if (asize == d->alloc) + return; + detach(); + union { QContiguousCacheData *p; QContiguousCacheTypedData *d; } x; + x.p = malloc(asize); + x.d->alloc = asize; + x.d->count = qMin(d->count, asize); + x.d->offset = d->offset + d->count - x.d->count; + x.d->start = x.d->offset % x.d->alloc; + /* deep copy - + slow way now, get unit test working, then + improve performance if need be. (e.g. memcpy) + */ + T *dest = x.d->array + (x.d->start + x.d->count-1) % x.d->alloc; + T *src = d->array + (d->start + d->count-1) % d->alloc; + int count = x.d->count; + while (count--) { + if (QTypeInfo::isComplex) { + new (dest) T(*src); + } else { + *dest = *src; + } + if (dest == x.d->array) + dest = x.d->array + x.d->alloc; + dest--; + if (src == d->array) + src = d->array + d->alloc; + src--; + } + /* free old */ + free(d); + d = x.d; +} + +template +void QContiguousCache::clear() +{ + if (d->ref == 1) { + if (QTypeInfo::isComplex) { + int count = d->count; + T * i = d->array + d->start; + T * e = d->array + d->alloc; + while (count--) { + i->~T(); + i++; + if (i == e) + i = d->array; + } + } + d->count = d->start = d->offset = 0; + } else { + union { QContiguousCacheData *p; QContiguousCacheTypedData *d; } x; + x.p = malloc(d->alloc); + x.d->ref = 1; + x.d->alloc = d->alloc; + x.d->count = x.d->start = x.d->offset = 0; + x.d->sharable = true; + if (!d->ref.deref()) free(d); + d = x.d; + } +} + +template +inline QContiguousCacheData *QContiguousCache::malloc(int aalloc) +{ + return static_cast(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T))); +} + +template +QContiguousCache::QContiguousCache(int asize) +{ + p = malloc(asize); + d->ref = 1; + d->alloc = asize; + d->count = d->start = d->offset = 0; + d->sharable = true; +} + +template +QContiguousCache &QContiguousCache::operator=(const QContiguousCache &other) +{ + other.d->ref.ref(); + if (!d->ref.deref()) + free(d); + d = other.d; + if (!d->sharable) + detach_helper(); + return *this; +} + +template +bool QContiguousCache::operator==(const QContiguousCache &other) const +{ + if (other.d == d) + return true; + if (other.d->start != d->start + || other.d->count != d->count + || other.d->offset != d->offset + || other.d->alloc != d->alloc) + return false; + for (int i = firstIndex(); i <= lastIndex(); ++i) + if (!(at(i) == other.at(i))) + return false; + return true; +} + +template +void QContiguousCache::free(Data *x) +{ + if (QTypeInfo::isComplex) { + int count = d->count; + T * i = d->array + d->start; + T * e = d->array + d->alloc; + while (count--) { + i->~T(); + i++; + if (i == e) + i = d->array; + } + } + qFree(x); +} + +template +void QContiguousCache::append(const T &value) +{ + detach(); + if (QTypeInfo::isComplex) { + if (d->count == d->alloc) + (d->array + (d->start+d->count) % d->alloc)->~T(); + new (d->array + (d->start+d->count) % d->alloc) T(value); + } else { + d->array[(d->start+d->count) % d->alloc] = value; + } + + if (d->count == d->alloc) { + d->start++; + d->start %= d->alloc; + d->offset++; + } else { + d->count++; + } +} + +template +void QContiguousCache::prepend(const T &value) +{ + detach(); + if (d->start) + d->start--; + else + d->start = d->alloc-1; + d->offset--; + + if (d->count != d->alloc) + d->count++; + else + if (d->count == d->alloc) + (d->array + d->start)->~T(); + + if (QTypeInfo::isComplex) + new (d->array + d->start) T(value); + else + d->array[d->start] = value; +} + +template +void QContiguousCache::insert(int pos, const T &value) +{ + detach(); + if (containsIndex(pos)) { + if(QTypeInfo::isComplex) + new (d->array + pos % d->alloc) T(value); + else + d->array[pos % d->alloc] = value; + } else if (pos == d->offset-1) + prepend(value); + else if (pos == d->offset+d->count) + append(value); + else { + // we don't leave gaps. + clear(); + d->offset = d->start = pos; + d->start %= d->alloc; + d->count = 1; + if (QTypeInfo::isComplex) + new (d->array + d->start) T(value); + else + d->array[d->start] = value; + } +} + +template +inline const T &QContiguousCache::at(int pos) const +{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache::at", "index out of range"); return d->array[pos % d->alloc]; } +template +inline const T &QContiguousCache::operator[](int pos) const +{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache::at", "index out of range"); return d->array[pos % d->alloc]; } +template + +// can use the non-inline one to modify the index range. +inline T &QContiguousCache::operator[](int pos) +{ + detach(); + if (!containsIndex(pos)) + insert(pos, T()); + return d->array[pos % d->alloc]; +} + +template +inline void QContiguousCache::removeFirst() +{ + Q_ASSERT(d->count > 0); + detach(); + d->count--; + if (QTypeInfo::isComplex) + (d->array + d->start)->~T(); + d->start = (d->start + 1) % d->alloc; + d->offset++; +} + +template +inline void QContiguousCache::removeLast() +{ + Q_ASSERT(d->count > 0); + detach(); + d->count--; + if (QTypeInfo::isComplex) + (d->array + (d->start + d->count) % d->alloc)->~T(); +} + +template +inline T QContiguousCache::takeFirst() +{ T t = first(); removeFirst(); return t; } + +template +inline T QContiguousCache::takeLast() +{ T t = last(); removeLast(); return t; } + +#endif diff --git a/src/corelib/tools/qoffsetvector.cpp b/src/corelib/tools/qoffsetvector.cpp deleted file mode 100644 index 32d2872..0000000 --- a/src/corelib/tools/qoffsetvector.cpp +++ /dev/null @@ -1,360 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the $MODULE$ of the Qt Toolkit. -** -** $TROLLTECH_DUAL_LICENSE$ -** -****************************************************************************/ - -#include "qoffsetvector.h" -#include - -void QOffsetVectorData::dump() const -{ - qDebug() << "capacity:" << alloc; - qDebug() << "count:" << count; - qDebug() << "start:" << start; - qDebug() << "offset:" << offset; -} - -/*! \class QOffsetVector - \brief The QOffsetVector class is a template class that provides a offset vector. - \ingroup tools - \ingroup shared - \reentrant - - The QOffsetVector class provides an efficient way of caching items for - display in a user interface view. It does this by providing a window - into a theoretical infinite sized vector. This has the advantage that - it matches how user interface views most commonly request the data, in - a set of rows localized around the current scrolled position. It also - allows the cache to use less overhead than QCache both in terms of - performance and memory. In turn, unlike a QCache, the key has to be - an int and has to be contiguous. That is to say if an item is inserted - at index 85, then if there were no previous items at 84 or 86 then the - cache will be cleared before the new item at 85 is inserted. If this - restriction is not suitable consider using QCache instead. - - The simplest way of using an offset vector is to use the append() - and prepend() functions to slide the window to where it is needed. - -\code -MyRecord record(int row) const -{ - Q_ASSERT(row >= 0 && row < count()); - - while(row > cache.lastIndex()) - cache.append(slowFetchRecord(cache.lastIndex()+1)); - while(row < cache.firstIndex()) - cache.prepend(slowFetchRecord(cache.firstIndex()-1)); - - return cache.at(row); -} -\endcode - - The append() and prepend() functions cause the vector window to move to - where the current row is requested from. This usage can be further - optimized by using the insert() function to reset the vector window to - a row in the case where the row is a long way from the current row. It - may also be worth while to fetch multiple records into the cache if - it is faster to retrieve them in a batch operation. - - See the The \l{Offset Vector Example}{Offset Vector} example. -*/ - -/*! \fn QOffsetVector::QOffsetVector(int capacity) - - Constructs a vector with the given \a capacity. - - \sa setCapacity() -*/ - -/*! \fn QOffsetVector::QOffsetVector(const QOffsetVector &other) - - Constructs a copy of \a other. - - This operation takes \l{constant time}, because QOffsetVector is - \l{implicitly shared}. This makes returning a QOffsetVector from a - function very fast. If a shared instance is modified, it will be - copied (copy-on-write), and that takes \l{linear time}. - - \sa operator=() -*/ - -/*! \fn QOffsetVector::~QOffsetVector() - Destorys the vector. -*/ - -/*! \fn void QOffsetVector::detach() - - \internal -*/ - -/*! \fn bool QOffsetVector::isDetached() const - - \internal -*/ - -/*! \fn void QOffsetVector::setSharable(bool sharable) - - \internal -*/ - - -/*! \fn QOffsetVector &QOffsetVector::operator=(const QOffsetVector &other) - - Assigns \a other to this vector and returns a reference to this vector. -*/ - -/*! \fn bool QOffsetVector::operator==(const QOffsetVector &other) const - - Returns true if \a other is equal to this vector; otherwise returns false. - - Two vectors are considered equal if they contain the same values at the same - indexes. This function requires the value type to implement the \c operator==(). - - \sa operator!=() -*/ - -/*! \fn bool QOffsetVector::operator!=(const QOffsetVector &other) const - - Returns true if \a other is not equal to this vector; otherwise - returns false. - - Two vector are considered equal if they contain the same values at the same - indexes. This function requires the value type to implement the \c operator==(). - - \sa operator==() -*/ - -/*! \fn int QOffsetVector::capacity() const - - Returns the number of items the vector can store before it is full. - When a vector contains a number of items equal to its capacity, adding new - items will cause items furthest from the added item to be removed. - - \sa setCapacity(), size() -*/ - -/*! \fn int QOffsetVector::count() const - - \overload - - Same as size(). -*/ - -/*! \fn int QOffsetVector::size() const - - Returns the number of items contained within the vector. - - \sa capacity() -*/ - -/*! \fn bool QOffsetVector::isEmpty() const - - Returns true if no items are stored within the vector. - - \sa size(), capacity() -*/ - -/*! \fn bool QOffsetVector::isFull() const - - Returns true if the number of items stored within the vector is equal - to the capacity of the vector. - - \sa size(), capacity() -*/ - -/*! \fn int QOffsetVector::available() const - - Returns the number of items that can be added to the vector before it becomes full. - - \sa size(), capacity(), isFull() -*/ - -/*! \fn void QOffsetVector::clear() - - Removes all items from the vector. The capacity is unchanged. -*/ - -/*! \fn void QOffsetVector::setCapacity(int size) - - Sets the capacity of the vector to the given \a size. A vector can hold a - number of items equal to its capacity. When inserting, appending or prepending - items to the vector, if the vector is already full then the item furthest from - the added item will be removed. - - If the given \a size is smaller than the current count of items in the vector - then only the last \a size items from the vector will remain. - - \sa capacity(), isFull() -*/ - -/*! \fn const T &QOffsetVector::at(int i) const - - Returns the item at index position \a i in the vector. \a i must - be a valid index position in the vector (i.e, firstIndex() <= \a i <= lastIndex()). - - The indexes in the vector refer to number of positions the item is from the - first item appended into the vector. That is to say a vector with a capacity of - 100, that has had 150 items appended will have a valid index range of - 50 to 149. This allows inserting an retrieving items into the vector based - on a theoretical infinite list - - \sa firstIndex(), lastIndex(), insert(), operator[]() -*/ - -/*! \fn T &QOffsetVector::operator[](int i) - - Returns the item at index position \a i as a modifiable reference. If - the vector does not contain an item at the given index position \a i - then it will first insert an empty item at that position. - - In most cases it is better to use either at() or insert(). - - Note that using non-const operators can cause QOffsetVector to do a deep - copy. - - \sa insert(), at() -*/ - -/*! \fn const T &QOffsetVector::operator[](int i) const - - \overload - - Same as at(\a i). -*/ - -/*! \fn void QOffsetVector::append(const T &value) - - Inserts \a value at the end of the vector. If the vector is already full - the item at the start of the vector will be removed. - - \sa prepend(), insert(), isFull() -*/ - -/*! \fn void QOffsetVector::prepend(const T &value) - - Inserts \a value at the start of the vector. If the vector is already full - the item at the end of the vector will be removed. - - \sa append(), insert(), isFull() -*/ - -/*! \fn void QOffsetVector::insert(int i, const T &value) - - Inserts the \a value at the index position \a i. If the vector already contains - an item at \a i then that value is replaced. If \a i is either one more than - lastIndex() or one less than firstIndex() it is the equivalent to an append() - or a prepend(). - - If the given index \a i is not within the current range of the vector nor adjacent - to the bounds of the vector's index range the vector is first cleared before - inserting the item. At this point the vector will have a size of 1. It is worth - while then taking effort to insert items in an order than starts adjacent to the - current index range for the vector. - - \sa prepend(), append(), isFull(), firstIndex(), lastIndex() -*/ - -/*! \fn bool QOffsetVector::containsIndex(int i) const - - Returns true if the vector's index range includes the given index \a i. - - \sa firstIndex(), lastIndex() -*/ - -/*! \fn int QOffsetVector::firstIndex() const - Returns the first valid index in the vector. The index will be invalid if the - vector is empty. However the following code is valid even when the vector is empty: - - \code - for (int i = vector.firstIndex(); i <= vector.lastIndex(); ++i) - qDebug() << "Item" << i << "of the vector is" << vector.at(i); - \endcode - - \sa capacity(), size(), lastIndex() -*/ - -/*! \fn int QOffsetVector::lastIndex() const - - Returns the last valid index in the vector. If the vector is empty will return -1. - - \code - for (int i = vector.firstIndex(); i <= vector.lastIndex(); ++i) - qDebug() << "Item" << i << "of the vector is" << vector.at(i); - \endcode - - \sa capacity(), size(), firstIndex() -*/ - - -/*! \fn T &QOffsetVector::first() - - Returns a reference to the first item in the vector. This function - assumes that the vector isn't empty. - - \sa last(), isEmpty() -*/ - -/*! \fn T &QOffsetVector::last() - - Returns a reference to the last item in the vector. This function - assumes that the vector isn't empty. - - \sa first(), isEmpty() -*/ - -/*! \fn const T& QOffsetVector::first() const - - \overload -*/ - -/*! \fn const T& QOffsetVector::last() const - - \overload -*/ - -/*! \fn void QOffsetVector::removeFirst() - - Removes the first item from the vector. This function assumes that - the vector isn't empty. - - \sa removeLast() -*/ - -/*! \fn void QOffsetVector::removeLast() - - Removes the last item from the vector. This function assumes that - the vector isn't empty. - - \sa removeFirst() -*/ - -/*! \fn T QOffsetVector::takeFirst() - - Removes the first item in the vector and returns it. - - If you don't sue the return value, removeFirst() is more efficient. - - \sa takeLast(), removeFirst() -*/ - -/*! \fn T QOffsetVector::takeLast() - - Removes the last item in the vector and returns it. - - If you don't sue the return value, removeLast() is more efficient. - - \sa takeFirst(), removeLast() -*/ - -/*! \fn void QOffsetVector::dump() const - - \internal - - Sends information about the vector's internal structure to qDebug() -*/ diff --git a/src/corelib/tools/qoffsetvector.h b/src/corelib/tools/qoffsetvector.h deleted file mode 100644 index 7030862..0000000 --- a/src/corelib/tools/qoffsetvector.h +++ /dev/null @@ -1,386 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the $MODULE$ of the Qt Toolkit. -** -** $TROLLTECH_DUAL_LICENSE$ -** -****************************************************************************/ - -#ifndef QCIRCULARBUFFER_H -#define QCIRCULARBUFFER_H - -#include - -struct QOffsetVectorData -{ - QBasicAtomicInt ref; - int alloc; - int count; - int start; - int offset; - uint sharable : 1; - - void dump() const; -}; - -template -struct QOffsetVectorTypedData -{ - QBasicAtomicInt ref; - int alloc; - int count; - int start; - int offset; - uint sharable : 1; - - T array[1]; -}; - -class QOffsetVectorDevice; - -template -class QOffsetVector { - typedef QOffsetVectorTypedData Data; - union { QOffsetVectorData *p; QOffsetVectorTypedData *d; }; -public: - explicit QOffsetVector(int capacity = 0); - QOffsetVector(const QOffsetVector &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } - - inline ~QOffsetVector() { if (!d) return; if (!d->ref.deref()) free(d); } - - inline void detach() { if (d->ref != 1) detach_helper(); } - inline bool isDetached() const { return d->ref == 1; } - inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } - - QOffsetVector &operator=(const QOffsetVector &other); - bool operator==(const QOffsetVector &other) const; - inline bool operator!=(const QOffsetVector &other) const { return !(*this == other); } - - inline int capacity() const {return d->alloc; } - inline int count() const { return d->count; } - inline int size() const { return d->count; } - - inline bool isEmpty() const { return d->count == 0; } - inline bool isFull() const { return d->count == d->alloc; } - inline int available() const { return d->alloc - d->count; } - - void clear(); - void setCapacity(int size); - - const T &at(int pos) const; - T &operator[](int i); - const T &operator[](int i) const; - - void append(const T &value); - void prepend(const T &value); - void insert(int pos, const T &value); - - inline bool containsIndex(int pos) const { return pos >= d->offset && pos - d->offset < d->count; } - inline int firstIndex() const { return d->offset; } - inline int lastIndex() const { return d->offset + d->count - 1; } - - inline const T &first() const { Q_ASSERT(!isEmpty()); return d->array[d->start]; } - inline const T &last() const { Q_ASSERT(!isEmpty()); return d->array[(d->start + d->count -1) % d->alloc]; } - inline T &first() { Q_ASSERT(!isEmpty()); detach(); return d->array[d->start]; } - inline T &last() { Q_ASSERT(!isEmpty()); detach(); return d->array[(d->start + d->count -1) % d->alloc]; } - - void removeFirst(); - T takeFirst(); - void removeLast(); - T takeLast(); - - // debug - void dump() const { p->dump(); } -private: - void detach_helper(); - - QOffsetVectorData *malloc(int alloc); - void free(Data *d); - int sizeOfTypedData() { - // this is more or less the same as sizeof(Data), except that it doesn't - // count the padding at the end - return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); - } -}; - -template -void QOffsetVector::detach_helper() -{ - union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; - - x.p = malloc(d->alloc); - x.d->ref = 1; - x.d->count = d->count; - x.d->start = d->start; - x.d->offset = d->offset; - x.d->alloc = d->alloc; - x.d->sharable = true; - - T *dest = x.d->array + x.d->start; - T *src = d->array + d->start; - int count = x.d->count; - while (count--) { - if (QTypeInfo::isComplex) { - new (dest) T(*src); - } else { - *dest = *src; - } - dest++; - if (dest == x.d->array + x.d->alloc) - dest = x.d->array; - src++; - if (src == d->array + d->alloc) - src = d->array; - } - - if (!d->ref.deref()) - free(d); - d = x.d; -} - -template -void QOffsetVector::setCapacity(int asize) -{ - if (asize == d->alloc) - return; - detach(); - union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; - x.p = malloc(asize); - x.d->alloc = asize; - x.d->count = qMin(d->count, asize); - x.d->offset = d->offset + d->count - x.d->count; - x.d->start = x.d->offset % x.d->alloc; - /* deep copy - - slow way now, get unit test working, then - improve performance if need be. (e.g. memcpy) - */ - T *dest = x.d->array + (x.d->start + x.d->count-1) % x.d->alloc; - T *src = d->array + (d->start + d->count-1) % d->alloc; - int count = x.d->count; - while (count--) { - if (QTypeInfo::isComplex) { - new (dest) T(*src); - } else { - *dest = *src; - } - if (dest == x.d->array) - dest = x.d->array + x.d->alloc; - dest--; - if (src == d->array) - src = d->array + d->alloc; - src--; - } - /* free old */ - free(d); - d = x.d; -} - -template -void QOffsetVector::clear() -{ - if (d->ref == 1) { - if (QTypeInfo::isComplex) { - int count = d->count; - T * i = d->array + d->start; - T * e = d->array + d->alloc; - while (count--) { - i->~T(); - i++; - if (i == e) - i = d->array; - } - } - d->count = d->start = d->offset = 0; - } else { - union { QOffsetVectorData *p; QOffsetVectorTypedData *d; } x; - x.p = malloc(d->alloc); - x.d->ref = 1; - x.d->alloc = d->alloc; - x.d->count = x.d->start = x.d->offset = 0; - x.d->sharable = true; - if (!d->ref.deref()) free(d); - d = x.d; - } -} - -template -inline QOffsetVectorData *QOffsetVector::malloc(int aalloc) -{ - return static_cast(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T))); -} - -template -QOffsetVector::QOffsetVector(int asize) -{ - p = malloc(asize); - d->ref = 1; - d->alloc = asize; - d->count = d->start = d->offset = 0; - d->sharable = true; -} - -template -QOffsetVector &QOffsetVector::operator=(const QOffsetVector &other) -{ - other.d->ref.ref(); - if (!d->ref.deref()) - free(d); - d = other.d; - if (!d->sharable) - detach_helper(); - return *this; -} - -template -bool QOffsetVector::operator==(const QOffsetVector &other) const -{ - if (other.d == d) - return true; - if (other.d->start != d->start - || other.d->count != d->count - || other.d->offset != d->offset - || other.d->alloc != d->alloc) - return false; - for (int i = firstIndex(); i <= lastIndex(); ++i) - if (!(at(i) == other.at(i))) - return false; - return true; -} - -template -void QOffsetVector::free(Data *x) -{ - if (QTypeInfo::isComplex) { - int count = d->count; - T * i = d->array + d->start; - T * e = d->array + d->alloc; - while (count--) { - i->~T(); - i++; - if (i == e) - i = d->array; - } - } - qFree(x); -} - -template -void QOffsetVector::append(const T &value) -{ - detach(); - if (QTypeInfo::isComplex) { - if (d->count == d->alloc) - (d->array + (d->start+d->count) % d->alloc)->~T(); - new (d->array + (d->start+d->count) % d->alloc) T(value); - } else { - d->array[(d->start+d->count) % d->alloc] = value; - } - - if (d->count == d->alloc) { - d->start++; - d->start %= d->alloc; - d->offset++; - } else { - d->count++; - } -} - -template -void QOffsetVector::prepend(const T &value) -{ - detach(); - if (d->start) - d->start--; - else - d->start = d->alloc-1; - d->offset--; - - if (d->count != d->alloc) - d->count++; - else - if (d->count == d->alloc) - (d->array + d->start)->~T(); - - if (QTypeInfo::isComplex) - new (d->array + d->start) T(value); - else - d->array[d->start] = value; -} - -template -void QOffsetVector::insert(int pos, const T &value) -{ - detach(); - if (containsIndex(pos)) { - if(QTypeInfo::isComplex) - new (d->array + pos % d->alloc) T(value); - else - d->array[pos % d->alloc] = value; - } else if (pos == d->offset-1) - prepend(value); - else if (pos == d->offset+d->count) - append(value); - else { - // we don't leave gaps. - clear(); - d->offset = d->start = pos; - d->start %= d->alloc; - d->count = 1; - if (QTypeInfo::isComplex) - new (d->array + d->start) T(value); - else - d->array[d->start] = value; - } -} - -template -inline const T &QOffsetVector::at(int pos) const -{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QOffsetVector::at", "index out of range"); return d->array[pos % d->alloc]; } -template -inline const T &QOffsetVector::operator[](int pos) const -{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QOffsetVector::at", "index out of range"); return d->array[pos % d->alloc]; } -template - -// can use the non-inline one to modify the index range. -inline T &QOffsetVector::operator[](int pos) -{ - detach(); - if (!containsIndex(pos)) - insert(pos, T()); - return d->array[pos % d->alloc]; -} - -template -inline void QOffsetVector::removeFirst() -{ - Q_ASSERT(d->count > 0); - detach(); - d->count--; - if (QTypeInfo::isComplex) - (d->array + d->start)->~T(); - d->start = (d->start + 1) % d->alloc; - d->offset++; -} - -template -inline void QOffsetVector::removeLast() -{ - Q_ASSERT(d->count > 0); - detach(); - d->count--; - if (QTypeInfo::isComplex) - (d->array + (d->start + d->count) % d->alloc)->~T(); -} - -template -inline T QOffsetVector::takeFirst() -{ T t = first(); removeFirst(); return t; } - -template -inline T QOffsetVector::takeLast() -{ T t = last(); removeLast(); return t; } - -#endif diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 626c9e5..aaf3f21 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -19,7 +19,7 @@ HEADERS += \ tools/qlocale_p.h \ tools/qlocale_data_p.h \ tools/qmap.h \ - tools/qoffsetvector.h \ + tools/qcontiguouscache.h \ tools/qpodlist_p.h \ tools/qpoint.h \ tools/qqueue.h \ @@ -54,7 +54,7 @@ SOURCES += \ tools/qlocale.cpp \ tools/qpoint.cpp \ tools/qmap.cpp \ - tools/qoffsetvector.cpp \ + tools/qcontiguouscache.cpp \ tools/qrect.cpp \ tools/qregexp.cpp \ tools/qshareddata.cpp \ diff --git a/tests/auto/qcontiguouscache/qcontiguouscache.pro b/tests/auto/qcontiguouscache/qcontiguouscache.pro new file mode 100644 index 0000000..618efed --- /dev/null +++ b/tests/auto/qcontiguouscache/qcontiguouscache.pro @@ -0,0 +1,8 @@ +load(qttest_p4) + +QT = core + +SOURCES += tst_qcontiguouscache.cpp + + + diff --git a/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp new file mode 100644 index 0000000..493032a --- /dev/null +++ b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp @@ -0,0 +1,361 @@ +/**************************************************************************** +** +** This file is part of the $PACKAGE_NAME$. +** +** Copyright (C) $THISYEAR$ $COMPANY_NAME$. +** +** $QT_EXTENDED_DUAL_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include +#include + + +#if defined(FORCE_UREF) +template +inline QDebug &operator<<(QDebug debug, const QContiguousCache &contiguousCache) +#else +template +inline QDebug operator<<(QDebug debug, const QContiguousCache &contiguousCache) +#endif +{ + debug.nospace() << "QContiguousCache("; + for (int i = contiguousCache.firstIndex(); i <= contiguousCache.lastIndex(); ++i) { + debug << contiguousCache[i]; + if (i != contiguousCache.lastIndex()) + debug << ", "; + } + debug << ")"; + return debug.space(); +} + +#if defined(NO_BENCHMARK) and defined(QBENCHMARK) +#undef QBENCHMARK +#define QBENCHMARK +#endif + +class tst_QContiguousCache : public QObject +{ + Q_OBJECT +public: + tst_QContiguousCache() {} + virtual ~tst_QContiguousCache() {} +private slots: + void empty(); + void forwardBuffer(); + void scrollingList(); + + void complexType(); + + void operatorAt(); + + void cacheBenchmark(); + void contiguousCacheBenchmark(); + + void setCapacity(); +}; + +QTEST_MAIN(tst_QContiguousCache) + +void tst_QContiguousCache::empty() +{ + QContiguousCache c(10); + QCOMPARE(c.capacity(), 10); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + c.append(1); + QVERIFY(!c.isEmpty()); + c.clear(); + QCOMPARE(c.capacity(), 10); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + c.prepend(1); + QVERIFY(!c.isEmpty()); + c.clear(); + QCOMPARE(c.count(), 0); + QVERIFY(c.isEmpty()); + QCOMPARE(c.capacity(), 10); +} + +void tst_QContiguousCache::forwardBuffer() +{ + int i; + QContiguousCache c(10); + for(i = 1; i < 30; ++i) { + c.append(i); + QCOMPARE(c.first(), qMax(1, i-9)); + QCOMPARE(c.last(), i); + QCOMPARE(c.count(), qMin(i, 10)); + } + + c.clear(); + + for(i = 1; i < 30; ++i) { + c.prepend(i); + QCOMPARE(c.last(), qMax(1, i-9)); + QCOMPARE(c.first(), i); + QCOMPARE(c.count(), qMin(i, 10)); + } +} + +void tst_QContiguousCache::scrollingList() +{ + int i; + QContiguousCache c(10); + + // Once allocated QContiguousCache should not + // allocate any additional memory for non + // complex data types. + QBENCHMARK { + // simulate scrolling in a list of items; + for(i = 0; i < 10; ++i) + c.append(i); + + QCOMPARE(c.firstIndex(), 0); + QCOMPARE(c.lastIndex(), 9); + QVERIFY(c.containsIndex(0)); + QVERIFY(c.containsIndex(9)); + QVERIFY(!c.containsIndex(10)); + + for (i = 0; i < 10; ++i) + QCOMPARE(c.at(i), i); + + for (i = 10; i < 30; ++i) + c.append(i); + + QCOMPARE(c.firstIndex(), 20); + QCOMPARE(c.lastIndex(), 29); + QVERIFY(c.containsIndex(20)); + QVERIFY(c.containsIndex(29)); + QVERIFY(!c.containsIndex(30)); + + for (i = 20; i < 30; ++i) + QCOMPARE(c.at(i), i); + + for (i = 19; i >= 10; --i) + c.prepend(i); + + QCOMPARE(c.firstIndex(), 10); + QCOMPARE(c.lastIndex(), 19); + QVERIFY(c.containsIndex(10)); + QVERIFY(c.containsIndex(19)); + QVERIFY(!c.containsIndex(20)); + + for (i = 10; i < 20; ++i) + QCOMPARE(c.at(i), i); + + for (i = 200; i < 220; ++i) + c.insert(i, i); + + QCOMPARE(c.firstIndex(), 210); + QCOMPARE(c.lastIndex(), 219); + QVERIFY(c.containsIndex(210)); + QVERIFY(c.containsIndex(219)); + QVERIFY(!c.containsIndex(300)); + QVERIFY(!c.containsIndex(209)); + + for (i = 220; i < 220; ++i) { + QVERIFY(c.containsIndex(i)); + QCOMPARE(c.at(i), i); + } + c.clear(); // needed to reset benchmark + } + + // from a specific bug that was encountered. 100 to 299 cached, attempted to cache 250 - 205 via insert, failed. + // bug was that item at 150 would instead be item that should have been inserted at 250 + c.setCapacity(200); + for(i = 100; i < 300; ++i) + c.insert(i, i); + for (i = 250; i <= 306; ++i) + c.insert(i, 1000+i); + for (i = 107; i <= 306; ++i) { + QVERIFY(c.containsIndex(i)); + QCOMPARE(c.at(i), i < 250 ? i : 1000+i); + } +} + +struct RefCountingClassData +{ + QBasicAtomicInt ref; + static RefCountingClassData shared_null; +}; + +RefCountingClassData RefCountingClassData::shared_null = { + Q_BASIC_ATOMIC_INITIALIZER(1) +}; + +class RefCountingClass +{ +public: + RefCountingClass() : d(&RefCountingClassData::shared_null) { d->ref.ref(); } + + RefCountingClass(const RefCountingClass &other) + { + d = other.d; + d->ref.ref(); + } + + ~RefCountingClass() + { + if (!d->ref.deref()) + delete d; + } + + RefCountingClass &operator=(const RefCountingClass &other) + { + if (!d->ref.deref()) + delete d; + d = other.d; + d->ref.ref(); + return *this; + } + + int refCount() const { return d->ref; } +private: + RefCountingClassData *d; +}; + +void tst_QContiguousCache::complexType() +{ + RefCountingClass original; + + QContiguousCache contiguousCache(10); + contiguousCache.append(original); + QCOMPARE(original.refCount(), 3); + contiguousCache.removeFirst(); + QCOMPARE(original.refCount(), 2); // shared null, 'original'. + contiguousCache.append(original); + QCOMPARE(original.refCount(), 3); + contiguousCache.clear(); + QCOMPARE(original.refCount(), 2); + + for(int i = 0; i < 100; ++i) + contiguousCache.insert(i, original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in contiguousCache. + + contiguousCache.clear(); + QCOMPARE(original.refCount(), 2); + for (int i = 0; i < 100; i++) + contiguousCache.append(original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in contiguousCache. + contiguousCache.clear(); + QCOMPARE(original.refCount(), 2); + + for (int i = 0; i < 100; i++) + contiguousCache.prepend(original); + + QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in contiguousCache. + contiguousCache.clear(); + QCOMPARE(original.refCount(), 2); + + for (int i = 0; i < 100; i++) + contiguousCache.append(original); + + contiguousCache.takeLast(); + QCOMPARE(original.refCount(), 11); + + contiguousCache.takeFirst(); + QCOMPARE(original.refCount(), 10); +} + +void tst_QContiguousCache::operatorAt() +{ + RefCountingClass original; + QContiguousCache contiguousCache(10); + + for (int i = 25; i < 35; ++i) + contiguousCache[i] = original; + + QCOMPARE(original.refCount(), 12); // shared null, orig, items in cache + + // verify const access does not copy items. + const QContiguousCache copy(contiguousCache); + for (int i = 25; i < 35; ++i) + QCOMPARE(copy[i].refCount(), 12); + + // verify modifying the original increments ref count (e.g. does a detach) + contiguousCache[25] = original; + QCOMPARE(original.refCount(), 22); +} + +/* + Benchmarks must be near identical in tasks to be fair. + QCache uses pointers to ints as its a requirement of QCache, + whereas QContiguousCache doesn't support pointers (won't free them). + Given the ability to use simple data types is a benefit, its + fair. Although this obviously must take into account we are + testing QContiguousCache use cases here, QCache has its own + areas where it is the more sensible class to use. +*/ +void tst_QContiguousCache::cacheBenchmark() +{ + QBENCHMARK { + QCache cache; + cache.setMaxCost(100); + + for (int i = 0; i < 1000; i++) + cache.insert(i, new int(i)); + } +} + +void tst_QContiguousCache::contiguousCacheBenchmark() +{ + QBENCHMARK { + QContiguousCache contiguousCache(100); + for (int i = 0; i < 1000; i++) + contiguousCache.insert(i, i); + } +} + +void tst_QContiguousCache::setCapacity() +{ + int i; + QContiguousCache contiguousCache(100); + for (i = 280; i < 310; ++i) + contiguousCache.insert(i, i); + QCOMPARE(contiguousCache.capacity(), 100); + QCOMPARE(contiguousCache.count(), 30); + QCOMPARE(contiguousCache.firstIndex(), 280); + QCOMPARE(contiguousCache.lastIndex(), 309); + + for (i = contiguousCache.firstIndex(); i <= contiguousCache.lastIndex(); ++i) { + QVERIFY(contiguousCache.containsIndex(i)); + QCOMPARE(contiguousCache.at(i), i); + } + + contiguousCache.setCapacity(150); + + QCOMPARE(contiguousCache.capacity(), 150); + QCOMPARE(contiguousCache.count(), 30); + QCOMPARE(contiguousCache.firstIndex(), 280); + QCOMPARE(contiguousCache.lastIndex(), 309); + + for (i = contiguousCache.firstIndex(); i <= contiguousCache.lastIndex(); ++i) { + QVERIFY(contiguousCache.containsIndex(i)); + QCOMPARE(contiguousCache.at(i), i); + } + + contiguousCache.setCapacity(20); + + QCOMPARE(contiguousCache.capacity(), 20); + QCOMPARE(contiguousCache.count(), 20); + QCOMPARE(contiguousCache.firstIndex(), 290); + QCOMPARE(contiguousCache.lastIndex(), 309); + + for (i = contiguousCache.firstIndex(); i <= contiguousCache.lastIndex(); ++i) { + QVERIFY(contiguousCache.containsIndex(i)); + QCOMPARE(contiguousCache.at(i), i); + } +} + +#include "tst_qcontiguouscache.moc" diff --git a/tests/auto/qoffsetvector/qoffsetvector.pro b/tests/auto/qoffsetvector/qoffsetvector.pro deleted file mode 100644 index 0b801f3..0000000 --- a/tests/auto/qoffsetvector/qoffsetvector.pro +++ /dev/null @@ -1,8 +0,0 @@ -load(qttest_p4) - -QT = core - -SOURCES += tst_qoffsetvector.cpp - - - diff --git a/tests/auto/qoffsetvector/tst_qoffsetvector.cpp b/tests/auto/qoffsetvector/tst_qoffsetvector.cpp deleted file mode 100644 index 439ea2c..0000000 --- a/tests/auto/qoffsetvector/tst_qoffsetvector.cpp +++ /dev/null @@ -1,361 +0,0 @@ -/**************************************************************************** -** -** This file is part of the $PACKAGE_NAME$. -** -** Copyright (C) $THISYEAR$ $COMPANY_NAME$. -** -** $QT_EXTENDED_DUAL_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include -#include - -#include -#include - - -#if defined(FORCE_UREF) -template -inline QDebug &operator<<(QDebug debug, const QOffsetVector &offsetVector) -#else -template -inline QDebug operator<<(QDebug debug, const QOffsetVector &offsetVector) -#endif -{ - debug.nospace() << "QOffsetVector("; - for (int i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { - debug << offsetVector[i]; - if (i != offsetVector.lastIndex()) - debug << ", "; - } - debug << ")"; - return debug.space(); -} - -#if defined(NO_BENCHMARK) and defined(QBENCHMARK) -#undef QBENCHMARK -#define QBENCHMARK -#endif - -class tst_QOffsetVector : public QObject -{ - Q_OBJECT -public: - tst_QOffsetVector() {} - virtual ~tst_QOffsetVector() {} -private slots: - void empty(); - void forwardBuffer(); - void scrollingList(); - - void complexType(); - - void operatorAt(); - - void cacheBenchmark(); - void offsetVectorBenchmark(); - - void setCapacity(); -}; - -QTEST_MAIN(tst_QOffsetVector) - -void tst_QOffsetVector::empty() -{ - QOffsetVector c(10); - QCOMPARE(c.capacity(), 10); - QCOMPARE(c.count(), 0); - QVERIFY(c.isEmpty()); - c.append(1); - QVERIFY(!c.isEmpty()); - c.clear(); - QCOMPARE(c.capacity(), 10); - QCOMPARE(c.count(), 0); - QVERIFY(c.isEmpty()); - c.prepend(1); - QVERIFY(!c.isEmpty()); - c.clear(); - QCOMPARE(c.count(), 0); - QVERIFY(c.isEmpty()); - QCOMPARE(c.capacity(), 10); -} - -void tst_QOffsetVector::forwardBuffer() -{ - int i; - QOffsetVector c(10); - for(i = 1; i < 30; ++i) { - c.append(i); - QCOMPARE(c.first(), qMax(1, i-9)); - QCOMPARE(c.last(), i); - QCOMPARE(c.count(), qMin(i, 10)); - } - - c.clear(); - - for(i = 1; i < 30; ++i) { - c.prepend(i); - QCOMPARE(c.last(), qMax(1, i-9)); - QCOMPARE(c.first(), i); - QCOMPARE(c.count(), qMin(i, 10)); - } -} - -void tst_QOffsetVector::scrollingList() -{ - int i; - QOffsetVector c(10); - - // Once allocated QOffsetVector should not - // allocate any additional memory for non - // complex data types. - QBENCHMARK { - // simulate scrolling in a list of items; - for(i = 0; i < 10; ++i) - c.append(i); - - QCOMPARE(c.firstIndex(), 0); - QCOMPARE(c.lastIndex(), 9); - QVERIFY(c.containsIndex(0)); - QVERIFY(c.containsIndex(9)); - QVERIFY(!c.containsIndex(10)); - - for (i = 0; i < 10; ++i) - QCOMPARE(c.at(i), i); - - for (i = 10; i < 30; ++i) - c.append(i); - - QCOMPARE(c.firstIndex(), 20); - QCOMPARE(c.lastIndex(), 29); - QVERIFY(c.containsIndex(20)); - QVERIFY(c.containsIndex(29)); - QVERIFY(!c.containsIndex(30)); - - for (i = 20; i < 30; ++i) - QCOMPARE(c.at(i), i); - - for (i = 19; i >= 10; --i) - c.prepend(i); - - QCOMPARE(c.firstIndex(), 10); - QCOMPARE(c.lastIndex(), 19); - QVERIFY(c.containsIndex(10)); - QVERIFY(c.containsIndex(19)); - QVERIFY(!c.containsIndex(20)); - - for (i = 10; i < 20; ++i) - QCOMPARE(c.at(i), i); - - for (i = 200; i < 220; ++i) - c.insert(i, i); - - QCOMPARE(c.firstIndex(), 210); - QCOMPARE(c.lastIndex(), 219); - QVERIFY(c.containsIndex(210)); - QVERIFY(c.containsIndex(219)); - QVERIFY(!c.containsIndex(300)); - QVERIFY(!c.containsIndex(209)); - - for (i = 220; i < 220; ++i) { - QVERIFY(c.containsIndex(i)); - QCOMPARE(c.at(i), i); - } - c.clear(); // needed to reset benchmark - } - - // from a specific bug that was encountered. 100 to 299 cached, attempted to cache 250 - 205 via insert, failed. - // bug was that item at 150 would instead be item that should have been inserted at 250 - c.setCapacity(200); - for(i = 100; i < 300; ++i) - c.insert(i, i); - for (i = 250; i <= 306; ++i) - c.insert(i, 1000+i); - for (i = 107; i <= 306; ++i) { - QVERIFY(c.containsIndex(i)); - QCOMPARE(c.at(i), i < 250 ? i : 1000+i); - } -} - -struct RefCountingClassData -{ - QBasicAtomicInt ref; - static RefCountingClassData shared_null; -}; - -RefCountingClassData RefCountingClassData::shared_null = { - Q_BASIC_ATOMIC_INITIALIZER(1) -}; - -class RefCountingClass -{ -public: - RefCountingClass() : d(&RefCountingClassData::shared_null) { d->ref.ref(); } - - RefCountingClass(const RefCountingClass &other) - { - d = other.d; - d->ref.ref(); - } - - ~RefCountingClass() - { - if (!d->ref.deref()) - delete d; - } - - RefCountingClass &operator=(const RefCountingClass &other) - { - if (!d->ref.deref()) - delete d; - d = other.d; - d->ref.ref(); - return *this; - } - - int refCount() const { return d->ref; } -private: - RefCountingClassData *d; -}; - -void tst_QOffsetVector::complexType() -{ - RefCountingClass original; - - QOffsetVector offsetVector(10); - offsetVector.append(original); - QCOMPARE(original.refCount(), 3); - offsetVector.removeFirst(); - QCOMPARE(original.refCount(), 2); // shared null, 'original'. - offsetVector.append(original); - QCOMPARE(original.refCount(), 3); - offsetVector.clear(); - QCOMPARE(original.refCount(), 2); - - for(int i = 0; i < 100; ++i) - offsetVector.insert(i, original); - - QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. - - offsetVector.clear(); - QCOMPARE(original.refCount(), 2); - for (int i = 0; i < 100; i++) - offsetVector.append(original); - - QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. - offsetVector.clear(); - QCOMPARE(original.refCount(), 2); - - for (int i = 0; i < 100; i++) - offsetVector.prepend(original); - - QCOMPARE(original.refCount(), 12); // shared null, 'original', + 10 in offsetVector. - offsetVector.clear(); - QCOMPARE(original.refCount(), 2); - - for (int i = 0; i < 100; i++) - offsetVector.append(original); - - offsetVector.takeLast(); - QCOMPARE(original.refCount(), 11); - - offsetVector.takeFirst(); - QCOMPARE(original.refCount(), 10); -} - -void tst_QOffsetVector::operatorAt() -{ - RefCountingClass original; - QOffsetVector offsetVector(10); - - for (int i = 25; i < 35; ++i) - offsetVector[i] = original; - - QCOMPARE(original.refCount(), 12); // shared null, orig, items in vector - - // verify const access does not copy items. - const QOffsetVector copy(offsetVector); - for (int i = 25; i < 35; ++i) - QCOMPARE(copy[i].refCount(), 12); - - // verify modifying the original increments ref count (e.g. does a detach) - offsetVector[25] = original; - QCOMPARE(original.refCount(), 22); -} - -/* - Benchmarks must be near identical in tasks to be fair. - QCache uses pointers to ints as its a requirement of QCache, - whereas QOffsetVector doesn't support pointers (won't free them). - Given the ability to use simple data types is a benefit, its - fair. Although this obviously must take into account we are - testing QOffsetVector use cases here, QCache has its own - areas where it is the more sensible class to use. -*/ -void tst_QOffsetVector::cacheBenchmark() -{ - QBENCHMARK { - QCache cache; - cache.setMaxCost(100); - - for (int i = 0; i < 1000; i++) - cache.insert(i, new int(i)); - } -} - -void tst_QOffsetVector::offsetVectorBenchmark() -{ - QBENCHMARK { - QOffsetVector offsetVector(100); - for (int i = 0; i < 1000; i++) - offsetVector.insert(i, i); - } -} - -void tst_QOffsetVector::setCapacity() -{ - int i; - QOffsetVector offsetVector(100); - for (i = 280; i < 310; ++i) - offsetVector.insert(i, i); - QCOMPARE(offsetVector.capacity(), 100); - QCOMPARE(offsetVector.count(), 30); - QCOMPARE(offsetVector.firstIndex(), 280); - QCOMPARE(offsetVector.lastIndex(), 309); - - for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { - QVERIFY(offsetVector.containsIndex(i)); - QCOMPARE(offsetVector.at(i), i); - } - - offsetVector.setCapacity(150); - - QCOMPARE(offsetVector.capacity(), 150); - QCOMPARE(offsetVector.count(), 30); - QCOMPARE(offsetVector.firstIndex(), 280); - QCOMPARE(offsetVector.lastIndex(), 309); - - for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { - QVERIFY(offsetVector.containsIndex(i)); - QCOMPARE(offsetVector.at(i), i); - } - - offsetVector.setCapacity(20); - - QCOMPARE(offsetVector.capacity(), 20); - QCOMPARE(offsetVector.count(), 20); - QCOMPARE(offsetVector.firstIndex(), 290); - QCOMPARE(offsetVector.lastIndex(), 309); - - for (i = offsetVector.firstIndex(); i <= offsetVector.lastIndex(); ++i) { - QVERIFY(offsetVector.containsIndex(i)); - QCOMPARE(offsetVector.at(i), i); - } -} - -#include "tst_qoffsetvector.moc" -- cgit v0.12 From 2cb3823e440116f331c0287b29667f7c448e3ed0 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 24 Mar 2009 08:58:57 +1000 Subject: Import shader implementation from before the history cut. --- demos/boxes/boxes.pro | 2 - demos/boxes/glextensions.cpp | 37 - demos/boxes/glextensions.h | 85 - demos/boxes/glshaders.cpp | 266 --- demos/boxes/glshaders.h | 108 -- demos/boxes/scene.cpp | 102 +- demos/boxes/scene.h | 11 +- examples/opengl/hellogl_es2/glwidget.cpp | 391 ++-- examples/opengl/hellogl_es2/glwidget.h | 31 +- src/opengl/gl2paintengineex/qglshader_p.h | 3 +- src/opengl/opengl.pro | 6 +- src/opengl/qglextensions.cpp | 214 ++- src/opengl/qglextensions_p.h | 126 ++ src/opengl/qglpixmapfilter.cpp | 165 +- src/opengl/qglpixmapfilter_p.h | 29 - src/opengl/qglshaderprogram.cpp | 2828 +++++++++++++++++++++++++++++ src/opengl/qglshaderprogram.h | 285 +++ 17 files changed, 3619 insertions(+), 1070 deletions(-) delete mode 100644 demos/boxes/glshaders.cpp delete mode 100644 demos/boxes/glshaders.h create mode 100644 src/opengl/qglshaderprogram.cpp create mode 100644 src/opengl/qglshaderprogram.h diff --git a/demos/boxes/boxes.pro b/demos/boxes/boxes.pro index 6c1a331..a7b19a3 100644 --- a/demos/boxes/boxes.pro +++ b/demos/boxes/boxes.pro @@ -11,7 +11,6 @@ INCLUDEPATH += . HEADERS += 3rdparty/fbm.h \ glbuffers.h \ glextensions.h \ - glshaders.h \ gltrianglemesh.h \ qtbox.h \ roundedbox.h \ @@ -21,7 +20,6 @@ HEADERS += 3rdparty/fbm.h \ SOURCES += 3rdparty/fbm.c \ glbuffers.cpp \ glextensions.cpp \ - glshaders.cpp \ main.cpp \ qtbox.cpp \ roundedbox.cpp \ diff --git a/demos/boxes/glextensions.cpp b/demos/boxes/glextensions.cpp index 59256a8..5f168b6 100644 --- a/demos/boxes/glextensions.cpp +++ b/demos/boxes/glextensions.cpp @@ -47,23 +47,6 @@ bool GLExtensionFunctions::resolve(const QGLContext *context) { bool ok = true; - RESOLVE_GL_FUNC(CreateShaderObjectARB) - RESOLVE_GL_FUNC(ShaderSourceARB) - RESOLVE_GL_FUNC(CompileShaderARB) - RESOLVE_GL_FUNC(GetObjectParameterivARB) - RESOLVE_GL_FUNC(DeleteObjectARB) - RESOLVE_GL_FUNC(GetInfoLogARB) - RESOLVE_GL_FUNC(CreateProgramObjectARB) - RESOLVE_GL_FUNC(AttachObjectARB) - RESOLVE_GL_FUNC(DetachObjectARB) - RESOLVE_GL_FUNC(LinkProgramARB) - RESOLVE_GL_FUNC(UseProgramObjectARB) - RESOLVE_GL_FUNC(GetUniformLocationARB) - RESOLVE_GL_FUNC(Uniform1iARB) - RESOLVE_GL_FUNC(Uniform1fARB) - RESOLVE_GL_FUNC(Uniform4fARB) - RESOLVE_GL_FUNC(UniformMatrix4fvARB) - RESOLVE_GL_FUNC(GenFramebuffersEXT) RESOLVE_GL_FUNC(GenRenderbuffersEXT) RESOLVE_GL_FUNC(BindRenderbufferEXT) @@ -88,26 +71,6 @@ bool GLExtensionFunctions::resolve(const QGLContext *context) return ok; } -bool GLExtensionFunctions::glslSupported() { - return CreateShaderObjectARB - && CreateShaderObjectARB - && ShaderSourceARB - && CompileShaderARB - && GetObjectParameterivARB - && DeleteObjectARB - && GetInfoLogARB - && CreateProgramObjectARB - && AttachObjectARB - && DetachObjectARB - && LinkProgramARB - && UseProgramObjectARB - && GetUniformLocationARB - && Uniform1iARB - && Uniform1fARB - && Uniform4fARB - && UniformMatrix4fvARB; -} - bool GLExtensionFunctions::fboSupported() { return GenFramebuffersEXT && GenRenderbuffersEXT diff --git a/demos/boxes/glextensions.h b/demos/boxes/glextensions.h index 74617d6..4755532 100644 --- a/demos/boxes/glextensions.h +++ b/demos/boxes/glextensions.h @@ -47,23 +47,6 @@ /* Functions resolved: -glCreateShaderObjectARB -glShaderSourceARB -glCompileShaderARB -glGetObjectParameterivARB -glDeleteObjectARB -glGetInfoLogARB -glCreateProgramObjectARB -glAttachObjectARB -glDetachObjectARB -glLinkProgramARB -glUseProgramObjectARB -glGetUniformLocationARB -glUniform1iARB -glUniform1fARB -glUniform4fARB -glUniformMatrix4fvARB - glGenFramebuffersEXT glGenRenderbuffersEXT glBindRenderbufferEXT @@ -136,39 +119,6 @@ typedef ptrdiff_t GLsizeiptr; #define GL_DEPTH_ATTACHMENT_EXT 0x8D00 #endif -#ifndef GL_ARB_vertex_shader -#define GL_VERTEX_SHADER_ARB 0x8B31 -#endif - -#ifndef GL_ARB_fragment_shader -#define GL_FRAGMENT_SHADER_ARB 0x8B30 -#endif - -#ifndef GL_ARB_shader_objects -typedef char GLcharARB; -typedef unsigned int GLhandleARB; -#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 -#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 -#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 -#endif - -typedef GLhandleARB (APIENTRY *_glCreateShaderObjectARB) (GLenum); -typedef void (APIENTRY *_glShaderSourceARB) (GLhandleARB, GLuint, const GLcharARB**, GLint *); -typedef void (APIENTRY *_glCompileShaderARB) (GLhandleARB); -typedef void (APIENTRY *_glGetObjectParameterivARB) (GLhandleARB, GLenum, int *); -typedef void (APIENTRY *_glDeleteObjectARB) (GLhandleARB); -typedef void (APIENTRY *_glGetInfoLogARB) (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); -typedef GLhandleARB (APIENTRY *_glCreateProgramObjectARB) (); -typedef void (APIENTRY *_glAttachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glDetachObjectARB) (GLhandleARB, GLhandleARB); -typedef void (APIENTRY *_glLinkProgramARB) (GLhandleARB); -typedef void (APIENTRY *_glUseProgramObjectARB) (GLhandleARB); -typedef GLint (APIENTRY *_glGetUniformLocationARB) (GLhandleARB, const GLcharARB *); -typedef void (APIENTRY *_glUniform1iARB) (GLint, GLint); -typedef void (APIENTRY *_glUniform1fARB) (GLint, GLfloat); -typedef void (APIENTRY *_glUniform4fARB) (GLint, GLfloat, GLfloat, GLfloat, GLfloat); -typedef void (APIENTRY *_glUniformMatrix4fvARB) (GLint, GLuint, GLboolean, const GLfloat *); - typedef void (APIENTRY *_glGenFramebuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glGenRenderbuffersEXT) (GLsizei, GLuint *); typedef void (APIENTRY *_glBindRenderbufferEXT) (GLenum, GLuint); @@ -194,27 +144,9 @@ struct GLExtensionFunctions { bool resolve(const QGLContext *context); - bool glslSupported(); bool fboSupported(); bool openGL15Supported(); // the rest: multi-texture, 3D-texture, vertex buffer objects - _glCreateShaderObjectARB CreateShaderObjectARB; - _glShaderSourceARB ShaderSourceARB; - _glCompileShaderARB CompileShaderARB; - _glGetObjectParameterivARB GetObjectParameterivARB; - _glDeleteObjectARB DeleteObjectARB; - _glGetInfoLogARB GetInfoLogARB; - _glCreateProgramObjectARB CreateProgramObjectARB; - _glAttachObjectARB AttachObjectARB; - _glDetachObjectARB DetachObjectARB; - _glLinkProgramARB LinkProgramARB; - _glUseProgramObjectARB UseProgramObjectARB; - _glGetUniformLocationARB GetUniformLocationARB; - _glUniform1iARB Uniform1iARB; - _glUniform1fARB Uniform1fARB; - _glUniform4fARB Uniform4fARB; - _glUniformMatrix4fvARB UniformMatrix4fvARB; - _glGenFramebuffersEXT GenFramebuffersEXT; _glGenRenderbuffersEXT GenRenderbuffersEXT; _glBindRenderbufferEXT BindRenderbufferEXT; @@ -243,23 +175,6 @@ inline GLExtensionFunctions &getGLExtensionFunctions() return funcs; } -#define glCreateShaderObjectARB getGLExtensionFunctions().CreateShaderObjectARB -#define glShaderSourceARB getGLExtensionFunctions().ShaderSourceARB -#define glCompileShaderARB getGLExtensionFunctions().CompileShaderARB -#define glGetObjectParameterivARB getGLExtensionFunctions().GetObjectParameterivARB -#define glDeleteObjectARB getGLExtensionFunctions().DeleteObjectARB -#define glGetInfoLogARB getGLExtensionFunctions().GetInfoLogARB -#define glCreateProgramObjectARB getGLExtensionFunctions().CreateProgramObjectARB -#define glAttachObjectARB getGLExtensionFunctions().AttachObjectARB -#define glDetachObjectARB getGLExtensionFunctions().DetachObjectARB -#define glLinkProgramARB getGLExtensionFunctions().LinkProgramARB -#define glUseProgramObjectARB getGLExtensionFunctions().UseProgramObjectARB -#define glGetUniformLocationARB getGLExtensionFunctions().GetUniformLocationARB -#define glUniform1iARB getGLExtensionFunctions().Uniform1iARB -#define glUniform1fARB getGLExtensionFunctions().Uniform1fARB -#define glUniform4fARB getGLExtensionFunctions().Uniform4fARB -#define glUniformMatrix4fvARB getGLExtensionFunctions().UniformMatrix4fvARB - #define glGenFramebuffersEXT getGLExtensionFunctions().GenFramebuffersEXT #define glGenRenderbuffersEXT getGLExtensionFunctions().GenRenderbuffersEXT #define glBindRenderbufferEXT getGLExtensionFunctions().BindRenderbufferEXT diff --git a/demos/boxes/glshaders.cpp b/demos/boxes/glshaders.cpp deleted file mode 100644 index b6999a8..0000000 --- a/demos/boxes/glshaders.cpp +++ /dev/null @@ -1,266 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "glshaders.h" - -#define GLSHADERS_ASSERT_OPENGL(prefix, assertion, returnStatement) \ -if (m_failed || !(assertion)) { \ - if (!m_failed) qCritical(prefix ": The necessary OpenGL functions are not available."); \ - m_failed = true; \ - returnStatement; \ -} - - -GLShader::GLShader(const char *data, int size, GLenum shaderType) -: m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - GLint glSize = size; - glShaderSourceARB(m_shader, 1, &data, &glSize); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); -} - -GLShader::GLShader(const QString& fileName, GLenum shaderType) - : m_compileError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLShader::GLShader", - glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glGetObjectParameterivARB, return) - - m_shader = glCreateShaderObjectARB(shaderType); - - QFile file(fileName); - if (file.open(QIODevice::ReadOnly)) { - QByteArray bytes = file.readAll(); - GLint size = file.size(); - const char *p = bytes.data(); - file.close(); - glShaderSourceARB(m_shader, 1, &p, &size); - glCompileShaderARB(m_shader); - int status; - glGetObjectParameterivARB(m_shader, GL_OBJECT_COMPILE_STATUS_ARB, &status); - m_compileError = (status != 1); - } else { - m_compileError = true; - } -} - -GLShader::~GLShader() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::~GLShader", glDeleteObjectARB, return) - - glDeleteObjectARB(m_shader); -} - -QString GLShader::log() -{ - GLSHADERS_ASSERT_OPENGL("GLShader::log", glGetObjectParameterivARB - && glGetInfoLogARB, return QLatin1String("GLSL not supported.")) - - int length; - glGetObjectParameterivARB(m_shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_shader, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -GLVertexShader::GLVertexShader(const char *data, int size) : GLShader(data, size, GL_VERTEX_SHADER_ARB) -{ -} - -GLVertexShader::GLVertexShader(const QString& fileName) : GLShader(fileName, GL_VERTEX_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const char *data, int size) : GLShader(data, size, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLFragmentShader::GLFragmentShader(const QString& fileName) : GLShader(fileName, GL_FRAGMENT_SHADER_ARB) -{ -} - -GLProgram::GLProgram() : m_linked(false), m_linkError(false), m_failed(false) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::GLProgram", glCreateProgramObjectARB, return) - - m_program = glCreateProgramObjectARB(); -} - -GLProgram::~GLProgram() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::~GLProgram", glDeleteObjectARB, return) - - glDeleteObjectARB(m_program); -} - -void GLProgram::attach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::attach", glAttachObjectARB, return) - - glAttachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -void GLProgram::detach(const GLShader &shader) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::detach", glDetachObjectARB, return) - - glDetachObjectARB(m_program, shader.m_shader); - m_linked = m_linkError = false; -} - -bool GLProgram::failed() -{ - if (m_failed || m_linkError) - return true; - - if (m_linked) - return false; - - GLSHADERS_ASSERT_OPENGL("GLProgram::failed", glLinkProgramARB && glGetObjectParameterivARB, return true) - - glLinkProgramARB(m_program); - int status; - glGetObjectParameterivARB(m_program, GL_OBJECT_LINK_STATUS_ARB, &status); - m_linkError = !(m_linked = (status == 1)); - return m_linkError; -} - -QString GLProgram::log() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::log", glGetObjectParameterivARB && glGetInfoLogARB, - return QLatin1String("Failed.")) - - int length; - glGetObjectParameterivARB(m_program, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length); - char *log = new char[length + 1]; - GLsizei glLength = length; - glGetInfoLogARB(m_program, glLength, &glLength, log); - log[glLength] = '\0'; - QString result(log); - delete log; - return result; -} - -void GLProgram::bind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - if (!failed()) - glUseProgramObjectARB(m_program); -} - -void GLProgram::unbind() -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::bind", glUseProgramObjectARB, return) - - glUseProgramObjectARB(0); -} - -bool GLProgram::hasParameter(const QString& name) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::hasParameter", glGetUniformLocationARB, return false) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - return -1 != glGetUniformLocationARB(m_program, asciiName.data()); - } - return false; -} - -void GLProgram::setInt(const QString& name, int value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setInt", glGetUniformLocationARB && glUniform1iARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1iARB(loc, value); - } -} - -void GLProgram::setFloat(const QString& name, float value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setFloat", glGetUniformLocationARB && glUniform1fARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - glUniform1fARB(loc, value); - } -} - -void GLProgram::setColor(const QString& name, QRgb value) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setColor", glGetUniformLocationARB && glUniform4fARB, return) - - //qDebug() << "Setting color" << name; - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - QColor color(value); - glUniform4fARB(loc, color.redF(), color.greenF(), color.blueF(), color.alphaF()); - } -} - -void GLProgram::setMatrix(const QString& name, const gfx::Matrix4x4f &mat) -{ - GLSHADERS_ASSERT_OPENGL("GLProgram::setMatrix", glGetUniformLocationARB && glUniformMatrix4fvARB, return) - - if (!failed()) { - QByteArray asciiName = name.toAscii(); - int loc = glGetUniformLocationARB(m_program, asciiName.data()); - //qDebug() << "Location of" << name << "is" << loc; - glUniformMatrix4fvARB(loc, 1, GL_FALSE, mat.bits()); - } -} \ No newline at end of file diff --git a/demos/boxes/glshaders.h b/demos/boxes/glshaders.h deleted file mode 100644 index 2b6209a..0000000 --- a/demos/boxes/glshaders.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GLSHADERS_H -#define GLSHADERS_H - -//#include -#include "glextensions.h" - -#include -#include - -#include "vector.h" - -class GLShader -{ -public: - friend class GLProgram; - virtual ~GLShader(); - bool failed() const {return m_failed;} - QString log(); -protected: - GLShader(const char *data, int size, GLenum shaderType); - GLShader(const QString& fileName, GLenum shaderType); - - GLhandleARB m_shader; - bool m_compileError; - bool m_failed; -}; - -class GLVertexShader : public GLShader -{ -public: - GLVertexShader(const char *data, int size); - GLVertexShader(const QString& fileName); -}; - -class GLFragmentShader : public GLShader -{ -public: - GLFragmentShader(const char *data, int size); - GLFragmentShader(const QString& fileName); -}; - -class GLProgram -{ -public: - GLProgram(); - ~GLProgram(); - void attach(const GLShader &shader); - void detach(const GLShader &shader); - void bind(); - void unbind(); - bool failed(); - QString log(); - bool hasParameter(const QString& name); - // use program before setting values - void setInt(const QString& name, int value); - void setFloat(const QString& name, float value); - void setColor(const QString& name, QRgb value); - void setMatrix(const QString& name, const gfx::Matrix4x4f &mat); - // TODO: add a bunch of set-functions for different types. -private: - GLhandleARB m_program; - bool m_linked; - bool m_linkError; - bool m_failed; -}; - -#endif diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp index 1040e17..e5aab75 100644 --- a/demos/boxes/scene.cpp +++ b/demos/boxes/scene.cpp @@ -531,11 +531,11 @@ Scene::~Scene() if (texture) delete texture; if (m_mainCubemap) delete m_mainCubemap; - foreach (GLProgram *program, m_programs) + foreach (QGLShaderProgram *program, m_programs) if (program) delete program; if (m_vertexShader) delete m_vertexShader; - foreach (GLFragmentShader *shader, m_fragmentShaders) + foreach (QGLShader *shader, m_fragmentShaders) if (shader) delete shader; foreach (GLRenderTargetCube *rt, m_cubemaps) if (rt) delete rt; @@ -549,16 +549,18 @@ void Scene::initGL() { m_box = new GLRoundedBox(0.25f, 1.0f, 10); - m_vertexShader = new GLVertexShader(":/res/boxes/basic.vsh"); + m_vertexShader = new QGLShader(":/res/boxes/basic.vsh", QGLShader::VertexShader); QStringList list; list << ":/res/boxes/cubemap_posx.jpg" << ":/res/boxes/cubemap_negx.jpg" << ":/res/boxes/cubemap_posy.jpg" << ":/res/boxes/cubemap_negy.jpg" << ":/res/boxes/cubemap_posz.jpg" << ":/res/boxes/cubemap_negz.jpg"; m_environment = new GLTextureCube(list, qMin(1024, m_maxTextureSize)); - m_environmentShader = new GLFragmentShader(environmentShaderText, strlen(environmentShaderText)); - m_environmentProgram = new GLProgram; - m_environmentProgram->attach(*m_vertexShader); - m_environmentProgram->attach(*m_environmentShader); + m_environmentShader = new QGLShader(QGLShader::FragmentShader); + m_environmentShader->setSourceCode(environmentShaderText); + m_environmentProgram = new QGLShaderProgram; + m_environmentProgram->addShader(m_vertexShader); + m_environmentProgram->addShader(m_environmentShader); + m_environmentProgram->link(); const int NOISE_SIZE = 128; // for a different size, B and BM in fbm.c must also be changed m_noise = new GLTexture3D(NOISE_SIZE, NOISE_SIZE, NOISE_SIZE); @@ -610,19 +612,19 @@ void Scene::initGL() filter = QStringList("*.fsh"); files = QDir(":/res/boxes/").entryInfoList(filter, QDir::Files | QDir::Readable); foreach (QFileInfo file, files) { - GLProgram *program = new GLProgram; - GLFragmentShader* shader = new GLFragmentShader(file.absoluteFilePath()); + QGLShaderProgram *program = new QGLShaderProgram; + QGLShader* shader = new QGLShader(file.absoluteFilePath(), QGLShader::FragmentShader); // The program does not take ownership over the shaders, so store them in a vector so they can be deleted afterwards. - program->attach(*m_vertexShader); - program->attach(*shader); - if (program->failed()) { + program->addShader(m_vertexShader); + program->addShader(shader); + if (!program->link()) { qWarning("Failed to compile and link shader program"); qWarning("Vertex shader log:"); - qWarning() << m_vertexShader->log(); + qWarning() << m_vertexShader->errors(); qWarning() << "Fragment shader log ( file =" << file.absoluteFilePath() << "):"; - qWarning() << shader->log(); + qWarning() << shader->errors(); qWarning("Shader program log:"); - qWarning() << program->log(); + qWarning() << program->errors(); delete shader; delete program; @@ -633,13 +635,13 @@ void Scene::initGL() m_programs << program; m_renderOptions->addShader(file.baseName()); - program->bind(); - m_cubemaps << (program->hasParameter("env") ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); - program->unbind(); + program->enable(); + m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0); + program->disable(); } if (m_programs.size() == 0) - m_programs << new GLProgram; + m_programs << new QGLShaderProgram; m_renderOptions->emitParameterChanged(); } @@ -674,12 +676,12 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) // Don't render the environment if the environment texture can't be set for the correct sampler. if (glActiveTexture) { m_environment->bind(); - m_environmentProgram->bind(); - m_environmentProgram->setInt("tex", 0); - m_environmentProgram->setInt("env", 1); - m_environmentProgram->setInt("noise", 2); + m_environmentProgram->enable(); + m_environmentProgram->setUniformValue("tex", 0); + m_environmentProgram->setUniformValue("env", 1); + m_environmentProgram->setUniformValue("noise", 2); m_box->draw(); - m_environmentProgram->unbind(); + m_environmentProgram->disable(); m_environment->unbind(); } @@ -707,14 +709,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) else m_environment->bind(); } - m_programs[i]->bind(); - m_programs[i]->setInt("tex", 0); - m_programs[i]->setInt("env", 1); - m_programs[i]->setInt("noise", 2); - m_programs[i]->setMatrix("view", view); - m_programs[i]->setMatrix("invView", invView); + m_programs[i]->enable(); + m_programs[i]->setUniformValue("tex", 0); + m_programs[i]->setUniformValue("env", 1); + m_programs[i]->setUniformValue("noise", 2); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[i]->setUniformValue("view", mview); + m_programs[i]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[i]->unbind(); + m_programs[i]->disable(); if (glActiveTexture) { if (m_dynamicCubemap && m_cubemaps[i]) @@ -737,14 +743,18 @@ void Scene::renderBoxes(const gfx::Matrix4x4f &view, int excludeBox) m_environment->bind(); } - m_programs[m_currentShader]->bind(); - m_programs[m_currentShader]->setInt("tex", 0); - m_programs[m_currentShader]->setInt("env", 1); - m_programs[m_currentShader]->setInt("noise", 2); - m_programs[m_currentShader]->setMatrix("view", view); - m_programs[m_currentShader]->setMatrix("invView", invView); + m_programs[m_currentShader]->enable(); + m_programs[m_currentShader]->setUniformValue("tex", 0); + m_programs[m_currentShader]->setUniformValue("env", 1); + m_programs[m_currentShader]->setUniformValue("noise", 2); + QMatrix4x4 mview; + QMatrix4x4 minvview; + memcpy(mview.data(), view.bits(), sizeof(float) * 16); + memcpy(minvview.data(), invView.bits(), sizeof(float) * 16); + m_programs[m_currentShader]->setUniformValue("view", mview); + m_programs[m_currentShader]->setUniformValue("invView", minvview); m_box->draw(); - m_programs[m_currentShader]->unbind(); + m_programs[m_currentShader]->disable(); if (glActiveTexture) { if (m_dynamicCubemap) @@ -1021,20 +1031,20 @@ void Scene::toggleDynamicCubemap(int state) void Scene::setColorParameter(const QString &name, QRgb color) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setColor(name, color); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), QColor(color)); + program->disable(); } } void Scene::setFloatParameter(const QString &name, float value) { // set the color in all programs - foreach (GLProgram *program, m_programs) { - program->bind(); - program->setFloat(name, value); - program->unbind(); + foreach (QGLShaderProgram *program, m_programs) { + program->enable(); + program->setUniformValue(program->uniformLocation(name), value); + program->disable(); } } diff --git a/demos/boxes/scene.h b/demos/boxes/scene.h index 2db9317..c056739 100644 --- a/demos/boxes/scene.h +++ b/demos/boxes/scene.h @@ -53,7 +53,6 @@ #include "vector.h" #include "trackball.h" #include "glbuffers.h" -#include "glshaders.h" #include "qtbox.h" #define PI 3.14159265358979 @@ -231,11 +230,11 @@ private: GLTexture3D *m_noise; GLRenderTargetCube *m_mainCubemap; QVector m_cubemaps; - QVector m_programs; - GLVertexShader *m_vertexShader; - QVector m_fragmentShaders; - GLFragmentShader *m_environmentShader; - GLProgram *m_environmentProgram; + QVector m_programs; + QGLShader *m_vertexShader; + QVector m_fragmentShaders; + QGLShader *m_environmentShader; + QGLShaderProgram *m_environmentProgram; }; diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp index 213c5b2..ee50670 100644 --- a/examples/opengl/hellogl_es2/glwidget.cpp +++ b/examples/opengl/hellogl_es2/glwidget.cpp @@ -48,124 +48,10 @@ const int bubbleNum = 8; -inline void CrossProduct(qreal &xOut, qreal &yOut, qreal &zOut, qreal x1, qreal y1, qreal z1, qreal x2, qreal y2, qreal z2) -{ - xOut = y1 * z2 - z1 * y2; - yOut = z1 * x2 - x1 * z2; - zOut = x1 * y2 - y1 * x2; -} - -inline void Normalize(qreal &x, qreal &y, qreal &z) -{ - qreal l = sqrt(x*x + y*y + z*z); - x = x / l; - y = y / l; - z = z / l; -} - -inline void IdentityMatrix(GLfloat *m) -{ - m[0 * 4 + 0] = 1.0f; - m[1 * 4 + 0] = 0.0f; - m[2 * 4 + 0] = 0.0f; - m[3 * 4 + 0] = 0.0f; - m[0 * 4 + 1] = 0.0f; - m[1 * 4 + 1] = 1.0f; - m[2 * 4 + 1] = 0.0f; - m[3 * 4 + 1] = 0.0f; - m[0 * 4 + 2] = 0.0f; - m[1 * 4 + 2] = 0.0f; - m[2 * 4 + 2] = 1.0f; - m[3 * 4 + 2] = 0.0f; - m[0 * 4 + 3] = 0.0f; - m[1 * 4 + 3] = 0.0f; - m[2 * 4 + 3] = 0.0f; - m[3 * 4 + 3] = 1.0f; -} - -// Adjust a 4x4 matrix to apply a scale. -inline void ScaleMatrix(GLfloat *m, GLfloat scalex, GLfloat scaley, GLfloat scalez) -{ - m[0 * 4 + 0] *= scalex; - m[0 * 4 + 1] *= scalex; - m[0 * 4 + 2] *= scalex; - m[0 * 4 + 3] *= scalex; - m[1 * 4 + 0] *= scaley; - m[1 * 4 + 1] *= scaley; - m[1 * 4 + 2] *= scaley; - m[1 * 4 + 3] *= scaley; - m[2 * 4 + 0] *= scalez; - m[2 * 4 + 1] *= scalez; - m[2 * 4 + 2] *= scalez; - m[2 * 4 + 3] *= scalez; -} - -// Adjust a 4x4 matrix to apply a translation. -inline void TranslateMatrix(GLfloat *m, GLfloat translatex, GLfloat translatey, GLfloat translatez) -{ - m[3 * 4 + 0] += m[0 * 4 + 0] * translatex + m[1 * 4 + 0] * translatey + m[2 * 4 + 0] * translatez; - m[3 * 4 + 1] += m[0 * 4 + 1] * translatex + m[1 * 4 + 1] * translatey + m[2 * 4 + 1] * translatez; - m[3 * 4 + 2] += m[0 * 4 + 2] * translatex + m[1 * 4 + 2] * translatey + m[2 * 4 + 2] * translatez; - m[3 * 4 + 3] += m[0 * 4 + 3] * translatex + m[1 * 4 + 3] * translatey + m[2 * 4 + 3] * translatez; -} - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -// Adjust a 4x4 matrix to apply a rotation. -inline void RotateMatrix(GLfloat *m, GLfloat angle, GLfloat vx, GLfloat vy, GLfloat vz) -{ - GLfloat len = sqrt(vx * vx + vy * vy + vz * vz); - if (len != 0) { - vx /= len; - vy /= len; - vz /= len; - } - - GLfloat c, s, ic; - c = cos(angle * M_PI / 180.0); - s = sin(angle * M_PI / 180.0); - ic = 1.0f - c; - - GLfloat rot[16]; - rot[0 * 4 + 0] = vx * vx * ic + c; - rot[1 * 4 + 0] = vx * vy * ic - vz * s; - rot[2 * 4 + 0] = vx * vz * ic + vy * s; - rot[3 * 4 + 0] = 0.0f; - rot[0 * 4 + 1] = vy * vx * ic + vz * s; - rot[1 * 4 + 1] = vy * vy * ic + c; - rot[2 * 4 + 1] = vy * vz * ic - vx * s; - rot[3 * 4 + 1] = 0.0f; - rot[0 * 4 + 2] = vx * vz * ic - vy * s; - rot[1 * 4 + 2] = vy * vz * ic + vx * s; - rot[2 * 4 + 2] = vz * vz * ic + c; - rot[3 * 4 + 2] = 0.0f; - rot[0 * 4 + 3] = 0.0f; - rot[1 * 4 + 3] = 0.0f; - rot[2 * 4 + 3] = 0.0f; - rot[3 * 4 + 3] = 1.0f; - - GLfloat temp[16]; - for (int i = 0; i < 4; ++i) { - for (int j = 0; j < 4; ++j) { - temp[j * 4 + i] = 0.0f; - for (int k = 0; k < 4; ++k) { - temp[j * 4 + i] += m[k * 4 + i] * rot[j * 4 + k]; - } - } - } - - qMemCopy(m, temp, sizeof(temp)); -} - GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent) { qtLogo = true; - createdVertices = 0; - createdNormals = 0; - m_vertexNumber = 0; frames = 0; setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_NoSystemBackground); @@ -178,10 +64,6 @@ GLWidget::GLWidget(QWidget *parent) GLWidget::~GLWidget() { - if (createdVertices) - delete[] createdVertices; - if (createdNormals) - delete[] createdNormals; } void GLWidget::setScaling(int scale) { @@ -210,13 +92,11 @@ void GLWidget::showBubbles(bool bubbles) void GLWidget::paintQtLogo() { glDisable(GL_TEXTURE_2D); - glVertexAttribPointer(vertexAttr1, 3, GL_FLOAT, GL_FALSE, 0, createdVertices); - glEnableVertexAttribArray(vertexAttr1); - glVertexAttribPointer(normalAttr1, 3, GL_FLOAT, GL_FALSE, 0, createdNormals); - glEnableVertexAttribArray(normalAttr1); - glDrawArrays(GL_TRIANGLES, 0, m_vertexNumber / 3); - glDisableVertexAttribArray(normalAttr1); - glDisableVertexAttribArray(vertexAttr1); + program1.setAttributeArray(vertexAttr1, vertices.constData()); + program1.setAttributeArray(normalAttr1, normals.constData()); + glDrawArrays(GL_TRIANGLES, 0, vertices.size()); + program1.disableAttributeArray(normalAttr1); + program1.disableAttributeArray(vertexAttr1); } void GLWidget::paintTexturedCube() @@ -239,8 +119,7 @@ void GLWidget::paintTexturedCube() -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5 }; - glVertexAttribPointer(vertexAttr2, 3, GL_FLOAT, GL_FALSE, 0, afVertices); - glEnableVertexAttribArray(vertexAttr2); + program2.setAttributeArray(vertexAttr2, afVertices, 3); GLfloat afTexCoord[] = { 0.0f,0.0f, 1.0f,1.0f, 1.0f,0.0f, @@ -258,8 +137,7 @@ void GLWidget::paintTexturedCube() 1.0f,0.0f, 1.0f,1.0f, 0.0f,0.0f, 0.0f,1.0f, 0.0f,0.0f, 1.0f,1.0f }; - glVertexAttribPointer(texCoordAttr2, 2, GL_FLOAT, GL_FALSE, 0, afTexCoord); - glEnableVertexAttribArray(texCoordAttr2); + program2.setAttributeArray(texCoordAttr2, afTexCoord, 2); GLfloat afNormals[] = { @@ -278,50 +156,15 @@ void GLWidget::paintTexturedCube() 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0 }; - glVertexAttribPointer(normalAttr2, 3, GL_FLOAT, GL_FALSE, 0, afNormals); - glEnableVertexAttribArray(normalAttr2); + program2.setAttributeArray(normalAttr2, afNormals, 3); - glUniform1i(textureUniform2, 0); // use texture unit 0 + program2.setUniformValue(textureUniform2, 0); // use texture unit 0 glDrawArrays(GL_TRIANGLES, 0, 36); - glDisableVertexAttribArray(vertexAttr2); - glDisableVertexAttribArray(normalAttr2); - glDisableVertexAttribArray(texCoordAttr2); -} - -static void reportCompileErrors(GLuint shader, const char *src) -{ - GLint value = 0; - glGetShaderiv(shader, GL_COMPILE_STATUS, &value); - bool compiled = (value != 0); - value = 0; - glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &value); - if (!compiled && value > 1) { - char *log = new char [value]; - GLint len; - glGetShaderInfoLog(shader, value, &len, log); - qWarning("%s\n", log); - qWarning("when compiling:\n%s\n", src); - delete [] log; - } -} - -static void reportLinkErrors(GLuint program, const char *vsrc, const char *fsrc) -{ - GLint value = 0; - glGetProgramiv(program, GL_LINK_STATUS, &value); - bool linked = (value != 0); - value = 0; - glGetProgramiv(program, GL_INFO_LOG_LENGTH, &value); - if (!linked && value > 1) { - char *log = new char [value]; - GLint len; - glGetProgramInfoLog(program, value, &len, log); - qWarning("%s\n", log); - qWarning("when linking:\n%s\nwith:\n%s\n", vsrc, fsrc); - delete [] log; - } + program2.disableAttributeArray(vertexAttr2); + program2.disableAttributeArray(normalAttr2); + program2.disableAttributeArray(texCoordAttr2); } void GLWidget::initializeGL () @@ -332,8 +175,8 @@ void GLWidget::initializeGL () glGenTextures(1, &m_uiTexture); m_uiTexture = bindTexture(QImage(":/qt.png")); - GLuint vshader1 = glCreateShader(GL_VERTEX_SHADER); - const char *vsrc1[1] = { + QGLShader *vshader1 = new QGLShader(QGLShader::VertexShader, this); + const char *vsrc1 = "attribute highp vec4 vertex;\n" "attribute mediump vec3 normal;\n" "uniform mediump mat4 matrix;\n" @@ -346,36 +189,28 @@ void GLWidget::initializeGL () " color = vec4(col * 0.2 + col * 0.8 * angle, 1.0);\n" " color = clamp(color, 0.0, 1.0);\n" " gl_Position = matrix * vertex;\n" - "}\n" - }; - glShaderSource(vshader1, 1, vsrc1, 0); - glCompileShader(vshader1); - reportCompileErrors(vshader1, vsrc1[0]); + "}\n"; + vshader1->setSourceCode(vsrc1); - GLuint fshader1 = glCreateShader(GL_FRAGMENT_SHADER); - const char *fsrc1[1] = { + QGLShader *fshader1 = new QGLShader(QGLShader::FragmentShader, this); + const char *fsrc1 = "varying mediump vec4 color;\n" "void main(void)\n" "{\n" " gl_FragColor = color;\n" - "}\n" - }; - glShaderSource(fshader1, 1, fsrc1, 0); - glCompileShader(fshader1); - reportCompileErrors(fshader1, fsrc1[0]); - - program1 = glCreateProgram(); - glAttachShader(program1, vshader1); - glAttachShader(program1, fshader1); - glLinkProgram(program1); - reportLinkErrors(program1, vsrc1[0], fsrc1[0]); - - vertexAttr1 = glGetAttribLocation(program1, "vertex"); - normalAttr1 = glGetAttribLocation(program1, "normal"); - matrixUniform1 = glGetUniformLocation(program1, "matrix"); - - GLuint vshader2 = glCreateShader(GL_VERTEX_SHADER); - const char *vsrc2[1] = { + "}\n"; + fshader1->setSourceCode(fsrc1); + + program1.addShader(vshader1); + program1.addShader(fshader1); + program1.link(); + + vertexAttr1 = program1.attributeLocation("vertex"); + normalAttr1 = program1.attributeLocation("normal"); + matrixUniform1 = program1.uniformLocation("matrix"); + + QGLShader *vshader2 = new QGLShader(QGLShader::VertexShader); + const char *vsrc2 = "attribute highp vec4 vertex;\n" "attribute highp vec4 texCoord;\n" "attribute mediump vec3 normal;\n" @@ -388,14 +223,11 @@ void GLWidget::initializeGL () " angle = max(dot(normal, toLight), 0.0);\n" " gl_Position = matrix * vertex;\n" " texc = texCoord;\n" - "}\n" - }; - glShaderSource(vshader2, 1, vsrc2, 0); - glCompileShader(vshader2); - reportCompileErrors(vshader2, vsrc2[0]); + "}\n"; + vshader2->setSourceCode(vsrc2); - GLuint fshader2 = glCreateShader(GL_FRAGMENT_SHADER); - const char *fsrc2[1] = { + QGLShader *fshader2 = new QGLShader(QGLShader::FragmentShader); + const char *fsrc2 = "varying highp vec4 texc;\n" "uniform sampler2D tex;\n" "varying mediump float angle;\n" @@ -404,23 +236,18 @@ void GLWidget::initializeGL () " highp vec3 color = texture2D(tex, texc.st).rgb;\n" " color = color * 0.2 + color * 0.8 * angle;\n" " gl_FragColor = vec4(clamp(color, 0.0, 1.0), 1.0);\n" - "}\n" - }; - glShaderSource(fshader2, 1, fsrc2, 0); - glCompileShader(fshader2); - reportCompileErrors(fshader2, fsrc2[0]); - - program2 = glCreateProgram(); - glAttachShader(program2, vshader2); - glAttachShader(program2, fshader2); - glLinkProgram(program2); - reportLinkErrors(program2, vsrc2[0], fsrc2[0]); - - vertexAttr2 = glGetAttribLocation(program2, "vertex"); - normalAttr2 = glGetAttribLocation(program2, "normal"); - texCoordAttr2 = glGetAttribLocation(program2, "texCoord"); - matrixUniform2 = glGetUniformLocation(program2, "matrix"); - textureUniform2 = glGetUniformLocation(program2, "tex"); + "}\n"; + fshader2->setSourceCode(fsrc2); + + program2.addShader(vshader2); + program2.addShader(fshader2); + program2.link(); + + vertexAttr2 = program2.attributeLocation("vertex"); + normalAttr2 = program2.attributeLocation("normal"); + texCoordAttr2 = program2.attributeLocation("texCoord"); + matrixUniform2 = program2.uniformLocation("matrix"); + textureUniform2 = program2.uniformLocation("tex"); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); @@ -450,24 +277,23 @@ void GLWidget::paintGL() glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); - GLfloat modelview[16]; - IdentityMatrix(modelview); - RotateMatrix(modelview, m_fAngle, 0.0, 1.0, 0.0); - RotateMatrix(modelview, m_fAngle, 1.0, 0.0, 0.0); - RotateMatrix(modelview, m_fAngle, 0.0, 0.0, 1.0); - ScaleMatrix(modelview, m_fScale, m_fScale, m_fScale); - TranslateMatrix(modelview, 0, -0.2, 0); + QMatrix4x4 modelview; + modelview.rotate(m_fAngle, 0.0f, 1.0f, 0.0f); + modelview.rotate(m_fAngle, 1.0f, 0.0f, 0.0f); + modelview.rotate(m_fAngle, 0.0f, 0.0f, 1.0f); + modelview.scale(m_fScale); + modelview.translate(0.0f, -0.2f, 0.0f); if (qtLogo) { - glUseProgram(program1); - glUniformMatrix4fv(matrixUniform1, 1, GL_FALSE, modelview); + program1.enable(); + program1.setUniformValue(matrixUniform1, modelview); paintQtLogo(); - glUseProgram(0); + program1.disable(); } else { - glUseProgram(program2); - glUniformMatrix4fv(matrixUniform2, 1, GL_FALSE, modelview); + program2.enable(); + program1.setUniformValue(matrixUniform2, modelview); paintTexturedCube(); - glUseProgram(0); + program2.disable(); } glDisable(GL_DEPTH_TEST); @@ -563,80 +389,69 @@ void GLWidget::createGeometry() extrude(x8, y8, x5, y5); } - m_vertexNumber = vertices.size(); - createdVertices = new GLfloat[m_vertexNumber]; - createdNormals = new GLfloat[m_vertexNumber]; - for (int i = 0;i < m_vertexNumber;i++) { - createdVertices[i] = vertices.at(i) * 2; - createdNormals[i] = normals.at(i); - } - vertices.clear(); - normals.clear(); + for (int i = 0;i < vertices.size();i++) + vertices[i] *= 2.0f; } void GLWidget::quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4) { - qreal nx, ny, nz; + vertices << QVector3D(x1, y1, -0.05f); + vertices << QVector3D(x2, y2, -0.05f); + vertices << QVector3D(x4, y4, -0.05f); - vertices << x1 << y1 << -0.05f; - vertices << x2 << y2 << -0.05f; - vertices << x4 << y4 << -0.05f; + vertices << QVector3D(x3, y3, -0.05f); + vertices << QVector3D(x4, y4, -0.05f); + vertices << QVector3D(x2, y2, -0.05f); - vertices << x3 << y3 << -0.05f; - vertices << x4 << y4 << -0.05f; - vertices << x2 << y2 << -0.05f; + QVector3D n = QVector3D::normal + (QVector3D(x2 - x1, y2 - y1, 0.0f), QVector3D(x4 - x1, y4 - y1, 0.0f)); - CrossProduct(nx, ny, nz, x2 - x1, y2 - y1, 0, x4 - x1, y4 - y1, 0); - Normalize(nx, ny, nz); + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + vertices << QVector3D(x4, y4, 0.05f); + vertices << QVector3D(x2, y2, 0.05f); + vertices << QVector3D(x1, y1, 0.05f); - vertices << x4 << y4 << 0.05f; - vertices << x2 << y2 << 0.05f; - vertices << x1 << y1 << 0.05f; + vertices << QVector3D(x2, y2, 0.05f); + vertices << QVector3D(x4, y4, 0.05f); + vertices << QVector3D(x3, y3, 0.05f); - vertices << x2 << y2 << 0.05f; - vertices << x4 << y4 << 0.05f; - vertices << x3 << y3 << 0.05f; + n = QVector3D::normal + (QVector3D(x2 - x4, y2 - y4, 0.0f), QVector3D(x1 - x4, y1 - y4, 0.0f)); - CrossProduct(nx, ny, nz, x2 - x4, y2 - y4, 0, x1 - x4, y1 - y4, 0); - Normalize(nx, ny, nz); + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; - - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; } void GLWidget::extrude(qreal x1, qreal y1, qreal x2, qreal y2) { - qreal nx, ny, nz; - - vertices << x1 << y1 << +0.05f; - vertices << x2 << y2 << +0.05f; - vertices << x1 << y1 << -0.05f; + vertices << QVector3D(x1, y1, +0.05f); + vertices << QVector3D(x2, y2, +0.05f); + vertices << QVector3D(x1, y1, -0.05f); - vertices << x2 << y2 << -0.05f; - vertices << x1 << y1 << -0.05f; - vertices << x2 << y2 << +0.05f; + vertices << QVector3D(x2, y2, -0.05f); + vertices << QVector3D(x1, y1, -0.05f); + vertices << QVector3D(x2, y2, +0.05f); - CrossProduct(nx, ny, nz, x2 - x1, y2 - y1, 0.0f, 0.0f, 0.0f, -0.1f); - Normalize(nx, ny, nz); + QVector3D n = QVector3D::normal + (QVector3D(x2 - x1, y2 - y1, 0.0f), QVector3D(0.0f, 0.0f, -0.1f)); - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; - normals << nx << ny << nz; - normals << nx << ny << nz; - normals << nx << ny << nz; + normals << n; + normals << n; + normals << n; } diff --git a/examples/opengl/hellogl_es2/glwidget.h b/examples/opengl/hellogl_es2/glwidget.h index 9a7823a..596e1cc 100644 --- a/examples/opengl/hellogl_es2/glwidget.h +++ b/examples/opengl/hellogl_es2/glwidget.h @@ -43,7 +43,11 @@ #define GLWIDGET_H #include +#include +#include +#include #include +#include class Bubble; class GLWidget : public QGLWidget { @@ -71,24 +75,21 @@ private: void createBubbles(int number); void quad(qreal x1, qreal y1, qreal x2, qreal y2, qreal x3, qreal y3, qreal x4, qreal y4); void extrude(qreal x1, qreal y1, qreal x2, qreal y2); - QList vertices; - QList normals; - GLfloat *createdVertices; - GLfloat *createdNormals; - int m_vertexNumber; + QVector vertices; + QVector normals; bool qtLogo; QList bubbles; int frames; QTime time; - GLuint program1; - GLuint program2; - GLuint vertexAttr1; - GLuint normalAttr1; - GLuint matrixUniform1; - GLuint vertexAttr2; - GLuint normalAttr2; - GLuint texCoordAttr2; - GLuint matrixUniform2; - GLuint textureUniform2; + QGLShaderProgram program1; + QGLShaderProgram program2; + int vertexAttr1; + int normalAttr1; + int matrixUniform1; + int vertexAttr2; + int normalAttr2; + int texCoordAttr2; + int matrixUniform2; + int textureUniform2; }; #endif diff --git a/src/opengl/gl2paintengineex/qglshader_p.h b/src/opengl/gl2paintengineex/qglshader_p.h index 4cbf3f6..64c9a42 100644 --- a/src/opengl/gl2paintengineex/qglshader_p.h +++ b/src/opengl/gl2paintengineex/qglshader_p.h @@ -81,7 +81,8 @@ SAMPLER_2D_SHADOW. #include -#include +#define QGLShader QGLEngineShader +#define QGLShaderProgram QGLEngineShaderProgram typedef struct { GLfloat a; diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index af16312..3b8bfa1 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -25,14 +25,16 @@ HEADERS += qgl.h \ qglcolormap.h \ qglpixelbuffer.h \ qglframebufferobject.h \ - qglpixmapfilter_p.h + qglpixmapfilter_p.h \ + qglshaderprogram.h SOURCES += qgl.cpp \ qglcolormap.cpp \ qglpixelbuffer.cpp \ qglframebufferobject.cpp \ qglextensions.cpp \ - qglpixmapfilter.cpp + qglpixmapfilter.cpp \ + qglshaderprogram.cpp #!contains(QT_CONFIG, opengles2) { # HEADERS += qpaintengine_opengl_p.h diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index e6ac043..5fda346 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -153,55 +153,179 @@ bool qt_resolve_buffer_extensions(QGLContext *ctx) bool qt_resolve_glsl_extensions(QGLContext *ctx) { +#if defined(QT_OPENGL_ES_2) + // The GLSL shader functions are always present in OpenGL/ES 2.0. + // The only exceptions are glGetProgramBinaryOES and glProgramBinaryOES. + if (!QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glslResolved) { + glGetProgramBinaryOES = (_glGetProgramBinaryOES) ctx->getProcAddress(QLatin1String("glGetProgramBinaryOES")); + glProgramBinaryOES = (_glProgramBinaryOES) ctx->getProcAddress(QLatin1String("glProgramBinaryOES")); + QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glslResolved = true; + } + return true; +#else if (glCreateShader) return true; glCreateShader = (_glCreateShader) ctx->getProcAddress(QLatin1String("glCreateShader")); - glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSource")); - glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShader")); - glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteShader")); - - glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgram")); - glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachShader")); - glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachShader")); - glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgram")); - glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgram")); - glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteProgram")); - - glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetShaderInfoLog")); - glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetShaderiv")); - glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetProgramiv")); - - glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocation")); - glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fv")); - glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fv")); - glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fv")); - glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fv")); - glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1i")); - - glGetActiveAttrib = (_glGetActiveAttrib) ctx->getProcAddress(QLatin1String("glGetActiveAttrib")); - glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocation")); - glGetActiveUniform = (_glGetActiveUniform) ctx->getProcAddress(QLatin1String("glGetActiveUniform")); - glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetProgramInfoLog")); - glUniform1f = (_glUniform1f) ctx->getProcAddress(QLatin1String("glUniform1f")); - glUniform2f = (_glUniform2f) ctx->getProcAddress(QLatin1String("glUniform2f")); - glUniform4f = (_glUniform4f) ctx->getProcAddress(QLatin1String("glUniform4f")); - glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fv")); - glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fv")); - glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fv")); - glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArray")); - glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArray")); - glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointer")); - glStencilOpSeparate = (_glStencilOpSeparate) ctx->getProcAddress(QLatin1String("glStencilOpSeparate")); - - return glCreateShader && glShaderSource && glCompileShader && glDeleteProgram && - glCreateProgram && glAttachShader && glDetachShader && glLinkProgram && glUseProgram && - glDeleteProgram && glGetShaderInfoLog && glGetShaderiv && glGetProgramiv && glGetUniformLocation && - glUniform1i && glUniform1fv && glUniform2fv && glUniform3fv && glUniform4fv && - glGetActiveAttrib && glGetAttribLocation && glGetActiveUniform && glGetProgramInfoLog && - glUniform1f && glUniform2f && glUniform4f && - glUniformMatrix2fv && glUniformMatrix3fv && glUniformMatrix4fv && - glEnableVertexAttribArray && glDisableVertexAttribArray && glVertexAttribPointer && glStencilOpSeparate; + if (glCreateShader) { + glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSource")); + glShaderBinary = (_glShaderBinary) ctx->getProcAddress(QLatin1String("glShaderBinary")); + glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShader")); + glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteShader")); + glIsShader = (_glIsShader) ctx->getProcAddress(QLatin1String("glIsShader")); + + glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgram")); + glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachShader")); + glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachShader")); + glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgram")); + glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgram")); + glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteProgram")); + glIsProgram = (_glIsProgram) ctx->getProcAddress(QLatin1String("glIsProgram")); + + glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetShaderInfoLog")); + glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetShaderiv")); + glGetShaderSource = (_glGetShaderSource) ctx->getProcAddress(QLatin1String("glGetShaderSource")); + glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetProgramiv")); + glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetProgramInfoLog")); + + glGetActiveUniform = (_glGetActiveUniform) ctx->getProcAddress(QLatin1String("glGetActiveUniform"));//### REMOVE + glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocation")); + glUniform4f = (_glUniform4f) ctx->getProcAddress(QLatin1String("glUniform4f")); //### REMOVE + glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fv")); + glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fv")); + glUniform2f = (_glUniform2f) ctx->getProcAddress(QLatin1String("glUniform2f")); //### REMOVE + glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fv")); + glUniform1f = (_glUniform1f) ctx->getProcAddress(QLatin1String("glUniform1f")); //### REMOVE + glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fv")); + glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1i")); + glUniform1iv = (_glUniform1iv) ctx->getProcAddress(QLatin1String("glUniform1iv")); + glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fv")); + glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fv")); + glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fv")); + glUniformMatrix2x3fv = (_glUniformMatrix2x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x3fv")); + glUniformMatrix2x4fv = (_glUniformMatrix2x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x4fv")); + glUniformMatrix3x2fv = (_glUniformMatrix3x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x2fv")); + glUniformMatrix3x4fv = (_glUniformMatrix3x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x4fv")); + glUniformMatrix4x2fv = (_glUniformMatrix4x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x2fv")); + glUniformMatrix4x3fv = (_glUniformMatrix4x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x3fv")); + + glGetActiveAttrib = (_glGetActiveAttrib) ctx->getProcAddress(QLatin1String("glGetActiveAttrib")); //### REMOVE + glBindAttribLocation = (_glBindAttribLocation) ctx->getProcAddress(QLatin1String("glBindAttribLocation")); + glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocation")); + glVertexAttrib1fv = (_glVertexAttrib1fv) ctx->getProcAddress(QLatin1String("glVertexAttrib1fv")); + glVertexAttrib2fv = (_glVertexAttrib2fv) ctx->getProcAddress(QLatin1String("glVertexAttrib2fv")); + glVertexAttrib3fv = (_glVertexAttrib3fv) ctx->getProcAddress(QLatin1String("glVertexAttrib3fv")); + glVertexAttrib4fv = (_glVertexAttrib4fv) ctx->getProcAddress(QLatin1String("glVertexAttrib4fv")); + glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointer")); + glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArray")); + glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArray")); + + glStencilOpSeparate = (_glStencilOpSeparate) ctx->getProcAddress(QLatin1String("glStencilOpSeparate")); //### Not really a glsl extension, but needed for gl2 + + } else { + // We may not have the standard shader functions, but we might + // have the older ARB functions instead. + glCreateShader = (_glCreateShader) ctx->getProcAddress(QLatin1String("glCreateShaderObjectARB")); + glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSourceARB")); + glShaderBinary = (_glShaderBinary) ctx->getProcAddress(QLatin1String("glShaderBinaryARB")); + glCompileShader = (_glCompileShader) ctx->getProcAddress(QLatin1String("glCompileShaderARB")); + glDeleteShader = (_glDeleteShader) ctx->getProcAddress(QLatin1String("glDeleteObjectARB")); + glIsShader = 0; + + glCreateProgram = (_glCreateProgram) ctx->getProcAddress(QLatin1String("glCreateProgramObjectARB")); + glAttachShader = (_glAttachShader) ctx->getProcAddress(QLatin1String("glAttachObjectARB")); + glDetachShader = (_glDetachShader) ctx->getProcAddress(QLatin1String("glDetachObjectARB")); + glLinkProgram = (_glLinkProgram) ctx->getProcAddress(QLatin1String("glLinkProgramARB")); + glUseProgram = (_glUseProgram) ctx->getProcAddress(QLatin1String("glUseProgramObjectARB")); + glDeleteProgram = (_glDeleteProgram) ctx->getProcAddress(QLatin1String("glDeleteObjectARB")); + glIsProgram = 0; + + glGetShaderInfoLog = (_glGetShaderInfoLog) ctx->getProcAddress(QLatin1String("glGetInfoLogARB")); + glGetShaderiv = (_glGetShaderiv) ctx->getProcAddress(QLatin1String("glGetObjectParameterivARB")); + glGetShaderSource = (_glGetShaderSource) ctx->getProcAddress(QLatin1String("glGetShaderSourceARB")); + glGetProgramiv = (_glGetProgramiv) ctx->getProcAddress(QLatin1String("glGetObjectParameterivARB")); + glGetProgramInfoLog = (_glGetProgramInfoLog) ctx->getProcAddress(QLatin1String("glGetInfoLogARB")); + + glGetActiveUniform = (_glGetActiveUniform) ctx->getProcAddress(QLatin1String("glGetActiveUniformARB"));//### REMOVE + glGetUniformLocation = (_glGetUniformLocation) ctx->getProcAddress(QLatin1String("glGetUniformLocationARB")); + glUniform4f = (_glUniform4f) ctx->getProcAddress(QLatin1String("glUniform4fARB")); //### REMOVE + glUniform4fv = (_glUniform4fv) ctx->getProcAddress(QLatin1String("glUniform4fvARB")); + glUniform3fv = (_glUniform3fv) ctx->getProcAddress(QLatin1String("glUniform3fvARB")); + glUniform2f = (_glUniform2f) ctx->getProcAddress(QLatin1String("glUniform2fARB")); //### REMOVE + glUniform2fv = (_glUniform2fv) ctx->getProcAddress(QLatin1String("glUniform2fvARB")); + glUniform1f = (_glUniform1f) ctx->getProcAddress(QLatin1String("glUniform1fARB")); //### REMOVE + glUniform1fv = (_glUniform1fv) ctx->getProcAddress(QLatin1String("glUniform1fvARB")); + glUniform1i = (_glUniform1i) ctx->getProcAddress(QLatin1String("glUniform1iARB")); + glUniform1iv = (_glUniform1iv) ctx->getProcAddress(QLatin1String("glUniform1ivARB")); + glUniformMatrix2fv = (_glUniformMatrix2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2fvARB")); + glUniformMatrix3fv = (_glUniformMatrix3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3fvARB")); + glUniformMatrix4fv = (_glUniformMatrix4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4fvARB")); + glUniformMatrix2x3fv = (_glUniformMatrix2x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x3fvARB")); + glUniformMatrix2x4fv = (_glUniformMatrix2x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix2x4fvARB")); + glUniformMatrix3x2fv = (_glUniformMatrix3x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x2fvARB")); + glUniformMatrix3x4fv = (_glUniformMatrix3x4fv) ctx->getProcAddress(QLatin1String("glUniformMatrix3x4fvARB")); + glUniformMatrix4x2fv = (_glUniformMatrix4x2fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x2fvARB")); + glUniformMatrix4x3fv = (_glUniformMatrix4x3fv) ctx->getProcAddress(QLatin1String("glUniformMatrix4x3fvARB")); + + glGetActiveAttrib = (_glGetActiveAttrib) ctx->getProcAddress(QLatin1String("glGetActiveAttribARB")); //### REMOVE + glBindAttribLocation = (_glBindAttribLocation) ctx->getProcAddress(QLatin1String("glBindAttribLocationARB")); + glGetAttribLocation = (_glGetAttribLocation) ctx->getProcAddress(QLatin1String("glGetAttribLocationARB")); + glVertexAttrib1fv = (_glVertexAttrib1fv) ctx->getProcAddress(QLatin1String("glVertexAttrib1fvARB")); + glVertexAttrib2fv = (_glVertexAttrib2fv) ctx->getProcAddress(QLatin1String("glVertexAttrib2fvARB")); + glVertexAttrib3fv = (_glVertexAttrib3fv) ctx->getProcAddress(QLatin1String("glVertexAttrib3fvARB")); + glVertexAttrib4fv = (_glVertexAttrib4fv) ctx->getProcAddress(QLatin1String("glVertexAttrib4fvARB")); + glVertexAttribPointer = (_glVertexAttribPointer) ctx->getProcAddress(QLatin1String("glVertexAttribPointerARB")); + glDisableVertexAttribArray = (_glDisableVertexAttribArray) ctx->getProcAddress(QLatin1String("glDisableVertexAttribArrayARB")); + glEnableVertexAttribArray = (_glEnableVertexAttribArray) ctx->getProcAddress(QLatin1String("glEnableVertexAttribArrayARB")); + + glStencilOpSeparate = 0; //### Was never an ARB extension but went strait into OpenGL 2.0 + } + + // Note: glShaderBinary(), glIsShader(), glIsProgram(), and + // glUniformMatrixNxMfv() are optional, but all other functions + // are required. + + return glCreateShader && + glShaderSource && + glCompileShader && + glDeleteProgram && + glCreateProgram && + glAttachShader && + glDetachShader && + glLinkProgram && + glUseProgram && + glDeleteProgram && + glGetShaderInfoLog && + glGetShaderiv && + glGetShaderSource && + glGetProgramiv && + glGetProgramInfoLog && + glGetActiveUniform && //### REMOVE + glGetUniformLocation && + glUniform1f && //### REMOVE + glUniform1fv && + glUniform2f && //### REMOVE + glUniform2fv && + glUniform3fv && + glUniform4f && //### REMOVE + glUniform4fv && + glUniform1i && + glUniform1iv && + glUniformMatrix2fv && + glUniformMatrix3fv && + glUniformMatrix4fv && + glGetActiveAttrib && //### REMOVE + glBindAttribLocation && + glGetAttribLocation && + glVertexAttrib1fv && + glVertexAttrib2fv && + glVertexAttrib3fv && + glVertexAttrib4fv && + glVertexAttribPointer && + glDisableVertexAttribArray && + glEnableVertexAttribArray && + glStencilOpSeparate; +#endif } QT_END_NAMESPACE diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index cd35eb0..69632e7 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -96,8 +96,10 @@ typedef void (APIENTRY *_glProgramLocalParameter4fvARB) (GLenum, GLuint, const G // GLSL typedef GLuint (APIENTRY *_glCreateShader) (GLenum); typedef void (APIENTRY *_glShaderSource) (GLuint, GLsizei, const char **, const GLint *); +typedef void (APIENTRY *_glShaderBinary) (GLint, const GLuint*, GLenum, const void*, GLint); typedef void (APIENTRY *_glCompileShader) (GLuint); typedef void (APIENTRY *_glDeleteShader) (GLuint); +typedef GLboolean (APIENTRY *_glIsShader) (GLuint); typedef GLuint (APIENTRY *_glCreateProgram) (); typedef void (APIENTRY *_glAttachShader) (GLuint, GLuint); @@ -105,10 +107,13 @@ typedef void (APIENTRY *_glDetachShader) (GLuint, GLuint); typedef void (APIENTRY *_glLinkProgram) (GLuint); typedef void (APIENTRY *_glUseProgram) (GLuint); typedef void (APIENTRY *_glDeleteProgram) (GLuint); +typedef GLboolean (APIENTRY *_glIsProgram) (GLuint); typedef void (APIENTRY *_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei *, char *); typedef void (APIENTRY *_glGetShaderiv) (GLuint, GLenum, GLint *); +typedef void (APIENTRY *_glGetShaderSource) (GLuint, GLsizei, GLsizei *, char *); typedef void (APIENTRY *_glGetProgramiv) (GLuint, GLenum, GLint *); +typedef void (APIENTRY *_glGetProgramInfoLog) (GLuint, GLsizei, GLsizei *, char *); typedef GLuint (APIENTRY *_glGetUniformLocation) (GLuint, const char*); typedef void (APIENTRY *_glUniform4fv) (GLint, GLsizei, const GLfloat *); @@ -116,6 +121,29 @@ typedef void (APIENTRY *_glUniform3fv) (GLint, GLsizei, const GLfloat *); typedef void (APIENTRY *_glUniform2fv) (GLint, GLsizei, const GLfloat *); typedef void (APIENTRY *_glUniform1fv) (GLint, GLsizei, const GLfloat *); typedef void (APIENTRY *_glUniform1i) (GLint, GLint); +typedef void (APIENTRY *_glUniform1iv) (GLint, GLsizei, const GLint *); +typedef void (APIENTRY *_glUniformMatrix2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix2x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix2x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix3x4fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4x2fv) (GLint, GLsizei, GLboolean, const GLfloat *); +typedef void (APIENTRY *_glUniformMatrix4x3fv) (GLint, GLsizei, GLboolean, const GLfloat *); + +typedef void (APIENTRY *_glBindAttribLocation) (GLuint, GLuint, const char *); +typedef GLint (APIENTRY *_glGetAttribLocation) (GLuint, const char *); +typedef void (APIENTRY *_glVertexAttrib1fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib2fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib3fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttrib4fv) (GLuint, const GLfloat *); +typedef void (APIENTRY *_glVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *); +typedef void (APIENTRY *_glDisableVertexAttribArray) (GLuint); +typedef void (APIENTRY *_glEnableVertexAttribArray) (GLuint); + +typedef void (APIENTRY *_glGetProgramBinaryOES) (GLuint, GLsizei, GLsizei *, GLenum *, void *); +typedef void (APIENTRY *_glProgramBinaryOES) (GLuint, GLenum, const void *, GLint); typedef void (APIENTRY *_glActiveStencilFaceEXT) (GLenum ); @@ -182,10 +210,13 @@ struct QGLExtensionFuncs qt_glGenProgramsARB = 0; qt_glProgramLocalParameter4fvARB = 0; +#if !defined(QT_OPENGL_ES_2) qt_glCreateShader = 0; qt_glShaderSource = 0; + qt_glShaderBinary = 0; qt_glCompileShader = 0; qt_glDeleteShader = 0; + qt_glIsShader = 0; qt_glCreateProgram = 0; qt_glAttachShader = 0; @@ -193,10 +224,13 @@ struct QGLExtensionFuncs qt_glLinkProgram = 0; qt_glUseProgram = 0; qt_glDeleteProgram = 0; + qt_glIsProgram = 0; qt_glGetShaderInfoLog = 0; qt_glGetShaderiv = 0; + qt_glGetShaderSource = 0; qt_glGetProgramiv = 0; + qt_glGetProgramInfoLog = 0; qt_glGetUniformLocation = 0; qt_glUniform4fv = 0; @@ -204,6 +238,32 @@ struct QGLExtensionFuncs qt_glUniform2fv = 0; qt_glUniform1fv = 0; qt_glUniform1i = 0; + qt_glUniform1iv = 0; + qt_glUniformMatrix2fv = 0; + qt_glUniformMatrix3fv = 0; + qt_glUniformMatrix4fv = 0; + qt_glUniformMatrix2x3fv = 0; + qt_glUniformMatrix2x4fv = 0; + qt_glUniformMatrix3x2fv = 0; + qt_glUniformMatrix3x4fv = 0; + qt_glUniformMatrix4x2fv = 0; + qt_glUniformMatrix4x3fv = 0; + + qt_glBindAttribLocation = 0; + qt_glGetAttribLocation = 0; + qt_glVertexAttrib1fv = 0; + qt_glVertexAttrib2fv = 0; + qt_glVertexAttrib3fv = 0; + qt_glVertexAttrib4fv = 0; + qt_glVertexAttribPointer = 0; + qt_glDisableVertexAttribArray = 0; + qt_glEnableVertexAttribArray = 0; +#else + qt_glslResolved = false; + + qt_glGetProgramBinaryOES = 0; + qt_glProgramBinaryOES = 0; +#endif qt_glActiveStencilFaceEXT = 0; @@ -261,11 +321,14 @@ struct QGLExtensionFuncs _glGenProgramsARB qt_glGenProgramsARB; _glProgramLocalParameter4fvARB qt_glProgramLocalParameter4fvARB; +#if !defined(QT_OPENGL_ES_2) // GLSL definitions _glCreateShader qt_glCreateShader; _glShaderSource qt_glShaderSource; + _glShaderBinary qt_glShaderBinary; _glCompileShader qt_glCompileShader; _glDeleteShader qt_glDeleteShader; + _glIsShader qt_glIsShader; _glCreateProgram qt_glCreateProgram; _glAttachShader qt_glAttachShader; @@ -273,10 +336,13 @@ struct QGLExtensionFuncs _glLinkProgram qt_glLinkProgram; _glUseProgram qt_glUseProgram; _glDeleteProgram qt_glDeleteProgram; + _glIsProgram qt_glIsProgram; _glGetShaderInfoLog qt_glGetShaderInfoLog; _glGetShaderiv qt_glGetShaderiv; + _glGetShaderSource qt_glGetShaderSource; _glGetProgramiv qt_glGetProgramiv; + _glGetProgramInfoLog qt_glGetProgramInfoLog; _glGetUniformLocation qt_glGetUniformLocation; _glUniform4fv qt_glUniform4fv; @@ -284,6 +350,32 @@ struct QGLExtensionFuncs _glUniform2fv qt_glUniform2fv; _glUniform1fv qt_glUniform1fv; _glUniform1i qt_glUniform1i; + _glUniform1iv qt_glUniform1iv; + _glUniformMatrix2fv qt_glUniformMatrix2fv; + _glUniformMatrix3fv qt_glUniformMatrix3fv; + _glUniformMatrix4fv qt_glUniformMatrix4fv; + _glUniformMatrix2x3fv qt_glUniformMatrix2x3fv; + _glUniformMatrix2x4fv qt_glUniformMatrix2x4fv; + _glUniformMatrix3x2fv qt_glUniformMatrix3x2fv; + _glUniformMatrix3x4fv qt_glUniformMatrix3x4fv; + _glUniformMatrix4x2fv qt_glUniformMatrix4x2fv; + _glUniformMatrix4x3fv qt_glUniformMatrix4x3fv; + + _glBindAttribLocation qt_glBindAttribLocation; + _glGetAttribLocation qt_glGetAttribLocation; + _glVertexAttrib1fv qt_glVertexAttrib1fv; + _glVertexAttrib2fv qt_glVertexAttrib2fv; + _glVertexAttrib3fv qt_glVertexAttrib3fv; + _glVertexAttrib4fv qt_glVertexAttrib4fv; + _glVertexAttribPointer qt_glVertexAttribPointer; + _glDisableVertexAttribArray qt_glDisableVertexAttribArray; + _glEnableVertexAttribArray qt_glEnableVertexAttribArray; +#else + bool qt_glslResolved; + + _glGetProgramBinaryOES qt_glGetProgramBinaryOES; + _glProgramBinaryOES qt_glProgramBinaryOES; +#endif _glActiveStencilFaceEXT qt_glActiveStencilFaceEXT; @@ -600,10 +692,14 @@ struct QGLExtensionFuncs #define glMapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glMapBufferARB #define glUnmapBufferARB QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUnmapBufferARB +#if !defined(QT_OPENGL_ES_2) + #define glCreateShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateShader #define glShaderSource QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glShaderSource +#define glShaderBinary QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glShaderBinary #define glCompileShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCompileShader #define glDeleteShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteShader +#define glIsShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsShader #define glCreateProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glCreateProgram #define glAttachShader QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glAttachShader @@ -611,10 +707,13 @@ struct QGLExtensionFuncs #define glLinkProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glLinkProgram #define glUseProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUseProgram #define glDeleteProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDeleteProgram +#define glIsProgram QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glIsProgram #define glGetShaderInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderInfoLog #define glGetShaderiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderiv +#define glGetShaderSource QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetShaderSource #define glGetProgramiv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramiv +#define glGetProgramInfoLog QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramInfoLog #define glGetUniformLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetUniformLocation #define glUniform4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform4fv @@ -622,6 +721,33 @@ struct QGLExtensionFuncs #define glUniform2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform2fv #define glUniform1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1fv #define glUniform1i QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1i +#define glUniform1iv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniform1iv +#define glUniformMatrix2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2fv +#define glUniformMatrix3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3fv +#define glUniformMatrix4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4fv +#define glUniformMatrix2x3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2x3fv +#define glUniformMatrix2x4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix2x4fv +#define glUniformMatrix3x2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3x2fv +#define glUniformMatrix3x4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix3x4fv +#define glUniformMatrix4x2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4x2fv +#define glUniformMatrix4x3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glUniformMatrix4x3fv + +#define glBindAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glBindAttribLocation +#define glGetAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetAttribLocation +#define glVertexAttrib1fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib1fv +#define glVertexAttrib2fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib2fv +#define glVertexAttrib3fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib3fv +#define glVertexAttrib4fv QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttrib4fv +#define glVertexAttribPointer QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glVertexAttribPointer +#define glDisableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glDisableVertexAttribArray +#define glEnableVertexAttribArray QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glEnableVertexAttribArray + +#else // QT_OPENGL_ES_2 + +#define glGetProgramBinaryOES QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetProgramBinaryOES +#define glProgramBinaryOES QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glProgramBinaryOES + +#endif // QT_OPENGL_ES_2 #define glGetActiveAttrib QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetActiveAttrib #define glGetAttribLocation QGLContextPrivate::qt_get_extension_funcs(ctx).qt_glGetAttribLocation diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp index 8a64515..87abf60 100644 --- a/src/opengl/qglpixmapfilter.cpp +++ b/src/opengl/qglpixmapfilter.cpp @@ -45,27 +45,12 @@ #include "qpaintengine_opengl_p.h" #include "qglpixelbuffer.h" -#include "qglextensions_p.h" +#include "qglshaderprogram.h" #include "qgl_p.h" #include "private/qapplication_p.h" -#ifndef GL_FRAGMENT_SHADER -#define GL_FRAGMENT_SHADER 0x8B30 -#endif - -#ifndef GL_COMPILE_STATUS -#define GL_COMPILE_STATUS 0x8B81 -#endif - -#ifndef GL_LINK_STATUS -#define GL_LINK_STATUS 0x8B82 -#endif - - - - QT_BEGIN_NAMESPACE @@ -79,110 +64,6 @@ void QGLPixmapFilterBase::drawImpl(QPainter *painter, const QPointF &pos, const processGL(painter, pos, src, source); } -QGLSLProgram::QGLSLProgram(const QString &src) - : ctx(QGLContext::currentContext()) -{ - if (!qt_resolve_glsl_extensions(const_cast(ctx))) { - qWarning("Failed to resolve GLSL functions"); - m_valid = false; - return; - } - - m_shader = glCreateShader(GL_FRAGMENT_SHADER); - - const QByteArray src_ba = src.toAscii(); - const char *src_cstr = src_ba.constData(); - - glShaderSource(m_shader, 1, &src_cstr, 0); - glCompileShader(m_shader); - glGetShaderiv(m_shader, GL_COMPILE_STATUS, &m_valid); - if (!m_valid) { - char data[4096]; - GLsizei len; - glGetShaderInfoLog(m_shader, 4096, &len, data); - qWarning("Failed to compile GLSL shader:\n%s\nCODE:\n%s\n", data, src_cstr); - return; - } - - m_program = glCreateProgram(); - glAttachShader(m_program, m_shader); - glLinkProgram(m_program); - glGetProgramiv(m_program, GL_LINK_STATUS, &m_valid); - if (!m_valid) { - char data[4096]; - GLsizei len; - glGetShaderInfoLog(m_shader, 4096, &len, data); - qWarning("Failed to link GLSL program:\n%s\nCODE:\n%s\n", data, src_cstr); - return; - } -} - -QGLSLProgram::~QGLSLProgram() -{ - glDeleteProgram(m_program); - glDeleteShader(m_shader); -} - -bool QGLSLProgram::success() const -{ - return m_valid; -} - -void QGLSLProgram::enable() -{ - glUseProgram(m_program); -} - -void QGLSLProgram::disable() -{ - glUseProgram(0); -} - -int QGLSLProgram::getUniformLocation(const QString &name) -{ - return glGetUniformLocation(m_program, name.toAscii().constData()); -} - -void QGLSLProgram::setUniform(int uniform, int value) -{ - enable(); - glUniform1i(uniform, value); -} - -void QGLSLProgram::setUniform(int uniform, qreal value) -{ - enable(); - GLfloat v[] = { value }; - glUniform1fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2) -{ - enable(); - GLfloat v[] = { v1, v2 }; - glUniform2fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2, qreal v3) -{ - enable(); - GLfloat v[] = { v1, v2, v3 }; - glUniform3fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, qreal v1, qreal v2, qreal v3, qreal v4) -{ - enable(); - GLfloat v[] = { v1, v2, v3, v4 }; - glUniform4fv(uniform, 1, v); -} - -void QGLSLProgram::setUniform(int uniform, int count, float *v) -{ - enable(); - glUniform1fv(uniform, count, v); -} - class QGLPixmapColorizeFilter: public QGLPixmapFilter { public: @@ -192,8 +73,8 @@ protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &pixmap, const QRectF &srcRect) const; private: - mutable QGLSLProgram m_program; - uint m_colorUniform; + mutable QGLShaderProgram m_program; + int m_colorUniform; }; class QGLPixmapConvolutionFilter: public QGLPixmapFilter @@ -206,11 +87,11 @@ protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const; private: - QString generateConvolutionShader() const; + QByteArray generateConvolutionShader() const; - mutable QGLSLProgram *m_program; - mutable uint m_scaleUniform; - mutable uint m_matrixUniform; + mutable QGLShaderProgram *m_program; + mutable int m_scaleUniform; + mutable int m_matrixUniform; mutable int m_kernelWidth; mutable int m_kernelHeight; @@ -298,10 +179,12 @@ static const char *qt_gl_colorize_filter = "}"; QGLPixmapColorizeFilter::QGLPixmapColorizeFilter() - : m_program(QLatin1String(qt_gl_colorize_filter)) { - m_program.setUniform(m_program.getUniformLocation(QLatin1String("texture")), 0); // GL_TEXTURE_0 - m_colorUniform = m_program.getUniformLocation(QLatin1String("color")); + m_program.addShader(QGLShader::FragmentShader, qt_gl_colorize_filter); + m_program.link(); + m_program.enable(); + m_program.setUniformValue(m_program.uniformLocation("texture"), 0); // GL_TEXTURE_0 + m_colorUniform = m_program.uniformLocation("color"); } bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const @@ -309,10 +192,10 @@ bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QP bindTexture(src); QColor col = color(); - m_program.setUniform(m_colorUniform, col.redF(), col.greenF(), col.blueF()); + m_program.enable(); + m_program.setUniformValue(m_colorUniform, col.redF(), col.greenF(), col.blueF()); QRectF target = (srcRect.isNull() ? QRectF(src.rect()) : srcRect).translated(pos); - m_program.enable(); qgl_drawTexture(target, src.width(), src.height(), srcRect); m_program.disable(); @@ -320,7 +203,7 @@ bool QGLPixmapColorizeFilter::processGL(QPainter *, const QPointF &pos, const QP } // generates convolution filter code for arbitrary sized kernel -QString QGLPixmapConvolutionFilter::generateConvolutionShader() const { +QByteArray QGLPixmapConvolutionFilter::generateConvolutionShader() const { QByteArray code; code.append("uniform sampler2D texture;\n"); code.append("uniform vec2 inv_texture_size;\n"); @@ -356,7 +239,7 @@ QString QGLPixmapConvolutionFilter::generateConvolutionShader() const { code.append(" }\n"); code.append(" gl_FragColor = sum;\n"); code.append("}"); - return QLatin1String(code); + return code; } QGLPixmapConvolutionFilter::QGLPixmapConvolutionFilter() @@ -388,10 +271,12 @@ bool QGLPixmapConvolutionFilter::processGL(QPainter *, const QPointF &pos, const m_kernelWidth = columns(); m_kernelHeight = rows(); - QString code = generateConvolutionShader(); - m_program = new QGLSLProgram(code); - m_scaleUniform = m_program->getUniformLocation(QLatin1String("inv_texture_size")); - m_matrixUniform = m_program->getUniformLocation(QLatin1String("matrix")); + QByteArray code = generateConvolutionShader(); + m_program = new QGLShaderProgram(); + m_program->addShader(QGLShader::FragmentShader, code); + m_program->link(); + m_scaleUniform = m_program->uniformLocation("inv_texture_size"); + m_matrixUniform = m_program->uniformLocation("matrix"); } const qreal *kernel = convolutionKernel(); @@ -401,10 +286,10 @@ bool QGLPixmapConvolutionFilter::processGL(QPainter *, const QPointF &pos, const const qreal iw = 1.0 / src.width(); const qreal ih = 1.0 / src.height(); - m_program->setUniform(m_scaleUniform, iw, ih); - m_program->setUniform(m_matrixUniform, m_kernelWidth * m_kernelHeight, conv); - m_program->enable(); + m_program->setUniformValue(m_scaleUniform, iw, ih); + m_program->setUniformValueArray(m_matrixUniform, conv, m_kernelWidth * m_kernelHeight, 1); + qgl_drawTexture(target, src.width(), src.height(), boundingRectFor(srcRect)); m_program->disable(); return true; diff --git a/src/opengl/qglpixmapfilter_p.h b/src/opengl/qglpixmapfilter_p.h index dc2eea6..d6742fc 100644 --- a/src/opengl/qglpixmapfilter_p.h +++ b/src/opengl/qglpixmapfilter_p.h @@ -87,35 +87,6 @@ public: } }; -class Q_OPENGL_EXPORT QGLSLProgram -{ -public: - QGLSLProgram(const QString &src); - ~QGLSLProgram(); - - bool success() const; - - void enable(); - void disable(); - - int getUniformLocation(const QString &name); - - void setUniform(int uniform, int value); - void setUniform(int uniform, qreal value); - void setUniform(int uniform, qreal v1, qreal v2); - void setUniform(int uniform, qreal v1, qreal v2, qreal v3); - void setUniform(int uniform, qreal v1, qreal v2, qreal v3, qreal v4); - void setUniform(int uniform, int count, float *v); - -private: - GLuint m_shader; - GLuint m_program; - - GLint m_valid; - - const QGLContext *ctx; -}; - QT_END_NAMESPACE QT_END_HEADER diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp new file mode 100644 index 0000000..934b5a5 --- /dev/null +++ b/src/opengl/qglshaderprogram.cpp @@ -0,0 +1,2828 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qglshaderprogram.h" +#include "qglextensions_p.h" +#include "qgl_p.h" +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +#if !defined(QT_OPENGL_ES_1_CL) + +/*! + \class QGLShaderProgram + \brief The QGLShaderProgram class allows OpenGL shader programs to be linked and used. + \since 4.6 + + \section1 Introduction + + This class supports shader programs written in the OpenGL Shading + Language (GLSL) and in the OpenGL/ES Shading Language (GLSL/ES). + + QGLShader and QGLShaderProgram shelter the programmer from the details of + compiling and linking vertex and fragment shaders. + + The following example creates a vertex shader program using the + supplied source \c{code}. Once compiled and linked, the shader + program is activated in the current QGLContext by calling + QGLShaderProgram::enable(): + + \code + QGLShader shader(QGLShader::VertexShader); + shader.setSourceCode(code); + + QGLShaderProgram program(context); + program.addShader(shader); + program.link(); + + program.enable(); + \endcode + + \section1 Writing portable shaders + + Shader programs can be difficult to reuse across OpenGL implementations + because of varying levels of support for standard vertex attributes and + uniform variables. In particular, GLSL/ES lacks all of the + standard variables that are present on desktop OpenGL systems: + \c{gl_Vertex}, \c{gl_Normal}, \c{gl_Color}, and so on. Desktop OpenGL + lacks the variable qualifiers \c{highp}, \c{mediump}, and \c{lowp}. + + The QGLShaderProgram class makes the process of writing portable shaders + easier by prefixing all shader programs with the following lines on + desktop OpenGL: + + \code + #define highp + #define mediump + #define lowp + \endcode + + This makes it possible to run most GLSL/ES shader programs + on desktop systems. The programmer should restrict themselves + to just features that are present in GLSL/ES, and avoid + standard variable names that only work on the desktop. + + \section1 Simple shader example + + \code + program.addShader(QGLShader::VertexShader, + "attribute highp vec4 vertex;\n" + "attribute mediump mat4 matrix;\n" + "void main(void)\n" + "{\n" + " gl_Position = matrix * vertex;\n" + "}"); + program.addShader(QGLShader::FragmentShader, + "uniform mediump vec4 color;\n" + "void main(void)\n" + "{\n" + " gl_FragColor = color;\n" + "}"); + program.link(); + program.enable(); + + int vertexLocation = program.attributeLocation("vertex"); + int matrixLocation = program.attributeLocation("matrix"); + int colorLocation = program.uniformLocation("color"); + \endcode + + With the above shader program active, we can draw a green triangle + as follows: + + \code + static GLfloat const triangleVertices[] = { + 60.0f, 10.0f, 0.0f, + 110.0f, 110.0f, 0.0f, + 10.0f, 110.0f, 0.0f + }; + + QColor color(0, 255, 0, 255); + + QMatrix4x4 pmvMatrix; + pmvMatrix.ortho(rect()); + + program.setAttributeArray(vertexLocation, triangleVertices, 3); + program.setUniformValue(matrixLocation, pmvMatrix); + program.setUniformValue(colorLocation, color); + + glDrawArrays(GL_TRIANGLES, 0, 3); + \endcode + + \section1 Partial shaders + + Desktop GLSL can attach an arbitrary number of vertex and fragment + shaders to a shader program. Embedded GLSL/ES on the other hand + supports only a single shader of each type on a shader program. + + Multiple shaders of the same type can be useful when large libraries + of shaders are needed. Common functions can be factored out into + library shaders that can be reused in multiple shader programs. + + To support this use of shaders, the application programmer can + create shaders with the QGLShader::PartialVertexShader and + QGLShader::PartialFragmentShader types. These types direct + QGLShader and QGLShaderProgram to delay shader compilation until + link time. + + When link() is called, the sources for the partial shaders are + concatenated, and a single vertex or fragment shader is compiled + and linked into the shader program. + + It is more efficient to use the QGLShader::VertexShader and + QGLShader::FragmentShader when there is only one shader of that + type in the program. + + \sa QGLShader +*/ + +/*! + \class QGLShader + \brief The QGLShader class allows OpenGL shaders to be compiled. + \since 4.6 + + This class supports shaders written in the OpenGL Shading Language (GLSL) + and in the OpenGL/ES Shading Language (GLSL/ES). + + QGLShader and QGLShaderProgram shelter the programmer from the details of + compiling and linking vertex and fragment shaders. + + \sa QGLShaderProgram +*/ + +/*! + \enum QGLShader::ShaderType + This enum specifies the type of QGLShader that is being created. + + \value VertexShader Vertex shader written in the OpenGL Shading Language (GLSL). + \value FragmentShader Fragment shader written in the OpenGL Shading Language (GLSL). + \value PartialVertexShader Partial vertex shader that will be concatenated with all other partial vertex shaders at link time. + \value PartialFragmentShader Partial fragment shader that will be concatenated with all other partial fragment shaders at link time. +*/ + +#ifndef GL_FRAGMENT_SHADER +#define GL_FRAGMENT_SHADER 0x8B30 +#endif +#ifndef GL_VERTEX_SHADER +#define GL_VERTEX_SHADER 0x8B31 +#endif +#ifndef GL_COMPILE_STATUS +#define GL_COMPILE_STATUS 0x8B81 +#endif +#ifndef GL_LINK_STATUS +#define GL_LINK_STATUS 0x8B82 +#endif +#ifndef GL_INFO_LOG_LENGTH +#define GL_INFO_LOG_LENGTH 0x8B84 +#endif +#ifndef GL_ACTIVE_UNIFORMS +#define GL_ACTIVE_UNIFORMS 0x8B86 +#endif +#ifndef GL_ACTIVE_UNIFORM_MAX_LENGTH +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#endif +#ifndef GL_ACTIVE_ATTRIBUTES +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#endif +#ifndef GL_ACTIVE_ATTRIBUTE_MAX_LENGTH +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#endif +#ifndef GL_CURRENT_VERTEX_ATTRIB +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#endif +#ifndef GL_SHADER_SOURCE_LENGTH +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#endif +#ifndef GL_SHADER_BINARY_FORMATS +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#endif +#ifndef GL_NUM_SHADER_BINARY_FORMATS +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#endif + +class QGLShaderPrivate +{ +public: + QGLShaderPrivate(QGLShader::ShaderType type, const QGLContext *ctx) + { + context = ctx; + shader = 0; + shaderType = type; + compiled = false; + isPartial = (type == QGLShader::PartialVertexShader || + type == QGLShader::PartialFragmentShader); + hasPartialSource = false; + } + + const QGLContext *context; + GLuint shader; + QGLShader::ShaderType shaderType; + bool compiled; + bool isPartial; + bool hasPartialSource; + QString errors; + QByteArray partialSource; + + bool create(); + bool compile(); +}; + +#define ctx context + +bool QGLShaderPrivate::create() +{ + if (isPartial) + return true; + if (!context) + context = QGLContext::currentContext(); + if (!context) + return false; + if (qt_resolve_glsl_extensions(const_cast(context))) { + if (shaderType == QGLShader::VertexShader) + shader = glCreateShader(GL_VERTEX_SHADER); + else + shader = glCreateShader(GL_FRAGMENT_SHADER); + if (!shader) { + qWarning() << "QGLShader: could not create shader"; + return false; + } + return true; + } else { + return false; + } +} + +bool QGLShaderPrivate::compile() +{ + // Partial shaders are compiled during QGLShaderProgram::link(). + if (isPartial && hasPartialSource) { + compiled = true; + return true; + } + if (!shader) + return false; + glCompileShader(shader); + GLint value = 0; + glGetShaderiv(shader, GL_COMPILE_STATUS, &value); + compiled = (value != 0); + value = 0; + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &value); + if (!compiled && value > 1) { + char *log = new char [value]; + GLint len; + glGetShaderInfoLog(shader, value, &len, log); + errors = QString::fromLatin1(log); + qWarning() << "QGLShader::compile:" << errors; + delete [] log; + } + return compiled; +} + +#undef ctx +#define ctx d->context + +/*! + Constructs a new QGLShader object of the specified \a type + and attaches it to \a parent. If shader programs are not supported, + then isValid() will return false. + + This constructor is normally followed by a call to setSourceCode() + or setSourceCodeFile(). + + The shader will be associated with the current QGLContext. + + \sa setSourceCode(), setSourceCodeFile(), isValid() +*/ +QGLShader::QGLShader(QGLShader::ShaderType type, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, QGLContext::currentContext()); + d->create(); +} + +/*! + Constructs a new QGLShader object from the source code in \a fileName + and attaches it to \a parent. If the filename ends in \c{.fsh}, + it is assumed to be a fragment shader, otherwise it is assumed to + be a vertex shader (normally the extension is \c{.vsh} for vertex shaders). + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with the current QGLContext. + + \sa isValid() +*/ +QGLShader::QGLShader(const QString& fileName, QObject *parent) + : QObject(parent) +{ + if (fileName.endsWith(QLatin1String(".fsh"), Qt::CaseInsensitive)) + d = new QGLShaderPrivate(QGLShader::FragmentShader, QGLContext::currentContext()); + else + d = new QGLShaderPrivate(QGLShader::VertexShader, QGLContext::currentContext()); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type from the + source code in \a fileName and attaches it to \a parent. + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with the current QGLContext. + + \sa isValid() +*/ +QGLShader::QGLShader + (const QString& fileName, QGLShader::ShaderType type, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, QGLContext::currentContext()); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type + and attaches it to \a parent. If shader programs are not supported, + then isValid() will return false. + + This constructor is normally followed by a call to setSourceCode() + or setSourceCodeFile(). + + The shader will be associated with \a context. + + \sa setSourceCode(), setSourceCodeFile(), isValid() +*/ +QGLShader::QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, context); + d->create(); +} + +/*! + Constructs a new QGLShader object from the source code in \a fileName + and attaches it to \a parent. If the filename ends in \c{.fsh}, + it is assumed to be a fragment shader, otherwise it is assumed to + be a vertex shader (normally the extension is \c{.vsh} for vertex shaders). + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with \a context. + + \sa isValid() +*/ +QGLShader::QGLShader(const QString& fileName, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + if (fileName.endsWith(QLatin1String(".fsh"), Qt::CaseInsensitive)) + d = new QGLShaderPrivate(QGLShader::FragmentShader, context); + else + d = new QGLShaderPrivate(QGLShader::VertexShader, context); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Constructs a new QGLShader object of the specified \a type from the + source code in \a fileName and attaches it to \a parent. + If the shader could not be loaded, then isValid() will return false. + + The shader will be associated with \a context. + + \sa isValid() +*/ +QGLShader::QGLShader + (const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderPrivate(type, context); + if (d->create() && !setSourceCodeFile(fileName)) { + if (d->shader) + glDeleteShader(d->shader); + d->shader = 0; + } +} + +/*! + Deletes this shader. If the shader has been attached to a + QGLShaderProgram object, then the actual shader will stay around + until the QGLShaderProgram is destroyed. +*/ +QGLShader::~QGLShader() +{ + if (d->shader) + glDeleteShader(d->shader); + delete d; +} + +/*! + Returns true if this shader is valid. Shaders become invalid + when they are destroyed and no longer attached to a QGLShaderProgram. +*/ +bool QGLShader::isValid() const +{ + if (d->isPartial && d->hasPartialSource) + return true; + if (!d->shader) + return false; +#if defined(QT_OPENGL_ES_2) + return glIsShader(d->shader); +#else + // glIsShader() may not exist on some systems. + return (!glIsShader || glIsShader(d->shader)); +#endif +} + +/*! + Returns the type of this shader. +*/ +QGLShader::ShaderType QGLShader::shaderType() const +{ + return d->shaderType; +} + +// The precision qualifiers are useful on OpenGL/ES systems, +// but usually not present on desktop systems. Define the +// keywords to empty strings on desktop systems. +#ifndef QT_OPENGL_ES +#define QGL_DEFINE_QUALIFIERS 1 +static const char qualifierDefines[] = + "#define lowp\n" + "#define mediump\n" + "#define highp\n"; +#endif + +/*! + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const char *source) +{ + if (d->isPartial) { + d->partialSource = QByteArray(source); + d->hasPartialSource = true; + return d->compile(); + } else if (d->shader) { + QVarLengthArray src; +#ifdef QGL_DEFINE_QUALIFIERS + src.append(qualifierDefines); +#endif + src.append(source); + glShaderSource(d->shader, src.size(), src.data(), 0); + return d->compile(); + } else { + return false; + } +} + +/*! + \overload + + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const QByteArray& source) +{ + return setSourceCode(source.constData()); +} + +/*! + \overload + + Sets the \a source code for this shader and compiles it. + Returns true if the source was successfully compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCode(const QString& source) +{ + return setSourceCode(source.toLatin1().constData()); +} + +/*! + Sets the source code for this shader to the contents of \a fileName + and compiles it. Returns true if the file could be opened and the + source compiled, false otherwise. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + then this function will always return true, even if the source code + is invalid. Partial shaders are compiled when QGLShaderProgram::link() + is called. +*/ +bool QGLShader::setSourceCodeFile(const QString& fileName) +{ + if (!d->shader) + return false; + + QFile file(fileName); + if (!file.open(QFile::ReadOnly)) { + qWarning() << "QGLShader: Unable to open file" << fileName; + return false; + } + + QByteArray contents = file.readAll(); + return setSourceCode(contents.constData()); +} + +/*! + Sets the binary code for this shader to the \a length bytes from + the array \a binary. The \a format specifies how the binary data + should be interpreted by the OpenGL engine. Returns true if the + binary was set on the shader; false otherwise. + + This function cannot be used with PartialVertexShader or + PartialFragmentShader. + + \sa shaderBinaryFormats() +*/ +bool QGLShader::setBinaryCode(GLenum format, const void *binary, int length) +{ +#if !defined(QT_OPENGL_ES_2) + if (!glShaderBinary) + return false; +#endif + if (d->isPartial || !d->shader) + return false; + glGetError(); // Clear error state. + glShaderBinary(1, &(d->shader), format, binary, length); + return (glGetError() == GL_NO_ERROR); +} + +/*! + Sets the binary code for this shader to the \a length bytes from + the array \a binary. The \a format specifies how the binary data + should be interpreted by the OpenGL engine. Returns true if the + binary was set on the shader; false otherwise. + + The \a otherShader will also have binary code set on it. This is + for the case where \a binary contains both vertex and fragment + shader code. + + This function cannot be used with PartialVertexShader or + PartialFragmentShader. + + \sa shaderBinaryFormats() +*/ +bool QGLShader::setBinaryCode + (QGLShader& otherShader, GLenum format, const void *binary, int length) +{ +#if !defined(QT_OPENGL_ES_2) + if (!glShaderBinary) + return false; +#endif + if (d->isPartial || !d->shader) + return false; + if (otherShader.d->isPartial || !otherShader.d->shader) + return false; + glGetError(); // Clear error state. + GLuint shaders[2]; + shaders[0] = d->shader; + shaders[1] = otherShader.d->shader; + glShaderBinary(2, shaders, format, binary, length); + return (glGetError() == GL_NO_ERROR); +} + +/*! + Returns a list of all binary formats that are supported by + setBinaryCode() on this system. + + \sa setBinaryCode() +*/ +QList QGLShader::shaderBinaryFormats() +{ + GLint num; + QList list; + glGetError(); // Clear error state. + glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &num); + if (glGetError() != GL_NO_ERROR || num <= 0) + return list; + QVarLengthArray formats(num); + glGetIntegerv(GL_SHADER_BINARY_FORMATS, formats.data()); + for (GLint i = 0; i < num; ++i) + list += (GLenum)(formats[i]); + return list; +} + +/*! + Returns the source code for this shader. + + \sa setSourceCode() +*/ +QByteArray QGLShader::sourceCode() const +{ + if (d->isPartial) + return d->partialSource; + if (!d->shader) + return QByteArray(); + GLint size = 0; + glGetShaderiv(d->shader, GL_SHADER_SOURCE_LENGTH, &size); + if (size <= 0) + return QByteArray(); + GLint len = 0; + char *source = new char [size]; + glGetShaderSource(d->shader, size, &len, source); + QByteArray src(source); + delete [] source; + return src; +} + +/*! + Returns true if this shader has been compiled; false otherwise. + + \sa setSourceCode() +*/ +bool QGLShader::isCompiled() const +{ + return d->compiled; +} + +/*! + Returns the errors that occurred during the last compile. + + \sa setSourceCode() +*/ +QString QGLShader::errors() const +{ + return d->errors; +} + +/*! + Returns the OpenGL identifier associated with this shader. + + If shaderType() is PartialVertexShader or PartialFragmentShader, + this function will always return zero. Partial shaders are + created and compiled when QGLShaderProgram::link() is called. + + \sa QGLShaderProgram::programId() +*/ +GLuint QGLShader::shaderId() const +{ + return d->shader; +} + +#undef ctx +#define ctx context + +class QGLShaderProgramPrivate +{ +public: + QGLShaderProgramPrivate(const QGLContext *ctx) + { + context = ctx; + program = 0; + linked = false; + inited = false; + hasPartialShaders = false; + vertexShader = 0; + fragmentShader = 0; + } + ~QGLShaderProgramPrivate() + { + if (program) + glDeleteProgram(program); + } + + const QGLContext *context; + GLuint program; + bool linked; + bool inited; + bool hasPartialShaders; + QString errors; + QList shaders; + QList anonShaders; + QGLShader *vertexShader; + QGLShader *fragmentShader; +}; + +#undef ctx +#define ctx d->context + +/*! + Constructs a new shader program and attaches it to \a parent. + The program will be invalid until addShader() is called. + + The shader program will be associated with the current QGLContext. + + \sa isValid(), addShader() +*/ +QGLShaderProgram::QGLShaderProgram(QObject *parent) + : QObject(parent) +{ + d = new QGLShaderProgramPrivate(QGLContext::currentContext()); +} + +/*! + Constructs a new shader program and attaches it to \a parent. + The program will be invalid until addShader() is called. + + The shader program will be associated with \a context. + + \sa isValid(), addShader() +*/ +QGLShaderProgram::QGLShaderProgram(const QGLContext *context, QObject *parent) + : QObject(parent) +{ + d = new QGLShaderProgramPrivate(context); +} + +/*! + Deletes this shader program. +*/ +QGLShaderProgram::~QGLShaderProgram() +{ + delete d; +} + +bool QGLShaderProgram::init() +{ + if (d->program || d->inited) + return true; + d->inited = true; + if (!d->context) + d->context = QGLContext::currentContext(); + if (!d->context) + return false; + if (qt_resolve_glsl_extensions(const_cast(d->context))) { + d->program = glCreateProgram(); + if (!(d->program)) { + qWarning() << "QGLShaderProgram: could not create shader program"; + return false; + } + return true; + } else { + qWarning() << "QGLShaderProgram: shader programs are not supported"; + return false; + } +} + +/*! + Returns true if this shader program object is valid, false otherwise. +*/ +bool QGLShaderProgram::isValid() const +{ + if (!d->program) + return false; +#if defined(QT_OPENGL_ES_2) + return glIsProgram(d->program); +#else + // glIsProgram() may not exist on some systems. + return (!glIsProgram || glIsProgram(d->program)); +#endif +} + +/*! + Adds a compiled \a shader to this shader program. Returns true + if the shader could be added, or false otherwise. + + Ownership of the \a shader object remains with the caller. + It will not be deleted when this QGLShaderProgram instance + is deleted. This allows the caller to add the same shader + to multiple shader programs. + + \sa removeShader(), link(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader *shader) +{ + if (!init()) + return false; + if (d->shaders.contains(shader)) + return true; // Already added to this shader program. + if (d->program && shader && shader->d->shader) { + if (!shader->d->compiled) + return false; + if (!shader->d->isPartial) + glAttachShader(d->program, shader->d->shader); + else + d->hasPartialShaders = true; + d->linked = false; // Program needs to be relinked. + d->shaders.append(shader); + return true; + } else { + return false; + } +} + +/*! + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const char *source) +{ + if (!init()) + return false; + QGLShader *shader = new QGLShader(type, this); + if (!shader->setSourceCode(source)) { + d->errors = shader->errors(); + delete shader; + return false; + } + d->anonShaders.append(shader); + return addShader(shader); +} + +/*! + \overload + + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QByteArray& source) +{ + return addShader(type, source.constData()); +} + +/*! + \overload + + Compiles \a source as a shader of the specified \a type and + adds it to this shader program. Returns true if compilation + was successful, false otherwise. The compilation errors + will be made available via errors(). + + This function is intended to be a short-cut for quickly + adding vertex and fragment shaders to a shader program without + creating an instance of QGLShader first. + + \sa removeShader(), link(), errors(), removeAllShaders() +*/ +bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QString& source) +{ + return addShader(type, source.toLatin1().constData()); +} + +/*! + Removes \a shader from this shader program. The object is not deleted. + + \sa addShader(), link(), removeAllShaders() +*/ +void QGLShaderProgram::removeShader(QGLShader *shader) +{ + if (d->program && shader && shader->d->shader) { + glDetachShader(d->program, shader->d->shader); + d->linked = false; // Program needs to be relinked. + } + d->shaders.removeAll(shader); + d->anonShaders.removeAll(shader); +} + +/*! + Returns a list of all shaders that have been added to this shader + program using addShader(). + + \sa addShader(), removeShader() +*/ +QList QGLShaderProgram::shaders() const +{ + return d->shaders; +} + +/*! + Removes all of the shaders that were added to this program previously. + The QGLShader objects for the shaders will not be deleted if they + were constructed externally. QGLShader objects that are constructed + internally by QGLShaderProgram will be deleted. + + \sa addShader(), removeShader() +*/ +void QGLShaderProgram::removeAllShaders() +{ + foreach (QGLShader *shader, d->shaders) { + if (d->program && shader && shader->d->shader) + glDetachShader(d->program, shader->d->shader); + } + foreach (QGLShader *shader, d->anonShaders) { + // Delete shader objects that were created anonymously. + delete shader; + } + d->shaders.clear(); + d->anonShaders.clear(); + d->linked = false; // Program needs to be relinked. +} + +#if defined(QT_OPENGL_ES_2) + +#ifndef GL_PROGRAM_BINARY_LENGTH_OES +#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 +#endif +#ifndef GL_NUM_PROGRAM_BINARY_FORMATS_OES +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE +#endif +#ifndef GL_PROGRAM_BINARY_FORMATS_OES +#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF +#endif + +#endif + +/*! + Returns the program binary associated with this shader program. + The numeric identifier of the program binary format is returned + in \a format. The \c OES_get_program_binary extension will need + to be supported by the system for binary retrieval to succeed. + + Returns an empty QByteArray if the program binary cannot be + retrieved on this system, or the shader program has not yet + been linked. + + The returned binary can be supplied to setProgramBinary() on the + same machine at some future point to reload the program. It contains + the compiled code of all of the shaders that were attached to the + program at the time programBinary() is called. + + \sa setProgramBinary(), programBinaryFormats() +*/ +QByteArray QGLShaderProgram::programBinary(int *format) const +{ +#if defined(QT_OPENGL_ES_2) + if (!isLinked()) + return QByteArray(); + + // Get the length of the binary data, bailing out if there is none. + GLint length = 0; + glGetProgramiv(d->program, GL_PROGRAM_BINARY_LENGTH_OES, &length); + if (length <= 0) + return QByteArray(); + + // Retrieve the binary data. + QByteArray binary(length, 0); + GLenum binaryFormat; + glGetProgramBinaryOES(d->program, length, 0, &binaryFormat, binary.data()); + if (format) + *format = (int)binaryFormat; + return binary; +#else + Q_UNUSED(format); + return QByteArray(); +#endif +} + +/*! + Sets the \a binary for this shader program according to \a format. + Returns true if the binary was set, or false if the binary format + is not supported or this system does not support program binaries. + The program will be linked if the load succeeds. + + \sa programBinary(), programBinaryFormats(), isLinked() +*/ +bool QGLShaderProgram::setProgramBinary(int format, const QByteArray& binary) +{ +#if defined(QT_OPENGL_ES_2) + // Load the binary and check that it was linked correctly. + glProgramBinaryOES(d->program, (GLenum)format, + binary.constData(), binary.size()); + GLint value = 0; + glGetProgramiv(d->program, GL_LINK_STATUS, &value); + d->linked = (value != 0); + value = 0; + glGetProgramiv(d->program, GL_INFO_LOG_LENGTH, &value); + d->errors = QString(); + if (value > 1) { + char *log = new char [value]; + GLint len; + glGetProgramInfoLog(d->program, value, &len, log); + d->errors = QString::fromLatin1(log); + qWarning() << "QGLShaderProgram::setProgramBinary:" << d->errors; + delete [] log; + } + return d->linked; +#else + Q_UNUSED(format); + Q_UNUSED(binary); + return false; +#endif +} + +/*! + Returns the list of program binary formats that are accepted by + this system for use with setProgramBinary(). + + \sa programBinary, setProgramBinary() +*/ +QList QGLShaderProgram::programBinaryFormats() +{ +#if defined(QT_OPENGL_ES_2) + GLint count = 0; + glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS_OES, &count); + if (count <= 0) + return QList(); + QVector list; + list.resize(count); + glGetIntegerv(GL_PROGRAM_BINARY_FORMATS_OES, list.data()); + return list.toList(); +#else + return QList(); +#endif +} + +/*! + Links together the shaders that were added to this program with + addShader(). Returns true if the link was successful or + false otherwise. If the link failed, the error messages can + be retrieved with errors(). + + Subclasses can override this function to initialize attributes + and uniform variables for use in specific shader programs. + + If the shader program was already linked, calling this + function again will force it to be re-linked. + + \sa addShader(), errors() +*/ +bool QGLShaderProgram::link() +{ + if (!d->program) + return false; + if (d->hasPartialShaders) { + // Compile the partial vertex and fragment shaders. + QByteArray vertexSource; + QByteArray fragmentSource; + foreach (QGLShader *shader, d->shaders) { + if (shader->shaderType() == QGLShader::PartialVertexShader) + vertexSource += shader->sourceCode(); + else if (shader->shaderType() == QGLShader::PartialFragmentShader) + fragmentSource += shader->sourceCode(); + } + if (vertexSource.isEmpty()) { + if (d->vertexShader) { + glDetachShader(d->program, d->vertexShader->d->shader); + delete d->vertexShader; + d->vertexShader = 0; + } + } else { + if (!d->vertexShader) { + d->vertexShader = + new QGLShader(QGLShader::VertexShader, this); + } + if (!d->vertexShader->setSourceCode(vertexSource)) { + d->errors = d->vertexShader->errors(); + return false; + } + glAttachShader(d->program, d->vertexShader->d->shader); + } + if (fragmentSource.isEmpty()) { + if (d->fragmentShader) { + glDetachShader(d->program, d->fragmentShader->d->shader); + delete d->fragmentShader; + d->fragmentShader = 0; + } + } else { + if (!d->fragmentShader) { + d->fragmentShader = + new QGLShader(QGLShader::FragmentShader, this); + } + if (!d->fragmentShader->setSourceCode(fragmentSource)) { + d->errors = d->fragmentShader->errors(); + return false; + } + glAttachShader(d->program, d->fragmentShader->d->shader); + } + } + glLinkProgram(d->program); + GLint value = 0; + glGetProgramiv(d->program, GL_LINK_STATUS, &value); + d->linked = (value != 0); + value = 0; + glGetProgramiv(d->program, GL_INFO_LOG_LENGTH, &value); + d->errors = QString(); + if (value > 1) { + char *log = new char [value]; + GLint len; + glGetProgramInfoLog(d->program, value, &len, log); + d->errors = QString::fromLatin1(log); + qWarning() << "QGLShaderProgram::link:" << d->errors; + delete [] log; + } + return d->linked; +} + +/*! + Returns true if this shader program has been linked; false otherwise. + + \sa link() +*/ +bool QGLShaderProgram::isLinked() const +{ + return d->linked; +} + +/*! + Returns the errors that occurred during the last link() + or addShader() with explicitly specified source code. + + \sa link() +*/ +QString QGLShaderProgram::errors() const +{ + return d->errors; +} + +/*! + Enable use of this shader program in the currently active QGLContext. + Returns true if the program was successfully enabled; false + otherwise. If the shader program has not yet been linked, + or it needs to be re-linked, this function will call link(). + + \sa link(), disable() +*/ +bool QGLShaderProgram::enable() +{ + if (!d->program) + return false; + if (!d->linked && !link()) + return false; + glUseProgram(d->program); + return true; +} + +/*! + Disables this shader program in the currently active QGLContext. + This is equivalent to calling \c{glUseProgram(0)}. + + \sa enable() +*/ +void QGLShaderProgram::disable() +{ +#if defined(QT_OPENGL_ES_2) + glUseProgram(0); +#else + if (glUseProgram) + glUseProgram(0); +#endif +} + +/*! + Returns the OpenGL identifier associated with this shader program. + + \sa QGLShader::shaderId() +*/ +GLuint QGLShaderProgram::programId() const +{ + return d->program; +} + +/*! + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const char *name, int location) +{ + glBindAttribLocation(d->program, location, name); +} + +/*! + \overload + + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const QByteArray& name, int location) +{ + glBindAttribLocation(d->program, location, name.constData()); +} + +/*! + \overload + + Binds the attribute \a name to the specified \a location. This + function can be called before or after the program has been linked. + Any attributes that have not been explicitly bound when the program + is linked will be assigned locations automatically. + + \sa attributeLocation() +*/ +void QGLShaderProgram::bindAttributeLocation(const QString& name, int location) +{ + glBindAttribLocation(d->program, location, name.toLatin1().constData()); +} + +/*! + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const char *name) const +{ + if (d->linked) { + return glGetAttribLocation(d->program, name); + } else { + qWarning() << "QGLShaderProgram::attributeLocation(" << name + << "): shader program is not linked"; + return -1; + } +} + +/*! + \overload + + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const QByteArray& name) const +{ + return attributeLocation(name.constData()); +} + +/*! + \overload + + Returns the location of the attribute \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + attribute for this shader program. + + \sa uniformLocation(), bindAttributeLocation() +*/ +int QGLShaderProgram::attributeLocation(const QString& name) const +{ + return attributeLocation(name.toLatin1().constData()); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, GLfloat value) +{ + if (location != -1) + glVertexAttrib1fv(location, &value); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, GLfloat value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to + the 2D vector (\a x, \a y). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, GLfloat x, GLfloat y) +{ + if (location != -1) { + GLfloat values[2] = {x, y}; + glVertexAttrib2fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 2D vector (\a x, \a y). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, GLfloat x, GLfloat y) +{ + setAttributeValue(attributeLocation(name), x, y); +} + +/*! + Sets the attribute at \a location in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, GLfloat x, GLfloat y, GLfloat z) +{ + if (location != -1) { + GLfloat values[3] = {x, y, z}; + glVertexAttrib3fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, GLfloat x, GLfloat y, GLfloat z) +{ + setAttributeValue(attributeLocation(name), x, y, z); +} + +/*! + Sets the attribute at \a location in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + if (location != -1) { + GLfloat values[4] = {x, y, z, w}; + glVertexAttrib4fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + setAttributeValue(attributeLocation(name), x, y, z, w); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector2D& value) +{ + if (location != -1) + glVertexAttrib2fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector2D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector3D& value) +{ + if (location != -1) + glVertexAttrib3fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector3D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QVector4D& value) +{ + if (location != -1) + glVertexAttrib4fv(location, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QVector4D& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(int location, const QColor& value) +{ + if (location != -1) { + GLfloat values[4] = {value.redF(), value.greenF(), value.blueF(), value.alphaF()}; + glVertexAttrib4fv(location, values); + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to \a value. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue(const char *name, const QColor& value) +{ + setAttributeValue(attributeLocation(name), value); +} + +/*! + Sets the attribute at \a location in the current context to the + contents of \a values, which contains \a columns elements, each + consisting of \a rows elements. The \a rows value should be + 1, 2, 3, or 4. This function is typically used to set matrix + values and column vectors. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (int location, const GLfloat *values, int columns, int rows) +{ + if (rows < 1 || rows > 4) { + qWarning() << "QGLShaderProgram::setAttributeValue: rows" << rows << "not supported"; + return; + } + if (location != -1) { + while (columns-- > 0) { + if (rows == 1) + glVertexAttrib1fv(location, values); + else if (rows == 2) + glVertexAttrib2fv(location, values); + else if (rows == 3) + glVertexAttrib3fv(location, values); + else + glVertexAttrib4fv(location, values); + values += rows; + ++location; + } + } +} + +/*! + \overload + + Sets the attribute called \a name in the current context to the + contents of \a values, which contains \a columns elements, each + consisting of \a rows elements. The \a rows value should be + 1, 2, 3, or 4. This function is typically used to set matrix + values and column vectors. + + \sa setUniformValue() +*/ +void QGLShaderProgram::setAttributeValue + (const char *name, const GLfloat *values, int columns, int rows) +{ + setAttributeValue(attributeLocation(name), values, columns, rows); +} + +/*! + Sets an array of vertex \a values on the attribute at \a location + in this shader program. The \a size indicates the number of + components per vertex (1, 2, 3, or 4), and the \a stride indicates + the number of bytes between vertices. A default \a stride value + of zero indicates that the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const GLfloat *values, int size, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, size, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 2D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector2D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 2, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 3D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector3D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 3, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + Sets an array of 4D vertex \a values on the attribute at \a location + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (int location, const QVector4D *values, int stride) +{ + if (location != -1) { + glVertexAttribPointer(location, 4, GL_FLOAT, GL_FALSE, + stride, values); + glEnableVertexAttribArray(location); + } +} + +/*! + \overload + + Sets an array of vertex \a values on the attribute called \a name + in this shader program. The \a size indicates the number of + components per vertex (1, 2, 3, or 4), and the \a stride indicates + the number of bytes between vertices. A default \a stride value + of zero indicates that the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const GLfloat *values, int size, int stride) +{ + setAttributeArray(attributeLocation(name), values, size, stride); +} + +/*! + \overload + + Sets an array of 2D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector2D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + \overload + + Sets an array of 3D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector3D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + \overload + + Sets an array of 4D vertex \a values on the attribute called \a name + in this shader program. The \a stride indicates the number of bytes + between vertices. A default \a stride value of zero indicates that + the vertices are densely packed in \a values. + + \sa setAttributeValue(), setUniformValue(), disableAttributeArray() +*/ +void QGLShaderProgram::setAttributeArray + (const char *name, const QVector4D *values, int stride) +{ + setAttributeArray(attributeLocation(name), values, stride); +} + +/*! + Disables the vertex array at \a location in this shader program + that was enabled by a previous call to setAttributeArray(). + + \sa setAttributeArray(), setAttributeValue(), setUniformValue() +*/ +void QGLShaderProgram::disableAttributeArray(int location) +{ + if (location != -1) + glDisableVertexAttribArray(location); +} + +/*! + \overload + + Disables the vertex array called \a name in this shader program + that was enabled by a previous call to setAttributeArray(). + + \sa setAttributeArray(), setAttributeValue(), setUniformValue() +*/ +void QGLShaderProgram::disableAttributeArray(const char *name) +{ + disableAttributeArray(attributeLocation(name)); +} + +/*! + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const char *name) const +{ + if (d->linked) { + return glGetUniformLocation(d->program, name); + } else { + qWarning() << "QGLShaderProgram::uniformLocation(" << name + << "): shader program is not linked"; + return -1; + } +} + +/*! + \overload + + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const QByteArray& name) const +{ + return uniformLocation(name.constData()); +} + +/*! + \overload + + Returns the location of the uniform variable \a name within this shader + program's parameter list. Returns -1 if \a name is not a valid + uniform variable for this shader program. + + \sa attributeLocation() +*/ +int QGLShaderProgram::uniformLocation(const QString& name) const +{ + return uniformLocation(name.toLatin1().constData()); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLfloat value) +{ + if (location != -1) + glUniform1fv(location, 1, &value); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLfloat value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + This function must be used when setting sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLint value) +{ + if (location != -1) + glUniform1i(location, value); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. This function must be used when setting sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLint value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 2D vector (\a x, \a y). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLfloat x, GLfloat y) +{ + if (location != -1) { + GLfloat values[2] = {x, y}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 2D vector (\a x, \a y). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLfloat x, GLfloat y) +{ + setUniformValue(uniformLocation(name), x, y); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (int location, GLfloat x, GLfloat y, GLfloat z) +{ + if (location != -1) { + GLfloat values[3] = {x, y, z}; + glUniform3fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 3D vector (\a x, \a y, \a z). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (const char *name, GLfloat x, GLfloat y, GLfloat z) +{ + setUniformValue(uniformLocation(name), x, y, z); +} + +/*! + Sets the uniform variable at \a location in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + if (location != -1) { + GLfloat values[4] = {x, y, z, w}; + glUniform4fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the 4D vector (\a x, \a y, \a z, \a w). + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue + (const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + setUniformValue(uniformLocation(name), x, y, z, w); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector2D& value) +{ + if (location != -1) + glUniform2fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector2D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector3D& value) +{ + if (location != -1) + glUniform3fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector3D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QVector4D& value) +{ + if (location != -1) + glUniform4fv(location, 1, reinterpret_cast(&value)); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QVector4D& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to + the red, green, blue, and alpha components of \a color. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QColor& color) +{ + if (location != -1) { + GLfloat values[4] = {color.redF(), color.greenF(), color.blueF(), color.alphaF()}; + glUniform4fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to + the red, green, blue, and alpha components of \a color. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QColor& color) +{ + setUniformValue(uniformLocation(name), color); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x2& value) +{ + if (location != -1) + glUniformMatrix2fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x3& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix2x3fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix2x3fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform3fv(location, 2, value.data()); + } + } +#else + if (location != -1) + glUniform3fv(location, 2, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 2x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix2x4& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix2x4fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix2x4fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform4fv(location, 2, value.data()); + } + } +#else + if (location != -1) + glUniform4fv(location, 2, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 2x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x2& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix3x2fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix3x2fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform2fv(location, 3, value.data()); + } + } +#else + if (location != -1) + glUniform2fv(location, 3, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x3& value) +{ + if (location != -1) + glUniformMatrix3fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 3x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix3x4& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix3x4fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix3x4fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform4fv(location, 3, value.data()); + } + } +#else + if (location != -1) + glUniform4fv(location, 3, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 3x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x2& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix4x2fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix4x2fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform2fv(location, 4, value.data()); + } + } +#else + if (location != -1) + glUniform2fv(location, 4, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x2 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x2& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x3& value) +{ +#if !defined(QT_OPENGL_ES_2) + if (location != -1) { + if (glUniformMatrix4x3fv) { + // OpenGL 2.1+: pass the matrix directly. + glUniformMatrix4x3fv(location, 1, GL_FALSE, value.data()); + } else { + // OpenGL 2.0: pass the matrix columns as a vector. + glUniform3fv(location, 4, value.data()); + } + } +#else + if (location != -1) + glUniform3fv(location, 4, value.data()); +#endif +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x3 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x3& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context + to a 4x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QMatrix4x4& value) +{ + if (location != -1) + glUniformMatrix4fv(location, 1, GL_FALSE, value.data()); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x4 matrix \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x4& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context + to a 4x4 matrix \a value. The matrix elements must be specified + in column-major order. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const GLfloat value[4][4]) +{ + if (location != -1) + glUniformMatrix4fv(location, 1, GL_FALSE, value[0]); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to a 4x4 matrix \a value. The matrix elements must be specified + in column-major order. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const GLfloat value[4][4]) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable at \a location in the current context to a + 3x3 transformation matrix \a value that is specified as a QTransform value. + + To set a QTransform value as a 4x4 matrix in a shader, use + \c{setUniformValue(location, QMatrix4x4(value))}. +*/ +void QGLShaderProgram::setUniformValue(int location, const QTransform& value) +{ + if (location != -1) { + GLfloat mat[3][3] = { + {value.m11(), value.m12(), value.m13()}, + {value.m21(), value.m22(), value.m23()}, + {value.m31(), value.m32(), value.m33()} + }; + glUniformMatrix3fv(location, 1, GL_FALSE, mat[0]); + } +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context to a + 3x3 transformation matrix \a value that is specified as a QTransform value. + + To set a QTransform value as a 4x4 matrix in a shader, use + \c{setUniformValue(name, QMatrix4x4(value))}. +*/ +void QGLShaderProgram::setUniformValue + (const char *name, const QTransform& value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count elements of \a values. This overload + must be used when setting an array of sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const GLint *values, int count) +{ + if (location != -1) + glUniform1iv(location, count, values); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count elements of \a values. This overload + must be used when setting an array of sampler values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray + (const char *name, const GLint *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count elements of \a values. Each element + has \a size components. The \a size must be 1, 2, 3, or 4. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const GLfloat *values, int count, int size) +{ + if (location != -1) { + if (size == 1) + glUniform1fv(location, count, values); + else if (size == 2) + glUniform2fv(location, count, values); + else if (size == 3) + glUniform3fv(location, count, values); + else if (size == 4) + glUniform4fv(location, count, values); + else + qWarning() << "QGLShaderProgram::setUniformValue: size" << size << "not supported"; + } +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count elements of \a values. Each element + has \a size components. The \a size must be 1, 2, 3, or 4. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray + (const char *name, const GLfloat *values, int count, int size) +{ + setUniformValueArray(uniformLocation(name), values, count, size); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector2D *values, int count) +{ + if (location != -1) + glUniform2fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector2D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector3D *values, int count) +{ + if (location != -1) + glUniform3fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector3D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QVector4D *values, int count) +{ + if (location != -1) + glUniform4fv(location, count, reinterpret_cast(values)); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4D vector elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QVector4D *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +// We may have to repack matrix arrays if the matrix types +// contain additional flag bits. Especially QMatrix4x4. +#define setUniformMatrixArray(func,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + func(location, count, GL_FALSE, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + func(location, count, GL_FALSE, temp.constData()); \ + } +#if !defined(QT_OPENGL_ES_2) +#define setUniformGenericMatrixArray(func,colfunc,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + if (func) \ + func(location, count, GL_FALSE, values->constData()); \ + else \ + colfunc(location, cols * count, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + if (func) \ + func(location, count, GL_FALSE, temp.constData()); \ + else \ + colfunc(location, count * cols, temp.constData()); \ + } +#else +#define setUniformGenericMatrixArray(func,colfunc,location,values,count,type,cols,rows) \ + if (location == -1 || count <= 0) \ + return; \ + if (count == 1 || sizeof(type) == cols * rows * sizeof(GLfloat)) { \ + colfunc(location, cols * count, values->constData()); \ + } else { \ + QVarLengthArray temp(cols * rows * count); \ + for (int index = 0; index < count; ++index) { \ + qMemCopy(temp.data() + cols * rows * index, \ + values[index].constData(), cols * rows * sizeof(GLfloat)); \ + } \ + colfunc(location, count * cols, temp.constData()); \ + } +#endif + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x2 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix2fv, location, values, count, QMatrix2x2, 2, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x3 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix2x3fv, glUniform3fv, location, values, count, + QMatrix2x3, 2, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 2x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x4 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix2x4fv, glUniform4fv, location, values, count, + QMatrix2x4, 2, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 2x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x2 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix3x2fv, glUniform2fv, location, values, count, + QMatrix3x2, 3, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x3 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix3fv, location, values, count, QMatrix3x3, 3, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 3x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x4 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix3x4fv, glUniform4fv, location, values, count, + QMatrix3x4, 3, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 3x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x2 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix4x2fv, glUniform2fv, location, values, count, + QMatrix4x2, 4, 2); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x2 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x2 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x3 *values, int count) +{ + setUniformGenericMatrixArray + (glUniformMatrix4x3fv, glUniform3fv, location, values, count, + QMatrix4x3, 4, 3); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x3 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x3 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Sets the uniform variable array at \a location in the current + context to the \a count 4x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x4 *values, int count) +{ + setUniformMatrixArray + (glUniformMatrix4fv, location, values, count, QMatrix4x4, 4, 4); +} + +/*! + \overload + + Sets the uniform variable array called \a name in the current + context to the \a count 4x4 matrix elements of \a values. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x4 *values, int count) +{ + setUniformValueArray(uniformLocation(name), values, count); +} + +/*! + Returns true if shader programs written in the OpenGL Shading + Language (GLSL) are supported on this system; false otherwise. + + The \a context is used to resolve the GLSL extensions. + If \a context is null, then QGLContext::currentContext() is used. +*/ +bool QGLShaderProgram::hasShaderPrograms(const QGLContext *context) +{ +#if !defined(QT_OPENGL_ES_2) + if (!context) + context = QGLContext::currentContext(); + if (!context) + return false; + return qt_resolve_glsl_extensions(const_cast(context)); +#else + Q_UNUSED(context); + return true; +#endif +} + +#endif + +QT_END_NAMESPACE diff --git a/src/opengl/qglshaderprogram.h b/src/opengl/qglshaderprogram.h new file mode 100644 index 0000000..ec6faaf --- /dev/null +++ b/src/opengl/qglshaderprogram.h @@ -0,0 +1,285 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGLSHADERPROGRAM_H +#define QGLSHADERPROGRAM_H + +#include +#include +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(OpenGL) + +#if !defined(QT_OPENGL_ES_1_CL) && !defined(QT_GL_FIXED_PREFERRED) + +class QGLShaderProgram; +class QGLShaderPrivate; + +class Q_OPENGL_EXPORT QGLShader : public QObject +{ + Q_OBJECT +public: + enum ShaderType + { + VertexShader, + FragmentShader, + PartialVertexShader, + PartialFragmentShader + }; + + explicit QGLShader(QGLShader::ShaderType type, QObject *parent = 0); + explicit QGLShader(const QString& fileName, QObject *parent = 0); + QGLShader(const QString& fileName, QGLShader::ShaderType type, QObject *parent = 0); + QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0); + QGLShader(const QString& fileName, const QGLContext *context, QObject *parent = 0); + QGLShader(const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0); + virtual ~QGLShader(); + + bool isValid() const; + + QGLShader::ShaderType shaderType() const; + + bool setSourceCode(const char *source); + bool setSourceCode(const QByteArray& source); + bool setSourceCode(const QString& source); + bool setSourceCodeFile(const QString& fileName); + + bool setBinaryCode(GLenum format, const void *binary, int length); + bool setBinaryCode(QGLShader& otherShader, GLenum format, const void *binary, int length); + + static QList shaderBinaryFormats(); + + QByteArray sourceCode() const; + + bool isCompiled() const; + QString errors() const; + + GLuint shaderId() const; + +private: + QGLShaderPrivate *d; + + friend class QGLShaderProgram; + + Q_DISABLE_COPY(QGLShader); +}; + +class QGLShaderProgramPrivate; + +class Q_OPENGL_EXPORT QGLShaderProgram : public QObject +{ + Q_OBJECT +public: + explicit QGLShaderProgram(QObject *parent = 0); + explicit QGLShaderProgram(const QGLContext *context, QObject *parent = 0); + virtual ~QGLShaderProgram(); + + bool isValid() const; + + bool addShader(QGLShader *shader); + void removeShader(QGLShader *shader); + QList shaders() const; + + bool addShader(QGLShader::ShaderType type, const char *source); + bool addShader(QGLShader::ShaderType type, const QByteArray& source); + bool addShader(QGLShader::ShaderType type, const QString& source); + + void removeAllShaders(); + + QByteArray programBinary(int *format) const; + bool setProgramBinary(int format, const QByteArray& binary); + static QList programBinaryFormats(); + + virtual bool link(); + bool isLinked() const; + QString errors() const; + + bool enable(); + void disable(); + + GLuint programId() const; + + void bindAttributeLocation(const char *name, int location); + void bindAttributeLocation(const QByteArray& name, int location); + void bindAttributeLocation(const QString& name, int location); + + int attributeLocation(const char *name) const; + int attributeLocation(const QByteArray& name) const; + int attributeLocation(const QString& name) const; + + void setAttributeValue(int location, GLfloat value); + void setAttributeValue(int location, GLfloat x, GLfloat y); + void setAttributeValue(int location, GLfloat x, GLfloat y, GLfloat z); + void setAttributeValue(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setAttributeValue(int location, const QVector2D& value); + void setAttributeValue(int location, const QVector3D& value); + void setAttributeValue(int location, const QVector4D& value); + void setAttributeValue(int location, const QColor& value); + void setAttributeValue(int location, const GLfloat *values, int columns, int rows); + + void setAttributeValue(const char *name, GLfloat value); + void setAttributeValue(const char *name, GLfloat x, GLfloat y); + void setAttributeValue(const char *name, GLfloat x, GLfloat y, GLfloat z); + void setAttributeValue(const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setAttributeValue(const char *name, const QVector2D& value); + void setAttributeValue(const char *name, const QVector3D& value); + void setAttributeValue(const char *name, const QVector4D& value); + void setAttributeValue(const char *name, const QColor& value); + void setAttributeValue(const char *name, const GLfloat *values, int columns, int rows); + + void setAttributeArray + (int location, const GLfloat *values, int size, int stride = 0); + void setAttributeArray + (int location, const QVector2D *values, int stride = 0); + void setAttributeArray + (int location, const QVector3D *values, int stride = 0); + void setAttributeArray + (int location, const QVector4D *values, int stride = 0); + void setAttributeArray + (const char *name, const GLfloat *values, int size, int stride = 0); + void setAttributeArray + (const char *name, const QVector2D *values, int stride = 0); + void setAttributeArray + (const char *name, const QVector3D *values, int stride = 0); + void setAttributeArray + (const char *name, const QVector4D *values, int stride = 0); + void disableAttributeArray(int location); + void disableAttributeArray(const char *name); + + int uniformLocation(const char *name) const; + int uniformLocation(const QByteArray& name) const; + int uniformLocation(const QString& name) const; + + void setUniformValue(int location, GLfloat value); + void setUniformValue(int location, GLint value); + void setUniformValue(int location, GLfloat x, GLfloat y); + void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z); + void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setUniformValue(int location, const QVector2D& value); + void setUniformValue(int location, const QVector3D& value); + void setUniformValue(int location, const QVector4D& value); + void setUniformValue(int location, const QColor& color); + void setUniformValue(int location, const QMatrix2x2& value); + void setUniformValue(int location, const QMatrix2x3& value); + void setUniformValue(int location, const QMatrix2x4& value); + void setUniformValue(int location, const QMatrix3x2& value); + void setUniformValue(int location, const QMatrix3x3& value); + void setUniformValue(int location, const QMatrix3x4& value); + void setUniformValue(int location, const QMatrix4x2& value); + void setUniformValue(int location, const QMatrix4x3& value); + void setUniformValue(int location, const QMatrix4x4& value); + void setUniformValue(int location, const GLfloat value[4][4]); + void setUniformValue(int location, const QTransform& value); + + void setUniformValue(const char *name, GLfloat value); + void setUniformValue(const char *name, GLint value); + void setUniformValue(const char *name, GLfloat x, GLfloat y); + void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z); + void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + void setUniformValue(const char *name, const QVector2D& value); + void setUniformValue(const char *name, const QVector3D& value); + void setUniformValue(const char *name, const QVector4D& value); + void setUniformValue(const char *name, const QColor& color); + void setUniformValue(const char *name, const QMatrix2x2& value); + void setUniformValue(const char *name, const QMatrix2x3& value); + void setUniformValue(const char *name, const QMatrix2x4& value); + void setUniformValue(const char *name, const QMatrix3x2& value); + void setUniformValue(const char *name, const QMatrix3x3& value); + void setUniformValue(const char *name, const QMatrix3x4& value); + void setUniformValue(const char *name, const QMatrix4x2& value); + void setUniformValue(const char *name, const QMatrix4x3& value); + void setUniformValue(const char *name, const QMatrix4x4& value); + void setUniformValue(const char *name, const GLfloat value[4][4]); + void setUniformValue(const char *name, const QTransform& value); + + void setUniformValueArray(int location, const GLfloat *values, int count, int size); + void setUniformValueArray(int location, const GLint *values, int count); + void setUniformValueArray(int location, const QVector2D *values, int count); + void setUniformValueArray(int location, const QVector3D *values, int count); + void setUniformValueArray(int location, const QVector4D *values, int count); + void setUniformValueArray(int location, const QMatrix2x2 *values, int count); + void setUniformValueArray(int location, const QMatrix2x3 *values, int count); + void setUniformValueArray(int location, const QMatrix2x4 *values, int count); + void setUniformValueArray(int location, const QMatrix3x2 *values, int count); + void setUniformValueArray(int location, const QMatrix3x3 *values, int count); + void setUniformValueArray(int location, const QMatrix3x4 *values, int count); + void setUniformValueArray(int location, const QMatrix4x2 *values, int count); + void setUniformValueArray(int location, const QMatrix4x3 *values, int count); + void setUniformValueArray(int location, const QMatrix4x4 *values, int count); + + void setUniformValueArray(const char *name, const GLfloat *values, int count, int size); + void setUniformValueArray(const char *name, const GLint *values, int count); + void setUniformValueArray(const char *name, const QVector2D *values, int count); + void setUniformValueArray(const char *name, const QVector3D *values, int count); + void setUniformValueArray(const char *name, const QVector4D *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix2x4 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix3x4 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x2 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x3 *values, int count); + void setUniformValueArray(const char *name, const QMatrix4x4 *values, int count); + + static bool hasShaderPrograms(const QGLContext *context = 0); + +private: + QGLShaderProgramPrivate *d; + + Q_DISABLE_COPY(QGLShaderProgram); + + bool init(); +}; + +#endif + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif -- cgit v0.12 From 0b97a00eae721304a31642fcb8892b66fb670f9e Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 27 Mar 2009 12:22:04 +1000 Subject: Bug in QGLShaderProgram::addShader() that stopped partial shaders working. --- src/opengl/qglshaderprogram.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 934b5a5..3c19434 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -849,13 +849,16 @@ bool QGLShaderProgram::addShader(QGLShader *shader) return false; if (d->shaders.contains(shader)) return true; // Already added to this shader program. - if (d->program && shader && shader->d->shader) { + if (d->program && shader) { if (!shader->d->compiled) return false; - if (!shader->d->isPartial) + if (!shader->d->isPartial) { + if (!shader->d->shader) + return false; glAttachShader(d->program, shader->d->shader); - else + } else { d->hasPartialShaders = true; + } d->linked = false; // Program needs to be relinked. d->shaders.append(shader); return true; -- cgit v0.12 From 0cbe2a23966116e642fee4ccc34aeac73a5c57cd Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 27 Mar 2009 12:34:48 +1000 Subject: Fix loading of partial shaders from files. --- src/opengl/qglshaderprogram.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 3c19434..5738acd 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -573,9 +573,6 @@ bool QGLShader::setSourceCode(const QString& source) */ bool QGLShader::setSourceCodeFile(const QString& fileName) { - if (!d->shader) - return false; - QFile file(fileName); if (!file.open(QFile::ReadOnly)) { qWarning() << "QGLShader: Unable to open file" << fileName; -- cgit v0.12 From 8559f2d8db6f99292fc8a26623e166f64f9d4a8f Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 3 Apr 2009 12:59:10 +0200 Subject: Fix build breakage after rebasing on graphics-main Reviewed-by: Trustme --- src/opengl/gl2paintengineex/qglshader.cpp | 1 + src/opengl/qglextensions_p.h | 8 -------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/opengl/gl2paintengineex/qglshader.cpp b/src/opengl/gl2paintengineex/qglshader.cpp index 4ac6e61..ea4cae9 100644 --- a/src/opengl/gl2paintengineex/qglshader.cpp +++ b/src/opengl/gl2paintengineex/qglshader.cpp @@ -51,6 +51,7 @@ #if !defined(QT_OPENGL_ES_2) static const char *qglslDefines = "#define lowp\n#define mediump\n#define highp\n"; +#include "private/qgl_p.h" #else static const char *qglslDefines = ""; #endif diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index 69632e7..9249730 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -412,18 +412,10 @@ struct QGLExtensionFuncs _glUnmapBufferARB qt_glUnmapBufferARB; _glGetActiveAttrib qt_glGetActiveAttrib; - _glGetAttribLocation qt_glGetAttribLocation; _glGetActiveUniform qt_glGetActiveUniform; - _glGetProgramInfoLog qt_glGetProgramInfoLog; _glUniform1f qt_glUniform1f; _glUniform2f qt_glUniform2f; _glUniform4f qt_glUniform4f; - _glUniformMatrix2fv qt_glUniformMatrix2fv; - _glUniformMatrix3fv qt_glUniformMatrix3fv; - _glUniformMatrix4fv qt_glUniformMatrix4fv; - _glEnableVertexAttribArray qt_glEnableVertexAttribArray; - _glDisableVertexAttribArray qt_glDisableVertexAttribArray; - _glVertexAttribPointer qt_glVertexAttribPointer; _glStencilOpSeparate qt_glStencilOpSeparate; }; -- cgit v0.12 From 2485575f1883fe990d0072eed2231a5bd06948af Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 3 Apr 2009 14:30:25 +0200 Subject: Add (big) comment explaining shader pipeline in GL2 engine Reviewed-by: TrustMe --- src/opengl/gl2paintengineex/glgc_shader_source.h | 138 +++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/src/opengl/gl2paintengineex/glgc_shader_source.h b/src/opengl/gl2paintengineex/glgc_shader_source.h index 5b9d28b..47a1cbb 100644 --- a/src/opengl/gl2paintengineex/glgc_shader_source.h +++ b/src/opengl/gl2paintengineex/glgc_shader_source.h @@ -48,6 +48,144 @@ QT_BEGIN_NAMESPACE QT_MODULE(OpenGL) + +/* + VERTEX SHADERS + ============== + + Vertex shaders are specified as multiple (partial) shaders. On desktop, + this works fine. On ES, QGLShader & QGLShaderProgram will make partial + shaders work by concatenating the source in each QGLShader and compiling + it as a single shader. This is abstracted nicely by QGLShaderProgram and + the GL2 engine doesn't need to worry about it. + + Generally, there's two vertex shader objects. The position shaders are + the ones which set gl_Position. There's also two "main" vertex shaders, + one which just calls the position shader and another which also passes + through some texture coordinates from a vertex attribute array to a + varying. These texture coordinates are used for mask position in text + rendering and for the source coordinates in drawImage/drawPixmap. There's + also a "Simple" vertex shader for rendering a solid colour (used to render + into the stencil buffer where the actual colour value is discarded). + + The position shaders for brushes look scary. This is because many of the + calculations which logically belong in the fragment shader have been moved + into the vertex shader to improve performance. This is why the position + calculation is in a seperate shader. Not only does it calculate the + position, but it also calculates some data to be passed to the fragment + shader as a varying. It is optimal to move as much of the calculation as + possible into the vertex shader as this is executed less often. + + The varyings passed to the fragment shaders are interpolated (which is + cheap). Unfortunately, GL will apply perspective correction to the + interpolation calusing errors. To get around this, the vertex shader must + apply perspective correction itself and set the w-value of gl_Position to + zero. That way, GL will be tricked into thinking it doesn't need to apply a + perspective correction and use linear interpolation instead (which is what + we want). Of course, if the brush transform is affeine, no perspective + correction is needed and a simpler vertex shader can be used instead. + + So there are the following "main" vertex shaders: + qglslSimpleVertexShader + qglslMainVertexShader + qglslMainWithTexCoordsVertexShader + + And the the following position vertex shaders: + qglslPositionOnlyVertexShader + qglslPositionWithTextureBrushVertexShader + qglslPositionWithPatternBrushVertexShader + qglslPositionWithLinearGradientBrushVertexShader + qglslPositionWithRadialGradientBrushVertexShader + qglslPositionWithConicalGradientBrushVertexShader + qglslAffinePositionWithTextureBrushVertexShader + qglslAffinePositionWithPatternBrushVertexShader + qglslAffinePositionWithLinearGradientBrushVertexShader + qglslAffinePositionWithRadialGradientBrushVertexShader + qglslAffinePositionWithConicalGradientBrushVertexShader + + Leading to 23 possible vertex shaders + + + FRAGMENT SHADERS + ================ + + Fragment shaders are also specified as multiple (partial) shaders. The + different fragment shaders represent the different stages in Qt's fragment + pipeline. There are 1-3 stages in this pipeline: First stage is to get the + fragment's colour value. The next stage is to get the fragment's mask value + (coverage value for anti-aliasing) and the final stage is to blend the + incoming fragment with the background (for composition modes not supported + by GL). + + Of these, the first stage will always be present. If Qt doesn't need to + apply anti-aliasing (because it's off or handled by multisampling) then + the coverage value doesn't need to be applied. (Note: There are two types + of mask, one for regular anti-aliasing and one for sub-pixel anti- + aliasing.) If the composition mode is one which GL supports natively then + the blending stage doesn't need to be applied. + + As eash stage can have multiple implementations, they are abstracted as + GLSL function calls, with the following signatures: + + Brushes & image drawing are implementations of "mediump vec4 srcPixel()": + qglslImageFragmentShader + qglslNonPremultipliedImageFragmentShader + qglslSolidBrushFragmentShader + qglslTextureBrushFragmentShader + qglslPatternBrushFragmentShader + qglslLinearGradientBrushFragmentShader + qglslRadialGradientBrushFragmentShader + qglslConicalGradientBrushFragmentShader + + NOTE: It is assumed the colour returned by srcPixel() is pre-multiplied + + The two masks are have these signature and are called: + qglslMaskFragmentShader: "mediump float mask()" + qglslRgbMaskFragmentShader: "mediump vec3 rgbMask()" + + Composition modes are "mediump vec4 composite(mediump vec4 src, mediump vec4 dest)": + qglslColorBurnCompositionModeFragmentShader + qglslColorDodgeCompositionModeFragmentShader + qglslDarkenCompositionModeFragmentShader + qglslDifferenceCompositionModeFragmentShader + qglslExclusionCompositionModeFragmentShader + qglslHardLightCompositionModeFragmentShader + qglslLightenCompositionModeFragmentShader + qglslMultiplyCompositionModeFragmentShader + qglslOverlayCompositionModeFragmentShader + qglslScreenCompositionModeFragmentShader + qglslSoftLightCompositionModeFragmentShader + + + So there are differnt frament shader main functions, depending on the + number & type of pipelines the fragment needs to go through. + + The choice of which main() fragment shader string to use depends on: + - Use of global opacity + - Brush style (some brushes apply opacity themselves) + - Use & type of mask (TODO: Need to support high quality anti-aliasing & text) + - Use of gamma-correction + - Use of non-GL Composition mode + + + CUSTOM SHADER CODE (idea) + ================== + + The use of custom shader code is supported by the engine for drawImage and + drawPixmap calls. This is implemented via hooks in the fragment pipeline. + The custom shader is passed to the engine as a partial fragment shader + (QGLCustomizedShader). The shader will implement a pre-defined method name + which Qt's fragment pipeline will call. There are two different hooks which + can be implemented as custom shader code: + + mediump vec4 customShader(sampler2d src, vec2 srcCoords) + mediump vec4 customShaderWithDest(sampler2d dest, sampler2d src, vec2 srcCoords) + +*/ + +///////////////////////////////////////////////////////////////////// + + static const char* qglslImageVertexShader = "\ attribute highp vec4 inputVertex; \ attribute lowp vec2 textureCoord; \ -- cgit v0.12 From f7516971028d4637eeff6899fbbc6f3e8b8b5c79 Mon Sep 17 00:00:00 2001 From: Ian Walters Date: Tue, 7 Apr 2009 16:37:51 +1000 Subject: Update licensing headers. Update files to have consistent licencesing with the rest of Qt. --- doc/src/examples/contiguouscache.qdoc | 34 +++++++++++++++- examples/tools/contiguouscache/main.cpp | 41 +++++++++++++++++++ examples/tools/contiguouscache/randomlistmodel.cpp | 40 +++++++++++++++++++ examples/tools/contiguouscache/randomlistmodel.h | 40 +++++++++++++++++++ src/corelib/tools/qcontiguouscache.cpp | 40 +++++++++++++++++-- src/corelib/tools/qcontiguouscache.h | 46 ++++++++++++++++++++-- .../auto/qcontiguouscache/tst_qcontiguouscache.cpp | 37 +++++++++++++++-- 7 files changed, 267 insertions(+), 11 deletions(-) diff --git a/doc/src/examples/contiguouscache.qdoc b/doc/src/examples/contiguouscache.qdoc index 22c97fa..6c67d77 100644 --- a/doc/src/examples/contiguouscache.qdoc +++ b/doc/src/examples/contiguouscache.qdoc @@ -3,9 +3,39 @@ ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** -** This file is part of the $MODULE$ of the Qt Toolkit. +** This file is part of the documentation of the Qt Toolkit. ** -** $TROLLTECH_DUAL_LICENSE$ +** $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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ ** ****************************************************************************/ diff --git a/examples/tools/contiguouscache/main.cpp b/examples/tools/contiguouscache/main.cpp index bdeb3f3..291aaf4 100644 --- a/examples/tools/contiguouscache/main.cpp +++ b/examples/tools/contiguouscache/main.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include "randomlistmodel.h" #include #include diff --git a/examples/tools/contiguouscache/randomlistmodel.cpp b/examples/tools/contiguouscache/randomlistmodel.cpp index 5c0953b..0f58c0e 100644 --- a/examples/tools/contiguouscache/randomlistmodel.cpp +++ b/examples/tools/contiguouscache/randomlistmodel.cpp @@ -1,3 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ #include "randomlistmodel.h" static const int bufferSize(500); diff --git a/examples/tools/contiguouscache/randomlistmodel.h b/examples/tools/contiguouscache/randomlistmodel.h index ad8cfad..d32bf16 100644 --- a/examples/tools/contiguouscache/randomlistmodel.h +++ b/examples/tools/contiguouscache/randomlistmodel.h @@ -1,3 +1,43 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ #ifndef RANDOMLISTMODEL_H #define RANDOMLISTMODEL_H diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp index 5046912..1bcac96 100644 --- a/src/corelib/tools/qcontiguouscache.cpp +++ b/src/corelib/tools/qcontiguouscache.cpp @@ -1,17 +1,49 @@ /**************************************************************************** ** -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** -** This file is part of the $MODULE$ of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** -** $TROLLTECH_DUAL_LICENSE$ +** $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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ ** ****************************************************************************/ #include "qcontiguouscache.h" #include +QT_BEGIN_NAMESPACE + void QContiguousCacheData::dump() const { qDebug() << "capacity:" << alloc; @@ -357,3 +389,5 @@ MyRecord record(int row) const Sends information about the cache's internal structure to qDebug() */ + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qcontiguouscache.h b/src/corelib/tools/qcontiguouscache.h index 03012a2..5250a79 100644 --- a/src/corelib/tools/qcontiguouscache.h +++ b/src/corelib/tools/qcontiguouscache.h @@ -1,11 +1,41 @@ /**************************************************************************** ** -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** -** This file is part of the $MODULE$ of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** -** $TROLLTECH_DUAL_LICENSE$ +** $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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ ** ****************************************************************************/ @@ -14,6 +44,12 @@ #include +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Core) + struct QContiguousCacheData { QBasicAtomicInt ref; @@ -383,4 +419,8 @@ template inline T QContiguousCache::takeLast() { T t = last(); removeLast(); return t; } +QT_END_NAMESPACE + +QT_END_HEADER + #endif diff --git a/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp index 493032a..6580f87 100644 --- a/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp +++ b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp @@ -1,10 +1,41 @@ /**************************************************************************** ** -** This file is part of the $PACKAGE_NAME$. +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) ** -** Copyright (C) $THISYEAR$ $COMPANY_NAME$. +** This file is part of the test suite of the Qt Toolkit. ** -** $QT_EXTENDED_DUAL_LICENSE$ +** $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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ ** ****************************************************************************/ -- cgit v0.12 From 21f15b50777ab3507f79061e749c5cee9acecb3b Mon Sep 17 00:00:00 2001 From: Ian Walters Date: Wed, 8 Apr 2009 10:05:27 +1000 Subject: Move qDebug code to correct location --- src/corelib/io/qdebug.h | 19 +++++++++++++++++ .../auto/qcontiguouscache/tst_qcontiguouscache.cpp | 24 ---------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h index 8334146..6c05756 100644 --- a/src/corelib/io/qdebug.h +++ b/src/corelib/io/qdebug.h @@ -51,6 +51,7 @@ #include #include #include +#include QT_BEGIN_HEADER @@ -232,6 +233,24 @@ inline QDebug operator<<(QDebug debug, const QSet &set) return operator<<(debug, set.toList()); } +#if defined(FORCE_UREF) +template +inline QDebug &operator<<(QDebug debug, const QContiguousCache &contiguousCache) +#else +template +inline QDebug operator<<(QDebug debug, const QContiguousCache &cache) +#endif +{ + debug.nospace() << "QContiguousCache("; + for (int i = cache.firstIndex(); i <= cache.lastIndex(); ++i) { + debug << cache[i]; + if (i != cache.lastIndex()) + debug << ", "; + } + debug << ")"; + return debug.space(); +} + #if !defined(QT_NO_DEBUG_STREAM) Q_CORE_EXPORT_INLINE QDebug qDebug() { return QDebug(QtDebugMsg); } diff --git a/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp index 6580f87..91f6a9c 100644 --- a/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp +++ b/tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp @@ -49,30 +49,6 @@ #include #include - -#if defined(FORCE_UREF) -template -inline QDebug &operator<<(QDebug debug, const QContiguousCache &contiguousCache) -#else -template -inline QDebug operator<<(QDebug debug, const QContiguousCache &contiguousCache) -#endif -{ - debug.nospace() << "QContiguousCache("; - for (int i = contiguousCache.firstIndex(); i <= contiguousCache.lastIndex(); ++i) { - debug << contiguousCache[i]; - if (i != contiguousCache.lastIndex()) - debug << ", "; - } - debug << ")"; - return debug.space(); -} - -#if defined(NO_BENCHMARK) and defined(QBENCHMARK) -#undef QBENCHMARK -#define QBENCHMARK -#endif - class tst_QContiguousCache : public QObject { Q_OBJECT -- cgit v0.12 From fbce782f1d566c318737bf7e5ab55d0a66fb2a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 16 Apr 2009 10:37:08 +0200 Subject: Fix off-by-one bugs in the framebuffer blits. The bottom-right coordinates are exclusive, not inclusive. --- src/opengl/qglframebufferobject.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 45d4788..61d0f85 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -1132,14 +1132,14 @@ void QGLFramebufferObject::blitFramebuffer(QGLFramebufferObject *target, const Q const int th = target ? target->height() : height; const int sx0 = sourceRect.left(); - const int sx1 = sourceRect.right(); - const int sy0 = sh - sourceRect.bottom() - 1; - const int sy1 = sh - sourceRect.top() - 1; + const int sx1 = sourceRect.left() + sourceRect.width(); + const int sy0 = sh - (sourceRect.top() + sourceRect.height()); + const int sy1 = sh - sourceRect.top(); const int tx0 = targetRect.left(); - const int tx1 = targetRect.right(); - const int ty0 = th - targetRect.bottom() - 1; - const int ty1 = th - targetRect.top() - 1; + const int tx1 = targetRect.left() + targetRect.width(); + const int ty0 = th - (targetRect.top() + targetRect.height()); + const int ty1 = th - targetRect.top(); glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source ? source->handle() : 0); glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, target ? target->handle() : 0); -- cgit v0.12 From d4eb0a29e73eb1f6c7e2909e6ae0302605927e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 24 Mar 2009 15:10:01 +0100 Subject: GL2: Avoid expensive updateDepthClip() every time setState() is called Only call updateDepthClip() if the clip has actually changed. --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 30 ++++++++++------------ .../gl2paintengineex/qpaintengineex_opengl2_p.h | 1 - 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 89ed1f7..e166b54 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1200,11 +1200,6 @@ void QGL2PaintEngineEx::updateClipRegion(const QRegion &clipRegion, Qt::ClipOper state()->hasClipping = op != Qt::NoClip || d->use_system_clip; } - if (state()->hasClipping && state()->clipRegion.rects().size() == 1) - state()->fastClip = state()->clipRegion.rects().at(0); - else - state()->fastClip = QRect(); - d->updateDepthClip(); } @@ -1221,14 +1216,10 @@ void QGL2PaintEngineExPrivate::updateDepthClip() if (!q->state()->hasClipping) return; - QRect fastClip; - if (q->state()->clipEnabled) { - fastClip = q->state()->fastClip; - } else if (use_system_clip && q->systemClip().rects().count() == 1) { - fastClip = q->systemClip().rects().at(0); - } + const QVector rects = q->state()->clipEnabled ? q->state()->clipRegion.rects() : q->systemClip().rects(); + if (rects.size() == 1) { + QRect fastClip = rects.at(0); - if (!fastClip.isEmpty()) { glEnable(GL_SCISSOR_TEST); const int left = fastClip.left(); @@ -1245,7 +1236,6 @@ void QGL2PaintEngineExPrivate::updateDepthClip() glClear(GL_DEPTH_BUFFER_BIT); glClearDepthf(0x1); - const QVector rects = q->state()->clipEnabled ? q->state()->clipRegion.rects() : q->systemClip().rects(); glEnable(GL_SCISSOR_TEST); for (int i = 0; i < rects.size(); ++i) { QRect rect = rects.at(i); @@ -1268,14 +1258,23 @@ void QGL2PaintEngineExPrivate::updateDepthClip() -void QGL2PaintEngineEx::setState(QPainterState *s) +void QGL2PaintEngineEx::setState(QPainterState *new_state) { // qDebug("QGL2PaintEngineEx::setState()"); Q_D(QGL2PaintEngineEx); + + QOpenGLPaintEngineState *s = static_cast(new_state); + + QOpenGLPaintEngineState *old_state = state(); + const bool needsDepthClipUpdate = !old_state + || s->clipEnabled != old_state->clipEnabled + || s->clipEnabled && s->clipRegion != old_state->clipRegion; + QPaintEngineEx::setState(s); - d->updateDepthClip(); + if (needsDepthClipUpdate) + d->updateDepthClip(); d->matrixDirty = true; d->compositionModeDirty = true; @@ -1303,7 +1302,6 @@ QOpenGLPaintEngineState::QOpenGLPaintEngineState(QOpenGLPaintEngineState &other) { clipRegion = other.clipRegion; hasClipping = other.hasClipping; - fastClip = other.fastClip; } QOpenGLPaintEngineState::QOpenGLPaintEngineState() diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 9f84a25..10e5337 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -67,7 +67,6 @@ public: QRegion clipRegion; bool hasClipping; - QRect fastClip; }; -- cgit v0.12 From b1c0c0bf169d4ab83ce6e9b1b333e99610aa6f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 26 Mar 2009 10:14:07 +0100 Subject: Ensure we don't access the GL share widget when it's being destroyed. Zero the pointer before destroying the widget, as QGLWidget's destructor may indirectly trigger access to the share widget. --- src/opengl/qwindowsurface_gl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index b4a4565..bed08cf 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -187,9 +187,10 @@ public: } void cleanup() { - delete widget; - widget = 0; + QGLWidget *w = widget; cleanedUp = true; + widget = 0; + delete w; } static bool cleanedUp; -- cgit v0.12 From 1e1371e19ae62a5bf57dcad8d53ac70dcd2ad0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 19 Mar 2009 10:07:26 +0100 Subject: Make FBO the default instead of pixel buffers in GL window surface. Fall back to using pbuffers only if the FBO fails. --- src/opengl/qwindowsurface_gl.cpp | 57 ++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index bed08cf..c9d23d1 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -493,6 +493,35 @@ void QGLWindowSurface::updateGeometry() return; } + if ((QGLExtensions::glExtensions & QGLExtensions::FramebufferObject) && (d_ptr->fbo || !d_ptr->tried_fbo)) { + d_ptr->tried_fbo = true; + hijackWindow(window()); + QGLContext *ctx = reinterpret_cast(window()->d_func()->extraData()->glContext); + ctx->d_ptr->internal_context = true; + ctx->makeCurrent(); + delete d_ptr->fbo; + + QGLFramebufferObjectFormat format; + format.setAttachment(QGLFramebufferObject::CombinedDepthStencil); + format.setInternalFormat(GL_RGBA); + format.setTextureTarget(target); + + if (QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit) + format.setSamples(8); + + d_ptr->fbo = new QGLFramebufferObject(rect.size(), format); + d_ptr->fbo->bind(); + if (d_ptr->fbo->isValid()) { + qDebug() << "Created Window Surface FBO" << rect.size() + << "with samples" << d_ptr->fbo->format().samples(); + return; + } else { + qDebug() << "QGLWindowSurface: Failed to create valid FBO, falling back"; + delete d_ptr->fbo; + d_ptr->fbo = 0; + } + } + if (d_ptr->pb || !d_ptr->tried_pb) { d_ptr->tried_pb = true; @@ -536,34 +565,6 @@ void QGLWindowSurface::updateGeometry() } } - if ((QGLExtensions::glExtensions & QGLExtensions::FramebufferObject) && (d_ptr->fbo || !d_ptr->tried_fbo)) { - d_ptr->tried_fbo = true; - hijackWindow(window()); - QGLContext *ctx = reinterpret_cast(window()->d_func()->extraData()->glContext); - ctx->d_ptr->internal_context = true; - ctx->makeCurrent(); - delete d_ptr->fbo; - - QGLFramebufferObjectFormat format; - format.setAttachment(QGLFramebufferObject::CombinedDepthStencil); - format.setInternalFormat(GL_RGBA); - format.setTextureTarget(target); - - if (QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit) - format.setSamples(8); - - d_ptr->fbo = new QGLFramebufferObject(rect.size(), format); - d_ptr->fbo->bind(); - if (d_ptr->fbo->isValid()) { - qDebug() << "Created Window Surface FBO" << rect.size() - << "with samples" << d_ptr->fbo->format().samples(); - return; - } else { - qDebug() << "QGLWindowSurface: Failed to create valid FBO, falling back"; - delete d_ptr->fbo; - d_ptr->fbo = 0; - } - } hijackWindow(window()); QGLContext *ctx = reinterpret_cast(window()->d_func()->extraData()->glContext); -- cgit v0.12 From 99a790fe26f8217783edd1ee05937100dc7536cc Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Wed, 15 Apr 2009 14:48:11 +0200 Subject: Add uniform setters for Qt data types to QGLShaderProgram Reviewed-by: Rhys Weatherley --- src/opengl/qglshaderprogram.cpp | 132 ++++++++++++++++++++++++++++++++++++++++ src/opengl/qglshaderprogram.h | 10 +++ 2 files changed, 142 insertions(+) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 5738acd..c2be1be 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -1836,6 +1836,30 @@ void QGLShaderProgram::setUniformValue(const char *name, GLint value) } /*! + Sets the uniform variable at \a location in the current context to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, GLuint value) +{ + if (location != -1) + glUniform1i(location, value); +} + +/*! + \overload + + Sets the uniform variable called \a name in the current context + to \a value. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, GLuint value) +{ + setUniformValue(uniformLocation(name), value); +} + +/*! Sets the uniform variable at \a location in the current context to the 2D vector (\a x, \a y). @@ -2020,6 +2044,114 @@ void QGLShaderProgram::setUniformValue(const char *name, const QColor& color) } /*! + Sets the uniform variable at \a location in the current context to + the x() & y() coordinates of \a point. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QPoint& point) +{ + if (location != -1) { + GLfloat values[4] = {point.x(), point.y()}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context to + the x() & y() coordinates of \a point. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QPoint& point) +{ + setUniformValue(uniformLocation(name), point); +} + +/*! + Sets the uniform variable at \a location in the current context to + the x() & y() coordinates of \a point. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QPointF& point) +{ + if (location != -1) { + GLfloat values[4] = {point.x(), point.y()}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context to + the x() & y() coordinates of \a point. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QPointF& point) +{ + setUniformValue(uniformLocation(name), point); +} + +/*! + Sets the uniform variable at \a location in the current context to + the width() & height() of the given \a size. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QSize& size) +{ + if (location != -1) { + GLfloat values[4] = {size.width(), size.width()}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context to + the width() & height() of the given \a size. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QSize& size) +{ + setUniformValue(uniformLocation(name), size); +} + +/*! + Sets the uniform variable at \a location in the current context to + the width() & height() of the given \a size. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(int location, const QSizeF& size) +{ + if (location != -1) { + GLfloat values[4] = {size.width(), size.height()}; + glUniform2fv(location, 1, values); + } +} + +/*! + \overload + + Sets the uniform variable at \a location in the current context to + the width() & height() of the given \a size. + + \sa setAttributeValue() +*/ +void QGLShaderProgram::setUniformValue(const char *name, const QSizeF& size) +{ + setUniformValue(uniformLocation(name), size); +} + +/*! Sets the uniform variable at \a location in the current context to a 2x2 matrix \a value. diff --git a/src/opengl/qglshaderprogram.h b/src/opengl/qglshaderprogram.h index ec6faaf..508fd96 100644 --- a/src/opengl/qglshaderprogram.h +++ b/src/opengl/qglshaderprogram.h @@ -196,6 +196,7 @@ public: void setUniformValue(int location, GLfloat value); void setUniformValue(int location, GLint value); + void setUniformValue(int location, GLuint value); void setUniformValue(int location, GLfloat x, GLfloat y); void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z); void setUniformValue(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); @@ -203,6 +204,10 @@ public: void setUniformValue(int location, const QVector3D& value); void setUniformValue(int location, const QVector4D& value); void setUniformValue(int location, const QColor& color); + void setUniformValue(int location, const QPoint& point); + void setUniformValue(int location, const QPointF& point); + void setUniformValue(int location, const QSize& size); + void setUniformValue(int location, const QSizeF& size); void setUniformValue(int location, const QMatrix2x2& value); void setUniformValue(int location, const QMatrix2x3& value); void setUniformValue(int location, const QMatrix2x4& value); @@ -217,6 +222,7 @@ public: void setUniformValue(const char *name, GLfloat value); void setUniformValue(const char *name, GLint value); + void setUniformValue(const char *name, GLuint value); void setUniformValue(const char *name, GLfloat x, GLfloat y); void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z); void setUniformValue(const char *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); @@ -224,6 +230,10 @@ public: void setUniformValue(const char *name, const QVector3D& value); void setUniformValue(const char *name, const QVector4D& value); void setUniformValue(const char *name, const QColor& color); + void setUniformValue(const char *name, const QPoint& point); + void setUniformValue(const char *name, const QPointF& point); + void setUniformValue(const char *name, const QSize& size); + void setUniformValue(const char *name, const QSizeF& size); void setUniformValue(const char *name, const QMatrix2x2& value); void setUniformValue(const char *name, const QMatrix2x3& value); void setUniformValue(const char *name, const QMatrix2x4& value); -- cgit v0.12 From adf67f5ab53758f9661b65a940ec34b4d4db6390 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Wed, 15 Apr 2009 13:33:25 +0200 Subject: Re-write the shader manager & completely break everything ;-) --- src/opengl/gl2paintengineex/glgc_shader_source.h | 137 ------- .../gl2paintengineex/qglengineshadermanager.cpp | 367 +++++++++++++++++ .../gl2paintengineex/qglengineshadermanager_p.h | 385 ++++++++++++++++++ .../gl2paintengineex/qglpexshadermanager.cpp | 450 --------------------- .../gl2paintengineex/qglpexshadermanager_p.h | 156 ------- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 4 +- src/opengl/opengl.pro | 9 +- 7 files changed, 758 insertions(+), 750 deletions(-) create mode 100644 src/opengl/gl2paintengineex/qglengineshadermanager.cpp create mode 100644 src/opengl/gl2paintengineex/qglengineshadermanager_p.h delete mode 100644 src/opengl/gl2paintengineex/qglpexshadermanager.cpp delete mode 100644 src/opengl/gl2paintengineex/qglpexshadermanager_p.h diff --git a/src/opengl/gl2paintengineex/glgc_shader_source.h b/src/opengl/gl2paintengineex/glgc_shader_source.h index 47a1cbb..5184c78 100644 --- a/src/opengl/gl2paintengineex/glgc_shader_source.h +++ b/src/opengl/gl2paintengineex/glgc_shader_source.h @@ -49,143 +49,6 @@ QT_BEGIN_NAMESPACE QT_MODULE(OpenGL) -/* - VERTEX SHADERS - ============== - - Vertex shaders are specified as multiple (partial) shaders. On desktop, - this works fine. On ES, QGLShader & QGLShaderProgram will make partial - shaders work by concatenating the source in each QGLShader and compiling - it as a single shader. This is abstracted nicely by QGLShaderProgram and - the GL2 engine doesn't need to worry about it. - - Generally, there's two vertex shader objects. The position shaders are - the ones which set gl_Position. There's also two "main" vertex shaders, - one which just calls the position shader and another which also passes - through some texture coordinates from a vertex attribute array to a - varying. These texture coordinates are used for mask position in text - rendering and for the source coordinates in drawImage/drawPixmap. There's - also a "Simple" vertex shader for rendering a solid colour (used to render - into the stencil buffer where the actual colour value is discarded). - - The position shaders for brushes look scary. This is because many of the - calculations which logically belong in the fragment shader have been moved - into the vertex shader to improve performance. This is why the position - calculation is in a seperate shader. Not only does it calculate the - position, but it also calculates some data to be passed to the fragment - shader as a varying. It is optimal to move as much of the calculation as - possible into the vertex shader as this is executed less often. - - The varyings passed to the fragment shaders are interpolated (which is - cheap). Unfortunately, GL will apply perspective correction to the - interpolation calusing errors. To get around this, the vertex shader must - apply perspective correction itself and set the w-value of gl_Position to - zero. That way, GL will be tricked into thinking it doesn't need to apply a - perspective correction and use linear interpolation instead (which is what - we want). Of course, if the brush transform is affeine, no perspective - correction is needed and a simpler vertex shader can be used instead. - - So there are the following "main" vertex shaders: - qglslSimpleVertexShader - qglslMainVertexShader - qglslMainWithTexCoordsVertexShader - - And the the following position vertex shaders: - qglslPositionOnlyVertexShader - qglslPositionWithTextureBrushVertexShader - qglslPositionWithPatternBrushVertexShader - qglslPositionWithLinearGradientBrushVertexShader - qglslPositionWithRadialGradientBrushVertexShader - qglslPositionWithConicalGradientBrushVertexShader - qglslAffinePositionWithTextureBrushVertexShader - qglslAffinePositionWithPatternBrushVertexShader - qglslAffinePositionWithLinearGradientBrushVertexShader - qglslAffinePositionWithRadialGradientBrushVertexShader - qglslAffinePositionWithConicalGradientBrushVertexShader - - Leading to 23 possible vertex shaders - - - FRAGMENT SHADERS - ================ - - Fragment shaders are also specified as multiple (partial) shaders. The - different fragment shaders represent the different stages in Qt's fragment - pipeline. There are 1-3 stages in this pipeline: First stage is to get the - fragment's colour value. The next stage is to get the fragment's mask value - (coverage value for anti-aliasing) and the final stage is to blend the - incoming fragment with the background (for composition modes not supported - by GL). - - Of these, the first stage will always be present. If Qt doesn't need to - apply anti-aliasing (because it's off or handled by multisampling) then - the coverage value doesn't need to be applied. (Note: There are two types - of mask, one for regular anti-aliasing and one for sub-pixel anti- - aliasing.) If the composition mode is one which GL supports natively then - the blending stage doesn't need to be applied. - - As eash stage can have multiple implementations, they are abstracted as - GLSL function calls, with the following signatures: - - Brushes & image drawing are implementations of "mediump vec4 srcPixel()": - qglslImageFragmentShader - qglslNonPremultipliedImageFragmentShader - qglslSolidBrushFragmentShader - qglslTextureBrushFragmentShader - qglslPatternBrushFragmentShader - qglslLinearGradientBrushFragmentShader - qglslRadialGradientBrushFragmentShader - qglslConicalGradientBrushFragmentShader - - NOTE: It is assumed the colour returned by srcPixel() is pre-multiplied - - The two masks are have these signature and are called: - qglslMaskFragmentShader: "mediump float mask()" - qglslRgbMaskFragmentShader: "mediump vec3 rgbMask()" - - Composition modes are "mediump vec4 composite(mediump vec4 src, mediump vec4 dest)": - qglslColorBurnCompositionModeFragmentShader - qglslColorDodgeCompositionModeFragmentShader - qglslDarkenCompositionModeFragmentShader - qglslDifferenceCompositionModeFragmentShader - qglslExclusionCompositionModeFragmentShader - qglslHardLightCompositionModeFragmentShader - qglslLightenCompositionModeFragmentShader - qglslMultiplyCompositionModeFragmentShader - qglslOverlayCompositionModeFragmentShader - qglslScreenCompositionModeFragmentShader - qglslSoftLightCompositionModeFragmentShader - - - So there are differnt frament shader main functions, depending on the - number & type of pipelines the fragment needs to go through. - - The choice of which main() fragment shader string to use depends on: - - Use of global opacity - - Brush style (some brushes apply opacity themselves) - - Use & type of mask (TODO: Need to support high quality anti-aliasing & text) - - Use of gamma-correction - - Use of non-GL Composition mode - - - CUSTOM SHADER CODE (idea) - ================== - - The use of custom shader code is supported by the engine for drawImage and - drawPixmap calls. This is implemented via hooks in the fragment pipeline. - The custom shader is passed to the engine as a partial fragment shader - (QGLCustomizedShader). The shader will implement a pre-defined method name - which Qt's fragment pipeline will call. There are two different hooks which - can be implemented as custom shader code: - - mediump vec4 customShader(sampler2d src, vec2 srcCoords) - mediump vec4 customShaderWithDest(sampler2d dest, sampler2d src, vec2 srcCoords) - -*/ - -///////////////////////////////////////////////////////////////////// - - static const char* qglslImageVertexShader = "\ attribute highp vec4 inputVertex; \ attribute lowp vec2 textureCoord; \ diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp new file mode 100644 index 0000000..1086430 --- /dev/null +++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp @@ -0,0 +1,367 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qglengineshadermanager_p.h" + +#if defined(QT_DEBUG) +#include +#endif + + +QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context) + : ctx(context), + shaderProgNeedsChanging(true), + srcPixelType(Qt::NoBrush), + useGlobalOpacity(false), + maskType(NoMask), + useTextureCoords(false), + compositionMode(QPainter::CompositionMode_SourceOver), + simpleShaderProg(0), + currentShaderProg(0) +{ + memset(compiledShaders, 0, sizeof(compiledShaders)); +} + +QGLEngineShaderManager::~QGLEngineShaderManager() +{ + //### +} + + + + + +void QGLEngineShaderManager::optimiseForBrushTransform(const QTransform transform) +{ + Q_UNUSED(transform); // Currently ignored +} + +void QGLEngineShaderManager::setSrcPixelType(Qt::BrushStyle style) +{ + srcPixelType = style; + shaderProgNeedsChanging = true; //### +} + +void QGLEngineShaderManager::setSrcPixelType(PixelSrcType type) +{ + srcPixelType = type; + shaderProgNeedsChanging = true; //### +} + +void QGLEngineShaderManager::setTextureCoordsEnabled(bool enabled) +{ + useTextureCoords = enabled; + shaderProgNeedsChanging = true; //### +} + +void QGLEngineShaderManager::setUseGlobalOpacity(bool useOpacity) +{ + useGlobalOpacity = useOpacity; + shaderProgNeedsChanging = true; //### +} + +void QGLEngineShaderManager::setMaskType(MaskType type) +{ + maskType = type; + shaderProgNeedsChanging = true; //### +} + +void QGLEngineShaderManager::setCompositionMode(QPainter::CompositionMode mode) +{ + compositionMode = mode; + shaderProgNeedsChanging = true; //### +} + +bool QGLEngineShaderManager::shaderProgramDirty() +{ + return shaderProgNeedsChanging; +} + +QGLShaderProgram* QGLEngineShaderManager::currentProgram() +{ + return currentShaderProg; +} + +QGLShaderProgram* QGLEngineShaderManager::simpleProgram() +{ + return simpleShaderProg; +} + + + + +// Select & use the correct shader program using the current state +void QGLEngineShaderManager::useCorrectShaderProg() +{ + QGLEngineShaderProg requiredProgram; + + // Choose vertex shader main function + QGLEngineShaderManager::ShaderName mainVertexShaderName = InvalidShaderName; + if (useTextureCoords) + mainVertexShaderName = MainWithTexCoordsVertexShader; + else + mainVertexShaderName = MainVertexShader; + compileNamedShader(mainVertexShaderName, QGLShader::PartialVertexShader); + requiredProgram.mainVertexShader = compiledShaders[mainVertexShaderName]; + + // Choose vertex shader shader position function (which typically also sets + // varyings) and the source pixel (srcPixel) fragment shader function: + QGLEngineShaderManager::ShaderName positionVertexShaderName = InvalidShaderName; + QGLEngineShaderManager::ShaderName srcPixelFragShaderName = InvalidShaderName; + bool isAffine = transform.isAffine(); + if ( (srcPixelType >= Qt::Dense1Pattern) && (srcPixelType <= Qt::DiagCrossPattern) ) { + if (isAffine) + positionVertexShaderName = AffinePositionWithPatternBrushVertexShader; + else + positionVertexShaderName = PositionWithPatternBrushVertexShader; + + srcPixelFragShaderName = PatternBrushSrcFragmentShader; + } + else switch (srcPixelType) { + default: + case Qt::NoBrush: + qCritical("QGLEngineShaderManager::useCorrectShaderProg() - I'm scared, Qt::NoBrush style is set"); + break; + case QGLEngineShaderManager::ImageSrc: + srcPixelFragShaderName = ImageSrcFragmentShader; + positionVertexShaderName = PositionOnlyVertexShader; + break; + case QGLEngineShaderManager::NonPremultipliedImageSrc: + srcPixelFragShaderName = NonPremultipliedImageSrcFragmentShader; + positionVertexShaderName = PositionOnlyVertexShader; + break; + case Qt::SolidPattern: + srcPixelFragShaderName = SolidBrushSrcFragmentShader; + positionVertexShaderName = PositionOnlyVertexShader; + break; + case Qt::LinearGradientPattern: + srcPixelFragShaderName = LinearGradientBrushSrcFragmentShader; + positionVertexShaderName = isAffine ? AffinePositionWithLinearGradientBrushVertexShader + : PositionWithLinearGradientBrushVertexShader; + break; + case Qt::ConicalGradientPattern: + srcPixelFragShaderName = ConicalGradientBrushSrcFragmentShader; + positionVertexShaderName = isAffine ? AffinePositionWithConicalGradientBrushVertexShader + : PositionWithConicalGradientBrushVertexShader; + break; + case Qt::RadialGradientPattern: + srcPixelFragShaderName = RadialGradientBrushSrcFragmentShader; + positionVertexShaderName = isAffine ? AffinePositionWithRadialGradientBrushVertexShader + : PositionWithRadialGradientBrushVertexShader; + break; + case Qt::TexturePattern: + srcPixelFragShaderName = TextureBrushSrcFragmentShader; + positionVertexShaderName = isAffine ? AffinePositionWithTextureBrushVertexShader + : PositionWithTextureBrushVertexShader; + break; + }; + compileNamedShader(positionVertexShaderName, QGLShader::PartialVertexShader); + compileNamedShader(srcPixelFragShaderName, QGLShader::PartialFragmentShader); + requiredProgram.positionVertexShader = compiledShaders[positionVertexShaderName]; + requiredProgram.srcPixelFragShader = compiledShaders[srcPixelFragShaderName]; + + + const bool hasCompose = compositionMode > QPainter::CompositionMode_Plus; + const bool hasMask = maskType != QGLEngineShaderManager::NoMask; + + // Choose fragment shader main function: + QGLEngineShaderManager::ShaderName mainFragShaderName; + + if (hasCompose && hasMask && useGlobalOpacity) + mainFragShaderName = MainFragmentShader_CMO; + if (hasCompose && hasMask && !useGlobalOpacity) + mainFragShaderName = MainFragmentShader_CM; + if (!hasCompose && hasMask && useGlobalOpacity) + mainFragShaderName = MainFragmentShader_MO; + if (!hasCompose && hasMask && !useGlobalOpacity) + mainFragShaderName = MainFragmentShader_M; + if (hasCompose && !hasMask && useGlobalOpacity) + mainFragShaderName = MainFragmentShader_CO; + if (hasCompose && !hasMask && !useGlobalOpacity) + mainFragShaderName = MainFragmentShader_C; + if (!hasCompose && !hasMask && useGlobalOpacity) + mainFragShaderName = MainFragmentShader_O; + if (!hasCompose && !hasMask && !useGlobalOpacity) + mainFragShaderName = MainFragmentShader; + + compileNamedShader(mainFragShaderName, QGLShader::PartialFragmentShader); + requiredProgram.mainFragShader = compiledShaders[mainFragShaderName]; + + if (hasMask) { + QGLEngineShaderManager::ShaderName maskShaderName = QGLEngineShaderManager::InvalidShaderName; + if (maskType == PixelMask) + maskShaderName = MaskFragmentShader; + else if (maskType == SubPixelMask) + maskShaderName = RgbMaskFragmentShader; + else if (maskType == SubPixelWithGammaMask) + maskShaderName = RgbMaskWithGammaFragmentShader; + else + qCritical("QGLEngineShaderManager::useCorrectShaderProg() - Unknown mask type"); + + compileNamedShader(maskShaderName, QGLShader::PartialFragmentShader); + requiredProgram.maskFragShader = compiledShaders[maskShaderName]; + } + else + requiredProgram.maskFragShader = 0; + + if (hasCompose) { + QGLEngineShaderManager::ShaderName compositionShaderName = QGLEngineShaderManager::InvalidShaderName; + switch (compositionMode) { + case QPainter::CompositionMode_Multiply: + compositionShaderName = MultiplyCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Screen: + compositionShaderName = ScreenCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Overlay: + compositionShaderName = OverlayCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Darken: + compositionShaderName = DarkenCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Lighten: + compositionShaderName = LightenCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_ColorDodge: + compositionShaderName = ColorDodgeCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_ColorBurn: + compositionShaderName = ColorBurnCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_HardLight: + compositionShaderName = HardLightCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_SoftLight: + compositionShaderName = SoftLightCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Difference: + compositionShaderName = DifferenceCompositionModeFragmentShader; + break; + case QPainter::CompositionMode_Exclusion: + compositionShaderName = ExclusionCompositionModeFragmentShader; + break; + default: + qWarning("QGLEngineShaderManager::useCorrectShaderProg() - Unsupported composition mode"); + } + compileNamedShader(compositionShaderName, QGLShader::PartialFragmentShader); + requiredProgram.compositionFragShader = compiledShaders[compositionShaderName]; + } + else + requiredProgram.compositionFragShader = 0; + + + // At this point, requiredProgram is fully populated so try to find the program in the cache + foreach (const QGLEngineShaderProg &prog, cachedPrograms) { + if ( (prog.mainVertexShader == requiredProgram.mainVertexShader) + && (prog.positionVertexShader == requiredProgram.positionVertexShader) + && (prog.mainFragShader == requiredProgram.mainFragShader) + && (prog.srcPixelFragShader == requiredProgram.srcPixelFragShader) + && (prog.compositionFragShader == requiredProgram.compositionFragShader) ) + { + currentShaderProg = requiredProgram.program; + currentShaderProg->enable(); + shaderProgNeedsChanging = false; + return; + } + } + +/* + QGLShader* mainVertexShader; + QGLShader* positionVertexShader; + QGLShader* mainFragShader; + QGLShader* srcPixelFragShader; + QGLShader* maskFragShader; // Can be null for no mask + QGLShader* compositionFragShader; // Can be null for GL-handled mode + QGLShaderProgram* program; +*/ + // Shader program not found in cache, create it now. + requiredProgram.program = new QGLShaderProgram(ctx, this); + requiredProgram.program->addShader(requiredProgram.mainVertexShader); + requiredProgram.program->addShader(requiredProgram.positionVertexShader); + requiredProgram.program->addShader(requiredProgram.mainFragShader); + requiredProgram.program->addShader(requiredProgram.srcPixelFragShader); + requiredProgram.program->addShader(requiredProgram.maskFragShader); + requiredProgram.program->addShader(requiredProgram.compositionFragShader); + requiredProgram.program->link(); + if (!requiredProgram.program->isValid()) { + QString error; + qWarning() << "Shader program failed to link," +#if defined(QT_DEBUG) + << '\n' + << " Shaders Used:" << '\n' + << " mainVertexShader = " << requiredProgram.mainVertexShader->objectName() << '\n' + << " positionVertexShader = " << requiredProgram.positionVertexShader->objectName() << '\n' + << " mainFragShader = " << requiredProgram.mainFragShader->objectName() << '\n' + << " srcPixelFragShader = " << requiredProgram.srcPixelFragShader->objectName() << '\n' + << " maskFragShader = " << requiredProgram.maskFragShader->objectName() << '\n' + << " compositionFragShader = "<< requiredProgram.compositionFragShader->objectName() << '\n' +#endif + << " Error Log:" << '\n' + << " " << requiredProgram.program->errors(); + qWarning() << error; + } + else { + cachedPrograms.append(requiredProgram); + currentShaderProg = requiredProgram.program; + currentShaderProg->enable(); + } + shaderProgNeedsChanging = false; +} + +void QGLEngineShaderManager::compileNamedShader(QGLEngineShaderManager::ShaderName name, QGLShader::ShaderType type) +{ + if (compiledShaders[name]) + return; + + QGLShader *newShader = new QGLShader(type, ctx, this); + newShader->setSourceCode(qglEngineShaderSourceCode[name]); + // newShader->compile(); ### does not exist? + +#if defined(QT_DEBUG) + // Name the shader for easier debugging + QMetaEnum m = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("ShaderName")); + newShader->setObjectName(QLatin1String(m.valueToKey(name))); +#endif + + compiledShaders[name] = newShader; +} + + diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h new file mode 100644 index 0000000..fe30a70 --- /dev/null +++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h @@ -0,0 +1,385 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +/* + VERTEX SHADERS + ============== + + Vertex shaders are specified as multiple (partial) shaders. On desktop, + this works fine. On ES, QGLShader & QGLShaderProgram will make partial + shaders work by concatenating the source in each QGLShader and compiling + it as a single shader. This is abstracted nicely by QGLShaderProgram and + the GL2 engine doesn't need to worry about it. + + Generally, there's two vertex shader objects. The position shaders are + the ones which set gl_Position. There's also two "main" vertex shaders, + one which just calls the position shader and another which also passes + through some texture coordinates from a vertex attribute array to a + varying. These texture coordinates are used for mask position in text + rendering and for the source coordinates in drawImage/drawPixmap. There's + also a "Simple" vertex shader for rendering a solid colour (used to render + into the stencil buffer where the actual colour value is discarded). + + The position shaders for brushes look scary. This is because many of the + calculations which logically belong in the fragment shader have been moved + into the vertex shader to improve performance. This is why the position + calculation is in a seperate shader. Not only does it calculate the + position, but it also calculates some data to be passed to the fragment + shader as a varying. It is optimal to move as much of the calculation as + possible into the vertex shader as this is executed less often. + + The varyings passed to the fragment shaders are interpolated (which is + cheap). Unfortunately, GL will apply perspective correction to the + interpolation calusing errors. To get around this, the vertex shader must + apply perspective correction itself and set the w-value of gl_Position to + zero. That way, GL will be tricked into thinking it doesn't need to apply a + perspective correction and use linear interpolation instead (which is what + we want). Of course, if the brush transform is affeine, no perspective + correction is needed and a simpler vertex shader can be used instead. + + So there are the following "main" vertex shaders: + qglslSimpleVertexShader + qglslMainVertexShader + qglslMainWithTexCoordsVertexShader + + And the the following position vertex shaders: + qglslPositionOnlyVertexShader + qglslPositionWithTextureBrushVertexShader + qglslPositionWithPatternBrushVertexShader + qglslPositionWithLinearGradientBrushVertexShader + qglslPositionWithRadialGradientBrushVertexShader + qglslPositionWithConicalGradientBrushVertexShader + qglslAffinePositionWithTextureBrushVertexShader + qglslAffinePositionWithPatternBrushVertexShader + qglslAffinePositionWithLinearGradientBrushVertexShader + qglslAffinePositionWithRadialGradientBrushVertexShader + qglslAffinePositionWithConicalGradientBrushVertexShader + + Leading to 23 possible vertex shaders + + + FRAGMENT SHADERS + ================ + + Fragment shaders are also specified as multiple (partial) shaders. The + different fragment shaders represent the different stages in Qt's fragment + pipeline. There are 1-3 stages in this pipeline: First stage is to get the + fragment's colour value. The next stage is to get the fragment's mask value + (coverage value for anti-aliasing) and the final stage is to blend the + incoming fragment with the background (for composition modes not supported + by GL). + + Of these, the first stage will always be present. If Qt doesn't need to + apply anti-aliasing (because it's off or handled by multisampling) then + the coverage value doesn't need to be applied. (Note: There are two types + of mask, one for regular anti-aliasing and one for sub-pixel anti- + aliasing.) If the composition mode is one which GL supports natively then + the blending stage doesn't need to be applied. + + As eash stage can have multiple implementations, they are abstracted as + GLSL function calls with the following signatures: + + Brushes & image drawing are implementations of "qcolorp vec4 srcPixel()": + qglslImageSrcFragShader + qglslNonPremultipliedImageSrcFragShader + qglslSolidBrushSrcFragShader + qglslTextureBrushSrcFragShader + qglslPatternBrushSrcFragShader + qglslLinearGradientBrushSrcFragShader + qglslRadialGradientBrushSrcFragShader + qglslConicalGradientBrushSrcFragShader + NOTE: It is assumed the colour returned by srcPixel() is pre-multiplied + + Masks are implementations of "qcolorp vec4 applyMask(qcolorp vec4 src)": + qglslMaskFragmentShader + qglslRgbMaskFragmentShader + qglslRgbMaskWithGammaFragmentShader + + Composition modes are "qcolorp vec4 compose(qcolorp vec4 src)": + qglslColorBurnCompositionModeFragmentShader + qglslColorDodgeCompositionModeFragmentShader + qglslDarkenCompositionModeFragmentShader + qglslDifferenceCompositionModeFragmentShader + qglslExclusionCompositionModeFragmentShader + qglslHardLightCompositionModeFragmentShader + qglslLightenCompositionModeFragmentShader + qglslMultiplyCompositionModeFragmentShader + qglslOverlayCompositionModeFragmentShader + qglslScreenCompositionModeFragmentShader + qglslSoftLightCompositionModeFragmentShader + + + Note: In the future, some GLSL compilers will support an extension allowing + a new 'color' precision specifier. To support this, qcolorp is used for + all color components so it can be defined to colorp or lowp depending upon + the implementation. + + So there are differnt frament shader main functions, depending on the + number & type of pipelines the fragment needs to go through. + + The choice of which main() fragment shader string to use depends on: + - Use of global opacity + - Brush style (some brushes apply opacity themselves) + - Use & type of mask (TODO: Need to support high quality anti-aliasing & text) + - Use of non-GL Composition mode + + Leading to the following fragment shader main functions: + gl_FragColor = compose(applyMask(srcPixel()*globalOpacity)); + gl_FragColor = compose(applyMask(srcPixel())); + gl_FragColor = applyMask(srcPixel()*globalOpacity); + gl_FragColor = applyMask(srcPixel()); + gl_FragColor = compose(srcPixel()*globalOpacity); + gl_FragColor = compose(srcPixel()); + gl_FragColor = srcPixel()*globalOpacity; + gl_FragColor = srcPixel(); + + Called: + qglslMainFragmentShader_CMO + qglslMainFragmentShader_CM + qglslMainFragmentShader_MO + qglslMainFragmentShader_M + qglslMainFragmentShader_CO + qglslMainFragmentShader_C + qglslMainFragmentShader_O + qglslMainFragmentShader + + Where: + M = Mask + C = Composition + O = Global Opacity + + + CUSTOM SHADER CODE (idea, depricated) + ================== + + The use of custom shader code is supported by the engine for drawImage and + drawPixmap calls. This is implemented via hooks in the fragment pipeline. + The custom shader is passed to the engine as a partial fragment shader + (QGLCustomizedShader). The shader will implement a pre-defined method name + which Qt's fragment pipeline will call. There are two different hooks which + can be implemented as custom shader code: + + mediump vec4 customShader(sampler2d src, vec2 srcCoords) + mediump vec4 customShaderWithDest(sampler2d dest, sampler2d src, vec2 srcCoords) + +*/ + +#ifndef QGLENGINE_SHADER_MANAGER_H +#define QGLENGINE_SHADER_MANAGER_H + +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(OpenGL) + + +struct QGLEngineShaderProg +{ + QGLShader* mainVertexShader; + QGLShader* positionVertexShader; + QGLShader* mainFragShader; + QGLShader* srcPixelFragShader; + QGLShader* maskFragShader; // Can be null for no mask + QGLShader* compositionFragShader; // Can be null for GL-handled mode + QGLShaderProgram* program; +}; + +/* +struct QGLEngineCachedShaderProg +{ + QGLEngineCachedShaderProg(QGLEngineShaderManager::ShaderName vertexMain, + QGLEngineShaderManager::ShaderName vertexPosition, + QGLEngineShaderManager::ShaderName fragMain, + QGLEngineShaderManager::ShaderName pixelSrc, + QGLEngineShaderManager::ShaderName mask, + QGLEngineShaderManager::ShaderName composition); + + int cacheKey; + QGLShaderProgram* program; +} +*/ + +class QGLEngineShaderManager : public QObject +{ + Q_OBJECT; +public: + QGLEngineShaderManager(QGLContext* context); + ~QGLEngineShaderManager(); + + enum MaskType {NoMask, PixelMask, SubPixelMask, SubPixelWithGammaMask}; + enum PixelSrcType { + ImageSrc = Qt::TexturePattern+1, + NonPremultipliedImageSrc = Qt::TexturePattern+2 + }; + + // There are optimisations we can do, depending on the transform: + // 1) May not have to apply perspective-correction + // 2) Can use lower precision for vertecies + void optimiseForBrushTransform(const QTransform transform); + void setSrcPixelType(Qt::BrushStyle); + void setSrcPixelType(PixelSrcType); // For non-brush sources, like pixmaps & images + void setTextureCoordsEnabled(bool); // For images & text glyphs + void setUseGlobalOpacity(bool); + void setMaskType(MaskType); + void setCompositionMode(QPainter::CompositionMode); + + bool shaderProgramDirty(); // returns true if the shader program needs to be changed + void useCorrectShaderProg(); + + QGLShaderProgram* currentProgram(); // Returns pointer to the shader the manager has chosen + QGLShaderProgram* simpleProgram(); // Used to draw into e.g. stencil buffers + + enum ShaderName { + SimpleVertexShader, + MainVertexShader, + MainWithTexCoordsVertexShader, + + PositionOnlyVertexShader, + PositionWithPatternBrushVertexShader, + PositionWithLinearGradientBrushVertexShader, + PositionWithConicalGradientBrushVertexShader, + PositionWithRadialGradientBrushVertexShader, + PositionWithTextureBrushVertexShader, + AffinePositionWithPatternBrushVertexShader, + AffinePositionWithLinearGradientBrushVertexShader, + AffinePositionWithConicalGradientBrushVertexShader, + AffinePositionWithRadialGradientBrushVertexShader, + AffinePositionWithTextureBrushVertexShader, + + MainFragmentShader_CMO, + MainFragmentShader_CM, + MainFragmentShader_MO, + MainFragmentShader_M, + MainFragmentShader_CO, + MainFragmentShader_C, + MainFragmentShader_O, + MainFragmentShader, + + ImageSrcFragmentShader, + NonPremultipliedImageSrcFragmentShader, + SolidBrushSrcFragmentShader, + TextureBrushSrcFragmentShader, + PatternBrushSrcFragmentShader, + LinearGradientBrushSrcFragmentShader, + RadialGradientBrushSrcFragmentShader, + ConicalGradientBrushSrcFragmentShader, + + MaskFragmentShader, + RgbMaskFragmentShader, + RgbMaskWithGammaFragmentShader, + + MultiplyCompositionModeFragmentShader, + ScreenCompositionModeFragmentShader, + OverlayCompositionModeFragmentShader, + DarkenCompositionModeFragmentShader, + LightenCompositionModeFragmentShader, + ColorDodgeCompositionModeFragmentShader, + ColorBurnCompositionModeFragmentShader, + HardLightCompositionModeFragmentShader, + SoftLightCompositionModeFragmentShader, + DifferenceCompositionModeFragmentShader, + ExclusionCompositionModeFragmentShader, + + TotalShaderCount, InvalidShaderName + }; + +/* + // These allow the ShaderName enum to be used as a cache key + const int mainVertexOffset = 0; + const int positionVertexOffset = (1<<2) - PositionOnlyVertexShader; + const int mainFragOffset = (1<<6) - MainFragmentShader_CMO; + const int srcPixelOffset = (1<<10) - ImageSrcFragmentShader; + const int maskOffset = (1<<14) - NoMaskShader; + const int compositionOffset = (1 << 16) - MultiplyCompositionModeFragmentShader; +*/ + +#if defined (QT_DEBUG) + Q_ENUMS(ShaderName); +#else +#error Release build not supported yet +#endif + + +private: + QGLContext* ctx; + bool shaderProgNeedsChanging; + + // Current state variables which influence the choice of shader: + QTransform transform; + int srcPixelType; + bool useGlobalOpacity; + MaskType maskType; + bool useTextureCoords; + QPainter::CompositionMode compositionMode; + + QGLShaderProgram* simpleShaderProg; + QGLShaderProgram* currentShaderProg; + + // TODO: Possibly convert to a LUT + QList cachedPrograms; + + QGLShader* compiledShaders[TotalShaderCount]; + + void compileNamedShader(QGLEngineShaderManager::ShaderName name, QGLShader::ShaderType type); +}; + + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif //QGLENGINE_SHADER_MANAGER_H diff --git a/src/opengl/gl2paintengineex/qglpexshadermanager.cpp b/src/opengl/gl2paintengineex/qglpexshadermanager.cpp deleted file mode 100644 index e460e08..0000000 --- a/src/opengl/gl2paintengineex/qglpexshadermanager.cpp +++ /dev/null @@ -1,450 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qglpexshadermanager_p.h" - -#include "glgc_shader_source.h" - -QGLPEXShaderManager::QGLPEXShaderManager(const QGLContext* context) -{ - ctx = const_cast(context); - - defaultVertexShader= new QGLShader(QGLShader::VertexShader, context); - defaultVertexShader->addSource(QLatin1String(qglslDefaultVertexShader)); - if (!defaultVertexShader->compile()) - qWarning() << "Default vertex shader failed to compile: " << defaultVertexShader->log(); - - noBrushShader = new QGLShader(QGLShader::FragmentShader, context); - noBrushShader->addSource(QLatin1String(qglslFragmentShaderMain)); - noBrushShader->addSource(QLatin1String(qglslNoBrushFragmentShader)); - if (!noBrushShader->compile()) - qWarning() << "No brush shader failed to compile:" << noBrushShader->log(); - - - // Create a program for noBrush: - QGLShaderProgram* noBrushProg = new QGLShaderProgram(ctx); - noBrushProg->addShader(defaultVertexShader); - noBrushProg->addShader(noBrushShader); - if (!noBrushProg->link()) - qWarning() << "NoBrush shader program failed to link:" << noBrushProg->log(); - - // Add noBrush Program to cache: - QGLCachedShaderProg cachedProg; - cachedProg.vertexShader = defaultVertexShader; - cachedProg.brushShader = noBrushShader; - cachedProg.compositionShader = 0; - cachedProg.shader = noBrushProg; - cachedPrograms.append(cachedProg); - - - // Set state - useGlobalOpacity = true; - currentBrushStyle = Qt::NoBrush; - currentTransformType = FullTransform; - shaderProgNeedsChanging = false; - activeProgram = noBrushProg; - - solidBrushShader = 0; - - conicalBrushVertexShader = 0; - conicalBrushFragmentShader = 0; - - radialBrushVertexShader = 0; - radialBrushFragmentShader = 0; - - linearBrushVertexShader = 0; - linearBrushFragmentShader = 0; - - patternBrushVertexShader = 0; - patternBrushFragmentShader = 0; - - textureBrushFragmentShader = 0; - textureBrushVertexShader = 0; - - simpleFragmentShader = 0; - simpleShaderProgram = 0; - - imageVertexShader = 0; - imageFragmentShader = 0; - imageShaderProgram = 0; - - textVertexShader = 0; - textFragmentShader = 0; - textShaderProgram = 0; -} - -QGLPEXShaderManager::~QGLPEXShaderManager() -{ - delete defaultVertexShader; - delete imageVertexShader; - delete imageFragmentShader; - delete imageShaderProgram; - delete textVertexShader; - delete textFragmentShader; - delete textShaderProgram; - delete noBrushShader; - delete solidBrushShader; - - delete conicalBrushVertexShader; - delete conicalBrushFragmentShader; - - delete radialBrushVertexShader; - delete radialBrushFragmentShader; - - delete linearBrushFragmentShader; - delete linearBrushVertexShader; - - delete patternBrushFragmentShader; - delete patternBrushVertexShader; - - delete textureBrushFragmentShader; - delete textureBrushVertexShader; - - delete simpleFragmentShader; - delete simpleShaderProgram; -} - -void QGLPEXShaderManager::setUseGlobalOpacity(bool value) -{ - if (value != useGlobalOpacity) - shaderProgNeedsChanging = true; - - useGlobalOpacity = value; -} - -void QGLPEXShaderManager::setBrushStyle(Qt::BrushStyle style) -{ - if (currentBrushStyle != style) - shaderProgNeedsChanging = true; - - currentBrushStyle = style; -} - -void QGLPEXShaderManager::setAffineOnlyBrushTransform(bool value) -{ - Q_UNUSED(value); - // TODO -} - -bool QGLPEXShaderManager::useCorrectShaderProg() -{ - if (!shaderProgNeedsChanging) { - activeProgram->use(); - return false; - } - - const char* fragmentShaderMainSrc = qglslFragmentShaderMain; - QGLShader* vertexShader = defaultVertexShader; - QGLShader* fragmentShader = noBrushShader; - - // Make sure we compile up the correct brush shader - switch (currentBrushStyle) { - case Qt::NoBrush: - break; - case Qt::SolidPattern: - if (!solidBrushShader) { - qDebug("Compiling qglslSolidBrushFragmentShader"); - solidBrushShader = new QGLShader(QGLShader::FragmentShader, ctx); - solidBrushShader->addSource(QLatin1String(qglslNoOpacityFragmentShaderMain)); - solidBrushShader->addSource(QLatin1String(qglslSolidBrushFragmentShader)); - if (!solidBrushShader->compile()) - qWarning() << "qglslSolidBrush failed to compile:" << solidBrushShader->log(); - } - fragmentShader = solidBrushShader; - break; - case Qt::TexturePattern: - if (!textureBrushVertexShader) { - qDebug("Compiling qglslTextureBrushVertexShader"); - textureBrushVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - textureBrushVertexShader->addSource(QLatin1String(qglslTextureBrushVertexShader)); - if (!textureBrushVertexShader->compile()) { - qWarning() << "qglslTextureBrushVertexShader failed to compile: " - << textureBrushVertexShader->log(); - } - } - vertexShader = textureBrushVertexShader; - - if (!textureBrushFragmentShader) { - qDebug("Compiling qglslTextureBrushFragmentShader"); - textureBrushFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - textureBrushFragmentShader->addSource(QLatin1String(fragmentShaderMainSrc)); - textureBrushFragmentShader->addSource(QLatin1String(qglslTextureBrushFragmentShader)); - if (!textureBrushFragmentShader->compile()) { - qWarning() << "qglslTextureBrushFragmentShader failed to compile:" - << textureBrushFragmentShader->log(); - } - } - fragmentShader = textureBrushFragmentShader; - break; - case Qt::LinearGradientPattern: - if (!linearBrushVertexShader) { - qDebug("Compiling qglslLinearGradientBrushVertexShader"); - linearBrushVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - linearBrushVertexShader->addSource(QLatin1String(qglslLinearGradientBrushVertexShader)); - if (!linearBrushVertexShader->compile()) { - qWarning() << "qglslLinearGradientBrushVertexShader failed to compile: " - << linearBrushVertexShader->log(); - } - } - vertexShader = linearBrushVertexShader; - - if (!linearBrushFragmentShader) { - qDebug("Compiling qglslLinearGradientBrushFragmentShader"); - linearBrushFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - linearBrushFragmentShader->addSource(QLatin1String(fragmentShaderMainSrc)); - linearBrushFragmentShader->addSource(QLatin1String(qglslLinearGradientBrushFragmentShader)); - if (!linearBrushFragmentShader->compile()) { - qWarning() << "qglslLinearGradientBrushFragmentShader failed to compile:" - << linearBrushFragmentShader->log(); - } - } - fragmentShader = linearBrushFragmentShader; - break; - case Qt::RadialGradientPattern: - if (!radialBrushVertexShader) { - qDebug("Compiling qglslRadialGradientBrushVertexShader"); - radialBrushVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - radialBrushVertexShader->addSource(QLatin1String(qglslRadialGradientBrushVertexShader)); - if (!radialBrushVertexShader->compile()) { - qWarning() << "qglslRadialGradientBrushVertexShader failed to compile: " - << radialBrushVertexShader->log(); - } - } - vertexShader = radialBrushVertexShader; - - if (!radialBrushFragmentShader) { - qDebug("Compiling qglslRadialGradientBrushFragmentShader"); - radialBrushFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - radialBrushFragmentShader->addSource(QLatin1String(fragmentShaderMainSrc)); - radialBrushFragmentShader->addSource(QLatin1String(qglslRadialGradientBrushFragmentShader)); - if (!radialBrushFragmentShader->compile()) { - qWarning() << "qglslRadialGradientBrushFragmentShader failed to compile:" - << radialBrushFragmentShader->log(); - } - } - fragmentShader = radialBrushFragmentShader; - break; - case Qt::ConicalGradientPattern: - // FIXME: We currently use the same vertex shader as radial brush - if (!conicalBrushVertexShader) { - qDebug("Compiling qglslConicalGradientBrushVertexShader"); - conicalBrushVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - conicalBrushVertexShader->addSource(QLatin1String(qglslConicalGradientBrushVertexShader)); - if (!conicalBrushVertexShader->compile()) { - qWarning() << "qglslConicalGradientBrushVertexShader failed to compile: " - << conicalBrushVertexShader->log(); - } - } - vertexShader = conicalBrushVertexShader; - - if (!conicalBrushFragmentShader) { - qDebug("Compiling qglslConicalGradientBrushFragmentShader"); - conicalBrushFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - conicalBrushFragmentShader->addSource(QLatin1String(fragmentShaderMainSrc)); - conicalBrushFragmentShader->addSource(QLatin1String(qglslConicalGradientBrushFragmentShader)); - if (!conicalBrushFragmentShader->compile()) { - qWarning() << "qglslConicalGradientBrushFragmentShader failed to compile:" - << conicalBrushFragmentShader->log(); - } - } - fragmentShader = conicalBrushFragmentShader; - break; - case Qt::Dense1Pattern: - case Qt::Dense2Pattern: - case Qt::Dense3Pattern: - case Qt::Dense4Pattern: - case Qt::Dense5Pattern: - case Qt::Dense6Pattern: - case Qt::Dense7Pattern: - case Qt::HorPattern: - case Qt::VerPattern: - case Qt::CrossPattern: - case Qt::BDiagPattern: - case Qt::FDiagPattern: - case Qt::DiagCrossPattern: - if (!patternBrushVertexShader) { - qDebug("Compiling qglslPatternBrushVertexShader"); - patternBrushVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - patternBrushVertexShader->addSource(QLatin1String(qglslPatternBrushVertexShader)); - if (!patternBrushVertexShader->compile()) { - qWarning() << "qglslPatternBrushVertexShader failed to compile: " - << patternBrushVertexShader->log(); - } - } - vertexShader = patternBrushVertexShader; - - if (!patternBrushFragmentShader) { - qDebug("Compiling qglslPatternBrushFragmentShader"); - patternBrushFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - patternBrushFragmentShader->addSource(QLatin1String(qglslNoOpacityFragmentShaderMain)); - patternBrushFragmentShader->addSource(QLatin1String(qglslPatternBrushFragmentShader)); - if (!patternBrushFragmentShader->compile()) { - qWarning() << "qglslPatternBrushFragmentShader failed to compile:" - << patternBrushFragmentShader->log(); - } - } - fragmentShader = patternBrushFragmentShader; - break; - default: - qWarning("Unimplemented brush style (%d)", currentBrushStyle); - } - - // Now newBrushShader is set correctly, check to see if we already have the program - // already linked and ready to go in the cache: - bool foundProgram = false; - foreach (QGLCachedShaderProg cachedProg, cachedPrograms) { - if ((cachedProg.vertexShader == vertexShader) && - (cachedProg.brushShader == fragmentShader) && - (cachedProg.compositionShader == 0) ) { - - activeProgram = cachedProg.shader; - foundProgram = true; - break; - } - } - - if (!foundProgram) { - qDebug() << "Linking shader program for " << currentBrushStyle; - // Required program not found - create it. - QGLShaderProgram* newProg = new QGLShaderProgram(ctx); - - newProg->addShader(vertexShader); - newProg->addShader(fragmentShader); - - if (!newProg->link()) - qWarning() << "Shader program for " << currentBrushStyle << "failed to link:" << newProg->log(); - - QGLCachedShaderProg cachedProg; - cachedProg.vertexShader = vertexShader; - cachedProg.brushShader = fragmentShader; - cachedProg.compositionShader = 0; - cachedProg.shader = newProg; - - cachedPrograms.append(cachedProg); - activeProgram = newProg; - } - - activeProgram->use(); - shaderProgNeedsChanging = false; - return true; -} - -QGLShaderProgram* QGLPEXShaderManager::brushShader() -{ - return activeProgram; -} - -// The only uniform the simple shader has is the PMV matrix -QGLShaderProgram* QGLPEXShaderManager::simpleShader() -{ - if (!simpleShaderProgram) { - simpleShaderProgram = new QGLShaderProgram(ctx); - - if (!simpleFragmentShader) { - simpleFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - simpleFragmentShader->addSource(QLatin1String(qglslSimpleFragmentShader)); - if (!simpleFragmentShader->compile()) - qWarning() << "qglslSimpleFragmentShader failed to compile:" << simpleFragmentShader->log(); - } - - simpleShaderProgram->addShader(defaultVertexShader); - simpleShaderProgram->addShader(simpleFragmentShader); - if (!simpleShaderProgram->link()) - qWarning() << "Simple shader program failed to link:" << simpleShaderProgram->log(); - } - - return simpleShaderProgram; -} - -QGLShaderProgram* QGLPEXShaderManager::imageShader() -{ - if (!imageShaderProgram) { - if (!imageVertexShader) { - imageVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - imageVertexShader->addSource(QLatin1String(qglslImageVertexShader)); - if (!imageVertexShader->compile()) - qWarning() << "Image/Pixmap vertex shader failed to compile:" << imageVertexShader->log(); - } - - if (!imageFragmentShader) { - imageFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - imageFragmentShader->addSource(QLatin1String(qglslImageFragmentShader)); - if (!imageFragmentShader->compile()) - qWarning() << "Image/Pixmap fragment shader failed to compile:" << imageFragmentShader->log(); - } - - imageShaderProgram = new QGLShaderProgram(ctx); - imageShaderProgram->addShader(imageVertexShader); - imageShaderProgram->addShader(imageFragmentShader); - if (!imageShaderProgram->link()) - qWarning() << "Image/Pixmap shader program failed to link:" << imageShaderProgram->log(); - } - - return imageShaderProgram; -} - -QGLShaderProgram* QGLPEXShaderManager::textShader() -{ - if (!textShaderProgram) { - if (!textVertexShader) { - textVertexShader = new QGLShader(QGLShader::VertexShader, ctx); - textVertexShader->addSource(QLatin1String(qglslImageVertexShader)); - if (!textVertexShader->compile()) - qWarning() << "Text vertex shader failed to compile:" << textVertexShader->log(); - } - - if (!textFragmentShader) { - textFragmentShader = new QGLShader(QGLShader::FragmentShader, ctx); - textFragmentShader->addSource(QLatin1String(qglslTextFragmentShader)); - if (!textFragmentShader->compile()) - qWarning() << "Text fragment shader failed to compile:" << textFragmentShader->log(); - } - - textShaderProgram = new QGLShaderProgram(ctx); - textShaderProgram->addShader(textVertexShader); - textShaderProgram->addShader(textFragmentShader); - if (!textShaderProgram->link()) - qWarning() << "Text shader program failed to link:" << textShaderProgram->log(); - } - - return textShaderProgram; -} - diff --git a/src/opengl/gl2paintengineex/qglpexshadermanager_p.h b/src/opengl/gl2paintengineex/qglpexshadermanager_p.h deleted file mode 100644 index c8f47b2..0000000 --- a/src/opengl/gl2paintengineex/qglpexshadermanager_p.h +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include "qglshader_p.h" - - -// Worstcase combo: Brush->Mask->Composition - -/* - Vertex shader source is specified with a single string. This string - contains the main function and sets the gl_Position. The choice of - which vertex shader to use depends on: - - Brush style - - Brush transform->isAffine() - - Fragment shaders are specified as multiple strings, one for the main - function, one for the brush calculation and optionally one for the - extended composition mode. Brushes are implementations of - "mediump vec4 brush()" - Composition modes are implemented as a - "mediump vec4 compose(mediump vec4 color)" - NOTE: Precision may change in future. - - The choice of which main() fragment shader string to use depends on: - - Global opacity - - Brush style (some brushes apply opacity themselves) - - Use of mask (TODO: Need to support high quality anti-aliasing & text) - - Composition mode - - The choice of which brush() fragment shader to use depends on: - - Brush style - -*/ - - -struct QGLCachedShaderProg -{ - QGLShader* vertexShader; - QGLShader* brushShader; - QGLShader* compositionShader; - QGLShaderProgram* shader; -}; - -class QGLPEXShaderManager -{ -public: - QGLPEXShaderManager(const QGLContext* context); - ~QGLPEXShaderManager(); - - enum TransformType {IdentityTransform, ScaleTransform, TranslateTransform, FullTransform}; - - void optimiseForBrushTransform(const QTransform& transform); - void setBrushStyle(Qt::BrushStyle style); - void setUseGlobalOpacity(bool value); - void setAffineOnlyBrushTransform(bool value); // I.e. Do we need to apply perspective-correction? - // Not doing so saves some vertex shader calculations. - - bool useCorrectShaderProg(); // returns true if the shader program has changed - - QGLShaderProgram* brushShader(); - QGLShaderProgram* simpleShader(); // Used to draw into e.g. stencil buffers - QGLShaderProgram* imageShader(); - QGLShaderProgram* textShader(); - -private: - QGLShader* defaultVertexShader; - - QGLShader* imageVertexShader; - QGLShader* imageFragmentShader; - QGLShaderProgram* imageShaderProgram; - - QGLShader* textVertexShader; - QGLShader* textFragmentShader; - QGLShaderProgram* textShaderProgram; - - QGLShader* noBrushShader; - QGLShader* solidBrushShader; - - QGLShader* conicalBrushVertexShader; - QGLShader* conicalBrushFragmentShader; - - QGLShader* radialBrushVertexShader; - QGLShader* radialBrushFragmentShader; - - QGLShader* linearBrushVertexShader; - QGLShader* linearBrushFragmentShader; - - QGLShader* patternBrushVertexShader; - QGLShader* patternBrushFragmentShader; - - QGLShader* textureBrushFragmentShader; - QGLShader* textureBrushVertexShader; - - QGLShader* simpleFragmentShader; - QGLShaderProgram* simpleShaderProgram; - - QGLShaderProgram* activeProgram; - - Qt::BrushStyle currentBrushStyle; - bool useGlobalOpacity; - TransformType currentTransformType; - bool shaderProgNeedsChanging; - - QList cachedPrograms; - - QGLContext* ctx; -}; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 89ed1f7..53ae4fb 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -77,7 +77,7 @@ #include #include "qglgradientcache_p.h" -#include "qglpexshadermanager_p.h" +#include "qglengineshadermanager_p.h" #include "qgl2pexvertexarray_p.h" @@ -170,7 +170,7 @@ public: GLfloat pmvMatrix[4][4]; - QGLPEXShaderManager* shaderManager; + QGLEngineShaderManager* shaderManager; // Clipping & state stuff stolen from QOpenGLPaintEngine: void updateDepthClip(); diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 3b8bfa1..1527f2d 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -43,16 +43,15 @@ SOURCES += qgl.cpp \ #contains(QT_CONFIG, opengles2) { SOURCES += gl2paintengineex/qglgradientcache.cpp \ - gl2paintengineex/qglpexshadermanager.cpp \ - gl2paintengineex/qglshader.cpp \ + gl2paintengineex/qglengineshadermanager.cpp \ gl2paintengineex/qgl2pexvertexarray.cpp \ gl2paintengineex/qpaintengineex_opengl2.cpp HEADERS += gl2paintengineex/qglgradientcache_p.h \ - gl2paintengineex/qglpexshadermanager_p.h \ - gl2paintengineex/qglshader_p.h \ + gl2paintengineex/qglengineshadermanager_p.h \ gl2paintengineex/qgl2pexvertexarray_p.h \ - gl2paintengineex/qpaintengineex_opengl2_p.h + gl2paintengineex/qpaintengineex_opengl2_p.h \ + gl2paintengineex/glgc_shader_source.h #} -- cgit v0.12 From 3cdaa8ed05a6af3dabcbc82388fc75c0e2ae8f71 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Wed, 15 Apr 2009 14:33:39 +0200 Subject: Adapt GL2 Paint Engine to new math3d, shader & shader manager APIs --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 86 +++++++++++----------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 53ae4fb..f1918c8 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -219,21 +219,21 @@ void QGL2PaintEngineExPrivate::setBrush(const QBrush* brush) currentBrush = brush; brushTextureDirty = true; brushUniformsDirty = true; - shaderManager->setBrushStyle(currentBrush->style()); - shaderManager->setAffineOnlyBrushTransform(currentBrush->transform().isAffine()); + shaderManager->setSrcPixelType(currentBrush->style()); + shaderManager->optimiseForBrushTransform(currentBrush->transform()); } // Unless this gets used elsewhere, it's probably best to merge it into fillStencilWithVertexArray void QGL2PaintEngineExPrivate::useSimpleShader() { - shaderManager->simpleShader()->use(); + shaderManager->simpleProgram()->enable(); if (matrixDirty) updateMatrix(); if (simpleShaderMatrixUniformDirty) { - shaderManager->simpleShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; + shaderManager->simpleProgram()->setUniformValue("pmvMatrix", pmvMatrix); simpleShaderMatrixUniformDirty = false; } } @@ -300,7 +300,7 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() if (style == Qt::SolidPattern) { QColor col = premultiplyColor(currentBrush->color(), opacity); - shaderManager->brushShader()->uniforms()[QLatin1String("fragmentColor")] = col; + shaderManager->currentProgram()->setUniformValue("fragmentColor", col); setOpacity = false; } else { @@ -312,11 +312,11 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() QColor col = premultiplyColor(currentBrush->color(), opacity); - shaderManager->brushShader()->uniforms()[QLatin1String("patternColor")] = col; + shaderManager->currentProgram()->setUniformValue("patternColor", col); setOpacity = false; //So code below doesn't try to set the opacity uniform - QGLVec2 halfViewportSize = { width*0.5, height*0.5 }; - shaderManager->brushShader()->uniforms()[QLatin1String("halfViewportSize")] = halfViewportSize; + QVector2D halfViewportSize(width*0.5, height*0.5); + shaderManager->currentProgram()->setUniformValue("halfViewportSize", halfViewportSize); } else if (style == Qt::LinearGradientPattern) { const QLinearGradient *g = static_cast(currentBrush->gradient()); @@ -327,17 +327,16 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() QPointF l = realFinal - realStart; - // ### - QGLVec3 linearData = { + QVector3D linearData( l.x(), l.y(), 1.0f / (l.x() * l.x() + l.y() * l.y()) - }; + ); - shaderManager->brushShader()->uniforms()[QLatin1String("linearData")] = linearData; + shaderManager->currentProgram()->setUniformValue("linearData", linearData); - QGLVec2 halfViewportSize = { width*0.5, height*0.5 }; - shaderManager->brushShader()->uniforms()[QLatin1String("halfViewportSize")] = halfViewportSize; + QVector2D halfViewportSize(width*0.5, height*0.5); + shaderManager->currentProgram()->setUniformValue("halfViewportSize", halfViewportSize); } else if (style == Qt::ConicalGradientPattern) { const QConicalGradient *g = static_cast(currentBrush->gradient()); @@ -345,10 +344,10 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() GLfloat angle = -(g->angle() * 2 * Q_PI) / 360.0; - shaderManager->brushShader()->uniforms()[QLatin1String("angle")] = angle; + shaderManager->currentProgram()->setUniformValue("angle", angle); - QGLVec2 halfViewportSize = { width*0.5, height*0.5 }; - shaderManager->brushShader()->uniforms()[QLatin1String("halfViewportSize")] = halfViewportSize; + QVector2D halfViewportSize(width*0.5, height*0.5); + shaderManager->currentProgram()->setUniformValue("halfViewportSize", halfViewportSize); } else if (style == Qt::RadialGradientPattern) { const QRadialGradient *g = static_cast(currentBrush->gradient()); @@ -358,16 +357,15 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() translationPoint = realFocal; QPointF fmp = realCenter - realFocal; - shaderManager->brushShader()->uniforms()[QLatin1String("fmp")] = fmp; + shaderManager->currentProgram()->setUniformValue("fmp", fmp); GLfloat fmp2_m_radius2 = -fmp.x() * fmp.x() - fmp.y() * fmp.y() + realRadius*realRadius; - shaderManager->brushShader()->uniforms()[QLatin1String("fmp2_m_radius2")] = fmp2_m_radius2; + shaderManager->currentProgram()->setUniformValue("fmp2_m_radius2", fmp2_m_radius2); + shaderManager->currentProgram()->setUniformValue("inverse_2_fmp2_m_radius2", + GLfloat(1.0 / (2.0*fmp2_m_radius2))); - shaderManager->brushShader()->uniforms()[QLatin1String("inverse_2_fmp2_m_radius2")] = - GLfloat(1.0 / (2.0*fmp2_m_radius2)); - - QGLVec2 halfViewportSize = { width*0.5, height*0.5 }; - shaderManager->brushShader()->uniforms()[QLatin1String("halfViewportSize")] = halfViewportSize; + QVector2D halfViewportSize(width*0.5, height*0.5); + shaderManager->currentProgram()->setUniformValue("halfViewportSize", halfViewportSize); } else if (style == Qt::TexturePattern) { translationPoint = q->state()->brushOrigin; @@ -375,10 +373,10 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() const QPixmap& texPixmap = currentBrush->texture(); QSizeF invertedTextureSize( 1.0 / texPixmap.width(), 1.0 / texPixmap.height() ); - shaderManager->brushShader()->uniforms()[QLatin1String("invertedTextureSize")] = invertedTextureSize; + shaderManager->currentProgram()->setUniformValue("invertedTextureSize", invertedTextureSize); - QGLVec2 halfViewportSize = { width*0.5, height*0.5 }; - shaderManager->brushShader()->uniforms()[QLatin1String("halfViewportSize")] = halfViewportSize; + QVector2D halfViewportSize(width*0.5, height*0.5); + shaderManager->currentProgram()->setUniformValue("halfViewportSize", halfViewportSize); } else qWarning("QGL2PaintEngineEx: Unimplemented fill style"); @@ -387,11 +385,11 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms() QTransform gl_to_qt(1, 0, 0, -1, 0, height); QTransform inv_matrix = gl_to_qt * (brushQTransform * q->state()->matrix).inverted() * translate; - shaderManager->brushShader()->uniforms()[QLatin1String("brushTransform")] = inv_matrix; - shaderManager->brushShader()->uniforms()[QLatin1String("brushTexture")] = QT_BRUSH_TEXTURE_UNIT; + shaderManager->currentProgram()->setUniformValue("brushTransform", inv_matrix); + shaderManager->currentProgram()->setUniformValue("brushTexture", QT_BRUSH_TEXTURE_UNIT); if (setOpacity) - shaderManager->brushShader()->uniforms()[QLatin1String("opacity")] = opacity; + shaderManager->currentProgram()->setUniformValue("opacity", opacity); } brushUniformsDirty = false; } @@ -524,12 +522,12 @@ void QGL2PaintEngineExPrivate::drawTexture(const QGLRect& dest, const QGLRect& s updateMatrix(); if (imageShaderMatrixUniformDirty) { - shaderManager->imageShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; +// shaderManager->imageShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; imageShaderMatrixUniformDirty = false; } - if (q->state()->opacity < 0.99f) - shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)q->state()->opacity; +// if (q->state()->opacity < 0.99f) +// shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)q->state()->opacity; GLfloat dx = 1.0 / textureSize.width(); GLfloat dy = 1.0 / textureSize.height(); @@ -562,15 +560,15 @@ void QGL2PaintEngineExPrivate::transferMode(EngineMode newMode) glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray.data()); glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray.data()); - shaderManager->textShader()->use(); - shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; +// shaderManager->textShader()->use(); +// shaderManager->textShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; } if (newMode == ImageDrawingMode) { // We have a shader specifically for drawPixmap/drawImage... - shaderManager->imageShader()->use(); - shaderManager->imageShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; - shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)1.0; +// shaderManager->imageShader()->use(); +// shaderManager->imageShader()->uniforms()[QLatin1String("textureSampler")] = QT_BRUSH_TEXTURE_UNIT; +// shaderManager->imageShader()->uniforms()[QLatin1String("opacity")] = (GLfloat)1.0; glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); glEnableVertexAttribArray(QT_TEXTURE_COORDS_ATTR); @@ -727,7 +725,9 @@ void QGL2PaintEngineExPrivate::prepareForDraw() if (compositionModeDirty) updateCompositionMode(); - if (shaderManager->useCorrectShaderProg()) { + if (shaderManager->shaderProgramDirty()) { + shaderManager->useCorrectShaderProg(); + // The shader program has changed so mark all uniforms as dirty: brushUniformsDirty = true; brushShaderMatrixUniformDirty = true; @@ -737,7 +737,7 @@ void QGL2PaintEngineExPrivate::prepareForDraw() updateBrushUniforms(); if (brushShaderMatrixUniformDirty) { - shaderManager->brushShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; + shaderManager->currentProgram()->setUniformValue("pmvMatrix", pmvMatrix); brushShaderMatrixUniformDirty = false; } @@ -984,12 +984,12 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte updateMatrix(); if (textShaderMatrixUniformDirty) { - shaderManager->textShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; +// shaderManager->textShader()->uniforms()[QLatin1String("pmvMatrix")] = pmvMatrix; textShaderMatrixUniformDirty = false; } QColor col = premultiplyColor(s->pen.color(), (GLfloat)s->opacity); - shaderManager->textShader()->uniforms()[QLatin1String("fragmentColor")] = col; +// shaderManager->textShader()->uniforms()[QLatin1String("fragmentColor")] = col; GLfloat dx = 1.0 / image.width(); GLfloat dy = 1.0 / image.height(); @@ -1035,7 +1035,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) qt_resolve_glsl_extensions(d->ctx); if (!d->shaderManager) - d->shaderManager = new QGLPEXShaderManager(d->ctx); + d->shaderManager = new QGLEngineShaderManager(d->ctx); glViewport(0, 0, d->width, d->height); -- cgit v0.12 From 5c92012d6ee57f644f62af5732a27899f2a1f462 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Thu, 16 Apr 2009 15:31:16 +0200 Subject: Clean up existing & implement missing GLSL for new shader manager --- src/opengl/gl2paintengineex/glgc_shader_source.h | 290 ---------------- .../gl2paintengineex/qglengineshadermanager.cpp | 88 ++++- .../gl2paintengineex/qglengineshadermanager_p.h | 3 +- .../gl2paintengineex/qglengineshadersource_p.h | 385 +++++++++++++++++++++ src/opengl/opengl.pro | 2 +- 5 files changed, 467 insertions(+), 301 deletions(-) delete mode 100644 src/opengl/gl2paintengineex/glgc_shader_source.h create mode 100644 src/opengl/gl2paintengineex/qglengineshadersource_p.h diff --git a/src/opengl/gl2paintengineex/glgc_shader_source.h b/src/opengl/gl2paintengineex/glgc_shader_source.h deleted file mode 100644 index 5184c78..0000000 --- a/src/opengl/gl2paintengineex/glgc_shader_source.h +++ /dev/null @@ -1,290 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** 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.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GLGC_SHADER_SOURCE_H -#define GLGC_SHADER_SOURCE_H - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(OpenGL) - - -static const char* qglslImageVertexShader = "\ - attribute highp vec4 inputVertex; \ - attribute lowp vec2 textureCoord; \ - uniform highp mat4 pmvMatrix; \ - varying lowp vec2 fragTextureCoord; \ - void main(void) \ - {\ - gl_Position = pmvMatrix * inputVertex;\ - fragTextureCoord = textureCoord; \ - }"; - -static const char* qglslImageFragmentShader = "\ - varying lowp vec2 fragTextureCoord;\ - uniform sampler2D textureSampler;\ - uniform lowp float opacity; \ - void main(void) \ - {\ - gl_FragColor = texture2D(textureSampler, fragTextureCoord) * opacity; \ - }"; - -static const char* qglslTextFragmentShader = "\ - varying lowp vec2 fragTextureCoord;\ - uniform mediump vec4 fragmentColor;\ - uniform sampler2D textureSampler;\ - void main(void) \ - {\ - highp vec4 tex = texture2D(textureSampler, fragTextureCoord); \ - tex = fragmentColor * tex.r; \ - gl_FragColor = tex; \ - }"; - -static const char* qglslDefaultVertexShader = "\ - attribute highp vec4 inputVertex;\ - uniform highp mat4 pmvMatrix;\ - void main(void)\ - {\ - gl_Position = pmvMatrix * inputVertex;\ - }"; - -static const char* qglslSimpleFragmentShader = "\ - void main (void)\ - {\ - gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\ - }"; - - -/**** FRAGMENT SHADER MAIN FUNCTIONS ****/ -// NOTE: Currently, the engine assumes brushes return colors already in pre-multiplied -// format. However, this may change if we add support for non-premultiplied - -static const char* qglslNoOpacityFragmentShaderMain = "\n\ - mediump vec4 brush();\ - void main (void)\ - {\ - gl_FragColor = brush();\ - }\n"; - -static const char* qglslFragmentShaderMain = "\n\ - mediump vec4 brush();\ - uniform lowp float opacity; \ - void main (void)\ - {\ - gl_FragColor = brush() * opacity;\ - }\n"; - - - -/**** BRUSH SHADERS ****/ - -// This should never actually be used -static const char* qglslNoBrushFragmentShader = "\n\ - mediump vec4 brush() { \ - discard; \ - return vec4(1.0, 0.8, 0.8, 1.0);\ - }\n"; - -// Solid Fill Brush -static const char* qglslSolidBrushFragmentShader = "\n\ - uniform mediump vec4 fragmentColor; \ - mediump vec4 brush() { \ - return fragmentColor;\ - }\n"; - -// Texture Brush -static const char* qglslTextureBrushVertexShader = "\ - attribute highp vec4 inputVertex; \ - uniform highp mat4 pmvMatrix; \ - uniform mediump vec2 halfViewportSize; \ - uniform mediump vec2 invertedTextureSize; \ - uniform mediump mat3 brushTransform; \ - varying mediump vec2 texCoords; \ - void main(void) { \ - gl_Position = pmvMatrix * inputVertex;\ - gl_Position.xy = gl_Position.xy / gl_Position.w; \ - mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ - mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ - mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ - gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ - gl_Position.w = invertedHTexCoordsZ; \ - texCoords.xy = (hTexCoords.xy * invertedTextureSize) * gl_Position.w; \ - texCoords.y = -texCoords.y; \ - }"; - -static const char* qglslTextureBrushFragmentShader = "\n\ - varying mediump vec2 texCoords;\ - uniform sampler2D brushTexture;\ - mediump vec4 brush() { \ - return texture2D(brushTexture, texCoords); \ - }\n"; - - -// Pattern Brush - This assumes the texture size is 8x8 and thus, the inverted size is 0.125 -static const char* qglslPatternBrushVertexShader = "\ - attribute highp vec4 inputVertex; \ - uniform highp mat4 pmvMatrix; \ - uniform mediump vec2 halfViewportSize; \ - uniform mediump vec2 invertedTextureSize; \ - uniform mediump mat3 brushTransform; \ - varying mediump vec2 texCoords; \ - void main(void) { \ - gl_Position = pmvMatrix * inputVertex;\ - gl_Position.xy = gl_Position.xy / gl_Position.w; \ - mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ - mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ - mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ - gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ - gl_Position.w = invertedHTexCoordsZ; \ - texCoords.xy = (hTexCoords.xy * 0.125) * invertedHTexCoordsZ; \ - texCoords.y = -texCoords.y; \ - }"; - -static const char* qglslPatternBrushFragmentShader = "\n\ - uniform sampler2D brushTexture;\ - uniform lowp vec4 patternColor; \ - varying mediump vec2 texCoords;\ - mediump vec4 brush() { \ - return patternColor * texture2D(brushTexture, texCoords).r; \ - }\n"; - - -// Linear Gradient Brush -static const char* qglslLinearGradientBrushVertexShader = "\ - attribute highp vec4 inputVertex; \ - uniform highp mat4 pmvMatrix; \ - uniform mediump vec2 halfViewportSize; \ - uniform highp vec3 linearData; \ - uniform mediump mat3 brushTransform; \ - varying mediump float index ; \ - void main() { \ - gl_Position = pmvMatrix * inputVertex;\ - gl_Position.xy = gl_Position.xy / gl_Position.w; \ - mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ - mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ - mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ - gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ - gl_Position.w = invertedHTexCoordsZ; \ - index = (dot(linearData.xy, hTexCoords.xy) * linearData.z) * invertedHTexCoordsZ; \ - }"; - -static const char* qglslLinearGradientBrushFragmentShader = "\n\ - uniform sampler2D brushTexture; \ - varying mediump float index; \ - mediump vec4 brush() { \ - mediump vec2 val = vec2(index, 0.5); \ - return texture2D(brushTexture, val); \ - }\n"; - - -static const char* qglslRadialGradientBrushVertexShader = "\ - attribute highp vec4 inputVertex;\ - uniform highp mat4 pmvMatrix;\ - uniform mediump vec2 halfViewportSize; \ - uniform highp mat3 brushTransform; \ - uniform highp vec2 fmp; \ - varying highp float b; \ - varying highp vec2 A; \ - void main(void) \ - {\ - gl_Position = pmvMatrix * inputVertex;\ - gl_Position.xy = gl_Position.xy / gl_Position.w; \ - mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ - mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ - mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ - gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ - gl_Position.w = invertedHTexCoordsZ; \ - A = hTexCoords.xy * invertedHTexCoordsZ; \ - b = 2.0 * fmp * (A.x + A.y); \ -\ - }"; - -static const char* qglslRadialGradientBrushFragmentShader = "\n\ - uniform sampler2D brushTexture; \ - uniform highp float fmp2_m_radius2; \ - uniform highp float inverse_2_fmp2_m_radius2; \ - varying highp float b; \ - varying highp vec2 A; \ -\ - mediump vec4 brush() { \ - highp float c = -dot(A, A); \ - highp vec2 val = vec2((-b + sqrt(b*b - 4.0*fmp2_m_radius2*c)) * inverse_2_fmp2_m_radius2, 0.5); \ - return texture2D(brushTexture, val); \ - }\n"; - -static const char* qglslConicalGradientBrushVertexShader = "\ - attribute highp vec4 inputVertex;\ - uniform highp mat4 pmvMatrix;\ - uniform mediump vec2 halfViewportSize; \ - uniform highp mat3 brushTransform; \ - varying highp vec2 A; \ - void main(void)\ - {\ - gl_Position = pmvMatrix * inputVertex;\ - gl_Position.xy = gl_Position.xy / gl_Position.w; \ - mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ - mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ - mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ - gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ - gl_Position.w = invertedHTexCoordsZ; \ - A = hTexCoords.xy * invertedHTexCoordsZ; \ - }"; - -static const char* qglslConicalGradientBrushFragmentShader = "\n\ - #define INVERSE_2PI 0.1591549430918953358 \n\ - uniform sampler2D brushTexture; \ - uniform mediump float angle; \ - varying highp vec2 A; \ - mediump vec4 brush() { \ - if (abs(A.y) == abs(A.x)) \ - A.y += 0.002; \ - highp float t = (atan2(-A.y, A.x) + angle) * INVERSE_2PI; \ - return texture2D(brushTexture, vec2(t - floor(t), 0.5)); \ - }\n"; - - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // GLGC_SHADER_SOURCE_H diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp index 1086430..ea01604 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp +++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp @@ -40,12 +40,20 @@ ****************************************************************************/ #include "qglengineshadermanager_p.h" +#include "qglengineshadersource_p.h" #if defined(QT_DEBUG) #include #endif +const char* QGLEngineShaderManager::qglEngineShaderSourceCode[] = { + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0 +}; + QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context) : ctx(context), shaderProgNeedsChanging(true), @@ -58,6 +66,77 @@ QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context) currentShaderProg(0) { memset(compiledShaders, 0, sizeof(compiledShaders)); + +/* + Rather than having the shader source array statically initialised, it is initialised + here instead. This is to allow new shader names to be inserted or existing names moved + around without having to change the order of the glsl strings. It is hoped this will + make future hard-to-find runtime bugs more obvious and generally give more solid code. +*/ + static bool qglEngineShaderSourceCodePopulated = false; + if (!qglEngineShaderSourceCodePopulated) { + + const char** code = qglEngineShaderSourceCode; // shortcut + + code[SimpleVertexShader] = qglslSimpleVertexShader; + code[MainVertexShader] = qglslMainVertexShader; + code[MainWithTexCoordsVertexShader] = qglslMainWithTexCoordsVertexShader; + + code[PositionOnlyVertexShader] = qglslPositionOnlyVertexShader; + code[PositionWithPatternBrushVertexShader] = qglslPositionWithPatternBrushVertexShader; + code[PositionWithLinearGradientBrushVertexShader] = qglslPositionWithLinearGradientBrushVertexShader; + code[PositionWithConicalGradientBrushVertexShader] = qglslPositionWithConicalGradientBrushVertexShader; + code[PositionWithRadialGradientBrushVertexShader] = qglslPositionWithRadialGradientBrushVertexShader; + code[PositionWithTextureBrushVertexShader] = qglslPositionWithTextureBrushVertexShader; + code[AffinePositionWithPatternBrushVertexShader] = qglslAffinePositionWithPatternBrushVertexShader; + code[AffinePositionWithLinearGradientBrushVertexShader] = qglslAffinePositionWithLinearGradientBrushVertexShader; + code[AffinePositionWithConicalGradientBrushVertexShader] = qglslAffinePositionWithConicalGradientBrushVertexShader; + code[AffinePositionWithRadialGradientBrushVertexShader] = qglslAffinePositionWithRadialGradientBrushVertexShader; + code[AffinePositionWithTextureBrushVertexShader] = qglslAffinePositionWithTextureBrushVertexShader; + + code[MainFragmentShader_CMO] = qglslMainFragmentShader_CMO; + code[MainFragmentShader_CM] = qglslMainFragmentShader_CM; + code[MainFragmentShader_MO] = qglslMainFragmentShader_MO; + code[MainFragmentShader_M] = qglslMainFragmentShader_M; + code[MainFragmentShader_CO] = qglslMainFragmentShader_CO; + code[MainFragmentShader_C] = qglslMainFragmentShader_C; + code[MainFragmentShader_O] = qglslMainFragmentShader_O; + code[MainFragmentShader] = qglslMainFragmentShader; + + code[ImageSrcFragmentShader] = qglslImageSrcFragmentShader; + code[NonPremultipliedImageSrcFragmentShader] = qglslNonPremultipliedImageSrcFragmentShader; + code[SolidBrushSrcFragmentShader] = qglslSolidBrushSrcFragmentShader; + code[TextureBrushSrcFragmentShader] = qglslTextureBrushSrcFragmentShader; + code[PatternBrushSrcFragmentShader] = qglslPatternBrushSrcFragmentShader; + code[LinearGradientBrushSrcFragmentShader] = qglslLinearGradientBrushSrcFragmentShader; + code[RadialGradientBrushSrcFragmentShader] = qglslRadialGradientBrushSrcFragmentShader; + code[ConicalGradientBrushSrcFragmentShader] = qglslConicalGradientBrushSrcFragmentShader; + + code[MaskFragmentShader] = qglslMaskFragmentShader; + code[RgbMaskFragmentShader] = ""; //### + code[RgbMaskWithGammaFragmentShader] = ""; //### + + code[MultiplyCompositionModeFragmentShader] = ""; //### + code[ScreenCompositionModeFragmentShader] = ""; //### + code[OverlayCompositionModeFragmentShader] = ""; //### + code[DarkenCompositionModeFragmentShader] = ""; //### + code[LightenCompositionModeFragmentShader] = ""; //### + code[ColorDodgeCompositionModeFragmentShader] = ""; //### + code[ColorBurnCompositionModeFragmentShader] = ""; //### + code[HardLightCompositionModeFragmentShader] = ""; //### + code[SoftLightCompositionModeFragmentShader] = ""; //### + code[DifferenceCompositionModeFragmentShader] = ""; //### + code[ExclusionCompositionModeFragmentShader] = ""; //### + +#if defined(QT_DEBUG) + // Check that all the elements have been filled: + for (int i = 0; i < TotalShaderCount; ++i) { + if (qglEngineShaderSourceCode[i] == 0) + qCritical() << "qglEngineShaderSourceCode: Missing shader in element" << i; + } +#endif + qglEngineShaderSourceCodePopulated = true; + } } QGLEngineShaderManager::~QGLEngineShaderManager() @@ -303,15 +382,6 @@ void QGLEngineShaderManager::useCorrectShaderProg() } } -/* - QGLShader* mainVertexShader; - QGLShader* positionVertexShader; - QGLShader* mainFragShader; - QGLShader* srcPixelFragShader; - QGLShader* maskFragShader; // Can be null for no mask - QGLShader* compositionFragShader; // Can be null for GL-handled mode - QGLShaderProgram* program; -*/ // Shader program not found in cache, create it now. requiredProgram.program = new QGLShaderProgram(ctx, this); requiredProgram.program->addShader(requiredProgram.mainVertexShader); diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h index fe30a70..38c1cff 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h @@ -375,8 +375,9 @@ private: QGLShader* compiledShaders[TotalShaderCount]; void compileNamedShader(QGLEngineShaderManager::ShaderName name, QGLShader::ShaderType type); -}; + static const char* qglEngineShaderSourceCode[TotalShaderCount]; +}; QT_END_NAMESPACE diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h new file mode 100644 index 0000000..945c56c --- /dev/null +++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h @@ -0,0 +1,385 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtOpenGL module 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + + +#ifndef QGL_ENGINE_SHADER_SOURCE_H +#define QGL_ENGINE_SHADER_SOURCE_H + +#include "qglengineshadermanager_p.h" + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(OpenGL) + + +static const char* const qglslSimpleVertexShader = "\ + attribute highp vec4 inputVertex;\ + uniform highp mat4 pmvMatrix;\ + void main(void)\ + {\ + gl_Position = pmvMatrix * inputVertex;\ + }"; + +static const char* const qglslMainVertexShader = "\ + void setPosition();\ + void main(void)\ + {\ + setPosition();\ + }"; + +static const char* const qglslMainWithTexCoordsVertexShader = "\ + attribute lowp vec2 textureCoord; \ + varying lowp vec2 fragTextureCoord; \ + void setPosition();\ + void main(void) \ + {\ + setPosition();\ + fragTextureCoord = textureCoord; \ + }"; + + +static const char* const qglslPositionOnlyVertexShader = "\ + attribute highp vec4 inputVertex;\ + uniform highp mat4 pmvMatrix;\ + void setPosition(void)\ + {\ + gl_Position = pmvMatrix * inputVertex;\ + }"; + + +// Pattern Brush - This assumes the texture size is 8x8 and thus, the inverted size is 0.125 +static const char* const qglslPositionWithPatternBrushVertexShader = "\ + attribute highp vec4 inputVertex; \ + uniform highp mat4 pmvMatrix; \ + uniform mediump vec2 halfViewportSize; \ + uniform mediump vec2 invertedTextureSize; \ + uniform mediump mat3 brushTransform; \ + varying mediump vec2 patternTexCoords; \ + void setPosition(void) { \ + gl_Position = pmvMatrix * inputVertex;\ + gl_Position.xy = gl_Position.xy / gl_Position.w; \ + mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ + mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ + mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ + gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ + gl_Position.w = invertedHTexCoordsZ; \ + patternTexCoords.xy = (hTexCoords.xy * 0.125) * invertedHTexCoordsZ; \ + patternTexCoords.y = -patternTexCoords.y; \ + }"; + +static const char* const qglslAffinePositionWithPatternBrushVertexShader + = qglslPositionWithPatternBrushVertexShader; + +static const char* const qglslPatternBrushSrcFragmentShader = "\ + uniform sampler2D brushTexture;\ + uniform lowp vec4 patternColor; \ + varying mediump vec2 patternTexCoords;\ + lowp vec4 srcPixel() { \ + return patternColor * texture2D(brushTexture, patternTexCoords).r; \ + }\n"; + + +// Linear Gradient Brush +static const char* const qglslPositionWithLinearGradientBrushVertexShader = "\ + attribute highp vec4 inputVertex; \ + uniform highp mat4 pmvMatrix; \ + uniform mediump vec2 halfViewportSize; \ + uniform highp vec3 linearData; \ + uniform highp mat3 brushTransform; \ + varying mediump float index ; \ + void setPosition() { \ + gl_Position = pmvMatrix * inputVertex;\ + gl_Position.xy = gl_Position.xy / gl_Position.w; \ + mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ + mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ + mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ + gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ + gl_Position.w = invertedHTexCoordsZ; \ + index = (dot(linearData.xy, hTexCoords.xy) * linearData.z) * invertedHTexCoordsZ; \ + }"; + +static const char* const qglslAffinePositionWithLinearGradientBrushVertexShader + = qglslPositionWithLinearGradientBrushVertexShader; + +static const char* const qglslLinearGradientBrushSrcFragmentShader = "\ + uniform sampler2D brushTexture; \ + varying mediump float index; \ + lowp vec4 srcPixel() { \ + mediump vec2 val = vec2(index, 0.5); \ + return texture2D(brushTexture, val); \ + }\n"; + + +// Conical Gradient Brush +static const char* const qglslPositionWithConicalGradientBrushVertexShader = "\ + attribute highp vec4 inputVertex;\ + uniform highp mat4 pmvMatrix;\ + uniform mediump vec2 halfViewportSize; \ + uniform highp mat3 brushTransform; \ + varying highp vec2 A; \ + void setPosition(void)\ + {\ + gl_Position = pmvMatrix * inputVertex;\ + gl_Position.xy = gl_Position.xy / gl_Position.w; \ + mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ + mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ + mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ + gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ + gl_Position.w = invertedHTexCoordsZ; \ + A = hTexCoords.xy * invertedHTexCoordsZ; \ + }"; + +static const char* const qglslAffinePositionWithConicalGradientBrushVertexShader + = qglslPositionWithConicalGradientBrushVertexShader; + +static const char* const qglslConicalGradientBrushSrcFragmentShader = "\ + #define INVERSE_2PI 0.1591549430918953358 \n\ + uniform sampler2D brushTexture; \ + uniform mediump float angle; \ + varying highp vec2 A; \ + lowp vec4 srcPixel() { \ + if (abs(A.y) == abs(A.x)) \ + A.y += 0.002; \ + highp float t = (atan2(-A.y, A.x) + angle) * INVERSE_2PI; \ + return texture2D(brushTexture, vec2(t - floor(t), 0.5)); \ + }"; + + +// Radial Gradient Brush +static const char* const qglslPositionWithRadialGradientBrushVertexShader = "\ + attribute highp vec4 inputVertex;\ + uniform highp mat4 pmvMatrix;\ + uniform mediump vec2 halfViewportSize; \ + uniform highp mat3 brushTransform; \ + uniform highp vec2 fmp; \ + varying highp float b; \ + varying highp vec2 A; \ + void setPosition(void) \ + {\ + gl_Position = pmvMatrix * inputVertex;\ + gl_Position.xy = gl_Position.xy / gl_Position.w; \ + mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ + mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ + mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ + gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ + gl_Position.w = invertedHTexCoordsZ; \ + A = hTexCoords.xy * invertedHTexCoordsZ; \ + b = 2.0 * fmp * (A.x + A.y); \ + }"; + +static const char* const qglslAffinePositionWithRadialGradientBrushVertexShader + = qglslPositionWithRadialGradientBrushVertexShader; + +static const char* const qglslRadialGradientBrushSrcFragmentShader = "\ + uniform sampler2D brushTexture; \ + uniform highp float fmp2_m_radius2; \ + uniform highp float inverse_2_fmp2_m_radius2; \ + varying highp float b; \ + varying highp vec2 A; \ + lowp vec4 srcPixel() { \ + highp float c = -dot(A, A); \ + highp vec2 val = vec2((-b + sqrt(b*b - 4.0*fmp2_m_radius2*c)) * inverse_2_fmp2_m_radius2, 0.5); \ + return texture2D(brushTexture, val); \ + }"; + + +// Texture Brush +static const char* const qglslPositionWithTextureBrushVertexShader = "\ + attribute highp vec4 inputVertex; \ + uniform highp mat4 pmvMatrix; \ + uniform mediump vec2 halfViewportSize; \ + uniform mediump vec2 invertedTextureSize; \ + uniform mediump mat3 brushTransform; \ + varying mediump vec2 textureTexCoords; \ + void setPosition(void) { \ + gl_Position = pmvMatrix * inputVertex;\ + gl_Position.xy = gl_Position.xy / gl_Position.w; \ + mediump vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \ + mediump vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \ + mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \ + gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ + gl_Position.w = invertedHTexCoordsZ; \ + textureTexCoords.xy = (hTexCoords.xy * invertedTextureSize) * gl_Position.w; \ + textureTexCoords.y = -textureTexCoords.y; \ + }"; + +static const char* const qglslAffinePositionWithTextureBrushVertexShader + = qglslPositionWithTextureBrushVertexShader; + +static const char* const qglslTextureBrushSrcFragmentShader = "\ + varying mediump vec2 textureTexCoords; \ + uniform sampler2D brushTexture; \ + lowp vec4 srcPixel() { \ + return texture2D(brushTexture, textureTexCoords); \ + }"; + + +// Solid Fill Brush +static const char* const qglslSolidBrushSrcFragmentShader = "\ + uniform lowp vec4 fragmentColor; \ + lowp vec4 srcPixel() { \ + return fragmentColor; \ + }"; + +static const char* const qglslImageSrcFragmentShader = "\ + varying highp vec2 texCoord; \ + uniform sampler2D textureSampler; \ + lowp vec4 srcPixel() { \ + return texture2D(textureSampler, texCoord); \ + }"; + +static const char* const qglslNonPremultipliedImageSrcFragmentShader = "\ + varying highp vec2 texCoord; \ + uniform sampler2D textureSampler; \ + lowp vec4 srcPixel() { \ + lowp vec4 sample = texture2D(textureSampler, texCoord); \ + sample.rgb = sample.rgb * sample.a; \ + return sample; \ + }"; + + +static const char* const qglslMainFragmentShader_CMO = "\ + uniform lowp float globalOpacity; \ + lowp vec4 srcPixel(); \ + lowp vec4 applyMask(lowp vec4); \ + lowp vec4 compose(lowp vec4); \ + void main() { \ + gl_FragColor = compose(applyMask(srcPixel()*globalOpacity)); \ + }"; + +static const char* const qglslMainFragmentShader_CM = "\ + lowp vec4 srcPixel(); \ + lowp vec4 applyMask(lowp vec4); \ + lowp vec4 compose(lowp vec4); \ + void main() { \ + gl_FragColor = compose(applyMask(srcPixel())); \ + }"; + +static const char* const qglslMainFragmentShader_MO = "\ + uniform lowp float globalOpacity; \ + lowp vec4 srcPixel(); \ + lowp vec4 applyMask(lowp vec4); \ + void main() { \ + gl_FragColor = applyMask(srcPixel()*globalOpacity); \ + }"; + +static const char* const qglslMainFragmentShader_M = "\ + lowp vec4 srcPixel(); \ + lowp vec4 applyMask(lowp vec4); \ + void main() { \ + gl_FragColor = applyMask(srcPixel()); \ + }"; + +static const char* const qglslMainFragmentShader_CO = "\ + uniform lowp float globalOpacity; \ + lowp vec4 srcPixel(); \ + lowp vec4 compose(lowp vec4); \ + void main() { \ + gl_FragColor = compose(srcPixel()*globalOpacity); \ + }"; + +static const char* const qglslMainFragmentShader_C = "\ + lowp vec4 srcPixel(); \ + lowp vec4 compose(lowp vec4); \ + void main() { \ + gl_FragColor = compose(srcPixel()); \ + }"; + +static const char* const qglslMainFragmentShader_O = "\ + uniform lowp float globalOpacity; \ + lowp vec4 srcPixel(); \ + void main() { \ + gl_FragColor = srcPixel()*globalOpacity; \ + }"; + +static const char* const qglslMainFragmentShader = "\ + lowp vec4 srcPixel(); \ + void main() { \ + gl_FragColor = srcPixel(); \ + }"; + + +static const char* const qglslMaskFragmentShader = "\ + varying highp vec2 texCoord;\ + uniform sampler2D maskTextureSampler;\ + lowp vec4 applyMask(lowp vec4 src) \ + {\ + lowp vec4 mask = texture2D(maskTextureSampler, texCoord); \ + return src * mask.a; \ + }"; + +/* + Left to implement: + RgbMaskFragmentShader, + RgbMaskWithGammaFragmentShader, + + MultiplyCompositionModeFragmentShader, + ScreenCompositionModeFragmentShader, + OverlayCompositionModeFragmentShader, + DarkenCompositionModeFragmentShader, + LightenCompositionModeFragmentShader, + ColorDodgeCompositionModeFragmentShader, + ColorBurnCompositionModeFragmentShader, + HardLightCompositionModeFragmentShader, + SoftLightCompositionModeFragmentShader, + DifferenceCompositionModeFragmentShader, + ExclusionCompositionModeFragmentShader, +*/ + + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // GLGC_SHADER_SOURCE_H diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 1527f2d..8cf0e37 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -51,7 +51,7 @@ SOURCES += qgl.cpp \ gl2paintengineex/qglengineshadermanager_p.h \ gl2paintengineex/qgl2pexvertexarray_p.h \ gl2paintengineex/qpaintengineex_opengl2_p.h \ - gl2paintengineex/glgc_shader_source.h + gl2paintengineex/qglengineshadersource_p.h #} -- cgit v0.12 From a241ebac49f01ba0e26a177f1aadbd18c7e9cae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 16 Apr 2009 10:55:12 +0200 Subject: Use FBOs as pixmap backend in GL graphics system. We now use FBOs to implement render-to-pixmap for the GL pixmap backend. A multisample FBO is used for rendering, and is then blitted onto a non-multisample FBO dynamically bound to the relevant texture. Reviewed-by: Tom --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 38 +++- src/opengl/qgl.cpp | 56 ++++- src/opengl/qgl.h | 2 +- src/opengl/qgl_p.h | 8 +- src/opengl/qglframebufferobject.cpp | 16 +- src/opengl/qpixmapdata_gl.cpp | 236 +++++++++++++++------ src/opengl/qpixmapdata_gl_p.h | 19 +- src/opengl/qwindowsurface_gl.cpp | 34 ++- 8 files changed, 311 insertions(+), 98 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index e166b54..fe70020 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -175,6 +175,8 @@ public: // Clipping & state stuff stolen from QOpenGLPaintEngine: void updateDepthClip(); uint use_system_clip : 1; + + QPaintEngine *last_engine; }; @@ -616,7 +618,6 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) const QPointF* const points = reinterpret_cast(path.points()); - // Check to see if there's any hints if (path.shape() == QVectorPath::RectangleHint) { QGLRect rect(points[0].x(), points[0].y(), points[2].x(), points[2].y()); @@ -1034,6 +1035,14 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) qt_resolve_version_1_3_functions(d->ctx); qt_resolve_glsl_extensions(d->ctx); + d->last_engine = d->ctx->d_ptr->active_engine; + d->ctx->d_ptr->active_engine = this; + + if (d->last_engine) { + QGL2PaintEngineEx *engine = static_cast(d->last_engine); + static_cast(engine->d_ptr)->transferMode(DefaultMode); + } + if (!d->shaderManager) d->shaderManager = new QGLPEXShaderManager(d->ctx); @@ -1054,6 +1063,19 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) d->use_system_clip = !systemClip().isEmpty(); glDisable(GL_DEPTH_TEST); + glDisable(GL_SCISSOR_TEST); + + QGLPixmapData *source = d->drawable.copyOnBegin(); + if (source) { + d->transferMode(ImageDrawingMode); + + source->bind(); + + glDisable(GL_BLEND); + + QRect rect(0, 0, source->width(), source->height()); + d->drawTexture(QRectF(rect), QRectF(rect), rect.size()); + } updateClipRegion(QRegion(), Qt::NoClip); return true; @@ -1067,6 +1089,20 @@ bool QGL2PaintEngineEx::end() d->transferMode(DefaultMode); d->drawable.swapBuffers(); d->drawable.doneCurrent(); + d->ctx->d_ptr->active_engine = d->last_engine; + + if (d->last_engine) { + QGL2PaintEngineEx *engine = static_cast(d->last_engine); + QGL2PaintEngineExPrivate *p = static_cast(engine->d_ptr); + + glDisable(GL_DEPTH_TEST); + glDisable(GL_SCISSOR_TEST); + + glViewport(0, 0, p->width, p->height); + engine->setState(engine->state()); + p->updateDepthClip(); + } + return false; } diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index fc11d90..32531e7 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1295,6 +1295,7 @@ void QGLContextPrivate::init(QPaintDevice *dev, const QGLFormat &format) eglContext = 0; #endif pbo = 0; + fbo = 0; crWin = false; initDone = false; sharing = false; @@ -1303,6 +1304,7 @@ void QGLContextPrivate::init(QPaintDevice *dev, const QGLFormat &format) version_flags_cached = false; version_flags = QGLFormat::OpenGL_Version_None; current_fbo = 0; + active_engine = 0; } QGLContext* QGLContext::currentCtx = 0; @@ -1313,12 +1315,8 @@ QGLContext* QGLContext::currentCtx = 0; QGLFramebufferObject::toImage() */ -QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha) +static void convertFromGLImage(QImage &img, int w, int h, bool alpha_format, bool include_alpha) { - QImage img(size, alpha_format ? QImage::Format_ARGB32 : QImage::Format_RGB32); - int w = size.width(); - int h = size.height(); - glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { // OpenGL gives RGBA; Qt wants ARGB uint *p = (uint*)img.bits(); @@ -1341,7 +1339,27 @@ QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include // OpenGL gives ABGR (i.e. RGBA backwards); Qt wants ARGB img = img.rgbSwapped(); } - return img.mirrored(); + img = img.mirrored(); +} + +QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha) +{ + QImage img(size, alpha_format ? QImage::Format_ARGB32 : QImage::Format_RGB32); + int w = size.width(); + int h = size.height(); + glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); + convertFromGLImage(img, w, h, alpha_format, include_alpha); + return img; +} + +QImage qt_gl_read_texture(const QSize &size, bool alpha_format, bool include_alpha) +{ + QImage img(size, alpha_format ? QImage::Format_ARGB32 : QImage::Format_RGB32); + int w = size.width(); + int h = size.height(); + glGetTexImage(qt_gl_preferredTextureTarget(), 0, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); + convertFromGLImage(img, w, h, alpha_format, include_alpha); + return img; } // returns the highest number closest to v, which is a power of 2 @@ -4235,6 +4253,15 @@ void QGLDrawable::setDevice(QPaintDevice *pdev) #ifdef Q_WS_QWS wsurf = 0; #endif + + if (pdev->devType() == QInternal::Pixmap) { + QPixmapData *data = static_cast(pdev)->pixmapData(); + Q_ASSERT(data->classId() == QPixmapData::OpenGLClass); + pixmapData = static_cast(data); + + fbo = pixmapData->fbo(); + } + if (pdev->devType() == QInternal::Widget) widget = static_cast(pdev); else if (pdev->devType() == QInternal::Pbuffer) @@ -4261,7 +4288,9 @@ void QGLDrawable::swapBuffers() void QGLDrawable::makeCurrent() { - if (widget) + if (pixmapData) + pixmapData->beginPaint(); + else if (widget) widget->makeCurrent(); else if (buffer) buffer->makeCurrent(); @@ -4274,9 +4303,18 @@ void QGLDrawable::makeCurrent() } } +QGLPixmapData *QGLDrawable::copyOnBegin() const +{ + if (!pixmapData || pixmapData->isUninitialized()) + return 0; + return pixmapData; +} + void QGLDrawable::doneCurrent() { - if (fbo && !wasBound) + if (pixmapData) + pixmapData->endPaint(); + else if (fbo && !wasBound) fbo->release(); } @@ -4285,6 +4323,8 @@ QSize QGLDrawable::size() const if (widget) { return QSize(widget->d_func()->glcx->device()->width(), widget->d_func()->glcx->device()->height()); + } else if (pixmapData) { + return pixmapData->size(); } else if (buffer) { return buffer->size(); } else if (fbo) { diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h index 32fbce2..19d779a 100644 --- a/src/opengl/qgl.h +++ b/src/opengl/qgl.h @@ -372,8 +372,8 @@ private: friend QGLContextPrivate *qt_phonon_get_dptr(const QGLContext *); #endif friend class QGLFramebufferObject; -#ifdef Q_WS_WIN friend class QGLFramebufferObjectPrivate; +#ifdef Q_WS_WIN friend bool qt_resolve_GLSL_functions(QGLContext *ctx); friend bool qt_createGLSLProgram(QGLContext *ctx, GLuint &program, const char *shader_src, GLuint &shader); #endif diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 8ab73d8..51c07b5 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -60,6 +60,7 @@ #include "QtCore/qthreadstorage.h" #include "QtCore/qhash.h" #include "private/qwidget_p.h" +#include "private/qpixmapdata_gl_p.h" #ifndef QT_OPENGL_ES_1_CL #define q_vertexType float @@ -238,6 +239,7 @@ public: QGLFormat glFormat; QGLFormat reqFormat; GLuint pbo; + GLuint fbo; uint valid : 1; uint sharing : 1; @@ -255,6 +257,7 @@ public: GLint max_texture_size; GLuint current_fbo; + QPaintEngine *active_engine; #ifdef Q_WS_WIN static inline QGLExtensionFuncs& qt_get_extension_funcs(const QGLContext *ctx) { return ctx->d_ptr->extensionFuncs; } @@ -289,7 +292,7 @@ class QGLWindowSurface; class QGLDrawable { public: QGLDrawable() : widget(0), buffer(0), fbo(0) - , wsurf(0) + , wsurf(0), pixmapData(0) {} void setDevice(QPaintDevice *pdev); void swapBuffers(); @@ -303,6 +306,8 @@ public: QGLContext *context() const; bool autoFillBackground() const; + QGLPixmapData *copyOnBegin() const; + private: bool wasBound; QGLWidget *widget; @@ -313,6 +318,7 @@ private: #else QGLWindowSurface *wsurf; #endif + QGLPixmapData *pixmapData; }; // GL extension definitions diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 61d0f85..f86205a 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -475,7 +475,7 @@ void QGLFramebufferObjectPrivate::init(const QSize &sz, QGLFramebufferObject::At fbo_attachment = QGLFramebufferObject::NoAttachment; } - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, ctx->d_ptr->current_fbo); if (!valid) { if (color_buffer) glDeleteRenderbuffersEXT(1, &color_buffer); @@ -825,18 +825,17 @@ bool QGLFramebufferObject::release() return false; Q_D(QGLFramebufferObject); QGL_FUNC_CONTEXT; - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); - d->valid = d->checkFramebufferStatus(); d->bound = false; + const QGLContext *context = QGLContext::currentContext(); - if (d->valid && context) { + if (context) { // Restore the previous setting for stacked framebuffer objects. context->d_ptr->current_fbo = d->previous_fbo; - if (d->previous_fbo) - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, d->previous_fbo); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, d->previous_fbo); d->previous_fbo = 0; } - return d->valid; + + return true; } /*! @@ -1148,8 +1147,7 @@ void QGLFramebufferObject::blitFramebuffer(QGLFramebufferObject *target, const Q tx0, ty0, tx1, ty1, buffers, filter); - glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, 0); - glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, ctx->d_ptr->current_fbo); } QT_END_NAMESPACE diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index ec71fa6..0656880 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qpixmap.h" +#include "qglframebufferobject.h" #include @@ -48,6 +49,12 @@ #include #include +#if 1 || defined(QT_OPENGL_ES_2) +#include +#else +#include +#endif + QT_BEGIN_NAMESPACE extern QGLWidget* qt_gl_share_widget(); @@ -89,48 +96,16 @@ private: QGLContext *m_ctx; }; -void qt_gl_convertFromGLImage(QImage *img) -{ - const int w = img->width(); - const int h = img->height(); - - if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { - uint *p = (uint*)img->bits(); - uint *end = p + w*h; - - while (p < end) { - uint a = *p << 24; - *p = (*p >> 8) | a; - p++; - } - - *img = img->mirrored(); - } else { - // mirror image - uint *data = (uint *)img->bits(); - - const int mid = h/2; - - for (int y = 0; y < mid; ++y) { - uint *p = data + y * w; - uint *end = p + w; - uint *q = data + (h - y - 1) * w; - - while (p < end) - qSwap(*p++, *q++); - } - } -} - - static int qt_gl_pixmap_serial = 0; QGLPixmapData::QGLPixmapData(PixelType type) : QPixmapData(type, OpenGLClass) , m_width(0) , m_height(0) + , m_renderFbo(0) + , m_textureId(0) + , m_engine(0) , m_ctx(0) - , m_texture(0) , m_dirty(false) { setSerialNumber(++qt_gl_pixmap_serial); @@ -138,10 +113,11 @@ QGLPixmapData::QGLPixmapData(PixelType type) QGLPixmapData::~QGLPixmapData() { - if (m_texture && qt_gl_share_widget()) { - QGLShareContextScope ctx(qt_gl_share_widget()->context()); - glDeleteTextures(1, &m_texture); - } + QGLWidget *shareWidget = qt_gl_share_widget(); + if (!shareWidget) + return; + QGLShareContextScope ctx(shareWidget->context()); + glDeleteTextures(1, &m_textureId); } bool QGLPixmapData::isValid() const @@ -166,6 +142,12 @@ void QGLPixmapData::resize(int width, int height) m_width = width; m_height = height; + if (m_textureId) { + QGLShareContextScope ctx(qt_gl_share_widget()->context()); + glDeleteTextures(1, &m_textureId); + m_textureId = 0; + } + m_source = QImage(); m_dirty = isValid(); setSerialNumber(++qt_gl_pixmap_serial); @@ -184,24 +166,30 @@ void QGLPixmapData::ensureCreated() const const GLenum format = qt_gl_preferredTextureFormat(); const GLenum target = qt_gl_preferredTextureTarget(); - if (!m_texture) - glGenTextures(1, &m_texture); - - glBindTexture(target, m_texture); + if (!m_textureId) { + glGenTextures(1, &m_textureId); + glBindTexture(target, m_textureId); + glTexImage2D(target, 0, GL_RGBA, m_width, m_height, 0, + GL_RGBA, GL_UNSIGNED_BYTE, 0); + } - if (m_source.isNull()) { - glTexImage2D(target, 0, GL_RGBA, m_width, m_height, 0, format, GL_UNSIGNED_BYTE, 0); - } else { + if (!m_source.isNull()) { const QImage tx = ctx->d_func()->convertToGLFormat(m_source, true, format); - glBindTexture(target, m_texture); - glTexImage2D(target, 0, GL_RGBA, m_width, m_height, 0, format, - GL_UNSIGNED_BYTE, tx.bits()); + glBindTexture(target, m_textureId); + glTexSubImage2D(target, 0, 0, 0, m_width, m_height, format, + GL_UNSIGNED_BYTE, tx.bits()); - m_source = QImage(); + if (useFramebufferObjects()) + m_source = QImage(); } } +QGLFramebufferObject *QGLPixmapData::fbo() const +{ + return m_renderFbo; +} + void QGLPixmapData::fromImage(const QImage &image, Qt::ImageConversionFlags) { @@ -220,6 +208,17 @@ bool QGLPixmapData::scroll(int dx, int dy, const QRect &rect) return false; } +void QGLPixmapData::copy(const QPixmapData *data, const QRect &rect) +{ + if (data->classId() != QPixmapData::OpenGLClass) { + QPixmapData::copy(data, rect); + return; + } + + // can be optimized to do a framebuffer blit or similar ... + QPixmapData::copy(data, rect); +} + void QGLPixmapData::fill(const QColor &color) { if (!isValid()) @@ -246,7 +245,9 @@ QImage QGLPixmapData::toImage() const if (!isValid()) return QImage(); - if (!m_source.isNull()) + if (m_renderFbo) + return m_renderFbo->toImage().copy(0, m_renderFbo->height() - m_height, m_width, m_height); + else if (!m_source.isNull()) return m_source; else if (m_dirty) return QImage(m_width, m_height, QImage::Format_ARGB32_Premultiplied); @@ -254,21 +255,84 @@ QImage QGLPixmapData::toImage() const ensureCreated(); QGLShareContextScope ctx(qt_gl_share_widget()->context()); - QImage img(m_width, m_height, QImage::Format_ARGB32_Premultiplied); + extern QImage qt_gl_read_texture(const QSize &size, bool alpha_format, bool include_alpha); + glBindTexture(qt_gl_preferredTextureTarget(), m_textureId); + return qt_gl_read_texture(QSize(m_width, m_height), true, true); +} - GLenum format = qt_gl_preferredTextureFormat(); - GLenum target = qt_gl_preferredTextureTarget(); +struct TextureBuffer +{ + QGLFramebufferObject *fbo; + QGL2PaintEngineEx *engine; +}; - glBindTexture(target, m_texture); -#ifndef QT_OPENGL_ES - glGetTexImage(target, 0, format, GL_UNSIGNED_BYTE, img.bits()); -#else - // XXX - cannot download textures this way on OpenGL/ES. -#endif +static QVector textureBufferStack; +static int currentTextureBuffer = 0; - qt_gl_convertFromGLImage(&img); +void QGLPixmapData::beginPaint() +{ + if (!isValid()) + return; - return img; + m_renderFbo->bind(); +} + +void QGLPixmapData::endPaint() +{ + if (!isValid()) + return; + + const QGLContext *share_ctx = qt_gl_share_widget()->context(); + QGLShareContextScope ctx(share_ctx); + + ensureCreated(); + + if (!ctx->d_ptr->fbo) + glGenFramebuffersEXT(1, &ctx->d_ptr->fbo); + + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, ctx->d_ptr->fbo); + glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, + qt_gl_preferredTextureTarget(), m_textureId, 0); + + const int x0 = 0; + const int x1 = m_width; + const int y0 = 0; + const int y1 = m_height; + + glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, m_renderFbo->handle()); + + glDisable(GL_SCISSOR_TEST); + + glBlitFramebufferEXT(x0, y0, x1, y1, + x0, y0, x1, y1, + GL_COLOR_BUFFER_BIT, + GL_NEAREST); + + m_renderFbo->release(); + + --currentTextureBuffer; + + m_renderFbo = 0; + m_engine = 0; +} + +static TextureBuffer createTextureBuffer(const QSize &size, QGL2PaintEngineEx *engine = 0) +{ + TextureBuffer buffer; + QGLFramebufferObjectFormat fmt; + fmt.setAttachment(QGLFramebufferObject::CombinedDepthStencil); + fmt.setSamples(4); + + buffer.fbo = new QGLFramebufferObject(size, fmt); + buffer.engine = engine ? engine : new QGL2PaintEngineEx; + + return buffer; +} + +bool QGLPixmapData::useFramebufferObjects() +{ + return QGLFramebufferObject::hasOpenGLFramebufferObjects() + && QGLFramebufferObject::hasOpenGLFramebufferBlit(); } QPaintEngine* QGLPixmapData::paintEngine() const @@ -276,23 +340,59 @@ QPaintEngine* QGLPixmapData::paintEngine() const if (!isValid()) return 0; - m_source = toImage(); - m_dirty = true; + if (m_engine) + return m_engine; + else if (!useFramebufferObjects()) { + m_dirty = true; + + if (m_source.size() != size()) + m_source = QImage(size(), QImage::Format_ARGB32_Premultiplied); + return m_source.paintEngine(); + } - return m_source.paintEngine(); + extern QGLWidget* qt_gl_share_widget(); + + if (!QGLContext::currentContext()) + qt_gl_share_widget()->makeCurrent(); + QGLShareContextScope ctx(qt_gl_share_widget()->context()); + + if (textureBufferStack.size() <= currentTextureBuffer) { + textureBufferStack << createTextureBuffer(size()); + } else { + QSize sz = textureBufferStack.at(currentTextureBuffer).fbo->size(); + if (sz.width() < m_width || sz.height() < m_height) { + if (sz.width() < m_width) + sz.setWidth(qMax(m_width, qRound(sz.width() * 1.5))); + if (sz.height() < m_height) + sz.setHeight(qMax(m_height, qRound(sz.height() * 1.5))); + delete textureBufferStack.at(currentTextureBuffer).fbo; + textureBufferStack[currentTextureBuffer] = + createTextureBuffer(sz, textureBufferStack.at(currentTextureBuffer).engine); + qDebug() << "Creating new pixmap texture buffer:" << sz; + } + } + + m_renderFbo = textureBufferStack.at(currentTextureBuffer).fbo; + m_engine = textureBufferStack.at(currentTextureBuffer).engine; + + ++currentTextureBuffer; + + return m_engine; } GLuint QGLPixmapData::bind() const { ensureCreated(); - glBindTexture(qt_gl_preferredTextureTarget(), m_texture); - return m_texture; + + GLuint id = m_textureId; + glBindTexture(qt_gl_preferredTextureTarget(), id); + return id; } GLuint QGLPixmapData::textureId() const { ensureCreated(); - return m_texture; + return m_textureId; } extern int qt_defaultDpiX(); diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h index 97f4959..b1b31f7 100644 --- a/src/opengl/qpixmapdata_gl_p.h +++ b/src/opengl/qpixmapdata_gl_p.h @@ -60,6 +60,7 @@ QT_BEGIN_NAMESPACE class QPaintEngine; +class QGLFramebufferObject; class QGLPixmapData : public QPixmapData { @@ -72,6 +73,7 @@ public: void resize(int width, int height); void fromImage(const QImage &image, Qt::ImageConversionFlags flags); + void copy(const QPixmapData *data, const QRect &rect); bool scroll(int dx, int dy, const QRect &rect); @@ -87,6 +89,17 @@ public: void ensureCreated() const; + bool isUninitialized() const { return m_dirty && m_source.isNull(); } + + QSize size() const { return QSize(m_width, m_height); } + int width() const { return m_width; } + int height() const { return m_height; } + + QGLFramebufferObject *fbo() const; + + void beginPaint(); + void endPaint(); + protected: int metric(QPaintDevice::PaintDeviceMetric metric) const; @@ -94,11 +107,15 @@ private: QGLPixmapData(const QGLPixmapData &other); QGLPixmapData &operator=(const QGLPixmapData &other); + static bool useFramebufferObjects(); + int m_width; int m_height; + mutable QGLFramebufferObject *m_renderFbo; + mutable uint m_textureId; + mutable QPaintEngine *m_engine; mutable QGLContext *m_ctx; - mutable GLuint m_texture; mutable bool m_dirty; mutable QImage m_source; }; diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index c9d23d1..e0078bb 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -100,8 +100,8 @@ QGLGraphicsSystem::QGLGraphicsSystem() int i = 0; int spec[16]; spec[i++] = GLX_RGBA; -#if 0 spec[i++] = GLX_DOUBLEBUFFER; +#if 0 spec[i++] = GLX_DEPTH_SIZE; spec[i++] = 8; spec[i++] = GLX_STENCIL_SIZE; @@ -433,19 +433,35 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & size = parent->size(); } - ctx->makeCurrent(); -#ifdef Q_WS_MAC - ctx->updatePaintDevice(); -#endif - glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); if (d_ptr->fbo && QGLExtensions::glExtensions & QGLExtensions::FramebufferBlit) { - QGLFramebufferObject::blitFramebuffer(0, rect, d_ptr->fbo, rect); - d_ptr->fbo->bind(); + const int h = d_ptr->fbo->height(); + + const int x0 = rect.left(); + const int x1 = rect.left() + rect.width(); + const int y0 = h - (rect.top() + rect.height()); + const int y1 = h - rect.top(); + + glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); + + glBlitFramebufferEXT(x0, y0, x1, y1, + x0, y0, x1, y1, + GL_COLOR_BUFFER_BIT, + GL_NEAREST); + + glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, d_ptr->fbo->handle()); } else { - if (d_ptr->fbo) + glDisable(GL_DEPTH_TEST); + + if (d_ptr->fbo) { d_ptr->fbo->release(); + } else { + ctx->makeCurrent(); +#ifdef Q_WS_MAC + ctx->updatePaintDevice(); +#endif + } glMatrixMode(GL_MODELVIEW); glLoadIdentity(); -- cgit v0.12 From 33957a2fee921742769e89ce6af348d182d183b2 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Thu, 16 Apr 2009 17:57:00 +0200 Subject: Don't seg-fault when the shader prog is in the cache --- src/opengl/gl2paintengineex/qglengineshadermanager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp index ea01604..1253414 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp +++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp @@ -211,6 +211,7 @@ QGLShaderProgram* QGLEngineShaderManager::simpleProgram() void QGLEngineShaderManager::useCorrectShaderProg() { QGLEngineShaderProg requiredProgram; + requiredProgram.program = 0; // Choose vertex shader main function QGLEngineShaderManager::ShaderName mainVertexShaderName = InvalidShaderName; @@ -375,7 +376,7 @@ void QGLEngineShaderManager::useCorrectShaderProg() && (prog.srcPixelFragShader == requiredProgram.srcPixelFragShader) && (prog.compositionFragShader == requiredProgram.compositionFragShader) ) { - currentShaderProg = requiredProgram.program; + currentShaderProg = prog.program; currentShaderProg->enable(); shaderProgNeedsChanging = false; return; -- cgit v0.12 From fc1e97177f6ff9369fc6b14c66e5d0526741d3e7 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Thu, 16 Apr 2009 17:59:49 +0200 Subject: Make fillRect() with a QBrush(Qt::NoBrush) a noop --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index f1918c8..80f0b1d 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -804,6 +804,9 @@ void QGL2PaintEngineEx::fill(const QVectorPath &path, const QBrush &brush) { Q_D(QGL2PaintEngineEx); + if (brush.style() == Qt::NoBrush) + return; + d->setBrush(&brush); d->fill(path); d->setBrush(&(state()->brush)); // reset back to the state's brush -- cgit v0.12 From b3f0d6e31c6897b1701de28d51980a81fb3e778f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 17 Apr 2009 10:04:08 +0200 Subject: Correctly handle using GL pixmaps that still have an active engine. In the case where a GL pixmap is used when there it still has an active engine we need to ensure that the pixmap has been flushed from the render FBO first. The newly added QGLPixmapData::copyBackFromRenderFbo() handles this. In addition, because several GL 2 paint engines can be active on the same context at the same time, we can't make any assumptions and need to call the newly added QGL2PaintEngineEx::ensureCreated() in the beginning of any state-dependent paint engine function. QGL2PaintEngineEx::ensureCreated() correctly transfers control to the current engine if a different engine is active. Running lance with -pixmap and -graphicssystem opengl works correctly with the GL pixmap backend now. --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 47 +++++++++++++++++++++- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 3 +- src/opengl/qgl.cpp | 6 ++- src/opengl/qpixmapdata_gl.cpp | 43 ++++++++++++++------ src/opengl/qpixmapdata_gl_p.h | 7 +++- 5 files changed, 86 insertions(+), 20 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index fe70020..8bf3182 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -805,6 +805,7 @@ void QGL2PaintEngineEx::fill(const QVectorPath &path, const QBrush &brush) { Q_D(QGL2PaintEngineEx); + ensureActive(); d->setBrush(&brush); d->fill(path); d->setBrush(&(state()->brush)); // reset back to the state's brush @@ -814,6 +815,7 @@ void QGL2PaintEngineEx::stroke(const QVectorPath &path, const QPen &pen) { Q_D(QGL2PaintEngineEx); + ensureActive(); if (pen.style() == Qt::NoPen) return; @@ -832,7 +834,6 @@ void QGL2PaintEngineEx::stroke(const QVectorPath &path, const QPen &pen) d->setBrush(&(state()->brush)); } else return QPaintEngineEx::stroke(path, pen); - } void QGL2PaintEngineEx::penChanged() @@ -887,6 +888,7 @@ void QGL2PaintEngineEx::transformChanged() void QGL2PaintEngineEx::drawPixmap(const QRectF& dest, const QPixmap & pixmap, const QRectF & src) { Q_D(QGL2PaintEngineEx); + ensureActive(); d->transferMode(ImageDrawingMode); QGLContext *ctx = d->ctx; @@ -905,6 +907,7 @@ void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const Qt::ImageConversionFlags) { Q_D(QGL2PaintEngineEx); + ensureActive(); d->transferMode(ImageDrawingMode); QGLContext *ctx = d->ctx; @@ -921,6 +924,7 @@ void QGL2PaintEngineEx::drawImage(const QRectF& dest, const QImage& image, const void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem) { Q_D(QGL2PaintEngineEx); + ensureActive(); QOpenGLPaintEngineState *s = state(); const QTextItemInt &ti = static_cast(textItem); @@ -974,6 +978,9 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, const QTextIte const QImage &image = cache->image(); int margin = cache->glyphMargin(); + if (image.isNull()) + return; + ctx->d_func()->bindTexture(image, GL_TEXTURE_2D, GL_RGBA, true); updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); @@ -1085,6 +1092,16 @@ bool QGL2PaintEngineEx::end() { Q_D(QGL2PaintEngineEx); QGLContext *ctx = d->ctx; + if (ctx->d_ptr->active_engine != this) { + QGL2PaintEngineEx *engine = static_cast(d->last_engine); + if (engine) { + QGL2PaintEngineExPrivate *p = static_cast(engine->d_ptr); + p->transferMode(DefaultMode); + p->drawable.doneCurrent(); + } + d->drawable.makeCurrent(); + } + glUseProgram(0); d->transferMode(DefaultMode); d->drawable.swapBuffers(); @@ -1106,6 +1123,31 @@ bool QGL2PaintEngineEx::end() return false; } +void QGL2PaintEngineEx::ensureActive() +{ + Q_D(QGL2PaintEngineEx); + QGLContext *ctx = d->ctx; + + if (isActive() && ctx->d_ptr->active_engine != this) { + QGL2PaintEngineEx *engine = static_cast(ctx->d_ptr->active_engine); + if (engine) { + QGL2PaintEngineExPrivate *p = static_cast(engine->d_ptr); + p->transferMode(DefaultMode); + p->drawable.doneCurrent(); + } + d->drawable.makeCurrent(); + + ctx->d_ptr->active_engine = this; + + glDisable(GL_DEPTH_TEST); + glDisable(GL_SCISSOR_TEST); + + glViewport(0, 0, d->width, d->height); + setState(state()); + d->updateDepthClip(); + } +} + /////////////////////////////////// State/Clipping stolen from QOpenGLPaintEngine ////////////////////////////////////////// @@ -1246,6 +1288,7 @@ void QGL2PaintEngineExPrivate::updateDepthClip() Q_Q(QGL2PaintEngineEx); + q->ensureActive(); glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); @@ -1305,7 +1348,7 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) QOpenGLPaintEngineState *old_state = state(); const bool needsDepthClipUpdate = !old_state || s->clipEnabled != old_state->clipEnabled - || s->clipEnabled && s->clipRegion != old_state->clipRegion; + || (s->clipEnabled && s->clipRegion != old_state->clipRegion); QPaintEngineEx::setState(s); diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 10e5337..b31f685 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -80,6 +80,8 @@ public: bool begin(QPaintDevice *device); bool end(); + void ensureActive(); + virtual void fill(const QVectorPath &path, const QBrush &brush); virtual void stroke(const QVectorPath &path, const QPen &pen); virtual void clip(const QVectorPath &path, Qt::ClipOperation op); @@ -102,7 +104,6 @@ public: Type type() const { return OpenGL; } - // State stuff is just for clipping and ripped off from QGLPaintEngine void setState(QPainterState *s); QPainterState *createState(QPainterState *orig) const; diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 64048f2..d1cf35d 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -4289,6 +4289,8 @@ void QGLDrawable::swapBuffers() if (widget) { if (widget->autoBufferSwap()) widget->swapBuffers(); + } else if (pixmapData) { + pixmapData->swapBuffers(); } else { glFlush(); } @@ -4297,7 +4299,7 @@ void QGLDrawable::swapBuffers() void QGLDrawable::makeCurrent() { if (pixmapData) - pixmapData->beginPaint(); + pixmapData->makeCurrent(); else if (widget) widget->makeCurrent(); else if (buffer) @@ -4321,7 +4323,7 @@ QGLPixmapData *QGLDrawable::copyOnBegin() const void QGLDrawable::doneCurrent() { if (pixmapData) - pixmapData->endPaint(); + pixmapData->doneCurrent(); else if (fbo && !wasBound) fbo->release(); } diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index 0656880..1c5056d 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -246,13 +246,13 @@ QImage QGLPixmapData::toImage() const return QImage(); if (m_renderFbo) - return m_renderFbo->toImage().copy(0, m_renderFbo->height() - m_height, m_width, m_height); + copyBackFromRenderFbo(true); else if (!m_source.isNull()) return m_source; else if (m_dirty) return QImage(m_width, m_height, QImage::Format_ARGB32_Premultiplied); - - ensureCreated(); + else + ensureCreated(); QGLShareContextScope ctx(qt_gl_share_widget()->context()); extern QImage qt_gl_read_texture(const QSize &size, bool alpha_format, bool include_alpha); @@ -269,15 +269,7 @@ struct TextureBuffer static QVector textureBufferStack; static int currentTextureBuffer = 0; -void QGLPixmapData::beginPaint() -{ - if (!isValid()) - return; - - m_renderFbo->bind(); -} - -void QGLPixmapData::endPaint() +void QGLPixmapData::copyBackFromRenderFbo(bool keepCurrentFboBound) const { if (!isValid()) return; @@ -308,6 +300,16 @@ void QGLPixmapData::endPaint() GL_COLOR_BUFFER_BIT, GL_NEAREST); + if (keepCurrentFboBound) + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_ctx->d_ptr->current_fbo); +} + +void QGLPixmapData::swapBuffers() +{ + if (!isValid()) + return; + + copyBackFromRenderFbo(false); m_renderFbo->release(); --currentTextureBuffer; @@ -316,6 +318,18 @@ void QGLPixmapData::endPaint() m_engine = 0; } +void QGLPixmapData::makeCurrent() +{ + if (isValid() && m_renderFbo) + m_renderFbo->bind(); +} + +void QGLPixmapData::doneCurrent() +{ + if (isValid() && m_renderFbo) + m_renderFbo->release(); +} + static TextureBuffer createTextureBuffer(const QSize &size, QGL2PaintEngineEx *engine = 0) { TextureBuffer buffer; @@ -382,7 +396,10 @@ QPaintEngine* QGLPixmapData::paintEngine() const GLuint QGLPixmapData::bind() const { - ensureCreated(); + if (m_renderFbo) + copyBackFromRenderFbo(true); + else + ensureCreated(); GLuint id = m_textureId; glBindTexture(qt_gl_preferredTextureTarget(), id); diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h index b1b31f7..7dda653 100644 --- a/src/opengl/qpixmapdata_gl_p.h +++ b/src/opengl/qpixmapdata_gl_p.h @@ -97,8 +97,9 @@ public: QGLFramebufferObject *fbo() const; - void beginPaint(); - void endPaint(); + void makeCurrent(); + void doneCurrent(); + void swapBuffers(); protected: int metric(QPaintDevice::PaintDeviceMetric metric) const; @@ -107,6 +108,8 @@ private: QGLPixmapData(const QGLPixmapData &other); QGLPixmapData &operator=(const QGLPixmapData &other); + void copyBackFromRenderFbo(bool keepCurrentFboBound) const; + static bool useFramebufferObjects(); int m_width; -- cgit v0.12 From 0b37db60b856fd146727eb621c5447aff09ffc5a Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 17 Apr 2009 11:04:21 +0200 Subject: Fix GLSL warning & possible artifacts with radial gradients MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Samuel Rødal --- src/opengl/gl2paintengineex/qglengineshadersource_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h index 945c56c..3aa1a36 100644 --- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h @@ -215,7 +215,7 @@ static const char* const qglslPositionWithRadialGradientBrushVertexShader = "\ gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \ gl_Position.w = invertedHTexCoordsZ; \ A = hTexCoords.xy * invertedHTexCoordsZ; \ - b = 2.0 * fmp * (A.x + A.y); \ + b = 2.0 * dot(A, fmp); \ }"; static const char* const qglslAffinePositionWithRadialGradientBrushVertexShader -- cgit v0.12 From 534f2575a19422cff06e27b46f65c6630da6ee7f Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 17 Apr 2009 11:18:21 +0200 Subject: Add a "shocking pink" shader for rendering into stencil buff If you see shocking pink in the rendering output, it's probably because the "simple" shader is in use but color writes have somehow been enabled. :-) --- .../gl2paintengineex/qglengineshadermanager.cpp | 26 ++++++++++++++++++++-- .../gl2paintengineex/qglengineshadermanager_p.h | 1 + .../gl2paintengineex/qglengineshadersource_p.h | 5 +++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp index 1253414..7c165ae 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp +++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp @@ -111,6 +111,7 @@ QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context) code[LinearGradientBrushSrcFragmentShader] = qglslLinearGradientBrushSrcFragmentShader; code[RadialGradientBrushSrcFragmentShader] = qglslRadialGradientBrushSrcFragmentShader; code[ConicalGradientBrushSrcFragmentShader] = qglslConicalGradientBrushSrcFragmentShader; + code[ShockingPinkSrcFragmentShader] = qglslShockingPinkSrcFragmentShader; code[MaskFragmentShader] = qglslMaskFragmentShader; code[RgbMaskFragmentShader] = ""; //### @@ -131,12 +132,33 @@ QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context) #if defined(QT_DEBUG) // Check that all the elements have been filled: for (int i = 0; i < TotalShaderCount; ++i) { - if (qglEngineShaderSourceCode[i] == 0) - qCritical() << "qglEngineShaderSourceCode: Missing shader in element" << i; + if (qglEngineShaderSourceCode[i] == 0) { + int enumIndex = staticMetaObject.indexOfEnumerator("ShaderName"); + QMetaEnum m = staticMetaObject.enumerator(enumIndex); + + qCritical() << "qglEngineShaderSourceCode: Source for" << m.valueToKey(i) + << "(shader" << i << ") missing!"; + } } #endif qglEngineShaderSourceCodePopulated = true; } + + // Compile up the simple shader: + simpleShaderProg = new QGLShaderProgram(ctx, this); + compileNamedShader(MainVertexShader, QGLShader::PartialVertexShader); + compileNamedShader(PositionOnlyVertexShader, QGLShader::PartialVertexShader); + compileNamedShader(MainFragmentShader, QGLShader::PartialFragmentShader); + compileNamedShader(ShockingPinkSrcFragmentShader, QGLShader::PartialFragmentShader); + simpleShaderProg->addShader(compiledShaders[MainVertexShader]); + simpleShaderProg->addShader(compiledShaders[PositionOnlyVertexShader]); + simpleShaderProg->addShader(compiledShaders[MainFragmentShader]); + simpleShaderProg->addShader(compiledShaders[ShockingPinkSrcFragmentShader]); + simpleShaderProg->link(); + if (!simpleShaderProg->isValid()) { + qCritical() << "Errors linking simple shader:" + << simpleShaderProg->errors(); + } } QGLEngineShaderManager::~QGLEngineShaderManager() diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h index 38c1cff..61a62dc 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h @@ -317,6 +317,7 @@ public: LinearGradientBrushSrcFragmentShader, RadialGradientBrushSrcFragmentShader, ConicalGradientBrushSrcFragmentShader, + ShockingPinkSrcFragmentShader, MaskFragmentShader, RgbMaskFragmentShader, diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h index 3aa1a36..d605b01 100644 --- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h @@ -288,6 +288,11 @@ static const char* const qglslNonPremultipliedImageSrcFragmentShader = "\ return sample; \ }"; +static const char* const qglslShockingPinkSrcFragmentShader = "\ + lowp vec4 srcPixel() { \ + return lowp vec4(0.98, 0.06, 0.75, 1.0); \ + }"; + static const char* const qglslMainFragmentShader_CMO = "\ uniform lowp float globalOpacity; \ -- cgit v0.12 From 4701bc6fa8fe47d5038ed0a86a4e6c0490c259fe Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 17 Apr 2009 12:00:08 +0200 Subject: Fix various issues with conical grad GLSL code - atan2 is just called atan in GLSL (which supports overloads) - varyings can't be modified in fragment shaders - #defines need to be on their own line --- src/opengl/gl2paintengineex/qglengineshadersource_p.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h index d605b01..7557431 100644 --- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h @@ -183,15 +183,17 @@ static const char* const qglslPositionWithConicalGradientBrushVertexShader = "\ static const char* const qglslAffinePositionWithConicalGradientBrushVertexShader = qglslPositionWithConicalGradientBrushVertexShader; -static const char* const qglslConicalGradientBrushSrcFragmentShader = "\ +static const char* const qglslConicalGradientBrushSrcFragmentShader = "\n\ #define INVERSE_2PI 0.1591549430918953358 \n\ - uniform sampler2D brushTexture; \ + uniform sampler2D brushTexture; \n\ uniform mediump float angle; \ varying highp vec2 A; \ lowp vec4 srcPixel() { \ + highp float t; \ if (abs(A.y) == abs(A.x)) \ - A.y += 0.002; \ - highp float t = (atan2(-A.y, A.x) + angle) * INVERSE_2PI; \ + t = (atan(-A.y + 0.002, A.x) + angle) * INVERSE_2PI; \ + else \ + t = (atan(-A.y, A.x) + angle) * INVERSE_2PI; \ return texture2D(brushTexture, vec2(t - floor(t), 0.5)); \ }"; -- cgit v0.12 From bb2e4df9bee3148e819c98410aa36e22dad95d7a Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Fri, 17 Apr 2009 12:40:52 +0200 Subject: Initial import of kinetic-animations branch from the old kinetic repository to the new repository --- .gitignore | 174 + .hgignore | 133 + FAQ | 18 + LGPL_EXCEPTION.TXT | 3 + LICENSE.GPL3 | 696 + LICENSE.LGPL | 514 + LICENSE.PREVIEW.COMMERCIAL | 642 + bin/findtr | 189 + bin/setcepaths.bat | 113 + bin/snapshot | 333 + bin/syncqt | 1051 + bin/syncqt.bat | 2 + config.tests/mac/crc.test | 71 + config.tests/mac/crc/crc.pro | 2 + config.tests/mac/crc/main.cpp | 67 + config.tests/mac/dwarf2.test | 42 + config.tests/mac/xarch.test | 26 + config.tests/mac/xcodeversion.cpp | 58 + config.tests/qws/ahi/ahi.cpp | 9 + config.tests/qws/ahi/ahi.pro | 3 + config.tests/qws/directfb/directfb.cpp | 9 + config.tests/qws/directfb/directfb.pro | 5 + config.tests/qws/sound/sound.cpp | 8 + config.tests/qws/sound/sound.pro | 2 + config.tests/qws/svgalib/svgalib.cpp | 10 + config.tests/qws/svgalib/svgalib.pro | 3 + config.tests/unix/3dnow/3dnow.cpp | 10 + config.tests/unix/3dnow/3dnow.pro | 3 + config.tests/unix/bsymbolic_functions.test | 21 + config.tests/unix/clock-gettime/clock-gettime.cpp | 16 + config.tests/unix/clock-gettime/clock-gettime.pri | 2 + config.tests/unix/clock-gettime/clock-gettime.pro | 4 + .../unix/clock-monotonic/clock-monotonic.cpp | 16 + .../unix/clock-monotonic/clock-monotonic.pro | 4 + config.tests/unix/compile.test | 73 + config.tests/unix/cups/cups.cpp | 8 + config.tests/unix/cups/cups.pro | 4 + config.tests/unix/db2/db2.cpp | 7 + config.tests/unix/db2/db2.pro | 4 + config.tests/unix/dbus/dbus.cpp | 12 + config.tests/unix/dbus/dbus.pro | 3 + config.tests/unix/doubleformat.test | 63 + .../unix/doubleformat/doubleformattest.cpp | 25 + .../unix/doubleformat/doubleformattest.pro | 3 + config.tests/unix/endian.test | 55 + config.tests/unix/endian/endiantest.cpp | 15 + config.tests/unix/endian/endiantest.pro | 3 + config.tests/unix/floatmath/floatmath.cpp | 17 + config.tests/unix/floatmath/floatmath.pro | 3 + config.tests/unix/freetype/freetype.cpp | 13 + config.tests/unix/freetype/freetype.pri | 9 + config.tests/unix/freetype/freetype.pro | 5 + config.tests/unix/fvisibility.test | 54 + config.tests/unix/getaddrinfo/getaddrinfo.pro | 4 + config.tests/unix/getaddrinfo/getaddrinfotest.cpp | 16 + config.tests/unix/getifaddrs/getifaddrs.cpp | 19 + config.tests/unix/getifaddrs/getifaddrs.pro | 5 + config.tests/unix/glib/glib.cpp | 16 + config.tests/unix/glib/glib.pro | 2 + config.tests/unix/gnu-libiconv/gnu-libiconv.cpp | 19 + config.tests/unix/gnu-libiconv/gnu-libiconv.pro | 4 + config.tests/unix/gstreamer/gstreamer.cpp | 14 + config.tests/unix/gstreamer/gstreamer.pro | 3 + config.tests/unix/ibase/ibase.cpp | 6 + config.tests/unix/ibase/ibase.pro | 4 + config.tests/unix/iconv/iconv.cpp | 19 + config.tests/unix/iconv/iconv.pro | 3 + config.tests/unix/inotify/inotify.pro | 3 + config.tests/unix/inotify/inotifytest.cpp | 9 + config.tests/unix/ipv6/ipv6.pro | 3 + config.tests/unix/ipv6/ipv6test.cpp | 23 + config.tests/unix/ipv6ifname/ipv6ifname.cpp | 18 + config.tests/unix/ipv6ifname/ipv6ifname.pro | 5 + config.tests/unix/iwmmxt/iwmmxt.cpp | 7 + config.tests/unix/iwmmxt/iwmmxt.pro | 3 + config.tests/unix/largefile/largefile.pro | 3 + config.tests/unix/largefile/largefiletest.cpp | 32 + config.tests/unix/libjpeg/libjpeg.cpp | 12 + config.tests/unix/libjpeg/libjpeg.pro | 4 + config.tests/unix/libmng/libmng.cpp | 13 + config.tests/unix/libmng/libmng.pro | 4 + config.tests/unix/libpng/libpng.cpp | 12 + config.tests/unix/libpng/libpng.pro | 4 + config.tests/unix/libtiff/libtiff.cpp | 19 + config.tests/unix/libtiff/libtiff.pro | 4 + config.tests/unix/makeabs | 19 + config.tests/unix/mmx/mmx.cpp | 10 + config.tests/unix/mmx/mmx.pro | 3 + config.tests/unix/mremap/mremap.cpp | 10 + config.tests/unix/mremap/mremap.pro | 3 + config.tests/unix/mysql/mysql.cpp | 6 + config.tests/unix/mysql/mysql.pro | 4 + config.tests/unix/mysql_r/mysql_r.pro | 4 + config.tests/unix/nis/nis.cpp | 11 + config.tests/unix/nis/nis.pro | 5 + config.tests/unix/objcopy.test | 29 + config.tests/unix/oci/oci.cpp | 6 + config.tests/unix/oci/oci.pro | 4 + config.tests/unix/odbc/odbc.cpp | 7 + config.tests/unix/odbc/odbc.pro | 4 + config.tests/unix/opengles1/opengles1.cpp | 12 + config.tests/unix/opengles1/opengles1.pro | 9 + config.tests/unix/opengles1cl/opengles1cl.cpp | 12 + config.tests/unix/opengles1cl/opengles1cl.pro | 9 + config.tests/unix/opengles2/opengles2.cpp | 11 + config.tests/unix/opengles2/opengles2.pro | 9 + config.tests/unix/openssl/openssl.cpp | 9 + config.tests/unix/openssl/openssl.pri | 9 + config.tests/unix/openssl/openssl.pro | 4 + config.tests/unix/padstring | 22 + config.tests/unix/precomp.test | 54 + config.tests/unix/psql/psql.cpp | 8 + config.tests/unix/psql/psql.pro | 4 + config.tests/unix/ptrsize.test | 32 + config.tests/unix/ptrsize/ptrsizetest.cpp | 20 + config.tests/unix/ptrsize/ptrsizetest.pro | 3 + config.tests/unix/sqlite/sqlite.cpp | 6 + config.tests/unix/sqlite/sqlite.pro | 3 + config.tests/unix/sqlite2/sqlite2.cpp | 6 + config.tests/unix/sqlite2/sqlite2.pro | 4 + config.tests/unix/sse/sse.cpp | 11 + config.tests/unix/sse/sse.pro | 3 + config.tests/unix/sse2/sse2.cpp | 11 + config.tests/unix/sse2/sse2.pro | 3 + config.tests/unix/stdint/main.cpp | 8 + config.tests/unix/stdint/stdint.pro | 4 + config.tests/unix/stl/stl.pro | 3 + config.tests/unix/stl/stltest.cpp | 68 + config.tests/unix/tds/tds.cpp | 7 + config.tests/unix/tds/tds.pro | 4 + config.tests/unix/tslib/tslib.cpp | 7 + config.tests/unix/tslib/tslib.pro | 3 + config.tests/unix/which.test | 39 + config.tests/unix/zlib/zlib.cpp | 13 + config.tests/unix/zlib/zlib.pro | 4 + config.tests/x11/fontconfig/fontconfig.cpp | 20 + config.tests/x11/fontconfig/fontconfig.pro | 5 + config.tests/x11/glxfbconfig/glxfbconfig.cpp | 10 + config.tests/x11/glxfbconfig/glxfbconfig.pro | 10 + config.tests/x11/mitshm/mitshm.cpp | 22 + config.tests/x11/mitshm/mitshm.pro | 5 + config.tests/x11/notype.test | 49 + config.tests/x11/notype/notypetest.cpp | 11 + config.tests/x11/notype/notypetest.pro | 5 + config.tests/x11/opengl/opengl.cpp | 13 + config.tests/x11/opengl/opengl.pro | 10 + config.tests/x11/sm/sm.cpp | 8 + config.tests/x11/sm/sm.pro | 4 + config.tests/x11/xcursor/xcursor.cpp | 25 + config.tests/x11/xcursor/xcursor.pro | 4 + config.tests/x11/xfixes/xfixes.cpp | 14 + config.tests/x11/xfixes/xfixes.pro | 3 + config.tests/x11/xinerama/xinerama.cpp | 9 + config.tests/x11/xinerama/xinerama.pro | 4 + config.tests/x11/xinput/xinput.cpp | 18 + config.tests/x11/xinput/xinput.pro | 6 + config.tests/x11/xkb/xkb.cpp | 30 + config.tests/x11/xkb/xkb.pro | 3 + config.tests/x11/xrandr/xrandr.cpp | 13 + config.tests/x11/xrandr/xrandr.pro | 4 + config.tests/x11/xrender/xrender.cpp | 13 + config.tests/x11/xrender/xrender.pro | 4 + config.tests/x11/xshape/xshape.cpp | 10 + config.tests/x11/xshape/xshape.pro | 3 + configure | 7258 ++ configure.exe | Bin 0 -> 1939968 bytes demos/README | 39 + demos/affine/affine.pro | 23 + demos/affine/affine.qrc | 7 + demos/affine/bg1.jpg | Bin 0 -> 23771 bytes demos/affine/main.cpp | 63 + demos/affine/xform.cpp | 902 + demos/affine/xform.h | 141 + demos/affine/xform.html | 23 + demos/arthurplugin/arthur_plugin.qrc | 7 + demos/arthurplugin/arthurplugin.pro | 51 + demos/arthurplugin/bg1.jpg | Bin 0 -> 23771 bytes demos/arthurplugin/flower.jpg | Bin 0 -> 49616 bytes demos/arthurplugin/flower_alpha.jpg | Bin 0 -> 67326 bytes demos/arthurplugin/plugin.cpp | 262 + demos/books/bookdelegate.cpp | 126 + demos/books/bookdelegate.h | 73 + demos/books/books.pro | 21 + demos/books/books.qrc | 5 + demos/books/bookwindow.cpp | 121 + demos/books/bookwindow.h | 64 + demos/books/bookwindow.ui | 149 + demos/books/images/star.png | Bin 0 -> 782 bytes demos/books/initdb.h | 125 + demos/books/main.cpp | 56 + demos/boxes/3rdparty/fbm.c | 207 + demos/boxes/3rdparty/fbm.h | 40 + demos/boxes/basic.fsh | 73 + demos/boxes/basic.vsh | 61 + demos/boxes/boxes.pro | 50 + demos/boxes/boxes.qrc | 25 + demos/boxes/cubemap_negx.jpg | Bin 0 -> 41060 bytes demos/boxes/cubemap_negy.jpg | Bin 0 -> 15520 bytes demos/boxes/cubemap_negz.jpg | Bin 0 -> 68911 bytes demos/boxes/cubemap_posx.jpg | Bin 0 -> 74915 bytes demos/boxes/cubemap_posy.jpg | Bin 0 -> 24193 bytes demos/boxes/cubemap_posz.jpg | Bin 0 -> 57881 bytes demos/boxes/dotted.fsh | 66 + demos/boxes/fresnel.fsh | 79 + demos/boxes/glass.fsh | 76 + demos/boxes/glbuffers.cpp | 390 + demos/boxes/glbuffers.h | 362 + demos/boxes/glextensions.cpp | 135 + demos/boxes/glextensions.h | 284 + demos/boxes/glshaders.cpp | 266 + demos/boxes/glshaders.h | 108 + demos/boxes/gltrianglemesh.h | 91 + demos/boxes/granite.fsh | 76 + demos/boxes/main.cpp | 149 + demos/boxes/marble.fsh | 71 + demos/boxes/parameters.par | 5 + demos/boxes/qt-logo.jpg | Bin 0 -> 40886 bytes demos/boxes/qt-logo.png | Bin 0 -> 13923 bytes demos/boxes/qtbox.cpp | 469 + demos/boxes/qtbox.h | 116 + demos/boxes/reflection.fsh | 54 + demos/boxes/refraction.fsh | 70 + demos/boxes/roundedbox.cpp | 160 + demos/boxes/roundedbox.h | 71 + demos/boxes/scene.cpp | 1057 + demos/boxes/scene.h | 243 + demos/boxes/smiley.png | Bin 0 -> 14508 bytes demos/boxes/square.jpg | Bin 0 -> 14542 bytes demos/boxes/trackball.cpp | 158 + demos/boxes/trackball.h | 78 + demos/boxes/vector.h | 602 + demos/boxes/wood.fsh | 70 + demos/browser/Info_mac.plist | 43 + demos/browser/addbookmarkdialog.ui | 98 + demos/browser/autosaver.cpp | 94 + demos/browser/autosaver.h | 76 + demos/browser/bookmarks.cpp | 987 + demos/browser/bookmarks.h | 310 + demos/browser/bookmarks.ui | 106 + demos/browser/browser.icns | Bin 0 -> 50218 bytes demos/browser/browser.ico | Bin 0 -> 15374 bytes demos/browser/browser.pro | 91 + demos/browser/browser.rc | 2 + demos/browser/browserapplication.cpp | 456 + demos/browser/browserapplication.h | 119 + demos/browser/browsermainwindow.cpp | 991 + demos/browser/browsermainwindow.h | 169 + demos/browser/chasewidget.cpp | 142 + demos/browser/chasewidget.h | 85 + demos/browser/cookiejar.cpp | 733 + demos/browser/cookiejar.h | 204 + demos/browser/cookies.ui | 106 + demos/browser/cookiesexceptions.ui | 184 + demos/browser/data/addtab.png | Bin 0 -> 469 bytes demos/browser/data/browser.svg | 411 + demos/browser/data/closetab.png | Bin 0 -> 516 bytes demos/browser/data/data.qrc | 11 + demos/browser/data/defaultbookmarks.xbel | 40 + demos/browser/data/defaulticon.png | Bin 0 -> 1473 bytes demos/browser/data/history.png | Bin 0 -> 1527 bytes demos/browser/data/loading.gif | Bin 0 -> 847 bytes demos/browser/downloaditem.ui | 134 + demos/browser/downloadmanager.cpp | 579 + demos/browser/downloadmanager.h | 162 + demos/browser/downloads.ui | 83 + demos/browser/edittableview.cpp | 78 + demos/browser/edittableview.h | 61 + demos/browser/edittreeview.cpp | 77 + demos/browser/edittreeview.h | 61 + demos/browser/history.cpp | 1282 + demos/browser/history.h | 350 + demos/browser/history.ui | 106 + demos/browser/htmls/htmls.qrc | 5 + demos/browser/htmls/notfound.html | 63 + demos/browser/main.cpp | 53 + demos/browser/modelmenu.cpp | 227 + demos/browser/modelmenu.h | 105 + demos/browser/networkaccessmanager.cpp | 171 + demos/browser/networkaccessmanager.h | 68 + demos/browser/passworddialog.ui | 111 + demos/browser/proxy.ui | 104 + demos/browser/searchlineedit.cpp | 238 + demos/browser/searchlineedit.h | 103 + demos/browser/settings.cpp | 324 + demos/browser/settings.h | 74 + demos/browser/settings.ui | 614 + demos/browser/squeezelabel.cpp | 61 + demos/browser/squeezelabel.h | 60 + demos/browser/tabwidget.cpp | 830 + demos/browser/tabwidget.h | 224 + demos/browser/toolbarsearch.cpp | 161 + demos/browser/toolbarsearch.h | 84 + demos/browser/urllineedit.cpp | 340 + demos/browser/urllineedit.h | 115 + demos/browser/webview.cpp | 304 + demos/browser/webview.h | 119 + demos/browser/xbel.cpp | 320 + demos/browser/xbel.h | 113 + demos/chip/chip.cpp | 182 + demos/chip/chip.h | 68 + demos/chip/chip.pro | 19 + demos/chip/fileprint.png | Bin 0 -> 1456 bytes demos/chip/images.qrc | 10 + demos/chip/main.cpp | 57 + demos/chip/mainwindow.cpp | 109 + demos/chip/mainwindow.h | 68 + demos/chip/qt4logo.png | Bin 0 -> 48333 bytes demos/chip/rotateleft.png | Bin 0 -> 1754 bytes demos/chip/rotateright.png | Bin 0 -> 1732 bytes demos/chip/view.cpp | 234 + demos/chip/view.h | 84 + demos/chip/zoomin.png | Bin 0 -> 1622 bytes demos/chip/zoomout.png | Bin 0 -> 1601 bytes demos/composition/composition.cpp | 511 + demos/composition/composition.h | 190 + demos/composition/composition.html | 23 + demos/composition/composition.pro | 27 + demos/composition/composition.qrc | 8 + demos/composition/flower.jpg | Bin 0 -> 49616 bytes demos/composition/flower_alpha.jpg | Bin 0 -> 67326 bytes demos/composition/main.cpp | 62 + demos/deform/deform.pro | 19 + demos/deform/deform.qrc | 6 + demos/deform/main.cpp | 72 + demos/deform/pathdeform.cpp | 647 + demos/deform/pathdeform.h | 153 + demos/deform/pathdeform.html | 24 + demos/demos.pro | 73 + demos/embedded/embedded.pro | 13 + .../embeddedsvgviewer/embeddedsvgviewer.cpp | 181 + .../embedded/embeddedsvgviewer/embeddedsvgviewer.h | 87 + .../embeddedsvgviewer/embeddedsvgviewer.pro | 16 + .../embeddedsvgviewer/embeddedsvgviewer.qrc | 7 + demos/embedded/embeddedsvgviewer/files/default.svg | 86 + .../embeddedsvgviewer/files/v-slider-handle.svg | 100 + demos/embedded/embeddedsvgviewer/main.cpp | 68 + demos/embedded/embeddedsvgviewer/shapes.svg | 86 + demos/embedded/embeddedsvgviewer/spheres.svg | 81 + demos/embedded/fluidlauncher/config.xml | 26 + .../embedded/fluidlauncher/config_wince/config.xml | 13 + demos/embedded/fluidlauncher/demoapplication.cpp | 116 + demos/embedded/fluidlauncher/demoapplication.h | 82 + demos/embedded/fluidlauncher/fluidlauncher.cpp | 221 + demos/embedded/fluidlauncher/fluidlauncher.h | 81 + demos/embedded/fluidlauncher/fluidlauncher.pro | 56 + demos/embedded/fluidlauncher/main.cpp | 60 + demos/embedded/fluidlauncher/pictureflow.cpp | 1420 + demos/embedded/fluidlauncher/pictureflow.h | 237 + .../screenshots/concentriccircles.png | Bin 0 -> 29623 bytes .../embedded/fluidlauncher/screenshots/deform.png | Bin 0 -> 18393 bytes .../fluidlauncher/screenshots/elasticnodes.png | Bin 0 -> 13312 bytes .../screenshots/embeddedsvgviewer.png | Bin 0 -> 7482 bytes .../fluidlauncher/screenshots/mediaplayer.png | Bin 0 -> 7217 bytes .../fluidlauncher/screenshots/pathstroke.png | Bin 0 -> 14216 bytes .../fluidlauncher/screenshots/styledemo.png | Bin 0 -> 26891 bytes .../embedded/fluidlauncher/screenshots/wiggly.png | Bin 0 -> 6546 bytes demos/embedded/fluidlauncher/slides/demo_1.png | Bin 0 -> 23539 bytes demos/embedded/fluidlauncher/slides/demo_2.png | Bin 0 -> 11745 bytes demos/embedded/fluidlauncher/slides/demo_3.png | Bin 0 -> 19791 bytes demos/embedded/fluidlauncher/slides/demo_4.png | Bin 0 -> 5505 bytes demos/embedded/fluidlauncher/slides/demo_5.png | Bin 0 -> 15890 bytes demos/embedded/fluidlauncher/slides/demo_6.png | Bin 0 -> 14992 bytes demos/embedded/fluidlauncher/slideshow.cpp | 233 + demos/embedded/fluidlauncher/slideshow.h | 97 + demos/embedded/styledemo/files/add.png | Bin 0 -> 1474 bytes demos/embedded/styledemo/files/application.qss | 125 + demos/embedded/styledemo/files/blue.qss | 39 + demos/embedded/styledemo/files/khaki.qss | 100 + demos/embedded/styledemo/files/nature_1.jpg | Bin 0 -> 167443 bytes demos/embedded/styledemo/files/nostyle.qss | 0 demos/embedded/styledemo/files/remove.png | Bin 0 -> 865 bytes demos/embedded/styledemo/files/transparent.qss | 140 + demos/embedded/styledemo/main.cpp | 59 + demos/embedded/styledemo/styledemo.pro | 12 + demos/embedded/styledemo/styledemo.qrc | 13 + demos/embedded/styledemo/stylewidget.cpp | 112 + demos/embedded/styledemo/stylewidget.h | 65 + demos/embedded/styledemo/stylewidget.ui | 429 + demos/embeddeddialogs/No-Ones-Laughing-3.jpg | Bin 0 -> 30730 bytes demos/embeddeddialogs/customproxy.cpp | 163 + demos/embeddeddialogs/customproxy.h | 75 + demos/embeddeddialogs/embeddeddialog.cpp | 106 + demos/embeddeddialogs/embeddeddialog.h | 66 + demos/embeddeddialogs/embeddeddialog.ui | 87 + demos/embeddeddialogs/embeddeddialogs.pro | 17 + demos/embeddeddialogs/embeddeddialogs.qrc | 5 + demos/embeddeddialogs/main.cpp | 84 + demos/gradients/gradients.cpp | 516 + demos/gradients/gradients.h | 170 + demos/gradients/gradients.html | 31 + demos/gradients/gradients.pro | 18 + demos/gradients/gradients.qrc | 6 + demos/gradients/main.cpp | 61 + demos/interview/README | 2 + demos/interview/images/folder.png | Bin 0 -> 3910 bytes demos/interview/images/interview.png | Bin 0 -> 174 bytes demos/interview/images/services.png | Bin 0 -> 3749 bytes demos/interview/interview.pro | 18 + demos/interview/interview.qrc | 7 + demos/interview/main.cpp | 95 + demos/interview/model.cpp | 147 + demos/interview/model.h | 88 + demos/macmainwindow/macmainwindow.h | 137 + demos/macmainwindow/macmainwindow.mm | 347 + demos/macmainwindow/macmainwindow.pro | 23 + demos/macmainwindow/main.cpp | 66 + demos/mainwindow/colorswatch.cpp | 746 + demos/mainwindow/colorswatch.h | 136 + demos/mainwindow/main.cpp | 164 + demos/mainwindow/mainwindow.cpp | 510 + demos/mainwindow/mainwindow.h | 90 + demos/mainwindow/mainwindow.pro | 16 + demos/mainwindow/mainwindow.qrc | 8 + demos/mainwindow/qt.png | Bin 0 -> 2037 bytes demos/mainwindow/titlebarCenter.png | Bin 0 -> 146 bytes demos/mainwindow/titlebarLeft.png | Bin 0 -> 5148 bytes demos/mainwindow/titlebarRight.png | Bin 0 -> 2704 bytes demos/mainwindow/toolbar.cpp | 383 + demos/mainwindow/toolbar.h | 118 + demos/mediaplayer/images/screen.png | Bin 0 -> 4358 bytes demos/mediaplayer/main.cpp | 59 + demos/mediaplayer/mediaplayer.cpp | 840 + demos/mediaplayer/mediaplayer.h | 137 + demos/mediaplayer/mediaplayer.pro | 28 + demos/mediaplayer/mediaplayer.qrc | 5 + demos/mediaplayer/settings.ui | 464 + demos/pathstroke/main.cpp | 69 + demos/pathstroke/pathstroke.cpp | 599 + demos/pathstroke/pathstroke.h | 168 + demos/pathstroke/pathstroke.html | 20 + demos/pathstroke/pathstroke.pro | 20 + demos/pathstroke/pathstroke.qrc | 6 + demos/qtdemo/Info_mac.plist | 18 + demos/qtdemo/colors.cpp | 390 + demos/qtdemo/colors.h | 130 + demos/qtdemo/demoitem.cpp | 280 + demos/qtdemo/demoitem.h | 124 + demos/qtdemo/demoitemanimation.cpp | 219 + demos/qtdemo/demoitemanimation.h | 101 + demos/qtdemo/demoscene.cpp | 54 + demos/qtdemo/demoscene.h | 57 + demos/qtdemo/demotextitem.cpp | 123 + demos/qtdemo/demotextitem.h | 74 + demos/qtdemo/dockitem.cpp | 108 + demos/qtdemo/dockitem.h | 69 + demos/qtdemo/examplecontent.cpp | 158 + demos/qtdemo/examplecontent.h | 77 + demos/qtdemo/guide.cpp | 144 + demos/qtdemo/guide.h | 73 + demos/qtdemo/guidecircle.cpp | 88 + demos/qtdemo/guidecircle.h | 72 + demos/qtdemo/guideline.cpp | 81 + demos/qtdemo/guideline.h | 65 + demos/qtdemo/headingitem.cpp | 104 + demos/qtdemo/headingitem.h | 63 + demos/qtdemo/imageitem.cpp | 114 + demos/qtdemo/imageitem.h | 66 + demos/qtdemo/images/demobg.png | Bin 0 -> 20675 bytes demos/qtdemo/images/qtlogo_small.png | Bin 0 -> 3546 bytes demos/qtdemo/images/trolltech-logo.png | Bin 0 -> 23547 bytes demos/qtdemo/itemcircleanimation.cpp | 507 + demos/qtdemo/itemcircleanimation.h | 110 + demos/qtdemo/letteritem.cpp | 85 + demos/qtdemo/letteritem.h | 62 + demos/qtdemo/main.cpp | 74 + demos/qtdemo/mainwindow.cpp | 483 + demos/qtdemo/mainwindow.h | 109 + demos/qtdemo/menucontent.cpp | 140 + demos/qtdemo/menucontent.h | 77 + demos/qtdemo/menumanager.cpp | 876 + demos/qtdemo/menumanager.h | 134 + demos/qtdemo/qtdemo.icns | Bin 0 -> 129539 bytes demos/qtdemo/qtdemo.ico | Bin 0 -> 355574 bytes demos/qtdemo/qtdemo.pro | 72 + demos/qtdemo/qtdemo.qrc | 8 + demos/qtdemo/qtdemo.rc | 2 + demos/qtdemo/scanitem.cpp | 80 + demos/qtdemo/scanitem.h | 60 + demos/qtdemo/score.cpp | 149 + demos/qtdemo/score.h | 86 + demos/qtdemo/textbutton.cpp | 384 + demos/qtdemo/textbutton.h | 100 + demos/qtdemo/xml/examples.xml | 227 + demos/shared/arthurstyle.cpp | 452 + demos/shared/arthurstyle.h | 79 + demos/shared/arthurwidgets.cpp | 371 + demos/shared/arthurwidgets.h | 118 + demos/shared/hoverpoints.cpp | 333 + demos/shared/hoverpoints.h | 160 + demos/shared/images/bg_pattern.png | Bin 0 -> 104 bytes demos/shared/images/button_normal_cap_left.png | Bin 0 -> 654 bytes demos/shared/images/button_normal_cap_right.png | Bin 0 -> 674 bytes demos/shared/images/button_normal_stretch.png | Bin 0 -> 185 bytes demos/shared/images/button_pressed_cap_left.png | Bin 0 -> 710 bytes demos/shared/images/button_pressed_cap_right.png | Bin 0 -> 785 bytes demos/shared/images/button_pressed_stretch.png | Bin 0 -> 217 bytes demos/shared/images/curve_thing_edit-6.png | Bin 0 -> 58097 bytes demos/shared/images/frame_bottom.png | Bin 0 -> 166 bytes demos/shared/images/frame_bottomleft.png | Bin 0 -> 602 bytes demos/shared/images/frame_bottomright.png | Bin 0 -> 553 bytes demos/shared/images/frame_left.png | Bin 0 -> 182 bytes demos/shared/images/frame_right.png | Bin 0 -> 175 bytes demos/shared/images/frame_top.png | Bin 0 -> 188 bytes demos/shared/images/frame_topleft.png | Bin 0 -> 801 bytes demos/shared/images/frame_topright.png | Bin 0 -> 851 bytes demos/shared/images/groupframe_bottom_left.png | Bin 0 -> 397 bytes demos/shared/images/groupframe_bottom_right.png | Bin 0 -> 383 bytes demos/shared/images/groupframe_bottom_stretch.png | Bin 0 -> 141 bytes demos/shared/images/groupframe_left_stretch.png | Bin 0 -> 132 bytes demos/shared/images/groupframe_right_stretch.png | Bin 0 -> 113 bytes demos/shared/images/groupframe_top_stretch.png | Bin 0 -> 115 bytes demos/shared/images/groupframe_topleft.png | Bin 0 -> 412 bytes demos/shared/images/groupframe_topright.png | Bin 0 -> 449 bytes demos/shared/images/line_dash_dot.png | Bin 0 -> 151 bytes demos/shared/images/line_dash_dot_dot.png | Bin 0 -> 155 bytes demos/shared/images/line_dashed.png | Bin 0 -> 121 bytes demos/shared/images/line_dotted.png | Bin 0 -> 116 bytes demos/shared/images/line_solid.png | Bin 0 -> 110 bytes demos/shared/images/radiobutton-off.png | Bin 0 -> 442 bytes demos/shared/images/radiobutton-on.png | Bin 0 -> 474 bytes demos/shared/images/radiobutton_off.png | Bin 0 -> 442 bytes demos/shared/images/radiobutton_on.png | Bin 0 -> 499 bytes demos/shared/images/slider_bar.png | Bin 0 -> 748 bytes demos/shared/images/slider_thumb_off.png | Bin 0 -> 823 bytes demos/shared/images/slider_thumb_on.png | Bin 0 -> 798 bytes demos/shared/images/title_cap_left.png | Bin 0 -> 179 bytes demos/shared/images/title_cap_right.png | Bin 0 -> 184 bytes demos/shared/images/title_stretch.png | Bin 0 -> 106 bytes demos/shared/shared.pri | 20 + demos/shared/shared.pro | 33 + demos/shared/shared.qrc | 39 + demos/spreadsheet/images/interview.png | Bin 0 -> 174 bytes demos/spreadsheet/main.cpp | 55 + demos/spreadsheet/printview.cpp | 59 + demos/spreadsheet/printview.h | 60 + demos/spreadsheet/spreadsheet.cpp | 631 + demos/spreadsheet/spreadsheet.h | 124 + demos/spreadsheet/spreadsheet.pro | 33 + demos/spreadsheet/spreadsheet.qrc | 5 + demos/spreadsheet/spreadsheetdelegate.cpp | 114 + demos/spreadsheet/spreadsheetdelegate.h | 65 + demos/spreadsheet/spreadsheetitem.cpp | 167 + demos/spreadsheet/spreadsheetitem.h | 73 + demos/sqlbrowser/browser.cpp | 247 + demos/sqlbrowser/browser.h | 99 + demos/sqlbrowser/browserwidget.ui | 199 + demos/sqlbrowser/connectionwidget.cpp | 165 + demos/sqlbrowser/connectionwidget.h | 79 + demos/sqlbrowser/main.cpp | 91 + demos/sqlbrowser/qsqlconnectiondialog.cpp | 115 + demos/sqlbrowser/qsqlconnectiondialog.h | 74 + demos/sqlbrowser/qsqlconnectiondialog.ui | 224 + demos/sqlbrowser/sqlbrowser.pro | 23 + demos/textedit/example.html | 79 + demos/textedit/images/logo32.png | Bin 0 -> 1410 bytes demos/textedit/images/mac/editcopy.png | Bin 0 -> 1468 bytes demos/textedit/images/mac/editcut.png | Bin 0 -> 1512 bytes demos/textedit/images/mac/editpaste.png | Bin 0 -> 1906 bytes demos/textedit/images/mac/editredo.png | Bin 0 -> 1752 bytes demos/textedit/images/mac/editundo.png | Bin 0 -> 1746 bytes demos/textedit/images/mac/exportpdf.png | Bin 0 -> 1215 bytes demos/textedit/images/mac/filenew.png | Bin 0 -> 1172 bytes demos/textedit/images/mac/fileopen.png | Bin 0 -> 2168 bytes demos/textedit/images/mac/fileprint.png | Bin 0 -> 2087 bytes demos/textedit/images/mac/filesave.png | Bin 0 -> 1206 bytes demos/textedit/images/mac/textbold.png | Bin 0 -> 1611 bytes demos/textedit/images/mac/textcenter.png | Bin 0 -> 1404 bytes demos/textedit/images/mac/textitalic.png | Bin 0 -> 1164 bytes demos/textedit/images/mac/textjustify.png | Bin 0 -> 1257 bytes demos/textedit/images/mac/textleft.png | Bin 0 -> 1235 bytes demos/textedit/images/mac/textright.png | Bin 0 -> 1406 bytes demos/textedit/images/mac/textunder.png | Bin 0 -> 1183 bytes demos/textedit/images/mac/zoomin.png | Bin 0 -> 1696 bytes demos/textedit/images/mac/zoomout.png | Bin 0 -> 1662 bytes demos/textedit/images/win/editcopy.png | Bin 0 -> 1325 bytes demos/textedit/images/win/editcut.png | Bin 0 -> 1896 bytes demos/textedit/images/win/editpaste.png | Bin 0 -> 1482 bytes demos/textedit/images/win/editredo.png | Bin 0 -> 1787 bytes demos/textedit/images/win/editundo.png | Bin 0 -> 1768 bytes demos/textedit/images/win/exportpdf.png | Bin 0 -> 1059 bytes demos/textedit/images/win/filenew.png | Bin 0 -> 768 bytes demos/textedit/images/win/fileopen.png | Bin 0 -> 1662 bytes demos/textedit/images/win/fileprint.png | Bin 0 -> 1456 bytes demos/textedit/images/win/filesave.png | Bin 0 -> 1205 bytes demos/textedit/images/win/textbold.png | Bin 0 -> 1134 bytes demos/textedit/images/win/textcenter.png | Bin 0 -> 627 bytes demos/textedit/images/win/textitalic.png | Bin 0 -> 829 bytes demos/textedit/images/win/textjustify.png | Bin 0 -> 695 bytes demos/textedit/images/win/textleft.png | Bin 0 -> 673 bytes demos/textedit/images/win/textright.png | Bin 0 -> 677 bytes demos/textedit/images/win/textunder.png | Bin 0 -> 971 bytes demos/textedit/images/win/zoomin.png | Bin 0 -> 1208 bytes demos/textedit/images/win/zoomout.png | Bin 0 -> 1226 bytes demos/textedit/main.cpp | 54 + demos/textedit/textedit.cpp | 688 + demos/textedit/textedit.doc | 18 + demos/textedit/textedit.h | 129 + demos/textedit/textedit.pro | 21 + demos/textedit/textedit.qrc | 44 + demos/undo/commands.cpp | 180 + demos/undo/commands.h | 112 + demos/undo/document.cpp | 445 + demos/undo/document.h | 125 + demos/undo/icons/background.png | Bin 0 -> 93 bytes demos/undo/icons/blue.png | Bin 0 -> 1659 bytes demos/undo/icons/circle.png | Bin 0 -> 1359 bytes demos/undo/icons/exit.png | Bin 0 -> 1731 bytes demos/undo/icons/fileclose.png | Bin 0 -> 1121 bytes demos/undo/icons/filenew.png | Bin 0 -> 1266 bytes demos/undo/icons/fileopen.png | Bin 0 -> 1771 bytes demos/undo/icons/filesave.png | Bin 0 -> 1022 bytes demos/undo/icons/green.png | Bin 0 -> 1766 bytes demos/undo/icons/ok.png | Bin 0 -> 979 bytes demos/undo/icons/rectangle.png | Bin 0 -> 690 bytes demos/undo/icons/red.png | Bin 0 -> 1653 bytes demos/undo/icons/redo.png | Bin 0 -> 985 bytes demos/undo/icons/remove.png | Bin 0 -> 1833 bytes demos/undo/icons/triangle.png | Bin 0 -> 850 bytes demos/undo/icons/undo.png | Bin 0 -> 962 bytes demos/undo/main.cpp | 56 + demos/undo/mainwindow.cpp | 446 + demos/undo/mainwindow.h | 87 + demos/undo/mainwindow.ui | 322 + demos/undo/undo.pro | 17 + demos/undo/undo.qrc | 20 + dist/README | 134 + dist/changes-0.92 | 101 + dist/changes-0.93 | 74 + dist/changes-0.94 | 33 + dist/changes-0.95 | 54 + dist/changes-0.96 | 263 + dist/changes-0.98 | 98 + dist/changes-0.99 | 60 + dist/changes-1.0 | 62 + dist/changes-1.1 | 110 + dist/changes-1.2 | 119 + dist/changes-1.30 | 278 + dist/changes-1.31 | 34 + dist/changes-1.39-19980327 | 963 + dist/changes-1.39-19980406 | 286 + dist/changes-1.39-19980414 | 173 + dist/changes-1.39-19980506 | 555 + dist/changes-1.39-19980529 | 232 + dist/changes-1.39-19980611 | 194 + dist/changes-1.39-19980616 | 810 + dist/changes-1.39-19980623 | 545 + dist/changes-1.39-19980625 | 119 + dist/changes-1.39-19980706 | 320 + dist/changes-1.40 | 291 + dist/changes-1.41 | 76 + dist/changes-1.42 | 71 + dist/changes-2.0.1 | 101 + dist/changes-2.00 | 151 + dist/changes-2.00beta1 | 61 + dist/changes-2.00beta2 | 85 + dist/changes-2.00beta3 | 35 + dist/changes-2.1.0 | 314 + dist/changes-2.1.1 | 71 + dist/changes-2.2.0 | 223 + dist/changes-2.2.1 | 160 + dist/changes-2.2.2 | 154 + dist/changes-3.0.0 | 720 + dist/changes-3.0.0-beta1 | 1239 + dist/changes-3.0.0-beta2 | 363 + dist/changes-3.0.0-beta3 | 278 + dist/changes-3.0.0-beta4 | 688 + dist/changes-3.0.0-beta5 | 316 + dist/changes-3.0.0-beta6 | 272 + dist/changes-3.0.1 | 540 + dist/changes-3.0.2 | 325 + dist/changes-3.0.4 | 214 + dist/changes-3.0.7 | 375 + dist/changes-3.1.0 | 334 + dist/changes-3.1.0-b1 | 692 + dist/changes-3.1.0-b2 | 220 + dist/changes-3.1.1 | 212 + dist/changes-3.1.2 | 631 + dist/changes-3.2.0 | 327 + dist/changes-3.2.0-b1 | 296 + dist/changes-3.2.0-b2 | 121 + dist/changes-3.2.1 | 143 + dist/changes-3.2.2 | 155 + dist/changes-3.2.3 | 150 + dist/changes-3.3.0 | 313 + dist/changes-3.3.0-b1 | 284 + dist/changes-3.3.1 | 141 + dist/changes-3.3.2 | 390 + dist/changes-3.3.3 | 442 + dist/changes-3.3.5 | 617 + dist/changes-3.3.6 | 27 + dist/changes-3.3.7 | 12 + dist/changes-3.3.8 | 273 + dist/changes-4.0.1 | 786 + dist/changes-4.1.0 | 573 + dist/changes-4.1.0-rc1 | 554 + dist/changes-4.1.1 | 693 + dist/changes-4.1.11 | 41 + dist/changes-4.1.3 | 879 + dist/changes-4.1.4 | 125 + dist/changes-4.1.5 | 14 + dist/changes-4.2.0 | 2506 + dist/changes-4.2.0-tp1 | 20 + dist/changes-4.2.1 | 14 + dist/changes-4.2.2 | 827 + dist/changes-4.2.3 | 373 + dist/changes-4.2CEping | 73 + dist/changes-4.3.0 | 2445 + dist/changes-4.3.1 | 519 + dist/changes-4.3.2 | 604 + dist/changes-4.3.3 | 358 + dist/changes-4.3.4 | 112 + dist/changes-4.3.5 | 109 + dist/changes-4.3CE-tp1 | 53 + dist/changes-4.3CEconan | 72 + dist/changes-4.3CEkicker | 53 + dist/changes-4.3CEsweetandsour | 43 + dist/changes-4.4.0 | 2419 + dist/changes-4.4.1 | 619 + dist/changes-4.4.2 | 512 + dist/changes-4.4.3 | 31 + dist/changes-4.5.0 | 1496 + doc/doc.pri | 72 + doc/src/3rdparty.qdoc | 272 + doc/src/accelerators.qdoc | 137 + doc/src/accessible.qdoc | 600 + doc/src/activeqt-dumpcpp.qdoc | 143 + doc/src/activeqt-dumpdoc.qdoc | 83 + doc/src/activeqt-idc.qdoc | 82 + doc/src/activeqt-testcon.qdoc | 77 + doc/src/activeqt.qdoc | 88 + doc/src/animation.qdoc | 365 + doc/src/annotated.qdoc | 62 + doc/src/appicon.qdoc | 226 + doc/src/assistant-manual.qdoc | 810 + doc/src/atomic-operations.qdoc | 89 + doc/src/bughowto.qdoc | 71 + doc/src/classes.qdoc | 68 + doc/src/codecs.qdoc | 534 + doc/src/commercialeditions.qdoc | 135 + doc/src/compatclasses.qdoc | 54 + doc/src/containers.qdoc | 775 + doc/src/coordsys.qdoc | 486 + doc/src/credits.qdoc | 348 + doc/src/custom-types.qdoc | 64 + doc/src/datastreamformat.qdoc | 312 + doc/src/debug.qdoc | 253 + doc/src/demos.qdoc | 151 + doc/src/demos/affine.qdoc | 62 + doc/src/demos/arthurplugin.qdoc | 56 + doc/src/demos/books.qdoc | 60 + doc/src/demos/boxes.qdoc | 63 + doc/src/demos/browser.qdoc | 53 + doc/src/demos/chip.qdoc | 52 + doc/src/demos/composition.qdoc | 58 + doc/src/demos/deform.qdoc | 65 + doc/src/demos/embeddeddialogs.qdoc | 51 + doc/src/demos/gradients.qdoc | 69 + doc/src/demos/interview.qdoc | 51 + doc/src/demos/macmainwindow.qdoc | 56 + doc/src/demos/mainwindow.qdoc | 50 + doc/src/demos/mediaplayer.qdoc | 50 + doc/src/demos/pathstroke.qdoc | 61 + doc/src/demos/spreadsheet.qdoc | 51 + doc/src/demos/sqlbrowser.qdoc | 50 + doc/src/demos/textedit.qdoc | 50 + doc/src/demos/undo.qdoc | 57 + doc/src/deployment.qdoc | 1451 + doc/src/designer-manual.qdoc | 2761 + doc/src/desktop-integration.qdoc | 90 + doc/src/developing-on-mac.qdoc | 254 + doc/src/diagrams/arthurplugin-demo.png | Bin 0 -> 60226 bytes doc/src/diagrams/arthurplugin-demo.ui | 58 + .../assistant-manual/assistant-assistant.png | Bin 0 -> 119764 bytes .../assistant-manual/assistant-assistant.zip | Bin 0 -> 71811 bytes .../assistant-manual/assistant-temp-toolbar.png | Bin 0 -> 12602 bytes doc/src/diagrams/boat.png | Bin 0 -> 2506 bytes doc/src/diagrams/boat.sk | 65 + doc/src/diagrams/car.png | Bin 0 -> 2030 bytes doc/src/diagrams/car.sk | 69 + doc/src/diagrams/chip-demo.png | Bin 0 -> 145269 bytes doc/src/diagrams/chip-demo.zip | Bin 0 -> 204025 bytes doc/src/diagrams/cleanlooks-dialogbuttonbox.png | Bin 0 -> 1462 bytes doc/src/diagrams/clock.png | Bin 0 -> 2901 bytes doc/src/diagrams/completer-example-shaped.png | Bin 0 -> 16734 bytes doc/src/diagrams/complexwizard-flow.sk | 62 + doc/src/diagrams/composition-demo.png | Bin 0 -> 268282 bytes .../diagrams/contentspropagation/background.png | Bin 0 -> 530823 bytes doc/src/diagrams/contentspropagation/base.png | Bin 0 -> 173 bytes .../diagrams/contentspropagation/customwidget.py | 135 + .../contentspropagation/lightbackground.png | Bin 0 -> 528522 bytes .../contentspropagation/standardwidgets.py | 144 + .../diagrams/coordinatesystem-line-antialias.sk | 310 + doc/src/diagrams/coordinatesystem-line-raster.sk | 301 + doc/src/diagrams/coordinatesystem-line.sk | 297 + .../diagrams/coordinatesystem-rect-antialias.sk | 334 + doc/src/diagrams/coordinatesystem-rect-raster.sk | 314 + doc/src/diagrams/coordinatesystem-rect.sk | 305 + .../diagrams/coordinatesystem-transformations.sk | 121 + doc/src/diagrams/customcompleter-example.png | Bin 0 -> 11636 bytes doc/src/diagrams/customcompleter-example.zip | Bin 0 -> 20617 bytes doc/src/diagrams/customwidgetplugin-example.png | Bin 0 -> 1919 bytes doc/src/diagrams/datetimewidgets.ui | 116 + doc/src/diagrams/datetimewidgets.zip | Bin 0 -> 8503 bytes doc/src/diagrams/dbus-chat-example.png | Bin 0 -> 23785 bytes doc/src/diagrams/dependencies.lout | 106 + doc/src/diagrams/designer-adding-actions.txt | 15 + doc/src/diagrams/designer-adding-dockwidget.txt | 8 + doc/src/diagrams/designer-adding-dockwidget1.png | Bin 0 -> 8897 bytes doc/src/diagrams/designer-adding-dockwidget1.zip | Bin 0 -> 12252 bytes .../diagrams/designer-adding-dynamic-property.png | Bin 0 -> 9568 bytes doc/src/diagrams/designer-adding-menu-action1.png | Bin 0 -> 16173 bytes doc/src/diagrams/designer-adding-menu-action1.zip | Bin 0 -> 19245 bytes doc/src/diagrams/designer-adding-menu-action2.zip | Bin 0 -> 19587 bytes .../diagrams/designer-adding-toolbar-action1.png | Bin 0 -> 14911 bytes .../diagrams/designer-adding-toolbar-action1.zip | Bin 0 -> 17515 bytes .../diagrams/designer-adding-toolbar-action2.zip | Bin 0 -> 15433 bytes .../designer-creating-dynamic-property.png | Bin 0 -> 7561 bytes doc/src/diagrams/designer-creating-menu-entry1.png | Bin 0 -> 9618 bytes doc/src/diagrams/designer-creating-menu-entry1.zip | Bin 0 -> 11753 bytes doc/src/diagrams/designer-creating-menu-entry2.png | Bin 0 -> 9090 bytes doc/src/diagrams/designer-creating-menu-entry2.zip | Bin 0 -> 11709 bytes doc/src/diagrams/designer-creating-menu-entry3.png | Bin 0 -> 5435 bytes doc/src/diagrams/designer-creating-menu-entry3.zip | Bin 0 -> 11520 bytes doc/src/diagrams/designer-creating-menu-entry4.png | Bin 0 -> 10141 bytes doc/src/diagrams/designer-creating-menu-entry4.zip | Bin 0 -> 12473 bytes doc/src/diagrams/designer-creating-menu.txt | 49 + doc/src/diagrams/designer-creating-menu1.png | Bin 0 -> 4733 bytes doc/src/diagrams/designer-creating-menu1.zip | Bin 0 -> 5279 bytes doc/src/diagrams/designer-creating-menu2.png | Bin 0 -> 4296 bytes doc/src/diagrams/designer-creating-menu2.zip | Bin 0 -> 5295 bytes doc/src/diagrams/designer-creating-menu3.png | Bin 0 -> 5053 bytes doc/src/diagrams/designer-creating-menu3.zip | Bin 0 -> 6197 bytes doc/src/diagrams/designer-creating-menu4.png | Bin 0 -> 5274 bytes doc/src/diagrams/designer-creating-menubar.png | Bin 0 -> 7024 bytes doc/src/diagrams/designer-creating-menubar.zip | Bin 0 -> 10485 bytes doc/src/diagrams/designer-edit-resource.zip | Bin 0 -> 11195 bytes doc/src/diagrams/designer-find-icon.zip | Bin 0 -> 47820 bytes .../diagrams/designer-form-layoutfunction-crop.png | Bin 0 -> 5132 bytes doc/src/diagrams/designer-form-layoutfunction.png | Bin 0 -> 15912 bytes doc/src/diagrams/designer-form-layoutfunction.zip | Bin 0 -> 21179 bytes doc/src/diagrams/designer-main-window.zip | Bin 0 -> 35959 bytes doc/src/diagrams/designer-mainwindow-actions.ui | 88 + doc/src/diagrams/designer-palette-brush-editor.zip | Bin 0 -> 17703 bytes doc/src/diagrams/designer-palette-editor.zip | Bin 0 -> 30588 bytes .../diagrams/designer-palette-gradient-editor.zip | Bin 0 -> 55456 bytes .../diagrams/designer-palette-pattern-editor.zip | Bin 0 -> 15845 bytes doc/src/diagrams/designer-resource-editor.zip | Bin 0 -> 12287 bytes doc/src/diagrams/designer-widget-box.zip | Bin 0 -> 30530 bytes doc/src/diagrams/diagrams.txt | 16 + doc/src/diagrams/dockwidget-cross.sk | 110 + doc/src/diagrams/dockwidget-neighbors.sk | 136 + doc/src/diagrams/fontsampler-example.zip | Bin 0 -> 36245 bytes doc/src/diagrams/framebufferobject-example.png | Bin 0 -> 256882 bytes doc/src/diagrams/framebufferobject2-example.png | Bin 0 -> 90661 bytes doc/src/diagrams/ftp-example.zip | Bin 0 -> 14383 bytes .../diagrams/gallery-images/cde-calendarwidget.png | Bin 0 -> 9161 bytes doc/src/diagrams/gallery-images/cde-checkbox.png | Bin 0 -> 825 bytes doc/src/diagrams/gallery-images/cde-combobox.png | Bin 0 -> 1269 bytes doc/src/diagrams/gallery-images/cde-dateedit.png | Bin 0 -> 702 bytes .../diagrams/gallery-images/cde-datetimeedit.png | Bin 0 -> 1132 bytes doc/src/diagrams/gallery-images/cde-dial.png | Bin 0 -> 3184 bytes .../diagrams/gallery-images/cde-doublespinbox.png | Bin 0 -> 530 bytes .../diagrams/gallery-images/cde-fontcombobox.png | Bin 0 -> 1040 bytes doc/src/diagrams/gallery-images/cde-frame.png | Bin 0 -> 2298 bytes doc/src/diagrams/gallery-images/cde-groupbox.png | Bin 0 -> 1839 bytes .../gallery-images/cde-horizontalscrollbar.png | Bin 0 -> 194 bytes doc/src/diagrams/gallery-images/cde-label.png | Bin 0 -> 606 bytes doc/src/diagrams/gallery-images/cde-lcdnumber.png | Bin 0 -> 161 bytes doc/src/diagrams/gallery-images/cde-lineedit.png | Bin 0 -> 830 bytes doc/src/diagrams/gallery-images/cde-listview.png | Bin 0 -> 2906 bytes .../diagrams/gallery-images/cde-progressbar.png | Bin 0 -> 517 bytes doc/src/diagrams/gallery-images/cde-pushbutton.png | Bin 0 -> 639 bytes .../diagrams/gallery-images/cde-radiobutton.png | Bin 0 -> 1045 bytes doc/src/diagrams/gallery-images/cde-slider.png | Bin 0 -> 136 bytes doc/src/diagrams/gallery-images/cde-spinbox.png | Bin 0 -> 407 bytes doc/src/diagrams/gallery-images/cde-tableview.png | Bin 0 -> 1872 bytes doc/src/diagrams/gallery-images/cde-tabwidget.png | Bin 0 -> 1820 bytes doc/src/diagrams/gallery-images/cde-textedit.png | Bin 0 -> 3442 bytes doc/src/diagrams/gallery-images/cde-timeedit.png | Bin 0 -> 702 bytes doc/src/diagrams/gallery-images/cde-toolbox.png | Bin 0 -> 1217 bytes doc/src/diagrams/gallery-images/cde-toolbutton.png | Bin 0 -> 706 bytes doc/src/diagrams/gallery-images/cde-treeview.png | Bin 0 -> 5320 bytes .../gallery-images/cleanlooks-calendarwidget.png | Bin 0 -> 8767 bytes .../gallery-images/cleanlooks-checkbox.png | Bin 0 -> 875 bytes .../gallery-images/cleanlooks-combobox.png | Bin 0 -> 1475 bytes .../gallery-images/cleanlooks-dateedit.png | Bin 0 -> 810 bytes .../gallery-images/cleanlooks-datetimeedit.png | Bin 0 -> 1257 bytes .../diagrams/gallery-images/cleanlooks-dial.png | Bin 0 -> 2795 bytes .../gallery-images/cleanlooks-doublespinbox.png | Bin 0 -> 610 bytes .../gallery-images/cleanlooks-fontcombobox.png | Bin 0 -> 1249 bytes .../diagrams/gallery-images/cleanlooks-frame.png | Bin 0 -> 2313 bytes .../gallery-images/cleanlooks-groupbox.png | Bin 0 -> 1924 bytes .../cleanlooks-horizontalscrollbar.png | Bin 0 -> 389 bytes .../diagrams/gallery-images/cleanlooks-label.png | Bin 0 -> 606 bytes .../gallery-images/cleanlooks-lcdnumber.png | Bin 0 -> 161 bytes .../gallery-images/cleanlooks-lineedit.png | Bin 0 -> 888 bytes .../gallery-images/cleanlooks-listview.png | Bin 0 -> 6221 bytes .../gallery-images/cleanlooks-progressbar.png | Bin 0 -> 780 bytes .../gallery-images/cleanlooks-pushbutton.png | Bin 0 -> 903 bytes .../gallery-images/cleanlooks-radiobutton.png | Bin 0 -> 1208 bytes .../diagrams/gallery-images/cleanlooks-slider.png | Bin 0 -> 246 bytes .../diagrams/gallery-images/cleanlooks-spinbox.png | Bin 0 -> 485 bytes .../gallery-images/cleanlooks-tableview.png | Bin 0 -> 2225 bytes .../gallery-images/cleanlooks-tabwidget.png | Bin 0 -> 3852 bytes .../gallery-images/cleanlooks-textedit.png | Bin 0 -> 3517 bytes .../gallery-images/cleanlooks-timeedit.png | Bin 0 -> 814 bytes .../diagrams/gallery-images/cleanlooks-toolbox.png | Bin 0 -> 833 bytes .../gallery-images/cleanlooks-toolbutton.png | Bin 0 -> 1039 bytes .../gallery-images/cleanlooks-treeview.png | Bin 0 -> 5686 bytes .../gallery-images/designer-creating-menubar.png | Bin 0 -> 7687 bytes .../diagrams/gallery-images/gtk-calendarwidget.png | Bin 0 -> 11754 bytes doc/src/diagrams/gallery-images/gtk-checkbox.png | Bin 0 -> 1450 bytes doc/src/diagrams/gallery-images/gtk-columnview.png | Bin 0 -> 577 bytes doc/src/diagrams/gallery-images/gtk-combobox.png | Bin 0 -> 1910 bytes doc/src/diagrams/gallery-images/gtk-dateedit.png | Bin 0 -> 1210 bytes .../diagrams/gallery-images/gtk-datetimeedit.png | Bin 0 -> 1861 bytes doc/src/diagrams/gallery-images/gtk-dial.png | Bin 0 -> 4589 bytes .../diagrams/gallery-images/gtk-doublespinbox.png | Bin 0 -> 1342 bytes .../diagrams/gallery-images/gtk-fontcombobox.png | Bin 0 -> 1840 bytes doc/src/diagrams/gallery-images/gtk-frame.png | Bin 0 -> 1139 bytes doc/src/diagrams/gallery-images/gtk-groupbox.png | Bin 0 -> 4188 bytes .../gallery-images/gtk-horizontalscrollbar.png | Bin 0 -> 903 bytes doc/src/diagrams/gallery-images/gtk-label.png | Bin 0 -> 761 bytes doc/src/diagrams/gallery-images/gtk-lcdnumber.png | Bin 0 -> 334 bytes doc/src/diagrams/gallery-images/gtk-lineedit.png | Bin 0 -> 1435 bytes doc/src/diagrams/gallery-images/gtk-listview.png | Bin 0 -> 5531 bytes .../diagrams/gallery-images/gtk-progressbar.png | Bin 0 -> 1318 bytes doc/src/diagrams/gallery-images/gtk-pushbutton.png | Bin 0 -> 1251 bytes .../diagrams/gallery-images/gtk-radiobutton.png | Bin 0 -> 2074 bytes doc/src/diagrams/gallery-images/gtk-slider.png | Bin 0 -> 583 bytes doc/src/diagrams/gallery-images/gtk-spinbox.png | Bin 0 -> 1139 bytes doc/src/diagrams/gallery-images/gtk-tableview.png | Bin 0 -> 5418 bytes doc/src/diagrams/gallery-images/gtk-tabwidget.png | Bin 0 -> 5278 bytes doc/src/diagrams/gallery-images/gtk-textedit.png | Bin 0 -> 8068 bytes doc/src/diagrams/gallery-images/gtk-timeedit.png | Bin 0 -> 1582 bytes doc/src/diagrams/gallery-images/gtk-toolbox.png | Bin 0 -> 1940 bytes doc/src/diagrams/gallery-images/gtk-toolbutton.png | Bin 0 -> 1299 bytes doc/src/diagrams/gallery-images/gtk-treeview.png | Bin 0 -> 6284 bytes .../diagrams/gallery-images/linguist-menubar.png | Bin 0 -> 1301 bytes .../gallery-images/macintosh-tabwidget.png | Bin 0 -> 7673 bytes .../gallery-images/motif-calendarwidget.png | Bin 0 -> 8892 bytes doc/src/diagrams/gallery-images/motif-checkbox.png | Bin 0 -> 775 bytes doc/src/diagrams/gallery-images/motif-combobox.png | Bin 0 -> 1276 bytes doc/src/diagrams/gallery-images/motif-dateedit.png | Bin 0 -> 706 bytes .../diagrams/gallery-images/motif-datetimeedit.png | Bin 0 -> 1145 bytes doc/src/diagrams/gallery-images/motif-dial.png | Bin 0 -> 2212 bytes .../gallery-images/motif-doublespinbox.png | Bin 0 -> 525 bytes .../diagrams/gallery-images/motif-fontcombobox.png | Bin 0 -> 1052 bytes doc/src/diagrams/gallery-images/motif-frame.png | Bin 0 -> 2225 bytes doc/src/diagrams/gallery-images/motif-groupbox.png | Bin 0 -> 1772 bytes .../gallery-images/motif-horizontalscrollbar.png | Bin 0 -> 216 bytes doc/src/diagrams/gallery-images/motif-label.png | Bin 0 -> 349 bytes .../diagrams/gallery-images/motif-lcdnumber.png | Bin 0 -> 161 bytes doc/src/diagrams/gallery-images/motif-lineedit.png | Bin 0 -> 835 bytes doc/src/diagrams/gallery-images/motif-listview.png | Bin 0 -> 2844 bytes doc/src/diagrams/gallery-images/motif-menubar.png | Bin 0 -> 936 bytes .../diagrams/gallery-images/motif-progressbar.png | Bin 0 -> 505 bytes .../diagrams/gallery-images/motif-pushbutton.png | Bin 0 -> 609 bytes .../diagrams/gallery-images/motif-radiobutton.png | Bin 0 -> 1017 bytes doc/src/diagrams/gallery-images/motif-slider.png | Bin 0 -> 154 bytes doc/src/diagrams/gallery-images/motif-spinbox.png | Bin 0 -> 402 bytes .../diagrams/gallery-images/motif-tableview.png | Bin 0 -> 1885 bytes .../diagrams/gallery-images/motif-tabwidget.png | Bin 0 -> 1849 bytes doc/src/diagrams/gallery-images/motif-textedit.png | Bin 0 -> 3534 bytes doc/src/diagrams/gallery-images/motif-timeedit.png | Bin 0 -> 704 bytes doc/src/diagrams/gallery-images/motif-toolbox.png | Bin 0 -> 883 bytes .../diagrams/gallery-images/motif-toolbutton.png | Bin 0 -> 681 bytes doc/src/diagrams/gallery-images/motif-treeview.png | Bin 0 -> 5049 bytes .../gallery-images/plastique-calendarwidget.png | Bin 0 -> 9185 bytes .../diagrams/gallery-images/plastique-checkbox.png | Bin 0 -> 590 bytes .../gallery-images/plastique-colordialog.png | Bin 0 -> 20896 bytes .../diagrams/gallery-images/plastique-combobox.png | Bin 0 -> 1714 bytes .../diagrams/gallery-images/plastique-dateedit.png | Bin 0 -> 834 bytes .../gallery-images/plastique-datetimeedit.png | Bin 0 -> 1276 bytes doc/src/diagrams/gallery-images/plastique-dial.png | Bin 0 -> 2286 bytes .../gallery-images/plastique-doublespinbox.png | Bin 0 -> 685 bytes .../gallery-images/plastique-fontcombobox.png | Bin 0 -> 1320 bytes .../gallery-images/plastique-fontdialog.png | Bin 0 -> 19414 bytes .../diagrams/gallery-images/plastique-frame.png | Bin 0 -> 1888 bytes .../diagrams/gallery-images/plastique-groupbox.png | Bin 0 -> 1629 bytes .../plastique-horizontalscrollbar.png | Bin 0 -> 398 bytes .../diagrams/gallery-images/plastique-label.png | Bin 0 -> 351 bytes .../gallery-images/plastique-lcdnumber.png | Bin 0 -> 161 bytes .../diagrams/gallery-images/plastique-lineedit.png | Bin 0 -> 534 bytes .../diagrams/gallery-images/plastique-listview.png | Bin 0 -> 4741 bytes .../diagrams/gallery-images/plastique-menubar.png | Bin 0 -> 570 bytes .../gallery-images/plastique-messagebox.png | Bin 0 -> 6502 bytes .../gallery-images/plastique-progressbar.png | Bin 0 -> 561 bytes .../gallery-images/plastique-progressdialog.png | Bin 0 -> 5359 bytes .../gallery-images/plastique-pushbutton.png | Bin 0 -> 913 bytes .../gallery-images/plastique-radiobutton.png | Bin 0 -> 781 bytes .../diagrams/gallery-images/plastique-sizegrip.png | Bin 0 -> 9289 bytes .../diagrams/gallery-images/plastique-slider.png | Bin 0 -> 216 bytes .../diagrams/gallery-images/plastique-spinbox.png | Bin 0 -> 558 bytes .../gallery-images/plastique-statusbar.png | Bin 0 -> 442 bytes .../gallery-images/plastique-tabbar-truncated.png | Bin 0 -> 2318 bytes .../diagrams/gallery-images/plastique-tabbar.png | Bin 0 -> 2116 bytes .../gallery-images/plastique-tableview.png | Bin 0 -> 2639 bytes .../gallery-images/plastique-tabwidget.png | Bin 0 -> 3833 bytes .../diagrams/gallery-images/plastique-textedit.png | Bin 0 -> 3032 bytes .../diagrams/gallery-images/plastique-timeedit.png | Bin 0 -> 844 bytes .../diagrams/gallery-images/plastique-toolbox.png | Bin 0 -> 1281 bytes .../gallery-images/plastique-toolbutton.png | Bin 0 -> 828 bytes .../diagrams/gallery-images/plastique-treeview.png | Bin 0 -> 6365 bytes .../gallery-images/windows-calendarwidget.png | Bin 0 -> 9206 bytes .../diagrams/gallery-images/windows-checkbox.png | Bin 0 -> 835 bytes .../diagrams/gallery-images/windows-combobox.png | Bin 0 -> 920 bytes .../diagrams/gallery-images/windows-dateedit.png | Bin 0 -> 654 bytes .../gallery-images/windows-datetimeedit.png | Bin 0 -> 1093 bytes doc/src/diagrams/gallery-images/windows-dial.png | Bin 0 -> 3073 bytes .../gallery-images/windows-doublespinbox.png | Bin 0 -> 492 bytes .../gallery-images/windows-fontcombobox.png | Bin 0 -> 1039 bytes doc/src/diagrams/gallery-images/windows-frame.png | Bin 0 -> 2303 bytes .../diagrams/gallery-images/windows-groupbox.png | Bin 0 -> 1855 bytes .../gallery-images/windows-horizontalscrollbar.png | Bin 0 -> 177 bytes doc/src/diagrams/gallery-images/windows-label.png | Bin 0 -> 602 bytes .../diagrams/gallery-images/windows-lcdnumber.png | Bin 0 -> 161 bytes .../diagrams/gallery-images/windows-lineedit.png | Bin 0 -> 837 bytes .../diagrams/gallery-images/windows-listview.png | Bin 0 -> 2950 bytes .../gallery-images/windows-progressbar.png | Bin 0 -> 520 bytes .../diagrams/gallery-images/windows-pushbutton.png | Bin 0 -> 618 bytes .../gallery-images/windows-radiobutton.png | Bin 0 -> 1072 bytes doc/src/diagrams/gallery-images/windows-slider.png | Bin 0 -> 142 bytes .../diagrams/gallery-images/windows-spinbox.png | Bin 0 -> 366 bytes .../diagrams/gallery-images/windows-tableview.png | Bin 0 -> 1899 bytes .../diagrams/gallery-images/windows-tabwidget.png | Bin 0 -> 1860 bytes .../diagrams/gallery-images/windows-textedit.png | Bin 0 -> 3461 bytes .../diagrams/gallery-images/windows-timeedit.png | Bin 0 -> 664 bytes .../diagrams/gallery-images/windows-toolbox.png | Bin 0 -> 819 bytes .../diagrams/gallery-images/windows-toolbutton.png | Bin 0 -> 713 bytes .../diagrams/gallery-images/windows-treeview.png | Bin 0 -> 5186 bytes .../gallery-images/windowsvista-calendarwidget.png | Bin 0 -> 4161 bytes .../gallery-images/windowsvista-checkbox.png | Bin 0 -> 694 bytes .../gallery-images/windowsvista-combobox.png | Bin 0 -> 873 bytes .../gallery-images/windowsvista-dateedit.png | Bin 0 -> 489 bytes .../gallery-images/windowsvista-datetimeedit.png | Bin 0 -> 640 bytes .../diagrams/gallery-images/windowsvista-dial.png | Bin 0 -> 1656 bytes .../gallery-images/windowsvista-doublespinbox.png | Bin 0 -> 480 bytes .../gallery-images/windowsvista-fontcombobox.png | Bin 0 -> 524 bytes .../diagrams/gallery-images/windowsvista-frame.png | Bin 0 -> 1413 bytes .../gallery-images/windowsvista-groupbox.png | Bin 0 -> 1568 bytes .../windowsvista-horizontalscrollbar.png | Bin 0 -> 743 bytes .../diagrams/gallery-images/windowsvista-label.png | Bin 0 -> 290 bytes .../gallery-images/windowsvista-lcdnumber.png | Bin 0 -> 167 bytes .../gallery-images/windowsvista-lineedit.png | Bin 0 -> 482 bytes .../gallery-images/windowsvista-listview.png | Bin 0 -> 5783 bytes .../gallery-images/windowsvista-progressbar.png | Bin 0 -> 1070 bytes .../gallery-images/windowsvista-pushbutton.png | Bin 0 -> 735 bytes .../gallery-images/windowsvista-radiobutton.png | Bin 0 -> 877 bytes .../gallery-images/windowsvista-slider.png | Bin 0 -> 350 bytes .../gallery-images/windowsvista-spinbox.png | Bin 0 -> 405 bytes .../gallery-images/windowsvista-tableview.png | Bin 0 -> 2502 bytes .../gallery-images/windowsvista-tabwidget.png | Bin 0 -> 2490 bytes .../gallery-images/windowsvista-textedit.png | Bin 0 -> 2691 bytes .../gallery-images/windowsvista-timeedit.png | Bin 0 -> 405 bytes .../gallery-images/windowsvista-toolbox.png | Bin 0 -> 503 bytes .../gallery-images/windowsvista-toolbutton.png | Bin 0 -> 543 bytes .../gallery-images/windowsvista-treeview.png | Bin 0 -> 4721 bytes doc/src/diagrams/graphicsview-map.png | Bin 0 -> 168801 bytes doc/src/diagrams/graphicsview-map.zip | Bin 0 -> 259717 bytes doc/src/diagrams/graphicsview-shapes.png | Bin 0 -> 474377 bytes doc/src/diagrams/graphicsview-text.png | Bin 0 -> 96354 bytes doc/src/diagrams/hellogl-example.png | Bin 0 -> 7711 bytes doc/src/diagrams/house.png | Bin 0 -> 2035 bytes doc/src/diagrams/house.sk | 33 + doc/src/diagrams/httpstack.sk | 112 + .../itemviews/editabletreemodel-indexes.sk | 92 + .../diagrams/itemviews/editabletreemodel-items.sk | 119 + .../diagrams/itemviews/editabletreemodel-model.sk | 392 + .../diagrams/itemviews/editabletreemodel-values.sk | 263 + doc/src/diagrams/licensewizard-flow.sk | 54 + doc/src/diagrams/linguist-icons/appicon.png | Bin 0 -> 2238 bytes doc/src/diagrams/linguist-icons/linguist.qrc | 51 + doc/src/diagrams/linguist-icons/pagecurl.png | Bin 0 -> 1247 bytes doc/src/diagrams/linguist-icons/s_check_danger.png | Bin 0 -> 304 bytes doc/src/diagrams/linguist-icons/s_check_empty.png | Bin 0 -> 404 bytes .../diagrams/linguist-icons/s_check_obsolete.png | Bin 0 -> 192 bytes doc/src/diagrams/linguist-icons/s_check_off.png | Bin 0 -> 434 bytes doc/src/diagrams/linguist-icons/s_check_on.png | Bin 0 -> 192 bytes .../diagrams/linguist-icons/s_check_warning.png | Bin 0 -> 192 bytes doc/src/diagrams/linguist-icons/splash.png | Bin 0 -> 35908 bytes .../diagrams/linguist-icons/win/accelerator.png | Bin 0 -> 2159 bytes doc/src/diagrams/linguist-icons/win/book.png | Bin 0 -> 1571 bytes .../diagrams/linguist-icons/win/doneandnext.png | Bin 0 -> 1849 bytes doc/src/diagrams/linguist-icons/win/editcopy.png | Bin 0 -> 1614 bytes doc/src/diagrams/linguist-icons/win/editcut.png | Bin 0 -> 1896 bytes doc/src/diagrams/linguist-icons/win/editpaste.png | Bin 0 -> 1989 bytes doc/src/diagrams/linguist-icons/win/filenew.png | Bin 0 -> 977 bytes doc/src/diagrams/linguist-icons/win/fileopen.png | Bin 0 -> 2309 bytes doc/src/diagrams/linguist-icons/win/fileprint.png | Bin 0 -> 741 bytes doc/src/diagrams/linguist-icons/win/filesave.png | Bin 0 -> 1894 bytes doc/src/diagrams/linguist-icons/win/next.png | Bin 0 -> 908 bytes .../diagrams/linguist-icons/win/nextunfinished.png | Bin 0 -> 1928 bytes doc/src/diagrams/linguist-icons/win/phrase.png | Bin 0 -> 2251 bytes doc/src/diagrams/linguist-icons/win/prev.png | Bin 0 -> 911 bytes .../diagrams/linguist-icons/win/prevunfinished.png | Bin 0 -> 1883 bytes doc/src/diagrams/linguist-icons/win/print.png | Bin 0 -> 1732 bytes .../diagrams/linguist-icons/win/punctuation.png | Bin 0 -> 1851 bytes doc/src/diagrams/linguist-icons/win/redo.png | Bin 0 -> 1787 bytes doc/src/diagrams/linguist-icons/win/searchfind.png | Bin 0 -> 1944 bytes doc/src/diagrams/linguist-icons/win/undo.png | Bin 0 -> 1768 bytes doc/src/diagrams/linguist-icons/win/whatsthis.png | Bin 0 -> 1948 bytes doc/src/diagrams/linguist-linguist.png | Bin 0 -> 112638 bytes doc/src/diagrams/linguist-menubar.ui | 123 + doc/src/diagrams/linguist-previewtool.png | Bin 0 -> 46784 bytes doc/src/diagrams/linguist-toolbar.png | Bin 0 -> 18680 bytes doc/src/diagrams/linguist-toolbar.ui | 252 + doc/src/diagrams/linguist-toolbar.zip | Bin 0 -> 25052 bytes doc/src/diagrams/macintosh-menu.png | Bin 0 -> 6440 bytes doc/src/diagrams/macintosh-unified-toolbar.png | Bin 0 -> 29365 bytes doc/src/diagrams/mainwindow-contextmenu.png | Bin 0 -> 4198 bytes doc/src/diagrams/mainwindow-custom-dock.png | Bin 0 -> 37420 bytes doc/src/diagrams/mainwindow-docks.sk | 78 + doc/src/diagrams/mainwindow-vertical-dock.png | Bin 0 -> 13088 bytes doc/src/diagrams/mainwindow-vertical-tabs.png | Bin 0 -> 28949 bytes doc/src/diagrams/modelview-begin-append-columns.sk | 176 + doc/src/diagrams/modelview-begin-append-rows.sk | 122 + doc/src/diagrams/modelview-begin-insert-columns.sk | 193 + doc/src/diagrams/modelview-begin-insert-rows.sk | 157 + doc/src/diagrams/modelview-begin-remove-columns.sk | 193 + doc/src/diagrams/modelview-begin-remove-rows.sk | 130 + doc/src/diagrams/modelview-listmodel.sk | 87 + doc/src/diagrams/modelview-models.png | Bin 0 -> 25109 bytes doc/src/diagrams/modelview-models.sk | 287 + doc/src/diagrams/modelview-overview.sk | 82 + doc/src/diagrams/modelview-tablemodel.sk | 142 + doc/src/diagrams/modelview-treemodel.sk | 139 + doc/src/diagrams/paintsystem-core.sk | 76 + doc/src/diagrams/paintsystem-devices.sk | 220 + doc/src/diagrams/paintsystem-gradients.sk | 94 + doc/src/diagrams/paintsystem-stylepainter.sk | 58 + .../diagrams/palette-diagram/dialog-crop-fade.png | Bin 0 -> 14239 bytes doc/src/diagrams/palette-diagram/dialog-crop.png | Bin 0 -> 9776 bytes doc/src/diagrams/palette-diagram/dialog.png | Bin 0 -> 23016 bytes doc/src/diagrams/palette-diagram/palette.sk | 95 + doc/src/diagrams/parent-child-widgets.png | Bin 0 -> 8016 bytes doc/src/diagrams/parent-child-widgets.sk | 130 + doc/src/diagrams/pathstroke-demo.png | Bin 0 -> 72909 bytes doc/src/diagrams/patternist-importFlow.odg | Bin 0 -> 13718 bytes doc/src/diagrams/patternist-wordProcessor.odg | Bin 0 -> 14221 bytes doc/src/diagrams/pbuffers-example.png | Bin 0 -> 87330 bytes doc/src/diagrams/pbuffers2-example.png | Bin 0 -> 317052 bytes doc/src/diagrams/plaintext-layout.png | Bin 0 -> 19745 bytes doc/src/diagrams/plastique-dialogbuttonbox.png | Bin 0 -> 1443 bytes doc/src/diagrams/plastique-filedialog.png | Bin 0 -> 16844 bytes doc/src/diagrams/plastique-fontcombobox-open.png | Bin 0 -> 20164 bytes doc/src/diagrams/plastique-fontcombobox-open.zip | Bin 0 -> 34573 bytes doc/src/diagrams/plastique-menu.png | Bin 0 -> 3044 bytes .../diagrams/plastique-printdialog-properties.png | Bin 0 -> 13230 bytes doc/src/diagrams/plastique-printdialog.png | Bin 0 -> 19863 bytes doc/src/diagrams/plastique-sizegrip.png | Bin 0 -> 31932 bytes doc/src/diagrams/printer-rects.sk | 114 + .../diagrams/programs/easingcurve/easingcurve.pro | 13 + doc/src/diagrams/programs/easingcurve/main.cpp | 90 + doc/src/diagrams/programs/mdiarea.py | 71 + doc/src/diagrams/programs/qpen-dashpattern.py | 70 + doc/src/diagrams/qactiongroup-align.png | Bin 0 -> 2787 bytes doc/src/diagrams/qcolor-cmyk.sk | 77 + doc/src/diagrams/qcolor-hsv.sk | 77 + doc/src/diagrams/qcolor-hue.sk | 71 + doc/src/diagrams/qcolor-rgb.sk | 77 + doc/src/diagrams/qcolor-saturation.sk | 26 + doc/src/diagrams/qcolor-value.sk | 26 + doc/src/diagrams/qfiledialog-expanded.png | Bin 0 -> 21291 bytes doc/src/diagrams/qfiledialog-small.png | Bin 0 -> 8979 bytes doc/src/diagrams/qframe-shapes-table.ui | 12964 +++ doc/src/diagrams/qimage-32bit.sk | 18 + doc/src/diagrams/qimage-8bit.sk | 50 + doc/src/diagrams/qline-coordinates.sk | 61 + doc/src/diagrams/qline-point.sk | 61 + .../diagrams/qlinef-angle-identicaldirection.sk | 28 + doc/src/diagrams/qlinef-angle-oppositedirection.sk | 28 + doc/src/diagrams/qlistview.png | Bin 0 -> 3826 bytes doc/src/diagrams/qmatrix.sk | 74 + doc/src/diagrams/qpainter-pathstroking.png | Bin 0 -> 215825 bytes doc/src/diagrams/qrect-coordinates.sk | 102 + doc/src/diagrams/qrect-diagram-one.sk | 69 + doc/src/diagrams/qrect-diagram-three.sk | 67 + doc/src/diagrams/qrect-diagram-two.sk | 67 + doc/src/diagrams/qrect-diagram-zero.sk | 48 + doc/src/diagrams/qrect-intersect.sk | 62 + doc/src/diagrams/qrect-unite.sk | 63 + doc/src/diagrams/qrectf-coordinates.sk | 102 + doc/src/diagrams/qrectf-diagram-one.sk | 69 + doc/src/diagrams/qrectf-diagram-three.sk | 67 + doc/src/diagrams/qrectf-diagram-two.sk | 67 + doc/src/diagrams/qstyleoptiontoolbar-position.sk | 125 + doc/src/diagrams/qt-embedded-vnc-screen.png | Bin 0 -> 36094 bytes doc/src/diagrams/qtableview-resized.png | Bin 0 -> 21066 bytes doc/src/diagrams/qtableview-small.png | Bin 0 -> 17120 bytes doc/src/diagrams/qtableview-stretched.png | Bin 0 -> 17044 bytes doc/src/diagrams/qtableview.png | Bin 0 -> 7701 bytes doc/src/diagrams/qtconfig-appearance.png | Bin 0 -> 57484 bytes doc/src/diagrams/qtdemo-example.png | Bin 0 -> 66312 bytes doc/src/diagrams/qtdemo.png | Bin 0 -> 158843 bytes doc/src/diagrams/qtdesignerextensions.sk | 254 + doc/src/diagrams/qtexttable-cells.sk | 107 + doc/src/diagrams/qtexttableformat-cell.sk | 67 + doc/src/diagrams/qtopiacore/architecture-emb.sk | 425 + doc/src/diagrams/qtopiacore/clamshell-phone.png | Bin 0 -> 50799 bytes doc/src/diagrams/qtopiacore/launcher.png | Bin 0 -> 107532 bytes doc/src/diagrams/qtopiacore/qt-embedded-opengl1.sk | 410 + doc/src/diagrams/qtopiacore/qt-embedded-opengl2.sk | 592 + .../qtopiacore/qtopiacore-accelerateddriver.sk | 70 + .../qtopiacore/qtopiacore-architecture-emb.svg | 257 + .../diagrams/qtopiacore/qtopiacore-architecture.sk | 136 + .../qtopiacore/qtopiacore-characterinputlayer.sk | 118 + doc/src/diagrams/qtopiacore/qtopiacore-client.sk | 51 + .../qtopiacore/qtopiacore-clientrendering.sk | 166 + .../qtopiacore-clientservercommunication.sk | 130 + .../qtopiacore/qtopiacore-drawingonscreen.sk | 144 + doc/src/diagrams/qtopiacore/qtopiacore-opengl.sk | 38 + .../qtopiacore/qtopiacore-pointerhandlinglayer.sk | 94 + .../qtopiacore/qtopiacore-reserveregion.sk | 89 + .../qtopiacore/qtopiacore-setwindowattribute.sk | 102 + doc/src/diagrams/qtopiacore/qtopiacore-vanilla.sk | 43 + doc/src/diagrams/qtreeview.png | Bin 0 -> 7490 bytes doc/src/diagrams/qtscript-calculator.png | Bin 0 -> 9015 bytes doc/src/diagrams/qtscript-context2d.png | Bin 0 -> 14722 bytes doc/src/diagrams/qtwizard-page.sk | 144 + doc/src/diagrams/qwsserver_keyboardfilter.sk | 39 + doc/src/diagrams/resources.sk | 125 + doc/src/diagrams/shapedclock.sk | 46 + doc/src/diagrams/sharedmodel-tableviews.zip | Bin 0 -> 22069 bytes doc/src/diagrams/sharedselection-tableviews.zip | Bin 0 -> 19208 bytes doc/src/diagrams/standard-views.sk | 16 + doc/src/diagrams/standarddialogs-example.png | Bin 0 -> 38484 bytes doc/src/diagrams/standarddialogs-example.zip | Bin 0 -> 47130 bytes doc/src/diagrams/stylesheet/coffee-plastique.png | Bin 0 -> 14902 bytes doc/src/diagrams/stylesheet/coffee-windows.png | Bin 0 -> 10399 bytes doc/src/diagrams/stylesheet/coffee-xp.png | Bin 0 -> 15249 bytes doc/src/diagrams/stylesheet/pagefold.png | Bin 0 -> 17797 bytes doc/src/diagrams/stylesheet/pagefold.svg | 1678 + .../diagrams/stylesheet/stylesheet-boxmodel.svg | 220 + doc/src/diagrams/stylesheet/treeview.svg | 284 + doc/src/diagrams/tcpstream.sk | 48 + doc/src/diagrams/threadsandobjects.sk | 149 + doc/src/diagrams/treemodel-structure.sk | 114 + doc/src/diagrams/tutorial8-layout.sk | 55 + doc/src/diagrams/udppackets.sk | 128 + doc/src/diagrams/wVista-Cert-border.png | Bin 0 -> 20044 bytes .../diagrams/widgetmapper/sql-widget-mapper.png | Bin 0 -> 11459 bytes .../widgetmapper/widgetmapper-sql-mapping.sk | 246 + doc/src/diagrams/windowsxp-menu.png | Bin 0 -> 1060 bytes doc/src/diagrams/worldtimeclock-connection.zip | Bin 0 -> 15307 bytes doc/src/diagrams/worldtimeclockplugin-example.zip | Bin 0 -> 17816 bytes doc/src/diagrams/x11_dependencies.sk | 1416 + doc/src/diagrams/xmlpatterns-qobjectxmlmodel.png | Bin 0 -> 52489 bytes doc/src/distributingqt.qdoc | 154 + doc/src/dnd.qdoc | 543 + doc/src/ecmascript.qdoc | 313 + doc/src/editions.qdoc | 76 + doc/src/emb-accel.qdoc | 143 + doc/src/emb-charinput.qdoc | 126 + doc/src/emb-crosscompiling.qdoc | 191 + doc/src/emb-deployment.qdoc | 111 + doc/src/emb-differences.qdoc | 72 + doc/src/emb-envvars.qdoc | 168 + doc/src/emb-features.qdoc | 147 + doc/src/emb-fonts.qdoc | 201 + doc/src/emb-framebuffer-howto.qdoc | 53 + doc/src/emb-install.qdoc | 197 + doc/src/emb-makeqpf.qdoc | 50 + doc/src/emb-performance.qdoc | 152 + doc/src/emb-pointer.qdoc | 216 + doc/src/emb-porting.qdoc | 193 + doc/src/emb-qvfb.qdoc | 296 + doc/src/emb-running.qdoc | 210 + doc/src/emb-vnc.qdoc | 141 + doc/src/eventsandfilters.qdoc | 221 + doc/src/examples-overview.qdoc | 348 + doc/src/examples.qdoc | 408 + doc/src/examples/2dpainting.qdoc | 224 + doc/src/examples/activeqt/comapp.qdoc | 124 + doc/src/examples/activeqt/dotnet.qdoc | 355 + doc/src/examples/activeqt/hierarchy-demo.qdocinc | 43 + doc/src/examples/activeqt/hierarchy.qdoc | 102 + doc/src/examples/activeqt/menus.qdoc | 74 + doc/src/examples/activeqt/multiple-demo.qdocinc | 39 + doc/src/examples/activeqt/multiple.qdoc | 84 + doc/src/examples/activeqt/opengl-demo.qdocinc | 27 + doc/src/examples/activeqt/opengl.qdoc | 145 + doc/src/examples/activeqt/qutlook.qdoc | 116 + doc/src/examples/activeqt/simple-demo.qdocinc | 45 + doc/src/examples/activeqt/simple.qdoc | 130 + doc/src/examples/activeqt/webbrowser.qdoc | 87 + doc/src/examples/activeqt/wrapper-demo.qdocinc | 51 + doc/src/examples/activeqt/wrapper.qdoc | 77 + doc/src/examples/addressbook.qdoc | 456 + doc/src/examples/ahigl.qdoc | 572 + doc/src/examples/analogclock.qdoc | 168 + doc/src/examples/application.qdoc | 410 + doc/src/examples/arrowpad.qdoc | 237 + doc/src/examples/basicdrawing.qdoc | 468 + doc/src/examples/basicgraphicslayouts.qdoc | 151 + doc/src/examples/basiclayouts.qdoc | 204 + doc/src/examples/basicsortfiltermodel.qdoc | 51 + doc/src/examples/blockingfortuneclient.qdoc | 230 + doc/src/examples/borderlayout.qdoc | 50 + doc/src/examples/broadcastreceiver.qdoc | 50 + doc/src/examples/broadcastsender.qdoc | 50 + doc/src/examples/cachedtable.qdoc | 211 + doc/src/examples/calculator.qdoc | 389 + doc/src/examples/calculatorbuilder.qdoc | 133 + doc/src/examples/calculatorform.qdoc | 126 + doc/src/examples/calendar.qdoc | 237 + doc/src/examples/calendarwidget.qdoc | 305 + doc/src/examples/capabilitiesexample.qdoc | 171 + doc/src/examples/charactermap.qdoc | 288 + doc/src/examples/chart.qdoc | 96 + doc/src/examples/classwizard.qdoc | 204 + doc/src/examples/codecs.qdoc | 51 + doc/src/examples/codeeditor.qdoc | 209 + doc/src/examples/collidingmice-example.qdoc | 279 + doc/src/examples/coloreditorfactory.qdoc | 169 + doc/src/examples/combowidgetmapper.qdoc | 181 + doc/src/examples/completer.qdoc | 255 + doc/src/examples/complexpingpong.qdoc | 50 + doc/src/examples/concentriccircles.qdoc | 245 + doc/src/examples/configdialog.qdoc | 50 + doc/src/examples/containerextension.qdoc | 518 + doc/src/examples/context2d.qdoc | 353 + doc/src/examples/customcompleter.qdoc | 201 + doc/src/examples/customsortfiltermodel.qdoc | 303 + doc/src/examples/customwidgetplugin.qdoc | 252 + doc/src/examples/dbscreen.qdoc | 200 + doc/src/examples/dbus-chat.qdoc | 50 + doc/src/examples/dbus-listnames.qdoc | 47 + doc/src/examples/dbus-pingpong.qdoc | 9 + doc/src/examples/dbus-remotecontrolledcar.qdoc | 50 + doc/src/examples/defaultprototypes.qdoc | 138 + doc/src/examples/delayedencoding.qdoc | 125 + doc/src/examples/diagramscene.qdoc | 846 + doc/src/examples/digitalclock.qdoc | 88 + doc/src/examples/dirview.qdoc | 50 + doc/src/examples/dockwidgets.qdoc | 177 + doc/src/examples/dombookmarks.qdoc | 54 + doc/src/examples/draganddroppuzzle.qdoc | 56 + doc/src/examples/dragdroprobot.qdoc | 51 + doc/src/examples/draggableicons.qdoc | 104 + doc/src/examples/draggabletext.qdoc | 50 + doc/src/examples/drilldown.qdoc | 552 + doc/src/examples/dropsite.qdoc | 263 + doc/src/examples/dynamiclayouts.qdoc | 48 + doc/src/examples/echoplugin.qdoc | 222 + doc/src/examples/editabletreemodel.qdoc | 459 + doc/src/examples/elasticnodes.qdoc | 49 + doc/src/examples/extension.qdoc | 153 + doc/src/examples/fetchmore.qdoc | 84 + doc/src/examples/filetree.qdoc | 421 + doc/src/examples/findfiles.qdoc | 263 + doc/src/examples/flowlayout.qdoc | 50 + doc/src/examples/fontsampler.qdoc | 49 + doc/src/examples/formextractor.qdoc | 51 + doc/src/examples/fortuneclient.qdoc | 174 + doc/src/examples/fortuneserver.qdoc | 119 + doc/src/examples/framebufferobject.qdoc | 51 + doc/src/examples/framebufferobject2.qdoc | 51 + doc/src/examples/fridgemagnets.qdoc | 374 + doc/src/examples/ftp.qdoc | 211 + doc/src/examples/globalVariables.qdoc | 238 + doc/src/examples/grabber.qdoc | 49 + doc/src/examples/groupbox.qdoc | 154 + doc/src/examples/hellogl.qdoc | 272 + doc/src/examples/hellogl_es.qdoc | 124 + doc/src/examples/helloscript.qdoc | 142 + doc/src/examples/hellotr.qdoc | 188 + doc/src/examples/http.qdoc | 50 + doc/src/examples/i18n.qdoc | 51 + doc/src/examples/icons.qdoc | 794 + doc/src/examples/imagecomposition.qdoc | 179 + doc/src/examples/imageviewer.qdoc | 340 + doc/src/examples/itemviewspuzzle.qdoc | 57 + doc/src/examples/licensewizard.qdoc | 232 + doc/src/examples/lineedits.qdoc | 175 + doc/src/examples/localfortuneclient.qdoc | 52 + doc/src/examples/localfortuneserver.qdoc | 51 + doc/src/examples/loopback.qdoc | 50 + doc/src/examples/mandelbrot.qdoc | 382 + doc/src/examples/masterdetail.qdoc | 57 + doc/src/examples/mdi.qdoc | 51 + doc/src/examples/menus.qdoc | 232 + doc/src/examples/mousecalibration.qdoc | 207 + doc/src/examples/movie.qdoc | 53 + doc/src/examples/multipleinheritance.qdoc | 108 + doc/src/examples/musicplayerexample.qdoc | 248 + doc/src/examples/network-chat.qdoc | 51 + doc/src/examples/orderform.qdoc | 378 + doc/src/examples/overpainting.qdoc | 249 + doc/src/examples/padnavigator.qdoc | 51 + doc/src/examples/painterpaths.qdoc | 432 + doc/src/examples/pbuffers.qdoc | 51 + doc/src/examples/pbuffers2.qdoc | 51 + doc/src/examples/pixelator.qdoc | 271 + doc/src/examples/plugandpaint.qdoc | 554 + doc/src/examples/portedasteroids.qdoc | 50 + doc/src/examples/portedcanvas.qdoc | 52 + doc/src/examples/previewer.qdoc | 181 + doc/src/examples/qobjectxmlmodel.qdoc | 353 + doc/src/examples/qtconcurrent-imagescaling.qdoc | 48 + doc/src/examples/qtconcurrent-map.qdoc | 48 + doc/src/examples/qtconcurrent-progressdialog.qdoc | 50 + doc/src/examples/qtconcurrent-runfunction.qdoc | 49 + doc/src/examples/qtconcurrent-wordcount.qdoc | 49 + doc/src/examples/qtscriptcalculator.qdoc | 105 + doc/src/examples/qtscriptcustomclass.qdoc | 198 + doc/src/examples/qtscripttetrix.qdoc | 92 + doc/src/examples/querymodel.qdoc | 51 + doc/src/examples/qxmlstreambookmarks.qdoc | 200 + doc/src/examples/recentfiles.qdoc | 50 + doc/src/examples/recipes.qdoc | 164 + doc/src/examples/regexp.qdoc | 51 + doc/src/examples/relationaltablemodel.qdoc | 50 + doc/src/examples/remotecontrol.qdoc | 48 + doc/src/examples/rsslisting.qdoc | 50 + doc/src/examples/samplebuffers.qdoc | 50 + doc/src/examples/saxbookmarks.qdoc | 54 + doc/src/examples/screenshot.qdoc | 262 + doc/src/examples/scribble.qdoc | 432 + doc/src/examples/sdi.qdoc | 50 + doc/src/examples/securesocketclient.qdoc | 53 + doc/src/examples/semaphores.qdoc | 159 + doc/src/examples/settingseditor.qdoc | 51 + doc/src/examples/shapedclock.qdoc | 145 + doc/src/examples/sharedmemory.qdoc | 142 + doc/src/examples/simpledecoration.qdoc | 266 + doc/src/examples/simpledommodel.qdoc | 294 + doc/src/examples/simpletextviewer.qdoc | 466 + doc/src/examples/simpletreemodel.qdoc | 346 + doc/src/examples/simplewidgetmapper.qdoc | 139 + doc/src/examples/sipdialog.qdoc | 141 + doc/src/examples/sliders.qdoc | 269 + doc/src/examples/spinboxdelegate.qdoc | 151 + doc/src/examples/spinboxes.qdoc | 205 + doc/src/examples/sqlwidgetmapper.qdoc | 199 + doc/src/examples/standarddialogs.qdoc | 49 + doc/src/examples/stardelegate.qdoc | 310 + doc/src/examples/styleplugin.qdoc | 147 + doc/src/examples/styles.qdoc | 486 + doc/src/examples/stylesheet.qdoc | 50 + doc/src/examples/svgalib.qdoc | 360 + doc/src/examples/svgviewer.qdoc | 60 + doc/src/examples/syntaxhighlighter.qdoc | 256 + doc/src/examples/systray.qdoc | 197 + doc/src/examples/tabdialog.qdoc | 148 + doc/src/examples/tablemodel.qdoc | 50 + doc/src/examples/tablet.qdoc | 380 + doc/src/examples/taskmenuextension.qdoc | 457 + doc/src/examples/tetrix.qdoc | 445 + doc/src/examples/textfinder.qdoc | 173 + doc/src/examples/textobject.qdoc | 170 + doc/src/examples/textures.qdoc | 50 + doc/src/examples/threadedfortuneserver.qdoc | 121 + doc/src/examples/tooltips.qdoc | 408 + doc/src/examples/torrent.qdoc | 83 + doc/src/examples/trafficinfo.qdoc | 163 + doc/src/examples/trafficlight.qdoc | 58 + doc/src/examples/transformations.qdoc | 385 + doc/src/examples/treemodelcompleter.qdoc | 185 + doc/src/examples/trivialwizard.qdoc | 96 + doc/src/examples/trollprint.qdoc | 275 + doc/src/examples/undoframework.qdoc | 306 + doc/src/examples/waitconditions.qdoc | 166 + doc/src/examples/wiggly.qdoc | 181 + doc/src/examples/windowflags.qdoc | 230 + doc/src/examples/worldtimeclockbuilder.qdoc | 111 + doc/src/examples/worldtimeclockplugin.qdoc | 210 + doc/src/examples/xmlstreamlint.qdoc | 86 + doc/src/exportedfunctions.qdoc | 134 + doc/src/external-resources.qdoc | 354 + doc/src/focus.qdoc | 213 + doc/src/functions.qdoc | 63 + doc/src/gallery-cde.qdoc | 392 + doc/src/gallery-cleanlooks.qdoc | 392 + doc/src/gallery-gtk.qdoc | 358 + doc/src/gallery-macintosh.qdoc | 392 + doc/src/gallery-motif.qdoc | 392 + doc/src/gallery-plastique.qdoc | 392 + doc/src/gallery-windows.qdoc | 392 + doc/src/gallery-windowsvista.qdoc | 392 + doc/src/gallery-windowsxp.qdoc | 392 + doc/src/gallery.qdoc | 151 + doc/src/geometry.qdoc | 150 + doc/src/gpl.qdoc | 84 + doc/src/graphicsview.qdoc | 544 + doc/src/groups.qdoc | 622 + doc/src/guibooks.qdoc | 121 + doc/src/hierarchy.qdoc | 52 + doc/src/how-to-learn-qt.qdoc | 115 + doc/src/i18n.qdoc | 508 + doc/src/images/2dpainting-example.png | Bin 0 -> 32682 bytes doc/src/images/abstract-connections.png | Bin 0 -> 19849 bytes doc/src/images/accessibilityarchitecture.png | Bin 0 -> 6871 bytes doc/src/images/accessibleobjecttree.png | Bin 0 -> 3306 bytes doc/src/images/addressbook-adddialog.png | Bin 0 -> 27516 bytes doc/src/images/addressbook-classes.png | Bin 0 -> 2685 bytes doc/src/images/addressbook-editdialog.png | Bin 0 -> 8669 bytes doc/src/images/addressbook-example.png | Bin 0 -> 12388 bytes doc/src/images/addressbook-filemenu.png | Bin 0 -> 20278 bytes doc/src/images/addressbook-newaddresstab.png | Bin 0 -> 12556 bytes doc/src/images/addressbook-signals.png | Bin 0 -> 4713 bytes doc/src/images/addressbook-toolsmenu.png | Bin 0 -> 20979 bytes .../addressbook-tutorial-part1-labeled-layout.png | Bin 0 -> 20739 bytes ...dressbook-tutorial-part1-labeled-screenshot.png | Bin 0 -> 26594 bytes .../addressbook-tutorial-part1-screenshot.png | Bin 0 -> 7180 bytes .../addressbook-tutorial-part2-add-contact.png | Bin 0 -> 10255 bytes .../addressbook-tutorial-part2-add-flowchart.png | Bin 0 -> 23533 bytes .../addressbook-tutorial-part2-add-successful.png | Bin 0 -> 8089 bytes .../addressbook-tutorial-part2-labeled-layout.png | Bin 0 -> 31947 bytes ...ddressbook-tutorial-part2-signals-and-slots.png | Bin 0 -> 9968 bytes .../addressbook-tutorial-part2-stretch-effects.png | Bin 0 -> 12268 bytes .../addressbook-tutorial-part3-labeled-layout.png | Bin 0 -> 39500 bytes .../addressbook-tutorial-part3-linkedlist.png | Bin 0 -> 10209 bytes .../addressbook-tutorial-part3-screenshot.png | Bin 0 -> 10460 bytes .../images/addressbook-tutorial-part4-remove.png | Bin 0 -> 13860 bytes .../addressbook-tutorial-part5-finddialog.png | Bin 0 -> 6982 bytes .../images/addressbook-tutorial-part5-notfound.png | Bin 0 -> 8177 bytes .../addressbook-tutorial-part5-screenshot.png | Bin 0 -> 12557 bytes ...ddressbook-tutorial-part5-signals-and-slots.png | Bin 0 -> 5542 bytes doc/src/images/addressbook-tutorial-part6-load.png | Bin 0 -> 40623 bytes doc/src/images/addressbook-tutorial-part6-save.png | Bin 0 -> 40406 bytes .../addressbook-tutorial-part6-screenshot.png | Bin 0 -> 13598 bytes .../addressbook-tutorial-part7-screenshot.png | Bin 0 -> 14822 bytes doc/src/images/addressbook-tutorial-screenshot.png | Bin 0 -> 11916 bytes doc/src/images/addressbook-tutorial.png | Bin 0 -> 11481 bytes doc/src/images/affine-demo.png | Bin 0 -> 63959 bytes doc/src/images/alphachannelimage.png | Bin 0 -> 4105 bytes doc/src/images/alphafill.png | Bin 0 -> 156 bytes doc/src/images/analogclock-example.png | Bin 0 -> 2383 bytes doc/src/images/analogclock-viewport.png | Bin 0 -> 29668 bytes doc/src/images/antialiased.png | Bin 0 -> 398 bytes doc/src/images/application-menus.png | Bin 0 -> 8864 bytes doc/src/images/application.png | Bin 0 -> 26272 bytes doc/src/images/arthurplugin-demo.png | Bin 0 -> 77481 bytes doc/src/images/assistant-address-toolbar.png | Bin 0 -> 3130 bytes doc/src/images/assistant-assistant.png | Bin 0 -> 119764 bytes doc/src/images/assistant-dockwidgets.png | Bin 0 -> 50554 bytes doc/src/images/assistant-docwindow.png | Bin 0 -> 55582 bytes doc/src/images/assistant-examples.png | Bin 0 -> 9799 bytes doc/src/images/assistant-filter-toolbar.png | Bin 0 -> 1939 bytes .../images/assistant-preferences-documentation.png | Bin 0 -> 21663 bytes doc/src/images/assistant-preferences-filters.png | Bin 0 -> 23997 bytes doc/src/images/assistant-preferences-fonts.png | Bin 0 -> 19652 bytes doc/src/images/assistant-preferences-options.png | Bin 0 -> 20264 bytes doc/src/images/assistant-search.png | Bin 0 -> 59254 bytes doc/src/images/assistant-toolbar.png | Bin 0 -> 6532 bytes doc/src/images/basicdrawing-example.png | Bin 0 -> 19371 bytes doc/src/images/basicgraphicslayouts-example.png | Bin 0 -> 119062 bytes doc/src/images/basiclayouts-example.png | Bin 0 -> 28406 bytes doc/src/images/basicsortfiltermodel-example.png | Bin 0 -> 81912 bytes doc/src/images/bearings.png | Bin 0 -> 1133 bytes doc/src/images/blockingfortuneclient-example.png | Bin 0 -> 9199 bytes doc/src/images/books-demo.png | Bin 0 -> 29155 bytes doc/src/images/borderlayout-example.png | Bin 0 -> 6163 bytes doc/src/images/boxes-demo.png | Bin 0 -> 216134 bytes doc/src/images/broadcastreceiver-example.png | Bin 0 -> 7447 bytes doc/src/images/broadcastsender-example.png | Bin 0 -> 5688 bytes doc/src/images/browser-demo.png | Bin 0 -> 157205 bytes doc/src/images/brush-outline.png | Bin 0 -> 452 bytes doc/src/images/brush-styles.png | Bin 0 -> 13980 bytes .../images/buttonbox-gnomelayout-horizontal.png | Bin 0 -> 4188 bytes doc/src/images/buttonbox-gnomelayout-vertical.png | Bin 0 -> 5027 bytes doc/src/images/buttonbox-kdelayout-horizontal.png | Bin 0 -> 2862 bytes doc/src/images/buttonbox-kdelayout-vertical.png | Bin 0 -> 3298 bytes .../images/buttonbox-mac-modeless-horizontal.png | Bin 0 -> 4123 bytes doc/src/images/buttonbox-mac-modeless-vertical.png | Bin 0 -> 5177 bytes doc/src/images/buttonbox-maclayout-horizontal.png | Bin 0 -> 5409 bytes doc/src/images/buttonbox-maclayout-vertical.png | Bin 0 -> 7340 bytes doc/src/images/buttonbox-winlayout-horizontal.png | Bin 0 -> 2780 bytes doc/src/images/buttonbox-winlayout-vertical.png | Bin 0 -> 3184 bytes doc/src/images/cachedtable-example.png | Bin 0 -> 15908 bytes doc/src/images/calculator-example.png | Bin 0 -> 10742 bytes doc/src/images/calculator-ugly.png | Bin 0 -> 9774 bytes doc/src/images/calculatorbuilder-example.png | Bin 0 -> 4326 bytes doc/src/images/calculatorform-example.png | Bin 0 -> 3967 bytes doc/src/images/calendar-example.png | Bin 0 -> 13539 bytes doc/src/images/calendarwidgetexample.png | Bin 0 -> 38434 bytes doc/src/images/cannon-tutorial.png | Bin 0 -> 1237 bytes doc/src/images/capabilitiesexample.png | Bin 0 -> 18955 bytes doc/src/images/cde-calendarwidget.png | Bin 0 -> 10187 bytes doc/src/images/cde-checkbox.png | Bin 0 -> 1331 bytes doc/src/images/cde-combobox.png | Bin 0 -> 1269 bytes doc/src/images/cde-dateedit.png | Bin 0 -> 1183 bytes doc/src/images/cde-datetimeedit.png | Bin 0 -> 1701 bytes doc/src/images/cde-dial.png | Bin 0 -> 4481 bytes doc/src/images/cde-doublespinbox.png | Bin 0 -> 1007 bytes doc/src/images/cde-fontcombobox.png | Bin 0 -> 1603 bytes doc/src/images/cde-frame.png | Bin 0 -> 2976 bytes doc/src/images/cde-groupbox.png | Bin 0 -> 2592 bytes doc/src/images/cde-horizontalscrollbar.png | Bin 0 -> 569 bytes doc/src/images/cde-label.png | Bin 0 -> 1043 bytes doc/src/images/cde-lcdnumber.png | Bin 0 -> 538 bytes doc/src/images/cde-lineedit.png | Bin 0 -> 1355 bytes doc/src/images/cde-listview.png | Bin 0 -> 5166 bytes doc/src/images/cde-progressbar.png | Bin 0 -> 934 bytes doc/src/images/cde-pushbutton.png | Bin 0 -> 1099 bytes doc/src/images/cde-radiobutton.png | Bin 0 -> 1562 bytes doc/src/images/cde-slider.png | Bin 0 -> 526 bytes doc/src/images/cde-spinbox.png | Bin 0 -> 863 bytes doc/src/images/cde-tableview.png | Bin 0 -> 2467 bytes doc/src/images/cde-tabwidget.png | Bin 0 -> 2483 bytes doc/src/images/cde-textedit.png | Bin 0 -> 7374 bytes doc/src/images/cde-timeedit.png | Bin 0 -> 1248 bytes doc/src/images/cde-toolbox.png | Bin 0 -> 1813 bytes doc/src/images/cde-toolbutton.png | Bin 0 -> 1169 bytes doc/src/images/cde-treeview.png | Bin 0 -> 6703 bytes doc/src/images/charactermap-example.png | Bin 0 -> 27937 bytes doc/src/images/chart-example.png | Bin 0 -> 51979 bytes doc/src/images/chip-demo.png | Bin 0 -> 223121 bytes doc/src/images/classwizard-flow.png | Bin 0 -> 9745 bytes doc/src/images/classwizard.png | Bin 0 -> 8348 bytes doc/src/images/cleanlooks-calendarwidget.png | Bin 0 -> 9748 bytes doc/src/images/cleanlooks-checkbox.png | Bin 0 -> 1416 bytes doc/src/images/cleanlooks-combobox.png | Bin 0 -> 2348 bytes doc/src/images/cleanlooks-dateedit.png | Bin 0 -> 1369 bytes doc/src/images/cleanlooks-datetimeedit.png | Bin 0 -> 1892 bytes doc/src/images/cleanlooks-dial.png | Bin 0 -> 4297 bytes doc/src/images/cleanlooks-dialogbuttonbox.png | Bin 0 -> 2293 bytes doc/src/images/cleanlooks-doublespinbox.png | Bin 0 -> 1141 bytes doc/src/images/cleanlooks-fontcombobox.png | Bin 0 -> 1835 bytes doc/src/images/cleanlooks-frame.png | Bin 0 -> 2989 bytes doc/src/images/cleanlooks-groupbox.png | Bin 0 -> 2630 bytes doc/src/images/cleanlooks-horizontalscrollbar.png | Bin 0 -> 837 bytes doc/src/images/cleanlooks-label.png | Bin 0 -> 1043 bytes doc/src/images/cleanlooks-lcdnumber.png | Bin 0 -> 538 bytes doc/src/images/cleanlooks-lineedit.png | Bin 0 -> 1406 bytes doc/src/images/cleanlooks-listview.png | Bin 0 -> 5559 bytes doc/src/images/cleanlooks-progressbar.png | Bin 0 -> 1292 bytes doc/src/images/cleanlooks-pushbutton-menu.png | Bin 0 -> 3177 bytes doc/src/images/cleanlooks-pushbutton.png | Bin 0 -> 1332 bytes doc/src/images/cleanlooks-radiobutton.png | Bin 0 -> 1782 bytes doc/src/images/cleanlooks-slider.png | Bin 0 -> 671 bytes doc/src/images/cleanlooks-spinbox.png | Bin 0 -> 983 bytes doc/src/images/cleanlooks-tableview.png | Bin 0 -> 2465 bytes doc/src/images/cleanlooks-tabwidget.png | Bin 0 -> 5007 bytes doc/src/images/cleanlooks-textedit.png | Bin 0 -> 7560 bytes doc/src/images/cleanlooks-timeedit.png | Bin 0 -> 1388 bytes doc/src/images/cleanlooks-toolbox.png | Bin 0 -> 1445 bytes doc/src/images/cleanlooks-toolbutton.png | Bin 0 -> 1469 bytes doc/src/images/cleanlooks-treeview.png | Bin 0 -> 6981 bytes doc/src/images/codecs-example.png | Bin 0 -> 20593 bytes doc/src/images/codeeditor-example.png | Bin 0 -> 9202 bytes doc/src/images/collidingmice-example.png | Bin 0 -> 59824 bytes doc/src/images/coloreditorfactoryimage.png | Bin 0 -> 12209 bytes doc/src/images/combo-widget-mapper.png | Bin 0 -> 10801 bytes doc/src/images/completer-example-country.png | Bin 0 -> 12387 bytes doc/src/images/completer-example-dirmodel.png | Bin 0 -> 14389 bytes doc/src/images/completer-example-qdirmodel.png | Bin 0 -> 13896 bytes doc/src/images/completer-example-word.png | Bin 0 -> 11702 bytes doc/src/images/completer-example.png | Bin 0 -> 10486 bytes doc/src/images/complexwizard-detailspage.png | Bin 0 -> 3525 bytes doc/src/images/complexwizard-evaluatepage.png | Bin 0 -> 4324 bytes doc/src/images/complexwizard-finishpage.png | Bin 0 -> 4640 bytes doc/src/images/complexwizard-flow.png | Bin 0 -> 32766 bytes doc/src/images/complexwizard-registerpage.png | Bin 0 -> 4326 bytes doc/src/images/complexwizard-titlepage.png | Bin 0 -> 4952 bytes doc/src/images/complexwizard.png | Bin 0 -> 4952 bytes doc/src/images/composition-demo.png | Bin 0 -> 210701 bytes doc/src/images/concentriccircles-example.png | Bin 0 -> 29623 bytes doc/src/images/conceptaudio.png | Bin 0 -> 10708 bytes doc/src/images/conceptprocessor.png | 1 + doc/src/images/conceptvideo.png | Bin 0 -> 15989 bytes doc/src/images/configdialog-example.png | Bin 0 -> 35741 bytes doc/src/images/conicalGradient.png | Bin 0 -> 5152 bytes doc/src/images/containerextension-example.png | Bin 0 -> 43032 bytes doc/src/images/context2d-example-smileysmile.png | Bin 0 -> 3457 bytes doc/src/images/context2d-example.png | Bin 0 -> 14160 bytes doc/src/images/coordinatesystem-analogclock.png | Bin 0 -> 9762 bytes doc/src/images/coordinatesystem-line-antialias.png | Bin 0 -> 17979 bytes doc/src/images/coordinatesystem-line-raster.png | Bin 0 -> 18152 bytes doc/src/images/coordinatesystem-line.png | Bin 0 -> 26694 bytes doc/src/images/coordinatesystem-rect-antialias.png | Bin 0 -> 19058 bytes doc/src/images/coordinatesystem-rect-raster.png | Bin 0 -> 18455 bytes doc/src/images/coordinatesystem-rect.png | Bin 0 -> 32307 bytes .../images/coordinatesystem-transformations.png | Bin 0 -> 59180 bytes doc/src/images/coordsys.png | Bin 0 -> 718 bytes doc/src/images/cursor-arrow.png | Bin 0 -> 171 bytes doc/src/images/cursor-busy.png | Bin 0 -> 201 bytes doc/src/images/cursor-closedhand.png | Bin 0 -> 147 bytes doc/src/images/cursor-cross.png | Bin 0 -> 130 bytes doc/src/images/cursor-forbidden.png | Bin 0 -> 199 bytes doc/src/images/cursor-hand.png | Bin 0 -> 159 bytes doc/src/images/cursor-hsplit.png | Bin 0 -> 161 bytes doc/src/images/cursor-ibeam.png | Bin 0 -> 124 bytes doc/src/images/cursor-openhand.png | Bin 0 -> 160 bytes doc/src/images/cursor-sizeall.png | Bin 0 -> 174 bytes doc/src/images/cursor-sizeb.png | Bin 0 -> 161 bytes doc/src/images/cursor-sizef.png | Bin 0 -> 161 bytes doc/src/images/cursor-sizeh.png | Bin 0 -> 145 bytes doc/src/images/cursor-sizev.png | Bin 0 -> 141 bytes doc/src/images/cursor-uparrow.png | Bin 0 -> 132 bytes doc/src/images/cursor-vsplit.png | Bin 0 -> 155 bytes doc/src/images/cursor-wait.png | Bin 0 -> 172 bytes doc/src/images/cursor-whatsthis.png | Bin 0 -> 191 bytes doc/src/images/customcompleter-example.png | Bin 0 -> 11636 bytes .../images/customcompleter-insertcompletion.png | Bin 0 -> 1371 bytes doc/src/images/customsortfiltermodel-example.png | Bin 0 -> 74359 bytes doc/src/images/customwidgetplugin-example.png | Bin 0 -> 2175 bytes doc/src/images/datetimewidgets.png | Bin 0 -> 6434 bytes doc/src/images/dbus-chat-example.png | Bin 0 -> 38530 bytes doc/src/images/defaultprototypes-example.png | Bin 0 -> 5840 bytes doc/src/images/deform-demo.png | Bin 0 -> 88656 bytes doc/src/images/delayedecoding-example.png | Bin 0 -> 22793 bytes doc/src/images/deployment-mac-application.png | Bin 0 -> 88074 bytes doc/src/images/deployment-mac-bundlestructure.png | Bin 0 -> 37382 bytes doc/src/images/deployment-windows-depends.png | Bin 0 -> 106931 bytes doc/src/images/designer-action-editor.png | Bin 0 -> 46233 bytes doc/src/images/designer-add-custom-toolbar.png | Bin 0 -> 940 bytes doc/src/images/designer-add-files-button.png | Bin 0 -> 1130 bytes .../images/designer-add-resource-entry-button.png | Bin 0 -> 899 bytes doc/src/images/designer-adding-dockwidget.png | Bin 0 -> 7138 bytes .../images/designer-adding-dynamic-property.png | Bin 0 -> 9658 bytes doc/src/images/designer-adding-menu-action.png | Bin 0 -> 6168 bytes doc/src/images/designer-adding-toolbar-action.png | Bin 0 -> 5644 bytes doc/src/images/designer-buddy-making.png | Bin 0 -> 8885 bytes doc/src/images/designer-buddy-mode.png | Bin 0 -> 8008 bytes doc/src/images/designer-buddy-tool.png | Bin 0 -> 2046 bytes doc/src/images/designer-choosing-form.png | Bin 0 -> 38078 bytes doc/src/images/designer-code-viewer.png | Bin 0 -> 107457 bytes doc/src/images/designer-connection-dialog.png | Bin 0 -> 31669 bytes doc/src/images/designer-connection-editing.png | Bin 0 -> 9350 bytes doc/src/images/designer-connection-editor.png | Bin 0 -> 8650 bytes doc/src/images/designer-connection-highlight.png | Bin 0 -> 5297 bytes doc/src/images/designer-connection-making.png | Bin 0 -> 6869 bytes doc/src/images/designer-connection-mode.png | Bin 0 -> 9727 bytes doc/src/images/designer-connection-to-form.png | Bin 0 -> 4504 bytes doc/src/images/designer-connection-tool.png | Bin 0 -> 1989 bytes doc/src/images/designer-containers-dockwidget.png | Bin 0 -> 3259 bytes doc/src/images/designer-containers-frame.png | Bin 0 -> 744 bytes doc/src/images/designer-containers-groupbox.png | Bin 0 -> 1969 bytes .../images/designer-containers-stackedwidget.png | Bin 0 -> 2192 bytes doc/src/images/designer-containers-tabwidget.png | Bin 0 -> 1681 bytes doc/src/images/designer-containers-toolbox.png | Bin 0 -> 6279 bytes .../images/designer-creating-dynamic-property.png | Bin 0 -> 8640 bytes doc/src/images/designer-creating-menu-entry1.png | Bin 0 -> 5397 bytes doc/src/images/designer-creating-menu-entry2.png | Bin 0 -> 5479 bytes doc/src/images/designer-creating-menu-entry3.png | Bin 0 -> 6097 bytes doc/src/images/designer-creating-menu-entry4.png | Bin 0 -> 7307 bytes doc/src/images/designer-creating-menu.png | Bin 0 -> 2806 bytes doc/src/images/designer-creating-menu1.png | Bin 0 -> 2733 bytes doc/src/images/designer-creating-menu2.png | Bin 0 -> 2806 bytes doc/src/images/designer-creating-menu3.png | Bin 0 -> 2587 bytes doc/src/images/designer-creating-menu4.png | Bin 0 -> 2897 bytes doc/src/images/designer-creating-menubar.png | Bin 0 -> 7687 bytes doc/src/images/designer-custom-widget-box.png | Bin 0 -> 10330 bytes doc/src/images/designer-customize-toolbar.png | Bin 0 -> 98083 bytes doc/src/images/designer-dialog-final.png | Bin 0 -> 7464 bytes doc/src/images/designer-dialog-initial.png | Bin 0 -> 26582 bytes doc/src/images/designer-dialog-layout.png | Bin 0 -> 18892 bytes doc/src/images/designer-dialog-preview.png | Bin 0 -> 11766 bytes doc/src/images/designer-disambiguation.png | Bin 0 -> 5844 bytes doc/src/images/designer-dragging-onto-form.png | Bin 0 -> 6291 bytes doc/src/images/designer-edit-resource.png | Bin 0 -> 18989 bytes doc/src/images/designer-edit-resources-button.png | Bin 0 -> 850 bytes doc/src/images/designer-editing-mode.png | Bin 0 -> 8131 bytes doc/src/images/designer-embedded-preview.png | Bin 0 -> 6494 bytes doc/src/images/designer-english-dialog.png | Bin 0 -> 22253 bytes doc/src/images/designer-examples.png | Bin 0 -> 8936 bytes doc/src/images/designer-file-menu.png | Bin 0 -> 4992 bytes doc/src/images/designer-find-icon.png | Bin 0 -> 52951 bytes doc/src/images/designer-form-layout-cleanlooks.png | Bin 0 -> 8296 bytes doc/src/images/designer-form-layout-macintosh.png | Bin 0 -> 6720 bytes doc/src/images/designer-form-layout-windowsXP.png | Bin 0 -> 8269 bytes doc/src/images/designer-form-layout.png | Bin 0 -> 8065 bytes doc/src/images/designer-form-layoutfunction.png | Bin 0 -> 6890 bytes doc/src/images/designer-form-settings.png | Bin 0 -> 15262 bytes doc/src/images/designer-form-viewcode.png | Bin 0 -> 21674 bytes doc/src/images/designer-french-dialog.png | Bin 0 -> 25444 bytes doc/src/images/designer-getting-started.png | Bin 0 -> 8643 bytes doc/src/images/designer-layout-inserting.png | Bin 0 -> 7763 bytes doc/src/images/designer-main-window.png | Bin 0 -> 38403 bytes doc/src/images/designer-making-connection.png | Bin 0 -> 9580 bytes .../images/designer-manual-containerextension.png | Bin 0 -> 12183 bytes .../designer-manual-membersheetextension.png | Bin 0 -> 19526 bytes .../designer-manual-propertysheetextension.png | Bin 0 -> 28707 bytes .../images/designer-manual-taskmenuextension.png | Bin 0 -> 12821 bytes doc/src/images/designer-multiple-screenshot.png | Bin 0 -> 182639 bytes doc/src/images/designer-object-inspector.png | Bin 0 -> 8529 bytes doc/src/images/designer-palette-brush-editor.png | Bin 0 -> 31141 bytes doc/src/images/designer-palette-editor.png | Bin 0 -> 46052 bytes .../images/designer-palette-gradient-editor.png | Bin 0 -> 73055 bytes doc/src/images/designer-palette-pattern-editor.png | Bin 0 -> 29948 bytes doc/src/images/designer-preview-device-skin.png | Bin 0 -> 65513 bytes .../designer-preview-deviceskin-selection.png | Bin 0 -> 7562 bytes .../images/designer-preview-style-selection.png | Bin 0 -> 5913 bytes doc/src/images/designer-preview-style.png | Bin 0 -> 40601 bytes doc/src/images/designer-preview-stylesheet.png | Bin 0 -> 33386 bytes doc/src/images/designer-promoting-widgets.png | Bin 0 -> 16816 bytes .../designer-property-editor-add-dynamic.png | Bin 0 -> 807 bytes .../images/designer-property-editor-configure.png | Bin 0 -> 981 bytes doc/src/images/designer-property-editor-link.png | Bin 0 -> 18143 bytes .../designer-property-editor-remove-dynamic.png | Bin 0 -> 362 bytes .../images/designer-property-editor-toolbar.png | Bin 0 -> 3409 bytes doc/src/images/designer-property-editor.png | Bin 0 -> 45934 bytes .../images/designer-reload-resources-button.png | Bin 0 -> 1107 bytes doc/src/images/designer-remove-custom-toolbar.png | Bin 0 -> 751 bytes .../designer-remove-resource-entry-button.png | Bin 0 -> 680 bytes doc/src/images/designer-resource-browser.png | Bin 0 -> 13610 bytes doc/src/images/designer-resource-selector.png | Bin 0 -> 16664 bytes doc/src/images/designer-resource-tool.png | Bin 0 -> 2171 bytes doc/src/images/designer-resources-adding.png | Bin 0 -> 12014 bytes doc/src/images/designer-resources-editing.png | Bin 0 -> 16219 bytes doc/src/images/designer-resources-empty.png | Bin 0 -> 8297 bytes doc/src/images/designer-resources-using.png | Bin 0 -> 4311 bytes doc/src/images/designer-screenshot-small.png | Bin 0 -> 109684 bytes doc/src/images/designer-screenshot.png | Bin 0 -> 169618 bytes doc/src/images/designer-selecting-widget.png | Bin 0 -> 7266 bytes doc/src/images/designer-selecting-widgets.png | Bin 0 -> 8095 bytes doc/src/images/designer-set-layout.png | Bin 0 -> 4126 bytes doc/src/images/designer-set-layout2.png | Bin 0 -> 8356 bytes doc/src/images/designer-splitter-layout.png | Bin 0 -> 81481 bytes doc/src/images/designer-stylesheet-options.png | Bin 0 -> 18914 bytes doc/src/images/designer-stylesheet-usage.png | Bin 0 -> 8128 bytes doc/src/images/designer-tab-order-mode.png | Bin 0 -> 9744 bytes doc/src/images/designer-tab-order-tool.png | Bin 0 -> 1963 bytes doc/src/images/designer-validator-highlighter.png | Bin 0 -> 27153 bytes doc/src/images/designer-widget-box.png | Bin 0 -> 13120 bytes doc/src/images/designer-widget-filter.png | Bin 0 -> 16325 bytes doc/src/images/designer-widget-final.png | Bin 0 -> 9462 bytes doc/src/images/designer-widget-initial.png | Bin 0 -> 15323 bytes doc/src/images/designer-widget-layout.png | Bin 0 -> 14885 bytes doc/src/images/designer-widget-morph.png | Bin 0 -> 21957 bytes doc/src/images/designer-widget-preview.png | Bin 0 -> 9991 bytes doc/src/images/designer-widget-tool.png | Bin 0 -> 1874 bytes doc/src/images/desktop-examples.png | Bin 0 -> 6430 bytes doc/src/images/diagonalGradient.png | Bin 0 -> 611 bytes doc/src/images/diagramscene.png | Bin 0 -> 21070 bytes doc/src/images/dialog-examples.png | Bin 0 -> 7049 bytes doc/src/images/dialogbuttonboxexample.png | Bin 0 -> 16426 bytes doc/src/images/dialogs-examples.png | Bin 0 -> 7049 bytes doc/src/images/digitalclock-example.png | Bin 0 -> 6142 bytes doc/src/images/directapproach-calculatorform.png | Bin 0 -> 7978 bytes doc/src/images/dirview-example.png | Bin 0 -> 22348 bytes doc/src/images/dockwidget-cross.png | Bin 0 -> 28926 bytes doc/src/images/dockwidget-neighbors.png | Bin 0 -> 21011 bytes doc/src/images/dockwidgets-example.png | Bin 0 -> 17312 bytes doc/src/images/dombookmarks-example.png | Bin 0 -> 19405 bytes doc/src/images/draganddrop-examples.png | Bin 0 -> 14216 bytes doc/src/images/draganddroppuzzle-example.png | Bin 0 -> 191122 bytes doc/src/images/dragdroprobot-example.png | Bin 0 -> 28679 bytes doc/src/images/draggableicons-example.png | Bin 0 -> 20277 bytes doc/src/images/draggabletext-example.png | Bin 0 -> 10616 bytes doc/src/images/draw_arc.png | Bin 0 -> 2268 bytes doc/src/images/draw_chord.png | Bin 0 -> 2232 bytes doc/src/images/drilldown-example.png | Bin 0 -> 128081 bytes doc/src/images/dropsite-example.png | Bin 0 -> 118905 bytes doc/src/images/dynamiclayouts-example.png | Bin 0 -> 11597 bytes doc/src/images/echopluginexample.png | Bin 0 -> 5921 bytes doc/src/images/effectwidget.png | Bin 0 -> 6125 bytes doc/src/images/elasticnodes-example.png | Bin 0 -> 20101 bytes doc/src/images/embedded-demo-launcher.png | Bin 0 -> 92072 bytes .../embedded-simpledecoration-example-styles.png | Bin 0 -> 17654 bytes .../images/embedded-simpledecoration-example.png | Bin 0 -> 41636 bytes doc/src/images/embeddeddialogs-demo.png | Bin 0 -> 126932 bytes doc/src/images/extension-example.png | Bin 0 -> 7676 bytes doc/src/images/extension_more.png | Bin 0 -> 9309 bytes doc/src/images/fetchmore-example.png | Bin 0 -> 13407 bytes doc/src/images/filedialogurls.png | Bin 0 -> 29132 bytes doc/src/images/filetree_1-example.png | Bin 0 -> 116931 bytes doc/src/images/filetree_2-example.png | Bin 0 -> 121356 bytes doc/src/images/findfiles-example.png | Bin 0 -> 11219 bytes doc/src/images/findfiles_progress_dialog.png | Bin 0 -> 6759 bytes doc/src/images/flowlayout-example.png | Bin 0 -> 5054 bytes doc/src/images/fontsampler-example.png | Bin 0 -> 56819 bytes doc/src/images/foreignkeys.png | Bin 0 -> 3739 bytes doc/src/images/formextractor-example.png | Bin 0 -> 80692 bytes doc/src/images/fortuneclient-example.png | Bin 0 -> 8282 bytes doc/src/images/fortuneserver-example.png | Bin 0 -> 7883 bytes doc/src/images/framebufferobject-example.png | Bin 0 -> 117430 bytes doc/src/images/framebufferobject2-example.png | Bin 0 -> 203754 bytes doc/src/images/frames.png | Bin 0 -> 25735 bytes doc/src/images/fridgemagnets-example.png | Bin 0 -> 33012 bytes doc/src/images/ftp-example.png | Bin 0 -> 12371 bytes doc/src/images/geometry.png | Bin 0 -> 7847 bytes doc/src/images/grabber-example.png | Bin 0 -> 9893 bytes doc/src/images/gradientText.png | Bin 0 -> 11155 bytes doc/src/images/gradients-demo.png | Bin 0 -> 93147 bytes doc/src/images/graphicsview-ellipseitem-pie.png | Bin 0 -> 6683 bytes doc/src/images/graphicsview-ellipseitem.png | Bin 0 -> 5801 bytes doc/src/images/graphicsview-examples.png | Bin 0 -> 26994 bytes doc/src/images/graphicsview-items.png | Bin 0 -> 62593 bytes doc/src/images/graphicsview-lineitem.png | Bin 0 -> 3685 bytes doc/src/images/graphicsview-map.png | Bin 0 -> 116541 bytes doc/src/images/graphicsview-parentchild.png | Bin 0 -> 7944 bytes doc/src/images/graphicsview-pathitem.png | Bin 0 -> 5710 bytes doc/src/images/graphicsview-pixmapitem.png | Bin 0 -> 10764 bytes doc/src/images/graphicsview-polygonitem.png | Bin 0 -> 5829 bytes doc/src/images/graphicsview-rectitem.png | Bin 0 -> 3305 bytes doc/src/images/graphicsview-shapes.png | Bin 0 -> 232704 bytes doc/src/images/graphicsview-simpletextitem.png | Bin 0 -> 7297 bytes doc/src/images/graphicsview-text.png | Bin 0 -> 82252 bytes doc/src/images/graphicsview-textitem.png | Bin 0 -> 6950 bytes doc/src/images/graphicsview-view.png | Bin 0 -> 53967 bytes doc/src/images/graphicsview-zorder.png | Bin 0 -> 6724 bytes doc/src/images/gridlayout.png | Bin 0 -> 1445 bytes doc/src/images/groupbox-example.png | Bin 0 -> 18620 bytes doc/src/images/gtk-calendarwidget.png | Bin 0 -> 16761 bytes doc/src/images/gtk-checkbox.png | Bin 0 -> 2323 bytes doc/src/images/gtk-columnview.png | Bin 0 -> 2889 bytes doc/src/images/gtk-combobox.png | Bin 0 -> 2730 bytes doc/src/images/gtk-dateedit.png | Bin 0 -> 2163 bytes doc/src/images/gtk-datetimeedit.png | Bin 0 -> 2923 bytes doc/src/images/gtk-dial.png | Bin 0 -> 7221 bytes doc/src/images/gtk-doublespinbox.png | Bin 0 -> 2325 bytes doc/src/images/gtk-fontcombobox.png | Bin 0 -> 3022 bytes doc/src/images/gtk-frame.png | Bin 0 -> 2340 bytes doc/src/images/gtk-groupbox.png | Bin 0 -> 6650 bytes doc/src/images/gtk-horizontalscrollbar.png | Bin 0 -> 1701 bytes doc/src/images/gtk-label.png | Bin 0 -> 1582 bytes doc/src/images/gtk-lcdnumber.png | Bin 0 -> 1193 bytes doc/src/images/gtk-lineedit.png | Bin 0 -> 2528 bytes doc/src/images/gtk-listview.png | Bin 0 -> 8493 bytes doc/src/images/gtk-progressbar.png | Bin 0 -> 2228 bytes doc/src/images/gtk-pushbutton.png | Bin 0 -> 2153 bytes doc/src/images/gtk-radiobutton.png | Bin 0 -> 3142 bytes doc/src/images/gtk-slider.png | Bin 0 -> 1359 bytes doc/src/images/gtk-spinbox.png | Bin 0 -> 2078 bytes doc/src/images/gtk-style-screenshot.png | Bin 0 -> 24295 bytes doc/src/images/gtk-tableview.png | Bin 0 -> 8364 bytes doc/src/images/gtk-tabwidget.png | Bin 0 -> 8179 bytes doc/src/images/gtk-textedit.png | Bin 0 -> 12641 bytes doc/src/images/gtk-timeedit.png | Bin 0 -> 2621 bytes doc/src/images/gtk-toolbox.png | Bin 0 -> 4240 bytes doc/src/images/gtk-toolbutton.png | Bin 0 -> 2260 bytes doc/src/images/gtk-treeview.png | Bin 0 -> 9722 bytes doc/src/images/hellogl-es-example.png | Bin 0 -> 61110 bytes doc/src/images/hellogl-example.png | Bin 0 -> 9520 bytes doc/src/images/http-example.png | Bin 0 -> 7006 bytes doc/src/images/httpstack.png | Bin 0 -> 29855 bytes doc/src/images/i18n-example.png | Bin 0 -> 22531 bytes doc/src/images/icon.png | Bin 0 -> 40790 bytes doc/src/images/icons-example.png | Bin 0 -> 60906 bytes doc/src/images/icons-view-menu.png | Bin 0 -> 2392 bytes doc/src/images/icons_find_normal.png | Bin 0 -> 25313 bytes doc/src/images/icons_find_normal_disabled.png | Bin 0 -> 27271 bytes doc/src/images/icons_images_groupbox.png | Bin 0 -> 2316 bytes doc/src/images/icons_monkey.png | Bin 0 -> 43975 bytes doc/src/images/icons_monkey_active.png | Bin 0 -> 37222 bytes doc/src/images/icons_monkey_mess.png | Bin 0 -> 42785 bytes doc/src/images/icons_preview_area.png | Bin 0 -> 2315 bytes doc/src/images/icons_qt_extended_16x16.png | Bin 0 -> 1184 bytes doc/src/images/icons_qt_extended_17x17.png | Bin 0 -> 1219 bytes doc/src/images/icons_qt_extended_32x32.png | Bin 0 -> 2185 bytes doc/src/images/icons_qt_extended_33x33.png | Bin 0 -> 2435 bytes doc/src/images/icons_qt_extended_48x48.png | Bin 0 -> 3805 bytes doc/src/images/icons_qt_extended_64x64.png | Bin 0 -> 3805 bytes doc/src/images/icons_qt_extended_8x8.png | Bin 0 -> 685 bytes doc/src/images/icons_size_groupbox.png | Bin 0 -> 2651 bytes doc/src/images/icons_size_spinbox.png | Bin 0 -> 561 bytes doc/src/images/imagecomposition-example.png | Bin 0 -> 32905 bytes doc/src/images/imageviewer-example.png | Bin 0 -> 168586 bytes doc/src/images/imageviewer-fit_to_window_1.png | Bin 0 -> 84584 bytes doc/src/images/imageviewer-fit_to_window_2.png | Bin 0 -> 145998 bytes doc/src/images/imageviewer-original_size.png | Bin 0 -> 61567 bytes doc/src/images/imageviewer-zoom_in_1.png | Bin 0 -> 84559 bytes doc/src/images/imageviewer-zoom_in_2.png | Bin 0 -> 85537 bytes doc/src/images/inputdialogs.png | Bin 0 -> 4244 bytes doc/src/images/insertrowinmodelview.png | Bin 0 -> 3867 bytes doc/src/images/interview-demo.png | Bin 0 -> 29651 bytes doc/src/images/interview-shareddirmodel.png | Bin 0 -> 10153 bytes doc/src/images/itemview-examples.png | Bin 0 -> 15264 bytes .../images/itemviews-editabletreemodel-indexes.png | Bin 0 -> 23239 bytes .../images/itemviews-editabletreemodel-items.png | Bin 0 -> 26317 bytes .../images/itemviews-editabletreemodel-model.png | Bin 0 -> 18629 bytes .../images/itemviews-editabletreemodel-values.png | Bin 0 -> 22202 bytes doc/src/images/itemviews-editabletreemodel.png | Bin 0 -> 32534 bytes doc/src/images/itemviews-examples.png | Bin 0 -> 15264 bytes doc/src/images/itemviewspuzzle-example.png | Bin 0 -> 211091 bytes doc/src/images/javaiterators1.png | Bin 0 -> 1062 bytes doc/src/images/javaiterators2.png | Bin 0 -> 2011 bytes doc/src/images/javastyle/branchindicatorimage.png | Bin 0 -> 18867 bytes doc/src/images/javastyle/button.png | Bin 0 -> 5475 bytes doc/src/images/javastyle/checkbox.png | Bin 0 -> 3634 bytes doc/src/images/javastyle/checkboxexample.png | Bin 0 -> 911 bytes doc/src/images/javastyle/checkingsomestuff.png | Bin 0 -> 14952 bytes doc/src/images/javastyle/combobox.png | Bin 0 -> 3537 bytes doc/src/images/javastyle/comboboximage.png | Bin 0 -> 6527 bytes .../images/javastyle/conceptualpushbuttontree.png | Bin 0 -> 3590 bytes doc/src/images/javastyle/dockwidget.png | Bin 0 -> 7181 bytes doc/src/images/javastyle/dockwidgetimage.png | Bin 0 -> 21774 bytes doc/src/images/javastyle/groupbox.png | Bin 0 -> 2010 bytes doc/src/images/javastyle/groupboximage.png | Bin 0 -> 7067 bytes doc/src/images/javastyle/header.png | Bin 0 -> 4399 bytes doc/src/images/javastyle/headerimage.png | Bin 0 -> 6474 bytes doc/src/images/javastyle/menu.png | Bin 0 -> 6508 bytes doc/src/images/javastyle/menubar.png | Bin 0 -> 4315 bytes doc/src/images/javastyle/menubarimage.png | Bin 0 -> 4487 bytes doc/src/images/javastyle/menuimage.png | Bin 0 -> 5584 bytes doc/src/images/javastyle/plastiquetabimage.png | Bin 0 -> 6061 bytes doc/src/images/javastyle/plastiquetabtest.png | Bin 0 -> 5798 bytes doc/src/images/javastyle/progressbar.png | Bin 0 -> 4493 bytes doc/src/images/javastyle/progressbarimage.png | Bin 0 -> 6921 bytes doc/src/images/javastyle/pushbutton.png | Bin 0 -> 6820 bytes doc/src/images/javastyle/rubberband.png | Bin 0 -> 765 bytes doc/src/images/javastyle/rubberbandimage.png | Bin 0 -> 6452 bytes doc/src/images/javastyle/scrollbar.png | Bin 0 -> 7199 bytes doc/src/images/javastyle/scrollbarimage.png | Bin 0 -> 6196 bytes doc/src/images/javastyle/sizegrip.png | Bin 0 -> 708 bytes doc/src/images/javastyle/sizegripimage.png | Bin 0 -> 1793 bytes doc/src/images/javastyle/slider.png | Bin 0 -> 2844 bytes doc/src/images/javastyle/sliderhandle.png | Bin 0 -> 6304 bytes doc/src/images/javastyle/sliderimage.png | Bin 0 -> 3442 bytes doc/src/images/javastyle/slidertroubble.png | Bin 0 -> 23927 bytes doc/src/images/javastyle/spinbox.png | Bin 0 -> 2864 bytes doc/src/images/javastyle/spinboximage.png | Bin 0 -> 4544 bytes doc/src/images/javastyle/splitter.png | Bin 0 -> 817 bytes doc/src/images/javastyle/tab.png | Bin 0 -> 12176 bytes doc/src/images/javastyle/tabwidget.png | Bin 0 -> 4725 bytes doc/src/images/javastyle/titlebar.png | Bin 0 -> 2609 bytes doc/src/images/javastyle/titlebarimage.png | Bin 0 -> 6882 bytes doc/src/images/javastyle/toolbar.png | Bin 0 -> 6303 bytes doc/src/images/javastyle/toolbarimage.png | Bin 0 -> 8245 bytes doc/src/images/javastyle/toolbox.png | Bin 0 -> 3211 bytes doc/src/images/javastyle/toolboximage.png | Bin 0 -> 5580 bytes doc/src/images/javastyle/toolbutton.png | Bin 0 -> 4487 bytes doc/src/images/javastyle/toolbuttonimage.png | Bin 0 -> 5124 bytes doc/src/images/javastyle/windowstabimage.png | Bin 0 -> 6898 bytes doc/src/images/layout-examples.png | Bin 0 -> 13670 bytes doc/src/images/layout1.png | Bin 0 -> 106 bytes doc/src/images/layout2.png | Bin 0 -> 233 bytes doc/src/images/layouts-examples.png | Bin 0 -> 13670 bytes doc/src/images/licensewizard-example.png | Bin 0 -> 65778 bytes doc/src/images/licensewizard-flow.png | Bin 0 -> 15306 bytes doc/src/images/licensewizard.png | Bin 0 -> 43131 bytes doc/src/images/lineedits-example.png | Bin 0 -> 14584 bytes doc/src/images/linguist-arrowpad_en.png | Bin 0 -> 1429 bytes doc/src/images/linguist-arrowpad_fr.png | Bin 0 -> 1671 bytes doc/src/images/linguist-arrowpad_nl.png | Bin 0 -> 1706 bytes doc/src/images/linguist-auxlanguages.png | Bin 0 -> 13023 bytes doc/src/images/linguist-batchtranslation.png | Bin 0 -> 17116 bytes doc/src/images/linguist-check-empty.png | Bin 0 -> 404 bytes doc/src/images/linguist-check-obsolete.png | Bin 0 -> 192 bytes doc/src/images/linguist-check-off.png | Bin 0 -> 434 bytes doc/src/images/linguist-check-on.png | Bin 0 -> 192 bytes doc/src/images/linguist-check-warning.png | Bin 0 -> 192 bytes doc/src/images/linguist-danger.png | Bin 0 -> 304 bytes doc/src/images/linguist-doneandnext.png | Bin 0 -> 1849 bytes doc/src/images/linguist-editcopy.png | Bin 0 -> 1614 bytes doc/src/images/linguist-editcut.png | Bin 0 -> 1896 bytes doc/src/images/linguist-editfind.png | Bin 0 -> 1944 bytes doc/src/images/linguist-editpaste.png | Bin 0 -> 1989 bytes doc/src/images/linguist-editredo.png | Bin 0 -> 1787 bytes doc/src/images/linguist-editundo.png | Bin 0 -> 1768 bytes doc/src/images/linguist-examples.png | Bin 0 -> 8571 bytes doc/src/images/linguist-fileopen.png | Bin 0 -> 2309 bytes doc/src/images/linguist-fileprint.png | Bin 0 -> 1732 bytes doc/src/images/linguist-filesave.png | Bin 0 -> 1894 bytes doc/src/images/linguist-finddialog.png | Bin 0 -> 12457 bytes doc/src/images/linguist-hellotr_en.png | Bin 0 -> 3367 bytes doc/src/images/linguist-hellotr_la.png | Bin 0 -> 753 bytes doc/src/images/linguist-linguist.png | Bin 0 -> 201717 bytes doc/src/images/linguist-linguist_2.png | Bin 0 -> 260946 bytes doc/src/images/linguist-menubar.png | Bin 0 -> 1492 bytes doc/src/images/linguist-next.png | Bin 0 -> 908 bytes doc/src/images/linguist-nextunfinished.png | Bin 0 -> 1928 bytes doc/src/images/linguist-phrasebookdialog.png | Bin 0 -> 36034 bytes doc/src/images/linguist-phrasebookopen.png | Bin 0 -> 1571 bytes doc/src/images/linguist-prev.png | Bin 0 -> 911 bytes doc/src/images/linguist-previewtool.png | Bin 0 -> 74735 bytes doc/src/images/linguist-prevunfinished.png | Bin 0 -> 1883 bytes doc/src/images/linguist-toolbar.png | Bin 0 -> 19941 bytes .../images/linguist-translationfilesettings.png | Bin 0 -> 49604 bytes doc/src/images/linguist-trollprint_10_en.png | Bin 0 -> 1951 bytes doc/src/images/linguist-trollprint_10_pt_bad.png | Bin 0 -> 2073 bytes doc/src/images/linguist-trollprint_10_pt_good.png | Bin 0 -> 2120 bytes doc/src/images/linguist-trollprint_11_en.png | Bin 0 -> 2019 bytes doc/src/images/linguist-trollprint_11_pt.png | Bin 0 -> 2152 bytes doc/src/images/linguist-validateaccelerators.png | Bin 0 -> 2159 bytes doc/src/images/linguist-validatephrases.png | Bin 0 -> 2251 bytes doc/src/images/linguist-validateplacemarkers.png | Bin 0 -> 1994 bytes doc/src/images/linguist-validatepunctuation.png | Bin 0 -> 1851 bytes doc/src/images/linguist-whatsthis.png | Bin 0 -> 1948 bytes doc/src/images/localfortuneclient-example.png | Bin 0 -> 8402 bytes doc/src/images/localfortuneserver-example.png | Bin 0 -> 5715 bytes doc/src/images/loopback-example.png | Bin 0 -> 6195 bytes doc/src/images/mac-cocoa.png | Bin 0 -> 7229 bytes doc/src/images/macintosh-calendarwidget.png | Bin 0 -> 13560 bytes doc/src/images/macintosh-checkbox.png | Bin 0 -> 2473 bytes doc/src/images/macintosh-combobox.png | Bin 0 -> 3273 bytes doc/src/images/macintosh-dateedit.png | Bin 0 -> 1703 bytes doc/src/images/macintosh-datetimeedit.png | Bin 0 -> 2633 bytes doc/src/images/macintosh-dial.png | Bin 0 -> 2563 bytes doc/src/images/macintosh-doublespinbox.png | Bin 0 -> 2306 bytes doc/src/images/macintosh-fontcombobox.png | Bin 0 -> 2967 bytes doc/src/images/macintosh-frame.png | Bin 0 -> 6187 bytes doc/src/images/macintosh-groupbox.png | Bin 0 -> 6469 bytes doc/src/images/macintosh-horizontalscrollbar.png | Bin 0 -> 2242 bytes doc/src/images/macintosh-label.png | Bin 0 -> 1450 bytes doc/src/images/macintosh-lcdnumber.png | Bin 0 -> 492 bytes doc/src/images/macintosh-lineedit.png | Bin 0 -> 1854 bytes doc/src/images/macintosh-listview.png | Bin 0 -> 9987 bytes doc/src/images/macintosh-menu.png | Bin 0 -> 6891 bytes doc/src/images/macintosh-progressbar.png | Bin 0 -> 1127 bytes doc/src/images/macintosh-pushbutton.png | Bin 0 -> 2966 bytes doc/src/images/macintosh-radiobutton.png | Bin 0 -> 2914 bytes doc/src/images/macintosh-slider.png | Bin 0 -> 1694 bytes doc/src/images/macintosh-spinbox.png | Bin 0 -> 1964 bytes doc/src/images/macintosh-tableview.png | Bin 0 -> 10024 bytes doc/src/images/macintosh-tabwidget.png | Bin 0 -> 9562 bytes doc/src/images/macintosh-textedit.png | Bin 0 -> 7845 bytes doc/src/images/macintosh-timeedit.png | Bin 0 -> 2244 bytes doc/src/images/macintosh-toolbox.png | Bin 0 -> 2576 bytes doc/src/images/macintosh-toolbutton.png | Bin 0 -> 2003 bytes doc/src/images/macintosh-treeview.png | Bin 0 -> 11728 bytes doc/src/images/macintosh-unified-toolbar.png | Bin 0 -> 28974 bytes doc/src/images/macmainwindow.png | Bin 0 -> 39579 bytes doc/src/images/mainwindow-contextmenu.png | Bin 0 -> 4971 bytes doc/src/images/mainwindow-custom-dock.png | Bin 0 -> 37983 bytes doc/src/images/mainwindow-demo.png | Bin 0 -> 62759 bytes doc/src/images/mainwindow-docks-example.png | Bin 0 -> 14427 bytes doc/src/images/mainwindow-docks.png | Bin 0 -> 37240 bytes doc/src/images/mainwindow-examples.png | Bin 0 -> 10271 bytes doc/src/images/mainwindow-vertical-dock.png | Bin 0 -> 14773 bytes doc/src/images/mainwindow-vertical-tabs.png | Bin 0 -> 29591 bytes doc/src/images/mainwindowlayout.png | Bin 0 -> 6782 bytes doc/src/images/mainwindows-examples.png | Bin 0 -> 7049 bytes doc/src/images/mandelbrot-example.png | Bin 0 -> 84202 bytes doc/src/images/mandelbrot_scroll1.png | Bin 0 -> 19615 bytes doc/src/images/mandelbrot_scroll2.png | Bin 0 -> 13901 bytes doc/src/images/mandelbrot_scroll3.png | Bin 0 -> 18976 bytes doc/src/images/mandelbrot_zoom1.png | Bin 0 -> 16000 bytes doc/src/images/mandelbrot_zoom2.png | Bin 0 -> 8163 bytes doc/src/images/mandelbrot_zoom3.png | Bin 0 -> 9848 bytes doc/src/images/masterdetail-example.png | Bin 0 -> 104228 bytes doc/src/images/mdi-cascade.png | Bin 0 -> 14590 bytes doc/src/images/mdi-example.png | Bin 0 -> 33375 bytes doc/src/images/mdi-tile.png | Bin 0 -> 31624 bytes doc/src/images/mediaplayer-demo.png | Bin 0 -> 12868 bytes doc/src/images/menus-example.png | Bin 0 -> 12487 bytes doc/src/images/modelindex-no-parent.png | Bin 0 -> 7407 bytes doc/src/images/modelindex-parent.png | Bin 0 -> 50172 bytes doc/src/images/modelview-begin-append-columns.png | Bin 0 -> 12798 bytes doc/src/images/modelview-begin-append-rows.png | Bin 0 -> 8967 bytes doc/src/images/modelview-begin-insert-columns.png | Bin 0 -> 14476 bytes doc/src/images/modelview-begin-insert-rows.png | Bin 0 -> 12565 bytes doc/src/images/modelview-begin-remove-columns.png | Bin 0 -> 14518 bytes doc/src/images/modelview-begin-remove-rows.png | Bin 0 -> 10896 bytes doc/src/images/modelview-listmodel.png | Bin 0 -> 5478 bytes doc/src/images/modelview-models.png | Bin 0 -> 20540 bytes doc/src/images/modelview-overview.png | Bin 0 -> 15042 bytes doc/src/images/modelview-roles.png | Bin 0 -> 24954 bytes doc/src/images/modelview-tablemodel.png | Bin 0 -> 12256 bytes doc/src/images/modelview-treemodel.png | Bin 0 -> 9193 bytes doc/src/images/motif-calendarwidget.png | Bin 0 -> 9989 bytes doc/src/images/motif-checkbox.png | Bin 0 -> 1284 bytes doc/src/images/motif-combobox.png | Bin 0 -> 1276 bytes doc/src/images/motif-dateedit.png | Bin 0 -> 1214 bytes doc/src/images/motif-datetimeedit.png | Bin 0 -> 1730 bytes doc/src/images/motif-dial.png | Bin 0 -> 2017 bytes doc/src/images/motif-doublespinbox.png | Bin 0 -> 1019 bytes doc/src/images/motif-fontcombobox.png | Bin 0 -> 1633 bytes doc/src/images/motif-frame.png | Bin 0 -> 5631 bytes doc/src/images/motif-groupbox.png | Bin 0 -> 2514 bytes doc/src/images/motif-horizontalscrollbar.png | Bin 0 -> 628 bytes doc/src/images/motif-label.png | Bin 0 -> 699 bytes doc/src/images/motif-lcdnumber.png | Bin 0 -> 538 bytes doc/src/images/motif-lineedit.png | Bin 0 -> 1360 bytes doc/src/images/motif-listview.png | Bin 0 -> 5189 bytes doc/src/images/motif-menubar.png | Bin 0 -> 1350 bytes doc/src/images/motif-progressbar.png | Bin 0 -> 927 bytes doc/src/images/motif-pushbutton.png | Bin 0 -> 1045 bytes doc/src/images/motif-radiobutton.png | Bin 0 -> 1545 bytes doc/src/images/motif-slider.png | Bin 0 -> 543 bytes doc/src/images/motif-spinbox.png | Bin 0 -> 875 bytes doc/src/images/motif-tableview.png | Bin 0 -> 3102 bytes doc/src/images/motif-tabwidget.png | Bin 0 -> 2490 bytes doc/src/images/motif-textedit.png | Bin 0 -> 7378 bytes doc/src/images/motif-timeedit.png | Bin 0 -> 1280 bytes doc/src/images/motif-todo.png | Bin 0 -> 4075 bytes doc/src/images/motif-toolbox.png | Bin 0 -> 1667 bytes doc/src/images/motif-toolbutton.png | Bin 0 -> 1152 bytes doc/src/images/motif-treeview.png | Bin 0 -> 6386 bytes doc/src/images/movie-example.png | Bin 0 -> 12361 bytes doc/src/images/msgbox1.png | Bin 0 -> 4529 bytes doc/src/images/msgbox2.png | Bin 0 -> 9175 bytes doc/src/images/msgbox3.png | Bin 0 -> 9589 bytes doc/src/images/msgbox4.png | Bin 0 -> 17520 bytes doc/src/images/multipleinheritance-example.png | Bin 0 -> 6974 bytes doc/src/images/musicplayer.png | Bin 0 -> 10714 bytes doc/src/images/network-chat-example.png | Bin 0 -> 17453 bytes doc/src/images/network-examples.png | Bin 0 -> 8946 bytes doc/src/images/noforeignkeys.png | Bin 0 -> 3282 bytes doc/src/images/opengl-examples.png | Bin 0 -> 25685 bytes doc/src/images/orderform-example-detailsdialog.png | Bin 0 -> 13070 bytes doc/src/images/orderform-example.png | Bin 0 -> 17404 bytes doc/src/images/overpainting-example.png | Bin 0 -> 67841 bytes doc/src/images/padnavigator-example.png | Bin 0 -> 219818 bytes doc/src/images/painterpaths-example.png | Bin 0 -> 28285 bytes doc/src/images/painting-examples.png | Bin 0 -> 10442 bytes doc/src/images/paintsystem-antialiasing.png | Bin 0 -> 995 bytes doc/src/images/paintsystem-core.png | Bin 0 -> 22101 bytes doc/src/images/paintsystem-devices.png | Bin 0 -> 47404 bytes doc/src/images/paintsystem-fancygradient.png | Bin 0 -> 39213 bytes doc/src/images/paintsystem-gradients.png | Bin 0 -> 16931 bytes doc/src/images/paintsystem-icon.png | Bin 0 -> 5458 bytes doc/src/images/paintsystem-movie.png | Bin 0 -> 4992 bytes doc/src/images/paintsystem-painterpath.png | Bin 0 -> 7503 bytes doc/src/images/paintsystem-stylepainter.png | Bin 0 -> 16572 bytes doc/src/images/paintsystem-svg.png | Bin 0 -> 66692 bytes doc/src/images/palette.png | Bin 0 -> 66359 bytes doc/src/images/parent-child-widgets.png | Bin 0 -> 47824 bytes doc/src/images/pathexample.png | Bin 0 -> 1516 bytes doc/src/images/pathstroke-demo.png | Bin 0 -> 90746 bytes doc/src/images/patternist-importFlow.png | Bin 0 -> 12832 bytes doc/src/images/patternist-wordProcessor.png | Bin 0 -> 10264 bytes doc/src/images/pbuffers-example.png | Bin 0 -> 203754 bytes doc/src/images/pbuffers2-example.png | Bin 0 -> 176171 bytes doc/src/images/phonon-examples.png | Bin 0 -> 41140 bytes doc/src/images/pixelator-example.png | Bin 0 -> 45506 bytes doc/src/images/pixmapfilter-example.png | Bin 0 -> 18249 bytes doc/src/images/pixmapfilterexample-colorize.png | Bin 0 -> 17271 bytes doc/src/images/pixmapfilterexample-dropshadow.png | Bin 0 -> 23930 bytes doc/src/images/plaintext-layout.png | Bin 0 -> 46384 bytes doc/src/images/plastique-calendarwidget.png | Bin 0 -> 9629 bytes doc/src/images/plastique-checkbox.png | Bin 0 -> 1069 bytes doc/src/images/plastique-colordialog.png | Bin 0 -> 22595 bytes doc/src/images/plastique-combobox.png | Bin 0 -> 1714 bytes doc/src/images/plastique-dateedit.png | Bin 0 -> 1271 bytes doc/src/images/plastique-datetimeedit.png | Bin 0 -> 1771 bytes doc/src/images/plastique-dial.png | Bin 0 -> 2995 bytes doc/src/images/plastique-dialogbuttonbox.png | Bin 0 -> 2269 bytes doc/src/images/plastique-doublespinbox.png | Bin 0 -> 1102 bytes doc/src/images/plastique-filedialog.png | Bin 0 -> 19125 bytes doc/src/images/plastique-fontcombobox-open.png | Bin 0 -> 21720 bytes doc/src/images/plastique-fontcombobox.png | Bin 0 -> 1904 bytes doc/src/images/plastique-fontdialog.png | Bin 0 -> 23835 bytes doc/src/images/plastique-frame.png | Bin 0 -> 5616 bytes doc/src/images/plastique-groupbox.png | Bin 0 -> 2704 bytes doc/src/images/plastique-horizontalscrollbar.png | Bin 0 -> 868 bytes doc/src/images/plastique-label.png | Bin 0 -> 696 bytes doc/src/images/plastique-lcdnumber.png | Bin 0 -> 470 bytes doc/src/images/plastique-lineedit.png | Bin 0 -> 1015 bytes doc/src/images/plastique-listview.png | Bin 0 -> 4895 bytes doc/src/images/plastique-menu.png | Bin 0 -> 3867 bytes doc/src/images/plastique-menubar.png | Bin 0 -> 1030 bytes doc/src/images/plastique-messagebox.png | Bin 0 -> 7536 bytes .../images/plastique-printdialog-properties.png | Bin 0 -> 27720 bytes doc/src/images/plastique-printdialog.png | Bin 0 -> 44150 bytes doc/src/images/plastique-progressbar.png | Bin 0 -> 1044 bytes doc/src/images/plastique-progressdialog.png | Bin 0 -> 6311 bytes doc/src/images/plastique-pushbutton-menu.png | Bin 0 -> 3354 bytes doc/src/images/plastique-pushbutton.png | Bin 0 -> 1409 bytes doc/src/images/plastique-radiobutton.png | Bin 0 -> 1667 bytes doc/src/images/plastique-sizegrip.png | Bin 0 -> 8168 bytes doc/src/images/plastique-slider.png | Bin 0 -> 632 bytes doc/src/images/plastique-spinbox.png | Bin 0 -> 968 bytes doc/src/images/plastique-statusbar.png | Bin 0 -> 878 bytes doc/src/images/plastique-tabbar-truncated.png | Bin 0 -> 2986 bytes doc/src/images/plastique-tabbar.png | Bin 0 -> 2721 bytes doc/src/images/plastique-tableview.png | Bin 0 -> 6052 bytes doc/src/images/plastique-tabwidget.png | Bin 0 -> 4705 bytes doc/src/images/plastique-textedit.png | Bin 0 -> 5141 bytes doc/src/images/plastique-timeedit.png | Bin 0 -> 1336 bytes doc/src/images/plastique-toolbox.png | Bin 0 -> 1858 bytes doc/src/images/plastique-toolbutton.png | Bin 0 -> 1254 bytes doc/src/images/plastique-treeview.png | Bin 0 -> 8453 bytes doc/src/images/plugandpaint-plugindialog.png | Bin 0 -> 8706 bytes doc/src/images/plugandpaint.png | Bin 0 -> 7540 bytes doc/src/images/portedasteroids-example.png | Bin 0 -> 27086 bytes doc/src/images/portedcanvas-example.png | Bin 0 -> 259679 bytes doc/src/images/previewer-example.png | Bin 0 -> 16323 bytes doc/src/images/previewer-ui.png | Bin 0 -> 10345 bytes doc/src/images/printer-rects.png | Bin 0 -> 30319 bytes doc/src/images/progressBar-stylesheet.png | Bin 0 -> 455 bytes doc/src/images/progressBar2-stylesheet.png | Bin 0 -> 494 bytes doc/src/images/propagation-custom.png | Bin 0 -> 163413 bytes doc/src/images/propagation-standard.png | Bin 0 -> 83382 bytes doc/src/images/q3painter_rationale.png | Bin 0 -> 1526 bytes doc/src/images/qactiongroup-align.png | Bin 0 -> 3550 bytes doc/src/images/qcalendarwidget-grid.png | Bin 0 -> 9601 bytes doc/src/images/qcalendarwidget-maximum.png | Bin 0 -> 9709 bytes doc/src/images/qcalendarwidget-minimum.png | Bin 0 -> 9770 bytes doc/src/images/qcalendarwidget.png | Bin 0 -> 1223 bytes doc/src/images/qcanvasellipse.png | Bin 0 -> 2251 bytes doc/src/images/qcdestyle.png | Bin 0 -> 25954 bytes doc/src/images/qcolor-cmyk.png | Bin 0 -> 18878 bytes doc/src/images/qcolor-hsv.png | Bin 0 -> 21046 bytes doc/src/images/qcolor-hue.png | Bin 0 -> 26820 bytes doc/src/images/qcolor-rgb.png | Bin 0 -> 17798 bytes doc/src/images/qcolor-saturation.png | Bin 0 -> 2150 bytes doc/src/images/qcolor-value.png | Bin 0 -> 1241 bytes doc/src/images/qcolumnview.png | Bin 0 -> 3075 bytes doc/src/images/qconicalgradient.png | Bin 0 -> 52823 bytes doc/src/images/qdatawidgetmapper-simple.png | Bin 0 -> 26994 bytes doc/src/images/qdesktopwidget.png | Bin 0 -> 42328 bytes doc/src/images/qdockwindow.png | Bin 0 -> 1177 bytes doc/src/images/qeasingcurve-cosinecurve.png | Bin 0 -> 2544 bytes doc/src/images/qeasingcurve-inback.png | Bin 0 -> 2225 bytes doc/src/images/qeasingcurve-inbounce.png | Bin 0 -> 2378 bytes doc/src/images/qeasingcurve-incirc.png | Bin 0 -> 2138 bytes doc/src/images/qeasingcurve-incubic.png | Bin 0 -> 2230 bytes doc/src/images/qeasingcurve-incurve.png | Bin 0 -> 2325 bytes doc/src/images/qeasingcurve-inelastic.png | Bin 0 -> 2314 bytes doc/src/images/qeasingcurve-inexpo.png | Bin 0 -> 2183 bytes doc/src/images/qeasingcurve-inoutback.png | Bin 0 -> 2460 bytes doc/src/images/qeasingcurve-inoutbounce.png | Bin 0 -> 2522 bytes doc/src/images/qeasingcurve-inoutcirc.png | Bin 0 -> 2352 bytes doc/src/images/qeasingcurve-inoutcubic.png | Bin 0 -> 2410 bytes doc/src/images/qeasingcurve-inoutelastic.png | Bin 0 -> 2485 bytes doc/src/images/qeasingcurve-inoutexpo.png | Bin 0 -> 2383 bytes doc/src/images/qeasingcurve-inoutquad.png | Bin 0 -> 2392 bytes doc/src/images/qeasingcurve-inoutquart.png | Bin 0 -> 2331 bytes doc/src/images/qeasingcurve-inoutquint.png | Bin 0 -> 2244 bytes doc/src/images/qeasingcurve-inoutsine.png | Bin 0 -> 2405 bytes doc/src/images/qeasingcurve-inquad.png | Bin 0 -> 2283 bytes doc/src/images/qeasingcurve-inquart.png | Bin 0 -> 2261 bytes doc/src/images/qeasingcurve-inquint.png | Bin 0 -> 2178 bytes doc/src/images/qeasingcurve-insine.png | Bin 0 -> 2167 bytes doc/src/images/qeasingcurve-linear.png | Bin 0 -> 2165 bytes doc/src/images/qeasingcurve-outback.png | Bin 0 -> 2371 bytes doc/src/images/qeasingcurve-outbounce.png | Bin 0 -> 2481 bytes doc/src/images/qeasingcurve-outcirc.png | Bin 0 -> 2269 bytes doc/src/images/qeasingcurve-outcubic.png | Bin 0 -> 2336 bytes doc/src/images/qeasingcurve-outcurve.png | Bin 0 -> 2389 bytes doc/src/images/qeasingcurve-outelastic.png | Bin 0 -> 2402 bytes doc/src/images/qeasingcurve-outexpo.png | Bin 0 -> 2299 bytes doc/src/images/qeasingcurve-outinback.png | Bin 0 -> 2400 bytes doc/src/images/qeasingcurve-outinbounce.png | Bin 0 -> 2568 bytes doc/src/images/qeasingcurve-outincirc.png | Bin 0 -> 2339 bytes doc/src/images/qeasingcurve-outincubic.png | Bin 0 -> 2393 bytes doc/src/images/qeasingcurve-outinelastic.png | Bin 0 -> 2517 bytes doc/src/images/qeasingcurve-outinexpo.png | Bin 0 -> 2377 bytes doc/src/images/qeasingcurve-outinquad.png | Bin 0 -> 2380 bytes doc/src/images/qeasingcurve-outinquart.png | Bin 0 -> 2319 bytes doc/src/images/qeasingcurve-outinquint.png | Bin 0 -> 2248 bytes doc/src/images/qeasingcurve-outinsine.png | Bin 0 -> 2388 bytes doc/src/images/qeasingcurve-outquad.png | Bin 0 -> 2324 bytes doc/src/images/qeasingcurve-outquart.png | Bin 0 -> 2304 bytes doc/src/images/qeasingcurve-outquint.png | Bin 0 -> 2242 bytes doc/src/images/qeasingcurve-outsine.png | Bin 0 -> 2364 bytes doc/src/images/qeasingcurve-sinecurve.png | Bin 0 -> 2470 bytes doc/src/images/qerrormessage.png | Bin 0 -> 7100 bytes doc/src/images/qfiledialog-expanded.png | Bin 0 -> 32017 bytes doc/src/images/qfiledialog-small.png | Bin 0 -> 12273 bytes doc/src/images/qformlayout-kde.png | Bin 0 -> 1703 bytes doc/src/images/qformlayout-mac.png | Bin 0 -> 1706 bytes doc/src/images/qformlayout-qpe.png | Bin 0 -> 1764 bytes doc/src/images/qformlayout-win.png | Bin 0 -> 1743 bytes doc/src/images/qformlayout-with-6-children.png | Bin 0 -> 3264 bytes doc/src/images/qgradient-conical.png | Bin 0 -> 3995 bytes doc/src/images/qgradient-linear.png | Bin 0 -> 714 bytes doc/src/images/qgradient-radial.png | Bin 0 -> 2352 bytes doc/src/images/qgraphicsproxywidget-embed.png | Bin 0 -> 2199 bytes doc/src/images/qgridlayout-with-5-children.png | Bin 0 -> 3201 bytes doc/src/images/qhbox-m.png | Bin 0 -> 303 bytes doc/src/images/qhboxlayout-with-5-children.png | Bin 0 -> 2652 bytes doc/src/images/qimage-32bit.png | Bin 0 -> 20018 bytes doc/src/images/qimage-32bit_scaled.png | Bin 0 -> 25098 bytes doc/src/images/qimage-8bit.png | Bin 0 -> 22490 bytes doc/src/images/qimage-8bit_scaled.png | Bin 0 -> 24761 bytes doc/src/images/qimage-scaling.png | Bin 0 -> 34785 bytes doc/src/images/qline-coordinates.png | Bin 0 -> 9459 bytes doc/src/images/qline-point.png | Bin 0 -> 8484 bytes doc/src/images/qlineargradient-pad.png | Bin 0 -> 2260 bytes doc/src/images/qlineargradient-reflect.png | Bin 0 -> 2746 bytes doc/src/images/qlineargradient-repeat.png | Bin 0 -> 2590 bytes doc/src/images/qlinef-angle-identicaldirection.png | Bin 0 -> 6004 bytes doc/src/images/qlinef-angle-oppositedirection.png | Bin 0 -> 5834 bytes doc/src/images/qlinef-bounded.png | Bin 0 -> 4183 bytes doc/src/images/qlinef-normalvector.png | Bin 0 -> 9432 bytes doc/src/images/qlinef-unbounded.png | Bin 0 -> 3992 bytes doc/src/images/qlistbox-m.png | Bin 0 -> 805 bytes doc/src/images/qlistbox-w.png | Bin 0 -> 810 bytes doc/src/images/qlistviewitems.png | Bin 0 -> 8523 bytes doc/src/images/qmacstyle.png | Bin 0 -> 56256 bytes doc/src/images/qmainwindow-qdockareas.png | Bin 0 -> 5351 bytes doc/src/images/qmatrix-combinedtransformation.png | Bin 0 -> 1707 bytes doc/src/images/qmatrix-representation.png | Bin 0 -> 10410 bytes doc/src/images/qmatrix-simpletransformation.png | Bin 0 -> 2047 bytes doc/src/images/qmdiarea-arrange.png | Bin 0 -> 45629 bytes doc/src/images/qmdisubwindowlayout.png | Bin 0 -> 3153 bytes doc/src/images/qmessagebox-crit.png | Bin 0 -> 237 bytes doc/src/images/qmessagebox-info.png | Bin 0 -> 242 bytes doc/src/images/qmessagebox-quest.png | Bin 0 -> 253 bytes doc/src/images/qmessagebox-warn.png | Bin 0 -> 219 bytes doc/src/images/qmotifstyle.png | Bin 0 -> 25573 bytes doc/src/images/qobjectxmlmodel-example.png | Bin 0 -> 111515 bytes doc/src/images/qpainter-affinetransformations.png | Bin 0 -> 66241 bytes doc/src/images/qpainter-angles.png | Bin 0 -> 7450 bytes doc/src/images/qpainter-arc.png | Bin 0 -> 635 bytes doc/src/images/qpainter-basicdrawing.png | Bin 0 -> 18164 bytes doc/src/images/qpainter-chord.png | Bin 0 -> 632 bytes doc/src/images/qpainter-clock.png | Bin 0 -> 3128 bytes doc/src/images/qpainter-compositiondemo.png | Bin 0 -> 61015 bytes doc/src/images/qpainter-compositionmode.png | Bin 0 -> 3858 bytes doc/src/images/qpainter-compositionmode1.png | Bin 0 -> 2418 bytes doc/src/images/qpainter-compositionmode2.png | Bin 0 -> 2131 bytes doc/src/images/qpainter-concentriccircles.png | Bin 0 -> 31294 bytes doc/src/images/qpainter-ellipse.png | Bin 0 -> 1022 bytes doc/src/images/qpainter-gradients.png | Bin 0 -> 24231 bytes doc/src/images/qpainter-line.png | Bin 0 -> 759 bytes doc/src/images/qpainter-painterpaths.png | Bin 0 -> 31985 bytes doc/src/images/qpainter-path.png | Bin 0 -> 963 bytes doc/src/images/qpainter-pathstroking.png | Bin 0 -> 30794 bytes doc/src/images/qpainter-pie.png | Bin 0 -> 1018 bytes doc/src/images/qpainter-polygon.png | Bin 0 -> 699 bytes doc/src/images/qpainter-rectangle.png | Bin 0 -> 194 bytes doc/src/images/qpainter-rotation.png | Bin 0 -> 3768 bytes doc/src/images/qpainter-roundrect.png | Bin 0 -> 433 bytes doc/src/images/qpainter-scale.png | Bin 0 -> 2828 bytes doc/src/images/qpainter-text.png | Bin 0 -> 791 bytes doc/src/images/qpainter-translation.png | Bin 0 -> 3909 bytes doc/src/images/qpainter-vectordeformation.png | Bin 0 -> 30591 bytes doc/src/images/qpainterpath-addellipse.png | Bin 0 -> 3509 bytes doc/src/images/qpainterpath-addpolygon.png | Bin 0 -> 7625 bytes doc/src/images/qpainterpath-addrectangle.png | Bin 0 -> 1839 bytes doc/src/images/qpainterpath-addtext.png | Bin 0 -> 7406 bytes doc/src/images/qpainterpath-arcto.png | Bin 0 -> 5063 bytes doc/src/images/qpainterpath-construction.png | Bin 0 -> 2523 bytes doc/src/images/qpainterpath-cubicto.png | Bin 0 -> 4749 bytes doc/src/images/qpainterpath-demo.png | Bin 0 -> 51334 bytes doc/src/images/qpainterpath-example.png | Bin 0 -> 38746 bytes doc/src/images/qpen-bevel.png | Bin 0 -> 11527 bytes doc/src/images/qpen-custom.png | Bin 0 -> 6254 bytes doc/src/images/qpen-dash.png | Bin 0 -> 8221 bytes doc/src/images/qpen-dashdot.png | Bin 0 -> 5961 bytes doc/src/images/qpen-dashdotdot.png | Bin 0 -> 5999 bytes doc/src/images/qpen-dashpattern.png | Bin 0 -> 1605 bytes doc/src/images/qpen-demo.png | Bin 0 -> 49784 bytes doc/src/images/qpen-dot.png | Bin 0 -> 5386 bytes doc/src/images/qpen-flat.png | Bin 0 -> 1885 bytes doc/src/images/qpen-miter.png | Bin 0 -> 11734 bytes doc/src/images/qpen-miterlimit.png | Bin 0 -> 24816 bytes doc/src/images/qpen-roundcap.png | Bin 0 -> 1920 bytes doc/src/images/qpen-roundjoin.png | Bin 0 -> 11878 bytes doc/src/images/qpen-solid.png | Bin 0 -> 7416 bytes doc/src/images/qpen-square.png | Bin 0 -> 2651 bytes doc/src/images/qplastiquestyle.png | Bin 0 -> 31420 bytes doc/src/images/qprintpreviewdialog.png | Bin 0 -> 44891 bytes doc/src/images/qprogbar-m.png | Bin 0 -> 193 bytes doc/src/images/qprogbar-w.png | Bin 0 -> 198 bytes doc/src/images/qprogdlg-m.png | Bin 0 -> 826 bytes doc/src/images/qprogdlg-w.png | Bin 0 -> 830 bytes doc/src/images/qradialgradient-pad.png | Bin 0 -> 11385 bytes doc/src/images/qradialgradient-reflect.png | Bin 0 -> 33668 bytes doc/src/images/qradialgradient-repeat.png | Bin 0 -> 40528 bytes doc/src/images/qrect-coordinates.png | Bin 0 -> 22218 bytes doc/src/images/qrect-diagram-one.png | Bin 0 -> 9616 bytes doc/src/images/qrect-diagram-three.png | Bin 0 -> 9458 bytes doc/src/images/qrect-diagram-two.png | Bin 0 -> 9378 bytes doc/src/images/qrect-diagram-zero.png | Bin 0 -> 5198 bytes doc/src/images/qrect-intersect.png | Bin 0 -> 8742 bytes doc/src/images/qrect-unite.png | Bin 0 -> 4626 bytes doc/src/images/qrectf-coordinates.png | Bin 0 -> 21749 bytes doc/src/images/qrectf-diagram-one.png | Bin 0 -> 9594 bytes doc/src/images/qrectf-diagram-three.png | Bin 0 -> 9392 bytes doc/src/images/qrectf-diagram-two.png | Bin 0 -> 9387 bytes doc/src/images/qscrollarea-noscrollbars.png | Bin 0 -> 54671 bytes doc/src/images/qscrollarea-onescrollbar.png | Bin 0 -> 77476 bytes doc/src/images/qscrollarea-twoscrollbars.png | Bin 0 -> 78046 bytes doc/src/images/qscrollbar-picture.png | Bin 0 -> 6568 bytes doc/src/images/qscrollbar-values.png | Bin 0 -> 15902 bytes doc/src/images/qscrollview-cl.png | Bin 0 -> 8579 bytes doc/src/images/qscrollview-vp.png | Bin 0 -> 6302 bytes doc/src/images/qscrollview-vp2.png | Bin 0 -> 7720 bytes doc/src/images/qsortfilterproxymodel-sorting.png | Bin 0 -> 11005 bytes doc/src/images/qspinbox-plusminus.png | Bin 0 -> 375 bytes doc/src/images/qspinbox-updown.png | Bin 0 -> 402 bytes doc/src/images/qstatustipevent-action.png | Bin 0 -> 10741 bytes doc/src/images/qstatustipevent-widget.png | Bin 0 -> 9417 bytes doc/src/images/qstyle-comboboxes.png | Bin 0 -> 19437 bytes doc/src/images/qstyleoptiontoolbar-position.png | Bin 0 -> 13707 bytes doc/src/images/qt-colors.png | Bin 0 -> 3711 bytes doc/src/images/qt-embedded-accelerateddriver.png | Bin 0 -> 22753 bytes doc/src/images/qt-embedded-architecture.png | Bin 0 -> 37198 bytes doc/src/images/qt-embedded-architecture2.png | Bin 0 -> 98633 bytes doc/src/images/qt-embedded-characterinputlayer.png | Bin 0 -> 46629 bytes .../images/qt-embedded-clamshellphone-closed.png | Bin 0 -> 19313 bytes .../images/qt-embedded-clamshellphone-pressed.png | Bin 0 -> 74449 bytes doc/src/images/qt-embedded-clamshellphone.png | Bin 0 -> 71951 bytes doc/src/images/qt-embedded-client.png | Bin 0 -> 16899 bytes doc/src/images/qt-embedded-clientrendering.png | Bin 0 -> 56074 bytes .../qt-embedded-clientservercommunication.png | Bin 0 -> 45973 bytes doc/src/images/qt-embedded-drawingonscreen.png | Bin 0 -> 60716 bytes doc/src/images/qt-embedded-examples.png | Bin 0 -> 18243 bytes doc/src/images/qt-embedded-fontfeatures.png | Bin 0 -> 50773 bytes doc/src/images/qt-embedded-opengl1.png | Bin 0 -> 26209 bytes doc/src/images/qt-embedded-opengl2.png | Bin 0 -> 31047 bytes doc/src/images/qt-embedded-opengl3.png | Bin 0 -> 15287 bytes doc/src/images/qt-embedded-pda.png | Bin 0 -> 67286 bytes doc/src/images/qt-embedded-phone.png | Bin 0 -> 60687 bytes .../images/qt-embedded-pointerhandlinglayer.png | Bin 0 -> 43394 bytes doc/src/images/qt-embedded-qconfigtool.png | Bin 0 -> 108429 bytes doc/src/images/qt-embedded-qvfbfilemenu.png | Bin 0 -> 24405 bytes doc/src/images/qt-embedded-qvfbviewmenu.png | Bin 0 -> 28380 bytes doc/src/images/qt-embedded-reserveregion.png | Bin 0 -> 71553 bytes doc/src/images/qt-embedded-runningapplication.png | Bin 0 -> 43384 bytes doc/src/images/qt-embedded-setwindowattribute.png | Bin 0 -> 52808 bytes doc/src/images/qt-embedded-virtualframebuffer.png | Bin 0 -> 102022 bytes doc/src/images/qt-embedded-vnc-screen.png | Bin 0 -> 51386 bytes doc/src/images/qt-fillrule-oddeven.png | Bin 0 -> 7057 bytes doc/src/images/qt-fillrule-winding.png | Bin 0 -> 7205 bytes doc/src/images/qt-for-wince-landscape.png | Bin 0 -> 115052 bytes doc/src/images/qt-logo.png | Bin 0 -> 5149 bytes doc/src/images/qt.png | Bin 0 -> 514 bytes doc/src/images/qtableitems.png | Bin 0 -> 2958 bytes doc/src/images/qtabletevent-tilt.png | Bin 0 -> 8312 bytes doc/src/images/qtableview-resized.png | Bin 0 -> 42232 bytes doc/src/images/qtconcurrent-progressdialog.png | Bin 0 -> 4608 bytes doc/src/images/qtconfig-appearance.png | Bin 0 -> 135939 bytes doc/src/images/qtdemo-small.png | Bin 0 -> 23755 bytes doc/src/images/qtdemo.png | Bin 0 -> 243710 bytes doc/src/images/qtdesignerextensions.png | Bin 0 -> 52694 bytes doc/src/images/qtdesignerscreenshot.png | Bin 0 -> 144869 bytes doc/src/images/qtextblock-fragments.png | Bin 0 -> 7910 bytes doc/src/images/qtextblock-sequence.png | Bin 0 -> 17445 bytes doc/src/images/qtextdocument-frames.png | Bin 0 -> 56766 bytes doc/src/images/qtextfragment-split.png | Bin 0 -> 18109 bytes doc/src/images/qtextframe-style.png | Bin 0 -> 29420 bytes doc/src/images/qtexttable-cells.png | Bin 0 -> 9080 bytes doc/src/images/qtexttableformat-cell.png | Bin 0 -> 24454 bytes .../images/qtransform-combinedtransformation.png | Bin 0 -> 935 bytes .../images/qtransform-combinedtransformation2.png | Bin 0 -> 930 bytes doc/src/images/qtransform-representation.png | Bin 0 -> 17892 bytes doc/src/images/qtransform-simpletransformation.png | Bin 0 -> 1201 bytes doc/src/images/qtscript-calculator-example.png | Bin 0 -> 8807 bytes doc/src/images/qtscript-calculator.png | Bin 0 -> 13259 bytes doc/src/images/qtscript-context2d.png | Bin 0 -> 21838 bytes doc/src/images/qtscript-debugger-small.png | Bin 0 -> 61249 bytes doc/src/images/qtscript-debugger.png | Bin 0 -> 127509 bytes doc/src/images/qtscript-examples.png | Bin 0 -> 6213 bytes doc/src/images/qtscripttools-examples.png | Bin 0 -> 3457 bytes doc/src/images/qtwizard-aero1.png | Bin 0 -> 11749 bytes doc/src/images/qtwizard-aero2.png | Bin 0 -> 16560 bytes doc/src/images/qtwizard-classic1.png | Bin 0 -> 39640 bytes doc/src/images/qtwizard-classic2.png | Bin 0 -> 8616 bytes doc/src/images/qtwizard-mac1.png | Bin 0 -> 25478 bytes doc/src/images/qtwizard-mac2.png | Bin 0 -> 29591 bytes doc/src/images/qtwizard-macpage.png | Bin 0 -> 23095 bytes doc/src/images/qtwizard-modern1.png | Bin 0 -> 45093 bytes doc/src/images/qtwizard-modern2.png | Bin 0 -> 15081 bytes doc/src/images/qtwizard-nonmacpage.png | Bin 0 -> 26557 bytes doc/src/images/querymodel-example.png | Bin 0 -> 30882 bytes doc/src/images/qundoview.png | Bin 0 -> 5993 bytes doc/src/images/qurl-authority.png | Bin 0 -> 5099 bytes doc/src/images/qurl-authority2.png | Bin 0 -> 2350 bytes doc/src/images/qurl-authority3.png | Bin 0 -> 3552 bytes doc/src/images/qurl-fragment.png | Bin 0 -> 2333 bytes doc/src/images/qurl-ftppath.png | Bin 0 -> 1974 bytes doc/src/images/qurl-mailtopath.png | Bin 0 -> 1679 bytes doc/src/images/qurl-querystring.png | Bin 0 -> 2955 bytes doc/src/images/qvbox-m.png | Bin 0 -> 274 bytes doc/src/images/qvboxlayout-with-5-children.png | Bin 0 -> 2974 bytes doc/src/images/qwebview-diagram.png | Bin 0 -> 9036 bytes doc/src/images/qwebview-url.png | Bin 0 -> 191610 bytes doc/src/images/qwindowsstyle.png | Bin 0 -> 26349 bytes doc/src/images/qwindowsxpstyle.png | Bin 0 -> 20847 bytes doc/src/images/qwsserver_keyboardfilter.png | Bin 0 -> 15553 bytes doc/src/images/radialGradient.png | Bin 0 -> 5692 bytes doc/src/images/recentfiles-example.png | Bin 0 -> 5400 bytes doc/src/images/recipes-example.png | Bin 0 -> 44457 bytes doc/src/images/regexp-example.png | Bin 0 -> 16250 bytes doc/src/images/relationaltable.png | Bin 0 -> 4274 bytes doc/src/images/relationaltablemodel-example.png | Bin 0 -> 10188 bytes doc/src/images/remotecontrolledcar-car-example.png | Bin 0 -> 8833 bytes .../remotecontrolledcar-controller-example.png | Bin 0 -> 6535 bytes doc/src/images/resources.png | Bin 0 -> 49998 bytes doc/src/images/richtext-document.png | Bin 0 -> 8126 bytes doc/src/images/richtext-examples.png | Bin 0 -> 6173 bytes doc/src/images/rintersect.png | Bin 0 -> 221 bytes doc/src/images/rsslistingexample.png | Bin 0 -> 35923 bytes doc/src/images/rsubtract.png | Bin 0 -> 224 bytes doc/src/images/runion.png | Bin 0 -> 221 bytes doc/src/images/rxor.png | Bin 0 -> 222 bytes doc/src/images/samplebuffers-example.png | Bin 0 -> 16292 bytes doc/src/images/saxbookmarks-example.png | Bin 0 -> 26219 bytes doc/src/images/screenshot-example.png | Bin 0 -> 24606 bytes doc/src/images/scribble-example.png | Bin 0 -> 9053 bytes doc/src/images/sdi-example.png | Bin 0 -> 28749 bytes doc/src/images/securesocketclient.png | Bin 0 -> 12056 bytes doc/src/images/securesocketclient2.png | Bin 0 -> 15532 bytes doc/src/images/selected-items1.png | Bin 0 -> 31870 bytes doc/src/images/selected-items2.png | Bin 0 -> 32025 bytes doc/src/images/selected-items3.png | Bin 0 -> 32100 bytes doc/src/images/selection-extended.png | Bin 0 -> 11401 bytes doc/src/images/selection-multi.png | Bin 0 -> 13058 bytes doc/src/images/selection-single.png | Bin 0 -> 7849 bytes doc/src/images/session.png | Bin 0 -> 6265 bytes doc/src/images/settingseditor-example.png | Bin 0 -> 19473 bytes doc/src/images/shapedclock-dragging.png | Bin 0 -> 18913 bytes doc/src/images/shapedclock-example.png | Bin 0 -> 15701 bytes doc/src/images/shareddirmodel.png | Bin 0 -> 33024 bytes doc/src/images/sharedmemory-example_1.png | Bin 0 -> 14926 bytes doc/src/images/sharedmemory-example_2.png | Bin 0 -> 21976 bytes doc/src/images/sharedmodel-tableviews.png | Bin 0 -> 16811 bytes doc/src/images/sharedselection-tableviews.png | Bin 0 -> 14212 bytes doc/src/images/signals-n-slots-aw-nat.png | Bin 0 -> 9393 bytes doc/src/images/simpledommodel-example.png | Bin 0 -> 18442 bytes doc/src/images/simpletextviewer-example.png | Bin 0 -> 63132 bytes doc/src/images/simpletextviewer-findfiledialog.png | Bin 0 -> 12421 bytes doc/src/images/simpletextviewer-mainwindow.png | Bin 0 -> 14167 bytes doc/src/images/simpletreemodel-example.png | Bin 0 -> 21791 bytes doc/src/images/simplewidgetmapper-example.png | Bin 0 -> 9848 bytes doc/src/images/simplewizard-page1.png | Bin 0 -> 12994 bytes doc/src/images/simplewizard-page2.png | Bin 0 -> 12041 bytes doc/src/images/simplewizard-page3.png | Bin 0 -> 10619 bytes doc/src/images/simplewizard.png | Bin 0 -> 7053 bytes doc/src/images/sipdialog-closed.png | Bin 0 -> 9275 bytes doc/src/images/sipdialog-opened.png | Bin 0 -> 11220 bytes doc/src/images/sliders-example.png | Bin 0 -> 9317 bytes doc/src/images/smooth.png | Bin 0 -> 371 bytes doc/src/images/sortingmodel-example.png | Bin 0 -> 41115 bytes doc/src/images/spinboxdelegate-example.png | Bin 0 -> 4762 bytes doc/src/images/spinboxes-example.png | Bin 0 -> 24842 bytes doc/src/images/spreadsheet-demo.png | Bin 0 -> 40187 bytes doc/src/images/sql-examples.png | Bin 0 -> 17669 bytes doc/src/images/sql-widget-mapper.png | Bin 0 -> 13040 bytes doc/src/images/sqlbrowser-demo.png | Bin 0 -> 20671 bytes doc/src/images/standard-views.png | Bin 0 -> 78278 bytes doc/src/images/standarddialogs-example.png | Bin 0 -> 18852 bytes doc/src/images/stardelegate.png | Bin 0 -> 12230 bytes doc/src/images/statemachine-button-history.png | Bin 0 -> 91677 bytes doc/src/images/statemachine-button-nested.png | Bin 0 -> 73774 bytes doc/src/images/statemachine-button.png | Bin 0 -> 32767 bytes doc/src/images/statemachine-finished.png | Bin 0 -> 37907 bytes doc/src/images/statemachine-nonparallel.png | Bin 0 -> 68482 bytes doc/src/images/statemachine-parallel.png | Bin 0 -> 99587 bytes doc/src/images/stliterators1.png | Bin 0 -> 1671 bytes doc/src/images/stringlistmodel.png | Bin 0 -> 4849 bytes doc/src/images/stylepluginexample.png | Bin 0 -> 5259 bytes doc/src/images/styles-3d.png | Bin 0 -> 10753 bytes doc/src/images/styles-aliasing.png | Bin 0 -> 10078 bytes doc/src/images/styles-disabledwood.png | Bin 0 -> 134596 bytes doc/src/images/styles-enabledwood.png | Bin 0 -> 130767 bytes doc/src/images/styles-woodbuttons.png | Bin 0 -> 25032 bytes doc/src/images/stylesheet-border-image-normal.png | Bin 0 -> 5769 bytes .../images/stylesheet-border-image-stretched.png | Bin 0 -> 12170 bytes doc/src/images/stylesheet-border-image-wrong.png | Bin 0 -> 12887 bytes doc/src/images/stylesheet-boxmodel.png | Bin 0 -> 18144 bytes doc/src/images/stylesheet-branch-closed.png | Bin 0 -> 334 bytes doc/src/images/stylesheet-branch-end.png | Bin 0 -> 182 bytes doc/src/images/stylesheet-branch-more.png | Bin 0 -> 136 bytes doc/src/images/stylesheet-branch-open.png | Bin 0 -> 346 bytes doc/src/images/stylesheet-coffee-cleanlooks.png | Bin 0 -> 14820 bytes doc/src/images/stylesheet-coffee-plastique.png | Bin 0 -> 18179 bytes doc/src/images/stylesheet-coffee-xp.png | Bin 0 -> 14200 bytes doc/src/images/stylesheet-designer-options.png | Bin 0 -> 8421 bytes doc/src/images/stylesheet-pagefold-mac.png | Bin 0 -> 20618 bytes doc/src/images/stylesheet-pagefold.png | Bin 0 -> 15989 bytes doc/src/images/stylesheet-redbutton1.png | Bin 0 -> 378 bytes doc/src/images/stylesheet-redbutton2.png | Bin 0 -> 410 bytes doc/src/images/stylesheet-redbutton3.png | Bin 0 -> 664 bytes doc/src/images/stylesheet-scrollbar1.png | Bin 0 -> 150 bytes doc/src/images/stylesheet-scrollbar2.png | Bin 0 -> 169 bytes doc/src/images/stylesheet-treeview.png | Bin 0 -> 2412 bytes doc/src/images/stylesheet-vline.png | Bin 0 -> 124 bytes doc/src/images/svg-image.png | Bin 0 -> 42578 bytes doc/src/images/svgviewer-example.png | Bin 0 -> 48184 bytes doc/src/images/syntaxhighlighter-example.png | Bin 0 -> 12398 bytes doc/src/images/system-tray.png | Bin 0 -> 6326 bytes doc/src/images/systemtray-editor.png | Bin 0 -> 18147 bytes doc/src/images/systemtray-example.png | Bin 0 -> 47588 bytes doc/src/images/t1.png | Bin 0 -> 1002 bytes doc/src/images/t10.png | Bin 0 -> 3006 bytes doc/src/images/t11.png | Bin 0 -> 3530 bytes doc/src/images/t12.png | Bin 0 -> 3928 bytes doc/src/images/t13.png | Bin 0 -> 5452 bytes doc/src/images/t14.png | Bin 0 -> 5490 bytes doc/src/images/t2.png | Bin 0 -> 1328 bytes doc/src/images/t3.png | Bin 0 -> 1908 bytes doc/src/images/t4.png | Bin 0 -> 1751 bytes doc/src/images/t5.png | Bin 0 -> 1977 bytes doc/src/images/t6.png | Bin 0 -> 2634 bytes doc/src/images/t7.png | Bin 0 -> 2676 bytes doc/src/images/t8.png | Bin 0 -> 3435 bytes doc/src/images/t9.png | Bin 0 -> 2983 bytes doc/src/images/t9_1.png | Bin 0 -> 141 bytes doc/src/images/t9_2.png | Bin 0 -> 162 bytes doc/src/images/tabWidget-stylesheet1.png | Bin 0 -> 1321 bytes doc/src/images/tabWidget-stylesheet2.png | Bin 0 -> 1434 bytes doc/src/images/tabWidget-stylesheet3.png | Bin 0 -> 1206 bytes doc/src/images/tabdialog-example.png | Bin 0 -> 11885 bytes doc/src/images/tableWidget-stylesheet.png | Bin 0 -> 3478 bytes doc/src/images/tablemodel-example.png | Bin 0 -> 20904 bytes doc/src/images/tabletexample.png | Bin 0 -> 9900 bytes doc/src/images/taskmenuextension-dialog.png | Bin 0 -> 15163 bytes doc/src/images/taskmenuextension-example-faded.png | Bin 0 -> 5596 bytes doc/src/images/taskmenuextension-example.png | Bin 0 -> 5014 bytes doc/src/images/taskmenuextension-menu.png | Bin 0 -> 3067 bytes doc/src/images/tcpstream.png | Bin 0 -> 11470 bytes doc/src/images/tetrix-example.png | Bin 0 -> 9980 bytes doc/src/images/textedit-demo.png | Bin 0 -> 46980 bytes doc/src/images/textfinder-example-find.png | Bin 0 -> 15837 bytes doc/src/images/textfinder-example-find2.png | Bin 0 -> 15745 bytes .../images/textfinder-example-userinterface.png | Bin 0 -> 7900 bytes doc/src/images/textfinder-example.png | Bin 0 -> 15424 bytes doc/src/images/textobject-example.png | Bin 0 -> 16591 bytes doc/src/images/texttable-merge.png | Bin 0 -> 746 bytes doc/src/images/texttable-split.png | Bin 0 -> 753 bytes doc/src/images/textures-example.png | Bin 0 -> 46640 bytes doc/src/images/thread-examples.png | Bin 0 -> 30113 bytes doc/src/images/threadedfortuneserver-example.png | Bin 0 -> 8528 bytes doc/src/images/threadsandobjects.png | Bin 0 -> 66096 bytes doc/src/images/tool-examples.png | Bin 0 -> 5958 bytes doc/src/images/tooltips-example.png | Bin 0 -> 12479 bytes doc/src/images/torrent-example.png | Bin 0 -> 18915 bytes doc/src/images/trafficinfo-example.png | Bin 0 -> 28082 bytes doc/src/images/trafficlight-example.png | Bin 0 -> 5325 bytes doc/src/images/transformations-example.png | Bin 0 -> 15993 bytes doc/src/images/treemodel-structure.png | Bin 0 -> 8362 bytes doc/src/images/treemodelcompleter-example.png | Bin 0 -> 25235 bytes .../images/trivialwizard-example-conclusion.png | Bin 0 -> 9859 bytes doc/src/images/trivialwizard-example-flow.png | Bin 0 -> 12730 bytes .../images/trivialwizard-example-introduction.png | Bin 0 -> 9994 bytes .../images/trivialwizard-example-registration.png | Bin 0 -> 10644 bytes doc/src/images/trolltech-logo.png | Bin 0 -> 1512 bytes doc/src/images/tutorial8-layout.png | Bin 0 -> 6703 bytes doc/src/images/tutorial8-reallayout.png | Bin 0 -> 1254 bytes doc/src/images/udppackets.png | Bin 0 -> 24707 bytes doc/src/images/uitools-examples.png | Bin 0 -> 12021 bytes doc/src/images/undodemo.png | Bin 0 -> 84941 bytes doc/src/images/undoframeworkexample.png | Bin 0 -> 18026 bytes doc/src/images/unsmooth.png | Bin 0 -> 272 bytes doc/src/images/wVista-Cert-border-small.png | Bin 0 -> 12371 bytes doc/src/images/webkit-examples.png | Bin 0 -> 26874 bytes doc/src/images/webkit-netscape-plugin.png | Bin 0 -> 176059 bytes doc/src/images/whatsthis.png | Bin 0 -> 2983 bytes doc/src/images/widget-examples.png | Bin 0 -> 6128 bytes doc/src/images/widgetdelegate.png | Bin 0 -> 7449 bytes doc/src/images/widgetmapper-combo-mapping.png | Bin 0 -> 63045 bytes doc/src/images/widgetmapper-simple-mapping.png | Bin 0 -> 55498 bytes doc/src/images/widgetmapper-sql-mapping-table.png | Bin 0 -> 39681 bytes doc/src/images/widgetmapper-sql-mapping.png | Bin 0 -> 60265 bytes doc/src/images/widgets-examples.png | Bin 0 -> 6128 bytes doc/src/images/widgets-tutorial-childwidget.png | Bin 0 -> 8547 bytes doc/src/images/widgets-tutorial-nestedlayouts.png | Bin 0 -> 23287 bytes doc/src/images/widgets-tutorial-toplevel.png | Bin 0 -> 6087 bytes doc/src/images/widgets-tutorial-windowlayout.png | Bin 0 -> 5849 bytes doc/src/images/wiggly-example.png | Bin 0 -> 6546 bytes doc/src/images/windowflags-example.png | Bin 0 -> 22945 bytes doc/src/images/windowflags_controllerwindow.png | Bin 0 -> 20898 bytes doc/src/images/windowflags_previewwindow.png | Bin 0 -> 4716 bytes doc/src/images/windows-calendarwidget.png | Bin 0 -> 5055 bytes doc/src/images/windows-checkbox.png | Bin 0 -> 929 bytes doc/src/images/windows-combobox.png | Bin 0 -> 1002 bytes doc/src/images/windows-dateedit.png | Bin 0 -> 817 bytes doc/src/images/windows-datetimeedit.png | Bin 0 -> 1026 bytes doc/src/images/windows-dial.png | Bin 0 -> 4598 bytes doc/src/images/windows-doublespinbox.png | Bin 0 -> 762 bytes doc/src/images/windows-fontcombobox.png | Bin 0 -> 1022 bytes doc/src/images/windows-frame.png | Bin 0 -> 1837 bytes doc/src/images/windows-groupbox.png | Bin 0 -> 1617 bytes doc/src/images/windows-horizontalscrollbar.png | Bin 0 -> 566 bytes doc/src/images/windows-label.png | Bin 0 -> 696 bytes doc/src/images/windows-lcdnumber.png | Bin 0 -> 491 bytes doc/src/images/windows-lineedit.png | Bin 0 -> 884 bytes doc/src/images/windows-listview.png | Bin 0 -> 2781 bytes doc/src/images/windows-progressbar.png | Bin 0 -> 674 bytes doc/src/images/windows-pushbutton.png | Bin 0 -> 722 bytes doc/src/images/windows-radiobutton.png | Bin 0 -> 1005 bytes doc/src/images/windows-slider.png | Bin 0 -> 485 bytes doc/src/images/windows-spinbox.png | Bin 0 -> 667 bytes doc/src/images/windows-tableview.png | Bin 0 -> 1738 bytes doc/src/images/windows-tabwidget.png | Bin 0 -> 1707 bytes doc/src/images/windows-textedit.png | Bin 0 -> 3192 bytes doc/src/images/windows-timeedit.png | Bin 0 -> 873 bytes doc/src/images/windows-toolbox.png | Bin 0 -> 925 bytes doc/src/images/windows-toolbutton.png | Bin 0 -> 771 bytes doc/src/images/windows-treeview.png | Bin 0 -> 2723 bytes doc/src/images/windowsvista-calendarwidget.png | Bin 0 -> 5144 bytes doc/src/images/windowsvista-checkbox.png | Bin 0 -> 1115 bytes doc/src/images/windowsvista-combobox.png | Bin 0 -> 1457 bytes doc/src/images/windowsvista-dateedit.png | Bin 0 -> 855 bytes doc/src/images/windowsvista-datetimeedit.png | Bin 0 -> 1034 bytes doc/src/images/windowsvista-dial.png | Bin 0 -> 2431 bytes doc/src/images/windowsvista-doublespinbox.png | Bin 0 -> 852 bytes doc/src/images/windowsvista-fontcombobox.png | Bin 0 -> 919 bytes doc/src/images/windowsvista-frame.png | Bin 0 -> 1800 bytes doc/src/images/windowsvista-groupbox.png | Bin 0 -> 1991 bytes .../images/windowsvista-horizontalscrollbar.png | Bin 0 -> 1049 bytes doc/src/images/windowsvista-label.png | Bin 0 -> 599 bytes doc/src/images/windowsvista-lcdnumber.png | Bin 0 -> 491 bytes doc/src/images/windowsvista-lineedit.png | Bin 0 -> 873 bytes doc/src/images/windowsvista-listview.png | Bin 0 -> 6872 bytes doc/src/images/windowsvista-progressbar.png | Bin 0 -> 1437 bytes doc/src/images/windowsvista-pushbutton.png | Bin 0 -> 1085 bytes doc/src/images/windowsvista-radiobutton.png | Bin 0 -> 1266 bytes doc/src/images/windowsvista-slider.png | Bin 0 -> 624 bytes doc/src/images/windowsvista-spinbox.png | Bin 0 -> 767 bytes doc/src/images/windowsvista-tableview.png | Bin 0 -> 3941 bytes doc/src/images/windowsvista-tabwidget.png | Bin 0 -> 3286 bytes doc/src/images/windowsvista-textedit.png | Bin 0 -> 3122 bytes doc/src/images/windowsvista-timeedit.png | Bin 0 -> 764 bytes doc/src/images/windowsvista-toolbox.png | Bin 0 -> 891 bytes doc/src/images/windowsvista-toolbutton.png | Bin 0 -> 981 bytes doc/src/images/windowsvista-treeview.png | Bin 0 -> 5760 bytes doc/src/images/windowsxp-calendarwidget.png | Bin 0 -> 5009 bytes doc/src/images/windowsxp-checkbox.png | Bin 0 -> 1006 bytes doc/src/images/windowsxp-combobox.png | Bin 0 -> 1450 bytes doc/src/images/windowsxp-dateedit.png | Bin 0 -> 1107 bytes doc/src/images/windowsxp-datetimeedit.png | Bin 0 -> 1321 bytes doc/src/images/windowsxp-dial.png | Bin 0 -> 4598 bytes doc/src/images/windowsxp-doublespinbox.png | Bin 0 -> 1065 bytes doc/src/images/windowsxp-fontcombobox.png | Bin 0 -> 1408 bytes doc/src/images/windowsxp-frame.png | Bin 0 -> 1837 bytes doc/src/images/windowsxp-groupbox.png | Bin 0 -> 2016 bytes doc/src/images/windowsxp-horizontalscrollbar.png | Bin 0 -> 1498 bytes doc/src/images/windowsxp-label.png | Bin 0 -> 696 bytes doc/src/images/windowsxp-lcdnumber.png | Bin 0 -> 493 bytes doc/src/images/windowsxp-lineedit.png | Bin 0 -> 861 bytes doc/src/images/windowsxp-listview.png | Bin 0 -> 5391 bytes doc/src/images/windowsxp-menu.png | Bin 0 -> 1442 bytes doc/src/images/windowsxp-progressbar.png | Bin 0 -> 1007 bytes doc/src/images/windowsxp-pushbutton.png | Bin 0 -> 1462 bytes doc/src/images/windowsxp-radiobutton.png | Bin 0 -> 1270 bytes doc/src/images/windowsxp-slider.png | Bin 0 -> 732 bytes doc/src/images/windowsxp-spinbox.png | Bin 0 -> 974 bytes doc/src/images/windowsxp-tableview.png | Bin 0 -> 3204 bytes doc/src/images/windowsxp-tabwidget.png | Bin 0 -> 5220 bytes doc/src/images/windowsxp-textedit.png | Bin 0 -> 3159 bytes doc/src/images/windowsxp-timeedit.png | Bin 0 -> 1172 bytes doc/src/images/windowsxp-toolbox.png | Bin 0 -> 925 bytes doc/src/images/windowsxp-toolbutton.png | Bin 0 -> 1549 bytes doc/src/images/windowsxp-treeview.png | Bin 0 -> 5795 bytes doc/src/images/worldtimeclock-connection.png | Bin 0 -> 12119 bytes doc/src/images/worldtimeclock-signalandslot.png | Bin 0 -> 9907 bytes doc/src/images/worldtimeclockbuilder-example.png | Bin 0 -> 8168 bytes doc/src/images/worldtimeclockplugin-example.png | Bin 0 -> 13232 bytes doc/src/images/x11_dependencies.png | Bin 0 -> 93480 bytes doc/src/images/xform.png | Bin 0 -> 50488 bytes doc/src/images/xml-examples.png | Bin 0 -> 8947 bytes doc/src/images/xmlstreamexample-filemenu.png | Bin 0 -> 9380 bytes doc/src/images/xmlstreamexample-helpmenu.png | Bin 0 -> 10856 bytes doc/src/images/xmlstreamexample-screenshot.png | Bin 0 -> 22323 bytes doc/src/index.qdoc | 244 + doc/src/installation.qdoc | 759 + doc/src/introtodbus.qdoc | 212 + doc/src/ipc.qdoc | 91 + doc/src/known-issues.qdoc | 151 + doc/src/layout.qdoc | 381 + doc/src/licenses.qdoc | 465 + doc/src/linguist-manual.qdoc | 1513 + doc/src/mac-differences.qdoc | 339 + doc/src/mainclasses.qdoc | 51 + doc/src/metaobjects.qdoc | 149 + doc/src/moc.qdoc | 336 + doc/src/model-view-programming.qdoc | 2442 + doc/src/modules.qdoc | 105 + doc/src/object.qdoc | 132 + doc/src/objecttrees.qdoc | 117 + doc/src/opensourceedition.qdoc | 91 + doc/src/overviews.qdoc | 48 + doc/src/paintsystem.qdoc | 485 + doc/src/phonon-api.qdoc | 4993 ++ doc/src/phonon.qdoc | 642 + doc/src/platform-notes.qdoc | 740 + doc/src/plugins-howto.qdoc | 471 + doc/src/porting-qsa.qdoc | 475 + doc/src/porting4-canvas.qdoc | 703 + doc/src/porting4-designer.qdoc | 349 + doc/src/porting4-modifiedvirtual.qdocinc | 63 + doc/src/porting4-obsoletedmechanism.qdocinc | 3 + doc/src/porting4-overview.qdoc | 367 + doc/src/porting4-removedenumvalues.qdocinc | 6 + doc/src/porting4-removedtypes.qdocinc | 1 + doc/src/porting4-removedvariantfunctions.qdocinc | 16 + doc/src/porting4-removedvirtual.qdocinc | 605 + doc/src/porting4-renamedclasses.qdocinc | 3 + doc/src/porting4-renamedenumvalues.qdocinc | 234 + doc/src/porting4-renamedfunctions.qdocinc | 6 + doc/src/porting4-renamedstatic.qdocinc | 3 + doc/src/porting4-renamedtypes.qdocinc | 26 + doc/src/porting4.qdoc | 4215 + doc/src/printing.qdoc | 175 + doc/src/properties.qdoc | 263 + doc/src/q3asciicache.qdoc | 465 + doc/src/q3asciidict.qdoc | 416 + doc/src/q3cache.qdoc | 461 + doc/src/q3dict.qdoc | 446 + doc/src/q3intcache.qdoc | 446 + doc/src/q3intdict.qdoc | 390 + doc/src/q3memarray.qdoc | 523 + doc/src/q3popupmenu.qdoc | 76 + doc/src/q3ptrdict.qdoc | 388 + doc/src/q3ptrlist.qdoc | 1157 + doc/src/q3ptrqueue.qdoc | 230 + doc/src/q3ptrstack.qdoc | 217 + doc/src/q3ptrvector.qdoc | 427 + doc/src/q3sqlfieldinfo.qdoc | 234 + doc/src/q3sqlrecordinfo.qdoc | 89 + doc/src/q3valuelist.qdoc | 569 + doc/src/q3valuestack.qdoc | 149 + doc/src/q3valuevector.qdoc | 274 + doc/src/qalgorithms.qdoc | 648 + doc/src/qaxcontainer.qdoc | 263 + doc/src/qaxserver.qdoc | 901 + doc/src/qcache.qdoc | 244 + doc/src/qcolormap.qdoc | 152 + doc/src/qdbusadaptors.qdoc | 518 + doc/src/qdesktopwidget.qdoc | 240 + doc/src/qiterator.qdoc | 1431 + doc/src/qmake-manual.qdoc | 4175 + doc/src/qmsdev.qdoc | 137 + doc/src/qnamespace.qdoc | 2660 + doc/src/qpagesetupdialog.qdoc | 84 + doc/src/qpaintdevice.qdoc | 289 + doc/src/qpair.qdoc | 229 + doc/src/qpatternistdummy.cpp | 1010 + doc/src/qplugin.qdoc | 135 + doc/src/qprintdialog.qdoc | 64 + doc/src/qprinterinfo.qdoc | 137 + doc/src/qset.qdoc | 942 + doc/src/qsignalspy.qdoc | 98 + doc/src/qsizepolicy.qdoc | 522 + doc/src/qsql.qdoc | 138 + doc/src/qt-conf.qdoc | 136 + doc/src/qt-embedded.qdoc | 76 + doc/src/qt3support.qdoc | 81 + doc/src/qt3to4.qdoc | 179 + doc/src/qt4-accessibility.qdoc | 163 + doc/src/qt4-arthur.qdoc | 336 + doc/src/qt4-designer.qdoc | 298 + doc/src/qt4-interview.qdoc | 293 + doc/src/qt4-intro.qdoc | 641 + doc/src/qt4-mainwindow.qdoc | 250 + doc/src/qt4-network.qdoc | 243 + doc/src/qt4-scribe.qdoc | 257 + doc/src/qt4-sql.qdoc | 175 + doc/src/qt4-styles.qdoc | 157 + doc/src/qt4-threads.qdoc | 101 + doc/src/qt4-tulip.qdoc | 200 + doc/src/qtassistant.qdoc | 54 + doc/src/qtcocoa-known-issues.qdoc | 168 + doc/src/qtconfig.qdoc | 56 + doc/src/qtcore.qdoc | 60 + doc/src/qtdbus.qdoc | 124 + doc/src/qtdemo.qdoc | 67 + doc/src/qtdesigner.qdoc | 1541 + doc/src/qtendian.qdoc | 168 + doc/src/qtestevent.qdoc | 191 + doc/src/qtestlib.qdoc | 779 + doc/src/qtgui.qdoc | 59 + doc/src/qthelp.qdoc | 403 + doc/src/qtmac-as-native.qdoc | 202 + doc/src/qtmain.qdoc | 93 + doc/src/qtnetwork.qdoc | 358 + doc/src/qtopengl.qdoc | 163 + doc/src/qtopiacore-architecture.qdoc | 338 + doc/src/qtopiacore-displaymanagement.qdoc | 205 + doc/src/qtopiacore-opengl.qdoc | 227 + doc/src/qtopiacore.qdoc | 114 + doc/src/qtscript.qdoc | 1934 + doc/src/qtscriptdebugger-manual.qdoc | 437 + doc/src/qtscriptextensions.qdoc | 126 + doc/src/qtscripttools.qdoc | 72 + doc/src/qtsql.qdoc | 568 + doc/src/qtsvg.qdoc | 135 + doc/src/qttest.qdoc | 70 + doc/src/qtuiloader.qdoc | 82 + doc/src/qtwebkit.qdoc | 189 + doc/src/qtxml.qdoc | 615 + doc/src/qtxmlpatterns.qdoc | 893 + doc/src/qundo.qdoc | 113 + doc/src/qvarlengtharray.qdoc | 274 + doc/src/qwaitcondition.qdoc | 188 + doc/src/rcc.qdoc | 96 + doc/src/resources.qdoc | 192 + doc/src/richtext.qdoc | 1073 + doc/src/session.qdoc | 177 + doc/src/signalsandslots.qdoc | 418 + doc/src/snippets/accessibilityfactorysnippet.cpp | 68 + doc/src/snippets/accessibilitypluginsnippet.cpp | 75 + doc/src/snippets/accessibilityslidersnippet.cpp | 262 + doc/src/snippets/alphachannel.cpp | 114 + doc/src/snippets/audioeffects.cpp | 42 + doc/src/snippets/brush/brush.cpp | 87 + doc/src/snippets/brush/brush.pro | 1 + doc/src/snippets/brush/gradientcreationsnippet.cpp | 63 + doc/src/snippets/brushstyles/brushstyles.pro | 12 + doc/src/snippets/brushstyles/main.cpp | 52 + doc/src/snippets/brushstyles/qt-logo.png | Bin 0 -> 1422 bytes doc/src/snippets/brushstyles/renderarea.cpp | 79 + doc/src/snippets/brushstyles/renderarea.h | 62 + doc/src/snippets/brushstyles/stylewidget.cpp | 145 + doc/src/snippets/brushstyles/stylewidget.h | 99 + doc/src/snippets/buffer/buffer.cpp | 125 + doc/src/snippets/buffer/buffer.pro | 14 + doc/src/snippets/clipboard/clipboard.pro | 3 + doc/src/snippets/clipboard/clipwindow.cpp | 104 + doc/src/snippets/clipboard/clipwindow.h | 73 + doc/src/snippets/clipboard/main.cpp | 53 + doc/src/snippets/code/doc.src.qtscripttools.qdoc | 8 + .../snippets/code/doc_src_activeqt-dumpcpp.qdoc | 25 + doc/src/snippets/code/doc_src_appicon.qdoc | 23 + .../snippets/code/doc_src_assistant-manual.qdoc | 110 + .../snippets/code/doc_src_atomic-operations.qdoc | 71 + doc/src/snippets/code/doc_src_compiler-notes.qdoc | 8 + doc/src/snippets/code/doc_src_containers.qdoc | 235 + doc/src/snippets/code/doc_src_coordsys.qdoc | 47 + doc/src/snippets/code/doc_src_debug.qdoc | 24 + doc/src/snippets/code/doc_src_deployment.qdoc | 409 + doc/src/snippets/code/doc_src_designer-manual.qdoc | 98 + doc/src/snippets/code/doc_src_dnd.qdoc | 34 + doc/src/snippets/code/doc_src_emb-charinput.qdoc | 20 + .../snippets/code/doc_src_emb-crosscompiling.qdoc | 36 + doc/src/snippets/code/doc_src_emb-envvars.qdoc | 38 + doc/src/snippets/code/doc_src_emb-features.qdoc | 18 + doc/src/snippets/code/doc_src_emb-fonts.qdoc | 3 + doc/src/snippets/code/doc_src_emb-install.qdoc | 37 + doc/src/snippets/code/doc_src_emb-performance.qdoc | 36 + doc/src/snippets/code/doc_src_emb-pointer.qdoc | 68 + doc/src/snippets/code/doc_src_emb-qvfb.qdoc | 70 + doc/src/snippets/code/doc_src_emb-running.qdoc | 61 + doc/src/snippets/code/doc_src_emb-vnc.qdoc | 25 + .../code/doc_src_examples_activeqt_comapp.qdoc | 39 + .../code/doc_src_examples_activeqt_dotnet.qdoc | 4 + .../code/doc_src_examples_activeqt_menus.qdoc | 6 + doc/src/snippets/code/doc_src_examples_ahigl.qdoc | 8 + .../code/doc_src_examples_application.qdoc | 5 + .../snippets/code/doc_src_examples_arrowpad.qdoc | 19 + .../code/doc_src_examples_containerextension.qdoc | 4 + .../code/doc_src_examples_customwidgetplugin.qdoc | 4 + .../snippets/code/doc_src_examples_dropsite.qdoc | 3 + .../code/doc_src_examples_editabletreemodel.qdoc | 8 + .../snippets/code/doc_src_examples_hellotr.qdoc | 31 + doc/src/snippets/code/doc_src_examples_icons.qdoc | 14 + .../code/doc_src_examples_imageviewer.qdoc | 24 + .../code/doc_src_examples_qtscriptcustomclass.qdoc | 35 + .../code/doc_src_examples_simpledommodel.qdoc | 20 + .../code/doc_src_examples_simpletreemodel.qdoc | 12 + .../snippets/code/doc_src_examples_svgalib.qdoc | 3 + .../code/doc_src_examples_taskmenuextension.qdoc | 4 + .../snippets/code/doc_src_examples_textfinder.qdoc | 6 + .../snippets/code/doc_src_examples_trollprint.qdoc | 35 + .../snippets/code/doc_src_examples_tutorial.qdoc | 10 + .../doc_src_examples_worldtimeclockplugin.qdoc | 4 + .../snippets/code/doc_src_exportedfunctions.qdoc | 17 + doc/src/snippets/code/doc_src_gpl.qdoc | 679 + doc/src/snippets/code/doc_src_graphicsview.qdoc | 77 + doc/src/snippets/code/doc_src_groups.qdoc | 26 + doc/src/snippets/code/doc_src_i18n.qdoc | 155 + doc/src/snippets/code/doc_src_installation.qdoc | 127 + doc/src/snippets/code/doc_src_introtodbus.qdoc | 3 + doc/src/snippets/code/doc_src_layout.qdoc | 119 + doc/src/snippets/code/doc_src_lgpl.qdoc | 507 + doc/src/snippets/code/doc_src_licenses.qdoc | 108 + doc/src/snippets/code/doc_src_linguist-manual.qdoc | 183 + doc/src/snippets/code/doc_src_mac-differences.qdoc | 36 + doc/src/snippets/code/doc_src_moc.qdoc | 124 + .../code/doc_src_model-view-programming.qdoc | 36 + doc/src/snippets/code/doc_src_modules.qdoc | 3 + doc/src/snippets/code/doc_src_objecttrees.qdoc | 20 + doc/src/snippets/code/doc_src_phonon-api.qdoc | 224 + doc/src/snippets/code/doc_src_phonon.qdoc | 13 + doc/src/snippets/code/doc_src_platform-notes.qdoc | 39 + doc/src/snippets/code/doc_src_plugins-howto.qdoc | 67 + doc/src/snippets/code/doc_src_porting-qsa.qdoc | 187 + doc/src/snippets/code/doc_src_porting4-canvas.qdoc | 116 + .../snippets/code/doc_src_porting4-designer.qdoc | 159 + doc/src/snippets/code/doc_src_porting4.qdoc | 473 + doc/src/snippets/code/doc_src_properties.qdoc | 77 + doc/src/snippets/code/doc_src_q3asciidict.qdoc | 52 + doc/src/snippets/code/doc_src_q3dict.qdoc | 29 + doc/src/snippets/code/doc_src_q3intdict.qdoc | 51 + doc/src/snippets/code/doc_src_q3memarray.qdoc | 80 + doc/src/snippets/code/doc_src_q3ptrdict.qdoc | 66 + doc/src/snippets/code/doc_src_q3ptrlist.qdoc | 82 + doc/src/snippets/code/doc_src_q3valuelist.qdoc | 95 + doc/src/snippets/code/doc_src_q3valuestack.qdoc | 13 + doc/src/snippets/code/doc_src_q3valuevector.qdoc | 85 + doc/src/snippets/code/doc_src_qalgorithms.qdoc | 314 + doc/src/snippets/code/doc_src_qaxcontainer.qdoc | 8 + doc/src/snippets/code/doc_src_qaxserver.qdoc | 223 + doc/src/snippets/code/doc_src_qcache.qdoc | 17 + doc/src/snippets/code/doc_src_qdbusadaptors.qdoc | 253 + doc/src/snippets/code/doc_src_qiterator.qdoc | 380 + doc/src/snippets/code/doc_src_qmake-manual.qdoc | 813 + doc/src/snippets/code/doc_src_qnamespace.qdoc | 24 + doc/src/snippets/code/doc_src_qpair.qdoc | 15 + doc/src/snippets/code/doc_src_qplugin.qdoc | 24 + doc/src/snippets/code/doc_src_qset.qdoc | 126 + doc/src/snippets/code/doc_src_qsignalspy.qdoc | 41 + doc/src/snippets/code/doc_src_qt-conf.qdoc | 14 + .../doc_src_qt-embedded-displaymanagement.qdoc | 51 + doc/src/snippets/code/doc_src_qt3support.qdoc | 8 + doc/src/snippets/code/doc_src_qt3to4.qdoc | 26 + .../snippets/code/doc_src_qt4-accessibility.qdoc | 59 + doc/src/snippets/code/doc_src_qt4-arthur.qdoc | 104 + doc/src/snippets/code/doc_src_qt4-intro.qdoc | 101 + doc/src/snippets/code/doc_src_qt4-mainwindow.qdoc | 70 + doc/src/snippets/code/doc_src_qt4-sql.qdoc | 19 + doc/src/snippets/code/doc_src_qt4-styles.qdoc | 42 + doc/src/snippets/code/doc_src_qt4-tulip.qdoc | 100 + doc/src/snippets/code/doc_src_qtcore.qdoc | 3 + doc/src/snippets/code/doc_src_qtdbus.qdoc | 8 + doc/src/snippets/code/doc_src_qtdesigner.qdoc | 293 + doc/src/snippets/code/doc_src_qtestevent.qdoc | 11 + doc/src/snippets/code/doc_src_qtestlib.qdoc | 102 + doc/src/snippets/code/doc_src_qtgui.qdoc | 3 + doc/src/snippets/code/doc_src_qthelp.qdoc | 161 + doc/src/snippets/code/doc_src_qtmac-as-native.qdoc | 3 + doc/src/snippets/code/doc_src_qtnetwork.qdoc | 8 + doc/src/snippets/code/doc_src_qtopengl.qdoc | 8 + doc/src/snippets/code/doc_src_qtscript.qdoc | 948 + .../snippets/code/doc_src_qtscriptextensions.qdoc | 7 + doc/src/snippets/code/doc_src_qtsql.qdoc | 8 + doc/src/snippets/code/doc_src_qtsvg.qdoc | 8 + doc/src/snippets/code/doc_src_qttest.qdoc | 8 + doc/src/snippets/code/doc_src_qtuiloader.qdoc | 8 + doc/src/snippets/code/doc_src_qtwebkit.qdoc | 8 + doc/src/snippets/code/doc_src_qtxml.qdoc | 77 + doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc | 349 + doc/src/snippets/code/doc_src_qvarlengtharray.qdoc | 38 + doc/src/snippets/code/doc_src_rcc.qdoc | 3 + doc/src/snippets/code/doc_src_resources.qdoc | 41 + doc/src/snippets/code/doc_src_richtext.qdoc | 50 + doc/src/snippets/code/doc_src_session.qdoc | 3 + doc/src/snippets/code/doc_src_sql-driver.qdoc | 239 + doc/src/snippets/code/doc_src_styles.qdoc | 94 + doc/src/snippets/code/doc_src_stylesheet.qdoc | 1911 + doc/src/snippets/code/doc_src_uic.qdoc | 15 + doc/src/snippets/code/doc_src_unicode.qdoc | 18 + .../code/doc_src_unix-signal-handlers.qdoc | 110 + .../snippets/code/doc_src_wince-customization.qdoc | 70 + .../snippets/code/doc_src_wince-introduction.qdoc | 9 + doc/src/snippets/code/doc_src_wince-opengl.qdoc | 3 + .../code/src.gui.text.qtextdocumentwriter.cpp | 5 + .../snippets/code/src.qdbus.qdbuspendingcall.cpp | 24 + .../snippets/code/src.qdbus.qdbuspendingreply.cpp | 23 + .../code/src.scripttools.qscriptenginedebugger.cpp | 9 + .../src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp | 35 + .../code/src_activeqt_container_qaxbase.cpp | 159 + .../code/src_activeqt_container_qaxscript.cpp | 18 + .../code/src_activeqt_control_qaxbindable.cpp | 60 + .../code/src_activeqt_control_qaxfactory.cpp | 155 + .../code/src_corelib_codecs_qtextcodec.cpp | 34 + .../code/src_corelib_codecs_qtextcodecplugin.cpp | 16 + .../code/src_corelib_concurrent_qfuture.cpp | 24 + .../src_corelib_concurrent_qfuturesynchronizer.cpp | 13 + .../code/src_corelib_concurrent_qfuturewatcher.cpp | 10 + ...rc_corelib_concurrent_qtconcurrentexception.cpp | 35 + .../src_corelib_concurrent_qtconcurrentfilter.cpp | 131 + .../src_corelib_concurrent_qtconcurrentmap.cpp | 144 + .../src_corelib_concurrent_qtconcurrentrun.cpp | 60 + .../code/src_corelib_concurrent_qthreadpool.cpp | 13 + .../snippets/code/src_corelib_global_qglobal.cpp | 458 + .../code/src_corelib_io_qabstractfileengine.cpp | 80 + .../snippets/code/src_corelib_io_qdatastream.cpp | 81 + doc/src/snippets/code/src_corelib_io_qdir.cpp | 135 + .../snippets/code/src_corelib_io_qdiriterator.cpp | 12 + doc/src/snippets/code/src_corelib_io_qfile.cpp | 35 + doc/src/snippets/code/src_corelib_io_qfileinfo.cpp | 106 + doc/src/snippets/code/src_corelib_io_qiodevice.cpp | 59 + doc/src/snippets/code/src_corelib_io_qprocess.cpp | 94 + doc/src/snippets/code/src_corelib_io_qsettings.cpp | 276 + .../code/src_corelib_io_qtemporaryfile.cpp | 13 + .../snippets/code/src_corelib_io_qtextstream.cpp | 89 + doc/src/snippets/code/src_corelib_io_qurl.cpp | 47 + ...src_corelib_kernel_qabstracteventdispatcher.cpp | 3 + .../code/src_corelib_kernel_qabstractitemmodel.cpp | 28 + .../code/src_corelib_kernel_qcoreapplication.cpp | 86 + .../code/src_corelib_kernel_qmetaobject.cpp | 95 + .../snippets/code/src_corelib_kernel_qmetatype.cpp | 69 + .../snippets/code/src_corelib_kernel_qmimedata.cpp | 68 + .../snippets/code/src_corelib_kernel_qobject.cpp | 381 + .../code/src_corelib_kernel_qsystemsemaphore.cpp | 21 + .../snippets/code/src_corelib_kernel_qtimer.cpp | 12 + .../snippets/code/src_corelib_kernel_qvariant.cpp | 97 + .../snippets/code/src_corelib_plugin_qlibrary.cpp | 44 + doc/src/snippets/code/src_corelib_plugin_quuid.cpp | 4 + .../snippets/code/src_corelib_thread_qatomic.cpp | 58 + .../snippets/code/src_corelib_thread_qmutex.cpp | 153 + .../code/src_corelib_thread_qmutexpool.cpp | 21 + .../code/src_corelib_thread_qreadwritelock.cpp | 69 + .../code/src_corelib_thread_qsemaphore.cpp | 33 + .../snippets/code/src_corelib_thread_qthread.cpp | 16 + .../src_corelib_thread_qwaitcondition_unix.cpp | 49 + .../snippets/code/src_corelib_tools_qbitarray.cpp | 136 + .../snippets/code/src_corelib_tools_qbytearray.cpp | 364 + .../snippets/code/src_corelib_tools_qdatetime.cpp | 106 + .../code/src_corelib_tools_qeasingcurve.cpp | 4 + doc/src/snippets/code/src_corelib_tools_qhash.cpp | 259 + .../code/src_corelib_tools_qlinkedlist.cpp | 164 + .../snippets/code/src_corelib_tools_qlistdata.cpp | 227 + .../snippets/code/src_corelib_tools_qlocale.cpp | 55 + doc/src/snippets/code/src_corelib_tools_qmap.cpp | 273 + doc/src/snippets/code/src_corelib_tools_qpoint.cpp | 109 + doc/src/snippets/code/src_corelib_tools_qqueue.cpp | 8 + doc/src/snippets/code/src_corelib_tools_qrect.cpp | 10 + .../snippets/code/src_corelib_tools_qregexp.cpp | 184 + doc/src/snippets/code/src_corelib_tools_qsize.cpp | 96 + .../snippets/code/src_corelib_tools_qstring.cpp | 47 + .../snippets/code/src_corelib_tools_qtimeline.cpp | 15 + .../snippets/code/src_corelib_tools_qvector.cpp | 143 + .../snippets/code/src_corelib_xml_qxmlstream.cpp | 27 + .../code/src_gui_accessible_qaccessible.cpp | 8 + .../code/src_gui_dialogs_qabstractprintdialog.cpp | 6 + .../snippets/code/src_gui_dialogs_qfiledialog.cpp | 91 + .../snippets/code/src_gui_dialogs_qfontdialog.cpp | 45 + .../snippets/code/src_gui_dialogs_qmessagebox.cpp | 108 + doc/src/snippets/code/src_gui_dialogs_qwizard.cpp | 40 + .../code/src_gui_embedded_qcopchannel_qws.cpp | 26 + .../snippets/code/src_gui_embedded_qmouse_qws.cpp | 4 + .../code/src_gui_embedded_qmousetslib_qws.cpp | 9 + .../snippets/code/src_gui_embedded_qscreen_qws.cpp | 8 + .../code/src_gui_embedded_qtransportauth_qws.cpp | 47 + .../code/src_gui_embedded_qwindowsystem_qws.cpp | 45 + .../src_gui_graphicsview_qgraphicsgridlayout.cpp | 13 + .../code/src_gui_graphicsview_qgraphicsitem.cpp | 221 + .../src_gui_graphicsview_qgraphicslinearlayout.cpp | 13 + .../src_gui_graphicsview_qgraphicsproxywidget.cpp | 47 + .../code/src_gui_graphicsview_qgraphicsscene.cpp | 82 + .../src_gui_graphicsview_qgraphicssceneevent.cpp | 5 + .../code/src_gui_graphicsview_qgraphicsview.cpp | 92 + .../code/src_gui_graphicsview_qgraphicswidget.cpp | 26 + doc/src/snippets/code/src_gui_image_qbitmap.cpp | 4 + doc/src/snippets/code/src_gui_image_qicon.cpp | 22 + doc/src/snippets/code/src_gui_image_qimage.cpp | 42 + .../snippets/code/src_gui_image_qimagereader.cpp | 26 + .../snippets/code/src_gui_image_qimagewriter.cpp | 19 + doc/src/snippets/code/src_gui_image_qmovie.cpp | 13 + doc/src/snippets/code/src_gui_image_qpixmap.cpp | 12 + .../snippets/code/src_gui_image_qpixmapcache.cpp | 21 + .../snippets/code/src_gui_image_qpixmapfilter.cpp | 22 + .../code/src_gui_itemviews_qabstractitemview.cpp | 18 + .../code/src_gui_itemviews_qdatawidgetmapper.cpp | 23 + .../code/src_gui_itemviews_qitemeditorfactory.cpp | 23 + .../code/src_gui_itemviews_qitemselectionmodel.cpp | 10 + .../code/src_gui_itemviews_qstandarditemmodel.cpp | 42 + .../code/src_gui_itemviews_qtablewidget.cpp | 5 + .../code/src_gui_itemviews_qtreewidget.cpp | 8 + doc/src/snippets/code/src_gui_kernel_qaction.cpp | 9 + .../snippets/code/src_gui_kernel_qapplication.cpp | 143 + .../code/src_gui_kernel_qapplication_x11.cpp | 5 + .../snippets/code/src_gui_kernel_qclipboard.cpp | 13 + doc/src/snippets/code/src_gui_kernel_qevent.cpp | 14 + .../snippets/code/src_gui_kernel_qformlayout.cpp | 36 + .../snippets/code/src_gui_kernel_qkeysequence.cpp | 19 + doc/src/snippets/code/src_gui_kernel_qlayout.cpp | 27 + .../snippets/code/src_gui_kernel_qlayoutitem.cpp | 13 + doc/src/snippets/code/src_gui_kernel_qshortcut.cpp | 15 + .../snippets/code/src_gui_kernel_qshortcutmap.cpp | 3 + doc/src/snippets/code/src_gui_kernel_qsound.cpp | 9 + doc/src/snippets/code/src_gui_kernel_qwidget.cpp | 97 + doc/src/snippets/code/src_gui_painting_qbrush.cpp | 11 + doc/src/snippets/code/src_gui_painting_qcolor.cpp | 9 + .../snippets/code/src_gui_painting_qdrawutil.cpp | 58 + doc/src/snippets/code/src_gui_painting_qmatrix.cpp | 22 + .../snippets/code/src_gui_painting_qpainter.cpp | 202 + .../code/src_gui_painting_qpainterpath.cpp | 109 + doc/src/snippets/code/src_gui_painting_qpen.cpp | 41 + doc/src/snippets/code/src_gui_painting_qregion.cpp | 13 + .../code/src_gui_painting_qregion_unix.cpp | 18 + .../snippets/code/src_gui_painting_qtransform.cpp | 42 + doc/src/snippets/code/src_gui_styles_qstyle.cpp | 8 + .../snippets/code/src_gui_styles_qstyleoption.cpp | 14 + doc/src/snippets/code/src_gui_text_qfont.cpp | 27 + .../snippets/code/src_gui_text_qfontmetrics.cpp | 14 + .../code/src_gui_text_qsyntaxhighlighter.cpp | 86 + doc/src/snippets/code/src_gui_text_qtextcursor.cpp | 40 + .../snippets/code/src_gui_text_qtextdocument.cpp | 10 + doc/src/snippets/code/src_gui_text_qtextlayout.cpp | 24 + doc/src/snippets/code/src_gui_util_qcompleter.cpp | 23 + .../code/src_gui_util_qdesktopservices.cpp | 17 + doc/src/snippets/code/src_gui_util_qundostack.cpp | 69 + .../code/src_gui_widgets_qabstractbutton.cpp | 20 + .../code/src_gui_widgets_qabstractspinbox.cpp | 8 + .../code/src_gui_widgets_qcalendarwidget.cpp | 39 + .../snippets/code/src_gui_widgets_qcheckbox.cpp | 3 + .../code/src_gui_widgets_qdatetimeedit.cpp | 39 + .../snippets/code/src_gui_widgets_qdockwidget.cpp | 8 + doc/src/snippets/code/src_gui_widgets_qframe.cpp | 8 + .../snippets/code/src_gui_widgets_qgroupbox.cpp | 3 + doc/src/snippets/code/src_gui_widgets_qlabel.cpp | 24 + .../snippets/code/src_gui_widgets_qlineedit.cpp | 10 + doc/src/snippets/code/src_gui_widgets_qmenu.cpp | 37 + doc/src/snippets/code/src_gui_widgets_qmenubar.cpp | 8 + .../code/src_gui_widgets_qplaintextedit.cpp | 15 + .../snippets/code/src_gui_widgets_qpushbutton.cpp | 3 + .../snippets/code/src_gui_widgets_qradiobutton.cpp | 3 + .../snippets/code/src_gui_widgets_qrubberband.cpp | 22 + .../snippets/code/src_gui_widgets_qscrollarea.cpp | 9 + doc/src/snippets/code/src_gui_widgets_qspinbox.cpp | 40 + .../code/src_gui_widgets_qsplashscreen.cpp | 15 + .../snippets/code/src_gui_widgets_qsplitter.cpp | 7 + .../snippets/code/src_gui_widgets_qstatusbar.cpp | 3 + .../snippets/code/src_gui_widgets_qtextbrowser.cpp | 4 + .../snippets/code/src_gui_widgets_qtextedit.cpp | 20 + .../snippets/code/src_gui_widgets_qvalidator.cpp | 95 + .../snippets/code/src_gui_widgets_qworkspace.cpp | 8 + doc/src/snippets/code/src_network_access_qftp.cpp | 59 + doc/src/snippets/code/src_network_access_qhttp.cpp | 85 + .../src_network_access_qnetworkaccessmanager.cpp | 21 + .../code/src_network_access_qnetworkrequest.cpp | 3 + .../code/src_network_kernel_qhostaddress.cpp | 8 + .../snippets/code/src_network_kernel_qhostinfo.cpp | 50 + .../code/src_network_kernel_qnetworkproxy.cpp | 14 + .../code/src_network_socket_qabstractsocket.cpp | 30 + .../code/src_network_socket_qlocalsocket_unix.cpp | 12 + .../src_network_socket_qnativesocketengine.cpp | 21 + .../code/src_network_socket_qtcpserver.cpp | 3 + .../code/src_network_socket_qudpsocket.cpp | 25 + .../code/src_network_ssl_qsslcertificate.cpp | 6 + .../code/src_network_ssl_qsslconfiguration.cpp | 5 + .../snippets/code/src_network_ssl_qsslsocket.cpp | 56 + doc/src/snippets/code/src_opengl_qgl.cpp | 132 + doc/src/snippets/code/src_opengl_qglcolormap.cpp | 21 + .../snippets/code/src_opengl_qglpixelbuffer.cpp | 19 + .../code/src_qdbus_qdbusabstractinterface.cpp | 20 + doc/src/snippets/code/src_qdbus_qdbusargument.cpp | 151 + doc/src/snippets/code/src_qdbus_qdbuscontext.cpp | 32 + doc/src/snippets/code/src_qdbus_qdbusinterface.cpp | 11 + doc/src/snippets/code/src_qdbus_qdbusmetatype.cpp | 3 + doc/src/snippets/code/src_qdbus_qdbusreply.cpp | 14 + .../code/src_qt3support_canvas_q3canvas.cpp | 51 + .../code/src_qt3support_dialogs_q3filedialog.cpp | 229 + .../src_qt3support_dialogs_q3progressdialog.cpp | 41 + .../code/src_qt3support_itemviews_q3iconview.cpp | 75 + .../code/src_qt3support_itemviews_q3listview.cpp | 73 + .../code/src_qt3support_itemviews_q3table.cpp | 57 + .../snippets/code/src_qt3support_network_q3dns.cpp | 58 + .../snippets/code/src_qt3support_network_q3ftp.cpp | 65 + .../code/src_qt3support_network_q3http.cpp | 74 + .../code/src_qt3support_network_q3localfs.cpp | 4 + .../src_qt3support_network_q3networkprotocol.cpp | 8 + .../code/src_qt3support_network_q3socket.cpp | 4 + .../code/src_qt3support_network_q3socketdevice.cpp | 4 + .../snippets/code/src_qt3support_network_q3url.cpp | 43 + .../code/src_qt3support_network_q3urloperator.cpp | 37 + .../snippets/code/src_qt3support_other_q3accel.cpp | 40 + .../code/src_qt3support_other_q3mimefactory.cpp | 32 + .../code/src_qt3support_other_q3process.cpp | 8 + .../code/src_qt3support_other_q3process_unix.cpp | 4 + ...rc_qt3support_painting_q3paintdevicemetrics.cpp | 4 + .../code/src_qt3support_painting_q3painter.cpp | 4 + .../code/src_qt3support_painting_q3picture.cpp | 14 + .../code/src_qt3support_sql_q3databrowser.cpp | 8 + .../code/src_qt3support_sql_q3datatable.cpp | 8 + .../code/src_qt3support_sql_q3dataview.cpp | 4 + .../code/src_qt3support_sql_q3sqlcursor.cpp | 100 + .../snippets/code/src_qt3support_sql_q3sqlform.cpp | 26 + .../code/src_qt3support_sql_q3sqlmanager_p.cpp | 11 + .../code/src_qt3support_sql_q3sqlpropertymap.cpp | 35 + .../code/src_qt3support_sql_q3sqlselectcursor.cpp | 11 + .../code/src_qt3support_text_q3simplerichtext.cpp | 3 + .../code/src_qt3support_text_q3textbrowser.cpp | 3 + .../code/src_qt3support_text_q3textedit.cpp | 31 + .../code/src_qt3support_text_q3textstream.cpp | 29 + .../code/src_qt3support_tools_q3cstring.cpp | 40 + .../code/src_qt3support_tools_q3deepcopy.cpp | 58 + .../code/src_qt3support_tools_q3garray.cpp | 20 + .../code/src_qt3support_tools_q3signal.cpp | 38 + .../code/src_qt3support_widgets_q3combobox.cpp | 15 + .../code/src_qt3support_widgets_q3datetimeedit.cpp | 28 + .../code/src_qt3support_widgets_q3dockarea.cpp | 8 + .../code/src_qt3support_widgets_q3dockwindow.cpp | 4 + .../code/src_qt3support_widgets_q3gridview.cpp | 6 + .../code/src_qt3support_widgets_q3header.cpp | 6 + .../code/src_qt3support_widgets_q3mainwindow.cpp | 45 + .../code/src_qt3support_widgets_q3scrollview.cpp | 61 + .../code/src_qt3support_widgets_q3whatsthis.cpp | 3 + doc/src/snippets/code/src_qtestlib_qtestcase.cpp | 188 + doc/src/snippets/code/src_script_qscriptable.cpp | 25 + doc/src/snippets/code/src_script_qscriptclass.cpp | 10 + .../snippets/code/src_script_qscriptcontext.cpp | 28 + doc/src/snippets/code/src_script_qscriptengine.cpp | 292 + .../code/src_script_qscriptengineagent.cpp | 12 + doc/src/snippets/code/src_script_qscriptvalue.cpp | 40 + .../code/src_script_qscriptvalueiterator.cpp | 32 + .../snippets/code/src_sql_kernel_qsqldatabase.cpp | 95 + .../snippets/code/src_sql_kernel_qsqldriver.cpp | 24 + doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp | 6 + doc/src/snippets/code/src_sql_kernel_qsqlindex.cpp | 8 + doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp | 40 + .../snippets/code/src_sql_kernel_qsqlresult.cpp | 45 + .../code/src_sql_models_qsqlquerymodel.cpp | 12 + doc/src/snippets/code/src_svg_qgraphicssvgitem.cpp | 11 + doc/src/snippets/code/src_xml_dom_qdom.cpp | 178 + doc/src/snippets/code/src_xml_sax_qxml.cpp | 3 + .../src_xmlpatterns_api_qabstracturiresolver.cpp | 3 + ...xmlpatterns_api_qabstractxmlforwarditerator.cpp | 3 + .../src_xmlpatterns_api_qabstractxmlnodemodel.cpp | 22 + .../src_xmlpatterns_api_qabstractxmlreceiver.cpp | 7 + .../src_xmlpatterns_api_qsimplexmlnodemodel.cpp | 19 + .../code/src_xmlpatterns_api_qxmlformatter.cpp | 8 + .../snippets/code/src_xmlpatterns_api_qxmlname.cpp | 8 + .../code/src_xmlpatterns_api_qxmlquery.cpp | 152 + .../code/src_xmlpatterns_api_qxmlresultitems.cpp | 16 + .../code/src_xmlpatterns_api_qxmlserializer.cpp | 7 + ...tools_assistant_compat_lib_qassistantclient.cpp | 25 + ..._src_lib_extension_default_extensionfactory.cpp | 35 + .../tools_designer_src_lib_extension_extension.cpp | 15 + ...esigner_src_lib_extension_qextensionmanager.cpp | 17 + ...ols_designer_src_lib_sdk_abstractformeditor.cpp | 11 + ...ols_designer_src_lib_sdk_abstractformwindow.cpp | 25 + ...signer_src_lib_sdk_abstractformwindowcursor.cpp | 8 + ...igner_src_lib_sdk_abstractformwindowmanager.cpp | 11 + ...esigner_src_lib_sdk_abstractobjectinspector.cpp | 11 + ...designer_src_lib_sdk_abstractpropertyeditor.cpp | 23 + ...ools_designer_src_lib_sdk_abstractwidgetbox.cpp | 30 + ..._designer_src_lib_uilib_abstractformbuilder.cpp | 17 + .../tools_designer_src_lib_uilib_formbuilder.cpp | 26 + ...tools_patternist_qapplicationargumentparser.cpp | 5 + ...ls_shared_qtgradienteditor_qtgradientdialog.cpp | 44 + ..._shared_qtpropertybrowser_qtpropertybrowser.cpp | 47 + ..._shared_qtpropertybrowser_qtvariantproperty.cpp | 16 + ...ools_shared_qttoolbardialog_qttoolbardialog.cpp | 12 + doc/src/snippets/complexpingpong-example.qdoc | 4 + doc/src/snippets/console/dbus_pingpong.txt | 3 + doc/src/snippets/coordsys/coordsys.cpp | 77 + doc/src/snippets/coordsys/coordsys.pro | 1 + doc/src/snippets/customstyle/customstyle.cpp | 93 + doc/src/snippets/customstyle/customstyle.h | 61 + doc/src/snippets/customstyle/customstyle.pro | 2 + doc/src/snippets/customstyle/main.cpp | 55 + doc/src/snippets/customviewstyle.cpp | 29 + doc/src/snippets/dbus-pingpong-example.qdoc | 3 + .../designer/autoconnection/autoconnection.pro | 5 + .../designer/autoconnection/imagedialog.cpp | 70 + .../snippets/designer/autoconnection/imagedialog.h | 60 + .../designer/autoconnection/imagedialog.ui | 389 + doc/src/snippets/designer/autoconnection/main.cpp | 52 + doc/src/snippets/designer/designer.pro | 6 + .../snippets/designer/imagedialog/imagedialog.pro | 3 + .../snippets/designer/imagedialog/imagedialog.ui | 389 + doc/src/snippets/designer/imagedialog/main.cpp | 54 + .../designer/multipleinheritance/imagedialog.cpp | 60 + .../designer/multipleinheritance/imagedialog.h | 55 + .../designer/multipleinheritance/imagedialog.ui | 389 + .../snippets/designer/multipleinheritance/main.cpp | 52 + .../multipleinheritance/multipleinheritance.pro | 5 + .../designer/noautoconnection/imagedialog.cpp | 77 + .../designer/noautoconnection/imagedialog.h | 60 + .../designer/noautoconnection/imagedialog.ui | 389 + .../snippets/designer/noautoconnection/main.cpp | 52 + .../designer/noautoconnection/noautoconnection.pro | 5 + .../designer/singleinheritance/imagedialog.cpp | 60 + .../designer/singleinheritance/imagedialog.h | 58 + .../designer/singleinheritance/imagedialog.ui | 389 + .../snippets/designer/singleinheritance/main.cpp | 52 + .../singleinheritance/singleinheritance.pro | 5 + doc/src/snippets/dialogs/dialogs.cpp | 269 + doc/src/snippets/dialogs/dialogs.pro | 1 + .../snippets/dockwidgets/Resources/modules.html | 28 + doc/src/snippets/dockwidgets/Resources/qtcore.html | 122 + doc/src/snippets/dockwidgets/Resources/qtgui.html | 276 + .../snippets/dockwidgets/Resources/qtnetwork.html | 35 + .../snippets/dockwidgets/Resources/qtopengl.html | 27 + doc/src/snippets/dockwidgets/Resources/qtsql.html | 39 + doc/src/snippets/dockwidgets/Resources/qtxml.html | 53 + doc/src/snippets/dockwidgets/Resources/titles.txt | 7 + doc/src/snippets/dockwidgets/dockwidgets.pro | 4 + doc/src/snippets/dockwidgets/dockwidgets.qrc | 12 + doc/src/snippets/dockwidgets/main.cpp | 53 + doc/src/snippets/dockwidgets/mainwindow.cpp | 123 + doc/src/snippets/dockwidgets/mainwindow.h | 71 + doc/src/snippets/draganddrop/draganddrop.pro | 5 + doc/src/snippets/draganddrop/dragwidget.cpp | 154 + doc/src/snippets/draganddrop/dragwidget.h | 80 + doc/src/snippets/draganddrop/main.cpp | 54 + doc/src/snippets/draganddrop/mainwindow.cpp | 85 + doc/src/snippets/draganddrop/mainwindow.h | 72 + doc/src/snippets/dragging/dragging.pro | 4 + doc/src/snippets/dragging/images.qrc | 5 + doc/src/snippets/dragging/images/file.png | Bin 0 -> 313 bytes doc/src/snippets/dragging/main.cpp | 52 + doc/src/snippets/dragging/mainwindow.cpp | 111 + doc/src/snippets/dragging/mainwindow.h | 72 + doc/src/snippets/dropactions/dropactions.pro | 3 + doc/src/snippets/dropactions/main.cpp | 52 + doc/src/snippets/dropactions/window.cpp | 106 + doc/src/snippets/dropactions/window.h | 72 + doc/src/snippets/droparea.cpp | 139 + doc/src/snippets/dropevents/dropevents.pro | 3 + doc/src/snippets/dropevents/main.cpp | 53 + doc/src/snippets/dropevents/window.cpp | 88 + doc/src/snippets/dropevents/window.h | 72 + doc/src/snippets/droprectangle/droprectangle.pro | 3 + doc/src/snippets/droprectangle/main.cpp | 52 + doc/src/snippets/droprectangle/window.cpp | 97 + doc/src/snippets/droprectangle/window.h | 72 + doc/src/snippets/eventfilters/eventfilters.pro | 3 + doc/src/snippets/eventfilters/filterobject.cpp | 75 + doc/src/snippets/eventfilters/filterobject.h | 60 + doc/src/snippets/eventfilters/main.cpp | 55 + doc/src/snippets/events/events.cpp | 98 + doc/src/snippets/events/events.pro | 1 + .../snippets/explicitlysharedemployee/employee.cpp | 110 + .../snippets/explicitlysharedemployee/employee.h | 75 + .../explicitlysharedemployee.pro | 3 + doc/src/snippets/explicitlysharedemployee/main.cpp | 51 + doc/src/snippets/file/file.cpp | 124 + doc/src/snippets/file/file.pro | 14 + doc/src/snippets/filedialogurls.cpp | 22 + doc/src/snippets/fileinfo/fileinfo.pro | 11 + doc/src/snippets/fileinfo/main.cpp | 93 + doc/src/snippets/graphicssceneadditemsnippet.cpp | 81 + .../i18n-non-qt-class/i18n-non-qt-class.pro | 7 + doc/src/snippets/i18n-non-qt-class/main.cpp | 55 + doc/src/snippets/i18n-non-qt-class/myclass.cpp | 48 + doc/src/snippets/i18n-non-qt-class/myclass.h | 60 + doc/src/snippets/i18n-non-qt-class/myclass.ts | 12 + doc/src/snippets/i18n-non-qt-class/resources.qrc | 6 + .../translations/i18n-non-qt-class_en.ts | 12 + .../translations/i18n-non-qt-class_fr.ts | 13 + doc/src/snippets/image/image.cpp | 105 + doc/src/snippets/image/image.pro | 1 + doc/src/snippets/image/supportedformat.cpp | 53 + doc/src/snippets/inherited-slot/button.cpp | 54 + doc/src/snippets/inherited-slot/button.h | 60 + doc/src/snippets/inherited-slot/inherited-slot.pro | 3 + doc/src/snippets/inherited-slot/main.cpp | 67 + doc/src/snippets/itemselection/itemselection.pro | 3 + doc/src/snippets/itemselection/main.cpp | 116 + doc/src/snippets/itemselection/model.cpp | 239 + doc/src/snippets/itemselection/model.h | 75 + doc/src/snippets/javastyle.cpp | 2746 + doc/src/snippets/layouts/layouts.cpp | 130 + doc/src/snippets/layouts/layouts.pro | 12 + doc/src/snippets/mainwindowsnippet.cpp | 93 + doc/src/snippets/matrix/matrix.cpp | 141 + doc/src/snippets/matrix/matrix.pro | 11 + doc/src/snippets/mdiareasnippets.cpp | 98 + doc/src/snippets/medianodesnippet.cpp | 29 + doc/src/snippets/moc/main.cpp | 66 + doc/src/snippets/moc/moc.pro | 2 + doc/src/snippets/moc/myclass1.h | 66 + doc/src/snippets/moc/myclass2.h | 67 + doc/src/snippets/moc/myclass3.h | 60 + doc/src/snippets/modelview-subclasses/main.cpp | 69 + doc/src/snippets/modelview-subclasses/model.cpp | 153 + doc/src/snippets/modelview-subclasses/model.h | 71 + doc/src/snippets/modelview-subclasses/view.cpp | 315 + doc/src/snippets/modelview-subclasses/view.h | 91 + doc/src/snippets/modelview-subclasses/window.cpp | 113 + doc/src/snippets/modelview-subclasses/window.h | 69 + doc/src/snippets/myscrollarea.cpp | 129 + doc/src/snippets/network/tcpwait.cpp | 70 + doc/src/snippets/ntfsp.cpp | 11 + doc/src/snippets/painterpath/painterpath.cpp | 77 + doc/src/snippets/painterpath/painterpath.pro | 1 + doc/src/snippets/patternist/anyHTMLElement.xq | 1 + doc/src/snippets/patternist/anyXLinkAttribute.xq | 2 + doc/src/snippets/patternist/bracesIncluded.xq | 1 + .../snippets/patternist/bracesIncludedResult.xml | 1 + doc/src/snippets/patternist/bracesOmitted.xq | 1 + .../snippets/patternist/bracesOmittedResult.xml | 2 + .../snippets/patternist/computedTreeFragment.xq | 14 + doc/src/snippets/patternist/copyAttribute.xq | 9 + doc/src/snippets/patternist/copyID.xq | 3 + doc/src/snippets/patternist/directTreeFragment.xq | 7 + doc/src/snippets/patternist/doc.txt | 35 + doc/src/snippets/patternist/docPlainHTML.xq | 1 + doc/src/snippets/patternist/docPlainHTML2.xq | 1 + doc/src/snippets/patternist/embedDataInXHTML.xq | 10 + doc/src/snippets/patternist/embedDataInXHTML2.xq | 10 + doc/src/snippets/patternist/emptyParagraphs.xq | 1 + doc/src/snippets/patternist/escapeCurlyBraces.xq | 4 + .../snippets/patternist/escapeStringLiterals.xml | 2 + .../snippets/patternist/escapeStringLiterals.xq | 7 + .../patternist/expressionInsideAttribute.xq | 2 + doc/src/snippets/patternist/filterOnPath.xq | 2 + doc/src/snippets/patternist/filterOnStep.xq | 2 + doc/src/snippets/patternist/firstParagraph.xq | 1 + doc/src/snippets/patternist/fnStringOnAttribute.xq | 9 + doc/src/snippets/patternist/forClause.xq | 3 + doc/src/snippets/patternist/forClause2.xq | 3 + doc/src/snippets/patternist/forClauseOnFeed.xq | 6 + doc/src/snippets/patternist/indented.xml | 5 + doc/src/snippets/patternist/introAcneRemover.xq | 8 + doc/src/snippets/patternist/introExample2.xq | 5 + doc/src/snippets/patternist/introFileHierarchy.xml | 14 + doc/src/snippets/patternist/introNavigateFS.xq | 12 + doc/src/snippets/patternist/introductionExample.xq | 3 + doc/src/snippets/patternist/invalidLetOrderBy.xq | 3 + doc/src/snippets/patternist/items.xq | 5 + doc/src/snippets/patternist/letOrderBy.xq | 4 + .../snippets/patternist/literalsAndOperators.xq | 2 + doc/src/snippets/patternist/mobeyDick.xml | 4 + doc/src/snippets/patternist/nextLastParagraph.xq | 1 + .../patternist/nodeConstructorsAreExpressions.xq | 4 + .../snippets/patternist/nodeConstructorsInPaths.xq | 1 + .../snippets/patternist/nodeTestChildElement.xq | 1 + doc/src/snippets/patternist/notIndented.xml | 1 + .../snippets/patternist/oneElementConstructor.xq | 1 + .../patternist/paragraphsExceptTheFiveFirst.xq | 1 + .../snippets/patternist/paragraphsWithTables.xq | 1 + doc/src/snippets/patternist/pathAB.xq | 1 + doc/src/snippets/patternist/pathsAllParagraphs.xq | 1 + doc/src/snippets/patternist/simpleHTML.xq | 1 + doc/src/snippets/patternist/simpleXHTML.xq | 2 + doc/src/snippets/patternist/svgDocumentElement.xml | 1 + doc/src/snippets/patternist/tablesInParagraphs.xq | 1 + doc/src/snippets/patternist/twoSVGElements.xq | 5 + doc/src/snippets/patternist/xmlStylesheet.xq | 1 + doc/src/snippets/patternist/xsBooleanTrue.xq | 1 + .../snippets/patternist/xsvgDocumentElement.xml | 1 + doc/src/snippets/persistentindexes/main.cpp | 52 + doc/src/snippets/persistentindexes/mainwindow.cpp | 121 + doc/src/snippets/persistentindexes/mainwindow.h | 71 + doc/src/snippets/persistentindexes/model.cpp | 169 + doc/src/snippets/persistentindexes/model.h | 72 + .../persistentindexes/persistentindexes.pro | 5 + doc/src/snippets/phonon.cpp | 96 + doc/src/snippets/phonon/samplebackend/main.cpp | 115 + doc/src/snippets/phononeffectparameter.cpp | 35 + doc/src/snippets/phononobjectdescription.cpp | 40 + doc/src/snippets/picture/picture.cpp | 152 + doc/src/snippets/picture/picture.pro | 12 + doc/src/snippets/plaintextlayout/main.cpp | 53 + .../snippets/plaintextlayout/plaintextlayout.pro | 3 + doc/src/snippets/plaintextlayout/window.cpp | 109 + doc/src/snippets/plaintextlayout/window.h | 62 + doc/src/snippets/pointer/pointer.cpp | 61 + doc/src/snippets/polygon/polygon.cpp | 113 + doc/src/snippets/polygon/polygon.pro | 1 + doc/src/snippets/porting4-dropevents/main.cpp | 53 + .../porting4-dropevents/porting4-dropevents.pro | 3 + doc/src/snippets/porting4-dropevents/window.cpp | 125 + doc/src/snippets/porting4-dropevents/window.h | 73 + doc/src/snippets/printing-qprinter/errors.cpp | 25 + doc/src/snippets/printing-qprinter/main.cpp | 54 + doc/src/snippets/printing-qprinter/object.cpp | 72 + doc/src/snippets/printing-qprinter/object.h | 53 + .../printing-qprinter/printing-qprinter.pro | 3 + doc/src/snippets/process/process.cpp | 77 + doc/src/snippets/process/process.pro | 1 + doc/src/snippets/qabstractsliderisnippet.cpp | 510 + doc/src/snippets/qcalendarwidget/main.cpp | 65 + .../snippets/qcalendarwidget/qcalendarwidget.pro | 1 + doc/src/snippets/qcolumnview/main.cpp | 80 + doc/src/snippets/qcolumnview/qcolumnview.pro | 1 + .../snippets/qdbusextratypes/qdbusextratypes.cpp | 67 + .../snippets/qdbusextratypes/qdbusextratypes.pro | 2 + doc/src/snippets/qdebugsnippet.cpp | 70 + doc/src/snippets/qdir-filepaths/main.cpp | 55 + doc/src/snippets/qdir-filepaths/qdir-filepaths.pro | 1 + doc/src/snippets/qdir-listfiles/main.cpp | 63 + doc/src/snippets/qdir-listfiles/qdir-listfiles.pro | 1 + doc/src/snippets/qdir-namefilters/main.cpp | 66 + .../snippets/qdir-namefilters/qdir-namefilters.pro | 1 + doc/src/snippets/qfontdatabase/main.cpp | 75 + doc/src/snippets/qfontdatabase/qfontdatabase.pro | 1 + doc/src/snippets/qgl-namespace/main.cpp | 47 + doc/src/snippets/qgl-namespace/qgl-namespace.pro | 2 + doc/src/snippets/qlabel/main.cpp | 89 + doc/src/snippets/qlabel/qlabel.pro | 1 + doc/src/snippets/qlineargradient/main.cpp | 51 + doc/src/snippets/qlineargradient/paintwidget.cpp | 68 + doc/src/snippets/qlineargradient/paintwidget.h | 60 + .../snippets/qlineargradient/qlineargradient.pro | 3 + doc/src/snippets/qlistview-dnd/main.cpp | 52 + doc/src/snippets/qlistview-dnd/mainwindow.cpp | 84 + doc/src/snippets/qlistview-dnd/mainwindow.h | 62 + doc/src/snippets/qlistview-dnd/model.cpp | 168 + doc/src/snippets/qlistview-dnd/model.h | 74 + doc/src/snippets/qlistview-dnd/qlistview-dnd.pro | 5 + doc/src/snippets/qlistview-using/main.cpp | 52 + doc/src/snippets/qlistview-using/mainwindow.cpp | 138 + doc/src/snippets/qlistview-using/mainwindow.h | 73 + doc/src/snippets/qlistview-using/model.cpp | 175 + doc/src/snippets/qlistview-using/model.h | 83 + .../snippets/qlistview-using/qlistview-using.pro | 5 + doc/src/snippets/qlistwidget-dnd/main.cpp | 52 + doc/src/snippets/qlistwidget-dnd/mainwindow.cpp | 88 + doc/src/snippets/qlistwidget-dnd/mainwindow.h | 63 + .../snippets/qlistwidget-dnd/qlistwidget-dnd.pro | 3 + doc/src/snippets/qlistwidget-using/main.cpp | 52 + doc/src/snippets/qlistwidget-using/mainwindow.cpp | 159 + doc/src/snippets/qlistwidget-using/mainwindow.h | 73 + .../qlistwidget-using/qlistwidget-using.pro | 3 + doc/src/snippets/qmacnativewidget/main.mm | 94 + .../snippets/qmacnativewidget/qmacnativewidget.pro | 8 + doc/src/snippets/qmake/comments.pro | 10 + doc/src/snippets/qmake/configscopes.pro | 23 + doc/src/snippets/qmake/debug_and_release.pro | 14 + doc/src/snippets/qmake/delegate.h | 41 + doc/src/snippets/qmake/dereferencing.pro | 5 + doc/src/snippets/qmake/destdir.pro | 2 + doc/src/snippets/qmake/dirname.pro | 6 + doc/src/snippets/qmake/environment.pro | 9 + doc/src/snippets/qmake/functions.pro | 34 + doc/src/snippets/qmake/include.pro | 3 + doc/src/snippets/qmake/main.cpp | 41 + doc/src/snippets/qmake/model.cpp | 41 + doc/src/snippets/qmake/model.h | 41 + doc/src/snippets/qmake/other.pro | 0 doc/src/snippets/qmake/paintwidget_mac.cpp | 41 + doc/src/snippets/qmake/paintwidget_unix.cpp | 45 + doc/src/snippets/qmake/paintwidget_win.cpp | 41 + doc/src/snippets/qmake/project_location.pro | 6 + doc/src/snippets/qmake/qtconfiguration.pro | 19 + doc/src/snippets/qmake/quoting.pro | 8 + doc/src/snippets/qmake/replace.pro | 4 + doc/src/snippets/qmake/replacefunction.pro | 46 + doc/src/snippets/qmake/scopes.pro | 42 + doc/src/snippets/qmake/shared_or_static.pro | 8 + doc/src/snippets/qmake/specifications.pro | 7 + doc/src/snippets/qmake/testfunction.pro | 20 + doc/src/snippets/qmake/variables.pro | 7 + doc/src/snippets/qmake/view.h | 41 + doc/src/snippets/qmetaobject-invokable/main.cpp | 53 + .../qmetaobject-invokable.pro | 3 + doc/src/snippets/qmetaobject-invokable/window.cpp | 58 + doc/src/snippets/qmetaobject-invokable/window.h | 59 + doc/src/snippets/qprocess-environment/main.cpp | 61 + .../qprocess-environment/qprocess-environment.pro | 1 + .../snippets/qprocess/qprocess-simpleexecution.cpp | 67 + doc/src/snippets/qprocess/qprocess.pro | 11 + doc/src/snippets/qsignalmapper/buttonwidget.cpp | 67 + doc/src/snippets/qsignalmapper/buttonwidget.h | 68 + doc/src/snippets/qsignalmapper/main.cpp | 62 + doc/src/snippets/qsignalmapper/mainwindow.h | 60 + doc/src/snippets/qsignalmapper/qsignalmapper.pro | 10 + .../qsortfilterproxymodel-details/main.cpp | 100 + .../qsortfilterproxymodel-details.pro | 1 + doc/src/snippets/qsortfilterproxymodel/main.cpp | 78 + .../qsortfilterproxymodel.pro | 1 + doc/src/snippets/qsplashscreen/main.cpp | 64 + doc/src/snippets/qsplashscreen/mainwindow.cpp | 51 + doc/src/snippets/qsplashscreen/mainwindow.h | 55 + doc/src/snippets/qsplashscreen/qsplashscreen.pro | 4 + doc/src/snippets/qsplashscreen/qsplashscreen.qrc | 5 + doc/src/snippets/qsplashscreen/splash.png | Bin 0 -> 27926 bytes doc/src/snippets/qsql-namespace/main.cpp | 47 + doc/src/snippets/qsql-namespace/qsql-namespace.pro | 2 + doc/src/snippets/qstack/main.cpp | 56 + doc/src/snippets/qstack/qstack.pro | 11 + doc/src/snippets/qstackedlayout/main.cpp | 90 + doc/src/snippets/qstackedlayout/qstackedlayout.pro | 11 + doc/src/snippets/qstackedwidget/main.cpp | 88 + doc/src/snippets/qstackedwidget/qstackedwidget.pro | 11 + doc/src/snippets/qstandarditemmodel/main.cpp | 72 + .../qstandarditemmodel/qstandarditemmodel.pro | 11 + doc/src/snippets/qstatustipevent/main.cpp | 83 + .../snippets/qstatustipevent/qstatustipevent.pro | 11 + doc/src/snippets/qstring/main.cpp | 942 + doc/src/snippets/qstring/qstring.pro | 11 + doc/src/snippets/qstringlist/main.cpp | 156 + doc/src/snippets/qstringlist/qstringlist.pro | 11 + doc/src/snippets/qstringlistmodel/main.cpp | 67 + .../snippets/qstringlistmodel/qstringlistmodel.pro | 11 + doc/src/snippets/qstyleoption/main.cpp | 140 + doc/src/snippets/qstyleoption/qstyleoption.pro | 11 + doc/src/snippets/qstyleplugin/main.cpp | 98 + doc/src/snippets/qstyleplugin/qstyleplugin.pro | 11 + doc/src/snippets/qsvgwidget/main.cpp | 60 + doc/src/snippets/qsvgwidget/qsvgwidget.pro | 3 + doc/src/snippets/qsvgwidget/qsvgwidget.qrc | 5 + doc/src/snippets/qsvgwidget/spheres.svg | 79 + doc/src/snippets/qsvgwidget/sunflower.svg | 188 + doc/src/snippets/qt-namespace/main.cpp | 47 + doc/src/snippets/qt-namespace/qt-namespace.pro | 1 + doc/src/snippets/qtablewidget-dnd/Images/cubed.png | Bin 0 -> 437 bytes .../snippets/qtablewidget-dnd/Images/squared.png | Bin 0 -> 440 bytes doc/src/snippets/qtablewidget-dnd/images.qrc | 6 + doc/src/snippets/qtablewidget-dnd/main.cpp | 52 + doc/src/snippets/qtablewidget-dnd/mainwindow.cpp | 144 + doc/src/snippets/qtablewidget-dnd/mainwindow.h | 69 + .../snippets/qtablewidget-dnd/qtablewidget-dnd.pro | 4 + doc/src/snippets/qtablewidget-resizing/main.cpp | 52 + .../snippets/qtablewidget-resizing/mainwindow.cpp | 116 + .../snippets/qtablewidget-resizing/mainwindow.h | 68 + .../qtablewidget-resizing.pro | 3 + .../snippets/qtablewidget-using/Images/cubed.png | Bin 0 -> 437 bytes .../snippets/qtablewidget-using/Images/squared.png | Bin 0 -> 440 bytes doc/src/snippets/qtablewidget-using/images.qrc | 6 + doc/src/snippets/qtablewidget-using/main.cpp | 52 + doc/src/snippets/qtablewidget-using/mainwindow.cpp | 151 + doc/src/snippets/qtablewidget-using/mainwindow.h | 71 + .../qtablewidget-using/qtablewidget-using.pro | 4 + doc/src/snippets/qtcast/qtcast.cpp | 80 + doc/src/snippets/qtcast/qtcast.h | 55 + doc/src/snippets/qtcast/qtcast.pro | 2 + doc/src/snippets/qtest-namespace/main.cpp | 48 + .../snippets/qtest-namespace/qtest-namespace.pro | 2 + doc/src/snippets/qtreeview-dnd/dragdropmodel.cpp | 147 + doc/src/snippets/qtreeview-dnd/dragdropmodel.h | 73 + doc/src/snippets/qtreeview-dnd/main.cpp | 52 + doc/src/snippets/qtreeview-dnd/mainwindow.cpp | 91 + doc/src/snippets/qtreeview-dnd/mainwindow.h | 62 + doc/src/snippets/qtreeview-dnd/qtreeview-dnd.pro | 9 + doc/src/snippets/qtreeview-dnd/treeitem.cpp | 126 + doc/src/snippets/qtreeview-dnd/treeitem.h | 72 + doc/src/snippets/qtreeview-dnd/treemodel.cpp | 263 + doc/src/snippets/qtreeview-dnd/treemodel.h | 80 + doc/src/snippets/qtreewidget-using/main.cpp | 52 + doc/src/snippets/qtreewidget-using/mainwindow.cpp | 231 + doc/src/snippets/qtreewidget-using/mainwindow.h | 78 + .../qtreewidget-using/qtreewidget-using.pro | 3 + .../qtreewidgetitemiterator-using/main.cpp | 52 + .../qtreewidgetitemiterator-using/mainwindow.cpp | 198 + .../qtreewidgetitemiterator-using/mainwindow.h | 78 + .../qtreewidgetitemiterator-using.pro | 3 + .../snippets/qtscript/evaluation/evaluation.pro | 2 + doc/src/snippets/qtscript/evaluation/main.cpp | 51 + .../snippets/qtscript/registeringobjects/main.cpp | 57 + .../qtscript/registeringobjects/myobject.cpp | 54 + .../qtscript/registeringobjects/myobject.h | 58 + .../registeringobjects/registeringobjects.pro | 4 + .../snippets/qtscript/registeringvalues/main.cpp | 53 + .../registeringvalues/registeringvalues.pro | 2 + doc/src/snippets/qtscript/scriptedslot/main.cpp | 73 + doc/src/snippets/qtscript/scriptedslot/object.js | 18 + .../qtscript/scriptedslot/scriptedslot.pro | 3 + .../qtscript/scriptedslot/scriptedslot.qrc | 5 + doc/src/snippets/quiloader/main.cpp | 71 + doc/src/snippets/quiloader/myform.ui | 130 + doc/src/snippets/quiloader/mywidget.cpp | 61 + doc/src/snippets/quiloader/mywidget.h | 53 + doc/src/snippets/quiloader/mywidget.qrc | 5 + doc/src/snippets/quiloader/quiloader.pro | 4 + doc/src/snippets/qx11embedcontainer/main.cpp | 68 + .../qx11embedcontainer/qx11embedcontainer.pro | 1 + doc/src/snippets/qx11embedwidget/embedwidget.cpp | 67 + doc/src/snippets/qx11embedwidget/embedwidget.h | 66 + doc/src/snippets/qx11embedwidget/main.cpp | 62 + .../snippets/qx11embedwidget/qx11embedwidget.pro | 3 + doc/src/snippets/qxmlquery/bindingExample.cpp | 9 + doc/src/snippets/reading-selections/main.cpp | 60 + doc/src/snippets/reading-selections/model.cpp | 239 + doc/src/snippets/reading-selections/model.h | 75 + .../reading-selections/reading-selections.pro | 2 + doc/src/snippets/reading-selections/window.cpp | 121 + doc/src/snippets/reading-selections/window.h | 68 + doc/src/snippets/scribe-overview/main.cpp | 74 + .../snippets/scribe-overview/scribe-overview.pro | 1 + doc/src/snippets/scriptdebugger.cpp | 64 + doc/src/snippets/seekslider.cpp | 26 + doc/src/snippets/separations/finalwidget.cpp | 127 + doc/src/snippets/separations/finalwidget.h | 78 + doc/src/snippets/separations/main.cpp | 51 + doc/src/snippets/separations/screenwidget.cpp | 218 + doc/src/snippets/separations/screenwidget.h | 87 + doc/src/snippets/separations/separations.pro | 7 + doc/src/snippets/separations/separations.qdoc | 55 + doc/src/snippets/separations/viewer.cpp | 329 + doc/src/snippets/separations/viewer.h | 90 + doc/src/snippets/settings/settings.cpp | 185 + doc/src/snippets/shareddirmodel/main.cpp | 81 + doc/src/snippets/shareddirmodel/shareddirmodel.pro | 1 + doc/src/snippets/sharedemployee/employee.cpp | 42 + doc/src/snippets/sharedemployee/employee.h | 95 + doc/src/snippets/sharedemployee/main.cpp | 51 + doc/src/snippets/sharedemployee/sharedemployee.pro | 3 + doc/src/snippets/sharedtablemodel/main.cpp | 90 + doc/src/snippets/sharedtablemodel/model.cpp | 237 + doc/src/snippets/sharedtablemodel/model.h | 75 + .../snippets/sharedtablemodel/sharedtablemodel.pro | 2 + doc/src/snippets/signalmapper/accountsfile.txt | 1 + doc/src/snippets/signalmapper/filereader.cpp | 59 + doc/src/snippets/signalmapper/filereader.h | 28 + doc/src/snippets/signalmapper/main.cpp | 13 + doc/src/snippets/signalmapper/reportfile.txt | 2 + doc/src/snippets/signalmapper/signalmapper.pro | 12 + doc/src/snippets/signalmapper/taxfile.txt | 1 + doc/src/snippets/signalsandslots/lcdnumber.cpp | 78 + doc/src/snippets/signalsandslots/lcdnumber.h | 89 + .../snippets/signalsandslots/signalsandslots.cpp | 85 + doc/src/snippets/signalsandslots/signalsandslots.h | 90 + doc/src/snippets/simplemodel-use/main.cpp | 96 + .../snippets/simplemodel-use/simplemodel-use.pro | 1 + doc/src/snippets/snippets.pro | 109 + doc/src/snippets/splitter/splitter.cpp | 85 + doc/src/snippets/splitter/splitter.pro | 1 + doc/src/snippets/splitterhandle/main.cpp | 58 + doc/src/snippets/splitterhandle/splitter.cpp | 79 + doc/src/snippets/splitterhandle/splitter.h | 74 + doc/src/snippets/splitterhandle/splitterhandle.pro | 3 + doc/src/snippets/sqldatabase/sqldatabase.cpp | 560 + doc/src/snippets/sqldatabase/sqldatabase.pro | 2 + doc/src/snippets/streaming/main.cpp | 109 + doc/src/snippets/streaming/streaming.pro | 2 + doc/src/snippets/stringlistmodel/main.cpp | 84 + doc/src/snippets/stringlistmodel/model.cpp | 182 + doc/src/snippets/stringlistmodel/model.h | 83 + .../snippets/stringlistmodel/stringlistmodel.pro | 3 + doc/src/snippets/styles/styles.cpp | 92 + doc/src/snippets/stylesheet/common-mistakes.cpp | 12 + doc/src/snippets/textblock-formats/main.cpp | 119 + .../textblock-formats/textblock-formats.pro | 2 + doc/src/snippets/textblock-fragments/main.cpp | 53 + .../snippets/textblock-fragments/mainwindow.cpp | 149 + doc/src/snippets/textblock-fragments/mainwindow.h | 66 + .../textblock-fragments/textblock-fragments.pro | 6 + doc/src/snippets/textblock-fragments/xmlwriter.cpp | 119 + doc/src/snippets/textblock-fragments/xmlwriter.h | 65 + doc/src/snippets/textdocument-blocks/main.cpp | 53 + .../snippets/textdocument-blocks/mainwindow.cpp | 157 + doc/src/snippets/textdocument-blocks/mainwindow.h | 66 + .../textdocument-blocks/textdocument-blocks.pro | 6 + doc/src/snippets/textdocument-blocks/xmlwriter.cpp | 85 + doc/src/snippets/textdocument-blocks/xmlwriter.h | 62 + doc/src/snippets/textdocument-charformats/main.cpp | 93 + .../textdocument-charformats.pro | 1 + doc/src/snippets/textdocument-css/main.cpp | 60 + .../snippets/textdocument-css/textdocument-css.pro | 1 + doc/src/snippets/textdocument-cursors/main.cpp | 80 + .../textdocument-cursors/textdocument-cursors.pro | 1 + doc/src/snippets/textdocument-find/main.cpp | 92 + .../textdocument-find/textdocument-find.pro | 1 + doc/src/snippets/textdocument-frames/main.cpp | 54 + .../snippets/textdocument-frames/mainwindow.cpp | 162 + doc/src/snippets/textdocument-frames/mainwindow.h | 65 + .../textdocument-frames/textdocument-frames.pro | 6 + doc/src/snippets/textdocument-frames/xmlwriter.cpp | 117 + doc/src/snippets/textdocument-frames/xmlwriter.h | 65 + doc/src/snippets/textdocument-imagedrop/main.cpp | 53 + .../textdocument-imagedrop.pro | 2 + .../snippets/textdocument-imagedrop/textedit.cpp | 72 + doc/src/snippets/textdocument-imagedrop/textedit.h | 57 + .../snippets/textdocument-imageformat/images.qrc | 6 + .../textdocument-imageformat/images/advert.png | Bin 0 -> 16291 bytes .../textdocument-imageformat/images/newimage.png | Bin 0 -> 5490 bytes doc/src/snippets/textdocument-imageformat/main.cpp | 99 + .../textdocument-imageformat.pro | 2 + doc/src/snippets/textdocument-images/images.qrc | 5 + .../snippets/textdocument-images/images/advert.png | Bin 0 -> 16291 bytes doc/src/snippets/textdocument-images/main.cpp | 73 + .../textdocument-images/textdocument-images.pro | 2 + doc/src/snippets/textdocument-listitems/main.cpp | 53 + .../snippets/textdocument-listitems/mainwindow.cpp | 198 + .../snippets/textdocument-listitems/mainwindow.h | 76 + .../textdocument-listitems.pro | 3 + doc/src/snippets/textdocument-lists/main.cpp | 53 + doc/src/snippets/textdocument-lists/mainwindow.cpp | 193 + doc/src/snippets/textdocument-lists/mainwindow.h | 80 + .../textdocument-lists/textdocument-lists.pro | 3 + doc/src/snippets/textdocument-printing/main.cpp | 53 + .../snippets/textdocument-printing/mainwindow.cpp | 125 + .../snippets/textdocument-printing/mainwindow.h | 73 + .../textdocument-printing.pro | 3 + doc/src/snippets/textdocument-resources/main.cpp | 84 + .../textdocument-resources.pro | 1 + doc/src/snippets/textdocument-selections/main.cpp | 53 + .../textdocument-selections/mainwindow.cpp | 204 + .../snippets/textdocument-selections/mainwindow.h | 80 + .../textdocument-selections.pro | 4 + doc/src/snippets/textdocument-tables/main.cpp | 53 + .../snippets/textdocument-tables/mainwindow.cpp | 205 + doc/src/snippets/textdocument-tables/mainwindow.h | 66 + .../textdocument-tables/textdocument-tables.pro | 6 + doc/src/snippets/textdocument-tables/xmlwriter.cpp | 154 + doc/src/snippets/textdocument-tables/xmlwriter.h | 65 + doc/src/snippets/textdocument-texttable/main.cpp | 85 + doc/src/snippets/textdocumentendsnippet.cpp | 57 + doc/src/snippets/threads/threads.cpp | 121 + doc/src/snippets/threads/threads.h | 52 + doc/src/snippets/timeline/main.cpp | 73 + doc/src/snippets/timeline/timeline.pro | 1 + doc/src/snippets/timers/timers.cpp | 79 + doc/src/snippets/timers/timers.pro | 1 + doc/src/snippets/transform/main.cpp | 141 + doc/src/snippets/transform/transform.pro | 1 + .../uitools/calculatorform/calculatorform.pro | 5 + .../uitools/calculatorform/calculatorform.ui | 303 + doc/src/snippets/uitools/calculatorform/main.cpp | 58 + doc/src/snippets/updating-selections/main.cpp | 60 + doc/src/snippets/updating-selections/model.cpp | 237 + doc/src/snippets/updating-selections/model.h | 75 + .../updating-selections/updating-selections.pro | 2 + doc/src/snippets/updating-selections/window.cpp | 110 + doc/src/snippets/updating-selections/window.h | 68 + doc/src/snippets/videomedia.cpp | 19 + doc/src/snippets/volumeslider.cpp | 29 + doc/src/snippets/webkit/simple/main.cpp | 56 + doc/src/snippets/webkit/simple/simple.pro | 2 + doc/src/snippets/webkit/webpage/main.cpp | 62 + doc/src/snippets/webkit/webpage/webpage.pro | 3 + doc/src/snippets/whatsthis/whatsthis.cpp | 65 + doc/src/snippets/whatsthis/whatsthis.pro | 1 + doc/src/snippets/widget-mask/main.cpp | 55 + doc/src/snippets/widget-mask/mask.qrc | 5 + doc/src/snippets/widget-mask/tux.png | Bin 0 -> 12191 bytes doc/src/snippets/widget-mask/widget-mask.pro | 3 + doc/src/snippets/widgetdelegate.cpp | 27 + .../widgets-tutorial/childwidget/childwidget.pro | 1 + .../snippets/widgets-tutorial/childwidget/main.cpp | 17 + .../widgets-tutorial/nestedlayouts/main.cpp | 48 + .../nestedlayouts/nestedlayouts.pro | 1 + .../snippets/widgets-tutorial/toplevel/main.cpp | 13 + .../widgets-tutorial/toplevel/toplevel.pro | 1 + .../widgets-tutorial/windowlayout/main.cpp | 19 + .../widgets-tutorial/windowlayout/windowlayout.pro | 1 + doc/src/snippets/xml/prettyprint/main.cpp | 144 + doc/src/snippets/xml/prettyprint/prettyprint.pro | 4 + doc/src/snippets/xml/rsslisting/handler.cpp | 183 + doc/src/snippets/xml/rsslisting/handler.h | 75 + doc/src/snippets/xml/rsslisting/main.cpp | 64 + doc/src/snippets/xml/rsslisting/rsslisting.cpp | 252 + doc/src/snippets/xml/rsslisting/rsslisting.h | 87 + doc/src/snippets/xml/simpleparse/handler.cpp | 139 + doc/src/snippets/xml/simpleparse/handler.h | 68 + doc/src/snippets/xml/simpleparse/main.cpp | 88 + doc/src/snippets/xml/simpleparse/simpleparse.pro | 4 + doc/src/snippets/xml/xml.pro | 8 + doc/src/sql-driver.qdoc | 762 + doc/src/statemachine.qdoc | 272 + doc/src/styles.qdoc | 2059 + doc/src/stylesheet.qdoc | 3964 + .../images/mainwindow-docks-example.png | Bin 0 -> 14427 bytes doc/src/tech-preview/images/mainwindow-docks.png | Bin 0 -> 10168 bytes doc/src/tech-preview/images/plaintext-layout.png | Bin 0 -> 40981 bytes doc/src/tech-preview/known-issues.html | 110 + doc/src/templates.qdoc | 230 + doc/src/threads.qdoc | 609 + doc/src/timers.qdoc | 136 + doc/src/tools-list.qdoc | 87 + doc/src/topics.qdoc | 304 + doc/src/trademarks.qdoc | 75 + doc/src/trolltech-webpages.qdoc | 245 + doc/src/tutorials/addressbook-fr.qdoc | 1064 + doc/src/tutorials/addressbook-sdk.qdoc | 116 + doc/src/tutorials/addressbook.qdoc | 1006 + doc/src/tutorials/widgets-tutorial.qdoc | 193 + doc/src/uic.qdoc | 89 + doc/src/unicode.qdoc | 165 + doc/src/unix-signal-handlers.qdoc | 103 + doc/src/wince-customization.qdoc | 264 + doc/src/wince-introduction.qdoc | 110 + doc/src/wince-opengl.qdoc | 98 + doc/src/winsystem.qdoc | 99 + doc/src/xquery-introduction.qdoc | 1024 + examples/README | 39 + examples/activeqt/README | 39 + examples/activeqt/activeqt.pro | 20 + examples/activeqt/comapp/comapp.pro | 13 + examples/activeqt/comapp/comapp.rc | 1 + examples/activeqt/comapp/main.cpp | 272 + examples/activeqt/dotnet/walkthrough/Form1.cs | 127 + examples/activeqt/dotnet/walkthrough/Form1.resx | 131 + examples/activeqt/dotnet/walkthrough/Form1.vb | 88 + examples/activeqt/dotnet/walkthrough/csharp.csproj | 143 + examples/activeqt/dotnet/walkthrough/vb.vbproj | 147 + examples/activeqt/dotnet/wrapper/app.csproj | 93 + examples/activeqt/dotnet/wrapper/lib/lib.vcproj | 149 + examples/activeqt/dotnet/wrapper/lib/networker.cpp | 70 + examples/activeqt/dotnet/wrapper/lib/networker.h | 67 + examples/activeqt/dotnet/wrapper/lib/tools.cpp | 61 + examples/activeqt/dotnet/wrapper/lib/tools.h | 54 + examples/activeqt/dotnet/wrapper/lib/worker.cpp | 59 + examples/activeqt/dotnet/wrapper/lib/worker.h | 69 + examples/activeqt/dotnet/wrapper/main.cs | 40 + examples/activeqt/dotnet/wrapper/wrapper.sln | 28 + examples/activeqt/hierarchy/hierarchy.inf | 9 + examples/activeqt/hierarchy/hierarchy.pro | 16 + examples/activeqt/hierarchy/main.cpp | 50 + examples/activeqt/hierarchy/objects.cpp | 108 + examples/activeqt/hierarchy/objects.h | 100 + examples/activeqt/menus/fileopen.xpm | 22 + examples/activeqt/menus/filesave.xpm | 22 + examples/activeqt/menus/main.cpp | 64 + examples/activeqt/menus/menus.cpp | 178 + examples/activeqt/menus/menus.h | 76 + examples/activeqt/menus/menus.inf | 9 + examples/activeqt/menus/menus.pro | 14 + examples/activeqt/multiple/ax1.h | 87 + examples/activeqt/multiple/ax2.h | 94 + examples/activeqt/multiple/main.cpp | 53 + examples/activeqt/multiple/multiple.inf | 9 + examples/activeqt/multiple/multiple.pro | 16 + examples/activeqt/multiple/multipleax.rc | 32 + examples/activeqt/opengl/glbox.cpp | 250 + examples/activeqt/opengl/glbox.h | 90 + examples/activeqt/opengl/globjwin.cpp | 111 + examples/activeqt/opengl/globjwin.h | 62 + examples/activeqt/opengl/main.cpp | 91 + examples/activeqt/opengl/opengl.inf | 9 + examples/activeqt/opengl/opengl.pro | 19 + examples/activeqt/qutlook/addressview.cpp | 289 + examples/activeqt/qutlook/addressview.h | 79 + examples/activeqt/qutlook/fileopen.xpm | 22 + examples/activeqt/qutlook/fileprint.xpm | 24 + examples/activeqt/qutlook/filesave.xpm | 22 + examples/activeqt/qutlook/main.cpp | 56 + examples/activeqt/qutlook/qutlook.pro | 23 + examples/activeqt/simple/main.cpp | 137 + examples/activeqt/simple/simple.inf | 11 + examples/activeqt/simple/simple.pro | 13 + examples/activeqt/webbrowser/main.cpp | 189 + examples/activeqt/webbrowser/mainwindow.ui | 306 + examples/activeqt/webbrowser/webaxwidget.h | 67 + examples/activeqt/webbrowser/webbrowser.pro | 17 + examples/activeqt/webbrowser/wincemainwindow.ui | 299 + examples/activeqt/wrapper/main.cpp | 161 + examples/activeqt/wrapper/wrapper.inf | 9 + examples/activeqt/wrapper/wrapper.pro | 15 + examples/activeqt/wrapper/wrapperax.rc | 32 + examples/animation/animatedtiles/animatedtiles.pro | 2 + examples/animation/animatedtiles/animatedtiles.qrc | 11 + .../animatedtiles/images/Time-For-Lunch-2.jpg | Bin 0 -> 32471 bytes .../animation/animatedtiles/images/centered.png | Bin 0 -> 892 bytes .../animation/animatedtiles/images/ellipse.png | Bin 0 -> 10767 bytes .../animation/animatedtiles/images/figure8.png | Bin 0 -> 14050 bytes .../animation/animatedtiles/images/kinetic.png | Bin 0 -> 6776 bytes examples/animation/animatedtiles/images/random.png | Bin 0 -> 14969 bytes examples/animation/animatedtiles/images/tile.png | Bin 0 -> 16337 bytes examples/animation/animatedtiles/main.cpp | 242 + examples/animation/animation.pro | 21 + .../appchooser/accessories-dictionary.png | Bin 0 -> 5396 bytes examples/animation/appchooser/akregator.png | Bin 0 -> 4873 bytes examples/animation/appchooser/appchooser.pro | 9 + examples/animation/appchooser/appchooser.qrc | 8 + examples/animation/appchooser/digikam.png | Bin 0 -> 3334 bytes examples/animation/appchooser/k3b.png | Bin 0 -> 8220 bytes examples/animation/appchooser/main.cpp | 124 + examples/animation/easing/animation.h | 75 + examples/animation/easing/easing.pro | 16 + examples/animation/easing/form.ui | 201 + examples/animation/easing/images/qt-logo.png | Bin 0 -> 5149 bytes examples/animation/easing/main.cpp | 22 + examples/animation/easing/resources.qrc | 5 + examples/animation/easing/window.cpp | 133 + examples/animation/easing/window.h | 49 + examples/animation/example/example.pro | 12 + examples/animation/example/main.cpp | 23 + examples/animation/example/mainwindow.cpp | 220 + examples/animation/example/mainwindow.h | 45 + examples/animation/moveblocks/main.cpp | 274 + examples/animation/moveblocks/moveblocks.pro | 8 + examples/animation/padnavigator-ng/backside.ui | 208 + .../padnavigator-ng/images/artsfftscope.png | Bin 0 -> 1294 bytes .../padnavigator-ng/images/blue_angle_swirl.jpg | Bin 0 -> 11826 bytes .../padnavigator-ng/images/kontact_contacts.png | Bin 0 -> 4382 bytes .../padnavigator-ng/images/kontact_journal.png | Bin 0 -> 3261 bytes .../padnavigator-ng/images/kontact_mail.png | Bin 0 -> 3202 bytes .../padnavigator-ng/images/kontact_notes.png | Bin 0 -> 3893 bytes .../padnavigator-ng/images/kopeteavailable.png | Bin 0 -> 2380 bytes .../padnavigator-ng/images/metacontact_online.png | Bin 0 -> 2545 bytes .../animation/padnavigator-ng/images/minitools.png | Bin 0 -> 2087 bytes examples/animation/padnavigator-ng/main.cpp | 24 + .../animation/padnavigator-ng/padnavigator.pro | 24 + .../animation/padnavigator-ng/padnavigator.qrc | 14 + examples/animation/padnavigator-ng/panel.cpp | 216 + examples/animation/padnavigator-ng/panel.h | 59 + .../animation/padnavigator-ng/roundrectitem.cpp | 106 + examples/animation/padnavigator-ng/roundrectitem.h | 47 + examples/animation/padnavigator-ng/splashitem.cpp | 55 + examples/animation/padnavigator-ng/splashitem.h | 31 + examples/animation/photobrowser/main.cpp | 52 + examples/animation/photobrowser/menu.cpp | 125 + examples/animation/photobrowser/menu.h | 50 + examples/animation/photobrowser/photobrowser.pro | 17 + examples/animation/photobrowser/river.cpp | 561 + examples/animation/photobrowser/river.h | 81 + examples/animation/photobrowser/riveritem.cpp | 95 + examples/animation/photobrowser/riveritem.h | 36 + examples/animation/piemenu/main.cpp | 26 + examples/animation/piemenu/piemenu.pro | 8 + examples/animation/piemenu/qgraphicspiemenu.cpp | 220 + examples/animation/piemenu/qgraphicspiemenu.h | 74 + examples/animation/piemenu/qgraphicspiemenu_p.h | 48 + .../animation/piemenu/qgraphicspiemenusection_p.h | 58 + examples/animation/piemenu/scene.cpp | 43 + examples/animation/piemenu/scene.h | 30 + .../animation/research/memberfunctions/main.cpp | 48 + .../research/memberfunctions/memberfunctions.pro | 16 + .../research/memberfunctions/qvalueanimation.cpp | 73 + .../research/memberfunctions/qvalueanimation.h | 89 + .../research/memberfunctions/qvalueanimation_p.h | 47 + .../animation/research/propertytransform/main.cpp | 47 + .../propertytransform/propertytransform.pro | 14 + .../propertytransform/qpropertytransform.h | 78 + examples/animation/research/sound/main.cpp | 74 + examples/animation/research/sound/media/sax.mp3 | Bin 0 -> 417844 bytes examples/animation/research/sound/sound.pro | 14 + examples/animation/research/sound/sound.qrc | 5 + .../animation/states/accessories-dictionary.png | Bin 0 -> 5396 bytes examples/animation/states/akregator.png | Bin 0 -> 4873 bytes examples/animation/states/digikam.png | Bin 0 -> 3334 bytes examples/animation/states/help-browser.png | Bin 0 -> 6984 bytes examples/animation/states/k3b.png | Bin 0 -> 8220 bytes examples/animation/states/kchart.png | Bin 0 -> 4887 bytes examples/animation/states/main.cpp | 259 + examples/animation/states/states.pro | 8 + examples/animation/states/states.qrc | 10 + examples/animation/stickman/animation.cpp | 152 + examples/animation/stickman/animation.h | 40 + examples/animation/stickman/animations/chilling | Bin 0 -> 6508 bytes examples/animation/stickman/animations/dancing | Bin 0 -> 2348 bytes examples/animation/stickman/animations/dead | Bin 0 -> 268 bytes examples/animation/stickman/animations/jumping | Bin 0 -> 1308 bytes examples/animation/stickman/graphicsview.cpp | 15 + examples/animation/stickman/graphicsview.h | 19 + examples/animation/stickman/lifecycle.cpp | 176 + examples/animation/stickman/lifecycle.h | 40 + examples/animation/stickman/main.cpp | 58 + examples/animation/stickman/node.cpp | 42 + examples/animation/stickman/node.h | 26 + examples/animation/stickman/stickman.cpp | 299 + examples/animation/stickman/stickman.h | 59 + examples/animation/stickman/stickman.pro | 12 + examples/animation/sub-attaq/animationmanager.cpp | 97 + examples/animation/sub-attaq/animationmanager.h | 68 + examples/animation/sub-attaq/boat.cpp | 293 + examples/animation/sub-attaq/boat.h | 100 + examples/animation/sub-attaq/boat_p.h | 258 + examples/animation/sub-attaq/bomb.cpp | 132 + examples/animation/sub-attaq/bomb.h | 81 + .../sub-attaq/custompropertyanimation.cpp | 114 + .../animation/sub-attaq/custompropertyanimation.h | 117 + .../sub-attaq/custompropertyanimation_p.h | 64 + examples/animation/sub-attaq/data.xml | 15 + examples/animation/sub-attaq/graphicsscene.cpp | 368 + examples/animation/sub-attaq/graphicsscene.h | 129 + examples/animation/sub-attaq/main.cpp | 57 + examples/animation/sub-attaq/mainwindow.cpp | 92 + examples/animation/sub-attaq/mainwindow.h | 63 + .../animation/sub-attaq/pics/big/background.png | Bin 0 -> 48858 bytes examples/animation/sub-attaq/pics/big/boat.png | Bin 0 -> 5198 bytes examples/animation/sub-attaq/pics/big/bomb.png | Bin 0 -> 760 bytes .../sub-attaq/pics/big/explosion/boat/step1.png | Bin 0 -> 5760 bytes .../sub-attaq/pics/big/explosion/boat/step2.png | Bin 0 -> 9976 bytes .../sub-attaq/pics/big/explosion/boat/step3.png | Bin 0 -> 12411 bytes .../sub-attaq/pics/big/explosion/boat/step4.png | Bin 0 -> 15438 bytes .../pics/big/explosion/submarine/step1.png | Bin 0 -> 3354 bytes .../pics/big/explosion/submarine/step2.png | Bin 0 -> 6205 bytes .../pics/big/explosion/submarine/step3.png | Bin 0 -> 6678 bytes .../pics/big/explosion/submarine/step4.png | Bin 0 -> 6666 bytes .../animation/sub-attaq/pics/big/submarine.png | Bin 0 -> 3202 bytes examples/animation/sub-attaq/pics/big/surface.png | Bin 0 -> 575 bytes examples/animation/sub-attaq/pics/big/torpedo.png | Bin 0 -> 951 bytes .../sub-attaq/pics/scalable/background-n810.svg | 171 + .../sub-attaq/pics/scalable/background.svg | 171 + .../animation/sub-attaq/pics/scalable/boat.svg | 279 + .../animation/sub-attaq/pics/scalable/bomb.svg | 138 + .../animation/sub-attaq/pics/scalable/sand.svg | 103 + examples/animation/sub-attaq/pics/scalable/see.svg | 44 + examples/animation/sub-attaq/pics/scalable/sky.svg | 45 + .../sub-attaq/pics/scalable/sub-attaq.svg | 1473 + .../sub-attaq/pics/scalable/submarine.svg | 214 + .../animation/sub-attaq/pics/scalable/surface.svg | 49 + .../animation/sub-attaq/pics/scalable/torpedo.svg | 127 + .../animation/sub-attaq/pics/small/background.png | Bin 0 -> 34634 bytes examples/animation/sub-attaq/pics/small/boat.png | Bin 0 -> 2394 bytes examples/animation/sub-attaq/pics/small/bomb.png | Bin 0 -> 760 bytes .../animation/sub-attaq/pics/small/submarine.png | Bin 0 -> 1338 bytes .../animation/sub-attaq/pics/small/surface.png | Bin 0 -> 502 bytes .../animation/sub-attaq/pics/small/torpedo.png | Bin 0 -> 951 bytes .../animation/sub-attaq/pics/welcome/logo-a.png | Bin 0 -> 5972 bytes .../animation/sub-attaq/pics/welcome/logo-a2.png | Bin 0 -> 5969 bytes .../animation/sub-attaq/pics/welcome/logo-b.png | Bin 0 -> 6869 bytes .../animation/sub-attaq/pics/welcome/logo-dash.png | Bin 0 -> 2255 bytes .../animation/sub-attaq/pics/welcome/logo-excl.png | Bin 0 -> 2740 bytes .../animation/sub-attaq/pics/welcome/logo-q.png | Bin 0 -> 7016 bytes .../animation/sub-attaq/pics/welcome/logo-s.png | Bin 0 -> 5817 bytes .../animation/sub-attaq/pics/welcome/logo-t.png | Bin 0 -> 3717 bytes .../animation/sub-attaq/pics/welcome/logo-t2.png | Bin 0 -> 3688 bytes .../animation/sub-attaq/pics/welcome/logo-u.png | Bin 0 -> 5374 bytes examples/animation/sub-attaq/pixmapitem.cpp | 59 + examples/animation/sub-attaq/pixmapitem.h | 63 + examples/animation/sub-attaq/states.cpp | 289 + examples/animation/sub-attaq/states.h | 158 + examples/animation/sub-attaq/sub-attaq.pro | 36 + examples/animation/sub-attaq/subattaq.qrc | 38 + examples/animation/sub-attaq/submarine.cpp | 219 + examples/animation/sub-attaq/submarine.h | 97 + examples/animation/sub-attaq/submarine_p.h | 136 + examples/animation/sub-attaq/torpedo.cpp | 126 + examples/animation/sub-attaq/torpedo.h | 81 + examples/assistant/README | 38 + examples/assistant/assistant.pro | 8 + .../simpletextviewer/documentation/about.txt | 9 + .../simpletextviewer/documentation/browse.html | 34 + .../simpletextviewer/documentation/filedialog.html | 48 + .../simpletextviewer/documentation/findfile.html | 32 + .../documentation/images/browse.png | Bin 0 -> 21553 bytes .../documentation/images/fadedfilemenu.png | Bin 0 -> 9589 bytes .../documentation/images/filedialog.png | Bin 0 -> 12318 bytes .../documentation/images/handbook.png | Bin 0 -> 1060 bytes .../documentation/images/mainwindow.png | Bin 0 -> 12769 bytes .../simpletextviewer/documentation/images/open.png | Bin 0 -> 11697 bytes .../documentation/images/wildcard.png | Bin 0 -> 11266 bytes .../simpletextviewer/documentation/index.html | 41 + .../simpletextviewer/documentation/intro.html | 28 + .../simpletextviewer/documentation/openfile.html | 36 + .../documentation/simpletextviewer.adp | 40 + .../documentation/wildcardmatching.html | 57 + .../assistant/simpletextviewer/findfiledialog.cpp | 221 + .../assistant/simpletextviewer/findfiledialog.h | 99 + examples/assistant/simpletextviewer/main.cpp | 52 + examples/assistant/simpletextviewer/mainwindow.cpp | 154 + examples/assistant/simpletextviewer/mainwindow.h | 91 + .../simpletextviewer/simpletextviewer.pro | 16 + examples/dbus/complexpingpong/complexping.cpp | 118 + examples/dbus/complexpingpong/complexping.h | 59 + examples/dbus/complexpingpong/complexping.pro | 16 + examples/dbus/complexpingpong/complexpingpong.pro | 4 + examples/dbus/complexpingpong/complexpong.cpp | 105 + examples/dbus/complexpingpong/complexpong.h | 68 + examples/dbus/complexpingpong/complexpong.pro | 16 + examples/dbus/complexpingpong/ping-common.h | 42 + examples/dbus/dbus-chat/chat.cpp | 164 + examples/dbus/dbus-chat/chat.h | 82 + examples/dbus/dbus-chat/chat_adaptor.cpp | 35 + examples/dbus/dbus-chat/chat_adaptor.h | 57 + examples/dbus/dbus-chat/chat_interface.cpp | 25 + examples/dbus/dbus-chat/chat_interface.h | 49 + examples/dbus/dbus-chat/chatmainwindow.ui | 185 + examples/dbus/dbus-chat/chatsetnickname.ui | 149 + examples/dbus/dbus-chat/com.trolltech.chat.xml | 15 + examples/dbus/dbus-chat/dbus-chat.pro | 19 + examples/dbus/dbus.pro | 12 + examples/dbus/listnames/listnames.cpp | 92 + examples/dbus/listnames/listnames.pro | 17 + examples/dbus/pingpong/ping-common.h | 42 + examples/dbus/pingpong/ping.cpp | 75 + examples/dbus/pingpong/ping.pro | 16 + examples/dbus/pingpong/pingpong.pro | 4 + examples/dbus/pingpong/pong.cpp | 80 + examples/dbus/pingpong/pong.h | 54 + examples/dbus/pingpong/pong.pro | 16 + examples/dbus/remotecontrolledcar/car/car.cpp | 138 + examples/dbus/remotecontrolledcar/car/car.h | 76 + examples/dbus/remotecontrolledcar/car/car.pro | 20 + examples/dbus/remotecontrolledcar/car/car.xml | 11 + .../dbus/remotecontrolledcar/car/car_adaptor.cpp | 59 + .../dbus/remotecontrolledcar/car/car_adaptor_p.h | 57 + examples/dbus/remotecontrolledcar/car/main.cpp | 73 + .../dbus/remotecontrolledcar/controller/car.xml | 11 + .../controller/car_interface.cpp | 26 + .../controller/car_interface_p.h | 74 + .../remotecontrolledcar/controller/controller.cpp | 83 + .../remotecontrolledcar/controller/controller.h | 71 + .../remotecontrolledcar/controller/controller.pro | 21 + .../remotecontrolledcar/controller/controller.ui | 64 + .../dbus/remotecontrolledcar/controller/main.cpp | 53 + .../remotecontrolledcar/remotecontrolledcar.pro | 8 + examples/designer/README | 37 + .../calculatorbuilder/calculatorbuilder.pro | 14 + .../calculatorbuilder/calculatorbuilder.qrc | 5 + .../designer/calculatorbuilder/calculatorform.cpp | 92 + .../designer/calculatorbuilder/calculatorform.h | 71 + .../designer/calculatorbuilder/calculatorform.ui | 303 + examples/designer/calculatorbuilder/main.cpp | 54 + .../designer/calculatorform/calculatorform.cpp | 66 + examples/designer/calculatorform/calculatorform.h | 66 + .../designer/calculatorform/calculatorform.pro | 13 + examples/designer/calculatorform/calculatorform.ui | 284 + examples/designer/calculatorform/main.cpp | 53 + .../containerextension/containerextension.pro | 26 + .../containerextension/multipagewidget.cpp | 131 + .../designer/containerextension/multipagewidget.h | 88 + .../multipagewidgetcontainerextension.cpp | 101 + .../multipagewidgetcontainerextension.h | 75 + .../multipagewidgetextensionfactory.cpp | 65 + .../multipagewidgetextensionfactory.h | 64 + .../containerextension/multipagewidgetplugin.cpp | 197 + .../containerextension/multipagewidgetplugin.h | 81 + .../designer/customwidgetplugin/analogclock.cpp | 111 + examples/designer/customwidgetplugin/analogclock.h | 59 + .../customwidgetplugin/customwidgetplugin.cpp | 156 + .../customwidgetplugin/customwidgetplugin.h | 73 + .../customwidgetplugin/customwidgetplugin.pro | 21 + examples/designer/designer.pro | 19 + .../taskmenuextension/taskmenuextension.pro | 25 + examples/designer/taskmenuextension/tictactoe.cpp | 176 + examples/designer/taskmenuextension/tictactoe.h | 83 + .../designer/taskmenuextension/tictactoedialog.cpp | 99 + .../designer/taskmenuextension/tictactoedialog.h | 73 + .../designer/taskmenuextension/tictactoeplugin.cpp | 134 + .../designer/taskmenuextension/tictactoeplugin.h | 78 + .../taskmenuextension/tictactoetaskmenu.cpp | 104 + .../designer/taskmenuextension/tictactoetaskmenu.h | 88 + examples/designer/worldtimeclockbuilder/form.ui | 162 + examples/designer/worldtimeclockbuilder/main.cpp | 70 + .../worldtimeclockbuilder.pro | 11 + .../worldtimeclockbuilder.qrc | 5 + .../worldtimeclockplugin/worldtimeclock.cpp | 122 + .../designer/worldtimeclockplugin/worldtimeclock.h | 73 + .../worldtimeclockplugin/worldtimeclockplugin.cpp | 124 + .../worldtimeclockplugin/worldtimeclockplugin.h | 74 + .../worldtimeclockplugin/worldtimeclockplugin.pro | 21 + examples/desktop/README | 41 + examples/desktop/desktop.pro | 11 + examples/desktop/screenshot/main.cpp | 52 + examples/desktop/screenshot/screenshot.cpp | 198 + examples/desktop/screenshot/screenshot.h | 100 + examples/desktop/screenshot/screenshot.pro | 9 + examples/desktop/systray/images/bad.svg | 64 + examples/desktop/systray/images/heart.svg | 55 + examples/desktop/systray/images/trash.svg | 58 + examples/desktop/systray/main.cpp | 63 + examples/desktop/systray/systray.pro | 22 + examples/desktop/systray/systray.qrc | 7 + examples/desktop/systray/window.cpp | 259 + examples/desktop/systray/window.h | 113 + examples/dialogs/README | 40 + examples/dialogs/classwizard/classwizard.cpp | 431 + examples/dialogs/classwizard/classwizard.h | 157 + examples/dialogs/classwizard/classwizard.pro | 10 + examples/dialogs/classwizard/classwizard.qrc | 11 + examples/dialogs/classwizard/images/background.png | Bin 0 -> 22578 bytes examples/dialogs/classwizard/images/banner.png | Bin 0 -> 3947 bytes examples/dialogs/classwizard/images/logo1.png | Bin 0 -> 1619 bytes examples/dialogs/classwizard/images/logo2.png | Bin 0 -> 1619 bytes examples/dialogs/classwizard/images/logo3.png | Bin 0 -> 1619 bytes examples/dialogs/classwizard/images/watermark1.png | Bin 0 -> 14516 bytes examples/dialogs/classwizard/images/watermark2.png | Bin 0 -> 14912 bytes examples/dialogs/classwizard/main.cpp | 64 + examples/dialogs/configdialog/configdialog.cpp | 117 + examples/dialogs/configdialog/configdialog.h | 70 + examples/dialogs/configdialog/configdialog.pro | 14 + examples/dialogs/configdialog/configdialog.qrc | 7 + examples/dialogs/configdialog/images/config.png | Bin 0 -> 6758 bytes examples/dialogs/configdialog/images/query.png | Bin 0 -> 2116 bytes examples/dialogs/configdialog/images/update.png | Bin 0 -> 7890 bytes examples/dialogs/configdialog/main.cpp | 53 + examples/dialogs/configdialog/pages.cpp | 152 + examples/dialogs/configdialog/pages.h | 65 + examples/dialogs/dialogs.pro | 17 + examples/dialogs/extension/extension.pro | 9 + examples/dialogs/extension/finddialog.cpp | 113 + examples/dialogs/extension/finddialog.h | 79 + examples/dialogs/extension/main.cpp | 51 + examples/dialogs/findfiles/findfiles.pro | 9 + examples/dialogs/findfiles/main.cpp | 52 + examples/dialogs/findfiles/window.cpp | 250 + examples/dialogs/findfiles/window.h | 91 + examples/dialogs/licensewizard/images/logo.png | Bin 0 -> 1810 bytes .../dialogs/licensewizard/images/watermark.png | Bin 0 -> 34998 bytes examples/dialogs/licensewizard/licensewizard.cpp | 360 + examples/dialogs/licensewizard/licensewizard.h | 164 + examples/dialogs/licensewizard/licensewizard.pro | 10 + examples/dialogs/licensewizard/licensewizard.qrc | 6 + examples/dialogs/licensewizard/main.cpp | 64 + examples/dialogs/sipdialog/dialog.cpp | 124 + examples/dialogs/sipdialog/dialog.h | 64 + examples/dialogs/sipdialog/main.cpp | 53 + examples/dialogs/sipdialog/sipdialog.pro | 12 + examples/dialogs/standarddialogs/dialog.cpp | 390 + examples/dialogs/standarddialogs/dialog.h | 99 + examples/dialogs/standarddialogs/main.cpp | 61 + .../dialogs/standarddialogs/standarddialogs.pro | 11 + examples/dialogs/tabdialog/main.cpp | 58 + examples/dialogs/tabdialog/tabdialog.cpp | 196 + examples/dialogs/tabdialog/tabdialog.h | 100 + examples/dialogs/tabdialog/tabdialog.pro | 10 + examples/dialogs/trivialwizard/trivialwizard.cpp | 136 + examples/dialogs/trivialwizard/trivialwizard.pro | 7 + examples/draganddrop/README | 40 + .../delayedencoding/delayedencoding.pro | 14 + .../delayedencoding/delayedencoding.qrc | 6 + .../draganddrop/delayedencoding/images/drag.png | Bin 0 -> 977 bytes .../draganddrop/delayedencoding/images/example.svg | 59 + examples/draganddrop/delayedencoding/main.cpp | 52 + examples/draganddrop/delayedencoding/mimedata.cpp | 66 + examples/draganddrop/delayedencoding/mimedata.h | 64 + .../draganddrop/delayedencoding/sourcewidget.cpp | 115 + .../draganddrop/delayedencoding/sourcewidget.h | 71 + examples/draganddrop/draganddrop.pro | 15 + .../draganddrop/draggableicons/draggableicons.pro | 10 + .../draganddrop/draggableicons/draggableicons.qrc | 7 + examples/draganddrop/draggableicons/dragwidget.cpp | 169 + examples/draganddrop/draggableicons/dragwidget.h | 66 + .../draganddrop/draggableicons/images/boat.png | Bin 0 -> 2772 bytes examples/draganddrop/draggableicons/images/car.png | Bin 0 -> 2963 bytes .../draganddrop/draggableicons/images/house.png | Bin 0 -> 3292 bytes examples/draganddrop/draggableicons/main.cpp | 62 + .../draganddrop/draggabletext/draggabletext.pro | 12 + .../draganddrop/draggabletext/draggabletext.qrc | 5 + examples/draganddrop/draggabletext/draglabel.cpp | 52 + examples/draganddrop/draggabletext/draglabel.h | 59 + examples/draganddrop/draggabletext/dragwidget.cpp | 164 + examples/draganddrop/draggabletext/dragwidget.h | 63 + examples/draganddrop/draggabletext/main.cpp | 53 + examples/draganddrop/draggabletext/words.txt | 41 + examples/draganddrop/dropsite/droparea.cpp | 127 + examples/draganddrop/dropsite/droparea.h | 78 + examples/draganddrop/dropsite/dropsite.pro | 12 + examples/draganddrop/dropsite/dropsitewindow.cpp | 146 + examples/draganddrop/dropsite/dropsitewindow.h | 78 + examples/draganddrop/dropsite/main.cpp | 54 + examples/draganddrop/fridgemagnets/draglabel.cpp | 90 + examples/draganddrop/fridgemagnets/draglabel.h | 65 + examples/draganddrop/fridgemagnets/dragwidget.cpp | 212 + examples/draganddrop/fridgemagnets/dragwidget.h | 66 + .../draganddrop/fridgemagnets/fridgemagnets.pro | 12 + .../draganddrop/fridgemagnets/fridgemagnets.qrc | 5 + examples/draganddrop/fridgemagnets/main.cpp | 53 + examples/draganddrop/fridgemagnets/words.txt | 48 + examples/draganddrop/puzzle/example.jpg | Bin 0 -> 42654 bytes examples/draganddrop/puzzle/main.cpp | 55 + examples/draganddrop/puzzle/mainwindow.cpp | 151 + examples/draganddrop/puzzle/mainwindow.h | 77 + examples/draganddrop/puzzle/pieceslist.cpp | 122 + examples/draganddrop/puzzle/pieceslist.h | 62 + examples/draganddrop/puzzle/puzzle.pro | 20 + examples/draganddrop/puzzle/puzzle.qrc | 5 + examples/draganddrop/puzzle/puzzlewidget.cpp | 205 + examples/draganddrop/puzzle/puzzlewidget.h | 86 + examples/examples.pro | 45 + examples/graphicsview/README | 40 + .../basicgraphicslayouts/basicgraphicslayouts.pro | 12 + .../basicgraphicslayouts/basicgraphicslayouts.qrc | 5 + .../basicgraphicslayouts/images/block.png | Bin 0 -> 2146 bytes .../basicgraphicslayouts/layoutitem.cpp | 99 + .../graphicsview/basicgraphicslayouts/layoutitem.h | 62 + .../graphicsview/basicgraphicslayouts/main.cpp | 59 + .../graphicsview/basicgraphicslayouts/window.cpp | 91 + .../graphicsview/basicgraphicslayouts/window.h | 58 + .../graphicsview/collidingmice/collidingmice.pro | 14 + .../graphicsview/collidingmice/images/cheese.jpg | Bin 0 -> 3029 bytes examples/graphicsview/collidingmice/main.cpp | 88 + examples/graphicsview/collidingmice/mice.qrc | 5 + examples/graphicsview/collidingmice/mouse.cpp | 200 + examples/graphicsview/collidingmice/mouse.h | 72 + examples/graphicsview/diagramscene/arrow.cpp | 147 + examples/graphicsview/diagramscene/arrow.h | 94 + examples/graphicsview/diagramscene/diagramitem.cpp | 152 + examples/graphicsview/diagramscene/diagramitem.h | 97 + .../graphicsview/diagramscene/diagramscene.cpp | 241 + examples/graphicsview/diagramscene/diagramscene.h | 113 + .../graphicsview/diagramscene/diagramscene.pro | 20 + .../graphicsview/diagramscene/diagramscene.qrc | 20 + .../graphicsview/diagramscene/diagramtextitem.cpp | 82 + .../graphicsview/diagramscene/diagramtextitem.h | 79 + .../diagramscene/images/background1.png | Bin 0 -> 112 bytes .../diagramscene/images/background2.png | Bin 0 -> 114 bytes .../diagramscene/images/background3.png | Bin 0 -> 116 bytes .../diagramscene/images/background4.png | Bin 0 -> 96 bytes examples/graphicsview/diagramscene/images/bold.png | Bin 0 -> 274 bytes .../diagramscene/images/bringtofront.png | Bin 0 -> 293 bytes .../graphicsview/diagramscene/images/delete.png | Bin 0 -> 831 bytes .../graphicsview/diagramscene/images/floodfill.png | Bin 0 -> 282 bytes .../graphicsview/diagramscene/images/italic.png | Bin 0 -> 247 bytes .../graphicsview/diagramscene/images/linecolor.png | Bin 0 -> 145 bytes .../diagramscene/images/linepointer.png | Bin 0 -> 141 bytes .../graphicsview/diagramscene/images/pointer.png | Bin 0 -> 173 bytes .../diagramscene/images/sendtoback.png | Bin 0 -> 318 bytes .../diagramscene/images/textpointer.png | Bin 0 -> 753 bytes .../graphicsview/diagramscene/images/underline.png | Bin 0 -> 250 bytes examples/graphicsview/diagramscene/main.cpp | 56 + examples/graphicsview/diagramscene/mainwindow.cpp | 651 + examples/graphicsview/diagramscene/mainwindow.h | 151 + examples/graphicsview/dragdroprobot/coloritem.cpp | 129 + examples/graphicsview/dragdroprobot/coloritem.h | 64 + .../graphicsview/dragdroprobot/dragdroprobot.pro | 18 + .../graphicsview/dragdroprobot/images/head.png | Bin 0 -> 14972 bytes examples/graphicsview/dragdroprobot/main.cpp | 78 + examples/graphicsview/dragdroprobot/robot.cpp | 273 + examples/graphicsview/dragdroprobot/robot.h | 110 + examples/graphicsview/dragdroprobot/robot.qrc | 5 + examples/graphicsview/elasticnodes/edge.cpp | 144 + examples/graphicsview/elasticnodes/edge.h | 78 + .../graphicsview/elasticnodes/elasticnodes.pro | 16 + examples/graphicsview/elasticnodes/graphwidget.cpp | 224 + examples/graphicsview/elasticnodes/graphwidget.h | 71 + examples/graphicsview/elasticnodes/main.cpp | 54 + examples/graphicsview/elasticnodes/node.cpp | 185 + examples/graphicsview/elasticnodes/node.h | 84 + examples/graphicsview/graphicsview.pro | 18 + examples/graphicsview/padnavigator/backside.ui | 208 + .../padnavigator/images/artsfftscope.png | Bin 0 -> 1291 bytes .../padnavigator/images/blue_angle_swirl.jpg | Bin 0 -> 11826 bytes .../padnavigator/images/kontact_contacts.png | Bin 0 -> 4382 bytes .../padnavigator/images/kontact_journal.png | Bin 0 -> 3261 bytes .../padnavigator/images/kontact_mail.png | Bin 0 -> 3202 bytes .../padnavigator/images/kontact_notes.png | Bin 0 -> 3893 bytes .../padnavigator/images/kopeteavailable.png | Bin 0 -> 2380 bytes .../padnavigator/images/metacontact_online.png | Bin 0 -> 2545 bytes .../graphicsview/padnavigator/images/minitools.png | Bin 0 -> 2087 bytes examples/graphicsview/padnavigator/main.cpp | 59 + .../graphicsview/padnavigator/padnavigator.pro | 24 + .../graphicsview/padnavigator/padnavigator.qrc | 14 + examples/graphicsview/padnavigator/panel.cpp | 238 + examples/graphicsview/padnavigator/panel.h | 92 + .../graphicsview/padnavigator/roundrectitem.cpp | 164 + examples/graphicsview/padnavigator/roundrectitem.h | 83 + examples/graphicsview/padnavigator/splashitem.cpp | 92 + examples/graphicsview/padnavigator/splashitem.h | 63 + .../graphicsview/portedasteroids/animateditem.cpp | 95 + .../graphicsview/portedasteroids/animateditem.h | 84 + examples/graphicsview/portedasteroids/bg.png | Bin 0 -> 3793 bytes examples/graphicsview/portedasteroids/ledmeter.cpp | 161 + examples/graphicsview/portedasteroids/ledmeter.h | 96 + examples/graphicsview/portedasteroids/main.cpp | 60 + .../portedasteroids/portedasteroids.pro | 19 + .../portedasteroids/portedasteroids.qrc | 163 + .../portedasteroids/sounds/Explosion.wav | Bin 0 -> 18427 bytes examples/graphicsview/portedasteroids/sprites.h | 170 + .../portedasteroids/sprites/bits/bits.ini | 9 + .../portedasteroids/sprites/bits/bits.pov | 31 + .../portedasteroids/sprites/bits/bits0000.png | Bin 0 -> 215 bytes .../portedasteroids/sprites/bits/bits0001.png | Bin 0 -> 236 bytes .../portedasteroids/sprites/bits/bits0002.png | Bin 0 -> 244 bytes .../portedasteroids/sprites/bits/bits0003.png | Bin 0 -> 277 bytes .../portedasteroids/sprites/bits/bits0004.png | Bin 0 -> 259 bytes .../portedasteroids/sprites/bits/bits0005.png | Bin 0 -> 251 bytes .../portedasteroids/sprites/bits/bits0006.png | Bin 0 -> 214 bytes .../portedasteroids/sprites/bits/bits0007.png | Bin 0 -> 177 bytes .../portedasteroids/sprites/bits/bits0008.png | Bin 0 -> 175 bytes .../portedasteroids/sprites/bits/bits0009.png | Bin 0 -> 221 bytes .../portedasteroids/sprites/bits/bits0010.png | Bin 0 -> 243 bytes .../portedasteroids/sprites/bits/bits0011.png | Bin 0 -> 272 bytes .../portedasteroids/sprites/bits/bits0012.png | Bin 0 -> 265 bytes .../portedasteroids/sprites/bits/bits0013.png | Bin 0 -> 253 bytes .../portedasteroids/sprites/bits/bits0014.png | Bin 0 -> 214 bytes .../portedasteroids/sprites/bits/bits0015.png | Bin 0 -> 196 bytes .../portedasteroids/sprites/exhaust/exhaust.png | Bin 0 -> 92 bytes .../portedasteroids/sprites/missile/missile.png | Bin 0 -> 89 bytes .../portedasteroids/sprites/powerups/brake.png | Bin 0 -> 151 bytes .../portedasteroids/sprites/powerups/energy.png | Bin 0 -> 134 bytes .../portedasteroids/sprites/powerups/shield.png | Bin 0 -> 171 bytes .../portedasteroids/sprites/powerups/shoot.png | Bin 0 -> 181 bytes .../portedasteroids/sprites/powerups/teleport.png | Bin 0 -> 160 bytes .../portedasteroids/sprites/rock1/rock1.ini | 9 + .../portedasteroids/sprites/rock1/rock1.pov | 26 + .../portedasteroids/sprites/rock1/rock10000.png | Bin 0 -> 2502 bytes .../portedasteroids/sprites/rock1/rock10001.png | Bin 0 -> 2483 bytes .../portedasteroids/sprites/rock1/rock10002.png | Bin 0 -> 2519 bytes .../portedasteroids/sprites/rock1/rock10003.png | Bin 0 -> 2460 bytes .../portedasteroids/sprites/rock1/rock10004.png | Bin 0 -> 2486 bytes .../portedasteroids/sprites/rock1/rock10005.png | Bin 0 -> 2416 bytes .../portedasteroids/sprites/rock1/rock10006.png | Bin 0 -> 2419 bytes .../portedasteroids/sprites/rock1/rock10007.png | Bin 0 -> 2374 bytes .../portedasteroids/sprites/rock1/rock10008.png | Bin 0 -> 2329 bytes .../portedasteroids/sprites/rock1/rock10009.png | Bin 0 -> 2227 bytes .../portedasteroids/sprites/rock1/rock10010.png | Bin 0 -> 2218 bytes .../portedasteroids/sprites/rock1/rock10011.png | Bin 0 -> 2178 bytes .../portedasteroids/sprites/rock1/rock10012.png | Bin 0 -> 2172 bytes .../portedasteroids/sprites/rock1/rock10013.png | Bin 0 -> 2229 bytes .../portedasteroids/sprites/rock1/rock10014.png | Bin 0 -> 2270 bytes .../portedasteroids/sprites/rock1/rock10015.png | Bin 0 -> 2348 bytes .../portedasteroids/sprites/rock1/rock10016.png | Bin 0 -> 2402 bytes .../portedasteroids/sprites/rock1/rock10017.png | Bin 0 -> 2489 bytes .../portedasteroids/sprites/rock1/rock10018.png | Bin 0 -> 2530 bytes .../portedasteroids/sprites/rock1/rock10019.png | Bin 0 -> 2591 bytes .../portedasteroids/sprites/rock1/rock10020.png | Bin 0 -> 2540 bytes .../portedasteroids/sprites/rock1/rock10021.png | Bin 0 -> 2606 bytes .../portedasteroids/sprites/rock1/rock10022.png | Bin 0 -> 2591 bytes .../portedasteroids/sprites/rock1/rock10023.png | Bin 0 -> 2566 bytes .../portedasteroids/sprites/rock1/rock10024.png | Bin 0 -> 2512 bytes .../portedasteroids/sprites/rock1/rock10025.png | Bin 0 -> 2456 bytes .../portedasteroids/sprites/rock1/rock10026.png | Bin 0 -> 2420 bytes .../portedasteroids/sprites/rock1/rock10027.png | Bin 0 -> 2557 bytes .../portedasteroids/sprites/rock1/rock10028.png | Bin 0 -> 2567 bytes .../portedasteroids/sprites/rock1/rock10029.png | Bin 0 -> 2572 bytes .../portedasteroids/sprites/rock1/rock10030.png | Bin 0 -> 2620 bytes .../portedasteroids/sprites/rock1/rock10031.png | Bin 0 -> 2558 bytes .../portedasteroids/sprites/rock2/rock2.ini | 9 + .../portedasteroids/sprites/rock2/rock2.pov | 26 + .../portedasteroids/sprites/rock2/rock20000.png | Bin 0 -> 1338 bytes .../portedasteroids/sprites/rock2/rock20001.png | Bin 0 -> 1363 bytes .../portedasteroids/sprites/rock2/rock20002.png | Bin 0 -> 1385 bytes .../portedasteroids/sprites/rock2/rock20003.png | Bin 0 -> 1389 bytes .../portedasteroids/sprites/rock2/rock20004.png | Bin 0 -> 1361 bytes .../portedasteroids/sprites/rock2/rock20005.png | Bin 0 -> 1393 bytes .../portedasteroids/sprites/rock2/rock20006.png | Bin 0 -> 1361 bytes .../portedasteroids/sprites/rock2/rock20007.png | Bin 0 -> 1369 bytes .../portedasteroids/sprites/rock2/rock20008.png | Bin 0 -> 1368 bytes .../portedasteroids/sprites/rock2/rock20009.png | Bin 0 -> 1311 bytes .../portedasteroids/sprites/rock2/rock20010.png | Bin 0 -> 1340 bytes .../portedasteroids/sprites/rock2/rock20011.png | Bin 0 -> 1322 bytes .../portedasteroids/sprites/rock2/rock20012.png | Bin 0 -> 1350 bytes .../portedasteroids/sprites/rock2/rock20013.png | Bin 0 -> 1337 bytes .../portedasteroids/sprites/rock2/rock20014.png | Bin 0 -> 1341 bytes .../portedasteroids/sprites/rock2/rock20015.png | Bin 0 -> 1373 bytes .../portedasteroids/sprites/rock2/rock20016.png | Bin 0 -> 1357 bytes .../portedasteroids/sprites/rock2/rock20017.png | Bin 0 -> 1354 bytes .../portedasteroids/sprites/rock2/rock20018.png | Bin 0 -> 1320 bytes .../portedasteroids/sprites/rock2/rock20019.png | Bin 0 -> 1356 bytes .../portedasteroids/sprites/rock2/rock20020.png | Bin 0 -> 1379 bytes .../portedasteroids/sprites/rock2/rock20021.png | Bin 0 -> 1401 bytes .../portedasteroids/sprites/rock2/rock20022.png | Bin 0 -> 1418 bytes .../portedasteroids/sprites/rock2/rock20023.png | Bin 0 -> 1401 bytes .../portedasteroids/sprites/rock2/rock20024.png | Bin 0 -> 1383 bytes .../portedasteroids/sprites/rock2/rock20025.png | Bin 0 -> 1360 bytes .../portedasteroids/sprites/rock2/rock20026.png | Bin 0 -> 1376 bytes .../portedasteroids/sprites/rock2/rock20027.png | Bin 0 -> 1331 bytes .../portedasteroids/sprites/rock2/rock20028.png | Bin 0 -> 1353 bytes .../portedasteroids/sprites/rock2/rock20029.png | Bin 0 -> 1376 bytes .../portedasteroids/sprites/rock2/rock20030.png | Bin 0 -> 1290 bytes .../portedasteroids/sprites/rock2/rock20031.png | Bin 0 -> 1313 bytes .../portedasteroids/sprites/rock3/rock3.ini | 9 + .../portedasteroids/sprites/rock3/rock3.pov | 26 + .../portedasteroids/sprites/rock3/rock30000.png | Bin 0 -> 738 bytes .../portedasteroids/sprites/rock3/rock30001.png | Bin 0 -> 730 bytes .../portedasteroids/sprites/rock3/rock30002.png | Bin 0 -> 769 bytes .../portedasteroids/sprites/rock3/rock30003.png | Bin 0 -> 766 bytes .../portedasteroids/sprites/rock3/rock30004.png | Bin 0 -> 770 bytes .../portedasteroids/sprites/rock3/rock30005.png | Bin 0 -> 756 bytes .../portedasteroids/sprites/rock3/rock30006.png | Bin 0 -> 760 bytes .../portedasteroids/sprites/rock3/rock30007.png | Bin 0 -> 750 bytes .../portedasteroids/sprites/rock3/rock30008.png | Bin 0 -> 747 bytes .../portedasteroids/sprites/rock3/rock30009.png | Bin 0 -> 752 bytes .../portedasteroids/sprites/rock3/rock30010.png | Bin 0 -> 727 bytes .../portedasteroids/sprites/rock3/rock30011.png | Bin 0 -> 737 bytes .../portedasteroids/sprites/rock3/rock30012.png | Bin 0 -> 724 bytes .../portedasteroids/sprites/rock3/rock30013.png | Bin 0 -> 751 bytes .../portedasteroids/sprites/rock3/rock30014.png | Bin 0 -> 720 bytes .../portedasteroids/sprites/rock3/rock30015.png | Bin 0 -> 741 bytes .../portedasteroids/sprites/rock3/rock30016.png | Bin 0 -> 723 bytes .../portedasteroids/sprites/rock3/rock30017.png | Bin 0 -> 722 bytes .../portedasteroids/sprites/rock3/rock30018.png | Bin 0 -> 716 bytes .../portedasteroids/sprites/rock3/rock30019.png | Bin 0 -> 735 bytes .../portedasteroids/sprites/rock3/rock30020.png | Bin 0 -> 735 bytes .../portedasteroids/sprites/rock3/rock30021.png | Bin 0 -> 731 bytes .../portedasteroids/sprites/rock3/rock30022.png | Bin 0 -> 735 bytes .../portedasteroids/sprites/rock3/rock30023.png | Bin 0 -> 732 bytes .../portedasteroids/sprites/rock3/rock30024.png | Bin 0 -> 727 bytes .../portedasteroids/sprites/rock3/rock30025.png | Bin 0 -> 721 bytes .../portedasteroids/sprites/rock3/rock30026.png | Bin 0 -> 716 bytes .../portedasteroids/sprites/rock3/rock30027.png | Bin 0 -> 721 bytes .../portedasteroids/sprites/rock3/rock30028.png | Bin 0 -> 739 bytes .../portedasteroids/sprites/rock3/rock30029.png | Bin 0 -> 740 bytes .../portedasteroids/sprites/rock3/rock30030.png | Bin 0 -> 725 bytes .../portedasteroids/sprites/rock3/rock30031.png | Bin 0 -> 715 bytes .../portedasteroids/sprites/shield/shield0000.png | Bin 0 -> 1702 bytes .../portedasteroids/sprites/shield/shield0001.png | Bin 0 -> 1690 bytes .../portedasteroids/sprites/shield/shield0002.png | Bin 0 -> 1849 bytes .../portedasteroids/sprites/shield/shield0003.png | Bin 0 -> 1858 bytes .../portedasteroids/sprites/shield/shield0004.png | Bin 0 -> 1725 bytes .../portedasteroids/sprites/shield/shield0005.png | Bin 0 -> 1876 bytes .../portedasteroids/sprites/shield/shield0006.png | Bin 0 -> 1848 bytes .../portedasteroids/sprites/ship/ship.ini | 9 + .../portedasteroids/sprites/ship/ship.pov | 128 + .../portedasteroids/sprites/ship/ship0000.png | Bin 0 -> 1772 bytes .../portedasteroids/sprites/ship/ship0001.png | Bin 0 -> 1893 bytes .../portedasteroids/sprites/ship/ship0002.png | Bin 0 -> 1899 bytes .../portedasteroids/sprites/ship/ship0003.png | Bin 0 -> 1878 bytes .../portedasteroids/sprites/ship/ship0004.png | Bin 0 -> 1979 bytes .../portedasteroids/sprites/ship/ship0005.png | Bin 0 -> 2054 bytes .../portedasteroids/sprites/ship/ship0006.png | Bin 0 -> 1956 bytes .../portedasteroids/sprites/ship/ship0007.png | Bin 0 -> 1929 bytes .../portedasteroids/sprites/ship/ship0008.png | Bin 0 -> 1790 bytes .../portedasteroids/sprites/ship/ship0009.png | Bin 0 -> 1913 bytes .../portedasteroids/sprites/ship/ship0010.png | Bin 0 -> 1954 bytes .../portedasteroids/sprites/ship/ship0011.png | Bin 0 -> 1975 bytes .../portedasteroids/sprites/ship/ship0012.png | Bin 0 -> 1953 bytes .../portedasteroids/sprites/ship/ship0013.png | Bin 0 -> 1924 bytes .../portedasteroids/sprites/ship/ship0014.png | Bin 0 -> 1900 bytes .../portedasteroids/sprites/ship/ship0015.png | Bin 0 -> 1799 bytes .../portedasteroids/sprites/ship/ship0016.png | Bin 0 -> 1738 bytes .../portedasteroids/sprites/ship/ship0017.png | Bin 0 -> 1868 bytes .../portedasteroids/sprites/ship/ship0018.png | Bin 0 -> 1945 bytes .../portedasteroids/sprites/ship/ship0019.png | Bin 0 -> 1972 bytes .../portedasteroids/sprites/ship/ship0020.png | Bin 0 -> 2014 bytes .../portedasteroids/sprites/ship/ship0021.png | Bin 0 -> 2002 bytes .../portedasteroids/sprites/ship/ship0022.png | Bin 0 -> 1920 bytes .../portedasteroids/sprites/ship/ship0023.png | Bin 0 -> 1840 bytes .../portedasteroids/sprites/ship/ship0024.png | Bin 0 -> 1733 bytes .../portedasteroids/sprites/ship/ship0025.png | Bin 0 -> 1880 bytes .../portedasteroids/sprites/ship/ship0026.png | Bin 0 -> 1951 bytes .../portedasteroids/sprites/ship/ship0027.png | Bin 0 -> 2014 bytes .../portedasteroids/sprites/ship/ship0028.png | Bin 0 -> 2019 bytes .../portedasteroids/sprites/ship/ship0029.png | Bin 0 -> 2022 bytes .../portedasteroids/sprites/ship/ship0030.png | Bin 0 -> 1969 bytes .../portedasteroids/sprites/ship/ship0031.png | Bin 0 -> 1880 bytes examples/graphicsview/portedasteroids/toplevel.cpp | 543 + examples/graphicsview/portedasteroids/toplevel.h | 126 + examples/graphicsview/portedasteroids/view.cpp | 967 + examples/graphicsview/portedasteroids/view.h | 184 + examples/graphicsview/portedcanvas/blendshadow.cpp | 94 + examples/graphicsview/portedcanvas/butterfly.png | Bin 0 -> 36868 bytes examples/graphicsview/portedcanvas/canvas.cpp | 733 + examples/graphicsview/portedcanvas/canvas.doc | 29 + examples/graphicsview/portedcanvas/canvas.h | 131 + examples/graphicsview/portedcanvas/main.cpp | 92 + examples/graphicsview/portedcanvas/makeimg.cpp | 133 + .../graphicsview/portedcanvas/portedcanvas.pro | 16 + .../graphicsview/portedcanvas/portedcanvas.qrc | 7 + examples/graphicsview/portedcanvas/qt-trans.xpm | 54 + examples/graphicsview/portedcanvas/qtlogo.png | Bin 0 -> 21921 bytes examples/help/README | 38 + .../contextsensitivehelp/contextsensitivehelp.pro | 18 + examples/help/contextsensitivehelp/doc/amount.html | 11 + examples/help/contextsensitivehelp/doc/filter.html | 12 + examples/help/contextsensitivehelp/doc/plants.html | 44 + examples/help/contextsensitivehelp/doc/rain.html | 11 + examples/help/contextsensitivehelp/doc/source.html | 33 + .../help/contextsensitivehelp/doc/temperature.html | 13 + examples/help/contextsensitivehelp/doc/time.html | 11 + .../contextsensitivehelp/doc/wateringmachine.qch | Bin 0 -> 27648 bytes .../contextsensitivehelp/doc/wateringmachine.qhc | Bin 0 -> 10240 bytes .../contextsensitivehelp/doc/wateringmachine.qhcp | 14 + .../contextsensitivehelp/doc/wateringmachine.qhp | 25 + examples/help/contextsensitivehelp/helpbrowser.cpp | 81 + examples/help/contextsensitivehelp/helpbrowser.h | 65 + examples/help/contextsensitivehelp/main.cpp | 51 + .../contextsensitivehelp/wateringconfigdialog.cpp | 69 + .../contextsensitivehelp/wateringconfigdialog.h | 62 + .../contextsensitivehelp/wateringconfigdialog.ui | 446 + examples/help/help.pro | 11 + examples/help/remotecontrol/enter.png | Bin 0 -> 315 bytes examples/help/remotecontrol/main.cpp | 54 + examples/help/remotecontrol/remotecontrol.cpp | 175 + examples/help/remotecontrol/remotecontrol.h | 79 + examples/help/remotecontrol/remotecontrol.pro | 13 + examples/help/remotecontrol/remotecontrol.qrc | 5 + examples/help/remotecontrol/remotecontrol.ui | 228 + examples/help/simpletextviewer/assistant.cpp | 110 + examples/help/simpletextviewer/assistant.h | 63 + .../help/simpletextviewer/documentation/about.txt | 9 + .../simpletextviewer/documentation/browse.html | 34 + .../simpletextviewer/documentation/filedialog.html | 48 + .../simpletextviewer/documentation/findfile.html | 32 + .../documentation/images/browse.png | Bin 0 -> 21553 bytes .../documentation/images/fadedfilemenu.png | Bin 0 -> 9589 bytes .../documentation/images/filedialog.png | Bin 0 -> 12318 bytes .../documentation/images/handbook.png | Bin 0 -> 1060 bytes .../simpletextviewer/documentation/images/icon.png | Bin 0 -> 5513 bytes .../documentation/images/mainwindow.png | Bin 0 -> 12769 bytes .../simpletextviewer/documentation/images/open.png | Bin 0 -> 11697 bytes .../documentation/images/wildcard.png | Bin 0 -> 11266 bytes .../help/simpletextviewer/documentation/index.html | 41 + .../help/simpletextviewer/documentation/intro.html | 28 + .../simpletextviewer/documentation/openfile.html | 36 + .../documentation/simpletextviewer.qch | Bin 0 -> 108544 bytes .../documentation/simpletextviewer.qhc | Bin 0 -> 18432 bytes .../documentation/simpletextviewer.qhcp | 30 + .../documentation/simpletextviewer.qhp | 49 + .../documentation/wildcardmatching.html | 57 + examples/help/simpletextviewer/findfiledialog.cpp | 222 + examples/help/simpletextviewer/findfiledialog.h | 99 + examples/help/simpletextviewer/main.cpp | 52 + examples/help/simpletextviewer/mainwindow.cpp | 147 + examples/help/simpletextviewer/mainwindow.h | 84 + .../help/simpletextviewer/simpletextviewer.pro | 16 + examples/help/simpletextviewer/textedit.cpp | 75 + examples/help/simpletextviewer/textedit.h | 61 + examples/ipc/README | 35 + examples/ipc/ipc.pro | 8 + examples/ipc/localfortuneclient/client.cpp | 153 + examples/ipc/localfortuneclient/client.h | 82 + .../ipc/localfortuneclient/localfortuneclient.pro | 12 + examples/ipc/localfortuneclient/main.cpp | 52 + .../ipc/localfortuneserver/localfortuneserver.pro | 12 + examples/ipc/localfortuneserver/main.cpp | 56 + examples/ipc/localfortuneserver/server.cpp | 111 + examples/ipc/localfortuneserver/server.h | 70 + examples/ipc/sharedmemory/dialog.cpp | 189 + examples/ipc/sharedmemory/dialog.h | 71 + examples/ipc/sharedmemory/dialog.ui | 47 + examples/ipc/sharedmemory/image.png | Bin 0 -> 10199 bytes examples/ipc/sharedmemory/main.cpp | 54 + examples/ipc/sharedmemory/qt.png | Bin 0 -> 2383 bytes examples/ipc/sharedmemory/sharedmemory.pro | 13 + examples/itemviews/README | 39 + examples/itemviews/addressbook/adddialog.cpp | 83 + examples/itemviews/addressbook/adddialog.h | 72 + examples/itemviews/addressbook/addressbook.pro | 17 + examples/itemviews/addressbook/addresswidget.cpp | 238 + examples/itemviews/addressbook/addresswidget.h | 83 + examples/itemviews/addressbook/main.cpp | 53 + examples/itemviews/addressbook/mainwindow.cpp | 138 + examples/itemviews/addressbook/mainwindow.h | 76 + examples/itemviews/addressbook/newaddresstab.cpp | 78 + examples/itemviews/addressbook/newaddresstab.h | 75 + examples/itemviews/addressbook/tablemodel.cpp | 185 + examples/itemviews/addressbook/tablemodel.h | 73 + .../basicsortfiltermodel/basicsortfiltermodel.pro | 10 + examples/itemviews/basicsortfiltermodel/main.cpp | 94 + examples/itemviews/basicsortfiltermodel/window.cpp | 157 + examples/itemviews/basicsortfiltermodel/window.h | 89 + examples/itemviews/chart/chart.pro | 13 + examples/itemviews/chart/chart.qrc | 5 + examples/itemviews/chart/main.cpp | 54 + examples/itemviews/chart/mainwindow.cpp | 173 + examples/itemviews/chart/mainwindow.h | 73 + examples/itemviews/chart/mydata.cht | 8 + examples/itemviews/chart/pieview.cpp | 562 + examples/itemviews/chart/pieview.h | 115 + examples/itemviews/chart/qtdata.cht | 14 + .../coloreditorfactory/coloreditorfactory.pro | 11 + .../coloreditorfactory/colorlisteditor.cpp | 77 + .../itemviews/coloreditorfactory/colorlisteditor.h | 70 + examples/itemviews/coloreditorfactory/main.cpp | 54 + examples/itemviews/coloreditorfactory/window.cpp | 95 + examples/itemviews/coloreditorfactory/window.h | 58 + .../combowidgetmapper/combowidgetmapper.pro | 9 + examples/itemviews/combowidgetmapper/main.cpp | 52 + examples/itemviews/combowidgetmapper/window.cpp | 137 + examples/itemviews/combowidgetmapper/window.h | 87 + .../customsortfiltermodel.pro | 12 + examples/itemviews/customsortfiltermodel/main.cpp | 96 + .../mysortfilterproxymodel.cpp | 116 + .../customsortfiltermodel/mysortfilterproxymodel.h | 74 + .../itemviews/customsortfiltermodel/window.cpp | 168 + examples/itemviews/customsortfiltermodel/window.h | 91 + examples/itemviews/dirview/dirview.pro | 7 + examples/itemviews/dirview/main.cpp | 62 + examples/itemviews/editabletreemodel/default.txt | 40 + .../editabletreemodel/editabletreemodel.pro | 16 + .../editabletreemodel/editabletreemodel.qrc | 5 + examples/itemviews/editabletreemodel/main.cpp | 54 + .../itemviews/editabletreemodel/mainwindow.cpp | 181 + examples/itemviews/editabletreemodel/mainwindow.h | 72 + examples/itemviews/editabletreemodel/mainwindow.ui | 128 + examples/itemviews/editabletreemodel/treeitem.cpp | 180 + examples/itemviews/editabletreemodel/treeitem.h | 75 + examples/itemviews/editabletreemodel/treemodel.cpp | 289 + examples/itemviews/editabletreemodel/treemodel.h | 98 + examples/itemviews/fetchmore/fetchmore.pro | 12 + examples/itemviews/fetchmore/filelistmodel.cpp | 116 + examples/itemviews/fetchmore/filelistmodel.h | 76 + examples/itemviews/fetchmore/main.cpp | 51 + examples/itemviews/fetchmore/window.cpp | 82 + examples/itemviews/fetchmore/window.h | 65 + examples/itemviews/itemviews.pro | 22 + examples/itemviews/pixelator/imagemodel.cpp | 92 + examples/itemviews/pixelator/imagemodel.h | 69 + examples/itemviews/pixelator/images.qrc | 5 + examples/itemviews/pixelator/images/qt.png | Bin 0 -> 656 bytes examples/itemviews/pixelator/main.cpp | 55 + examples/itemviews/pixelator/mainwindow.cpp | 245 + examples/itemviews/pixelator/mainwindow.h | 75 + examples/itemviews/pixelator/pixelator.pro | 14 + examples/itemviews/pixelator/pixeldelegate.cpp | 108 + examples/itemviews/pixelator/pixeldelegate.h | 80 + examples/itemviews/puzzle/example.jpg | Bin 0 -> 42654 bytes examples/itemviews/puzzle/main.cpp | 55 + examples/itemviews/puzzle/mainwindow.cpp | 150 + examples/itemviews/puzzle/mainwindow.h | 78 + examples/itemviews/puzzle/piecesmodel.cpp | 204 + examples/itemviews/puzzle/piecesmodel.h | 81 + examples/itemviews/puzzle/puzzle.pro | 14 + examples/itemviews/puzzle/puzzle.qrc | 5 + examples/itemviews/puzzle/puzzlewidget.cpp | 205 + examples/itemviews/puzzle/puzzlewidget.h | 86 + examples/itemviews/simpledommodel/domitem.cpp | 102 + examples/itemviews/simpledommodel/domitem.h | 67 + examples/itemviews/simpledommodel/dommodel.cpp | 190 + examples/itemviews/simpledommodel/dommodel.h | 77 + examples/itemviews/simpledommodel/main.cpp | 53 + examples/itemviews/simpledommodel/mainwindow.cpp | 85 + examples/itemviews/simpledommodel/mainwindow.h | 71 + .../itemviews/simpledommodel/simpledommodel.pro | 15 + examples/itemviews/simpletreemodel/default.txt | 40 + examples/itemviews/simpletreemodel/main.cpp | 62 + .../itemviews/simpletreemodel/simpletreemodel.pro | 13 + .../itemviews/simpletreemodel/simpletreemodel.qrc | 5 + examples/itemviews/simpletreemodel/treeitem.cpp | 117 + examples/itemviews/simpletreemodel/treeitem.h | 71 + examples/itemviews/simpletreemodel/treemodel.cpp | 219 + examples/itemviews/simpletreemodel/treemodel.h | 77 + examples/itemviews/simplewidgetmapper/main.cpp | 52 + .../simplewidgetmapper/simplewidgetmapper.pro | 9 + examples/itemviews/simplewidgetmapper/window.cpp | 134 + examples/itemviews/simplewidgetmapper/window.h | 85 + examples/itemviews/spinboxdelegate/delegate.cpp | 103 + examples/itemviews/spinboxdelegate/delegate.h | 71 + examples/itemviews/spinboxdelegate/main.cpp | 87 + .../itemviews/spinboxdelegate/spinboxdelegate.pro | 9 + examples/itemviews/stardelegate/main.cpp | 108 + examples/itemviews/stardelegate/stardelegate.cpp | 130 + examples/itemviews/stardelegate/stardelegate.h | 70 + examples/itemviews/stardelegate/stardelegate.pro | 14 + examples/itemviews/stardelegate/stareditor.cpp | 99 + examples/itemviews/stardelegate/stareditor.h | 78 + examples/itemviews/stardelegate/starrating.cpp | 103 + examples/itemviews/stardelegate/starrating.h | 77 + examples/layouts/README | 41 + examples/layouts/basiclayouts/basiclayouts.pro | 9 + examples/layouts/basiclayouts/dialog.cpp | 150 + examples/layouts/basiclayouts/dialog.h | 91 + examples/layouts/basiclayouts/main.cpp | 51 + examples/layouts/borderlayout/borderlayout.cpp | 214 + examples/layouts/borderlayout/borderlayout.h | 89 + examples/layouts/borderlayout/borderlayout.pro | 11 + examples/layouts/borderlayout/main.cpp | 52 + examples/layouts/borderlayout/window.cpp | 69 + examples/layouts/borderlayout/window.h | 62 + examples/layouts/dynamiclayouts/dialog.cpp | 170 + examples/layouts/dynamiclayouts/dialog.h | 91 + examples/layouts/dynamiclayouts/dynamiclayouts.pro | 9 + examples/layouts/dynamiclayouts/main.cpp | 51 + examples/layouts/flowlayout/flowlayout.cpp | 154 + examples/layouts/flowlayout/flowlayout.h | 73 + examples/layouts/flowlayout/flowlayout.pro | 11 + examples/layouts/flowlayout/main.cpp | 52 + examples/layouts/flowlayout/window.cpp | 59 + examples/layouts/flowlayout/window.h | 59 + examples/layouts/layouts.pro | 10 + examples/linguist/README | 37 + examples/linguist/arrowpad/arrowpad.cpp | 65 + examples/linguist/arrowpad/arrowpad.h | 69 + examples/linguist/arrowpad/arrowpad.pro | 16 + examples/linguist/arrowpad/main.cpp | 64 + examples/linguist/arrowpad/mainwindow.cpp | 62 + examples/linguist/arrowpad/mainwindow.h | 69 + examples/linguist/hellotr/hellotr.pro | 11 + examples/linguist/hellotr/main.cpp | 71 + examples/linguist/linguist.pro | 9 + examples/linguist/trollprint/main.cpp | 61 + examples/linguist/trollprint/mainwindow.cpp | 96 + examples/linguist/trollprint/mainwindow.h | 75 + examples/linguist/trollprint/printpanel.cpp | 86 + examples/linguist/trollprint/printpanel.h | 70 + examples/linguist/trollprint/trollprint.pro | 12 + examples/linguist/trollprint/trollprint_pt.ts | 65 + examples/mainwindows/README | 40 + examples/mainwindows/application/application.pro | 12 + examples/mainwindows/application/application.qrc | 10 + examples/mainwindows/application/images/copy.png | Bin 0 -> 1338 bytes examples/mainwindows/application/images/cut.png | Bin 0 -> 1323 bytes examples/mainwindows/application/images/new.png | Bin 0 -> 852 bytes examples/mainwindows/application/images/open.png | Bin 0 -> 2073 bytes examples/mainwindows/application/images/paste.png | Bin 0 -> 1645 bytes examples/mainwindows/application/images/save.png | Bin 0 -> 1187 bytes examples/mainwindows/application/main.cpp | 56 + examples/mainwindows/application/mainwindow.cpp | 388 + examples/mainwindows/application/mainwindow.h | 106 + examples/mainwindows/dockwidgets/dockwidgets.pro | 10 + examples/mainwindows/dockwidgets/dockwidgets.qrc | 8 + examples/mainwindows/dockwidgets/images/new.png | Bin 0 -> 977 bytes examples/mainwindows/dockwidgets/images/print.png | Bin 0 -> 1732 bytes examples/mainwindows/dockwidgets/images/save.png | Bin 0 -> 1894 bytes examples/mainwindows/dockwidgets/images/undo.png | Bin 0 -> 1768 bytes examples/mainwindows/dockwidgets/main.cpp | 53 + examples/mainwindows/dockwidgets/mainwindow.cpp | 343 + examples/mainwindows/dockwidgets/mainwindow.h | 98 + examples/mainwindows/mainwindows.pro | 13 + examples/mainwindows/mdi/images/copy.png | Bin 0 -> 1338 bytes examples/mainwindows/mdi/images/cut.png | Bin 0 -> 1323 bytes examples/mainwindows/mdi/images/new.png | Bin 0 -> 852 bytes examples/mainwindows/mdi/images/open.png | Bin 0 -> 2073 bytes examples/mainwindows/mdi/images/paste.png | Bin 0 -> 1645 bytes examples/mainwindows/mdi/images/save.png | Bin 0 -> 1187 bytes examples/mainwindows/mdi/main.cpp | 54 + examples/mainwindows/mdi/mainwindow.cpp | 399 + examples/mainwindows/mdi/mainwindow.h | 119 + examples/mainwindows/mdi/mdi.pro | 12 + examples/mainwindows/mdi/mdi.qrc | 10 + examples/mainwindows/mdi/mdichild.cpp | 176 + examples/mainwindows/mdi/mdichild.h | 77 + examples/mainwindows/menus/main.cpp | 52 + examples/mainwindows/menus/mainwindow.cpp | 371 + examples/mainwindows/menus/mainwindow.h | 125 + examples/mainwindows/menus/menus.pro | 9 + examples/mainwindows/recentfiles/main.cpp | 52 + examples/mainwindows/recentfiles/mainwindow.cpp | 256 + examples/mainwindows/recentfiles/mainwindow.h | 97 + examples/mainwindows/recentfiles/recentfiles.pro | 9 + examples/mainwindows/sdi/images/copy.png | Bin 0 -> 1338 bytes examples/mainwindows/sdi/images/cut.png | Bin 0 -> 1323 bytes examples/mainwindows/sdi/images/new.png | Bin 0 -> 852 bytes examples/mainwindows/sdi/images/open.png | Bin 0 -> 2073 bytes examples/mainwindows/sdi/images/paste.png | Bin 0 -> 1645 bytes examples/mainwindows/sdi/images/save.png | Bin 0 -> 1187 bytes examples/mainwindows/sdi/main.cpp | 53 + examples/mainwindows/sdi/mainwindow.cpp | 375 + examples/mainwindows/sdi/mainwindow.h | 109 + examples/mainwindows/sdi/sdi.pro | 10 + examples/mainwindows/sdi/sdi.qrc | 10 + examples/network/README | 40 + .../blockingfortuneclient/blockingclient.cpp | 154 + .../network/blockingfortuneclient/blockingclient.h | 85 + .../blockingfortuneclient.pro | 12 + .../blockingfortuneclient/fortunethread.cpp | 138 + .../network/blockingfortuneclient/fortunethread.h | 74 + examples/network/blockingfortuneclient/main.cpp | 52 + .../broadcastreceiver/broadcastreceiver.pro | 10 + examples/network/broadcastreceiver/main.cpp | 52 + examples/network/broadcastreceiver/receiver.cpp | 88 + examples/network/broadcastreceiver/receiver.h | 69 + .../network/broadcastsender/broadcastsender.pro | 10 + examples/network/broadcastsender/main.cpp | 52 + examples/network/broadcastsender/sender.cpp | 92 + examples/network/broadcastsender/sender.h | 76 + examples/network/download/download.pro | 19 + examples/network/download/main.cpp | 176 + .../network/downloadmanager/downloadmanager.cpp | 173 + examples/network/downloadmanager/downloadmanager.h | 85 + .../network/downloadmanager/downloadmanager.pro | 20 + examples/network/downloadmanager/main.cpp | 68 + .../network/downloadmanager/textprogressbar.cpp | 99 + examples/network/downloadmanager/textprogressbar.h | 64 + examples/network/fortuneclient/client.cpp | 191 + examples/network/fortuneclient/client.h | 86 + examples/network/fortuneclient/fortuneclient.pro | 10 + examples/network/fortuneclient/main.cpp | 52 + examples/network/fortuneserver/fortuneserver.pro | 10 + examples/network/fortuneserver/main.cpp | 56 + examples/network/fortuneserver/server.cpp | 123 + examples/network/fortuneserver/server.h | 72 + examples/network/ftp/ftp.pro | 11 + examples/network/ftp/ftp.qrc | 7 + examples/network/ftp/ftpwindow.cpp | 349 + examples/network/ftp/ftpwindow.h | 104 + examples/network/ftp/images/cdtoparent.png | Bin 0 -> 139 bytes examples/network/ftp/images/dir.png | Bin 0 -> 154 bytes examples/network/ftp/images/file.png | Bin 0 -> 129 bytes examples/network/ftp/main.cpp | 54 + examples/network/http/authenticationdialog.ui | 129 + examples/network/http/http.pro | 11 + examples/network/http/httpwindow.cpp | 262 + examples/network/http/httpwindow.h | 94 + examples/network/http/main.cpp | 52 + examples/network/loopback/dialog.cpp | 187 + examples/network/loopback/dialog.h | 90 + examples/network/loopback/loopback.pro | 10 + examples/network/loopback/main.cpp | 52 + examples/network/network-chat/chatdialog.cpp | 141 + examples/network/network-chat/chatdialog.h | 70 + examples/network/network-chat/chatdialog.ui | 79 + examples/network/network-chat/client.cpp | 140 + examples/network/network-chat/client.h | 83 + examples/network/network-chat/connection.cpp | 276 + examples/network/network-chat/connection.h | 108 + examples/network/network-chat/main.cpp | 52 + examples/network/network-chat/network-chat.pro | 19 + examples/network/network-chat/peermanager.cpp | 170 + examples/network/network-chat/peermanager.h | 85 + examples/network/network-chat/server.cpp | 58 + examples/network/network-chat/server.h | 63 + examples/network/network.pro | 21 + .../network/securesocketclient/certificateinfo.cpp | 100 + .../network/securesocketclient/certificateinfo.h | 69 + .../network/securesocketclient/certificateinfo.ui | 85 + examples/network/securesocketclient/encrypted.png | Bin 0 -> 750 bytes examples/network/securesocketclient/main.cpp | 63 + .../securesocketclient/securesocketclient.pro | 16 + .../securesocketclient/securesocketclient.qrc | 5 + examples/network/securesocketclient/sslclient.cpp | 218 + examples/network/securesocketclient/sslclient.h | 81 + examples/network/securesocketclient/sslclient.ui | 190 + examples/network/securesocketclient/sslerrors.ui | 110 + examples/network/threadedfortuneserver/dialog.cpp | 82 + examples/network/threadedfortuneserver/dialog.h | 66 + .../threadedfortuneserver/fortuneserver.cpp | 69 + .../network/threadedfortuneserver/fortuneserver.h | 64 + .../threadedfortuneserver/fortunethread.cpp | 77 + .../network/threadedfortuneserver/fortunethread.h | 67 + examples/network/threadedfortuneserver/main.cpp | 56 + .../threadedfortuneserver.pro | 14 + examples/network/torrent/addtorrentdialog.cpp | 170 + examples/network/torrent/addtorrentdialog.h | 74 + examples/network/torrent/bencodeparser.cpp | 235 + examples/network/torrent/bencodeparser.h | 81 + examples/network/torrent/connectionmanager.cpp | 89 + examples/network/torrent/connectionmanager.h | 66 + examples/network/torrent/filemanager.cpp | 447 + examples/network/torrent/filemanager.h | 144 + examples/network/torrent/forms/addtorrentform.ui | 266 + examples/network/torrent/icons.qrc | 12 + examples/network/torrent/icons/1downarrow.png | Bin 0 -> 895 bytes examples/network/torrent/icons/1uparrow.png | Bin 0 -> 822 bytes examples/network/torrent/icons/bottom.png | Bin 0 -> 1632 bytes examples/network/torrent/icons/edit_add.png | Bin 0 -> 394 bytes examples/network/torrent/icons/edit_remove.png | Bin 0 -> 368 bytes examples/network/torrent/icons/exit.png | Bin 0 -> 1426 bytes examples/network/torrent/icons/peertopeer.png | Bin 0 -> 10072 bytes examples/network/torrent/icons/player_pause.png | Bin 0 -> 690 bytes examples/network/torrent/icons/player_play.png | Bin 0 -> 900 bytes examples/network/torrent/icons/player_stop.png | Bin 0 -> 627 bytes examples/network/torrent/icons/stop.png | Bin 0 -> 1252 bytes examples/network/torrent/main.cpp | 57 + examples/network/torrent/mainwindow.cpp | 713 + examples/network/torrent/mainwindow.h | 132 + examples/network/torrent/metainfo.cpp | 218 + examples/network/torrent/metainfo.h | 122 + examples/network/torrent/peerwireclient.cpp | 665 + examples/network/torrent/peerwireclient.h | 210 + examples/network/torrent/ratecontroller.cpp | 156 + examples/network/torrent/ratecontroller.h | 80 + examples/network/torrent/torrent.pro | 37 + examples/network/torrent/torrentclient.cpp | 1529 + examples/network/torrent/torrentclient.h | 205 + examples/network/torrent/torrentserver.cpp | 104 + examples/network/torrent/torrentserver.h | 72 + examples/network/torrent/trackerclient.cpp | 237 + examples/network/torrent/trackerclient.h | 104 + examples/opengl/2dpainting/2dpainting.pro | 17 + examples/opengl/2dpainting/glwidget.cpp | 73 + examples/opengl/2dpainting/glwidget.h | 73 + examples/opengl/2dpainting/helper.cpp | 91 + examples/opengl/2dpainting/helper.h | 72 + examples/opengl/2dpainting/main.cpp | 51 + examples/opengl/2dpainting/widget.cpp | 73 + examples/opengl/2dpainting/widget.h | 72 + examples/opengl/2dpainting/window.cpp | 72 + examples/opengl/2dpainting/window.h | 67 + examples/opengl/README | 41 + examples/opengl/framebufferobject/bubbles.svg | 215 + examples/opengl/framebufferobject/designer.png | Bin 0 -> 2810 bytes .../opengl/framebufferobject/framebufferobject.pro | 22 + .../opengl/framebufferobject/framebufferobject.qrc | 6 + examples/opengl/framebufferobject/glwidget.cpp | 309 + examples/opengl/framebufferobject/glwidget.h | 82 + examples/opengl/framebufferobject/main.cpp | 62 + examples/opengl/framebufferobject2/cubelogo.png | Bin 0 -> 5920 bytes .../framebufferobject2/framebufferobject2.pro | 11 + .../framebufferobject2/framebufferobject2.qrc | 5 + examples/opengl/framebufferobject2/glwidget.cpp | 249 + examples/opengl/framebufferobject2/glwidget.h | 66 + examples/opengl/framebufferobject2/main.cpp | 62 + examples/opengl/grabber/glwidget.cpp | 284 + examples/opengl/grabber/glwidget.h | 98 + examples/opengl/grabber/grabber.pro | 12 + examples/opengl/grabber/main.cpp | 52 + examples/opengl/grabber/mainwindow.cpp | 207 + examples/opengl/grabber/mainwindow.h | 95 + examples/opengl/hellogl/glwidget.cpp | 266 + examples/opengl/hellogl/glwidget.h | 99 + examples/opengl/hellogl/hellogl.pro | 12 + examples/opengl/hellogl/main.cpp | 52 + examples/opengl/hellogl/window.cpp | 90 + examples/opengl/hellogl/window.h | 70 + examples/opengl/hellogl_es/bubble.cpp | 140 + examples/opengl/hellogl_es/bubble.h | 77 + examples/opengl/hellogl_es/cl_helper.h | 133 + examples/opengl/hellogl_es/glwidget.cpp | 457 + examples/opengl/hellogl_es/glwidget.h | 87 + examples/opengl/hellogl_es/hellogl_es.pro | 34 + examples/opengl/hellogl_es/main.cpp | 53 + examples/opengl/hellogl_es/mainwindow.cpp | 108 + examples/opengl/hellogl_es/mainwindow.h | 60 + examples/opengl/hellogl_es/qt.png | Bin 0 -> 5174 bytes examples/opengl/hellogl_es/texture.qrc | 5 + examples/opengl/hellogl_es2/bubble.cpp | 140 + examples/opengl/hellogl_es2/bubble.h | 77 + examples/opengl/hellogl_es2/glwidget.cpp | 642 + examples/opengl/hellogl_es2/glwidget.h | 94 + examples/opengl/hellogl_es2/hellogl_es2.pro | 27 + examples/opengl/hellogl_es2/main.cpp | 53 + examples/opengl/hellogl_es2/mainwindow.cpp | 108 + examples/opengl/hellogl_es2/mainwindow.h | 60 + examples/opengl/hellogl_es2/qt.png | Bin 0 -> 5174 bytes examples/opengl/hellogl_es2/texture.qrc | 5 + examples/opengl/opengl.pro | 29 + examples/opengl/overpainting/bubble.cpp | 113 + examples/opengl/overpainting/bubble.h | 76 + examples/opengl/overpainting/glwidget.cpp | 360 + examples/opengl/overpainting/glwidget.h | 114 + examples/opengl/overpainting/main.cpp | 51 + examples/opengl/overpainting/overpainting.pro | 13 + examples/opengl/pbuffers/cubelogo.png | Bin 0 -> 5920 bytes examples/opengl/pbuffers/glwidget.cpp | 260 + examples/opengl/pbuffers/glwidget.h | 70 + examples/opengl/pbuffers/main.cpp | 62 + examples/opengl/pbuffers/pbuffers.pro | 11 + examples/opengl/pbuffers/pbuffers.qrc | 5 + examples/opengl/pbuffers2/bubbles.svg | 215 + examples/opengl/pbuffers2/designer.png | Bin 0 -> 2810 bytes examples/opengl/pbuffers2/glwidget.cpp | 326 + examples/opengl/pbuffers2/glwidget.h | 85 + examples/opengl/pbuffers2/main.cpp | 62 + examples/opengl/pbuffers2/pbuffers2.pro | 21 + examples/opengl/pbuffers2/pbuffers2.qrc | 6 + examples/opengl/samplebuffers/glwidget.cpp | 165 + examples/opengl/samplebuffers/glwidget.h | 62 + examples/opengl/samplebuffers/main.cpp | 72 + examples/opengl/samplebuffers/samplebuffers.pro | 10 + examples/opengl/textures/glwidget.cpp | 182 + examples/opengl/textures/glwidget.h | 84 + examples/opengl/textures/images/side1.png | Bin 0 -> 935 bytes examples/opengl/textures/images/side2.png | Bin 0 -> 1622 bytes examples/opengl/textures/images/side3.png | Bin 0 -> 2117 bytes examples/opengl/textures/images/side4.png | Bin 0 -> 1222 bytes examples/opengl/textures/images/side5.png | Bin 0 -> 1806 bytes examples/opengl/textures/images/side6.png | Bin 0 -> 2215 bytes examples/opengl/textures/main.cpp | 54 + examples/opengl/textures/textures.pro | 13 + examples/opengl/textures/textures.qrc | 10 + examples/opengl/textures/window.cpp | 89 + examples/opengl/textures/window.h | 67 + examples/painting/README | 42 + examples/painting/basicdrawing/basicdrawing.pro | 12 + examples/painting/basicdrawing/basicdrawing.qrc | 6 + examples/painting/basicdrawing/images/brick.png | Bin 0 -> 767 bytes examples/painting/basicdrawing/images/qt-logo.png | Bin 0 -> 3696 bytes examples/painting/basicdrawing/main.cpp | 54 + examples/painting/basicdrawing/renderarea.cpp | 209 + examples/painting/basicdrawing/renderarea.h | 84 + examples/painting/basicdrawing/window.cpp | 262 + examples/painting/basicdrawing/window.h | 88 + .../painting/concentriccircles/circlewidget.cpp | 125 + examples/painting/concentriccircles/circlewidget.h | 74 + .../concentriccircles/concentriccircles.pro | 11 + examples/painting/concentriccircles/main.cpp | 52 + examples/painting/concentriccircles/window.cpp | 94 + examples/painting/concentriccircles/window.h | 71 + examples/painting/fontsampler/fontsampler.pro | 10 + examples/painting/fontsampler/main.cpp | 52 + examples/painting/fontsampler/mainwindow.cpp | 373 + examples/painting/fontsampler/mainwindow.h | 83 + examples/painting/fontsampler/mainwindowbase.ui | 140 + .../painting/imagecomposition/imagecomposer.cpp | 209 + examples/painting/imagecomposition/imagecomposer.h | 88 + .../painting/imagecomposition/imagecomposition.pro | 11 + .../painting/imagecomposition/imagecomposition.qrc | 6 + .../imagecomposition/images/background.png | Bin 0 -> 18579 bytes .../imagecomposition/images/blackrectangle.png | Bin 0 -> 90 bytes .../painting/imagecomposition/images/butterfly.png | Bin 0 -> 36868 bytes .../painting/imagecomposition/images/checker.png | Bin 0 -> 10384 bytes examples/painting/imagecomposition/main.cpp | 56 + examples/painting/painterpaths/main.cpp | 52 + examples/painting/painterpaths/painterpaths.pro | 12 + examples/painting/painterpaths/renderarea.cpp | 131 + examples/painting/painterpaths/renderarea.h | 81 + examples/painting/painterpaths/window.cpp | 289 + examples/painting/painterpaths/window.h | 93 + examples/painting/painting.pro | 16 + examples/painting/svgviewer/files/bubbles.svg | 215 + examples/painting/svgviewer/files/cubic.svg | 77 + examples/painting/svgviewer/files/spheres.svg | 72 + examples/painting/svgviewer/main.cpp | 63 + examples/painting/svgviewer/mainwindow.cpp | 164 + examples/painting/svgviewer/mainwindow.h | 81 + examples/painting/svgviewer/svgview.cpp | 188 + examples/painting/svgviewer/svgview.h | 84 + examples/painting/svgviewer/svgviewer.pro | 23 + examples/painting/svgviewer/svgviewer.qrc | 6 + examples/painting/transformations/main.cpp | 52 + examples/painting/transformations/renderarea.cpp | 173 + examples/painting/transformations/renderarea.h | 91 + .../painting/transformations/transformations.pro | 11 + examples/painting/transformations/window.cpp | 181 + examples/painting/transformations/window.h | 81 + examples/phonon/README | 39 + examples/phonon/capabilities/capabilities.pro | 16 + examples/phonon/capabilities/main.cpp | 58 + examples/phonon/capabilities/window.cpp | 166 + examples/phonon/capabilities/window.h | 97 + examples/phonon/musicplayer/main.cpp | 57 + examples/phonon/musicplayer/mainwindow.cpp | 352 + examples/phonon/musicplayer/mainwindow.h | 112 + examples/phonon/musicplayer/musicplayer.pro | 16 + examples/phonon/phonon.pro | 10 + examples/qmake/precompile/main.cpp | 61 + examples/qmake/precompile/mydialog.cpp | 48 + examples/qmake/precompile/mydialog.h | 55 + examples/qmake/precompile/mydialog.ui | 47 + examples/qmake/precompile/myobject.cpp | 58 + examples/qmake/precompile/myobject.h | 56 + examples/qmake/precompile/precompile.pro | 22 + examples/qmake/precompile/stable.h | 53 + examples/qmake/precompile/util.cpp | 50 + examples/qmake/tutorial/hello.cpp | 50 + examples/qmake/tutorial/hello.h | 48 + examples/qmake/tutorial/hellounix.cpp | 43 + examples/qmake/tutorial/hellowin.cpp | 43 + examples/qmake/tutorial/main.cpp | 54 + examples/qtconcurrent/README | 38 + .../qtconcurrent/imagescaling/imagescaling.cpp | 147 + examples/qtconcurrent/imagescaling/imagescaling.h | 82 + .../qtconcurrent/imagescaling/imagescaling.pro | 13 + examples/qtconcurrent/imagescaling/main.cpp | 64 + examples/qtconcurrent/map/main.cpp | 82 + examples/qtconcurrent/map/map.pro | 14 + examples/qtconcurrent/progressdialog/main.cpp | 100 + .../qtconcurrent/progressdialog/progressdialog.pro | 14 + examples/qtconcurrent/qtconcurrent.pro | 12 + examples/qtconcurrent/runfunction/main.cpp | 73 + examples/qtconcurrent/runfunction/runfunction.pro | 14 + examples/qtconcurrent/wordcount/main.cpp | 167 + examples/qtconcurrent/wordcount/wordcount.pro | 14 + examples/qtestlib/README | 38 + examples/qtestlib/qtestlib.pro | 8 + examples/qtestlib/tutorial1/testqstring.cpp | 65 + examples/qtestlib/tutorial1/tutorial1.pro | 8 + examples/qtestlib/tutorial2/testqstring.cpp | 81 + examples/qtestlib/tutorial2/tutorial2.pro | 8 + examples/qtestlib/tutorial3/testgui.cpp | 71 + examples/qtestlib/tutorial3/tutorial3.pro | 8 + examples/qtestlib/tutorial4/testgui.cpp | 91 + examples/qtestlib/tutorial4/tutorial4.pro | 8 + examples/qtestlib/tutorial5/benchmarking.cpp | 135 + examples/qtestlib/tutorial5/tutorial5.pro | 8 + examples/qws/README | 38 + examples/qws/ahigl/ahigl.pro | 16 + examples/qws/ahigl/qscreenahigl_qws.cpp | 963 + examples/qws/ahigl/qscreenahigl_qws.h | 91 + examples/qws/ahigl/qscreenahiglplugin.cpp | 97 + examples/qws/ahigl/qwindowsurface_ahigl.cpp | 349 + examples/qws/ahigl/qwindowsurface_ahigl_p.h | 92 + examples/qws/dbscreen/dbscreen.cpp | 99 + examples/qws/dbscreen/dbscreen.h | 70 + examples/qws/dbscreen/dbscreen.pro | 11 + examples/qws/dbscreen/dbscreendriverplugin.cpp | 80 + examples/qws/framebuffer/framebuffer.pro | 11 + examples/qws/framebuffer/main.c | 586 + examples/qws/mousecalibration/calibration.cpp | 145 + examples/qws/mousecalibration/calibration.h | 68 + examples/qws/mousecalibration/main.cpp | 93 + examples/qws/mousecalibration/mousecalibration.pro | 11 + examples/qws/mousecalibration/scribblewidget.cpp | 93 + examples/qws/mousecalibration/scribblewidget.h | 71 + examples/qws/qws.pro | 7 + examples/qws/simpledecoration/analogclock.cpp | 111 + examples/qws/simpledecoration/analogclock.h | 58 + examples/qws/simpledecoration/main.cpp | 60 + examples/qws/simpledecoration/mydecoration.cpp | 375 + examples/qws/simpledecoration/mydecoration.h | 73 + examples/qws/simpledecoration/simpledecoration.pro | 12 + examples/qws/svgalib/README | 5 + examples/qws/svgalib/svgalib.pro | 19 + examples/qws/svgalib/svgalibpaintdevice.cpp | 67 + examples/qws/svgalib/svgalibpaintdevice.h | 66 + examples/qws/svgalib/svgalibpaintengine.cpp | 192 + examples/qws/svgalib/svgalibpaintengine.h | 79 + examples/qws/svgalib/svgalibplugin.cpp | 75 + examples/qws/svgalib/svgalibscreen.cpp | 354 + examples/qws/svgalib/svgalibscreen.h | 84 + examples/qws/svgalib/svgalibsurface.cpp | 87 + examples/qws/svgalib/svgalibsurface.h | 76 + examples/richtext/README | 42 + examples/richtext/calendar/calendar.pro | 9 + examples/richtext/calendar/main.cpp | 53 + examples/richtext/calendar/mainwindow.cpp | 215 + examples/richtext/calendar/mainwindow.h | 74 + examples/richtext/orderform/detailsdialog.cpp | 157 + examples/richtext/orderform/detailsdialog.h | 91 + examples/richtext/orderform/main.cpp | 56 + examples/richtext/orderform/mainwindow.cpp | 250 + examples/richtext/orderform/mainwindow.h | 77 + examples/richtext/orderform/orderform.pro | 11 + examples/richtext/richtext.pro | 12 + .../richtext/syntaxhighlighter/highlighter.cpp | 148 + examples/richtext/syntaxhighlighter/highlighter.h | 85 + examples/richtext/syntaxhighlighter/main.cpp | 53 + examples/richtext/syntaxhighlighter/mainwindow.cpp | 130 + examples/richtext/syntaxhighlighter/mainwindow.h | 76 + .../syntaxhighlighter/syntaxhighlighter.pro | 17 + examples/richtext/textobject/files/heart.svg | 55 + examples/richtext/textobject/main.cpp | 55 + examples/richtext/textobject/svgtextobject.cpp | 72 + examples/richtext/textobject/svgtextobject.h | 70 + examples/richtext/textobject/textobject.pro | 14 + examples/richtext/textobject/window.cpp | 117 + examples/richtext/textobject/window.h | 81 + examples/script/README | 40 + examples/script/calculator/calculator.js | 264 + examples/script/calculator/calculator.pro | 12 + examples/script/calculator/calculator.qrc | 6 + examples/script/calculator/calculator.ui | 406 + examples/script/calculator/main.cpp | 101 + examples/script/context2d/context2d.cpp | 825 + examples/script/context2d/context2d.h | 261 + examples/script/context2d/context2d.pro | 23 + examples/script/context2d/context2d.qrc | 5 + examples/script/context2d/domimage.cpp | 157 + examples/script/context2d/domimage.h | 87 + examples/script/context2d/environment.cpp | 561 + examples/script/context2d/environment.h | 145 + examples/script/context2d/main.cpp | 53 + examples/script/context2d/qcontext2dcanvas.cpp | 143 + examples/script/context2d/qcontext2dcanvas.h | 98 + examples/script/context2d/scripts/alpha.js | 21 + examples/script/context2d/scripts/arc.js | 30 + examples/script/context2d/scripts/bezier.js | 26 + examples/script/context2d/scripts/clock.js | 99 + examples/script/context2d/scripts/fill1.js | 8 + examples/script/context2d/scripts/grad.js | 20 + examples/script/context2d/scripts/linecap.js | 24 + examples/script/context2d/scripts/linestye.js | 10 + examples/script/context2d/scripts/moveto.js | 20 + examples/script/context2d/scripts/moveto2.js | 24 + examples/script/context2d/scripts/pacman.js | 83 + examples/script/context2d/scripts/plasma.js | 58 + examples/script/context2d/scripts/pong.js | 235 + examples/script/context2d/scripts/quad.js | 21 + examples/script/context2d/scripts/rgba.js | 19 + examples/script/context2d/scripts/rotate.js | 16 + examples/script/context2d/scripts/scale.js | 67 + examples/script/context2d/scripts/stroke1.js | 10 + examples/script/context2d/scripts/translate.js | 29 + examples/script/context2d/window.cpp | 174 + examples/script/context2d/window.h | 81 + examples/script/customclass/bytearrayclass.cpp | 304 + examples/script/customclass/bytearrayclass.h | 90 + examples/script/customclass/bytearrayclass.pri | 6 + examples/script/customclass/bytearrayprototype.cpp | 136 + examples/script/customclass/bytearrayprototype.h | 80 + examples/script/customclass/customclass.pro | 13 + examples/script/customclass/main.cpp | 70 + examples/script/defaultprototypes/code.js | 20 + .../script/defaultprototypes/defaultprototypes.pro | 10 + .../script/defaultprototypes/defaultprototypes.qrc | 5 + examples/script/defaultprototypes/main.cpp | 84 + examples/script/defaultprototypes/prototypes.cpp | 110 + examples/script/defaultprototypes/prototypes.h | 78 + examples/script/helloscript/helloscript.pro | 9 + examples/script/helloscript/helloscript.qrc | 5 + examples/script/helloscript/helloscript.qs | 5 + examples/script/helloscript/main.cpp | 97 + examples/script/marshal/main.cpp | 106 + examples/script/marshal/marshal.pro | 9 + examples/script/qscript/main.cpp | 221 + examples/script/qscript/qscript.pro | 14 + examples/script/qsdbg/example.qs | 17 + examples/script/qsdbg/main.cpp | 74 + examples/script/qsdbg/qsdbg.pri | 9 + examples/script/qsdbg/qsdbg.pro | 19 + examples/script/qsdbg/scriptbreakpointmanager.cpp | 159 + examples/script/qsdbg/scriptbreakpointmanager.h | 122 + examples/script/qsdbg/scriptdebugger.cpp | 737 + examples/script/qsdbg/scriptdebugger.h | 85 + examples/script/qstetrix/main.cpp | 142 + examples/script/qstetrix/qstetrix.pro | 17 + examples/script/qstetrix/tetrix.qrc | 8 + examples/script/qstetrix/tetrixboard.cpp | 139 + examples/script/qstetrix/tetrixboard.h | 102 + examples/script/qstetrix/tetrixboard.js | 261 + examples/script/qstetrix/tetrixpiece.js | 131 + examples/script/qstetrix/tetrixwindow.js | 16 + examples/script/qstetrix/tetrixwindow.ui | 175 + examples/script/script.pro | 11 + examples/sql/README | 40 + examples/sql/cachedtable/cachedtable.pro | 11 + examples/sql/cachedtable/main.cpp | 58 + examples/sql/cachedtable/tableeditor.cpp | 106 + examples/sql/cachedtable/tableeditor.h | 73 + examples/sql/connection.h | 136 + examples/sql/drilldown/drilldown.pro | 16 + examples/sql/drilldown/drilldown.qrc | 11 + examples/sql/drilldown/imageitem.cpp | 124 + examples/sql/drilldown/imageitem.h | 75 + examples/sql/drilldown/images/beijing.png | Bin 0 -> 99093 bytes examples/sql/drilldown/images/berlin.png | Bin 0 -> 81944 bytes examples/sql/drilldown/images/brisbane.png | Bin 0 -> 57785 bytes examples/sql/drilldown/images/munich.png | Bin 0 -> 59769 bytes examples/sql/drilldown/images/oslo.png | Bin 0 -> 41781 bytes examples/sql/drilldown/images/redwood.png | Bin 0 -> 39050 bytes examples/sql/drilldown/informationwindow.cpp | 170 + examples/sql/drilldown/informationwindow.h | 91 + examples/sql/drilldown/logo.png | Bin 0 -> 13378 bytes examples/sql/drilldown/main.cpp | 59 + examples/sql/drilldown/view.cpp | 179 + examples/sql/drilldown/view.h | 81 + examples/sql/masterdetail/albumdetails.xml | 98 + examples/sql/masterdetail/database.h | 97 + examples/sql/masterdetail/dialog.cpp | 283 + examples/sql/masterdetail/dialog.h | 83 + examples/sql/masterdetail/images/icon.png | Bin 0 -> 30095 bytes examples/sql/masterdetail/images/image.png | Bin 0 -> 166692 bytes examples/sql/masterdetail/main.cpp | 60 + examples/sql/masterdetail/mainwindow.cpp | 430 + examples/sql/masterdetail/mainwindow.h | 104 + examples/sql/masterdetail/masterdetail.pro | 16 + examples/sql/masterdetail/masterdetail.qrc | 6 + examples/sql/querymodel/customsqlmodel.cpp | 65 + examples/sql/querymodel/customsqlmodel.h | 59 + examples/sql/querymodel/editablesqlmodel.cpp | 110 + examples/sql/querymodel/editablesqlmodel.h | 63 + examples/sql/querymodel/main.cpp | 87 + examples/sql/querymodel/querymodel.pro | 13 + .../relationaltablemodel/relationaltablemodel.cpp | 115 + .../relationaltablemodel/relationaltablemodel.pro | 9 + examples/sql/sql.pro | 12 + examples/sql/sqlwidgetmapper/main.cpp | 52 + examples/sql/sqlwidgetmapper/sqlwidgetmapper.pro | 10 + examples/sql/sqlwidgetmapper/window.cpp | 159 + examples/sql/sqlwidgetmapper/window.h | 90 + examples/sql/tablemodel/tablemodel.cpp | 84 + examples/sql/tablemodel/tablemodel.pro | 9 + examples/statemachine/README | 36 + .../statemachine/citizenquartz/citizenquartz.pro | 20 + .../statemachine/citizenquartz/citizenquartz.qrc | 5 + examples/statemachine/citizenquartz/clock.cpp | 382 + examples/statemachine/citizenquartz/clock.h | 60 + .../statemachine/citizenquartz/clockbutton.cpp | 39 + examples/statemachine/citizenquartz/clockbutton.h | 25 + .../statemachine/citizenquartz/clockdisplay.cpp | 140 + examples/statemachine/citizenquartz/clockdisplay.h | 75 + .../statemachine/citizenquartz/images/alarm.png | Bin 0 -> 434 bytes examples/statemachine/citizenquartz/main.cpp | 23 + .../citizenquartz/propertyaddstate.cpp | 46 + .../statemachine/citizenquartz/propertyaddstate.h | 33 + .../statemachine/citizenquartz/sound/alarm.wav | Bin 0 -> 3238264 bytes examples/statemachine/citizenquartz/timeperiod.h | 84 + .../statemachine/clockticking/clockticking.pro | 10 + examples/statemachine/clockticking/main.cpp | 101 + examples/statemachine/composition/composition.pro | 7 + examples/statemachine/composition/main.cpp | 74 + .../eventtransitions/eventtransitions.pro | 7 + examples/statemachine/eventtransitions/main.cpp | 72 + examples/statemachine/factorial/factorial.pro | 10 + examples/statemachine/factorial/main.cpp | 140 + examples/statemachine/helloworld/helloworld.pro | 10 + examples/statemachine/helloworld/main.cpp | 48 + examples/statemachine/pauseandresume/main.cpp | 72 + .../statemachine/pauseandresume/pauseandresume.pro | 7 + examples/statemachine/pingpong/main.cpp | 112 + examples/statemachine/pingpong/pingpong.pro | 10 + examples/statemachine/statemachine.pro | 17 + examples/statemachine/trafficlight/main.cpp | 158 + .../statemachine/trafficlight/trafficlight.pro | 12 + examples/statemachine/twowaybutton/main.cpp | 48 + .../statemachine/twowaybutton/twowaybutton.pro | 7 + examples/threads/README | 40 + examples/threads/mandelbrot/main.cpp | 54 + examples/threads/mandelbrot/mandelbrot.pro | 13 + examples/threads/mandelbrot/mandelbrotwidget.cpp | 240 + examples/threads/mandelbrot/mandelbrotwidget.h | 85 + examples/threads/mandelbrot/renderthread.cpp | 216 + examples/threads/mandelbrot/renderthread.h | 89 + examples/threads/semaphores/semaphores.cpp | 107 + examples/threads/semaphores/semaphores.pro | 10 + examples/threads/threads.pro | 10 + examples/threads/waitconditions/waitconditions.cpp | 126 + examples/threads/waitconditions/waitconditions.pro | 20 + examples/tools/README | 40 + examples/tools/codecs/codecs.pro | 11 + examples/tools/codecs/encodedfiles/.gitattributes | 2 + examples/tools/codecs/encodedfiles/iso-8859-1.txt | 6 + examples/tools/codecs/encodedfiles/iso-8859-15.txt | 8 + examples/tools/codecs/encodedfiles/utf-16.txt | Bin 0 -> 162 bytes examples/tools/codecs/encodedfiles/utf-16be.txt | Bin 0 -> 160 bytes examples/tools/codecs/encodedfiles/utf-16le.txt | Bin 0 -> 160 bytes examples/tools/codecs/encodedfiles/utf-8.txt | 6 + examples/tools/codecs/main.cpp | 52 + examples/tools/codecs/mainwindow.cpp | 203 + examples/tools/codecs/mainwindow.h | 88 + examples/tools/codecs/previewform.cpp | 102 + examples/tools/codecs/previewform.h | 80 + examples/tools/completer/completer.pro | 12 + examples/tools/completer/completer.qrc | 6 + examples/tools/completer/dirmodel.cpp | 63 + examples/tools/completer/dirmodel.h | 61 + examples/tools/completer/main.cpp | 55 + examples/tools/completer/mainwindow.cpp | 264 + examples/tools/completer/mainwindow.h | 87 + examples/tools/completer/resources/countries.txt | 241 + examples/tools/completer/resources/wordlist.txt | 1486 + examples/tools/customcompleter/customcompleter.pro | 12 + examples/tools/customcompleter/customcompleter.qrc | 5 + examples/tools/customcompleter/main.cpp | 55 + examples/tools/customcompleter/mainwindow.cpp | 118 + examples/tools/customcompleter/mainwindow.h | 77 + .../tools/customcompleter/resources/wordlist.txt | 1455 + examples/tools/customcompleter/textedit.cpp | 174 + examples/tools/customcompleter/textedit.h | 79 + examples/tools/echoplugin/echoplugin.pro | 11 + .../tools/echoplugin/echowindow/echointerface.h | 62 + .../tools/echoplugin/echowindow/echowindow.cpp | 119 + examples/tools/echoplugin/echowindow/echowindow.h | 80 + .../tools/echoplugin/echowindow/echowindow.pro | 18 + examples/tools/echoplugin/echowindow/main.cpp | 57 + examples/tools/echoplugin/plugin/echoplugin.cpp | 55 + examples/tools/echoplugin/plugin/echoplugin.h | 60 + examples/tools/echoplugin/plugin/plugin.pro | 15 + examples/tools/i18n/i18n.pro | 26 + examples/tools/i18n/i18n.qrc | 18 + examples/tools/i18n/languagechooser.cpp | 167 + examples/tools/i18n/languagechooser.h | 86 + examples/tools/i18n/main.cpp | 55 + examples/tools/i18n/mainwindow.cpp | 96 + examples/tools/i18n/mainwindow.h | 77 + examples/tools/i18n/translations/i18n_ar.qm | Bin 0 -> 736 bytes examples/tools/i18n/translations/i18n_ar.ts | 57 + examples/tools/i18n/translations/i18n_cs.qm | Bin 0 -> 796 bytes examples/tools/i18n/translations/i18n_cs.ts | 57 + examples/tools/i18n/translations/i18n_de.qm | Bin 0 -> 848 bytes examples/tools/i18n/translations/i18n_de.ts | 57 + examples/tools/i18n/translations/i18n_el.qm | Bin 0 -> 804 bytes examples/tools/i18n/translations/i18n_el.ts | 57 + examples/tools/i18n/translations/i18n_en.qm | Bin 0 -> 810 bytes examples/tools/i18n/translations/i18n_en.ts | 57 + examples/tools/i18n/translations/i18n_eo.qm | Bin 0 -> 806 bytes examples/tools/i18n/translations/i18n_eo.ts | 57 + examples/tools/i18n/translations/i18n_fr.qm | Bin 0 -> 844 bytes examples/tools/i18n/translations/i18n_fr.ts | 57 + examples/tools/i18n/translations/i18n_it.qm | Bin 0 -> 808 bytes examples/tools/i18n/translations/i18n_it.ts | 57 + examples/tools/i18n/translations/i18n_jp.qm | Bin 0 -> 722 bytes examples/tools/i18n/translations/i18n_jp.ts | 57 + examples/tools/i18n/translations/i18n_ko.qm | Bin 0 -> 690 bytes examples/tools/i18n/translations/i18n_ko.ts | 57 + examples/tools/i18n/translations/i18n_no.qm | Bin 0 -> 804 bytes examples/tools/i18n/translations/i18n_no.ts | 57 + examples/tools/i18n/translations/i18n_ru.qm | Bin 0 -> 806 bytes examples/tools/i18n/translations/i18n_ru.ts | 59 + examples/tools/i18n/translations/i18n_sv.qm | Bin 0 -> 814 bytes examples/tools/i18n/translations/i18n_sv.ts | 57 + examples/tools/i18n/translations/i18n_zh.qm | Bin 0 -> 700 bytes examples/tools/i18n/translations/i18n_zh.ts | 57 + examples/tools/plugandpaint/interfaces.h | 111 + examples/tools/plugandpaint/main.cpp | 58 + examples/tools/plugandpaint/mainwindow.cpp | 310 + examples/tools/plugandpaint/mainwindow.h | 104 + examples/tools/plugandpaint/paintarea.cpp | 196 + examples/tools/plugandpaint/paintarea.h | 92 + examples/tools/plugandpaint/plugandpaint.pro | 22 + examples/tools/plugandpaint/plugindialog.cpp | 157 + examples/tools/plugandpaint/plugindialog.h | 77 + .../plugandpaintplugins/basictools/basictools.pro | 15 + .../basictools/basictoolsplugin.cpp | 198 + .../basictools/basictoolsplugin.h | 88 + .../extrafilters/extrafilters.pro | 15 + .../extrafilters/extrafiltersplugin.cpp | 125 + .../extrafilters/extrafiltersplugin.h | 64 + .../plugandpaintplugins/plugandpaintplugins.pro | 9 + examples/tools/regexp/main.cpp | 52 + examples/tools/regexp/regexp.pro | 9 + examples/tools/regexp/regexpdialog.cpp | 188 + examples/tools/regexp/regexpdialog.h | 86 + .../tools/settingseditor/inifiles/licensepage.ini | 46 + examples/tools/settingseditor/inifiles/qsa.ini | 26 + examples/tools/settingseditor/locationdialog.cpp | 217 + examples/tools/settingseditor/locationdialog.h | 85 + examples/tools/settingseditor/main.cpp | 52 + examples/tools/settingseditor/mainwindow.cpp | 223 + examples/tools/settingseditor/mainwindow.h | 92 + examples/tools/settingseditor/settingseditor.pro | 15 + examples/tools/settingseditor/settingstree.cpp | 263 + examples/tools/settingseditor/settingstree.h | 91 + examples/tools/settingseditor/variantdelegate.cpp | 317 + examples/tools/settingseditor/variantdelegate.h | 82 + examples/tools/styleplugin/plugin/plugin.pro | 21 + examples/tools/styleplugin/plugin/simplestyle.cpp | 49 + examples/tools/styleplugin/plugin/simplestyle.h | 61 + .../tools/styleplugin/plugin/simplestyleplugin.cpp | 65 + .../tools/styleplugin/plugin/simplestyleplugin.h | 65 + examples/tools/styleplugin/styleplugin.pro | 9 + examples/tools/styleplugin/stylewindow/main.cpp | 58 + .../tools/styleplugin/stylewindow/stylewindow.cpp | 61 + .../tools/styleplugin/stylewindow/stylewindow.h | 55 + .../tools/styleplugin/stylewindow/stylewindow.pro | 17 + examples/tools/tools.pro | 22 + examples/tools/treemodelcompleter/main.cpp | 55 + examples/tools/treemodelcompleter/mainwindow.cpp | 247 + examples/tools/treemodelcompleter/mainwindow.h | 89 + .../treemodelcompleter/resources/treemodel.txt | 20 + .../treemodelcompleter/treemodelcompleter.cpp | 98 + .../tools/treemodelcompleter/treemodelcompleter.h | 71 + .../treemodelcompleter/treemodelcompleter.pro | 12 + .../treemodelcompleter/treemodelcompleter.qrc | 5 + examples/tools/undoframework/commands.cpp | 163 + examples/tools/undoframework/commands.h | 104 + examples/tools/undoframework/diagramitem.cpp | 66 + examples/tools/undoframework/diagramitem.h | 73 + examples/tools/undoframework/diagramscene.cpp | 76 + examples/tools/undoframework/diagramscene.h | 75 + examples/tools/undoframework/images/cross.png | Bin 0 -> 114 bytes examples/tools/undoframework/main.cpp | 58 + examples/tools/undoframework/mainwindow.cpp | 209 + examples/tools/undoframework/mainwindow.h | 100 + examples/tools/undoframework/undoframework.pro | 16 + examples/tools/undoframework/undoframework.qrc | 6 + examples/tutorials/README | 37 + examples/tutorials/addressbook-fr/README | 42 + .../tutorials/addressbook-fr/addressbook-fr.pro | 8 + .../tutorials/addressbook-fr/part1/addressbook.cpp | 68 + .../tutorials/addressbook-fr/part1/addressbook.h | 67 + examples/tutorials/addressbook-fr/part1/main.cpp | 55 + examples/tutorials/addressbook-fr/part1/part1.pro | 9 + .../tutorials/addressbook-fr/part2/addressbook.cpp | 158 + .../tutorials/addressbook-fr/part2/addressbook.h | 85 + examples/tutorials/addressbook-fr/part2/main.cpp | 55 + examples/tutorials/addressbook-fr/part2/part2.pro | 9 + .../tutorials/addressbook-fr/part3/addressbook.cpp | 217 + .../tutorials/addressbook-fr/part3/addressbook.h | 87 + examples/tutorials/addressbook-fr/part3/main.cpp | 53 + examples/tutorials/addressbook-fr/part3/part3.pro | 9 + .../tutorials/addressbook-fr/part4/addressbook.cpp | 291 + .../tutorials/addressbook-fr/part4/addressbook.h | 100 + examples/tutorials/addressbook-fr/part4/main.cpp | 53 + examples/tutorials/addressbook-fr/part4/part4.pro | 9 + .../tutorials/addressbook-fr/part5/addressbook.cpp | 315 + .../tutorials/addressbook-fr/part5/addressbook.h | 103 + .../tutorials/addressbook-fr/part5/finddialog.cpp | 87 + .../tutorials/addressbook-fr/part5/finddialog.h | 69 + examples/tutorials/addressbook-fr/part5/main.cpp | 53 + examples/tutorials/addressbook-fr/part5/part5.pro | 11 + .../tutorials/addressbook-fr/part6/addressbook.cpp | 396 + .../tutorials/addressbook-fr/part6/addressbook.h | 104 + .../tutorials/addressbook-fr/part6/finddialog.cpp | 83 + .../tutorials/addressbook-fr/part6/finddialog.h | 69 + examples/tutorials/addressbook-fr/part6/main.cpp | 53 + examples/tutorials/addressbook-fr/part6/part6.pro | 11 + .../tutorials/addressbook-fr/part7/addressbook.cpp | 449 + .../tutorials/addressbook-fr/part7/addressbook.h | 106 + .../tutorials/addressbook-fr/part7/finddialog.cpp | 83 + .../tutorials/addressbook-fr/part7/finddialog.h | 69 + examples/tutorials/addressbook-fr/part7/main.cpp | 53 + examples/tutorials/addressbook-fr/part7/part7.pro | 11 + examples/tutorials/addressbook/README | 42 + examples/tutorials/addressbook/addressbook.pro | 8 + .../tutorials/addressbook/part1/addressbook.cpp | 68 + examples/tutorials/addressbook/part1/addressbook.h | 67 + examples/tutorials/addressbook/part1/main.cpp | 55 + examples/tutorials/addressbook/part1/part1.pro | 9 + .../tutorials/addressbook/part2/addressbook.cpp | 158 + examples/tutorials/addressbook/part2/addressbook.h | 85 + examples/tutorials/addressbook/part2/main.cpp | 55 + examples/tutorials/addressbook/part2/part2.pro | 9 + .../tutorials/addressbook/part3/addressbook.cpp | 217 + examples/tutorials/addressbook/part3/addressbook.h | 87 + examples/tutorials/addressbook/part3/main.cpp | 53 + examples/tutorials/addressbook/part3/part3.pro | 9 + .../tutorials/addressbook/part4/addressbook.cpp | 291 + examples/tutorials/addressbook/part4/addressbook.h | 100 + examples/tutorials/addressbook/part4/main.cpp | 53 + examples/tutorials/addressbook/part4/part4.pro | 9 + .../tutorials/addressbook/part5/addressbook.cpp | 315 + examples/tutorials/addressbook/part5/addressbook.h | 103 + .../tutorials/addressbook/part5/finddialog.cpp | 87 + examples/tutorials/addressbook/part5/finddialog.h | 69 + examples/tutorials/addressbook/part5/main.cpp | 53 + examples/tutorials/addressbook/part5/part5.pro | 11 + .../tutorials/addressbook/part6/addressbook.cpp | 396 + examples/tutorials/addressbook/part6/addressbook.h | 104 + .../tutorials/addressbook/part6/finddialog.cpp | 83 + examples/tutorials/addressbook/part6/finddialog.h | 69 + examples/tutorials/addressbook/part6/main.cpp | 53 + examples/tutorials/addressbook/part6/part6.pro | 11 + .../tutorials/addressbook/part7/addressbook.cpp | 449 + examples/tutorials/addressbook/part7/addressbook.h | 106 + .../tutorials/addressbook/part7/finddialog.cpp | 83 + examples/tutorials/addressbook/part7/finddialog.h | 69 + examples/tutorials/addressbook/part7/main.cpp | 53 + examples/tutorials/addressbook/part7/part7.pro | 11 + examples/tutorials/tutorials.pro | 8 + .../uitools/multipleinheritance/calculatorform.cpp | 66 + .../uitools/multipleinheritance/calculatorform.h | 63 + .../uitools/multipleinheritance/calculatorform.ui | 303 + examples/uitools/multipleinheritance/main.cpp | 53 + .../multipleinheritance/multipleinheritance.pro | 11 + examples/uitools/textfinder/forms/input.txt | 9 + examples/uitools/textfinder/forms/textfinder.ui | 89 + examples/uitools/textfinder/main.cpp | 56 + examples/uitools/textfinder/textfinder.cpp | 156 + examples/uitools/textfinder/textfinder.h | 75 + examples/uitools/textfinder/textfinder.pro | 10 + examples/uitools/textfinder/textfinder.qrc | 6 + examples/uitools/uitools.pro | 10 + examples/webkit/formextractor/form.html | 64 + examples/webkit/formextractor/formextractor.cpp | 74 + examples/webkit/formextractor/formextractor.h | 67 + examples/webkit/formextractor/formextractor.pro | 16 + examples/webkit/formextractor/formextractor.qrc | 5 + examples/webkit/formextractor/formextractor.ui | 159 + examples/webkit/formextractor/main.cpp | 53 + examples/webkit/formextractor/mainwindow.cpp | 87 + examples/webkit/formextractor/mainwindow.h | 75 + examples/webkit/previewer/main.cpp | 53 + examples/webkit/previewer/mainwindow.cpp | 197 + examples/webkit/previewer/mainwindow.h | 87 + examples/webkit/previewer/previewer.cpp | 65 + examples/webkit/previewer/previewer.h | 65 + examples/webkit/previewer/previewer.pro | 13 + examples/webkit/previewer/previewer.ui | 99 + examples/webkit/webkit.pro | 9 + examples/widgets/README | 44 + examples/widgets/analogclock/analogclock.cpp | 146 + examples/widgets/analogclock/analogclock.h | 60 + examples/widgets/analogclock/analogclock.pro | 9 + examples/widgets/analogclock/main.cpp | 52 + examples/widgets/calculator/button.cpp | 64 + examples/widgets/calculator/button.h | 59 + examples/widgets/calculator/calculator.cpp | 398 + examples/widgets/calculator/calculator.h | 108 + examples/widgets/calculator/calculator.pro | 11 + examples/widgets/calculator/main.cpp | 52 + examples/widgets/calendarwidget/calendarwidget.pro | 9 + examples/widgets/calendarwidget/main.cpp | 52 + examples/widgets/calendarwidget/window.cpp | 462 + examples/widgets/calendarwidget/window.h | 128 + examples/widgets/charactermap/charactermap.pro | 11 + examples/widgets/charactermap/characterwidget.cpp | 178 + examples/widgets/charactermap/characterwidget.h | 87 + examples/widgets/charactermap/main.cpp | 52 + examples/widgets/charactermap/mainwindow.cpp | 196 + examples/widgets/charactermap/mainwindow.h | 84 + examples/widgets/codeeditor/codeeditor.cpp | 171 + examples/widgets/codeeditor/codeeditor.h | 106 + examples/widgets/codeeditor/codeeditor.pro | 9 + examples/widgets/codeeditor/main.cpp | 56 + examples/widgets/digitalclock/digitalclock.cpp | 73 + examples/widgets/digitalclock/digitalclock.h | 60 + examples/widgets/digitalclock/digitalclock.pro | 9 + examples/widgets/digitalclock/main.cpp | 52 + examples/widgets/groupbox/groupbox.pro | 9 + examples/widgets/groupbox/main.cpp | 52 + examples/widgets/groupbox/window.cpp | 190 + examples/widgets/groupbox/window.h | 67 + examples/widgets/icons/iconpreviewarea.cpp | 142 + examples/widgets/icons/iconpreviewarea.h | 78 + examples/widgets/icons/icons.pro | 25 + examples/widgets/icons/iconsizespinbox.cpp | 71 + examples/widgets/icons/iconsizespinbox.h | 60 + examples/widgets/icons/imagedelegate.cpp | 106 + examples/widgets/icons/imagedelegate.h | 69 + examples/widgets/icons/images/designer.png | Bin 0 -> 4205 bytes examples/widgets/icons/images/find_disabled.png | Bin 0 -> 501 bytes examples/widgets/icons/images/find_normal.png | Bin 0 -> 838 bytes .../widgets/icons/images/monkey_off_128x128.png | Bin 0 -> 7045 bytes examples/widgets/icons/images/monkey_off_16x16.png | Bin 0 -> 683 bytes examples/widgets/icons/images/monkey_off_32x32.png | Bin 0 -> 1609 bytes examples/widgets/icons/images/monkey_off_64x64.png | Bin 0 -> 3533 bytes .../widgets/icons/images/monkey_on_128x128.png | Bin 0 -> 6909 bytes examples/widgets/icons/images/monkey_on_16x16.png | Bin 0 -> 681 bytes examples/widgets/icons/images/monkey_on_32x32.png | Bin 0 -> 1577 bytes examples/widgets/icons/images/monkey_on_64x64.png | Bin 0 -> 3479 bytes .../widgets/icons/images/qt_extended_16x16.png | Bin 0 -> 834 bytes .../widgets/icons/images/qt_extended_32x32.png | Bin 0 -> 1892 bytes .../widgets/icons/images/qt_extended_48x48.png | Bin 0 -> 3672 bytes examples/widgets/icons/main.cpp | 52 + examples/widgets/icons/mainwindow.cpp | 443 + examples/widgets/icons/mainwindow.h | 117 + examples/widgets/imageviewer/imageviewer.cpp | 278 + examples/widgets/imageviewer/imageviewer.h | 104 + examples/widgets/imageviewer/imageviewer.pro | 13 + examples/widgets/imageviewer/main.cpp | 52 + examples/widgets/lineedits/lineedits.pro | 9 + examples/widgets/lineedits/main.cpp | 52 + examples/widgets/lineedits/window.cpp | 257 + examples/widgets/lineedits/window.h | 76 + examples/widgets/movie/animation.mng | Bin 0 -> 5464 bytes examples/widgets/movie/main.cpp | 52 + examples/widgets/movie/movie.pro | 9 + examples/widgets/movie/movieplayer.cpp | 211 + examples/widgets/movie/movieplayer.h | 97 + examples/widgets/scribble/main.cpp | 52 + examples/widgets/scribble/mainwindow.cpp | 251 + examples/widgets/scribble/mainwindow.h | 93 + examples/widgets/scribble/scribble.pro | 11 + examples/widgets/scribble/scribblearea.cpp | 215 + examples/widgets/scribble/scribblearea.h | 91 + examples/widgets/shapedclock/main.cpp | 52 + examples/widgets/shapedclock/shapedclock.cpp | 159 + examples/widgets/shapedclock/shapedclock.h | 67 + examples/widgets/shapedclock/shapedclock.pro | 9 + examples/widgets/sliders/main.cpp | 52 + examples/widgets/sliders/sliders.pro | 11 + examples/widgets/sliders/slidersgroup.cpp | 133 + examples/widgets/sliders/slidersgroup.h | 79 + examples/widgets/sliders/window.cpp | 146 + examples/widgets/sliders/window.h | 85 + examples/widgets/spinboxes/main.cpp | 52 + examples/widgets/spinboxes/spinboxes.pro | 9 + examples/widgets/spinboxes/window.cpp | 252 + examples/widgets/spinboxes/window.h | 82 + examples/widgets/styles/images/woodbackground.png | Bin 0 -> 7691 bytes examples/widgets/styles/images/woodbutton.png | Bin 0 -> 7689 bytes examples/widgets/styles/main.cpp | 54 + examples/widgets/styles/norwegianwoodstyle.cpp | 331 + examples/widgets/styles/norwegianwoodstyle.h | 79 + examples/widgets/styles/styles.pro | 14 + examples/widgets/styles/styles.qrc | 6 + examples/widgets/styles/widgetgallery.cpp | 276 + examples/widgets/styles/widgetgallery.h | 122 + .../widgets/stylesheet/images/checkbox_checked.png | Bin 0 -> 263 bytes .../stylesheet/images/checkbox_checked_hover.png | Bin 0 -> 266 bytes .../stylesheet/images/checkbox_checked_pressed.png | Bin 0 -> 425 bytes .../stylesheet/images/checkbox_unchecked.png | Bin 0 -> 159 bytes .../stylesheet/images/checkbox_unchecked_hover.png | Bin 0 -> 159 bytes .../images/checkbox_unchecked_pressed.png | Bin 0 -> 320 bytes examples/widgets/stylesheet/images/down_arrow.png | Bin 0 -> 175 bytes .../stylesheet/images/down_arrow_disabled.png | Bin 0 -> 174 bytes examples/widgets/stylesheet/images/frame.png | Bin 0 -> 253 bytes examples/widgets/stylesheet/images/pagefold.png | Bin 0 -> 1545 bytes examples/widgets/stylesheet/images/pushbutton.png | Bin 0 -> 533 bytes .../widgets/stylesheet/images/pushbutton_hover.png | Bin 0 -> 525 bytes .../stylesheet/images/pushbutton_pressed.png | Bin 0 -> 513 bytes .../stylesheet/images/radiobutton_checked.png | Bin 0 -> 355 bytes .../images/radiobutton_checked_hover.png | Bin 0 -> 532 bytes .../images/radiobutton_checked_pressed.png | Bin 0 -> 599 bytes .../stylesheet/images/radiobutton_unchecked.png | Bin 0 -> 240 bytes .../images/radiobutton_unchecked_hover.png | Bin 0 -> 492 bytes .../images/radiobutton_unchecked_pressed.png | Bin 0 -> 556 bytes examples/widgets/stylesheet/images/sizegrip.png | Bin 0 -> 129 bytes examples/widgets/stylesheet/images/spindown.png | Bin 0 -> 276 bytes .../widgets/stylesheet/images/spindown_hover.png | Bin 0 -> 268 bytes .../widgets/stylesheet/images/spindown_off.png | Bin 0 -> 249 bytes .../widgets/stylesheet/images/spindown_pressed.png | Bin 0 -> 264 bytes examples/widgets/stylesheet/images/spinup.png | Bin 0 -> 283 bytes .../widgets/stylesheet/images/spinup_hover.png | Bin 0 -> 277 bytes examples/widgets/stylesheet/images/spinup_off.png | Bin 0 -> 274 bytes .../widgets/stylesheet/images/spinup_pressed.png | Bin 0 -> 277 bytes examples/widgets/stylesheet/images/up_arrow.png | Bin 0 -> 197 bytes .../stylesheet/images/up_arrow_disabled.png | Bin 0 -> 172 bytes examples/widgets/stylesheet/layouts/default.ui | 329 + examples/widgets/stylesheet/layouts/pagefold.ui | 349 + examples/widgets/stylesheet/main.cpp | 54 + examples/widgets/stylesheet/mainwindow.cpp | 75 + examples/widgets/stylesheet/mainwindow.h | 67 + examples/widgets/stylesheet/mainwindow.ui | 356 + examples/widgets/stylesheet/qss/coffee.qss | 112 + examples/widgets/stylesheet/qss/default.qss | 1 + examples/widgets/stylesheet/qss/pagefold.qss | 299 + examples/widgets/stylesheet/stylesheet.pro | 14 + examples/widgets/stylesheet/stylesheet.qrc | 39 + examples/widgets/stylesheet/stylesheeteditor.cpp | 94 + examples/widgets/stylesheet/stylesheeteditor.h | 68 + examples/widgets/stylesheet/stylesheeteditor.ui | 171 + examples/widgets/tablet/main.cpp | 61 + examples/widgets/tablet/mainwindow.cpp | 275 + examples/widgets/tablet/mainwindow.h | 114 + examples/widgets/tablet/tablet.pro | 13 + examples/widgets/tablet/tabletapplication.cpp | 57 + examples/widgets/tablet/tabletapplication.h | 67 + examples/widgets/tablet/tabletcanvas.cpp | 257 + examples/widgets/tablet/tabletcanvas.h | 115 + examples/widgets/tetrix/main.cpp | 55 + examples/widgets/tetrix/tetrix.pro | 13 + examples/widgets/tetrix/tetrixboard.cpp | 409 + examples/widgets/tetrix/tetrixboard.h | 117 + examples/widgets/tetrix/tetrixpiece.cpp | 146 + examples/widgets/tetrix/tetrixpiece.h | 76 + examples/widgets/tetrix/tetrixwindow.cpp | 116 + examples/widgets/tetrix/tetrixwindow.h | 77 + examples/widgets/tooltips/images/circle.png | Bin 0 -> 165 bytes examples/widgets/tooltips/images/square.png | Bin 0 -> 94 bytes examples/widgets/tooltips/images/triangle.png | Bin 0 -> 170 bytes examples/widgets/tooltips/main.cpp | 55 + examples/widgets/tooltips/shapeitem.cpp | 100 + examples/widgets/tooltips/shapeitem.h | 71 + examples/widgets/tooltips/sortingbox.cpp | 302 + examples/widgets/tooltips/sortingbox.h | 107 + examples/widgets/tooltips/tooltips.pro | 12 + examples/widgets/tooltips/tooltips.qrc | 7 + examples/widgets/validators/ledoff.png | Bin 0 -> 562 bytes examples/widgets/validators/ledon.png | Bin 0 -> 486 bytes examples/widgets/validators/ledwidget.cpp | 63 + examples/widgets/validators/ledwidget.h | 65 + examples/widgets/validators/localeselector.cpp | 313 + examples/widgets/validators/localeselector.h | 61 + examples/widgets/validators/main.cpp | 137 + examples/widgets/validators/validators.pro | 21 + examples/widgets/validators/validators.qrc | 6 + examples/widgets/validators/validators.ui | 467 + examples/widgets/widgets.pro | 31 + examples/widgets/wiggly/dialog.cpp | 67 + examples/widgets/wiggly/dialog.h | 57 + examples/widgets/wiggly/main.cpp | 53 + examples/widgets/wiggly/wiggly.pro | 11 + examples/widgets/wiggly/wigglywidget.cpp | 101 + examples/widgets/wiggly/wigglywidget.h | 70 + examples/widgets/windowflags/controllerwindow.cpp | 221 + examples/widgets/windowflags/controllerwindow.h | 105 + examples/widgets/windowflags/main.cpp | 52 + examples/widgets/windowflags/previewwindow.cpp | 119 + examples/widgets/windowflags/previewwindow.h | 68 + examples/widgets/windowflags/windowflags.pro | 11 + examples/xml/README | 40 + examples/xml/dombookmarks/dombookmarks.pro | 18 + examples/xml/dombookmarks/frank.xbel | 230 + examples/xml/dombookmarks/jennifer.xbel | 93 + examples/xml/dombookmarks/main.cpp | 53 + examples/xml/dombookmarks/mainwindow.cpp | 146 + examples/xml/dombookmarks/mainwindow.h | 76 + examples/xml/dombookmarks/xbeltree.cpp | 187 + examples/xml/dombookmarks/xbeltree.h | 75 + examples/xml/rsslisting/main.cpp | 64 + examples/xml/rsslisting/rsslisting.cpp | 239 + examples/xml/rsslisting/rsslisting.h | 87 + examples/xml/rsslisting/rsslisting.pro | 10 + examples/xml/saxbookmarks/frank.xbel | 230 + examples/xml/saxbookmarks/jennifer.xbel | 93 + examples/xml/saxbookmarks/main.cpp | 53 + examples/xml/saxbookmarks/mainwindow.cpp | 161 + examples/xml/saxbookmarks/mainwindow.h | 78 + examples/xml/saxbookmarks/saxbookmarks.pro | 20 + examples/xml/saxbookmarks/xbelgenerator.cpp | 115 + examples/xml/saxbookmarks/xbelgenerator.h | 69 + examples/xml/saxbookmarks/xbelhandler.cpp | 147 + examples/xml/saxbookmarks/xbelhandler.h | 79 + examples/xml/streambookmarks/frank.xbel | 230 + examples/xml/streambookmarks/jennifer.xbel | 93 + examples/xml/streambookmarks/main.cpp | 55 + examples/xml/streambookmarks/mainwindow.cpp | 177 + examples/xml/streambookmarks/mainwindow.h | 80 + examples/xml/streambookmarks/streambookmarks.pro | 14 + examples/xml/streambookmarks/xbelreader.cpp | 205 + examples/xml/streambookmarks/xbelreader.h | 82 + examples/xml/streambookmarks/xbelwriter.cpp | 93 + examples/xml/streambookmarks/xbelwriter.h | 65 + examples/xml/xml.pro | 12 + examples/xml/xmlstreamlint/main.cpp | 128 + examples/xml/xmlstreamlint/xmlstreamlint.pro | 10 + examples/xmlpatterns/README | 38 + examples/xmlpatterns/filetree/filetree.cpp | 372 + examples/xmlpatterns/filetree/filetree.h | 103 + examples/xmlpatterns/filetree/filetree.pro | 13 + examples/xmlpatterns/filetree/forms/mainwindow.ui | 200 + examples/xmlpatterns/filetree/main.cpp | 54 + examples/xmlpatterns/filetree/mainwindow.cpp | 166 + examples/xmlpatterns/filetree/mainwindow.h | 73 + examples/xmlpatterns/filetree/queries.qrc | 7 + .../xmlpatterns/filetree/queries/listCPPFiles.xq | 19 + examples/xmlpatterns/filetree/queries/wholeTree.xq | 1 + .../qobjectxmlmodel/forms/mainwindow.ui | 196 + examples/xmlpatterns/qobjectxmlmodel/main.cpp | 53 + .../xmlpatterns/qobjectxmlmodel/mainwindow.cpp | 135 + examples/xmlpatterns/qobjectxmlmodel/mainwindow.h | 64 + .../qobjectxmlmodel/qobjectxmlmodel.cpp | 459 + .../xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h | 139 + .../qobjectxmlmodel/qobjectxmlmodel.pro | 13 + examples/xmlpatterns/qobjectxmlmodel/queries.qrc | 7 + .../qobjectxmlmodel/queries/statisticsInHTML.xq | 58 + .../qobjectxmlmodel/queries/wholeTree.xq | 3 + examples/xmlpatterns/recipes/files/allRecipes.xq | 4 + examples/xmlpatterns/recipes/files/cookbook.xml | 62 + .../recipes/files/liquidIngredientsInSoup.xq | 5 + examples/xmlpatterns/recipes/files/mushroomSoup.xq | 5 + .../recipes/files/preparationLessThan30.xq | 9 + .../xmlpatterns/recipes/files/preparationTimes.xq | 5 + examples/xmlpatterns/recipes/forms/querywidget.ui | 151 + examples/xmlpatterns/recipes/main.cpp | 54 + examples/xmlpatterns/recipes/querymainwindow.cpp | 124 + examples/xmlpatterns/recipes/querymainwindow.h | 72 + examples/xmlpatterns/recipes/recipes.pro | 11 + examples/xmlpatterns/recipes/recipes.qrc | 11 + .../xmlpatterns/shared/xmlsyntaxhighlighter.cpp | 106 + examples/xmlpatterns/shared/xmlsyntaxhighlighter.h | 72 + examples/xmlpatterns/trafficinfo/main.cpp | 54 + examples/xmlpatterns/trafficinfo/mainwindow.cpp | 181 + examples/xmlpatterns/trafficinfo/mainwindow.h | 77 + .../xmlpatterns/trafficinfo/station_example.wml | 31 + examples/xmlpatterns/trafficinfo/stationdialog.cpp | 164 + examples/xmlpatterns/trafficinfo/stationdialog.h | 70 + examples/xmlpatterns/trafficinfo/stationdialog.ui | 104 + examples/xmlpatterns/trafficinfo/stationquery.cpp | 94 + examples/xmlpatterns/trafficinfo/stationquery.h | 74 + examples/xmlpatterns/trafficinfo/time_example.wml | 56 + examples/xmlpatterns/trafficinfo/timequery.cpp | 116 + examples/xmlpatterns/trafficinfo/timequery.h | 74 + examples/xmlpatterns/trafficinfo/trafficinfo.pro | 9 + examples/xmlpatterns/xmlpatterns.pro | 14 + .../xquery/globalVariables/globalVariables.pro | 9 + .../xmlpatterns/xquery/globalVariables/globals.cpp | 67 + .../xquery/globalVariables/globals.gccxml | 33 + .../xquery/globalVariables/globals.html | 40 + .../xquery/globalVariables/reportGlobals.xq | 110 + examples/xmlpatterns/xquery/xquery.pro | 8 + lib/README | 1 + lib/fonts/DejaVuSans-Bold.ttf | Bin 0 -> 466696 bytes lib/fonts/DejaVuSans-BoldOblique.ttf | Bin 0 -> 441736 bytes lib/fonts/DejaVuSans-Oblique.ttf | Bin 0 -> 434576 bytes lib/fonts/DejaVuSans.ttf | Bin 0 -> 493564 bytes lib/fonts/DejaVuSansMono-Bold.ttf | Bin 0 -> 229460 bytes lib/fonts/DejaVuSansMono-BoldOblique.ttf | Bin 0 -> 177780 bytes lib/fonts/DejaVuSansMono-Oblique.ttf | Bin 0 -> 184896 bytes lib/fonts/DejaVuSansMono.ttf | Bin 0 -> 237788 bytes lib/fonts/DejaVuSerif-Bold.ttf | Bin 0 -> 201516 bytes lib/fonts/DejaVuSerif-BoldOblique.ttf | Bin 0 -> 180948 bytes lib/fonts/DejaVuSerif-Oblique.ttf | Bin 0 -> 179872 bytes lib/fonts/DejaVuSerif.ttf | Bin 0 -> 210416 bytes lib/fonts/README | 21 + lib/fonts/UTBI____.pfa | 1172 + lib/fonts/UTB_____.pfa | 1134 + lib/fonts/UTI_____.pfa | 1165 + lib/fonts/UTRG____.pfa | 1126 + lib/fonts/Vera.ttf | Bin 0 -> 65932 bytes lib/fonts/VeraBI.ttf | Bin 0 -> 63208 bytes lib/fonts/VeraBd.ttf | Bin 0 -> 58716 bytes lib/fonts/VeraIt.ttf | Bin 0 -> 63684 bytes lib/fonts/VeraMoBI.ttf | Bin 0 -> 55032 bytes lib/fonts/VeraMoBd.ttf | Bin 0 -> 49052 bytes lib/fonts/VeraMoIt.ttf | Bin 0 -> 54508 bytes lib/fonts/VeraMono.ttf | Bin 0 -> 49224 bytes lib/fonts/VeraSe.ttf | Bin 0 -> 60280 bytes lib/fonts/VeraSeBd.ttf | Bin 0 -> 58736 bytes lib/fonts/c0419bt_.pfb | Bin 0 -> 40766 bytes lib/fonts/c0582bt_.pfb | Bin 0 -> 39511 bytes lib/fonts/c0583bt_.pfb | Bin 0 -> 40008 bytes lib/fonts/c0611bt_.pfb | Bin 0 -> 39871 bytes lib/fonts/c0632bt_.pfb | Bin 0 -> 33799 bytes lib/fonts/c0633bt_.pfb | Bin 0 -> 35229 bytes lib/fonts/c0648bt_.pfb | Bin 0 -> 34869 bytes lib/fonts/c0649bt_.pfb | Bin 0 -> 35118 bytes lib/fonts/cour.pfa | 1954 + lib/fonts/courb.pfa | 1966 + lib/fonts/courbi.pfa | 1940 + lib/fonts/couri.pfa | 1893 + lib/fonts/cursor.pfa | 954 + lib/fonts/fixed_120_50.qpf | Bin 0 -> 3109 bytes lib/fonts/fixed_70_50.qpf | Bin 0 -> 2567 bytes lib/fonts/helvetica_100_50.qpf | Bin 0 -> 3046 bytes lib/fonts/helvetica_100_50i.qpf | Bin 0 -> 3052 bytes lib/fonts/helvetica_100_75.qpf | Bin 0 -> 3040 bytes lib/fonts/helvetica_100_75i.qpf | Bin 0 -> 3081 bytes lib/fonts/helvetica_120_50.qpf | Bin 0 -> 3301 bytes lib/fonts/helvetica_120_50i.qpf | Bin 0 -> 3560 bytes lib/fonts/helvetica_120_75.qpf | Bin 0 -> 3326 bytes lib/fonts/helvetica_120_75i.qpf | Bin 0 -> 3759 bytes lib/fonts/helvetica_140_50.qpf | Bin 0 -> 3860 bytes lib/fonts/helvetica_140_50i.qpf | Bin 0 -> 4208 bytes lib/fonts/helvetica_140_75.qpf | Bin 0 -> 4035 bytes lib/fonts/helvetica_140_75i.qpf | Bin 0 -> 4498 bytes lib/fonts/helvetica_180_50.qpf | Bin 0 -> 5179 bytes lib/fonts/helvetica_180_50i.qpf | Bin 0 -> 5778 bytes lib/fonts/helvetica_180_75.qpf | Bin 0 -> 5712 bytes lib/fonts/helvetica_180_75i.qpf | Bin 0 -> 5977 bytes lib/fonts/helvetica_240_50.qpf | Bin 0 -> 7691 bytes lib/fonts/helvetica_240_50i.qpf | Bin 0 -> 8333 bytes lib/fonts/helvetica_240_75.qpf | Bin 0 -> 7912 bytes lib/fonts/helvetica_240_75i.qpf | Bin 0 -> 8588 bytes lib/fonts/helvetica_80_50.qpf | Bin 0 -> 2735 bytes lib/fonts/helvetica_80_50i.qpf | Bin 0 -> 2742 bytes lib/fonts/helvetica_80_75.qpf | Bin 0 -> 2745 bytes lib/fonts/helvetica_80_75i.qpf | Bin 0 -> 2750 bytes lib/fonts/japanese_230_50.qpf | Bin 0 -> 263331 bytes lib/fonts/l047013t.pfa | 1346 + lib/fonts/l047016t.pfa | 1356 + lib/fonts/l047033t.pfa | 1353 + lib/fonts/l047036t.pfa | 1361 + lib/fonts/l048013t.pfa | 1233 + lib/fonts/l048016t.pfa | 1269 + lib/fonts/l048033t.pfa | 1267 + lib/fonts/l048036t.pfa | 1260 + lib/fonts/l049013t.pfa | 1598 + lib/fonts/l049016t.pfa | 1582 + lib/fonts/l049033t.pfa | 1735 + lib/fonts/l049036t.pfa | 1613 + lib/fonts/micro_40_50.qpf | Bin 0 -> 1602 bytes lib/fonts/unifont_160_50.qpf | Bin 0 -> 1215089 bytes mkspecs/aix-g++-64/qmake.conf | 86 + mkspecs/aix-g++-64/qplatformdefs.h | 170 + mkspecs/aix-g++/qmake.conf | 86 + mkspecs/aix-g++/qplatformdefs.h | 170 + mkspecs/aix-xlc-64/qmake.conf | 85 + mkspecs/aix-xlc-64/qplatformdefs.h | 156 + mkspecs/aix-xlc/qmake.conf | 86 + mkspecs/aix-xlc/qplatformdefs.h | 166 + mkspecs/common/g++.conf | 52 + mkspecs/common/linux.conf | 49 + mkspecs/common/llvm.conf | 49 + mkspecs/common/mac-g++.conf | 76 + mkspecs/common/mac-llvm.conf | 76 + mkspecs/common/mac.conf | 45 + mkspecs/common/qws.conf | 19 + mkspecs/common/unix.conf | 11 + mkspecs/common/wince.conf | 87 + mkspecs/cygwin-g++/qmake.conf | 87 + mkspecs/cygwin-g++/qplatformdefs.h | 137 + mkspecs/darwin-g++/qmake.conf | 105 + mkspecs/darwin-g++/qplatformdefs.h | 126 + mkspecs/features/assistant.prf | 9 + mkspecs/features/build_pass.prf | 1 + mkspecs/features/dbusadaptors.prf | 44 + mkspecs/features/dbusinterfaces.prf | 45 + mkspecs/features/debug.prf | 8 + mkspecs/features/debug_and_release.prf | 1 + mkspecs/features/default_post.prf | 10 + mkspecs/features/default_pre.prf | 2 + mkspecs/features/designer.prf | 6 + mkspecs/features/dll.prf | 2 + mkspecs/features/exclusive_builds.prf | 100 + mkspecs/features/help.prf | 4 + mkspecs/features/incredibuild_xge.prf | 11 + mkspecs/features/lex.prf | 24 + mkspecs/features/link_pkgconfig.prf | 6 + mkspecs/features/mac/default_post.prf | 2 + mkspecs/features/mac/default_pre.prf | 3 + mkspecs/features/mac/dwarf2.prf | 6 + mkspecs/features/mac/objective_c.prf | 24 + mkspecs/features/mac/ppc.prf | 7 + mkspecs/features/mac/ppc64.prf | 7 + mkspecs/features/mac/rez.prf | 16 + mkspecs/features/mac/sdk.prf | 8 + mkspecs/features/mac/x86.prf | 7 + mkspecs/features/mac/x86_64.prf | 7 + mkspecs/features/moc.prf | 86 + mkspecs/features/no_debug_info.prf | 5 + mkspecs/features/qdbus.prf | 2 + mkspecs/features/qt.prf | 184 + mkspecs/features/qt_config.prf | 14 + mkspecs/features/qt_functions.prf | 66 + mkspecs/features/qtestlib.prf | 4 + mkspecs/features/qtopia.prf | 1 + mkspecs/features/qtopiainc.prf | 1 + mkspecs/features/qtopialib.prf | 2 + mkspecs/features/qttest_p4.prf | 101 + mkspecs/features/release.prf | 7 + mkspecs/features/resources.prf | 31 + mkspecs/features/shared.prf | 7 + mkspecs/features/silent.prf | 6 + mkspecs/features/static.prf | 9 + mkspecs/features/static_and_shared.prf | 3 + mkspecs/features/staticlib.prf | 1 + mkspecs/features/uic.prf | 111 + mkspecs/features/uitools.prf | 12 + mkspecs/features/unix/bsymbolic_functions.prf | 6 + mkspecs/features/unix/dylib.prf | 1 + mkspecs/features/unix/hide_symbols.prf | 4 + mkspecs/features/unix/largefile.prf | 2 + mkspecs/features/unix/opengl.prf | 4 + mkspecs/features/unix/separate_debug_info.prf | 17 + mkspecs/features/unix/thread.prf | 14 + mkspecs/features/unix/x11.prf | 1 + mkspecs/features/unix/x11inc.prf | 3 + mkspecs/features/unix/x11lib.prf | 2 + mkspecs/features/unix/x11sm.prf | 2 + mkspecs/features/use_c_linker.prf | 5 + mkspecs/features/warn_off.prf | 4 + mkspecs/features/warn_on.prf | 5 + mkspecs/features/win32/console.prf | 2 + mkspecs/features/win32/default_post.prf | 11 + mkspecs/features/win32/default_pre.prf | 3 + mkspecs/features/win32/dumpcpp.prf | 11 + mkspecs/features/win32/embed_manifest_dll.prf | 11 + mkspecs/features/win32/embed_manifest_exe.prf | 11 + mkspecs/features/win32/exceptions.prf | 5 + mkspecs/features/win32/exceptions_off.prf | 5 + mkspecs/features/win32/opengl.prf | 3 + mkspecs/features/win32/qaxcontainer.prf | 34 + mkspecs/features/win32/qaxserver.prf | 64 + mkspecs/features/win32/qt_dll.prf | 1 + mkspecs/features/win32/rtti.prf | 3 + mkspecs/features/win32/rtti_off.prf | 3 + mkspecs/features/win32/stl.prf | 3 + mkspecs/features/win32/stl_off.prf | 3 + mkspecs/features/win32/thread.prf | 30 + mkspecs/features/win32/thread_off.prf | 2 + mkspecs/features/win32/windows.prf | 15 + mkspecs/features/yacc.prf | 42 + mkspecs/freebsd-g++/qmake.conf | 52 + mkspecs/freebsd-g++/qplatformdefs.h | 146 + mkspecs/freebsd-g++34/qmake.conf | 86 + mkspecs/freebsd-g++34/qplatformdefs.h | 42 + mkspecs/freebsd-g++40/qmake.conf | 86 + mkspecs/freebsd-g++40/qplatformdefs.h | 42 + mkspecs/freebsd-icc/qmake.conf | 109 + mkspecs/freebsd-icc/qplatformdefs.h | 42 + mkspecs/hpux-acc-64/qmake.conf | 130 + mkspecs/hpux-acc-64/qplatformdefs.h | 149 + mkspecs/hpux-acc-o64/qmake.conf | 128 + mkspecs/hpux-acc-o64/qplatformdefs.h | 150 + mkspecs/hpux-acc/qmake.conf | 109 + mkspecs/hpux-acc/qplatformdefs.h | 158 + mkspecs/hpux-g++-64/qmake.conf | 92 + mkspecs/hpux-g++-64/qplatformdefs.h | 149 + mkspecs/hpux-g++/qmake.conf | 92 + mkspecs/hpux-g++/qplatformdefs.h | 157 + mkspecs/hpuxi-acc-32/qmake.conf | 84 + mkspecs/hpuxi-acc-32/qplatformdefs.h | 149 + mkspecs/hpuxi-acc-64/qmake.conf | 127 + mkspecs/hpuxi-acc-64/qplatformdefs.h | 149 + mkspecs/hpuxi-g++-64/qmake.conf | 95 + mkspecs/hpuxi-g++-64/qplatformdefs.h | 148 + mkspecs/hurd-g++/qmake.conf | 89 + mkspecs/hurd-g++/qplatformdefs.h | 137 + mkspecs/irix-cc-64/qmake.conf | 119 + mkspecs/irix-cc-64/qplatformdefs.h | 158 + mkspecs/irix-cc/qmake.conf | 119 + mkspecs/irix-cc/qplatformdefs.h | 158 + mkspecs/irix-g++-64/qmake.conf | 92 + mkspecs/irix-g++-64/qplatformdefs.h | 42 + mkspecs/irix-g++/qmake.conf | 92 + mkspecs/irix-g++/qplatformdefs.h | 163 + mkspecs/linux-cxx/qmake.conf | 81 + mkspecs/linux-cxx/qplatformdefs.h | 164 + mkspecs/linux-ecc-64/qmake.conf | 88 + mkspecs/linux-ecc-64/qplatformdefs.h | 164 + mkspecs/linux-g++-32/qmake.conf | 16 + mkspecs/linux-g++-32/qplatformdefs.h | 42 + mkspecs/linux-g++-64/qmake.conf | 23 + mkspecs/linux-g++-64/qplatformdefs.h | 42 + mkspecs/linux-g++/qmake.conf | 13 + mkspecs/linux-g++/qplatformdefs.h | 164 + mkspecs/linux-icc-32/qmake.conf | 10 + mkspecs/linux-icc-32/qplatformdefs.h | 42 + mkspecs/linux-icc-64/qmake.conf | 16 + mkspecs/linux-icc-64/qplatformdefs.h | 42 + mkspecs/linux-icc/qmake.conf | 109 + mkspecs/linux-icc/qplatformdefs.h | 42 + mkspecs/linux-kcc/qmake.conf | 97 + mkspecs/linux-kcc/qplatformdefs.h | 167 + mkspecs/linux-llvm/qmake.conf | 13 + mkspecs/linux-llvm/qplatformdefs.h | 164 + mkspecs/linux-lsb-g++/qmake.conf | 96 + mkspecs/linux-lsb-g++/qplatformdefs.h | 173 + mkspecs/linux-pgcc/qmake.conf | 86 + mkspecs/linux-pgcc/qplatformdefs.h | 164 + mkspecs/lynxos-g++/qmake.conf | 91 + mkspecs/lynxos-g++/qplatformdefs.h | 134 + mkspecs/macx-g++/Info.plist.app | 20 + mkspecs/macx-g++/Info.plist.lib | 18 + mkspecs/macx-g++/qmake.conf | 20 + mkspecs/macx-g++/qplatformdefs.h | 132 + mkspecs/macx-g++42/Info.plist.app | 20 + mkspecs/macx-g++42/Info.plist.lib | 18 + mkspecs/macx-g++42/qmake.conf | 21 + mkspecs/macx-g++42/qplatformdefs.h | 132 + mkspecs/macx-icc/qmake.conf | 81 + mkspecs/macx-icc/qplatformdefs.h | 43 + mkspecs/macx-llvm/Info.plist.app | 20 + mkspecs/macx-llvm/Info.plist.lib | 18 + mkspecs/macx-llvm/qmake.conf | 19 + mkspecs/macx-llvm/qplatformdefs.h | 132 + mkspecs/macx-pbuilder/Info.plist.app | 20 + mkspecs/macx-pbuilder/qmake.conf | 7 + mkspecs/macx-pbuilder/qplatformdefs.h | 132 + mkspecs/macx-xcode/Info.plist.app | 20 + mkspecs/macx-xcode/Info.plist.lib | 18 + mkspecs/macx-xcode/qmake.conf | 26 + mkspecs/macx-xcode/qplatformdefs.h | 132 + mkspecs/macx-xlc/qmake.conf | 98 + mkspecs/macx-xlc/qplatformdefs.h | 128 + mkspecs/netbsd-g++/qmake.conf | 87 + mkspecs/netbsd-g++/qplatformdefs.h | 135 + mkspecs/openbsd-g++/qmake.conf | 88 + mkspecs/openbsd-g++/qplatformdefs.h | 151 + mkspecs/qws/freebsd-generic-g++/qmake.conf | 84 + mkspecs/qws/freebsd-generic-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-arm-g++/qmake.conf | 20 + mkspecs/qws/linux-arm-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-armv6-g++/qmake.conf | 22 + mkspecs/qws/linux-armv6-g++/qplatformdefs.h | 1 + mkspecs/qws/linux-avr32-g++/qmake.conf | 20 + mkspecs/qws/linux-avr32-g++/qplatformdefs.h | 1 + mkspecs/qws/linux-cellon-g++/qmake.conf | 29 + mkspecs/qws/linux-cellon-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-dm7000-g++/qmake.conf | 26 + mkspecs/qws/linux-dm7000-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-dm800-g++/qmake.conf | 24 + mkspecs/qws/linux-dm800-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-generic-g++-32/qmake.conf | 14 + mkspecs/qws/linux-generic-g++-32/qplatformdefs.h | 42 + mkspecs/qws/linux-generic-g++/qmake.conf | 9 + mkspecs/qws/linux-generic-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-ipaq-g++/qmake.conf | 21 + mkspecs/qws/linux-ipaq-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-lsb-g++/qmake.conf | 22 + mkspecs/qws/linux-lsb-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-mips-g++/qmake.conf | 22 + mkspecs/qws/linux-mips-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-ppc-g++/qmake.conf | 9 + mkspecs/qws/linux-ppc-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-sh-g++/qmake.conf | 20 + mkspecs/qws/linux-sh-g++/qplatformdefs.h | 1 + mkspecs/qws/linux-sh4al-g++/qmake.conf | 23 + mkspecs/qws/linux-sh4al-g++/qplatformdefs.h | 1 + mkspecs/qws/linux-sharp-g++/qmake.conf | 23 + mkspecs/qws/linux-sharp-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-x86-g++/qmake.conf | 9 + mkspecs/qws/linux-x86-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-x86_64-g++/qmake.conf | 14 + mkspecs/qws/linux-x86_64-g++/qplatformdefs.h | 42 + mkspecs/qws/linux-zylonite-g++/qmake.conf | 25 + mkspecs/qws/linux-zylonite-g++/qplatformdefs.h | 42 + mkspecs/qws/macx-generic-g++/qmake.conf | 87 + mkspecs/qws/macx-generic-g++/qplatformdefs.h | 42 + mkspecs/qws/solaris-generic-g++/qmake.conf | 88 + mkspecs/qws/solaris-generic-g++/qplatformdefs.h | 42 + mkspecs/sco-cc/qmake.conf | 82 + mkspecs/sco-cc/qplatformdefs.h | 129 + mkspecs/sco-g++/qmake.conf | 83 + mkspecs/sco-g++/qplatformdefs.h | 133 + mkspecs/solaris-cc-64/qmake.conf | 107 + mkspecs/solaris-cc-64/qplatformdefs.h | 161 + mkspecs/solaris-cc/qmake.conf | 90 + mkspecs/solaris-cc/qplatformdefs.h | 183 + mkspecs/solaris-g++-64/qmake.conf | 111 + mkspecs/solaris-g++-64/qplatformdefs.h | 170 + mkspecs/solaris-g++/qmake.conf | 94 + mkspecs/solaris-g++/qplatformdefs.h | 192 + mkspecs/tru64-cxx/qmake.conf | 83 + mkspecs/tru64-cxx/qplatformdefs.h | 146 + mkspecs/tru64-g++/qmake.conf | 85 + mkspecs/tru64-g++/qplatformdefs.h | 146 + mkspecs/unixware-cc/qmake.conf | 88 + mkspecs/unixware-cc/qplatformdefs.h | 129 + mkspecs/unixware-g++/qmake.conf | 87 + mkspecs/unixware-g++/qplatformdefs.h | 129 + mkspecs/win32-borland/qmake.conf | 90 + mkspecs/win32-borland/qplatformdefs.h | 215 + mkspecs/win32-g++/qmake.conf | 106 + mkspecs/win32-g++/qplatformdefs.h | 164 + mkspecs/win32-icc/qmake.conf | 89 + mkspecs/win32-icc/qplatformdefs.h | 151 + mkspecs/win32-msvc.net/qmake.conf | 89 + mkspecs/win32-msvc.net/qplatformdefs.h | 145 + mkspecs/win32-msvc/features/incremental.prf | 2 + mkspecs/win32-msvc/features/incremental_off.prf | 2 + mkspecs/win32-msvc/qmake.conf | 86 + mkspecs/win32-msvc/qplatformdefs.h | 148 + mkspecs/win32-msvc2002/qmake.conf | 88 + mkspecs/win32-msvc2002/qplatformdefs.h | 42 + mkspecs/win32-msvc2003/qmake.conf | 88 + mkspecs/win32-msvc2003/qplatformdefs.h | 42 + mkspecs/win32-msvc2005/qmake.conf | 88 + mkspecs/win32-msvc2005/qplatformdefs.h | 147 + mkspecs/win32-msvc2008/qmake.conf | 88 + mkspecs/win32-msvc2008/qplatformdefs.h | 42 + .../default_post.prf | 7 + mkspecs/wince50standard-armv4i-msvc2005/qmake.conf | 23 + .../qplatformdefs.h | 131 + .../default_post.prf | 1 + mkspecs/wince50standard-armv4i-msvc2008/qmake.conf | 3 + .../qplatformdefs.h | 43 + .../default_post.prf | 7 + mkspecs/wince50standard-mipsii-msvc2005/qmake.conf | 24 + .../qplatformdefs.h | 131 + .../default_post.prf | 1 + mkspecs/wince50standard-mipsii-msvc2008/qmake.conf | 3 + .../qplatformdefs.h | 43 + mkspecs/wince50standard-mipsiv-msvc2005/qmake.conf | 24 + .../qplatformdefs.h | 131 + mkspecs/wince50standard-mipsiv-msvc2008/qmake.conf | 3 + .../qplatformdefs.h | 43 + mkspecs/wince50standard-sh4-msvc2005/qmake.conf | 23 + .../wince50standard-sh4-msvc2005/qplatformdefs.h | 131 + mkspecs/wince50standard-sh4-msvc2008/qmake.conf | 3 + .../wince50standard-sh4-msvc2008/qplatformdefs.h | 43 + .../wince50standard-x86-msvc2005/default_post.prf | 6 + mkspecs/wince50standard-x86-msvc2005/qmake.conf | 21 + .../wince50standard-x86-msvc2005/qplatformdefs.h | 131 + .../wince50standard-x86-msvc2008/default_post.prf | 1 + mkspecs/wince50standard-x86-msvc2008/qmake.conf | 3 + .../wince50standard-x86-msvc2008/qplatformdefs.h | 43 + mkspecs/wince60standard-armv4i-msvc2005/qmake.conf | 94 + .../qplatformdefs.h | 131 + mkspecs/wincewm50pocket-msvc2005/default_post.prf | 7 + mkspecs/wincewm50pocket-msvc2005/qmake.conf | 21 + mkspecs/wincewm50pocket-msvc2005/qplatformdefs.h | 131 + mkspecs/wincewm50pocket-msvc2008/default_post.prf | 1 + mkspecs/wincewm50pocket-msvc2008/qmake.conf | 3 + mkspecs/wincewm50pocket-msvc2008/qplatformdefs.h | 43 + mkspecs/wincewm50smart-msvc2005/default_post.prf | 7 + mkspecs/wincewm50smart-msvc2005/qmake.conf | 21 + mkspecs/wincewm50smart-msvc2005/qplatformdefs.h | 131 + mkspecs/wincewm50smart-msvc2008/default_post.prf | 1 + mkspecs/wincewm50smart-msvc2008/qmake.conf | 3 + mkspecs/wincewm50smart-msvc2008/qplatformdefs.h | 43 + .../default_post.prf | 7 + mkspecs/wincewm60professional-msvc2005/qmake.conf | 13 + .../wincewm60professional-msvc2005/qplatformdefs.h | 131 + .../default_post.prf | 1 + mkspecs/wincewm60professional-msvc2008/qmake.conf | 3 + .../wincewm60professional-msvc2008/qplatformdefs.h | 43 + .../wincewm60standard-msvc2005/default_post.prf | 7 + mkspecs/wincewm60standard-msvc2005/qmake.conf | 18 + mkspecs/wincewm60standard-msvc2005/qplatformdefs.h | 131 + .../wincewm60standard-msvc2008/default_post.prf | 1 + mkspecs/wincewm60standard-msvc2008/qmake.conf | 3 + mkspecs/wincewm60standard-msvc2008/qplatformdefs.h | 43 + projects.pro | 142 + qmake/CHANGES | 99 + qmake/Makefile.unix | 416 + qmake/Makefile.win32 | 591 + qmake/Makefile.win32-g++ | 439 + qmake/Makefile.win32-g++-sh | 438 + qmake/cachekeys.h | 183 + qmake/generators/mac/pbuilder_pbx.cpp | 1858 + qmake/generators/mac/pbuilder_pbx.h | 88 + qmake/generators/makefile.cpp | 3023 + qmake/generators/makefile.h | 267 + qmake/generators/makefiledeps.cpp | 963 + qmake/generators/makefiledeps.h | 132 + qmake/generators/metamakefile.cpp | 490 + qmake/generators/metamakefile.h | 77 + qmake/generators/projectgenerator.cpp | 510 + qmake/generators/projectgenerator.h | 71 + qmake/generators/unix/unixmake.cpp | 865 + qmake/generators/unix/unixmake.h | 88 + qmake/generators/unix/unixmake2.cpp | 1476 + qmake/generators/win32/borland_bmake.cpp | 177 + qmake/generators/win32/borland_bmake.h | 68 + qmake/generators/win32/mingw_make.cpp | 460 + qmake/generators/win32/mingw_make.h | 87 + qmake/generators/win32/msvc_dsp.cpp | 1207 + qmake/generators/win32/msvc_dsp.h | 122 + qmake/generators/win32/msvc_nmake.cpp | 322 + qmake/generators/win32/msvc_nmake.h | 76 + qmake/generators/win32/msvc_objectmodel.cpp | 2636 + qmake/generators/win32/msvc_objectmodel.h | 1078 + qmake/generators/win32/msvc_vcproj.cpp | 1785 + qmake/generators/win32/msvc_vcproj.h | 152 + qmake/generators/win32/winmakefile.cpp | 821 + qmake/generators/win32/winmakefile.h | 96 + qmake/generators/xmloutput.cpp | 340 + qmake/generators/xmloutput.h | 210 + qmake/main.cpp | 196 + qmake/meta.cpp | 206 + qmake/meta.h | 103 + qmake/option.cpp | 776 + qmake/option.h | 214 + qmake/project.cpp | 3201 + qmake/project.h | 208 + qmake/property.cpp | 234 + qmake/property.h | 71 + qmake/qmake.pri | 131 + qmake/qmake.pro | 25 + qmake/qmake_pch.h | 71 + src/3rdparty/.gitattributes | 19 + src/3rdparty/Makefile | 9 + src/3rdparty/README | 22 + src/3rdparty/clucene/APACHE.license | 201 + src/3rdparty/clucene/AUTHORS | 22 + src/3rdparty/clucene/COPYING | 30 + src/3rdparty/clucene/ChangeLog | 0 src/3rdparty/clucene/LGPL.license | 475 + src/3rdparty/clucene/README | 92 + src/3rdparty/clucene/src/CLucene.h | 38 + src/3rdparty/clucene/src/CLucene/CLBackwards.h | 87 + src/3rdparty/clucene/src/CLucene/CLConfig.h | 304 + src/3rdparty/clucene/src/CLucene/CLMonolithic.cpp | 115 + src/3rdparty/clucene/src/CLucene/LuceneThreads.h | 72 + src/3rdparty/clucene/src/CLucene/StdHeader.cpp | 132 + src/3rdparty/clucene/src/CLucene/StdHeader.h | 491 + .../src/CLucene/analysis/AnalysisHeader.cpp | 200 + .../clucene/src/CLucene/analysis/AnalysisHeader.h | 234 + .../clucene/src/CLucene/analysis/Analyzers.cpp | 389 + .../clucene/src/CLucene/analysis/Analyzers.h | 309 + .../CLucene/analysis/standard/StandardAnalyzer.cpp | 46 + .../CLucene/analysis/standard/StandardAnalyzer.h | 47 + .../CLucene/analysis/standard/StandardFilter.cpp | 58 + .../src/CLucene/analysis/standard/StandardFilter.h | 37 + .../analysis/standard/StandardTokenizer.cpp | 446 + .../CLucene/analysis/standard/StandardTokenizer.h | 88 + .../analysis/standard/StandardTokenizerConstants.h | 30 + .../clucene/src/CLucene/config/CompilerAcc.h | 166 + .../clucene/src/CLucene/config/CompilerBcb.h | 68 + .../clucene/src/CLucene/config/CompilerGcc.h | 175 + .../clucene/src/CLucene/config/CompilerMsvc.h | 134 + .../clucene/src/CLucene/config/PlatformMac.h | 19 + .../clucene/src/CLucene/config/PlatformUnix.h | 12 + .../clucene/src/CLucene/config/PlatformWin32.h | 11 + src/3rdparty/clucene/src/CLucene/config/compiler.h | 259 + .../clucene/src/CLucene/config/define_std.h | 110 + .../clucene/src/CLucene/config/gunichartables.cpp | 386 + .../clucene/src/CLucene/config/gunichartables.h | 11264 +++ .../clucene/src/CLucene/config/repl_lltot.cpp | 47 + .../clucene/src/CLucene/config/repl_tchar.h | 106 + .../clucene/src/CLucene/config/repl_tcscasecmp.cpp | 21 + .../clucene/src/CLucene/config/repl_tcslwr.cpp | 15 + .../clucene/src/CLucene/config/repl_tcstod.cpp | 23 + .../clucene/src/CLucene/config/repl_tcstoll.cpp | 46 + .../clucene/src/CLucene/config/repl_tprintf.cpp | 149 + .../clucene/src/CLucene/config/repl_wchar.h | 121 + .../clucene/src/CLucene/config/threadCSection.h | 71 + .../clucene/src/CLucene/config/threadPthread.h | 59 + .../clucene/src/CLucene/config/threads.cpp | 162 + src/3rdparty/clucene/src/CLucene/config/utf8.cpp | 237 + .../clucene/src/CLucene/debug/condition.cpp | 80 + src/3rdparty/clucene/src/CLucene/debug/condition.h | 64 + src/3rdparty/clucene/src/CLucene/debug/error.cpp | 73 + src/3rdparty/clucene/src/CLucene/debug/error.h | 74 + .../clucene/src/CLucene/debug/lucenebase.h | 75 + src/3rdparty/clucene/src/CLucene/debug/mem.h | 130 + .../clucene/src/CLucene/debug/memtracking.cpp | 371 + .../clucene/src/CLucene/document/DateField.cpp | 60 + .../clucene/src/CLucene/document/DateField.h | 64 + .../clucene/src/CLucene/document/Document.cpp | 237 + .../clucene/src/CLucene/document/Document.h | 158 + .../clucene/src/CLucene/document/Field.cpp | 315 + src/3rdparty/clucene/src/CLucene/document/Field.h | 261 + .../clucene/src/CLucene/index/CompoundFile.cpp | 380 + .../clucene/src/CLucene/index/CompoundFile.h | 219 + .../clucene/src/CLucene/index/DocumentWriter.cpp | 571 + .../clucene/src/CLucene/index/DocumentWriter.h | 107 + src/3rdparty/clucene/src/CLucene/index/FieldInfo.h | 16 + .../clucene/src/CLucene/index/FieldInfos.cpp | 236 + .../clucene/src/CLucene/index/FieldInfos.h | 171 + .../clucene/src/CLucene/index/FieldsReader.cpp | 231 + .../clucene/src/CLucene/index/FieldsReader.h | 60 + .../clucene/src/CLucene/index/FieldsWriter.cpp | 186 + .../clucene/src/CLucene/index/FieldsWriter.h | 49 + .../clucene/src/CLucene/index/IndexModifier.cpp | 254 + .../clucene/src/CLucene/index/IndexModifier.h | 316 + .../clucene/src/CLucene/index/IndexReader.cpp | 668 + .../clucene/src/CLucene/index/IndexReader.h | 485 + .../clucene/src/CLucene/index/IndexWriter.cpp | 697 + .../clucene/src/CLucene/index/IndexWriter.h | 425 + .../clucene/src/CLucene/index/MultiReader.cpp | 722 + .../clucene/src/CLucene/index/MultiReader.h | 202 + .../clucene/src/CLucene/index/SegmentHeader.h | 314 + .../clucene/src/CLucene/index/SegmentInfos.cpp | 259 + .../clucene/src/CLucene/index/SegmentInfos.h | 128 + .../clucene/src/CLucene/index/SegmentMergeInfo.cpp | 104 + .../clucene/src/CLucene/index/SegmentMergeInfo.h | 47 + .../src/CLucene/index/SegmentMergeQueue.cpp | 74 + .../clucene/src/CLucene/index/SegmentMergeQueue.h | 38 + .../clucene/src/CLucene/index/SegmentMerger.cpp | 723 + .../clucene/src/CLucene/index/SegmentMerger.h | 169 + .../clucene/src/CLucene/index/SegmentReader.cpp | 816 + .../clucene/src/CLucene/index/SegmentTermDocs.cpp | 212 + .../clucene/src/CLucene/index/SegmentTermEnum.cpp | 389 + .../clucene/src/CLucene/index/SegmentTermEnum.h | 138 + .../src/CLucene/index/SegmentTermPositions.cpp | 101 + .../src/CLucene/index/SegmentTermVector.cpp | 188 + src/3rdparty/clucene/src/CLucene/index/Term.cpp | 179 + src/3rdparty/clucene/src/CLucene/index/Term.h | 146 + .../clucene/src/CLucene/index/TermInfo.cpp | 53 + src/3rdparty/clucene/src/CLucene/index/TermInfo.h | 61 + .../clucene/src/CLucene/index/TermInfosReader.cpp | 443 + .../clucene/src/CLucene/index/TermInfosReader.h | 106 + .../clucene/src/CLucene/index/TermInfosWriter.cpp | 185 + .../clucene/src/CLucene/index/TermInfosWriter.h | 89 + .../clucene/src/CLucene/index/TermVector.h | 418 + .../clucene/src/CLucene/index/TermVectorReader.cpp | 393 + .../clucene/src/CLucene/index/TermVectorWriter.cpp | 349 + src/3rdparty/clucene/src/CLucene/index/Terms.h | 174 + .../clucene/src/CLucene/queryParser/Lexer.cpp | 371 + .../clucene/src/CLucene/queryParser/Lexer.h | 67 + .../CLucene/queryParser/MultiFieldQueryParser.cpp | 204 + .../CLucene/queryParser/MultiFieldQueryParser.h | 136 + .../src/CLucene/queryParser/QueryParser.cpp | 509 + .../clucene/src/CLucene/queryParser/QueryParser.h | 165 + .../src/CLucene/queryParser/QueryParserBase.cpp | 369 + .../src/CLucene/queryParser/QueryParserBase.h | 204 + .../clucene/src/CLucene/queryParser/QueryToken.cpp | 73 + .../clucene/src/CLucene/queryParser/QueryToken.h | 76 + .../clucene/src/CLucene/queryParser/TokenList.cpp | 79 + .../clucene/src/CLucene/queryParser/TokenList.h | 38 + .../clucene/src/CLucene/search/BooleanClause.h | 90 + .../clucene/src/CLucene/search/BooleanQuery.cpp | 363 + .../clucene/src/CLucene/search/BooleanQuery.h | 126 + .../clucene/src/CLucene/search/BooleanScorer.cpp | 248 + .../clucene/src/CLucene/search/BooleanScorer.h | 99 + .../src/CLucene/search/CachingWrapperFilter.cpp | 86 + .../src/CLucene/search/CachingWrapperFilter.h | 80 + .../clucene/src/CLucene/search/ChainedFilter.cpp | 213 + .../clucene/src/CLucene/search/ChainedFilter.h | 86 + src/3rdparty/clucene/src/CLucene/search/Compare.h | 161 + .../src/CLucene/search/ConjunctionScorer.cpp | 144 + .../clucene/src/CLucene/search/ConjunctionScorer.h | 50 + .../clucene/src/CLucene/search/DateFilter.cpp | 93 + .../clucene/src/CLucene/search/DateFilter.h | 59 + .../src/CLucene/search/ExactPhraseScorer.cpp | 85 + .../clucene/src/CLucene/search/ExactPhraseScorer.h | 31 + .../clucene/src/CLucene/search/Explanation.cpp | 133 + .../clucene/src/CLucene/search/Explanation.h | 66 + .../clucene/src/CLucene/search/FieldCache.cpp | 55 + .../clucene/src/CLucene/search/FieldCache.h | 182 + .../clucene/src/CLucene/search/FieldCacheImpl.cpp | 529 + .../clucene/src/CLucene/search/FieldCacheImpl.h | 144 + src/3rdparty/clucene/src/CLucene/search/FieldDoc.h | 70 + .../src/CLucene/search/FieldDocSortedHitQueue.cpp | 171 + .../src/CLucene/search/FieldDocSortedHitQueue.h | 159 + .../src/CLucene/search/FieldSortedHitQueue.cpp | 212 + .../src/CLucene/search/FieldSortedHitQueue.h | 216 + src/3rdparty/clucene/src/CLucene/search/Filter.h | 46 + .../src/CLucene/search/FilteredTermEnum.cpp | 136 + .../clucene/src/CLucene/search/FilteredTermEnum.h | 61 + .../clucene/src/CLucene/search/FuzzyQuery.cpp | 357 + .../clucene/src/CLucene/search/FuzzyQuery.h | 156 + .../clucene/src/CLucene/search/HitQueue.cpp | 107 + src/3rdparty/clucene/src/CLucene/search/HitQueue.h | 55 + src/3rdparty/clucene/src/CLucene/search/Hits.cpp | 174 + .../clucene/src/CLucene/search/IndexSearcher.cpp | 362 + .../clucene/src/CLucene/search/IndexSearcher.h | 73 + .../clucene/src/CLucene/search/MultiSearcher.cpp | 227 + .../clucene/src/CLucene/search/MultiSearcher.h | 95 + .../clucene/src/CLucene/search/MultiTermQuery.cpp | 98 + .../clucene/src/CLucene/search/MultiTermQuery.h | 62 + .../clucene/src/CLucene/search/PhrasePositions.cpp | 116 + .../clucene/src/CLucene/search/PhrasePositions.h | 41 + .../clucene/src/CLucene/search/PhraseQuery.cpp | 463 + .../clucene/src/CLucene/search/PhraseQuery.h | 127 + .../clucene/src/CLucene/search/PhraseQueue.h | 36 + .../clucene/src/CLucene/search/PhraseScorer.cpp | 225 + .../clucene/src/CLucene/search/PhraseScorer.h | 65 + .../clucene/src/CLucene/search/PrefixQuery.cpp | 273 + .../clucene/src/CLucene/search/PrefixQuery.h | 75 + .../clucene/src/CLucene/search/QueryFilter.cpp | 73 + .../clucene/src/CLucene/search/QueryFilter.h | 44 + .../clucene/src/CLucene/search/RangeFilter.cpp | 150 + .../clucene/src/CLucene/search/RangeFilter.h | 51 + .../clucene/src/CLucene/search/RangeQuery.cpp | 204 + .../clucene/src/CLucene/search/RangeQuery.h | 71 + src/3rdparty/clucene/src/CLucene/search/Scorer.h | 80 + .../clucene/src/CLucene/search/SearchHeader.cpp | 141 + .../clucene/src/CLucene/search/SearchHeader.h | 456 + .../clucene/src/CLucene/search/Similarity.cpp | 233 + .../clucene/src/CLucene/search/Similarity.h | 268 + .../src/CLucene/search/SloppyPhraseScorer.cpp | 106 + .../src/CLucene/search/SloppyPhraseScorer.h | 34 + src/3rdparty/clucene/src/CLucene/search/Sort.cpp | 345 + src/3rdparty/clucene/src/CLucene/search/Sort.h | 356 + .../clucene/src/CLucene/search/TermQuery.cpp | 213 + .../clucene/src/CLucene/search/TermQuery.h | 81 + .../clucene/src/CLucene/search/TermScorer.cpp | 120 + .../clucene/src/CLucene/search/TermScorer.h | 53 + .../clucene/src/CLucene/search/WildcardQuery.cpp | 147 + .../clucene/src/CLucene/search/WildcardQuery.h | 69 + .../src/CLucene/search/WildcardTermEnum.cpp | 150 + .../clucene/src/CLucene/search/WildcardTermEnum.h | 67 + src/3rdparty/clucene/src/CLucene/store/Directory.h | 108 + .../clucene/src/CLucene/store/FSDirectory.cpp | 637 + .../clucene/src/CLucene/store/FSDirectory.h | 216 + .../clucene/src/CLucene/store/IndexInput.cpp | 233 + .../clucene/src/CLucene/store/IndexInput.h | 190 + .../clucene/src/CLucene/store/IndexOutput.cpp | 163 + .../clucene/src/CLucene/store/IndexOutput.h | 152 + .../clucene/src/CLucene/store/InputStream.h | 21 + src/3rdparty/clucene/src/CLucene/store/Lock.cpp | 27 + src/3rdparty/clucene/src/CLucene/store/Lock.h | 106 + .../clucene/src/CLucene/store/MMapInput.cpp | 203 + .../clucene/src/CLucene/store/OutputStream.h | 23 + .../clucene/src/CLucene/store/RAMDirectory.cpp | 446 + .../clucene/src/CLucene/store/RAMDirectory.h | 195 + .../CLucene/store/TransactionalRAMDirectory.cpp | 212 + .../src/CLucene/store/TransactionalRAMDirectory.h | 76 + src/3rdparty/clucene/src/CLucene/util/Arrays.h | 164 + src/3rdparty/clucene/src/CLucene/util/BitSet.cpp | 119 + src/3rdparty/clucene/src/CLucene/util/BitSet.h | 62 + src/3rdparty/clucene/src/CLucene/util/Equators.cpp | 180 + src/3rdparty/clucene/src/CLucene/util/Equators.h | 274 + .../clucene/src/CLucene/util/FastCharStream.cpp | 107 + .../clucene/src/CLucene/util/FastCharStream.h | 55 + src/3rdparty/clucene/src/CLucene/util/Misc.cpp | 288 + src/3rdparty/clucene/src/CLucene/util/Misc.h | 75 + .../clucene/src/CLucene/util/PriorityQueue.h | 177 + src/3rdparty/clucene/src/CLucene/util/Reader.cpp | 186 + src/3rdparty/clucene/src/CLucene/util/Reader.h | 138 + .../clucene/src/CLucene/util/StringBuffer.cpp | 335 + .../clucene/src/CLucene/util/StringBuffer.h | 77 + .../clucene/src/CLucene/util/StringIntern.cpp | 158 + .../clucene/src/CLucene/util/StringIntern.h | 61 + .../clucene/src/CLucene/util/ThreadLocal.cpp | 55 + .../clucene/src/CLucene/util/ThreadLocal.h | 143 + src/3rdparty/clucene/src/CLucene/util/VoidList.h | 175 + src/3rdparty/clucene/src/CLucene/util/VoidMap.h | 270 + .../clucene/src/CLucene/util/bufferedstream.h | 155 + src/3rdparty/clucene/src/CLucene/util/dirent.cpp | 221 + src/3rdparty/clucene/src/CLucene/util/dirent.h | 105 + .../clucene/src/CLucene/util/fileinputstream.cpp | 98 + .../clucene/src/CLucene/util/fileinputstream.h | 38 + .../clucene/src/CLucene/util/inputstreambuffer.h | 126 + .../clucene/src/CLucene/util/jstreamsconfig.h | 9 + src/3rdparty/clucene/src/CLucene/util/streambase.h | 148 + .../clucene/src/CLucene/util/stringreader.h | 124 + .../clucene/src/CLucene/util/subinputstream.h | 141 + src/3rdparty/des/des.cpp | 602 + src/3rdparty/easing/easing.cpp | 669 + src/3rdparty/easing/legal.qdoc | 35 + src/3rdparty/freetype/ChangeLog | 3368 + src/3rdparty/freetype/ChangeLog.20 | 2613 + src/3rdparty/freetype/ChangeLog.21 | 9439 ++ src/3rdparty/freetype/ChangeLog.22 | 2837 + src/3rdparty/freetype/Jamfile | 203 + src/3rdparty/freetype/Jamrules | 71 + src/3rdparty/freetype/Makefile | 34 + src/3rdparty/freetype/README | 64 + src/3rdparty/freetype/README.CVS | 50 + src/3rdparty/freetype/autogen.sh | 61 + src/3rdparty/freetype/builds/amiga/README | 110 + .../amiga/include/freetype/config/ftconfig.h | 55 + .../amiga/include/freetype/config/ftmodule.h | 160 + src/3rdparty/freetype/builds/amiga/makefile | 284 + src/3rdparty/freetype/builds/amiga/makefile.os4 | 287 + src/3rdparty/freetype/builds/amiga/smakefile | 291 + .../freetype/builds/amiga/src/base/ftdebug.c | 279 + .../freetype/builds/amiga/src/base/ftsystem.c | 522 + src/3rdparty/freetype/builds/ansi/ansi-def.mk | 74 + src/3rdparty/freetype/builds/ansi/ansi.mk | 21 + src/3rdparty/freetype/builds/atari/ATARI.H | 16 + src/3rdparty/freetype/builds/atari/FNames.SIC | 37 + src/3rdparty/freetype/builds/atari/FREETYPE.PRJ | 32 + src/3rdparty/freetype/builds/atari/README.TXT | 51 + src/3rdparty/freetype/builds/beos/beos-def.mk | 76 + src/3rdparty/freetype/builds/beos/beos.mk | 19 + src/3rdparty/freetype/builds/beos/detect.mk | 41 + src/3rdparty/freetype/builds/compiler/ansi-cc.mk | 80 + src/3rdparty/freetype/builds/compiler/bcc-dev.mk | 78 + src/3rdparty/freetype/builds/compiler/bcc.mk | 78 + src/3rdparty/freetype/builds/compiler/emx.mk | 77 + src/3rdparty/freetype/builds/compiler/gcc-dev.mk | 95 + src/3rdparty/freetype/builds/compiler/gcc.mk | 77 + src/3rdparty/freetype/builds/compiler/intelc.mk | 85 + src/3rdparty/freetype/builds/compiler/unix-lcc.mk | 83 + src/3rdparty/freetype/builds/compiler/visualage.mk | 76 + src/3rdparty/freetype/builds/compiler/visualc.mk | 82 + src/3rdparty/freetype/builds/compiler/watcom.mk | 81 + src/3rdparty/freetype/builds/compiler/win-lcc.mk | 81 + src/3rdparty/freetype/builds/detect.mk | 154 + src/3rdparty/freetype/builds/dos/detect.mk | 142 + src/3rdparty/freetype/builds/dos/dos-def.mk | 45 + src/3rdparty/freetype/builds/dos/dos-emx.mk | 21 + src/3rdparty/freetype/builds/dos/dos-gcc.mk | 21 + src/3rdparty/freetype/builds/dos/dos-wat.mk | 20 + src/3rdparty/freetype/builds/exports.mk | 76 + src/3rdparty/freetype/builds/freetype.mk | 361 + src/3rdparty/freetype/builds/link_dos.mk | 42 + src/3rdparty/freetype/builds/link_std.mk | 42 + .../freetype/builds/mac/FreeType.m68k_cfm.make.txt | 202 + .../freetype/builds/mac/FreeType.m68k_far.make.txt | 201 + .../builds/mac/FreeType.ppc_carbon.make.txt | 202 + .../builds/mac/FreeType.ppc_classic.make.txt | 203 + src/3rdparty/freetype/builds/mac/README | 403 + src/3rdparty/freetype/builds/mac/ascii2mpw.py | 24 + src/3rdparty/freetype/builds/mac/ftlib.prj.xml | 1194 + src/3rdparty/freetype/builds/mac/ftmac.c | 1600 + src/3rdparty/freetype/builds/modules.mk | 79 + src/3rdparty/freetype/builds/newline | 1 + src/3rdparty/freetype/builds/os2/detect.mk | 73 + src/3rdparty/freetype/builds/os2/os2-def.mk | 44 + src/3rdparty/freetype/builds/os2/os2-dev.mk | 30 + src/3rdparty/freetype/builds/os2/os2-gcc.mk | 26 + src/3rdparty/freetype/builds/symbian/bld.inf | 66 + src/3rdparty/freetype/builds/symbian/freetype.mmp | 136 + src/3rdparty/freetype/builds/toplevel.mk | 245 + src/3rdparty/freetype/builds/unix/aclocal.m4 | 7912 ++ src/3rdparty/freetype/builds/unix/config.guess | 1526 + src/3rdparty/freetype/builds/unix/config.sub | 1669 + src/3rdparty/freetype/builds/unix/configure | 15767 ++++ src/3rdparty/freetype/builds/unix/configure.ac | 540 + src/3rdparty/freetype/builds/unix/configure.raw | 540 + src/3rdparty/freetype/builds/unix/detect.mk | 91 + .../freetype/builds/unix/freetype-config.in | 157 + src/3rdparty/freetype/builds/unix/freetype2.in | 11 + src/3rdparty/freetype/builds/unix/freetype2.m4 | 192 + src/3rdparty/freetype/builds/unix/ft-munmap.m4 | 32 + src/3rdparty/freetype/builds/unix/ft2unix.h | 61 + src/3rdparty/freetype/builds/unix/ftconfig.h | 262 + src/3rdparty/freetype/builds/unix/ftconfig.in | 349 + src/3rdparty/freetype/builds/unix/ftsystem.c | 414 + src/3rdparty/freetype/builds/unix/install-sh | 519 + src/3rdparty/freetype/builds/unix/install.mk | 97 + src/3rdparty/freetype/builds/unix/ltmain.sh | 7874 ++ src/3rdparty/freetype/builds/unix/mkinstalldirs | 161 + src/3rdparty/freetype/builds/unix/unix-cc.in | 113 + src/3rdparty/freetype/builds/unix/unix-def.in | 81 + src/3rdparty/freetype/builds/unix/unix-dev.mk | 26 + src/3rdparty/freetype/builds/unix/unix-lcc.mk | 24 + src/3rdparty/freetype/builds/unix/unix.mk | 62 + src/3rdparty/freetype/builds/unix/unixddef.mk | 45 + src/3rdparty/freetype/builds/vms/ftconfig.h | 338 + src/3rdparty/freetype/builds/vms/ftsystem.c | 321 + src/3rdparty/freetype/builds/win32/detect.mk | 183 + src/3rdparty/freetype/builds/win32/ftdebug.c | 248 + .../freetype/builds/win32/visualc/freetype.dsp | 396 + .../freetype/builds/win32/visualc/freetype.dsw | 29 + .../freetype/builds/win32/visualc/freetype.sln | 31 + .../freetype/builds/win32/visualc/freetype.vcproj | 2155 + .../freetype/builds/win32/visualc/index.html | 37 + .../freetype/builds/win32/visualce/freetype.dsp | 396 + .../freetype/builds/win32/visualce/freetype.dsw | 29 + .../freetype/builds/win32/visualce/freetype.vcproj | 13861 +++ .../freetype/builds/win32/visualce/index.html | 47 + src/3rdparty/freetype/builds/win32/w32-bcc.mk | 28 + src/3rdparty/freetype/builds/win32/w32-bccd.mk | 26 + src/3rdparty/freetype/builds/win32/w32-dev.mk | 32 + src/3rdparty/freetype/builds/win32/w32-gcc.mk | 31 + src/3rdparty/freetype/builds/win32/w32-icc.mk | 28 + src/3rdparty/freetype/builds/win32/w32-intl.mk | 28 + src/3rdparty/freetype/builds/win32/w32-lcc.mk | 24 + src/3rdparty/freetype/builds/win32/w32-mingw32.mk | 33 + src/3rdparty/freetype/builds/win32/w32-vcc.mk | 28 + src/3rdparty/freetype/builds/win32/w32-wat.mk | 28 + src/3rdparty/freetype/builds/win32/win32-def.mk | 46 + src/3rdparty/freetype/configure | 100 + src/3rdparty/freetype/devel/ft2build.h | 41 + src/3rdparty/freetype/devel/ftoption.h | 672 + src/3rdparty/freetype/docs/CHANGES | 3148 + src/3rdparty/freetype/docs/CUSTOMIZE | 150 + src/3rdparty/freetype/docs/DEBUG | 199 + src/3rdparty/freetype/docs/FTL.TXT | 169 + src/3rdparty/freetype/docs/GPL.TXT | 340 + src/3rdparty/freetype/docs/INSTALL | 89 + src/3rdparty/freetype/docs/INSTALL.ANY | 139 + src/3rdparty/freetype/docs/INSTALL.CROSS | 135 + src/3rdparty/freetype/docs/INSTALL.GNU | 159 + src/3rdparty/freetype/docs/INSTALL.MAC | 32 + src/3rdparty/freetype/docs/INSTALL.UNIX | 96 + src/3rdparty/freetype/docs/INSTALL.VMS | 62 + src/3rdparty/freetype/docs/LICENSE.TXT | 28 + src/3rdparty/freetype/docs/MAKEPP | 5 + src/3rdparty/freetype/docs/PATENTS | 27 + src/3rdparty/freetype/docs/PROBLEMS | 77 + src/3rdparty/freetype/docs/TODO | 40 + src/3rdparty/freetype/docs/TRUETYPE | 40 + src/3rdparty/freetype/docs/UPGRADE.UNIX | 137 + src/3rdparty/freetype/docs/VERSION.DLL | 132 + src/3rdparty/freetype/docs/formats.txt | 154 + src/3rdparty/freetype/docs/raster.txt | 635 + src/3rdparty/freetype/docs/reference/README | 5 + .../docs/reference/ft2-base_interface.html | 3425 + .../freetype/docs/reference/ft2-basic_types.html | 1160 + .../freetype/docs/reference/ft2-bdf_fonts.html | 254 + .../docs/reference/ft2-bitmap_handling.html | 264 + .../docs/reference/ft2-cache_subsystem.html | 1165 + .../freetype/docs/reference/ft2-cid_fonts.html | 102 + .../freetype/docs/reference/ft2-computations.html | 828 + .../freetype/docs/reference/ft2-font_formats.html | 79 + .../freetype/docs/reference/ft2-gasp_table.html | 137 + .../docs/reference/ft2-glyph_management.html | 633 + .../freetype/docs/reference/ft2-glyph_stroker.html | 924 + .../docs/reference/ft2-glyph_variants.html | 263 + .../freetype/docs/reference/ft2-gx_validation.html | 352 + src/3rdparty/freetype/docs/reference/ft2-gzip.html | 90 + .../docs/reference/ft2-header_file_macros.html | 816 + .../freetype/docs/reference/ft2-incremental.html | 393 + .../freetype/docs/reference/ft2-index.html | 279 + .../freetype/docs/reference/ft2-lcd_filtering.html | 145 + .../docs/reference/ft2-list_processing.html | 479 + src/3rdparty/freetype/docs/reference/ft2-lzw.html | 90 + .../freetype/docs/reference/ft2-mac_specific.html | 364 + .../docs/reference/ft2-module_management.html | 622 + .../docs/reference/ft2-multiple_masters.html | 507 + .../freetype/docs/reference/ft2-ot_validation.html | 204 + .../docs/reference/ft2-outline_processing.html | 1086 + .../freetype/docs/reference/ft2-pfr_fonts.html | 202 + .../freetype/docs/reference/ft2-raster.html | 602 + .../freetype/docs/reference/ft2-sfnt_names.html | 186 + .../docs/reference/ft2-sizes_management.html | 160 + .../docs/reference/ft2-system_interface.html | 411 + src/3rdparty/freetype/docs/reference/ft2-toc.html | 203 + .../docs/reference/ft2-truetype_engine.html | 128 + .../docs/reference/ft2-truetype_tables.html | 1213 + .../freetype/docs/reference/ft2-type1_tables.html | 518 + .../docs/reference/ft2-user_allocation.html | 43 + .../freetype/docs/reference/ft2-version.html | 209 + .../freetype/docs/reference/ft2-winfnt_fonts.html | 274 + src/3rdparty/freetype/docs/release | 166 + .../freetype/include/freetype/config/ftconfig.h | 415 + .../freetype/include/freetype/config/ftheader.h | 768 + .../freetype/include/freetype/config/ftmodule.h | 32 + .../freetype/include/freetype/config/ftoption.h | 671 + .../freetype/include/freetype/config/ftstdlib.h | 180 + src/3rdparty/freetype/include/freetype/freetype.h | 3706 + src/3rdparty/freetype/include/freetype/ftbbox.h | 94 + src/3rdparty/freetype/include/freetype/ftbdf.h | 200 + src/3rdparty/freetype/include/freetype/ftbitmap.h | 206 + src/3rdparty/freetype/include/freetype/ftcache.h | 1121 + .../freetype/include/freetype/ftchapters.h | 102 + src/3rdparty/freetype/include/freetype/ftcid.h | 98 + src/3rdparty/freetype/include/freetype/fterrdef.h | 239 + src/3rdparty/freetype/include/freetype/fterrors.h | 206 + src/3rdparty/freetype/include/freetype/ftgasp.h | 113 + src/3rdparty/freetype/include/freetype/ftglyph.h | 575 + src/3rdparty/freetype/include/freetype/ftgxval.h | 358 + src/3rdparty/freetype/include/freetype/ftgzip.h | 102 + src/3rdparty/freetype/include/freetype/ftimage.h | 1246 + src/3rdparty/freetype/include/freetype/ftincrem.h | 349 + src/3rdparty/freetype/include/freetype/ftlcdfil.h | 166 + src/3rdparty/freetype/include/freetype/ftlist.h | 273 + src/3rdparty/freetype/include/freetype/ftlzw.h | 99 + src/3rdparty/freetype/include/freetype/ftmac.h | 274 + src/3rdparty/freetype/include/freetype/ftmm.h | 378 + src/3rdparty/freetype/include/freetype/ftmodapi.h | 441 + src/3rdparty/freetype/include/freetype/ftmoderr.h | 155 + src/3rdparty/freetype/include/freetype/ftotval.h | 203 + src/3rdparty/freetype/include/freetype/ftoutln.h | 526 + src/3rdparty/freetype/include/freetype/ftpfr.h | 172 + src/3rdparty/freetype/include/freetype/ftrender.h | 234 + src/3rdparty/freetype/include/freetype/ftsizes.h | 159 + src/3rdparty/freetype/include/freetype/ftsnames.h | 170 + src/3rdparty/freetype/include/freetype/ftstroke.h | 716 + src/3rdparty/freetype/include/freetype/ftsynth.h | 73 + src/3rdparty/freetype/include/freetype/ftsystem.h | 346 + src/3rdparty/freetype/include/freetype/fttrigon.h | 350 + src/3rdparty/freetype/include/freetype/fttypes.h | 587 + src/3rdparty/freetype/include/freetype/ftwinfnt.h | 274 + src/3rdparty/freetype/include/freetype/ftxf86.h | 80 + .../freetype/include/freetype/internal/autohint.h | 205 + .../freetype/include/freetype/internal/ftcalc.h | 178 + .../freetype/include/freetype/internal/ftdebug.h | 250 + .../freetype/include/freetype/internal/ftdriver.h | 248 + .../freetype/include/freetype/internal/ftgloadr.h | 168 + .../freetype/include/freetype/internal/ftmemory.h | 368 + .../freetype/include/freetype/internal/ftobjs.h | 875 + .../freetype/include/freetype/internal/ftrfork.h | 196 + .../freetype/include/freetype/internal/ftserv.h | 328 + .../freetype/include/freetype/internal/ftstream.h | 539 + .../freetype/include/freetype/internal/fttrace.h | 134 + .../freetype/include/freetype/internal/ftvalid.h | 150 + .../freetype/include/freetype/internal/internal.h | 50 + .../freetype/include/freetype/internal/pcftypes.h | 56 + .../freetype/include/freetype/internal/psaux.h | 871 + .../freetype/include/freetype/internal/pshints.h | 687 + .../include/freetype/internal/services/svbdf.h | 57 + .../include/freetype/internal/services/svcid.h | 49 + .../include/freetype/internal/services/svgldict.h | 60 + .../include/freetype/internal/services/svgxval.h | 72 + .../include/freetype/internal/services/svkern.h | 51 + .../include/freetype/internal/services/svmm.h | 79 + .../include/freetype/internal/services/svotval.h | 55 + .../include/freetype/internal/services/svpfr.h | 66 + .../include/freetype/internal/services/svpostnm.h | 58 + .../include/freetype/internal/services/svpscmap.h | 129 + .../include/freetype/internal/services/svpsinfo.h | 60 + .../include/freetype/internal/services/svsfnt.h | 80 + .../include/freetype/internal/services/svttcmap.h | 78 + .../include/freetype/internal/services/svtteng.h | 53 + .../include/freetype/internal/services/svttglyf.h | 48 + .../include/freetype/internal/services/svwinfnt.h | 50 + .../include/freetype/internal/services/svxf86nm.h | 55 + .../freetype/include/freetype/internal/sfnt.h | 762 + .../freetype/include/freetype/internal/t1types.h | 252 + .../freetype/include/freetype/internal/tttypes.h | 1543 + src/3rdparty/freetype/include/freetype/t1tables.h | 504 + src/3rdparty/freetype/include/freetype/ttnameid.h | 1146 + src/3rdparty/freetype/include/freetype/tttables.h | 756 + src/3rdparty/freetype/include/freetype/tttags.h | 100 + src/3rdparty/freetype/include/freetype/ttunpat.h | 59 + src/3rdparty/freetype/include/ft2build.h | 39 + src/3rdparty/freetype/modules.cfg | 245 + src/3rdparty/freetype/objs/README | 2 + src/3rdparty/freetype/src/Jamfile | 25 + src/3rdparty/freetype/src/autofit/Jamfile | 39 + src/3rdparty/freetype/src/autofit/afangles.c | 292 + src/3rdparty/freetype/src/autofit/afangles.h | 7 + src/3rdparty/freetype/src/autofit/afcjk.c | 1508 + src/3rdparty/freetype/src/autofit/afcjk.h | 58 + src/3rdparty/freetype/src/autofit/afdummy.c | 62 + src/3rdparty/freetype/src/autofit/afdummy.h | 43 + src/3rdparty/freetype/src/autofit/aferrors.h | 40 + src/3rdparty/freetype/src/autofit/afglobal.c | 289 + src/3rdparty/freetype/src/autofit/afglobal.h | 67 + src/3rdparty/freetype/src/autofit/afhints.c | 1264 + src/3rdparty/freetype/src/autofit/afhints.h | 333 + src/3rdparty/freetype/src/autofit/afindic.c | 134 + src/3rdparty/freetype/src/autofit/afindic.h | 41 + src/3rdparty/freetype/src/autofit/aflatin.c | 2168 + src/3rdparty/freetype/src/autofit/aflatin.h | 209 + src/3rdparty/freetype/src/autofit/aflatin2.c | 2286 + src/3rdparty/freetype/src/autofit/aflatin2.h | 40 + src/3rdparty/freetype/src/autofit/afloader.c | 535 + src/3rdparty/freetype/src/autofit/afloader.h | 73 + src/3rdparty/freetype/src/autofit/afmodule.c | 97 + src/3rdparty/freetype/src/autofit/afmodule.h | 37 + src/3rdparty/freetype/src/autofit/aftypes.h | 349 + src/3rdparty/freetype/src/autofit/afwarp.c | 338 + src/3rdparty/freetype/src/autofit/afwarp.h | 64 + src/3rdparty/freetype/src/autofit/autofit.c | 40 + src/3rdparty/freetype/src/autofit/module.mk | 23 + src/3rdparty/freetype/src/autofit/rules.mk | 78 + src/3rdparty/freetype/src/base/Jamfile | 50 + src/3rdparty/freetype/src/base/ftapi.c | 121 + src/3rdparty/freetype/src/base/ftbase.c | 38 + src/3rdparty/freetype/src/base/ftbbox.c | 659 + src/3rdparty/freetype/src/base/ftbdf.c | 88 + src/3rdparty/freetype/src/base/ftbitmap.c | 630 + src/3rdparty/freetype/src/base/ftcalc.c | 873 + src/3rdparty/freetype/src/base/ftcid.c | 63 + src/3rdparty/freetype/src/base/ftdbgmem.c | 998 + src/3rdparty/freetype/src/base/ftdebug.c | 246 + src/3rdparty/freetype/src/base/ftgasp.c | 61 + src/3rdparty/freetype/src/base/ftgloadr.c | 394 + src/3rdparty/freetype/src/base/ftglyph.c | 688 + src/3rdparty/freetype/src/base/ftgxval.c | 129 + src/3rdparty/freetype/src/base/ftinit.c | 163 + src/3rdparty/freetype/src/base/ftlcdfil.c | 351 + src/3rdparty/freetype/src/base/ftmac.c | 1130 + src/3rdparty/freetype/src/base/ftmm.c | 202 + src/3rdparty/freetype/src/base/ftnames.c | 94 + src/3rdparty/freetype/src/base/ftobjs.c | 4198 + src/3rdparty/freetype/src/base/ftotval.c | 83 + src/3rdparty/freetype/src/base/ftoutln.c | 1090 + src/3rdparty/freetype/src/base/ftpatent.c | 281 + src/3rdparty/freetype/src/base/ftpfr.c | 132 + src/3rdparty/freetype/src/base/ftrfork.c | 811 + src/3rdparty/freetype/src/base/ftstream.c | 845 + src/3rdparty/freetype/src/base/ftstroke.c | 2010 + src/3rdparty/freetype/src/base/ftsynth.c | 159 + src/3rdparty/freetype/src/base/ftsystem.c | 301 + src/3rdparty/freetype/src/base/fttrigon.c | 546 + src/3rdparty/freetype/src/base/fttype1.c | 94 + src/3rdparty/freetype/src/base/ftutil.c | 501 + src/3rdparty/freetype/src/base/ftwinfnt.c | 51 + src/3rdparty/freetype/src/base/ftxf86.c | 40 + src/3rdparty/freetype/src/base/rules.mk | 90 + src/3rdparty/freetype/src/bdf/Jamfile | 29 + src/3rdparty/freetype/src/bdf/README | 148 + src/3rdparty/freetype/src/bdf/bdf.c | 34 + src/3rdparty/freetype/src/bdf/bdf.h | 295 + src/3rdparty/freetype/src/bdf/bdfdrivr.c | 850 + src/3rdparty/freetype/src/bdf/bdfdrivr.h | 76 + src/3rdparty/freetype/src/bdf/bdferror.h | 44 + src/3rdparty/freetype/src/bdf/bdflib.c | 2472 + src/3rdparty/freetype/src/bdf/module.mk | 34 + src/3rdparty/freetype/src/bdf/rules.mk | 80 + src/3rdparty/freetype/src/cache/Jamfile | 43 + src/3rdparty/freetype/src/cache/ftcache.c | 31 + src/3rdparty/freetype/src/cache/ftcbasic.c | 811 + src/3rdparty/freetype/src/cache/ftccache.c | 592 + src/3rdparty/freetype/src/cache/ftccache.h | 317 + src/3rdparty/freetype/src/cache/ftccback.h | 90 + src/3rdparty/freetype/src/cache/ftccmap.c | 413 + src/3rdparty/freetype/src/cache/ftcerror.h | 40 + src/3rdparty/freetype/src/cache/ftcglyph.c | 211 + src/3rdparty/freetype/src/cache/ftcglyph.h | 322 + src/3rdparty/freetype/src/cache/ftcimage.c | 163 + src/3rdparty/freetype/src/cache/ftcimage.h | 107 + src/3rdparty/freetype/src/cache/ftcmanag.c | 732 + src/3rdparty/freetype/src/cache/ftcmanag.h | 175 + src/3rdparty/freetype/src/cache/ftcmru.c | 357 + src/3rdparty/freetype/src/cache/ftcmru.h | 247 + src/3rdparty/freetype/src/cache/ftcsbits.c | 401 + src/3rdparty/freetype/src/cache/ftcsbits.h | 98 + src/3rdparty/freetype/src/cache/rules.mk | 78 + src/3rdparty/freetype/src/cff/Jamfile | 29 + src/3rdparty/freetype/src/cff/cff.c | 29 + src/3rdparty/freetype/src/cff/cffcmap.c | 224 + src/3rdparty/freetype/src/cff/cffcmap.h | 69 + src/3rdparty/freetype/src/cff/cffdrivr.c | 585 + src/3rdparty/freetype/src/cff/cffdrivr.h | 39 + src/3rdparty/freetype/src/cff/cfferrs.h | 41 + src/3rdparty/freetype/src/cff/cffgload.c | 2701 + src/3rdparty/freetype/src/cff/cffgload.h | 202 + src/3rdparty/freetype/src/cff/cffload.c | 1605 + src/3rdparty/freetype/src/cff/cffload.h | 79 + src/3rdparty/freetype/src/cff/cffobjs.c | 962 + src/3rdparty/freetype/src/cff/cffobjs.h | 181 + src/3rdparty/freetype/src/cff/cffparse.c | 843 + src/3rdparty/freetype/src/cff/cffparse.h | 69 + src/3rdparty/freetype/src/cff/cfftoken.h | 97 + src/3rdparty/freetype/src/cff/cfftypes.h | 274 + src/3rdparty/freetype/src/cff/module.mk | 23 + src/3rdparty/freetype/src/cff/rules.mk | 72 + src/3rdparty/freetype/src/cid/Jamfile | 29 + src/3rdparty/freetype/src/cid/ciderrs.h | 40 + src/3rdparty/freetype/src/cid/cidgload.c | 433 + src/3rdparty/freetype/src/cid/cidgload.h | 51 + src/3rdparty/freetype/src/cid/cidload.c | 644 + src/3rdparty/freetype/src/cid/cidload.h | 53 + src/3rdparty/freetype/src/cid/cidobjs.c | 480 + src/3rdparty/freetype/src/cid/cidobjs.h | 154 + src/3rdparty/freetype/src/cid/cidparse.c | 226 + src/3rdparty/freetype/src/cid/cidparse.h | 123 + src/3rdparty/freetype/src/cid/cidriver.c | 198 + src/3rdparty/freetype/src/cid/cidriver.h | 39 + src/3rdparty/freetype/src/cid/cidtoken.h | 103 + src/3rdparty/freetype/src/cid/module.mk | 23 + src/3rdparty/freetype/src/cid/rules.mk | 70 + src/3rdparty/freetype/src/cid/type1cid.c | 29 + src/3rdparty/freetype/src/gxvalid/Jamfile | 33 + src/3rdparty/freetype/src/gxvalid/README | 532 + src/3rdparty/freetype/src/gxvalid/gxvalid.c | 46 + src/3rdparty/freetype/src/gxvalid/gxvalid.h | 107 + src/3rdparty/freetype/src/gxvalid/gxvbsln.c | 333 + src/3rdparty/freetype/src/gxvalid/gxvcommn.c | 1758 + src/3rdparty/freetype/src/gxvalid/gxvcommn.h | 560 + src/3rdparty/freetype/src/gxvalid/gxverror.h | 51 + src/3rdparty/freetype/src/gxvalid/gxvfeat.c | 344 + src/3rdparty/freetype/src/gxvalid/gxvfeat.h | 172 + src/3rdparty/freetype/src/gxvalid/gxvfgen.c | 482 + src/3rdparty/freetype/src/gxvalid/gxvjust.c | 630 + src/3rdparty/freetype/src/gxvalid/gxvkern.c | 876 + src/3rdparty/freetype/src/gxvalid/gxvlcar.c | 223 + src/3rdparty/freetype/src/gxvalid/gxvmod.c | 285 + src/3rdparty/freetype/src/gxvalid/gxvmod.h | 46 + src/3rdparty/freetype/src/gxvalid/gxvmort.c | 285 + src/3rdparty/freetype/src/gxvalid/gxvmort.h | 93 + src/3rdparty/freetype/src/gxvalid/gxvmort0.c | 137 + src/3rdparty/freetype/src/gxvalid/gxvmort1.c | 258 + src/3rdparty/freetype/src/gxvalid/gxvmort2.c | 282 + src/3rdparty/freetype/src/gxvalid/gxvmort4.c | 125 + src/3rdparty/freetype/src/gxvalid/gxvmort5.c | 226 + src/3rdparty/freetype/src/gxvalid/gxvmorx.c | 183 + src/3rdparty/freetype/src/gxvalid/gxvmorx.h | 67 + src/3rdparty/freetype/src/gxvalid/gxvmorx0.c | 103 + src/3rdparty/freetype/src/gxvalid/gxvmorx1.c | 274 + src/3rdparty/freetype/src/gxvalid/gxvmorx2.c | 285 + src/3rdparty/freetype/src/gxvalid/gxvmorx4.c | 55 + src/3rdparty/freetype/src/gxvalid/gxvmorx5.c | 217 + src/3rdparty/freetype/src/gxvalid/gxvopbd.c | 217 + src/3rdparty/freetype/src/gxvalid/gxvprop.c | 301 + src/3rdparty/freetype/src/gxvalid/gxvtrak.c | 277 + src/3rdparty/freetype/src/gxvalid/module.mk | 23 + src/3rdparty/freetype/src/gxvalid/rules.mk | 94 + src/3rdparty/freetype/src/gzip/Jamfile | 16 + src/3rdparty/freetype/src/gzip/adler32.c | 48 + src/3rdparty/freetype/src/gzip/ftgzip.c | 682 + src/3rdparty/freetype/src/gzip/infblock.c | 387 + src/3rdparty/freetype/src/gzip/infblock.h | 36 + src/3rdparty/freetype/src/gzip/infcodes.c | 250 + src/3rdparty/freetype/src/gzip/infcodes.h | 31 + src/3rdparty/freetype/src/gzip/inffixed.h | 151 + src/3rdparty/freetype/src/gzip/inflate.c | 273 + src/3rdparty/freetype/src/gzip/inftrees.c | 465 + src/3rdparty/freetype/src/gzip/inftrees.h | 63 + src/3rdparty/freetype/src/gzip/infutil.c | 86 + src/3rdparty/freetype/src/gzip/infutil.h | 98 + src/3rdparty/freetype/src/gzip/rules.mk | 75 + src/3rdparty/freetype/src/gzip/zconf.h | 278 + src/3rdparty/freetype/src/gzip/zlib.h | 830 + src/3rdparty/freetype/src/gzip/zutil.c | 181 + src/3rdparty/freetype/src/gzip/zutil.h | 215 + src/3rdparty/freetype/src/lzw/Jamfile | 16 + src/3rdparty/freetype/src/lzw/ftlzw.c | 413 + src/3rdparty/freetype/src/lzw/ftzopen.c | 398 + src/3rdparty/freetype/src/lzw/ftzopen.h | 171 + src/3rdparty/freetype/src/lzw/rules.mk | 70 + src/3rdparty/freetype/src/otvalid/Jamfile | 29 + src/3rdparty/freetype/src/otvalid/module.mk | 23 + src/3rdparty/freetype/src/otvalid/otvalid.c | 31 + src/3rdparty/freetype/src/otvalid/otvalid.h | 77 + src/3rdparty/freetype/src/otvalid/otvbase.c | 318 + src/3rdparty/freetype/src/otvalid/otvcommn.c | 1086 + src/3rdparty/freetype/src/otvalid/otvcommn.h | 437 + src/3rdparty/freetype/src/otvalid/otverror.h | 43 + src/3rdparty/freetype/src/otvalid/otvgdef.c | 219 + src/3rdparty/freetype/src/otvalid/otvgpos.c | 1013 + src/3rdparty/freetype/src/otvalid/otvgpos.h | 36 + src/3rdparty/freetype/src/otvalid/otvgsub.c | 584 + src/3rdparty/freetype/src/otvalid/otvjstf.c | 258 + src/3rdparty/freetype/src/otvalid/otvmath.c | 450 + src/3rdparty/freetype/src/otvalid/otvmod.c | 267 + src/3rdparty/freetype/src/otvalid/otvmod.h | 39 + src/3rdparty/freetype/src/otvalid/rules.mk | 78 + src/3rdparty/freetype/src/pcf/Jamfile | 29 + src/3rdparty/freetype/src/pcf/README | 114 + src/3rdparty/freetype/src/pcf/module.mk | 34 + src/3rdparty/freetype/src/pcf/pcf.c | 36 + src/3rdparty/freetype/src/pcf/pcf.h | 237 + src/3rdparty/freetype/src/pcf/pcfdrivr.c | 674 + src/3rdparty/freetype/src/pcf/pcfdrivr.h | 44 + src/3rdparty/freetype/src/pcf/pcferror.h | 40 + src/3rdparty/freetype/src/pcf/pcfread.c | 1267 + src/3rdparty/freetype/src/pcf/pcfread.h | 45 + src/3rdparty/freetype/src/pcf/pcfutil.c | 104 + src/3rdparty/freetype/src/pcf/pcfutil.h | 55 + src/3rdparty/freetype/src/pcf/rules.mk | 80 + src/3rdparty/freetype/src/pfr/Jamfile | 29 + src/3rdparty/freetype/src/pfr/module.mk | 23 + src/3rdparty/freetype/src/pfr/pfr.c | 29 + src/3rdparty/freetype/src/pfr/pfrcmap.c | 167 + src/3rdparty/freetype/src/pfr/pfrcmap.h | 46 + src/3rdparty/freetype/src/pfr/pfrdrivr.c | 207 + src/3rdparty/freetype/src/pfr/pfrdrivr.h | 39 + src/3rdparty/freetype/src/pfr/pfrerror.h | 40 + src/3rdparty/freetype/src/pfr/pfrgload.c | 828 + src/3rdparty/freetype/src/pfr/pfrgload.h | 49 + src/3rdparty/freetype/src/pfr/pfrload.c | 938 + src/3rdparty/freetype/src/pfr/pfrload.h | 118 + src/3rdparty/freetype/src/pfr/pfrobjs.c | 576 + src/3rdparty/freetype/src/pfr/pfrobjs.h | 96 + src/3rdparty/freetype/src/pfr/pfrsbit.c | 680 + src/3rdparty/freetype/src/pfr/pfrsbit.h | 36 + src/3rdparty/freetype/src/pfr/pfrtypes.h | 362 + src/3rdparty/freetype/src/pfr/rules.mk | 73 + src/3rdparty/freetype/src/psaux/Jamfile | 31 + src/3rdparty/freetype/src/psaux/afmparse.c | 960 + src/3rdparty/freetype/src/psaux/afmparse.h | 87 + src/3rdparty/freetype/src/psaux/module.mk | 23 + src/3rdparty/freetype/src/psaux/psaux.c | 34 + src/3rdparty/freetype/src/psaux/psauxerr.h | 41 + src/3rdparty/freetype/src/psaux/psauxmod.c | 139 + src/3rdparty/freetype/src/psaux/psauxmod.h | 38 + src/3rdparty/freetype/src/psaux/psconv.c | 474 + src/3rdparty/freetype/src/psaux/psconv.h | 71 + src/3rdparty/freetype/src/psaux/psobjs.c | 1692 + src/3rdparty/freetype/src/psaux/psobjs.h | 212 + src/3rdparty/freetype/src/psaux/rules.mk | 73 + src/3rdparty/freetype/src/psaux/t1cmap.c | 341 + src/3rdparty/freetype/src/psaux/t1cmap.h | 105 + src/3rdparty/freetype/src/psaux/t1decode.c | 1475 + src/3rdparty/freetype/src/psaux/t1decode.h | 64 + src/3rdparty/freetype/src/pshinter/Jamfile | 29 + src/3rdparty/freetype/src/pshinter/module.mk | 23 + src/3rdparty/freetype/src/pshinter/pshalgo.c | 2302 + src/3rdparty/freetype/src/pshinter/pshalgo.h | 255 + src/3rdparty/freetype/src/pshinter/pshglob.c | 750 + src/3rdparty/freetype/src/pshinter/pshglob.h | 196 + src/3rdparty/freetype/src/pshinter/pshinter.c | 28 + src/3rdparty/freetype/src/pshinter/pshmod.c | 121 + src/3rdparty/freetype/src/pshinter/pshmod.h | 39 + src/3rdparty/freetype/src/pshinter/pshnterr.h | 40 + src/3rdparty/freetype/src/pshinter/pshrec.c | 1215 + src/3rdparty/freetype/src/pshinter/pshrec.h | 176 + src/3rdparty/freetype/src/pshinter/rules.mk | 72 + src/3rdparty/freetype/src/psnames/Jamfile | 29 + src/3rdparty/freetype/src/psnames/module.mk | 23 + src/3rdparty/freetype/src/psnames/psmodule.c | 565 + src/3rdparty/freetype/src/psnames/psmodule.h | 38 + src/3rdparty/freetype/src/psnames/psnamerr.h | 41 + src/3rdparty/freetype/src/psnames/psnames.c | 25 + src/3rdparty/freetype/src/psnames/pstables.h | 4090 + src/3rdparty/freetype/src/psnames/rules.mk | 70 + src/3rdparty/freetype/src/raster/Jamfile | 29 + src/3rdparty/freetype/src/raster/ftmisc.h | 83 + src/3rdparty/freetype/src/raster/ftraster.c | 3382 + src/3rdparty/freetype/src/raster/ftraster.h | 46 + src/3rdparty/freetype/src/raster/ftrend1.c | 273 + src/3rdparty/freetype/src/raster/ftrend1.h | 44 + src/3rdparty/freetype/src/raster/module.mk | 23 + src/3rdparty/freetype/src/raster/raster.c | 26 + src/3rdparty/freetype/src/raster/rasterrs.h | 41 + src/3rdparty/freetype/src/raster/rules.mk | 69 + src/3rdparty/freetype/src/sfnt/Jamfile | 29 + src/3rdparty/freetype/src/sfnt/module.mk | 23 + src/3rdparty/freetype/src/sfnt/rules.mk | 76 + src/3rdparty/freetype/src/sfnt/sfdriver.c | 618 + src/3rdparty/freetype/src/sfnt/sfdriver.h | 38 + src/3rdparty/freetype/src/sfnt/sferrors.h | 41 + src/3rdparty/freetype/src/sfnt/sfnt.c | 41 + src/3rdparty/freetype/src/sfnt/sfobjs.c | 1116 + src/3rdparty/freetype/src/sfnt/sfobjs.h | 54 + src/3rdparty/freetype/src/sfnt/ttbdf.c | 250 + src/3rdparty/freetype/src/sfnt/ttbdf.h | 46 + src/3rdparty/freetype/src/sfnt/ttcmap.c | 3123 + src/3rdparty/freetype/src/sfnt/ttcmap.h | 85 + src/3rdparty/freetype/src/sfnt/ttkern.c | 292 + src/3rdparty/freetype/src/sfnt/ttkern.h | 52 + src/3rdparty/freetype/src/sfnt/ttload.c | 1185 + src/3rdparty/freetype/src/sfnt/ttload.h | 112 + src/3rdparty/freetype/src/sfnt/ttmtx.c | 466 + src/3rdparty/freetype/src/sfnt/ttmtx.h | 55 + src/3rdparty/freetype/src/sfnt/ttpost.c | 521 + src/3rdparty/freetype/src/sfnt/ttpost.h | 46 + src/3rdparty/freetype/src/sfnt/ttsbit.c | 1502 + src/3rdparty/freetype/src/sfnt/ttsbit.h | 79 + src/3rdparty/freetype/src/sfnt/ttsbit0.c | 996 + src/3rdparty/freetype/src/smooth/Jamfile | 29 + src/3rdparty/freetype/src/smooth/ftgrays.c | 1986 + src/3rdparty/freetype/src/smooth/ftgrays.h | 57 + src/3rdparty/freetype/src/smooth/ftsmerrs.h | 41 + src/3rdparty/freetype/src/smooth/ftsmooth.c | 467 + src/3rdparty/freetype/src/smooth/ftsmooth.h | 49 + src/3rdparty/freetype/src/smooth/module.mk | 27 + src/3rdparty/freetype/src/smooth/rules.mk | 69 + src/3rdparty/freetype/src/smooth/smooth.c | 26 + src/3rdparty/freetype/src/tools/Jamfile | 5 + src/3rdparty/freetype/src/tools/apinames.c | 443 + src/3rdparty/freetype/src/tools/cordic.py | 79 + .../freetype/src/tools/docmaker/content.py | 582 + .../freetype/src/tools/docmaker/docbeauty.py | 113 + .../freetype/src/tools/docmaker/docmaker.py | 106 + .../freetype/src/tools/docmaker/formatter.py | 188 + .../freetype/src/tools/docmaker/sources.py | 347 + src/3rdparty/freetype/src/tools/docmaker/tohtml.py | 527 + src/3rdparty/freetype/src/tools/docmaker/utils.py | 132 + src/3rdparty/freetype/src/tools/ftrandom/Makefile | 35 + src/3rdparty/freetype/src/tools/ftrandom/README | 48 + .../freetype/src/tools/ftrandom/ftrandom.c | 659 + src/3rdparty/freetype/src/tools/glnames.py | 5282 ++ src/3rdparty/freetype/src/tools/test_afm.c | 157 + src/3rdparty/freetype/src/tools/test_bbox.c | 160 + src/3rdparty/freetype/src/tools/test_trig.c | 236 + src/3rdparty/freetype/src/truetype/Jamfile | 29 + src/3rdparty/freetype/src/truetype/module.mk | 23 + src/3rdparty/freetype/src/truetype/rules.mk | 72 + src/3rdparty/freetype/src/truetype/truetype.c | 36 + src/3rdparty/freetype/src/truetype/ttdriver.c | 418 + src/3rdparty/freetype/src/truetype/ttdriver.h | 38 + src/3rdparty/freetype/src/truetype/tterrors.h | 40 + src/3rdparty/freetype/src/truetype/ttgload.c | 1976 + src/3rdparty/freetype/src/truetype/ttgload.h | 49 + src/3rdparty/freetype/src/truetype/ttgxvar.c | 1539 + src/3rdparty/freetype/src/truetype/ttgxvar.h | 182 + src/3rdparty/freetype/src/truetype/ttinterp.c | 7837 ++ src/3rdparty/freetype/src/truetype/ttinterp.h | 311 + src/3rdparty/freetype/src/truetype/ttobjs.c | 943 + src/3rdparty/freetype/src/truetype/ttobjs.h | 459 + src/3rdparty/freetype/src/truetype/ttpload.c | 523 + src/3rdparty/freetype/src/truetype/ttpload.h | 75 + src/3rdparty/freetype/src/type1/Jamfile | 29 + src/3rdparty/freetype/src/type1/module.mk | 23 + src/3rdparty/freetype/src/type1/rules.mk | 73 + src/3rdparty/freetype/src/type1/t1afm.c | 385 + src/3rdparty/freetype/src/type1/t1afm.h | 54 + src/3rdparty/freetype/src/type1/t1driver.c | 313 + src/3rdparty/freetype/src/type1/t1driver.h | 38 + src/3rdparty/freetype/src/type1/t1errors.h | 40 + src/3rdparty/freetype/src/type1/t1gload.c | 422 + src/3rdparty/freetype/src/type1/t1gload.h | 46 + src/3rdparty/freetype/src/type1/t1load.c | 2233 + src/3rdparty/freetype/src/type1/t1load.h | 102 + src/3rdparty/freetype/src/type1/t1objs.c | 568 + src/3rdparty/freetype/src/type1/t1objs.h | 171 + src/3rdparty/freetype/src/type1/t1parse.c | 484 + src/3rdparty/freetype/src/type1/t1parse.h | 135 + src/3rdparty/freetype/src/type1/t1tokens.h | 134 + src/3rdparty/freetype/src/type1/type1.c | 33 + src/3rdparty/freetype/src/type42/Jamfile | 29 + src/3rdparty/freetype/src/type42/module.mk | 23 + src/3rdparty/freetype/src/type42/rules.mk | 69 + src/3rdparty/freetype/src/type42/t42drivr.c | 232 + src/3rdparty/freetype/src/type42/t42drivr.h | 38 + src/3rdparty/freetype/src/type42/t42error.h | 40 + src/3rdparty/freetype/src/type42/t42objs.c | 647 + src/3rdparty/freetype/src/type42/t42objs.h | 124 + src/3rdparty/freetype/src/type42/t42parse.c | 1167 + src/3rdparty/freetype/src/type42/t42parse.h | 90 + src/3rdparty/freetype/src/type42/t42types.h | 54 + src/3rdparty/freetype/src/type42/type42.c | 25 + src/3rdparty/freetype/src/winfonts/Jamfile | 16 + src/3rdparty/freetype/src/winfonts/fnterrs.h | 41 + src/3rdparty/freetype/src/winfonts/module.mk | 23 + src/3rdparty/freetype/src/winfonts/rules.mk | 65 + src/3rdparty/freetype/src/winfonts/winfnt.c | 1130 + src/3rdparty/freetype/src/winfonts/winfnt.h | 167 + src/3rdparty/freetype/version.sed | 5 + src/3rdparty/freetype/vms_make.com | 1286 + src/3rdparty/harfbuzz/.gitignore | 20 + src/3rdparty/harfbuzz/AUTHORS | 6 + src/3rdparty/harfbuzz/COPYING | 24 + src/3rdparty/harfbuzz/ChangeLog | 0 src/3rdparty/harfbuzz/Makefile.am | 2 + src/3rdparty/harfbuzz/NEWS | 0 src/3rdparty/harfbuzz/README | 7 + src/3rdparty/harfbuzz/autogen.sh | 116 + src/3rdparty/harfbuzz/configure.ac | 54 + src/3rdparty/harfbuzz/src/.gitignore | 7 + src/3rdparty/harfbuzz/src/Makefile.am | 68 + src/3rdparty/harfbuzz/src/harfbuzz-arabic.c | 1090 + .../harfbuzz/src/harfbuzz-buffer-private.h | 107 + src/3rdparty/harfbuzz/src/harfbuzz-buffer.c | 383 + src/3rdparty/harfbuzz/src/harfbuzz-buffer.h | 94 + src/3rdparty/harfbuzz/src/harfbuzz-dump-main.c | 97 + src/3rdparty/harfbuzz/src/harfbuzz-dump.c | 765 + src/3rdparty/harfbuzz/src/harfbuzz-dump.h | 41 + src/3rdparty/harfbuzz/src/harfbuzz-external.h | 157 + src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h | 124 + src/3rdparty/harfbuzz/src/harfbuzz-gdef.c | 1159 + src/3rdparty/harfbuzz/src/harfbuzz-gdef.h | 135 + src/3rdparty/harfbuzz/src/harfbuzz-global.h | 118 + src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h | 712 + src/3rdparty/harfbuzz/src/harfbuzz-gpos.c | 6053 ++ src/3rdparty/harfbuzz/src/harfbuzz-gpos.h | 149 + src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h | 476 + src/3rdparty/harfbuzz/src/harfbuzz-gsub.c | 4329 + src/3rdparty/harfbuzz/src/harfbuzz-gsub.h | 141 + src/3rdparty/harfbuzz/src/harfbuzz-hangul.c | 268 + src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c | 188 + src/3rdparty/harfbuzz/src/harfbuzz-impl.c | 84 + src/3rdparty/harfbuzz/src/harfbuzz-impl.h | 131 + src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp | 1852 + src/3rdparty/harfbuzz/src/harfbuzz-khmer.c | 667 + src/3rdparty/harfbuzz/src/harfbuzz-myanmar.c | 542 + src/3rdparty/harfbuzz/src/harfbuzz-open-private.h | 102 + src/3rdparty/harfbuzz/src/harfbuzz-open.c | 1414 + src/3rdparty/harfbuzz/src/harfbuzz-open.h | 282 + src/3rdparty/harfbuzz/src/harfbuzz-shape.h | 199 + src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp | 36 + .../harfbuzz/src/harfbuzz-shaper-private.h | 167 + src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp | 1312 + src/3rdparty/harfbuzz/src/harfbuzz-shaper.h | 271 + .../harfbuzz/src/harfbuzz-stream-private.h | 81 + src/3rdparty/harfbuzz/src/harfbuzz-stream.c | 114 + src/3rdparty/harfbuzz/src/harfbuzz-stream.h | 45 + src/3rdparty/harfbuzz/src/harfbuzz-thai.c | 87 + src/3rdparty/harfbuzz/src/harfbuzz-tibetan.c | 274 + src/3rdparty/harfbuzz/src/harfbuzz.c | 32 + src/3rdparty/harfbuzz/src/harfbuzz.h | 38 + src/3rdparty/harfbuzz/tests/Makefile.am | 7 + .../harfbuzz/tests/linebreaking/.gitignore | 4 + .../harfbuzz/tests/linebreaking/Makefile.am | 12 + .../harfbuzz/tests/linebreaking/harfbuzz-qt.cpp | 108 + src/3rdparty/harfbuzz/tests/linebreaking/main.cpp | 230 + src/3rdparty/harfbuzz/tests/shaping/.gitignore | 2 + src/3rdparty/harfbuzz/tests/shaping/Makefile.am | 14 + src/3rdparty/harfbuzz/tests/shaping/README | 9 + src/3rdparty/harfbuzz/tests/shaping/main.cpp | 1035 + src/3rdparty/libjpeg/README | 385 + src/3rdparty/libjpeg/change.log | 217 + src/3rdparty/libjpeg/coderules.doc | 118 + src/3rdparty/libjpeg/filelist.doc | 210 + src/3rdparty/libjpeg/install.doc | 1063 + src/3rdparty/libjpeg/jcapimin.c | 280 + src/3rdparty/libjpeg/jcapistd.c | 161 + src/3rdparty/libjpeg/jccoefct.c | 449 + src/3rdparty/libjpeg/jccolor.c | 459 + src/3rdparty/libjpeg/jcdctmgr.c | 387 + src/3rdparty/libjpeg/jchuff.c | 909 + src/3rdparty/libjpeg/jchuff.h | 47 + src/3rdparty/libjpeg/jcinit.c | 72 + src/3rdparty/libjpeg/jcmainct.c | 293 + src/3rdparty/libjpeg/jcmarker.c | 664 + src/3rdparty/libjpeg/jcmaster.c | 590 + src/3rdparty/libjpeg/jcomapi.c | 106 + src/3rdparty/libjpeg/jconfig.bcc | 48 + src/3rdparty/libjpeg/jconfig.cfg | 44 + src/3rdparty/libjpeg/jconfig.dj | 38 + src/3rdparty/libjpeg/jconfig.doc | 155 + src/3rdparty/libjpeg/jconfig.h | 47 + src/3rdparty/libjpeg/jconfig.mac | 43 + src/3rdparty/libjpeg/jconfig.manx | 43 + src/3rdparty/libjpeg/jconfig.mc6 | 52 + src/3rdparty/libjpeg/jconfig.sas | 43 + src/3rdparty/libjpeg/jconfig.st | 42 + src/3rdparty/libjpeg/jconfig.vc | 45 + src/3rdparty/libjpeg/jconfig.vms | 37 + src/3rdparty/libjpeg/jconfig.wat | 38 + src/3rdparty/libjpeg/jcparam.c | 610 + src/3rdparty/libjpeg/jcphuff.c | 833 + src/3rdparty/libjpeg/jcprepct.c | 354 + src/3rdparty/libjpeg/jcsample.c | 519 + src/3rdparty/libjpeg/jctrans.c | 388 + src/3rdparty/libjpeg/jdapimin.c | 395 + src/3rdparty/libjpeg/jdapistd.c | 275 + src/3rdparty/libjpeg/jdatadst.c | 151 + src/3rdparty/libjpeg/jdatasrc.c | 212 + src/3rdparty/libjpeg/jdcoefct.c | 736 + src/3rdparty/libjpeg/jdcolor.c | 396 + src/3rdparty/libjpeg/jdct.h | 176 + src/3rdparty/libjpeg/jddctmgr.c | 269 + src/3rdparty/libjpeg/jdhuff.c | 651 + src/3rdparty/libjpeg/jdhuff.h | 201 + src/3rdparty/libjpeg/jdinput.c | 381 + src/3rdparty/libjpeg/jdmainct.c | 512 + src/3rdparty/libjpeg/jdmarker.c | 1360 + src/3rdparty/libjpeg/jdmaster.c | 557 + src/3rdparty/libjpeg/jdmerge.c | 400 + src/3rdparty/libjpeg/jdphuff.c | 668 + src/3rdparty/libjpeg/jdpostct.c | 290 + src/3rdparty/libjpeg/jdsample.c | 478 + src/3rdparty/libjpeg/jdtrans.c | 143 + src/3rdparty/libjpeg/jerror.c | 252 + src/3rdparty/libjpeg/jerror.h | 291 + src/3rdparty/libjpeg/jfdctflt.c | 168 + src/3rdparty/libjpeg/jfdctfst.c | 224 + src/3rdparty/libjpeg/jfdctint.c | 283 + src/3rdparty/libjpeg/jidctflt.c | 242 + src/3rdparty/libjpeg/jidctfst.c | 368 + src/3rdparty/libjpeg/jidctint.c | 389 + src/3rdparty/libjpeg/jidctred.c | 398 + src/3rdparty/libjpeg/jinclude.h | 91 + src/3rdparty/libjpeg/jmemmgr.c | 1118 + src/3rdparty/libjpeg/jmemnobs.c | 109 + src/3rdparty/libjpeg/jmemsys.h | 198 + src/3rdparty/libjpeg/jmorecfg.h | 363 + src/3rdparty/libjpeg/jpegint.h | 392 + src/3rdparty/libjpeg/jpeglib.h | 1096 + src/3rdparty/libjpeg/jquant1.c | 856 + src/3rdparty/libjpeg/jquant2.c | 1310 + src/3rdparty/libjpeg/jutils.c | 179 + src/3rdparty/libjpeg/jversion.h | 14 + src/3rdparty/libjpeg/libjpeg.doc | 3006 + src/3rdparty/libjpeg/makefile.ansi | 214 + src/3rdparty/libjpeg/makefile.bcc | 285 + src/3rdparty/libjpeg/makefile.cfg | 319 + src/3rdparty/libjpeg/makefile.dj | 220 + src/3rdparty/libjpeg/makefile.manx | 214 + src/3rdparty/libjpeg/makefile.mc6 | 249 + src/3rdparty/libjpeg/makefile.mms | 218 + src/3rdparty/libjpeg/makefile.sas | 252 + src/3rdparty/libjpeg/makefile.unix | 228 + src/3rdparty/libjpeg/makefile.vc | 211 + src/3rdparty/libjpeg/makefile.vms | 142 + src/3rdparty/libjpeg/makefile.wat | 233 + src/3rdparty/libjpeg/structure.doc | 948 + src/3rdparty/libjpeg/usage.doc | 562 + src/3rdparty/libjpeg/wizard.doc | 211 + src/3rdparty/libmng/CHANGES | 1447 + src/3rdparty/libmng/LICENSE | 57 + src/3rdparty/libmng/README | 36 + src/3rdparty/libmng/README.autoconf | 213 + src/3rdparty/libmng/README.config | 104 + src/3rdparty/libmng/README.contrib | 95 + src/3rdparty/libmng/README.dll | 41 + src/3rdparty/libmng/README.examples | 48 + src/3rdparty/libmng/README.footprint | 46 + src/3rdparty/libmng/README.packaging | 24 + src/3rdparty/libmng/doc/Plan1.png | Bin 0 -> 9058 bytes src/3rdparty/libmng/doc/Plan2.png | Bin 0 -> 8849 bytes src/3rdparty/libmng/doc/doc.readme | 19 + src/3rdparty/libmng/doc/libmng.txt | 1107 + src/3rdparty/libmng/doc/man/jng.5 | 37 + src/3rdparty/libmng/doc/man/libmng.3 | 1146 + src/3rdparty/libmng/doc/man/mng.5 | 42 + src/3rdparty/libmng/doc/misc/magic.dif | 30 + .../libmng/doc/rpm/libmng-1.0.10-rhconf.patch | 38 + src/3rdparty/libmng/doc/rpm/libmng.spec | 116 + src/3rdparty/libmng/libmng.h | 2932 + src/3rdparty/libmng/libmng_callback_xs.c | 1239 + src/3rdparty/libmng/libmng_chunk_descr.c | 6090 ++ src/3rdparty/libmng/libmng_chunk_descr.h | 146 + src/3rdparty/libmng/libmng_chunk_io.c | 10740 +++ src/3rdparty/libmng/libmng_chunk_io.h | 415 + src/3rdparty/libmng/libmng_chunk_prc.c | 4452 + src/3rdparty/libmng/libmng_chunk_prc.h | 381 + src/3rdparty/libmng/libmng_chunk_xs.c | 7016 ++ src/3rdparty/libmng/libmng_chunks.h | 1026 + src/3rdparty/libmng/libmng_cms.c | 758 + src/3rdparty/libmng/libmng_cms.h | 92 + src/3rdparty/libmng/libmng_conf.h | 295 + src/3rdparty/libmng/libmng_data.h | 1032 + src/3rdparty/libmng/libmng_display.c | 7140 ++ src/3rdparty/libmng/libmng_display.h | 343 + src/3rdparty/libmng/libmng_dither.c | 58 + src/3rdparty/libmng/libmng_dither.h | 45 + src/3rdparty/libmng/libmng_error.c | 326 + src/3rdparty/libmng/libmng_error.h | 119 + src/3rdparty/libmng/libmng_filter.c | 978 + src/3rdparty/libmng/libmng_filter.h | 69 + src/3rdparty/libmng/libmng_hlapi.c | 3001 + src/3rdparty/libmng/libmng_jpeg.c | 1088 + src/3rdparty/libmng/libmng_jpeg.h | 57 + src/3rdparty/libmng/libmng_memory.h | 64 + src/3rdparty/libmng/libmng_object_prc.c | 6998 ++ src/3rdparty/libmng/libmng_object_prc.h | 690 + src/3rdparty/libmng/libmng_objects.h | 635 + src/3rdparty/libmng/libmng_pixels.c | 24610 ++++++ src/3rdparty/libmng/libmng_pixels.h | 1147 + src/3rdparty/libmng/libmng_prop_xs.c | 2799 + src/3rdparty/libmng/libmng_read.c | 1369 + src/3rdparty/libmng/libmng_read.h | 53 + src/3rdparty/libmng/libmng_trace.c | 1683 + src/3rdparty/libmng/libmng_trace.h | 1474 + src/3rdparty/libmng/libmng_types.h | 574 + src/3rdparty/libmng/libmng_write.c | 198 + src/3rdparty/libmng/libmng_write.h | 49 + src/3rdparty/libmng/libmng_zlib.c | 607 + src/3rdparty/libmng/libmng_zlib.h | 60 + src/3rdparty/libmng/makefiles/Makefile.am | 29 + src/3rdparty/libmng/makefiles/README | 27 + src/3rdparty/libmng/makefiles/configure.in | 193 + src/3rdparty/libmng/makefiles/makefile.bcb3 | 108 + src/3rdparty/libmng/makefiles/makefile.dj | 155 + src/3rdparty/libmng/makefiles/makefile.linux | 180 + src/3rdparty/libmng/makefiles/makefile.mingw | 164 + src/3rdparty/libmng/makefiles/makefile.mingwdll | 158 + src/3rdparty/libmng/makefiles/makefile.qnx | 160 + src/3rdparty/libmng/makefiles/makefile.unix | 67 + src/3rdparty/libmng/makefiles/makefile.vcwin32 | 99 + src/3rdparty/libmng/unmaintained/autogen.sh | 50 + src/3rdparty/libpng/ANNOUNCE | 61 + src/3rdparty/libpng/CHANGES | 2173 + src/3rdparty/libpng/INSTALL | 199 + src/3rdparty/libpng/KNOWNBUG | 22 + src/3rdparty/libpng/LICENSE | 109 + src/3rdparty/libpng/README | 264 + src/3rdparty/libpng/TODO | 24 + src/3rdparty/libpng/Y2KINFO | 55 + src/3rdparty/libpng/configure | 13 + src/3rdparty/libpng/example.c | 814 + src/3rdparty/libpng/libpng-1.2.29.txt | 2906 + src/3rdparty/libpng/libpng.3 | 3680 + src/3rdparty/libpng/libpngpf.3 | 274 + src/3rdparty/libpng/png.5 | 74 + src/3rdparty/libpng/png.c | 798 + src/3rdparty/libpng/png.h | 3569 + src/3rdparty/libpng/pngbar.jpg | Bin 0 -> 2498 bytes src/3rdparty/libpng/pngbar.png | Bin 0 -> 2399 bytes src/3rdparty/libpng/pngconf.h | 1492 + src/3rdparty/libpng/pngerror.c | 343 + src/3rdparty/libpng/pnggccrd.c | 103 + src/3rdparty/libpng/pngget.c | 901 + src/3rdparty/libpng/pngmem.c | 608 + src/3rdparty/libpng/pngnow.png | Bin 0 -> 2069 bytes src/3rdparty/libpng/pngpread.c | 1598 + src/3rdparty/libpng/pngread.c | 1479 + src/3rdparty/libpng/pngrio.c | 167 + src/3rdparty/libpng/pngrtran.c | 4292 + src/3rdparty/libpng/pngrutil.c | 3183 + src/3rdparty/libpng/pngset.c | 1268 + src/3rdparty/libpng/pngtest.c | 1563 + src/3rdparty/libpng/pngtest.png | Bin 0 -> 8574 bytes src/3rdparty/libpng/pngtrans.c | 662 + src/3rdparty/libpng/pngvcrd.c | 1 + src/3rdparty/libpng/pngwio.c | 234 + src/3rdparty/libpng/pngwrite.c | 1532 + src/3rdparty/libpng/pngwtran.c | 572 + src/3rdparty/libpng/pngwutil.c | 2802 + src/3rdparty/libpng/projects/beos/x86-shared.proj | Bin 0 -> 17031 bytes src/3rdparty/libpng/projects/beos/x86-shared.txt | 22 + src/3rdparty/libpng/projects/beos/x86-static.proj | Bin 0 -> 16706 bytes src/3rdparty/libpng/projects/beos/x86-static.txt | 22 + src/3rdparty/libpng/projects/cbuilder5/libpng.bpf | 22 + src/3rdparty/libpng/projects/cbuilder5/libpng.bpg | 25 + src/3rdparty/libpng/projects/cbuilder5/libpng.bpr | 157 + src/3rdparty/libpng/projects/cbuilder5/libpng.cpp | 29 + .../libpng/projects/cbuilder5/libpng.readme.txt | 25 + .../libpng/projects/cbuilder5/libpngstat.bpf | 22 + .../libpng/projects/cbuilder5/libpngstat.bpr | 109 + .../libpng/projects/cbuilder5/zlib.readme.txt | 14 + src/3rdparty/libpng/projects/netware.txt | 6 + src/3rdparty/libpng/projects/visualc6/README.txt | 57 + src/3rdparty/libpng/projects/visualc6/libpng.dsp | 472 + src/3rdparty/libpng/projects/visualc6/libpng.dsw | 59 + src/3rdparty/libpng/projects/visualc6/pngtest.dsp | 314 + src/3rdparty/libpng/projects/visualc71/PRJ0041.mak | 21 + src/3rdparty/libpng/projects/visualc71/README.txt | 57 + .../libpng/projects/visualc71/README_zlib.txt | 44 + src/3rdparty/libpng/projects/visualc71/libpng.sln | 88 + .../libpng/projects/visualc71/libpng.vcproj | 702 + .../libpng/projects/visualc71/pngtest.vcproj | 459 + src/3rdparty/libpng/projects/visualc71/zlib.vcproj | 670 + src/3rdparty/libpng/projects/wince.txt | 6 + src/3rdparty/libpng/scripts/CMakeLists.txt | 210 + src/3rdparty/libpng/scripts/SCOPTIONS.ppc | 7 + src/3rdparty/libpng/scripts/descrip.mms | 52 + src/3rdparty/libpng/scripts/libpng-config-body.in | 96 + src/3rdparty/libpng/scripts/libpng-config-head.in | 21 + src/3rdparty/libpng/scripts/libpng-config.in | 124 + src/3rdparty/libpng/scripts/libpng.icc | 44 + src/3rdparty/libpng/scripts/libpng.pc-configure.in | 10 + src/3rdparty/libpng/scripts/libpng.pc.in | 10 + src/3rdparty/libpng/scripts/makefile.32sunu | 254 + src/3rdparty/libpng/scripts/makefile.64sunu | 254 + src/3rdparty/libpng/scripts/makefile.acorn | 51 + src/3rdparty/libpng/scripts/makefile.aix | 113 + src/3rdparty/libpng/scripts/makefile.amiga | 48 + src/3rdparty/libpng/scripts/makefile.atari | 51 + src/3rdparty/libpng/scripts/makefile.bc32 | 152 + src/3rdparty/libpng/scripts/makefile.beos | 226 + src/3rdparty/libpng/scripts/makefile.bor | 162 + src/3rdparty/libpng/scripts/makefile.cygwin | 299 + src/3rdparty/libpng/scripts/makefile.darwin | 234 + src/3rdparty/libpng/scripts/makefile.dec | 214 + src/3rdparty/libpng/scripts/makefile.dj2 | 55 + src/3rdparty/libpng/scripts/makefile.elf | 275 + src/3rdparty/libpng/scripts/makefile.freebsd | 48 + src/3rdparty/libpng/scripts/makefile.gcc | 79 + src/3rdparty/libpng/scripts/makefile.gcmmx | 271 + src/3rdparty/libpng/scripts/makefile.hp64 | 235 + src/3rdparty/libpng/scripts/makefile.hpgcc | 245 + src/3rdparty/libpng/scripts/makefile.hpux | 232 + src/3rdparty/libpng/scripts/makefile.ibmc | 71 + src/3rdparty/libpng/scripts/makefile.intel | 102 + src/3rdparty/libpng/scripts/makefile.knr | 99 + src/3rdparty/libpng/scripts/makefile.linux | 249 + src/3rdparty/libpng/scripts/makefile.mingw | 289 + src/3rdparty/libpng/scripts/makefile.mips | 83 + src/3rdparty/libpng/scripts/makefile.msc | 86 + src/3rdparty/libpng/scripts/makefile.ne12bsd | 45 + src/3rdparty/libpng/scripts/makefile.netbsd | 45 + src/3rdparty/libpng/scripts/makefile.nommx | 252 + src/3rdparty/libpng/scripts/makefile.openbsd | 73 + src/3rdparty/libpng/scripts/makefile.os2 | 69 + src/3rdparty/libpng/scripts/makefile.sco | 229 + src/3rdparty/libpng/scripts/makefile.sggcc | 242 + src/3rdparty/libpng/scripts/makefile.sgi | 245 + src/3rdparty/libpng/scripts/makefile.so9 | 251 + src/3rdparty/libpng/scripts/makefile.solaris | 249 + src/3rdparty/libpng/scripts/makefile.solaris-x86 | 248 + src/3rdparty/libpng/scripts/makefile.std | 92 + src/3rdparty/libpng/scripts/makefile.sunos | 97 + src/3rdparty/libpng/scripts/makefile.tc3 | 89 + src/3rdparty/libpng/scripts/makefile.vcawin32 | 99 + src/3rdparty/libpng/scripts/makefile.vcwin32 | 99 + src/3rdparty/libpng/scripts/makefile.watcom | 109 + src/3rdparty/libpng/scripts/makevms.com | 144 + src/3rdparty/libpng/scripts/pngos2.def | 257 + src/3rdparty/libpng/scripts/pngw32.def | 238 + src/3rdparty/libpng/scripts/pngw32.rc | 112 + src/3rdparty/libpng/scripts/smakefile.ppc | 30 + src/3rdparty/libtiff/COPYRIGHT | 21 + src/3rdparty/libtiff/ChangeLog | 3698 + src/3rdparty/libtiff/HOWTO-RELEASE | 57 + src/3rdparty/libtiff/Makefile.am | 54 + src/3rdparty/libtiff/Makefile.in | 724 + src/3rdparty/libtiff/Makefile.vc | 59 + src/3rdparty/libtiff/README | 59 + src/3rdparty/libtiff/RELEASE-DATE | 1 + src/3rdparty/libtiff/SConstruct | 169 + src/3rdparty/libtiff/TODO | 12 + src/3rdparty/libtiff/VERSION | 1 + src/3rdparty/libtiff/aclocal.m4 | 7281 ++ src/3rdparty/libtiff/autogen.sh | 8 + src/3rdparty/libtiff/config/compile | 142 + src/3rdparty/libtiff/config/config.guess | 1497 + src/3rdparty/libtiff/config/config.sub | 1608 + src/3rdparty/libtiff/config/depcomp | 530 + src/3rdparty/libtiff/config/install-sh | 323 + src/3rdparty/libtiff/config/ltmain.sh | 7339 ++ src/3rdparty/libtiff/config/missing | 360 + src/3rdparty/libtiff/config/mkinstalldirs | 150 + src/3rdparty/libtiff/configure | 22598 +++++ src/3rdparty/libtiff/configure.ac | 568 + src/3rdparty/libtiff/html/Makefile.am | 81 + src/3rdparty/libtiff/html/Makefile.in | 626 + src/3rdparty/libtiff/html/TIFFTechNote2.html | 707 + src/3rdparty/libtiff/html/addingtags.html | 292 + src/3rdparty/libtiff/html/bugs.html | 53 + src/3rdparty/libtiff/html/build.html | 880 + src/3rdparty/libtiff/html/contrib.html | 209 + src/3rdparty/libtiff/html/document.html | 52 + src/3rdparty/libtiff/html/images.html | 41 + src/3rdparty/libtiff/html/images/Makefile.am | 46 + src/3rdparty/libtiff/html/images/Makefile.in | 436 + src/3rdparty/libtiff/html/images/back.gif | Bin 0 -> 1000 bytes src/3rdparty/libtiff/html/images/bali.jpg | Bin 0 -> 26152 bytes src/3rdparty/libtiff/html/images/cat.gif | Bin 0 -> 12477 bytes src/3rdparty/libtiff/html/images/cover.jpg | Bin 0 -> 20189 bytes src/3rdparty/libtiff/html/images/cramps.gif | Bin 0 -> 13137 bytes src/3rdparty/libtiff/html/images/dave.gif | Bin 0 -> 8220 bytes src/3rdparty/libtiff/html/images/info.gif | Bin 0 -> 131 bytes src/3rdparty/libtiff/html/images/jello.jpg | Bin 0 -> 13744 bytes src/3rdparty/libtiff/html/images/jim.gif | Bin 0 -> 14493 bytes src/3rdparty/libtiff/html/images/note.gif | Bin 0 -> 264 bytes src/3rdparty/libtiff/html/images/oxford.gif | Bin 0 -> 6069 bytes src/3rdparty/libtiff/html/images/quad.jpg | Bin 0 -> 23904 bytes src/3rdparty/libtiff/html/images/ring.gif | Bin 0 -> 4275 bytes src/3rdparty/libtiff/html/images/smallliz.jpg | Bin 0 -> 16463 bytes src/3rdparty/libtiff/html/images/strike.gif | Bin 0 -> 5610 bytes src/3rdparty/libtiff/html/images/warning.gif | Bin 0 -> 287 bytes src/3rdparty/libtiff/html/index.html | 121 + src/3rdparty/libtiff/html/internals.html | 572 + src/3rdparty/libtiff/html/intro.html | 68 + src/3rdparty/libtiff/html/libtiff.html | 747 + src/3rdparty/libtiff/html/man/Makefile.am | 118 + src/3rdparty/libtiff/html/man/Makefile.in | 504 + src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html | 87 + .../libtiff/html/man/TIFFDataWidth.3tiff.html | 98 + src/3rdparty/libtiff/html/man/TIFFError.3tiff.html | 106 + src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html | 113 + .../libtiff/html/man/TIFFGetField.3tiff.html | 1446 + src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html | 421 + .../libtiff/html/man/TIFFPrintDirectory.3tiff.html | 225 + .../libtiff/html/man/TIFFRGBAImage.3tiff.html | 319 + .../libtiff/html/man/TIFFReadDirectory.3tiff.html | 218 + .../html/man/TIFFReadEncodedStrip.3tiff.html | 133 + .../html/man/TIFFReadEncodedTile.3tiff.html | 130 + .../libtiff/html/man/TIFFReadRGBAImage.3tiff.html | 301 + .../libtiff/html/man/TIFFReadRGBAStrip.3tiff.html | 208 + .../libtiff/html/man/TIFFReadRGBATile.3tiff.html | 261 + .../libtiff/html/man/TIFFReadRawStrip.3tiff.html | 109 + .../libtiff/html/man/TIFFReadRawTile.3tiff.html | 111 + .../libtiff/html/man/TIFFReadScanline.3tiff.html | 157 + .../libtiff/html/man/TIFFReadTile.3tiff.html | 133 + .../libtiff/html/man/TIFFSetDirectory.3tiff.html | 122 + .../libtiff/html/man/TIFFSetField.3tiff.html | 1362 + .../libtiff/html/man/TIFFWarning.3tiff.html | 108 + .../libtiff/html/man/TIFFWriteDirectory.3tiff.html | 176 + .../html/man/TIFFWriteEncodedStrip.3tiff.html | 153 + .../html/man/TIFFWriteEncodedTile.3tiff.html | 147 + .../libtiff/html/man/TIFFWriteRawStrip.3tiff.html | 144 + .../libtiff/html/man/TIFFWriteRawTile.3tiff.html | 128 + .../libtiff/html/man/TIFFWriteScanline.3tiff.html | 206 + .../libtiff/html/man/TIFFWriteTile.3tiff.html | 115 + .../libtiff/html/man/TIFFbuffer.3tiff.html | 116 + src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html | 116 + src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html | 975 + .../libtiff/html/man/TIFFmemory.3tiff.html | 110 + src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html | 148 + src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html | 95 + src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html | 129 + src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html | 110 + src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html | 141 + src/3rdparty/libtiff/html/man/fax2ps.1.html | 254 + src/3rdparty/libtiff/html/man/fax2tiff.1.html | 607 + src/3rdparty/libtiff/html/man/gif2tiff.1.html | 141 + src/3rdparty/libtiff/html/man/index.html | 64 + src/3rdparty/libtiff/html/man/libtiff.3tiff.html | 3137 + src/3rdparty/libtiff/html/man/pal2rgb.1.html | 189 + src/3rdparty/libtiff/html/man/ppm2tiff.1.html | 141 + src/3rdparty/libtiff/html/man/ras2tiff.1.html | 139 + src/3rdparty/libtiff/html/man/raw2tiff.1.html | 553 + src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html | 154 + src/3rdparty/libtiff/html/man/sgi2tiff.1.html | 147 + src/3rdparty/libtiff/html/man/thumbnail.1.html | 148 + src/3rdparty/libtiff/html/man/tiff2bw.1.html | 160 + src/3rdparty/libtiff/html/man/tiff2pdf.1.html | 599 + src/3rdparty/libtiff/html/man/tiff2ps.1.html | 536 + src/3rdparty/libtiff/html/man/tiff2rgba.1.html | 161 + src/3rdparty/libtiff/html/man/tiffcmp.1.html | 156 + src/3rdparty/libtiff/html/man/tiffcp.1.html | 484 + src/3rdparty/libtiff/html/man/tiffdither.1.html | 182 + src/3rdparty/libtiff/html/man/tiffdump.1.html | 145 + src/3rdparty/libtiff/html/man/tiffgt.1.html | 551 + src/3rdparty/libtiff/html/man/tiffinfo.1.html | 196 + src/3rdparty/libtiff/html/man/tiffmedian.1.html | 183 + src/3rdparty/libtiff/html/man/tiffset.1.html | 174 + src/3rdparty/libtiff/html/man/tiffsplit.1.html | 102 + src/3rdparty/libtiff/html/man/tiffsv.1.html | 207 + src/3rdparty/libtiff/html/misc.html | 112 + src/3rdparty/libtiff/html/support.html | 655 + src/3rdparty/libtiff/html/tools.html | 155 + src/3rdparty/libtiff/html/v3.4beta007.html | 112 + src/3rdparty/libtiff/html/v3.4beta016.html | 122 + src/3rdparty/libtiff/html/v3.4beta018.html | 84 + src/3rdparty/libtiff/html/v3.4beta024.html | 139 + src/3rdparty/libtiff/html/v3.4beta028.html | 146 + src/3rdparty/libtiff/html/v3.4beta029.html | 86 + src/3rdparty/libtiff/html/v3.4beta031.html | 94 + src/3rdparty/libtiff/html/v3.4beta032.html | 90 + src/3rdparty/libtiff/html/v3.4beta033.html | 82 + src/3rdparty/libtiff/html/v3.4beta034.html | 68 + src/3rdparty/libtiff/html/v3.4beta035.html | 63 + src/3rdparty/libtiff/html/v3.4beta036.html | 117 + src/3rdparty/libtiff/html/v3.5.1.html | 75 + src/3rdparty/libtiff/html/v3.5.2.html | 108 + src/3rdparty/libtiff/html/v3.5.3.html | 132 + src/3rdparty/libtiff/html/v3.5.4.html | 88 + src/3rdparty/libtiff/html/v3.5.5.html | 155 + src/3rdparty/libtiff/html/v3.5.6-beta.html | 185 + src/3rdparty/libtiff/html/v3.5.7.html | 259 + src/3rdparty/libtiff/html/v3.6.0.html | 434 + src/3rdparty/libtiff/html/v3.6.1.html | 199 + src/3rdparty/libtiff/html/v3.7.0.html | 144 + src/3rdparty/libtiff/html/v3.7.0alpha.html | 249 + src/3rdparty/libtiff/html/v3.7.0beta.html | 162 + src/3rdparty/libtiff/html/v3.7.0beta2.html | 131 + src/3rdparty/libtiff/html/v3.7.1.html | 233 + src/3rdparty/libtiff/html/v3.7.2.html | 222 + src/3rdparty/libtiff/html/v3.7.3.html | 230 + src/3rdparty/libtiff/html/v3.7.4.html | 133 + src/3rdparty/libtiff/html/v3.8.0.html | 199 + src/3rdparty/libtiff/html/v3.8.1.html | 217 + src/3rdparty/libtiff/html/v3.8.2.html | 137 + src/3rdparty/libtiff/libtiff/Makefile.am | 138 + src/3rdparty/libtiff/libtiff/Makefile.in | 763 + src/3rdparty/libtiff/libtiff/Makefile.vc | 98 + src/3rdparty/libtiff/libtiff/SConstruct | 71 + src/3rdparty/libtiff/libtiff/libtiff.def | 140 + src/3rdparty/libtiff/libtiff/mkg3states.c | 440 + src/3rdparty/libtiff/libtiff/t4.h | 285 + src/3rdparty/libtiff/libtiff/tif_acorn.c | 519 + src/3rdparty/libtiff/libtiff/tif_apple.c | 274 + src/3rdparty/libtiff/libtiff/tif_atari.c | 243 + src/3rdparty/libtiff/libtiff/tif_aux.c | 267 + src/3rdparty/libtiff/libtiff/tif_close.c | 119 + src/3rdparty/libtiff/libtiff/tif_codec.c | 150 + src/3rdparty/libtiff/libtiff/tif_color.c | 275 + src/3rdparty/libtiff/libtiff/tif_compress.c | 286 + src/3rdparty/libtiff/libtiff/tif_config.h | 296 + src/3rdparty/libtiff/libtiff/tif_config.h.in | 260 + src/3rdparty/libtiff/libtiff/tif_config.h.vc | 44 + src/3rdparty/libtiff/libtiff/tif_dir.c | 1350 + src/3rdparty/libtiff/libtiff/tif_dir.h | 199 + src/3rdparty/libtiff/libtiff/tif_dirinfo.c | 846 + src/3rdparty/libtiff/libtiff/tif_dirread.c | 1789 + src/3rdparty/libtiff/libtiff/tif_dirwrite.c | 1243 + src/3rdparty/libtiff/libtiff/tif_dumpmode.c | 117 + src/3rdparty/libtiff/libtiff/tif_error.c | 73 + src/3rdparty/libtiff/libtiff/tif_extension.c | 111 + src/3rdparty/libtiff/libtiff/tif_fax3.c | 1566 + src/3rdparty/libtiff/libtiff/tif_fax3.h | 525 + src/3rdparty/libtiff/libtiff/tif_fax3sm.c | 1253 + src/3rdparty/libtiff/libtiff/tif_flush.c | 67 + src/3rdparty/libtiff/libtiff/tif_getimage.c | 2598 + src/3rdparty/libtiff/libtiff/tif_jpeg.c | 1942 + src/3rdparty/libtiff/libtiff/tif_luv.c | 1606 + src/3rdparty/libtiff/libtiff/tif_lzw.c | 1084 + src/3rdparty/libtiff/libtiff/tif_msdos.c | 179 + src/3rdparty/libtiff/libtiff/tif_next.c | 144 + src/3rdparty/libtiff/libtiff/tif_ojpeg.c | 2629 + src/3rdparty/libtiff/libtiff/tif_open.c | 683 + src/3rdparty/libtiff/libtiff/tif_packbits.c | 293 + src/3rdparty/libtiff/libtiff/tif_pixarlog.c | 1342 + src/3rdparty/libtiff/libtiff/tif_predict.c | 626 + src/3rdparty/libtiff/libtiff/tif_predict.h | 64 + src/3rdparty/libtiff/libtiff/tif_print.c | 639 + src/3rdparty/libtiff/libtiff/tif_read.c | 650 + src/3rdparty/libtiff/libtiff/tif_stream.cxx | 289 + src/3rdparty/libtiff/libtiff/tif_strip.c | 294 + src/3rdparty/libtiff/libtiff/tif_swab.c | 235 + src/3rdparty/libtiff/libtiff/tif_thunder.c | 158 + src/3rdparty/libtiff/libtiff/tif_tile.c | 273 + src/3rdparty/libtiff/libtiff/tif_unix.c | 293 + src/3rdparty/libtiff/libtiff/tif_version.c | 33 + src/3rdparty/libtiff/libtiff/tif_warning.c | 74 + src/3rdparty/libtiff/libtiff/tif_win3.c | 225 + src/3rdparty/libtiff/libtiff/tif_win32.c | 393 + src/3rdparty/libtiff/libtiff/tif_write.c | 725 + src/3rdparty/libtiff/libtiff/tif_zip.c | 378 + src/3rdparty/libtiff/libtiff/tiff.h | 647 + src/3rdparty/libtiff/libtiff/tiffconf.h | 110 + src/3rdparty/libtiff/libtiff/tiffconf.h.in | 100 + src/3rdparty/libtiff/libtiff/tiffconf.h.vc | 97 + src/3rdparty/libtiff/libtiff/tiffio.h | 515 + src/3rdparty/libtiff/libtiff/tiffio.hxx | 42 + src/3rdparty/libtiff/libtiff/tiffiop.h | 328 + src/3rdparty/libtiff/libtiff/tiffvers.h | 9 + src/3rdparty/libtiff/libtiff/uvcode.h | 173 + src/3rdparty/libtiff/m4/acinclude.m4 | 669 + src/3rdparty/libtiff/m4/libtool.m4 | 6883 ++ src/3rdparty/libtiff/m4/ltoptions.m4 | 380 + src/3rdparty/libtiff/m4/ltsugar.m4 | 111 + src/3rdparty/libtiff/m4/ltversion.m4 | 23 + src/3rdparty/libtiff/nmake.opt | 214 + src/3rdparty/libtiff/port/Makefile.am | 31 + src/3rdparty/libtiff/port/Makefile.in | 501 + src/3rdparty/libtiff/port/Makefile.vc | 43 + src/3rdparty/libtiff/port/dummy.c | 12 + src/3rdparty/libtiff/port/getopt.c | 124 + src/3rdparty/libtiff/port/lfind.c | 58 + src/3rdparty/libtiff/port/strcasecmp.c | 50 + src/3rdparty/libtiff/port/strtoul.c | 109 + src/3rdparty/libtiff/test/Makefile.am | 44 + src/3rdparty/libtiff/test/Makefile.in | 607 + src/3rdparty/libtiff/test/ascii_tag.c | 170 + src/3rdparty/libtiff/test/check_tag.c | 72 + src/3rdparty/libtiff/test/long_tag.c | 154 + src/3rdparty/libtiff/test/short_tag.c | 179 + src/3rdparty/libtiff/test/strip.c | 289 + src/3rdparty/libtiff/test/strip_rw.c | 155 + src/3rdparty/libtiff/test/test_arrays.c | 829 + src/3rdparty/libtiff/test/test_arrays.h | 63 + src/3rdparty/md4/md4.cpp | 265 + src/3rdparty/md4/md4.h | 31 + src/3rdparty/md5/md5.cpp | 246 + src/3rdparty/md5/md5.h | 48 + src/3rdparty/patches/freetype-2.3.5-config.patch | 265 + src/3rdparty/patches/freetype-2.3.6-ascii.patch | 174 + src/3rdparty/patches/libjpeg-6b-config.patch | 50 + .../patches/libmng-1.0.10-endless-loop.patch | 65 + .../patches/libpng-1.2.20-elf-visibility.patch | 17 + src/3rdparty/patches/libtiff-3.8.2-config.patch | 374 + src/3rdparty/patches/sqlite-3.5.6-config.patch | 38 + src/3rdparty/patches/sqlite-3.5.6-wince.patch | 19 + .../patches/zlib-1.2.3-elf-visibility.patch | 433 + src/3rdparty/phonon/CMakeLists.txt | 272 + src/3rdparty/phonon/COPYING.LIB | 510 + src/3rdparty/phonon/ds9/CMakeLists.txt | 53 + src/3rdparty/phonon/ds9/ConfigureChecks.cmake | 44 + src/3rdparty/phonon/ds9/abstractvideorenderer.cpp | 118 + src/3rdparty/phonon/ds9/abstractvideorenderer.h | 73 + src/3rdparty/phonon/ds9/audiooutput.cpp | 111 + src/3rdparty/phonon/ds9/audiooutput.h | 68 + src/3rdparty/phonon/ds9/backend.cpp | 343 + src/3rdparty/phonon/ds9/backend.h | 83 + src/3rdparty/phonon/ds9/backendnode.cpp | 115 + src/3rdparty/phonon/ds9/backendnode.h | 73 + src/3rdparty/phonon/ds9/compointer.h | 114 + src/3rdparty/phonon/ds9/ds9.desktop | 51 + src/3rdparty/phonon/ds9/effect.cpp | 153 + src/3rdparty/phonon/ds9/effect.h | 59 + src/3rdparty/phonon/ds9/fakesource.cpp | 166 + src/3rdparty/phonon/ds9/fakesource.h | 54 + src/3rdparty/phonon/ds9/iodevicereader.cpp | 228 + src/3rdparty/phonon/ds9/iodevicereader.h | 57 + src/3rdparty/phonon/ds9/lgpl-2.1.txt | 504 + src/3rdparty/phonon/ds9/lgpl-3.txt | 165 + src/3rdparty/phonon/ds9/mediagraph.cpp | 1099 + src/3rdparty/phonon/ds9/mediagraph.h | 148 + src/3rdparty/phonon/ds9/mediaobject.cpp | 1208 + src/3rdparty/phonon/ds9/mediaobject.h | 313 + src/3rdparty/phonon/ds9/phononds9_namespace.h | 33 + src/3rdparty/phonon/ds9/qasyncreader.cpp | 198 + src/3rdparty/phonon/ds9/qasyncreader.h | 77 + src/3rdparty/phonon/ds9/qaudiocdreader.cpp | 332 + src/3rdparty/phonon/ds9/qaudiocdreader.h | 58 + src/3rdparty/phonon/ds9/qbasefilter.cpp | 831 + src/3rdparty/phonon/ds9/qbasefilter.h | 136 + src/3rdparty/phonon/ds9/qmeminputpin.cpp | 357 + src/3rdparty/phonon/ds9/qmeminputpin.h | 82 + src/3rdparty/phonon/ds9/qpin.cpp | 653 + src/3rdparty/phonon/ds9/qpin.h | 121 + src/3rdparty/phonon/ds9/videorenderer_soft.cpp | 1011 + src/3rdparty/phonon/ds9/videorenderer_soft.h | 68 + src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp | 333 + src/3rdparty/phonon/ds9/videorenderer_vmr9.h | 56 + src/3rdparty/phonon/ds9/videowidget.cpp | 397 + src/3rdparty/phonon/ds9/videowidget.h | 96 + src/3rdparty/phonon/ds9/volumeeffect.cpp | 296 + src/3rdparty/phonon/ds9/volumeeffect.h | 71 + src/3rdparty/phonon/gstreamer/CMakeLists.txt | 72 + .../phonon/gstreamer/ConfigureChecks.cmake | 37 + src/3rdparty/phonon/gstreamer/Messages.sh | 5 + src/3rdparty/phonon/gstreamer/abstractrenderer.cpp | 56 + src/3rdparty/phonon/gstreamer/abstractrenderer.h | 62 + src/3rdparty/phonon/gstreamer/alsasink2.c | 1756 + src/3rdparty/phonon/gstreamer/alsasink2.h | 87 + src/3rdparty/phonon/gstreamer/artssink.cpp | 277 + src/3rdparty/phonon/gstreamer/artssink.h | 91 + src/3rdparty/phonon/gstreamer/audioeffect.cpp | 78 + src/3rdparty/phonon/gstreamer/audioeffect.h | 55 + src/3rdparty/phonon/gstreamer/audiooutput.cpp | 256 + src/3rdparty/phonon/gstreamer/audiooutput.h | 82 + src/3rdparty/phonon/gstreamer/backend.cpp | 455 + src/3rdparty/phonon/gstreamer/backend.h | 101 + src/3rdparty/phonon/gstreamer/common.h | 51 + src/3rdparty/phonon/gstreamer/devicemanager.cpp | 357 + src/3rdparty/phonon/gstreamer/devicemanager.h | 80 + src/3rdparty/phonon/gstreamer/effect.cpp | 246 + src/3rdparty/phonon/gstreamer/effect.h | 64 + src/3rdparty/phonon/gstreamer/effectmanager.cpp | 105 + src/3rdparty/phonon/gstreamer/effectmanager.h | 91 + src/3rdparty/phonon/gstreamer/glrenderer.cpp | 339 + src/3rdparty/phonon/gstreamer/glrenderer.h | 101 + src/3rdparty/phonon/gstreamer/gsthelper.cpp | 170 + src/3rdparty/phonon/gstreamer/gsthelper.h | 49 + src/3rdparty/phonon/gstreamer/gstreamer.desktop | 51 + src/3rdparty/phonon/gstreamer/lgpl-2.1.txt | 504 + src/3rdparty/phonon/gstreamer/lgpl-3.txt | 165 + src/3rdparty/phonon/gstreamer/medianode.cpp | 456 + src/3rdparty/phonon/gstreamer/medianode.h | 128 + src/3rdparty/phonon/gstreamer/medianodeevent.cpp | 38 + src/3rdparty/phonon/gstreamer/medianodeevent.h | 70 + src/3rdparty/phonon/gstreamer/mediaobject.cpp | 1387 + src/3rdparty/phonon/gstreamer/mediaobject.h | 273 + src/3rdparty/phonon/gstreamer/message.cpp | 75 + src/3rdparty/phonon/gstreamer/message.h | 58 + src/3rdparty/phonon/gstreamer/phononsrc.cpp | 257 + src/3rdparty/phonon/gstreamer/phononsrc.h | 69 + src/3rdparty/phonon/gstreamer/qwidgetvideosink.cpp | 221 + src/3rdparty/phonon/gstreamer/qwidgetvideosink.h | 97 + src/3rdparty/phonon/gstreamer/streamreader.cpp | 53 + src/3rdparty/phonon/gstreamer/streamreader.h | 96 + src/3rdparty/phonon/gstreamer/videowidget.cpp | 387 + src/3rdparty/phonon/gstreamer/videowidget.h | 106 + .../phonon/gstreamer/volumefadereffect.cpp | 162 + src/3rdparty/phonon/gstreamer/volumefadereffect.h | 70 + src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 150 + src/3rdparty/phonon/gstreamer/widgetrenderer.h | 63 + src/3rdparty/phonon/gstreamer/x11renderer.cpp | 193 + src/3rdparty/phonon/gstreamer/x11renderer.h | 68 + src/3rdparty/phonon/includes/CMakeLists.txt | 49 + .../phonon/includes/Phonon/AbstractAudioOutput | 1 + .../phonon/includes/Phonon/AbstractMediaStream | 1 + .../phonon/includes/Phonon/AbstractVideoOutput | 1 + src/3rdparty/phonon/includes/Phonon/AddonInterface | 1 + src/3rdparty/phonon/includes/Phonon/AudioDevice | 1 + .../phonon/includes/Phonon/AudioDeviceEnumerator | 1 + src/3rdparty/phonon/includes/Phonon/AudioOutput | 1 + .../phonon/includes/Phonon/AudioOutputDevice | 1 + .../phonon/includes/Phonon/AudioOutputDeviceModel | 1 + .../phonon/includes/Phonon/AudioOutputInterface | 1 + .../phonon/includes/Phonon/BackendCapabilities | 1 + .../phonon/includes/Phonon/BackendInterface | 1 + src/3rdparty/phonon/includes/Phonon/Effect | 1 + .../phonon/includes/Phonon/EffectDescription | 1 + .../phonon/includes/Phonon/EffectDescriptionModel | 1 + .../phonon/includes/Phonon/EffectInterface | 1 + .../phonon/includes/Phonon/EffectParameter | 1 + src/3rdparty/phonon/includes/Phonon/EffectWidget | 1 + .../Phonon/Experimental/AbstractVideoDataOutput | 1 + .../includes/Phonon/Experimental/AudioDataOutput | 1 + .../includes/Phonon/Experimental/SnapshotInterface | 1 + .../includes/Phonon/Experimental/VideoDataOutput | 1 + .../Phonon/Experimental/VideoDataOutputInterface | 1 + .../phonon/includes/Phonon/Experimental/VideoFrame | 1 + .../includes/Phonon/Experimental/VideoFrame2 | 1 + .../includes/Phonon/Experimental/Visualization | 1 + src/3rdparty/phonon/includes/Phonon/Global | 1 + .../phonon/includes/Phonon/MediaController | 1 + src/3rdparty/phonon/includes/Phonon/MediaNode | 1 + src/3rdparty/phonon/includes/Phonon/MediaObject | 1 + .../phonon/includes/Phonon/MediaObjectInterface | 1 + src/3rdparty/phonon/includes/Phonon/MediaSource | 1 + .../phonon/includes/Phonon/ObjectDescription | 1 + .../phonon/includes/Phonon/ObjectDescriptionModel | 1 + src/3rdparty/phonon/includes/Phonon/Path | 1 + src/3rdparty/phonon/includes/Phonon/PlatformPlugin | 1 + src/3rdparty/phonon/includes/Phonon/SeekSlider | 1 + .../phonon/includes/Phonon/StreamInterface | 1 + src/3rdparty/phonon/includes/Phonon/VideoPlayer | 1 + src/3rdparty/phonon/includes/Phonon/VideoWidget | 1 + .../phonon/includes/Phonon/VideoWidgetInterface | 1 + .../phonon/includes/Phonon/VolumeFaderEffect | 1 + .../phonon/includes/Phonon/VolumeFaderInterface | 1 + src/3rdparty/phonon/includes/Phonon/VolumeSlider | 1 + src/3rdparty/phonon/phonon.pc.cmake | 11 + src/3rdparty/phonon/phonon/.krazy | 2 + src/3rdparty/phonon/phonon/BUGS | 9 + src/3rdparty/phonon/phonon/CMakeLists.txt | 104 + src/3rdparty/phonon/phonon/IDEAS | 70 + src/3rdparty/phonon/phonon/Messages.sh | 6 + src/3rdparty/phonon/phonon/TODO | 31 + src/3rdparty/phonon/phonon/abstractaudiooutput.cpp | 50 + src/3rdparty/phonon/phonon/abstractaudiooutput.h | 57 + .../phonon/phonon/abstractaudiooutput_p.cpp | 44 + src/3rdparty/phonon/phonon/abstractaudiooutput_p.h | 50 + src/3rdparty/phonon/phonon/abstractmediastream.cpp | 198 + src/3rdparty/phonon/phonon/abstractmediastream.h | 227 + src/3rdparty/phonon/phonon/abstractmediastream_p.h | 83 + src/3rdparty/phonon/phonon/abstractvideooutput.cpp | 41 + src/3rdparty/phonon/phonon/abstractvideooutput.h | 74 + .../phonon/phonon/abstractvideooutput_p.cpp | 41 + src/3rdparty/phonon/phonon/abstractvideooutput_p.h | 48 + src/3rdparty/phonon/phonon/addoninterface.h | 103 + src/3rdparty/phonon/phonon/audiooutput.cpp | 418 + src/3rdparty/phonon/phonon/audiooutput.h | 179 + src/3rdparty/phonon/phonon/audiooutput_p.h | 95 + src/3rdparty/phonon/phonon/audiooutputadaptor.cpp | 101 + src/3rdparty/phonon/phonon/audiooutputadaptor_p.h | 109 + .../phonon/phonon/audiooutputinterface.cpp | 40 + src/3rdparty/phonon/phonon/audiooutputinterface.h | 151 + src/3rdparty/phonon/phonon/backend.dox | 107 + src/3rdparty/phonon/phonon/backendcapabilities.cpp | 121 + src/3rdparty/phonon/phonon/backendcapabilities.h | 213 + src/3rdparty/phonon/phonon/backendcapabilities_p.h | 50 + src/3rdparty/phonon/phonon/backendinterface.h | 287 + src/3rdparty/phonon/phonon/effect.cpp | 136 + src/3rdparty/phonon/phonon/effect.h | 119 + src/3rdparty/phonon/phonon/effect_p.h | 61 + src/3rdparty/phonon/phonon/effectinterface.h | 68 + src/3rdparty/phonon/phonon/effectparameter.cpp | 142 + src/3rdparty/phonon/phonon/effectparameter.h | 237 + src/3rdparty/phonon/phonon/effectparameter_p.h | 56 + src/3rdparty/phonon/phonon/effectwidget.cpp | 254 + src/3rdparty/phonon/phonon/effectwidget.h | 76 + src/3rdparty/phonon/phonon/effectwidget_p.h | 64 + src/3rdparty/phonon/phonon/extractmethodcalls.rb | 527 + src/3rdparty/phonon/phonon/factory.cpp | 457 + src/3rdparty/phonon/phonon/factory_p.h | 196 + src/3rdparty/phonon/phonon/frontendinterface_p.h | 68 + src/3rdparty/phonon/phonon/globalconfig.cpp | 243 + src/3rdparty/phonon/phonon/globalconfig_p.h | 65 + src/3rdparty/phonon/phonon/globalstatic_p.h | 293 + src/3rdparty/phonon/phonon/iodevicestream.cpp | 100 + src/3rdparty/phonon/phonon/iodevicestream_p.h | 58 + src/3rdparty/phonon/phonon/mediacontroller.cpp | 239 + src/3rdparty/phonon/phonon/mediacontroller.h | 188 + src/3rdparty/phonon/phonon/medianode.cpp | 130 + src/3rdparty/phonon/phonon/medianode.h | 69 + src/3rdparty/phonon/phonon/medianode_p.h | 145 + .../phonon/phonon/medianodedestructionhandler_p.h | 62 + src/3rdparty/phonon/phonon/mediaobject.cpp | 572 + src/3rdparty/phonon/phonon/mediaobject.dox | 71 + src/3rdparty/phonon/phonon/mediaobject.h | 625 + src/3rdparty/phonon/phonon/mediaobject_p.h | 113 + src/3rdparty/phonon/phonon/mediaobjectinterface.h | 242 + src/3rdparty/phonon/phonon/mediasource.cpp | 232 + src/3rdparty/phonon/phonon/mediasource.h | 279 + src/3rdparty/phonon/phonon/mediasource_p.h | 89 + src/3rdparty/phonon/phonon/objectdescription.cpp | 140 + src/3rdparty/phonon/phonon/objectdescription.h | 342 + src/3rdparty/phonon/phonon/objectdescription_p.h | 64 + .../phonon/phonon/objectdescriptionmodel.cpp | 392 + .../phonon/phonon/objectdescriptionmodel.h | 380 + .../phonon/phonon/objectdescriptionmodel_p.h | 65 + .../phonon/phonon/org.kde.Phonon.AudioOutput.xml | 32 + src/3rdparty/phonon/phonon/path.cpp | 472 + src/3rdparty/phonon/phonon/path.h | 243 + src/3rdparty/phonon/phonon/path_p.h | 79 + src/3rdparty/phonon/phonon/phonon_export.h | 58 + src/3rdparty/phonon/phonon/phonondefs.h | 144 + src/3rdparty/phonon/phonon/phonondefs_p.h | 369 + src/3rdparty/phonon/phonon/phononnamespace.cpp | 92 + src/3rdparty/phonon/phonon/phononnamespace.h | 306 + src/3rdparty/phonon/phonon/phononnamespace.h.in | 306 + src/3rdparty/phonon/phonon/phononnamespace_p.h | 38 + src/3rdparty/phonon/phonon/platform.cpp | 144 + src/3rdparty/phonon/phonon/platform_p.h | 62 + src/3rdparty/phonon/phonon/platformplugin.h | 118 + src/3rdparty/phonon/phonon/preprocessandextract.sh | 39 + src/3rdparty/phonon/phonon/qsettingsgroup_p.h | 91 + src/3rdparty/phonon/phonon/seekslider.cpp | 263 + src/3rdparty/phonon/phonon/seekslider.h | 157 + src/3rdparty/phonon/phonon/seekslider_p.h | 101 + src/3rdparty/phonon/phonon/stream-thoughts | 72 + src/3rdparty/phonon/phonon/streaminterface.cpp | 114 + src/3rdparty/phonon/phonon/streaminterface.h | 123 + src/3rdparty/phonon/phonon/streaminterface_p.h | 59 + src/3rdparty/phonon/phonon/videoplayer.cpp | 184 + src/3rdparty/phonon/phonon/videoplayer.h | 207 + src/3rdparty/phonon/phonon/videowidget.cpp | 183 + src/3rdparty/phonon/phonon/videowidget.h | 219 + src/3rdparty/phonon/phonon/videowidget_p.h | 84 + src/3rdparty/phonon/phonon/videowidgetinterface.h | 65 + src/3rdparty/phonon/phonon/volumefadereffect.cpp | 108 + src/3rdparty/phonon/phonon/volumefadereffect.h | 178 + src/3rdparty/phonon/phonon/volumefadereffect_p.h | 58 + src/3rdparty/phonon/phonon/volumefaderinterface.h | 58 + src/3rdparty/phonon/phonon/volumeslider.cpp | 262 + src/3rdparty/phonon/phonon/volumeslider.h | 155 + src/3rdparty/phonon/phonon/volumeslider_p.h | 101 + src/3rdparty/phonon/qt7/CMakeLists.txt | 58 + src/3rdparty/phonon/qt7/ConfigureChecks.cmake | 16 + src/3rdparty/phonon/qt7/audioconnection.h | 84 + src/3rdparty/phonon/qt7/audioconnection.mm | 152 + src/3rdparty/phonon/qt7/audiodevice.h | 52 + src/3rdparty/phonon/qt7/audiodevice.mm | 177 + src/3rdparty/phonon/qt7/audioeffects.h | 80 + src/3rdparty/phonon/qt7/audioeffects.mm | 254 + src/3rdparty/phonon/qt7/audiograph.h | 86 + src/3rdparty/phonon/qt7/audiograph.mm | 320 + src/3rdparty/phonon/qt7/audiomixer.h | 91 + src/3rdparty/phonon/qt7/audiomixer.mm | 181 + src/3rdparty/phonon/qt7/audionode.h | 86 + src/3rdparty/phonon/qt7/audionode.mm | 240 + src/3rdparty/phonon/qt7/audiooutput.h | 88 + src/3rdparty/phonon/qt7/audiooutput.mm | 168 + src/3rdparty/phonon/qt7/audiopartoutput.h | 47 + src/3rdparty/phonon/qt7/audiopartoutput.mm | 69 + src/3rdparty/phonon/qt7/audiosplitter.h | 50 + src/3rdparty/phonon/qt7/audiosplitter.mm | 52 + src/3rdparty/phonon/qt7/backend.h | 61 + src/3rdparty/phonon/qt7/backend.mm | 276 + src/3rdparty/phonon/qt7/backendheader.h | 184 + src/3rdparty/phonon/qt7/backendheader.mm | 127 + src/3rdparty/phonon/qt7/backendinfo.h | 48 + src/3rdparty/phonon/qt7/backendinfo.mm | 311 + src/3rdparty/phonon/qt7/lgpl-2.1.txt | 504 + src/3rdparty/phonon/qt7/lgpl-3.txt | 165 + src/3rdparty/phonon/qt7/medianode.h | 85 + src/3rdparty/phonon/qt7/medianode.mm | 261 + src/3rdparty/phonon/qt7/medianodeevent.h | 71 + src/3rdparty/phonon/qt7/medianodeevent.mm | 37 + src/3rdparty/phonon/qt7/medianodevideopart.h | 42 + src/3rdparty/phonon/qt7/medianodevideopart.mm | 37 + src/3rdparty/phonon/qt7/mediaobject.h | 171 + src/3rdparty/phonon/qt7/mediaobject.mm | 852 + src/3rdparty/phonon/qt7/mediaobjectaudionode.h | 75 + src/3rdparty/phonon/qt7/mediaobjectaudionode.mm | 207 + src/3rdparty/phonon/qt7/quicktimeaudioplayer.h | 112 + src/3rdparty/phonon/qt7/quicktimeaudioplayer.mm | 491 + src/3rdparty/phonon/qt7/quicktimemetadata.h | 67 + src/3rdparty/phonon/qt7/quicktimemetadata.mm | 185 + src/3rdparty/phonon/qt7/quicktimestreamreader.h | 71 + src/3rdparty/phonon/qt7/quicktimestreamreader.mm | 137 + src/3rdparty/phonon/qt7/quicktimevideoplayer.h | 167 + src/3rdparty/phonon/qt7/quicktimevideoplayer.mm | 955 + src/3rdparty/phonon/qt7/videoeffect.h | 63 + src/3rdparty/phonon/qt7/videoeffect.mm | 76 + src/3rdparty/phonon/qt7/videoframe.h | 98 + src/3rdparty/phonon/qt7/videoframe.mm | 378 + src/3rdparty/phonon/qt7/videowidget.h | 71 + src/3rdparty/phonon/qt7/videowidget.mm | 883 + src/3rdparty/phonon/waveout/audiooutput.cpp | 78 + src/3rdparty/phonon/waveout/audiooutput.h | 65 + src/3rdparty/phonon/waveout/backend.cpp | 131 + src/3rdparty/phonon/waveout/backend.h | 69 + src/3rdparty/phonon/waveout/mediaobject.cpp | 686 + src/3rdparty/phonon/waveout/mediaobject.h | 162 + src/3rdparty/ptmalloc/COPYRIGHT | 19 + src/3rdparty/ptmalloc/ChangeLog | 33 + src/3rdparty/ptmalloc/Makefile | 211 + src/3rdparty/ptmalloc/README | 186 + src/3rdparty/ptmalloc/lran2.h | 51 + src/3rdparty/ptmalloc/malloc-2.8.3.h | 534 + src/3rdparty/ptmalloc/malloc-private.h | 170 + src/3rdparty/ptmalloc/malloc.c | 5515 ++ src/3rdparty/ptmalloc/ptmalloc3.c | 1135 + src/3rdparty/ptmalloc/sysdeps/generic/atomic.h | 1 + .../ptmalloc/sysdeps/generic/malloc-machine.h | 68 + src/3rdparty/ptmalloc/sysdeps/generic/thread-st.h | 48 + .../ptmalloc/sysdeps/pthread/malloc-machine.h | 131 + src/3rdparty/ptmalloc/sysdeps/pthread/thread-st.h | 111 + .../ptmalloc/sysdeps/solaris/malloc-machine.h | 51 + src/3rdparty/ptmalloc/sysdeps/solaris/thread-st.h | 72 + .../ptmalloc/sysdeps/sproc/malloc-machine.h | 51 + src/3rdparty/ptmalloc/sysdeps/sproc/thread-st.h | 85 + src/3rdparty/sha1/sha1.cpp | 263 + src/3rdparty/sqlite/shell.c | 2093 + src/3rdparty/sqlite/sqlite3.c | 87017 +++++++++++++++++++ src/3rdparty/sqlite/sqlite3.h | 5638 ++ src/3rdparty/webkit/ChangeLog | 3103 + src/3rdparty/webkit/JavaScriptCore/API/APICast.h | 119 + src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp | 116 + src/3rdparty/webkit/JavaScriptCore/API/JSBase.h | 130 + .../webkit/JavaScriptCore/API/JSBasePrivate.h | 52 + .../JavaScriptCore/API/JSCallbackConstructor.cpp | 79 + .../JavaScriptCore/API/JSCallbackConstructor.h | 57 + .../JavaScriptCore/API/JSCallbackFunction.cpp | 70 + .../webkit/JavaScriptCore/API/JSCallbackFunction.h | 58 + .../webkit/JavaScriptCore/API/JSCallbackObject.cpp | 41 + .../webkit/JavaScriptCore/API/JSCallbackObject.h | 114 + .../JavaScriptCore/API/JSCallbackObjectFunctions.h | 496 + .../webkit/JavaScriptCore/API/JSClassRef.cpp | 244 + .../webkit/JavaScriptCore/API/JSClassRef.h | 122 + .../webkit/JavaScriptCore/API/JSContextRef.cpp | 152 + .../webkit/JavaScriptCore/API/JSContextRef.h | 132 + .../webkit/JavaScriptCore/API/JSObjectRef.cpp | 507 + .../webkit/JavaScriptCore/API/JSObjectRef.h | 694 + .../JavaScriptCore/API/JSProfilerPrivate.cpp | 46 + .../webkit/JavaScriptCore/API/JSProfilerPrivate.h | 63 + .../webkit/JavaScriptCore/API/JSRetainPtr.h | 173 + .../webkit/JavaScriptCore/API/JSStringRef.cpp | 109 + .../webkit/JavaScriptCore/API/JSStringRef.h | 144 + .../webkit/JavaScriptCore/API/JSStringRefBSTR.cpp | 42 + .../webkit/JavaScriptCore/API/JSStringRefBSTR.h | 62 + .../webkit/JavaScriptCore/API/JSStringRefCF.cpp | 52 + .../webkit/JavaScriptCore/API/JSStringRefCF.h | 60 + .../webkit/JavaScriptCore/API/JSValueRef.cpp | 270 + .../webkit/JavaScriptCore/API/JSValueRef.h | 278 + .../webkit/JavaScriptCore/API/JavaScript.h | 36 + .../webkit/JavaScriptCore/API/JavaScriptCore.h | 32 + .../webkit/JavaScriptCore/API/OpaqueJSString.cpp | 55 + .../webkit/JavaScriptCore/API/OpaqueJSString.h | 81 + .../webkit/JavaScriptCore/API/WebKitAvailability.h | 763 + src/3rdparty/webkit/JavaScriptCore/AUTHORS | 2 + src/3rdparty/webkit/JavaScriptCore/COPYING.LIB | 488 + src/3rdparty/webkit/JavaScriptCore/ChangeLog | 26053 ++++++ .../webkit/JavaScriptCore/ChangeLog-2002-12-03 | 2271 + .../webkit/JavaScriptCore/ChangeLog-2003-10-25 | 1483 + .../webkit/JavaScriptCore/ChangeLog-2007-10-14 | 26221 ++++++ .../webkit/JavaScriptCore/ChangeLog-2008-08-10 | 31482 +++++++ .../webkit/JavaScriptCore/DerivedSources.make | 75 + .../ForwardingHeaders/JavaScriptCore/APICast.h | 1 + .../ForwardingHeaders/JavaScriptCore/JSBase.h | 1 + .../JavaScriptCore/JSContextRef.h | 1 + .../ForwardingHeaders/JavaScriptCore/JSObjectRef.h | 1 + .../ForwardingHeaders/JavaScriptCore/JSRetainPtr.h | 1 + .../ForwardingHeaders/JavaScriptCore/JSStringRef.h | 1 + .../JavaScriptCore/JSStringRefCF.h | 1 + .../ForwardingHeaders/JavaScriptCore/JSValueRef.h | 1 + .../ForwardingHeaders/JavaScriptCore/JavaScript.h | 1 + .../JavaScriptCore/JavaScriptCore.h | 1 + .../JavaScriptCore/OpaqueJSString.h | 1 + .../JavaScriptCore/WebKitAvailability.h | 1 + src/3rdparty/webkit/JavaScriptCore/Info.plist | 24 + .../webkit/JavaScriptCore/JavaScriptCore.order | 1526 + .../webkit/JavaScriptCore/JavaScriptCore.pri | 215 + .../webkit/JavaScriptCore/JavaScriptCore.pro | 72 + .../webkit/JavaScriptCore/JavaScriptCorePrefix.h | 44 + src/3rdparty/webkit/JavaScriptCore/THANKS | 8 + .../JavaScriptCore/assembler/AssemblerBuffer.h | 160 + .../JavaScriptCore/assembler/MacroAssembler.h | 1929 + .../webkit/JavaScriptCore/assembler/X86Assembler.h | 1675 + .../webkit/JavaScriptCore/bytecode/CodeBlock.cpp | 1605 + .../webkit/JavaScriptCore/bytecode/CodeBlock.h | 553 + .../webkit/JavaScriptCore/bytecode/EvalCodeCache.h | 80 + .../webkit/JavaScriptCore/bytecode/Instruction.h | 146 + .../webkit/JavaScriptCore/bytecode/JumpTable.cpp | 45 + .../webkit/JavaScriptCore/bytecode/JumpTable.h | 102 + .../webkit/JavaScriptCore/bytecode/Opcode.cpp | 186 + .../webkit/JavaScriptCore/bytecode/Opcode.h | 231 + .../JavaScriptCore/bytecode/SamplingTool.cpp | 300 + .../webkit/JavaScriptCore/bytecode/SamplingTool.h | 214 + .../JavaScriptCore/bytecode/StructureStubInfo.cpp | 80 + .../JavaScriptCore/bytecode/StructureStubInfo.h | 156 + .../bytecompiler/BytecodeGenerator.cpp | 1778 + .../bytecompiler/BytecodeGenerator.h | 479 + .../webkit/JavaScriptCore/bytecompiler/Label.h | 92 + .../JavaScriptCore/bytecompiler/LabelScope.h | 79 + .../JavaScriptCore/bytecompiler/RegisterID.h | 121 + .../JavaScriptCore/bytecompiler/SegmentedVector.h | 170 + src/3rdparty/webkit/JavaScriptCore/config.h | 66 + .../webkit/JavaScriptCore/create_hash_table | 278 + .../webkit/JavaScriptCore/debugger/Debugger.cpp | 54 + .../webkit/JavaScriptCore/debugger/Debugger.h | 59 + .../JavaScriptCore/debugger/DebuggerCallFrame.cpp | 81 + .../JavaScriptCore/debugger/DebuggerCallFrame.h | 67 + .../JavaScriptCore/docs/make-bytecode-docs.pl | 42 + .../JavaScriptCore/generated/ArrayPrototype.lut.h | 37 + .../JavaScriptCore/generated/DatePrototype.lut.h | 62 + .../webkit/JavaScriptCore/generated/Grammar.cpp | 5106 ++ .../webkit/JavaScriptCore/generated/Grammar.h | 232 + .../webkit/JavaScriptCore/generated/Lexer.lut.h | 54 + .../JavaScriptCore/generated/MathObject.lut.h | 36 + .../generated/NumberConstructor.lut.h | 23 + .../generated/RegExpConstructor.lut.h | 39 + .../JavaScriptCore/generated/RegExpObject.lut.h | 23 + .../JavaScriptCore/generated/StringPrototype.lut.h | 50 + .../webkit/JavaScriptCore/generated/chartables.c | 96 + src/3rdparty/webkit/JavaScriptCore/headers.pri | 9 + .../JavaScriptCore/interpreter/CallFrame.cpp | 38 + .../webkit/JavaScriptCore/interpreter/CallFrame.h | 147 + .../JavaScriptCore/interpreter/Interpreter.cpp | 6108 ++ .../JavaScriptCore/interpreter/Interpreter.h | 375 + .../webkit/JavaScriptCore/interpreter/Register.h | 299 + .../JavaScriptCore/interpreter/RegisterFile.cpp | 45 + .../JavaScriptCore/interpreter/RegisterFile.h | 222 + .../JavaScriptCore/jit/ExecutableAllocator.cpp | 38 + .../JavaScriptCore/jit/ExecutableAllocator.h | 179 + .../jit/ExecutableAllocatorPosix.cpp | 56 + .../JavaScriptCore/jit/ExecutableAllocatorWin.cpp | 56 + src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp | 1907 + src/3rdparty/webkit/JavaScriptCore/jit/JIT.h | 530 + .../webkit/JavaScriptCore/jit/JITArithmetic.cpp | 769 + src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp | 353 + .../webkit/JavaScriptCore/jit/JITInlineMethods.h | 406 + .../JavaScriptCore/jit/JITPropertyAccess.cpp | 704 + src/3rdparty/webkit/JavaScriptCore/jsc.cpp | 490 + .../JavaScriptCore/make-generated-sources.sh | 11 + .../webkit/JavaScriptCore/os-win32/stdbool.h | 45 + .../webkit/JavaScriptCore/os-win32/stdint.h | 66 + .../webkit/JavaScriptCore/os-wince/ce_time.cpp | 677 + .../webkit/JavaScriptCore/os-wince/ce_time.h | 16 + .../webkit/JavaScriptCore/parser/Grammar.y | 2084 + .../webkit/JavaScriptCore/parser/Keywords.table | 72 + .../webkit/JavaScriptCore/parser/Lexer.cpp | 900 + src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h | 171 + .../webkit/JavaScriptCore/parser/NodeInfo.h | 63 + .../webkit/JavaScriptCore/parser/Nodes.cpp | 2721 + src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h | 2418 + .../webkit/JavaScriptCore/parser/Parser.cpp | 104 + src/3rdparty/webkit/JavaScriptCore/parser/Parser.h | 123 + .../webkit/JavaScriptCore/parser/ResultType.h | 159 + .../webkit/JavaScriptCore/parser/SourceCode.h | 91 + .../webkit/JavaScriptCore/parser/SourceProvider.h | 79 + src/3rdparty/webkit/JavaScriptCore/pcre/AUTHORS | 12 + src/3rdparty/webkit/JavaScriptCore/pcre/COPYING | 35 + src/3rdparty/webkit/JavaScriptCore/pcre/dftables | 272 + src/3rdparty/webkit/JavaScriptCore/pcre/pcre.h | 68 + src/3rdparty/webkit/JavaScriptCore/pcre/pcre.pri | 35 + .../webkit/JavaScriptCore/pcre/pcre_compile.cpp | 2699 + .../webkit/JavaScriptCore/pcre/pcre_exec.cpp | 2176 + .../webkit/JavaScriptCore/pcre/pcre_internal.h | 423 + .../webkit/JavaScriptCore/pcre/pcre_tables.cpp | 72 + .../JavaScriptCore/pcre/pcre_ucp_searchfuncs.cpp | 99 + .../webkit/JavaScriptCore/pcre/pcre_xclass.cpp | 115 + .../webkit/JavaScriptCore/pcre/ucpinternal.h | 126 + .../webkit/JavaScriptCore/pcre/ucptable.cpp | 2968 + .../JavaScriptCore/profiler/CallIdentifier.h | 95 + .../JavaScriptCore/profiler/HeavyProfile.cpp | 115 + .../webkit/JavaScriptCore/profiler/HeavyProfile.h | 63 + .../webkit/JavaScriptCore/profiler/Profile.cpp | 137 + .../webkit/JavaScriptCore/profiler/Profile.h | 83 + .../JavaScriptCore/profiler/ProfileGenerator.cpp | 169 + .../JavaScriptCore/profiler/ProfileGenerator.h | 76 + .../webkit/JavaScriptCore/profiler/ProfileNode.cpp | 352 + .../webkit/JavaScriptCore/profiler/ProfileNode.h | 178 + .../webkit/JavaScriptCore/profiler/Profiler.cpp | 153 + .../webkit/JavaScriptCore/profiler/Profiler.h | 75 + .../JavaScriptCore/profiler/ProfilerServer.h | 35 + .../JavaScriptCore/profiler/ProfilerServer.mm | 106 + .../webkit/JavaScriptCore/profiler/TreeProfile.cpp | 51 + .../webkit/JavaScriptCore/profiler/TreeProfile.h | 51 + .../webkit/JavaScriptCore/runtime/ArgList.cpp | 84 + .../webkit/JavaScriptCore/runtime/ArgList.h | 161 + .../webkit/JavaScriptCore/runtime/Arguments.cpp | 232 + .../webkit/JavaScriptCore/runtime/Arguments.h | 227 + .../JavaScriptCore/runtime/ArrayConstructor.cpp | 84 + .../JavaScriptCore/runtime/ArrayConstructor.h | 40 + .../JavaScriptCore/runtime/ArrayPrototype.cpp | 794 + .../webkit/JavaScriptCore/runtime/ArrayPrototype.h | 41 + .../runtime/BatchedTransitionOptimizer.h | 55 + .../JavaScriptCore/runtime/BooleanConstructor.cpp | 78 + .../JavaScriptCore/runtime/BooleanConstructor.h | 44 + .../JavaScriptCore/runtime/BooleanObject.cpp | 35 + .../webkit/JavaScriptCore/runtime/BooleanObject.h | 46 + .../JavaScriptCore/runtime/BooleanPrototype.cpp | 82 + .../JavaScriptCore/runtime/BooleanPrototype.h | 35 + .../webkit/JavaScriptCore/runtime/ByteArray.cpp | 38 + .../webkit/JavaScriptCore/runtime/ByteArray.h | 70 + .../webkit/JavaScriptCore/runtime/CallData.cpp | 42 + .../webkit/JavaScriptCore/runtime/CallData.h | 63 + .../webkit/JavaScriptCore/runtime/ClassInfo.h | 62 + .../webkit/JavaScriptCore/runtime/Collector.cpp | 1223 + .../webkit/JavaScriptCore/runtime/Collector.h | 287 + .../JavaScriptCore/runtime/CollectorHeapIterator.h | 90 + .../JavaScriptCore/runtime/CommonIdentifiers.cpp | 38 + .../JavaScriptCore/runtime/CommonIdentifiers.h | 87 + .../webkit/JavaScriptCore/runtime/Completion.cpp | 77 + .../webkit/JavaScriptCore/runtime/Completion.h | 63 + .../JavaScriptCore/runtime/ConstructData.cpp | 42 + .../webkit/JavaScriptCore/runtime/ConstructData.h | 63 + .../JavaScriptCore/runtime/DateConstructor.cpp | 175 + .../JavaScriptCore/runtime/DateConstructor.h | 43 + .../webkit/JavaScriptCore/runtime/DateInstance.cpp | 116 + .../webkit/JavaScriptCore/runtime/DateInstance.h | 65 + .../webkit/JavaScriptCore/runtime/DateMath.cpp | 1067 + .../webkit/JavaScriptCore/runtime/DateMath.h | 191 + .../JavaScriptCore/runtime/DatePrototype.cpp | 1056 + .../webkit/JavaScriptCore/runtime/DatePrototype.h | 47 + .../webkit/JavaScriptCore/runtime/Error.cpp | 127 + src/3rdparty/webkit/JavaScriptCore/runtime/Error.h | 65 + .../JavaScriptCore/runtime/ErrorConstructor.cpp | 73 + .../JavaScriptCore/runtime/ErrorConstructor.h | 44 + .../JavaScriptCore/runtime/ErrorInstance.cpp | 33 + .../webkit/JavaScriptCore/runtime/ErrorInstance.h | 38 + .../JavaScriptCore/runtime/ErrorPrototype.cpp | 67 + .../webkit/JavaScriptCore/runtime/ErrorPrototype.h | 37 + .../JavaScriptCore/runtime/ExceptionHelpers.cpp | 234 + .../JavaScriptCore/runtime/ExceptionHelpers.h | 57 + .../JavaScriptCore/runtime/FunctionConstructor.cpp | 128 + .../JavaScriptCore/runtime/FunctionConstructor.h | 44 + .../JavaScriptCore/runtime/FunctionPrototype.cpp | 136 + .../JavaScriptCore/runtime/FunctionPrototype.h | 44 + .../webkit/JavaScriptCore/runtime/GetterSetter.cpp | 84 + .../webkit/JavaScriptCore/runtime/GetterSetter.h | 75 + .../JavaScriptCore/runtime/GlobalEvalFunction.cpp | 49 + .../JavaScriptCore/runtime/GlobalEvalFunction.h | 46 + .../webkit/JavaScriptCore/runtime/Identifier.cpp | 268 + .../webkit/JavaScriptCore/runtime/Identifier.h | 144 + .../JavaScriptCore/runtime/InitializeThreading.cpp | 72 + .../JavaScriptCore/runtime/InitializeThreading.h | 40 + .../JavaScriptCore/runtime/InternalFunction.cpp | 51 + .../JavaScriptCore/runtime/InternalFunction.h | 64 + .../webkit/JavaScriptCore/runtime/JSActivation.cpp | 184 + .../webkit/JavaScriptCore/runtime/JSActivation.h | 96 + .../webkit/JavaScriptCore/runtime/JSArray.cpp | 1005 + .../webkit/JavaScriptCore/runtime/JSArray.h | 126 + .../webkit/JavaScriptCore/runtime/JSByteArray.cpp | 95 + .../webkit/JavaScriptCore/runtime/JSByteArray.h | 111 + .../webkit/JavaScriptCore/runtime/JSCell.cpp | 223 + .../webkit/JavaScriptCore/runtime/JSCell.h | 311 + .../webkit/JavaScriptCore/runtime/JSFunction.cpp | 174 + .../webkit/JavaScriptCore/runtime/JSFunction.h | 103 + .../webkit/JavaScriptCore/runtime/JSGlobalData.cpp | 188 + .../webkit/JavaScriptCore/runtime/JSGlobalData.h | 138 + .../JavaScriptCore/runtime/JSGlobalObject.cpp | 460 + .../webkit/JavaScriptCore/runtime/JSGlobalObject.h | 380 + .../runtime/JSGlobalObjectFunctions.cpp | 432 + .../runtime/JSGlobalObjectFunctions.h | 58 + .../webkit/JavaScriptCore/runtime/JSImmediate.cpp | 96 + .../webkit/JavaScriptCore/runtime/JSImmediate.h | 601 + .../webkit/JavaScriptCore/runtime/JSLock.cpp | 200 + .../webkit/JavaScriptCore/runtime/JSLock.h | 102 + .../JavaScriptCore/runtime/JSNotAnObject.cpp | 125 + .../webkit/JavaScriptCore/runtime/JSNotAnObject.h | 97 + .../webkit/JavaScriptCore/runtime/JSNumberCell.cpp | 124 + .../webkit/JavaScriptCore/runtime/JSNumberCell.h | 262 + .../webkit/JavaScriptCore/runtime/JSObject.cpp | 518 + .../webkit/JavaScriptCore/runtime/JSObject.h | 554 + .../runtime/JSPropertyNameIterator.cpp | 90 + .../runtime/JSPropertyNameIterator.h | 116 + .../JavaScriptCore/runtime/JSStaticScopeObject.cpp | 84 + .../JavaScriptCore/runtime/JSStaticScopeObject.h | 69 + .../webkit/JavaScriptCore/runtime/JSString.cpp | 152 + .../webkit/JavaScriptCore/runtime/JSString.h | 214 + .../webkit/JavaScriptCore/runtime/JSType.h | 42 + .../webkit/JavaScriptCore/runtime/JSValue.cpp | 104 + .../webkit/JavaScriptCore/runtime/JSValue.h | 223 + .../JavaScriptCore/runtime/JSVariableObject.cpp | 70 + .../JavaScriptCore/runtime/JSVariableObject.h | 164 + .../JavaScriptCore/runtime/JSWrapperObject.cpp | 36 + .../JavaScriptCore/runtime/JSWrapperObject.h | 60 + .../webkit/JavaScriptCore/runtime/Lookup.cpp | 98 + .../webkit/JavaScriptCore/runtime/Lookup.h | 276 + .../webkit/JavaScriptCore/runtime/MathObject.cpp | 240 + .../webkit/JavaScriptCore/runtime/MathObject.h | 45 + .../runtime/NativeErrorConstructor.cpp | 73 + .../runtime/NativeErrorConstructor.h | 51 + .../runtime/NativeErrorPrototype.cpp | 39 + .../JavaScriptCore/runtime/NativeErrorPrototype.h | 35 + .../JavaScriptCore/runtime/NumberConstructor.cpp | 123 + .../JavaScriptCore/runtime/NumberConstructor.h | 55 + .../webkit/JavaScriptCore/runtime/NumberObject.cpp | 58 + .../webkit/JavaScriptCore/runtime/NumberObject.h | 47 + .../JavaScriptCore/runtime/NumberPrototype.cpp | 441 + .../JavaScriptCore/runtime/NumberPrototype.h | 35 + .../JavaScriptCore/runtime/ObjectConstructor.cpp | 72 + .../JavaScriptCore/runtime/ObjectConstructor.h | 41 + .../JavaScriptCore/runtime/ObjectPrototype.cpp | 134 + .../JavaScriptCore/runtime/ObjectPrototype.h | 37 + .../webkit/JavaScriptCore/runtime/Operations.cpp | 75 + .../webkit/JavaScriptCore/runtime/Operations.h | 137 + .../JavaScriptCore/runtime/PropertyMapHashTable.h | 87 + .../JavaScriptCore/runtime/PropertyNameArray.cpp | 50 + .../JavaScriptCore/runtime/PropertyNameArray.h | 112 + .../webkit/JavaScriptCore/runtime/PropertySlot.cpp | 45 + .../webkit/JavaScriptCore/runtime/PropertySlot.h | 213 + .../webkit/JavaScriptCore/runtime/Protect.h | 217 + .../JavaScriptCore/runtime/PrototypeFunction.cpp | 57 + .../JavaScriptCore/runtime/PrototypeFunction.h | 45 + .../JavaScriptCore/runtime/PutPropertySlot.h | 81 + .../webkit/JavaScriptCore/runtime/RegExp.cpp | 181 + .../webkit/JavaScriptCore/runtime/RegExp.h | 78 + .../JavaScriptCore/runtime/RegExpConstructor.cpp | 385 + .../JavaScriptCore/runtime/RegExpConstructor.h | 82 + .../JavaScriptCore/runtime/RegExpMatchesArray.h | 87 + .../webkit/JavaScriptCore/runtime/RegExpObject.cpp | 167 + .../webkit/JavaScriptCore/runtime/RegExpObject.h | 83 + .../JavaScriptCore/runtime/RegExpPrototype.cpp | 118 + .../JavaScriptCore/runtime/RegExpPrototype.h | 38 + .../webkit/JavaScriptCore/runtime/ScopeChain.cpp | 68 + .../webkit/JavaScriptCore/runtime/ScopeChain.h | 225 + .../webkit/JavaScriptCore/runtime/ScopeChainMark.h | 39 + .../webkit/JavaScriptCore/runtime/SmallStrings.cpp | 112 + .../webkit/JavaScriptCore/runtime/SmallStrings.h | 72 + .../JavaScriptCore/runtime/StringConstructor.cpp | 90 + .../JavaScriptCore/runtime/StringConstructor.h | 40 + .../webkit/JavaScriptCore/runtime/StringObject.cpp | 101 + .../webkit/JavaScriptCore/runtime/StringObject.h | 72 + .../StringObjectThatMasqueradesAsUndefined.h | 55 + .../JavaScriptCore/runtime/StringPrototype.cpp | 779 + .../JavaScriptCore/runtime/StringPrototype.h | 42 + .../webkit/JavaScriptCore/runtime/Structure.cpp | 1047 + .../webkit/JavaScriptCore/runtime/Structure.h | 228 + .../JavaScriptCore/runtime/StructureChain.cpp | 73 + .../webkit/JavaScriptCore/runtime/StructureChain.h | 54 + .../runtime/StructureTransitionTable.h | 72 + .../webkit/JavaScriptCore/runtime/SymbolTable.h | 126 + .../webkit/JavaScriptCore/runtime/Tracing.d | 40 + .../webkit/JavaScriptCore/runtime/Tracing.h | 50 + .../webkit/JavaScriptCore/runtime/TypeInfo.h | 63 + .../webkit/JavaScriptCore/runtime/UString.cpp | 1638 + .../webkit/JavaScriptCore/runtime/UString.h | 385 + .../webkit/JavaScriptCore/wrec/CharacterClass.cpp | 140 + .../webkit/JavaScriptCore/wrec/CharacterClass.h | 68 + .../wrec/CharacterClassConstructor.cpp | 257 + .../wrec/CharacterClassConstructor.h | 99 + src/3rdparty/webkit/JavaScriptCore/wrec/Escapes.h | 150 + .../webkit/JavaScriptCore/wrec/Quantifier.h | 66 + src/3rdparty/webkit/JavaScriptCore/wrec/WREC.cpp | 89 + src/3rdparty/webkit/JavaScriptCore/wrec/WREC.h | 54 + .../webkit/JavaScriptCore/wrec/WRECFunctors.cpp | 80 + .../webkit/JavaScriptCore/wrec/WRECFunctors.h | 109 + .../webkit/JavaScriptCore/wrec/WRECGenerator.cpp | 665 + .../webkit/JavaScriptCore/wrec/WRECGenerator.h | 112 + .../webkit/JavaScriptCore/wrec/WRECParser.cpp | 637 + .../webkit/JavaScriptCore/wrec/WRECParser.h | 214 + .../webkit/JavaScriptCore/wtf/ASCIICType.h | 152 + src/3rdparty/webkit/JavaScriptCore/wtf/AVLTree.h | 959 + .../webkit/JavaScriptCore/wtf/AlwaysInline.h | 55 + .../webkit/JavaScriptCore/wtf/Assertions.cpp | 186 + .../webkit/JavaScriptCore/wtf/Assertions.h | 245 + src/3rdparty/webkit/JavaScriptCore/wtf/Deque.h | 592 + .../webkit/JavaScriptCore/wtf/DisallowCType.h | 74 + .../webkit/JavaScriptCore/wtf/FastMalloc.cpp | 3851 + .../webkit/JavaScriptCore/wtf/FastMalloc.h | 97 + src/3rdparty/webkit/JavaScriptCore/wtf/Forward.h | 43 + src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.cpp | 59 + src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h | 97 + src/3rdparty/webkit/JavaScriptCore/wtf/GetPtr.h | 33 + .../webkit/JavaScriptCore/wtf/HashCountedSet.h | 204 + .../webkit/JavaScriptCore/wtf/HashFunctions.h | 186 + .../webkit/JavaScriptCore/wtf/HashIterators.h | 216 + src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h | 334 + src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h | 271 + .../webkit/JavaScriptCore/wtf/HashTable.cpp | 69 + src/3rdparty/webkit/JavaScriptCore/wtf/HashTable.h | 1158 + .../webkit/JavaScriptCore/wtf/HashTraits.h | 156 + .../webkit/JavaScriptCore/wtf/ListHashSet.h | 616 + .../webkit/JavaScriptCore/wtf/ListRefPtr.h | 61 + src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h | 47 + .../webkit/JavaScriptCore/wtf/MainThread.cpp | 142 + .../webkit/JavaScriptCore/wtf/MainThread.h | 57 + .../webkit/JavaScriptCore/wtf/MallocZoneSupport.h | 65 + .../webkit/JavaScriptCore/wtf/MathExtras.h | 180 + .../webkit/JavaScriptCore/wtf/MessageQueue.h | 136 + .../webkit/JavaScriptCore/wtf/Noncopyable.h | 41 + src/3rdparty/webkit/JavaScriptCore/wtf/NotFound.h | 35 + .../webkit/JavaScriptCore/wtf/OwnArrayPtr.h | 71 + src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h | 129 + .../webkit/JavaScriptCore/wtf/OwnPtrWin.cpp | 69 + .../webkit/JavaScriptCore/wtf/PassRefPtr.h | 195 + src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h | 505 + .../webkit/JavaScriptCore/wtf/RandomNumber.cpp | 87 + .../webkit/JavaScriptCore/wtf/RandomNumber.h | 36 + .../webkit/JavaScriptCore/wtf/RandomNumberSeed.h | 66 + .../webkit/JavaScriptCore/wtf/RefCounted.h | 107 + .../JavaScriptCore/wtf/RefCountedLeakCounter.cpp | 100 + .../JavaScriptCore/wtf/RefCountedLeakCounter.h | 48 + src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h | 205 + .../webkit/JavaScriptCore/wtf/RefPtrHashMap.h | 336 + src/3rdparty/webkit/JavaScriptCore/wtf/RetainPtr.h | 210 + .../webkit/JavaScriptCore/wtf/StdLibExtras.h | 38 + .../webkit/JavaScriptCore/wtf/StringExtras.h | 84 + .../webkit/JavaScriptCore/wtf/TCPackedCache.h | 234 + src/3rdparty/webkit/JavaScriptCore/wtf/TCPageMap.h | 289 + .../webkit/JavaScriptCore/wtf/TCSpinLock.h | 239 + .../webkit/JavaScriptCore/wtf/TCSystemAlloc.cpp | 437 + .../webkit/JavaScriptCore/wtf/TCSystemAlloc.h | 71 + .../webkit/JavaScriptCore/wtf/ThreadSpecific.h | 229 + .../JavaScriptCore/wtf/ThreadSpecificWin.cpp | 45 + .../webkit/JavaScriptCore/wtf/Threading.cpp | 81 + src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h | 276 + .../webkit/JavaScriptCore/wtf/ThreadingGtk.cpp | 244 + .../webkit/JavaScriptCore/wtf/ThreadingNone.cpp | 58 + .../JavaScriptCore/wtf/ThreadingPthreads.cpp | 275 + .../webkit/JavaScriptCore/wtf/ThreadingQt.cpp | 257 + .../webkit/JavaScriptCore/wtf/ThreadingWin.cpp | 472 + .../webkit/JavaScriptCore/wtf/UnusedParam.h | 29 + src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h | 950 + .../webkit/JavaScriptCore/wtf/VectorTraits.h | 119 + src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp | 2439 + src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.h | 38 + .../webkit/JavaScriptCore/wtf/qt/MainThreadQt.cpp | 69 + .../webkit/JavaScriptCore/wtf/unicode/Collator.h | 67 + .../JavaScriptCore/wtf/unicode/CollatorDefault.cpp | 75 + .../webkit/JavaScriptCore/wtf/unicode/UTF8.cpp | 303 + .../webkit/JavaScriptCore/wtf/unicode/UTF8.h | 75 + .../webkit/JavaScriptCore/wtf/unicode/Unicode.h | 37 + .../JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp | 144 + .../JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h | 219 + .../JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h | 526 + src/3rdparty/webkit/VERSION | 11 + src/3rdparty/webkit/WebCore/ChangeLog | 41580 +++++++++ src/3rdparty/webkit/WebCore/ChangeLog-2002-12-03 | 17943 ++++ src/3rdparty/webkit/WebCore/ChangeLog-2003-10-25 | 18662 ++++ src/3rdparty/webkit/WebCore/ChangeLog-2005-08-23 | 58892 +++++++++++++ src/3rdparty/webkit/WebCore/ChangeLog-2005-12-19 | 27451 ++++++ src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 | 39107 +++++++++ src/3rdparty/webkit/WebCore/ChangeLog-2006-12-31 | 56037 ++++++++++++ src/3rdparty/webkit/WebCore/ChangeLog-2007-10-14 | 70865 +++++++++++++++ src/3rdparty/webkit/WebCore/ChangeLog-2008-08-10 | 82205 ++++++++++++++++++ src/3rdparty/webkit/WebCore/DerivedSources.cpp | 338 + .../WebCore/ForwardingHeaders/debugger/Debugger.h | 1 + .../ForwardingHeaders/debugger/DebuggerCallFrame.h | 1 + .../ForwardingHeaders/interpreter/CallFrame.h | 1 + .../ForwardingHeaders/interpreter/Interpreter.h | 1 + .../WebCore/ForwardingHeaders/masm/X86Assembler.h | 1 + .../WebCore/ForwardingHeaders/parser/Parser.h | 1 + .../WebCore/ForwardingHeaders/parser/SourceCode.h | 1 + .../ForwardingHeaders/parser/SourceProvider.h | 1 + .../webkit/WebCore/ForwardingHeaders/pcre/pcre.h | 1 + .../WebCore/ForwardingHeaders/profiler/Profile.h | 1 + .../ForwardingHeaders/profiler/ProfileNode.h | 1 + .../WebCore/ForwardingHeaders/profiler/Profiler.h | 1 + .../WebCore/ForwardingHeaders/runtime/ArgList.h | 1 + .../ForwardingHeaders/runtime/ArrayPrototype.h | 1 + .../ForwardingHeaders/runtime/BooleanObject.h | 1 + .../WebCore/ForwardingHeaders/runtime/ByteArray.h | 1 + .../WebCore/ForwardingHeaders/runtime/CallData.h | 1 + .../WebCore/ForwardingHeaders/runtime/Collector.h | 1 + .../runtime/CollectorHeapIterator.h | 1 + .../WebCore/ForwardingHeaders/runtime/Completion.h | 1 + .../ForwardingHeaders/runtime/ConstructData.h | 1 + .../ForwardingHeaders/runtime/DateInstance.h | 1 + .../WebCore/ForwardingHeaders/runtime/Error.h | 1 + .../runtime/FunctionConstructor.h | 1 + .../ForwardingHeaders/runtime/FunctionPrototype.h | 1 + .../WebCore/ForwardingHeaders/runtime/Identifier.h | 1 + .../runtime/InitializeThreading.h | 1 + .../ForwardingHeaders/runtime/InternalFunction.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSArray.h | 1 + .../ForwardingHeaders/runtime/JSByteArray.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSFunction.h | 1 + .../ForwardingHeaders/runtime/JSGlobalData.h | 1 + .../ForwardingHeaders/runtime/JSGlobalObject.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSLock.h | 1 + .../ForwardingHeaders/runtime/JSNumberCell.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSObject.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSString.h | 1 + .../WebCore/ForwardingHeaders/runtime/JSValue.h | 1 + .../WebCore/ForwardingHeaders/runtime/Lookup.h | 1 + .../ForwardingHeaders/runtime/ObjectPrototype.h | 1 + .../WebCore/ForwardingHeaders/runtime/Operations.h | 1 + .../ForwardingHeaders/runtime/PropertyMap.h | 1 + .../ForwardingHeaders/runtime/PropertyNameArray.h | 1 + .../WebCore/ForwardingHeaders/runtime/Protect.h | 1 + .../ForwardingHeaders/runtime/PrototypeFunction.h | 1 + .../ForwardingHeaders/runtime/StringObject.h | 1 + .../StringObjectThatMasqueradesAsUndefined.h | 1 + .../ForwardingHeaders/runtime/StringPrototype.h | 1 + .../WebCore/ForwardingHeaders/runtime/Structure.h | 1 + .../ForwardingHeaders/runtime/SymbolTable.h | 1 + .../WebCore/ForwardingHeaders/runtime/UString.h | 1 + .../webkit/WebCore/ForwardingHeaders/wrec/WREC.h | 1 + .../WebCore/ForwardingHeaders/wtf/ASCIICType.h | 1 + .../WebCore/ForwardingHeaders/wtf/AlwaysInline.h | 1 + .../WebCore/ForwardingHeaders/wtf/Assertions.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/Deque.h | 1 + .../WebCore/ForwardingHeaders/wtf/DisallowCType.h | 1 + .../WebCore/ForwardingHeaders/wtf/FastMalloc.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/Forward.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/GetPtr.h | 1 + .../WebCore/ForwardingHeaders/wtf/HashCountedSet.h | 1 + .../WebCore/ForwardingHeaders/wtf/HashFunctions.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/HashMap.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/HashSet.h | 1 + .../WebCore/ForwardingHeaders/wtf/HashTable.h | 1 + .../WebCore/ForwardingHeaders/wtf/HashTraits.h | 1 + .../WebCore/ForwardingHeaders/wtf/ListHashSet.h | 1 + .../WebCore/ForwardingHeaders/wtf/ListRefPtr.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/Locker.h | 1 + .../WebCore/ForwardingHeaders/wtf/MainThread.h | 1 + .../WebCore/ForwardingHeaders/wtf/MathExtras.h | 1 + .../WebCore/ForwardingHeaders/wtf/MessageQueue.h | 1 + .../WebCore/ForwardingHeaders/wtf/Noncopyable.h | 1 + .../WebCore/ForwardingHeaders/wtf/NotFound.h | 1 + .../WebCore/ForwardingHeaders/wtf/OwnArrayPtr.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/OwnPtr.h | 1 + .../WebCore/ForwardingHeaders/wtf/PassRefPtr.h | 1 + .../WebCore/ForwardingHeaders/wtf/Platform.h | 1 + .../WebCore/ForwardingHeaders/wtf/RandomNumber.h | 1 + .../WebCore/ForwardingHeaders/wtf/RefCounted.h | 1 + .../ForwardingHeaders/wtf/RefCountedLeakCounter.h | 2 + .../webkit/WebCore/ForwardingHeaders/wtf/RefPtr.h | 1 + .../WebCore/ForwardingHeaders/wtf/RetainPtr.h | 1 + .../WebCore/ForwardingHeaders/wtf/StdLibExtras.h | 1 + .../WebCore/ForwardingHeaders/wtf/StringExtras.h | 1 + .../WebCore/ForwardingHeaders/wtf/ThreadSpecific.h | 1 + .../WebCore/ForwardingHeaders/wtf/Threading.h | 1 + .../WebCore/ForwardingHeaders/wtf/UnusedParam.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/Vector.h | 1 + .../WebCore/ForwardingHeaders/wtf/VectorTraits.h | 1 + .../webkit/WebCore/ForwardingHeaders/wtf/dtoa.h | 1 + .../ForwardingHeaders/wtf/unicode/Collator.h | 1 + .../WebCore/ForwardingHeaders/wtf/unicode/UTF8.h | 1 + .../ForwardingHeaders/wtf/unicode/Unicode.h | 1 + .../ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h | 1 + src/3rdparty/webkit/WebCore/Info.plist | 24 + src/3rdparty/webkit/WebCore/LICENSE-APPLE | 22 + src/3rdparty/webkit/WebCore/LICENSE-LGPL-2 | 481 + src/3rdparty/webkit/WebCore/LICENSE-LGPL-2.1 | 502 + .../webkit/WebCore/Resources/aliasCursor.png | Bin 0 -> 752 bytes .../webkit/WebCore/Resources/cellCursor.png | Bin 0 -> 183 bytes .../webkit/WebCore/Resources/contextMenuCursor.png | Bin 0 -> 523 bytes .../webkit/WebCore/Resources/copyCursor.png | Bin 0 -> 1652 bytes .../webkit/WebCore/Resources/crossHairCursor.png | Bin 0 -> 319 bytes .../webkit/WebCore/Resources/deleteButton.png | Bin 0 -> 2230 bytes .../webkit/WebCore/Resources/deleteButton.tiff | Bin 0 -> 2546 bytes .../WebCore/Resources/deleteButtonPressed.png | Bin 0 -> 2319 bytes .../WebCore/Resources/deleteButtonPressed.tiff | Bin 0 -> 2550 bytes .../webkit/WebCore/Resources/eastResizeCursor.png | Bin 0 -> 123 bytes .../WebCore/Resources/eastWestResizeCursor.png | Bin 0 -> 126 bytes .../webkit/WebCore/Resources/helpCursor.png | Bin 0 -> 239 bytes .../webkit/WebCore/Resources/linkCursor.png | Bin 0 -> 341 bytes .../webkit/WebCore/Resources/missingImage.png | Bin 0 -> 411 bytes .../webkit/WebCore/Resources/missingImage.tiff | Bin 0 -> 654 bytes .../webkit/WebCore/Resources/moveCursor.png | Bin 0 -> 175 bytes .../webkit/WebCore/Resources/noDropCursor.png | Bin 0 -> 1455 bytes .../webkit/WebCore/Resources/noneCursor.png | Bin 0 -> 90 bytes .../WebCore/Resources/northEastResizeCursor.png | Bin 0 -> 209 bytes .../Resources/northEastSouthWestResizeCursor.png | Bin 0 -> 212 bytes .../webkit/WebCore/Resources/northResizeCursor.png | Bin 0 -> 125 bytes .../WebCore/Resources/northSouthResizeCursor.png | Bin 0 -> 144 bytes .../WebCore/Resources/northWestResizeCursor.png | Bin 0 -> 174 bytes .../Resources/northWestSouthEastResizeCursor.png | Bin 0 -> 193 bytes .../webkit/WebCore/Resources/notAllowedCursor.png | Bin 0 -> 1101 bytes .../webkit/WebCore/Resources/nullPlugin.png | Bin 0 -> 1286 bytes .../webkit/WebCore/Resources/progressCursor.png | Bin 0 -> 1791 bytes .../WebCore/Resources/southEastResizeCursor.png | Bin 0 -> 166 bytes .../webkit/WebCore/Resources/southResizeCursor.png | Bin 0 -> 128 bytes .../WebCore/Resources/southWestResizeCursor.png | Bin 0 -> 177 bytes .../WebCore/Resources/textAreaResizeCorner.png | Bin 0 -> 146 bytes .../WebCore/Resources/textAreaResizeCorner.tiff | Bin 0 -> 254 bytes src/3rdparty/webkit/WebCore/Resources/urlIcon.png | Bin 0 -> 819 bytes .../WebCore/Resources/verticalTextCursor.png | Bin 0 -> 120 bytes .../webkit/WebCore/Resources/waitCursor.png | Bin 0 -> 125 bytes .../webkit/WebCore/Resources/westResizeCursor.png | Bin 0 -> 122 bytes .../webkit/WebCore/Resources/zoomInCursor.png | Bin 0 -> 199 bytes .../webkit/WebCore/Resources/zoomOutCursor.png | Bin 0 -> 182 bytes .../webkit/WebCore/WebCore.DashboardSupport.exp | 3 + src/3rdparty/webkit/WebCore/WebCore.JNI.exp | 10 + src/3rdparty/webkit/WebCore/WebCore.LP64.exp | 3 + src/3rdparty/webkit/WebCore/WebCore.NPAPI.exp | 23 + .../webkit/WebCore/WebCore.SVG.Animation.exp | 2 + .../webkit/WebCore/WebCore.SVG.Filters.exp | 24 + .../webkit/WebCore/WebCore.SVG.ForeignObject.exp | 1 + src/3rdparty/webkit/WebCore/WebCore.SVG.exp | 95 + src/3rdparty/webkit/WebCore/WebCore.Tiger.exp | 13 + src/3rdparty/webkit/WebCore/WebCore.order | 14111 +++ src/3rdparty/webkit/WebCore/WebCore.pro | 2038 + src/3rdparty/webkit/WebCore/WebCore.qrc | 19 + src/3rdparty/webkit/WebCore/WebCorePrefix.cpp | 27 + src/3rdparty/webkit/WebCore/WebCorePrefix.h | 126 + .../bindings/js/CachedScriptSourceProvider.h | 67 + .../webkit/WebCore/bindings/js/DOMTimer.cpp | 177 + src/3rdparty/webkit/WebCore/bindings/js/DOMTimer.h | 68 + .../webkit/WebCore/bindings/js/GCController.cpp | 94 + .../webkit/WebCore/bindings/js/GCController.h | 55 + .../webkit/WebCore/bindings/js/JSAttrCustom.cpp | 61 + .../WebCore/bindings/js/JSAudioConstructor.cpp | 80 + .../WebCore/bindings/js/JSAudioConstructor.h | 58 + .../webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp | 97 + .../bindings/js/JSCSSStyleDeclarationCustom.cpp | 175 + .../bindings/js/JSCSSStyleDeclarationCustom.h | 31 + .../WebCore/bindings/js/JSCSSValueCustom.cpp | 75 + .../js/JSCanvasRenderingContext2DCustom.cpp | 389 + .../WebCore/bindings/js/JSClipboardCustom.cpp | 142 + .../webkit/WebCore/bindings/js/JSConsoleCustom.cpp | 51 + .../bindings/js/JSCustomPositionCallback.cpp | 86 + .../WebCore/bindings/js/JSCustomPositionCallback.h | 58 + .../bindings/js/JSCustomPositionErrorCallback.cpp | 84 + .../bindings/js/JSCustomPositionErrorCallback.h | 58 + .../bindings/js/JSCustomSQLStatementCallback.cpp | 94 + .../bindings/js/JSCustomSQLStatementCallback.h | 62 + .../js/JSCustomSQLStatementErrorCallback.cpp | 106 + .../js/JSCustomSQLStatementErrorCallback.h | 63 + .../bindings/js/JSCustomSQLTransactionCallback.cpp | 139 + .../bindings/js/JSCustomSQLTransactionCallback.h | 63 + .../js/JSCustomSQLTransactionErrorCallback.cpp | 92 + .../js/JSCustomSQLTransactionErrorCallback.h | 62 + .../WebCore/bindings/js/JSCustomVoidCallback.cpp | 102 + .../WebCore/bindings/js/JSCustomVoidCallback.h | 62 + .../bindings/js/JSCustomXPathNSResolver.cpp | 121 + .../WebCore/bindings/js/JSCustomXPathNSResolver.h | 64 + .../bindings/js/JSDOMApplicationCacheCustom.cpp | 146 + .../webkit/WebCore/bindings/js/JSDOMBinding.cpp | 538 + .../webkit/WebCore/bindings/js/JSDOMBinding.h | 188 + .../WebCore/bindings/js/JSDOMGlobalObject.cpp | 175 + .../webkit/WebCore/bindings/js/JSDOMGlobalObject.h | 125 + .../WebCore/bindings/js/JSDOMStringListCustom.cpp | 49 + .../webkit/WebCore/bindings/js/JSDOMWindowBase.cpp | 875 + .../webkit/WebCore/bindings/js/JSDOMWindowBase.h | 130 + .../WebCore/bindings/js/JSDOMWindowCustom.cpp | 325 + .../webkit/WebCore/bindings/js/JSDOMWindowCustom.h | 202 + .../WebCore/bindings/js/JSDOMWindowShell.cpp | 177 + .../webkit/WebCore/bindings/js/JSDOMWindowShell.h | 92 + .../WebCore/bindings/js/JSDatabaseCustom.cpp | 128 + .../WebCore/bindings/js/JSDocumentCustom.cpp | 110 + .../bindings/js/JSDocumentFragmentCustom.cpp | 40 + .../webkit/WebCore/bindings/js/JSElementCustom.cpp | 151 + .../webkit/WebCore/bindings/js/JSEventCustom.cpp | 132 + .../webkit/WebCore/bindings/js/JSEventListener.cpp | 340 + .../webkit/WebCore/bindings/js/JSEventListener.h | 125 + .../webkit/WebCore/bindings/js/JSEventTarget.cpp | 90 + .../webkit/WebCore/bindings/js/JSEventTarget.h | 43 + .../webkit/WebCore/bindings/js/JSEventTargetBase.h | 92 + .../bindings/js/JSEventTargetNodeCustom.cpp | 71 + .../WebCore/bindings/js/JSGeolocationCustom.cpp | 143 + .../WebCore/bindings/js/JSHTMLAllCollection.cpp | 35 + .../WebCore/bindings/js/JSHTMLAllCollection.h | 56 + .../bindings/js/JSHTMLAppletElementCustom.cpp | 61 + .../bindings/js/JSHTMLAppletElementCustom.h | 31 + .../WebCore/bindings/js/JSHTMLCollectionCustom.cpp | 151 + .../WebCore/bindings/js/JSHTMLDocumentCustom.cpp | 156 + .../WebCore/bindings/js/JSHTMLElementCustom.cpp | 51 + .../bindings/js/JSHTMLEmbedElementCustom.cpp | 61 + .../WebCore/bindings/js/JSHTMLEmbedElementCustom.h | 31 + .../bindings/js/JSHTMLFormElementCustom.cpp | 58 + .../bindings/js/JSHTMLFrameElementCustom.cpp | 74 + .../bindings/js/JSHTMLFrameSetElementCustom.cpp | 63 + .../bindings/js/JSHTMLIFrameElementCustom.cpp | 55 + .../bindings/js/JSHTMLInputElementCustom.cpp | 72 + .../WebCore/bindings/js/JSHTMLInputElementCustom.h | 31 + .../bindings/js/JSHTMLObjectElementCustom.cpp | 61 + .../bindings/js/JSHTMLObjectElementCustom.h | 31 + .../bindings/js/JSHTMLOptionsCollectionCustom.cpp | 98 + .../bindings/js/JSHTMLSelectElementCustom.cpp | 69 + .../bindings/js/JSHTMLSelectElementCustom.h | 40 + .../webkit/WebCore/bindings/js/JSHistoryCustom.cpp | 119 + .../webkit/WebCore/bindings/js/JSHistoryCustom.h | 33 + .../WebCore/bindings/js/JSImageConstructor.cpp | 86 + .../WebCore/bindings/js/JSImageConstructor.h | 45 + .../WebCore/bindings/js/JSImageDataCustom.cpp | 58 + .../bindings/js/JSInspectedObjectWrapper.cpp | 127 + .../WebCore/bindings/js/JSInspectedObjectWrapper.h | 59 + .../bindings/js/JSInspectorCallbackWrapper.cpp | 107 + .../bindings/js/JSInspectorCallbackWrapper.h | 53 + .../bindings/js/JSJavaScriptCallFrameCustom.cpp | 86 + .../WebCore/bindings/js/JSLocationCustom.cpp | 309 + .../webkit/WebCore/bindings/js/JSLocationCustom.h | 33 + .../bindings/js/JSMessageChannelConstructor.cpp | 79 + .../bindings/js/JSMessageChannelConstructor.h | 55 + .../WebCore/bindings/js/JSMessageChannelCustom.cpp | 52 + .../WebCore/bindings/js/JSMessagePortCustom.cpp | 100 + .../WebCore/bindings/js/JSMimeTypeArrayCustom.cpp | 42 + .../WebCore/bindings/js/JSNamedNodeMapCustom.cpp | 50 + .../WebCore/bindings/js/JSNamedNodesCollection.cpp | 92 + .../WebCore/bindings/js/JSNamedNodesCollection.h | 66 + .../WebCore/bindings/js/JSNavigatorCustom.cpp | 125 + .../webkit/WebCore/bindings/js/JSNodeCustom.cpp | 241 + .../WebCore/bindings/js/JSNodeFilterCondition.cpp | 79 + .../WebCore/bindings/js/JSNodeFilterCondition.h | 49 + .../WebCore/bindings/js/JSNodeFilterCustom.cpp | 57 + .../WebCore/bindings/js/JSNodeIteratorCustom.cpp | 70 + .../WebCore/bindings/js/JSNodeListCustom.cpp | 65 + .../WebCore/bindings/js/JSOptionConstructor.cpp | 87 + .../WebCore/bindings/js/JSOptionConstructor.h | 46 + .../WebCore/bindings/js/JSPluginArrayCustom.cpp | 42 + .../webkit/WebCore/bindings/js/JSPluginCustom.cpp | 41 + .../bindings/js/JSPluginElementFunctions.cpp | 122 + .../WebCore/bindings/js/JSPluginElementFunctions.h | 41 + .../bindings/js/JSQuarantinedObjectWrapper.cpp | 278 + .../bindings/js/JSQuarantinedObjectWrapper.h | 101 + .../webkit/WebCore/bindings/js/JSRGBColor.cpp | 85 + .../webkit/WebCore/bindings/js/JSRGBColor.h | 59 + .../bindings/js/JSSQLResultSetRowListCustom.cpp | 81 + .../WebCore/bindings/js/JSSQLTransactionCustom.cpp | 114 + .../bindings/js/JSSVGElementInstanceCustom.cpp | 69 + .../WebCore/bindings/js/JSSVGLengthCustom.cpp | 48 + .../WebCore/bindings/js/JSSVGMatrixCustom.cpp | 132 + .../WebCore/bindings/js/JSSVGPODTypeWrapper.h | 411 + .../WebCore/bindings/js/JSSVGPathSegCustom.cpp | 119 + .../WebCore/bindings/js/JSSVGPathSegListCustom.cpp | 166 + .../WebCore/bindings/js/JSSVGPointListCustom.cpp | 153 + .../bindings/js/JSSVGTransformListCustom.cpp | 153 + .../webkit/WebCore/bindings/js/JSStorageCustom.cpp | 103 + .../webkit/WebCore/bindings/js/JSStorageCustom.h | 31 + .../WebCore/bindings/js/JSStyleSheetCustom.cpp | 71 + .../WebCore/bindings/js/JSStyleSheetListCustom.cpp | 51 + .../webkit/WebCore/bindings/js/JSTextCustom.cpp | 43 + .../WebCore/bindings/js/JSTreeWalkerCustom.cpp | 96 + .../WebCore/bindings/js/JSWorkerConstructor.cpp | 76 + .../WebCore/bindings/js/JSWorkerConstructor.h | 51 + .../WebCore/bindings/js/JSWorkerContextBase.cpp | 86 + .../WebCore/bindings/js/JSWorkerContextBase.h | 59 + .../WebCore/bindings/js/JSWorkerContextCustom.cpp | 98 + .../webkit/WebCore/bindings/js/JSWorkerCustom.cpp | 87 + .../bindings/js/JSXMLHttpRequestConstructor.cpp | 63 + .../bindings/js/JSXMLHttpRequestConstructor.h | 44 + .../WebCore/bindings/js/JSXMLHttpRequestCustom.cpp | 208 + .../bindings/js/JSXMLHttpRequestUploadCustom.cpp | 104 + .../bindings/js/JSXSLTProcessorConstructor.cpp | 63 + .../bindings/js/JSXSLTProcessorConstructor.h | 49 + .../WebCore/bindings/js/JSXSLTProcessorCustom.cpp | 121 + .../webkit/WebCore/bindings/js/ScheduledAction.cpp | 105 + .../webkit/WebCore/bindings/js/ScheduledAction.h | 56 + .../WebCore/bindings/js/ScriptCachedPageData.cpp | 93 + .../WebCore/bindings/js/ScriptCachedPageData.h | 56 + .../webkit/WebCore/bindings/js/ScriptCallFrame.cpp | 61 + .../webkit/WebCore/bindings/js/ScriptCallFrame.h | 74 + .../webkit/WebCore/bindings/js/ScriptCallStack.cpp | 103 + .../webkit/WebCore/bindings/js/ScriptCallStack.h | 67 + .../WebCore/bindings/js/ScriptController.cpp | 355 + .../webkit/WebCore/bindings/js/ScriptController.h | 166 + .../WebCore/bindings/js/ScriptControllerGtk.cpp | 48 + .../WebCore/bindings/js/ScriptControllerMac.mm | 172 + .../WebCore/bindings/js/ScriptControllerQt.cpp | 65 + .../WebCore/bindings/js/ScriptControllerWin.cpp | 45 + .../WebCore/bindings/js/ScriptControllerWx.cpp | 44 + .../webkit/WebCore/bindings/js/ScriptInstance.h | 44 + .../webkit/WebCore/bindings/js/ScriptSourceCode.h | 62 + .../webkit/WebCore/bindings/js/ScriptState.h | 49 + .../webkit/WebCore/bindings/js/ScriptString.h | 86 + .../webkit/WebCore/bindings/js/ScriptValue.cpp | 67 + .../webkit/WebCore/bindings/js/ScriptValue.h | 55 + .../WebCore/bindings/js/StringSourceProvider.h | 61 + .../WebCore/bindings/js/WorkerScriptController.cpp | 115 + .../WebCore/bindings/js/WorkerScriptController.h | 83 + .../WebCore/bindings/scripts/CodeGenerator.pm | 393 + .../WebCore/bindings/scripts/CodeGeneratorCOM.pm | 1313 + .../WebCore/bindings/scripts/CodeGeneratorJS.pm | 2044 + .../WebCore/bindings/scripts/CodeGeneratorObjC.pm | 1731 + .../webkit/WebCore/bindings/scripts/IDLParser.pm | 416 + .../WebCore/bindings/scripts/IDLStructure.pm | 107 + .../WebCore/bindings/scripts/InFilesParser.pm | 140 + .../WebCore/bindings/scripts/generate-bindings.pl | 69 + src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp | 460 + src/3rdparty/webkit/WebCore/bridge/NP_jsobject.h | 55 + src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp | 124 + src/3rdparty/webkit/WebCore/bridge/c/c_class.h | 61 + .../webkit/WebCore/bridge/c/c_instance.cpp | 234 + src/3rdparty/webkit/WebCore/bridge/c/c_instance.h | 86 + src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp | 97 + src/3rdparty/webkit/WebCore/bridge/c/c_runtime.h | 67 + src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp | 152 + src/3rdparty/webkit/WebCore/bridge/c/c_utility.h | 76 + .../webkit/WebCore/bridge/jni/jni_class.cpp | 143 + src/3rdparty/webkit/WebCore/bridge/jni/jni_class.h | 66 + .../webkit/WebCore/bridge/jni/jni_instance.cpp | 330 + .../webkit/WebCore/bridge/jni/jni_instance.h | 110 + .../webkit/WebCore/bridge/jni/jni_jsobject.h | 129 + .../webkit/WebCore/bridge/jni/jni_jsobject.mm | 720 + src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm | 83 + .../webkit/WebCore/bridge/jni/jni_runtime.cpp | 547 + .../webkit/WebCore/bridge/jni/jni_runtime.h | 191 + .../webkit/WebCore/bridge/jni/jni_utility.cpp | 584 + .../webkit/WebCore/bridge/jni/jni_utility.h | 288 + .../webkit/WebCore/bridge/make_testbindings | 2 + src/3rdparty/webkit/WebCore/bridge/npapi.h | 830 + src/3rdparty/webkit/WebCore/bridge/npruntime.cpp | 226 + src/3rdparty/webkit/WebCore/bridge/npruntime.h | 357 + .../webkit/WebCore/bridge/npruntime_impl.h | 66 + .../webkit/WebCore/bridge/npruntime_internal.h | 51 + .../webkit/WebCore/bridge/npruntime_priv.h | 41 + src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp | 217 + src/3rdparty/webkit/WebCore/bridge/qt/qt_class.h | 60 + .../webkit/WebCore/bridge/qt/qt_instance.cpp | 372 + .../webkit/WebCore/bridge/qt/qt_instance.h | 90 + .../webkit/WebCore/bridge/qt/qt_runtime.cpp | 1772 + src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h | 231 + src/3rdparty/webkit/WebCore/bridge/runtime.cpp | 121 + src/3rdparty/webkit/WebCore/bridge/runtime.h | 166 + .../webkit/WebCore/bridge/runtime_array.cpp | 123 + src/3rdparty/webkit/WebCore/bridge/runtime_array.h | 73 + .../webkit/WebCore/bridge/runtime_method.cpp | 110 + .../webkit/WebCore/bridge/runtime_method.h | 63 + .../webkit/WebCore/bridge/runtime_object.cpp | 270 + .../webkit/WebCore/bridge/runtime_object.h | 82 + .../webkit/WebCore/bridge/runtime_root.cpp | 174 + src/3rdparty/webkit/WebCore/bridge/runtime_root.h | 89 + src/3rdparty/webkit/WebCore/bridge/test.js | 19 + src/3rdparty/webkit/WebCore/bridge/testC.js | 21 + src/3rdparty/webkit/WebCore/bridge/testM.js | 29 + .../webkit/WebCore/bridge/testbindings.cpp | 421 + src/3rdparty/webkit/WebCore/bridge/testbindings.mm | 289 + .../webkit/WebCore/bridge/testqtbindings.cpp | 142 + .../webkit/WebCore/combine-javascript-resources | 79 + src/3rdparty/webkit/WebCore/config.h | 159 + .../webkit/WebCore/css/CSSBorderImageValue.cpp | 66 + .../webkit/WebCore/css/CSSBorderImageValue.h | 62 + src/3rdparty/webkit/WebCore/css/CSSCanvasValue.cpp | 89 + src/3rdparty/webkit/WebCore/css/CSSCanvasValue.h | 68 + src/3rdparty/webkit/WebCore/css/CSSCharsetRule.cpp | 41 + src/3rdparty/webkit/WebCore/css/CSSCharsetRule.h | 57 + src/3rdparty/webkit/WebCore/css/CSSCharsetRule.idl | 37 + .../WebCore/css/CSSComputedStyleDeclaration.cpp | 1381 + .../WebCore/css/CSSComputedStyleDeclaration.h | 79 + .../webkit/WebCore/css/CSSCursorImageValue.cpp | 132 + .../webkit/WebCore/css/CSSCursorImageValue.h | 63 + src/3rdparty/webkit/WebCore/css/CSSFontFace.cpp | 114 + src/3rdparty/webkit/WebCore/css/CSSFontFace.h | 96 + .../webkit/WebCore/css/CSSFontFaceRule.cpp | 58 + src/3rdparty/webkit/WebCore/css/CSSFontFaceRule.h | 67 + .../webkit/WebCore/css/CSSFontFaceRule.idl | 32 + .../webkit/WebCore/css/CSSFontFaceSource.cpp | 193 + .../webkit/WebCore/css/CSSFontFaceSource.h | 83 + .../webkit/WebCore/css/CSSFontFaceSrcValue.cpp | 79 + .../webkit/WebCore/css/CSSFontFaceSrcValue.h | 92 + .../webkit/WebCore/css/CSSFontSelector.cpp | 537 + src/3rdparty/webkit/WebCore/css/CSSFontSelector.h | 77 + .../webkit/WebCore/css/CSSFunctionValue.cpp | 64 + src/3rdparty/webkit/WebCore/css/CSSFunctionValue.h | 58 + .../webkit/WebCore/css/CSSGradientValue.cpp | 164 + src/3rdparty/webkit/WebCore/css/CSSGradientValue.h | 112 + src/3rdparty/webkit/WebCore/css/CSSGrammar.y | 1501 + src/3rdparty/webkit/WebCore/css/CSSHelper.cpp | 87 + src/3rdparty/webkit/WebCore/css/CSSHelper.h | 42 + .../webkit/WebCore/css/CSSImageGeneratorValue.cpp | 97 + .../webkit/WebCore/css/CSSImageGeneratorValue.h | 73 + src/3rdparty/webkit/WebCore/css/CSSImageValue.cpp | 93 + src/3rdparty/webkit/WebCore/css/CSSImageValue.h | 59 + src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp | 132 + src/3rdparty/webkit/WebCore/css/CSSImportRule.h | 77 + src/3rdparty/webkit/WebCore/css/CSSImportRule.idl | 34 + .../webkit/WebCore/css/CSSInheritedValue.cpp | 40 + .../webkit/WebCore/css/CSSInheritedValue.h | 45 + .../webkit/WebCore/css/CSSInitialValue.cpp | 40 + src/3rdparty/webkit/WebCore/css/CSSInitialValue.h | 58 + src/3rdparty/webkit/WebCore/css/CSSMediaRule.cpp | 133 + src/3rdparty/webkit/WebCore/css/CSSMediaRule.h | 69 + src/3rdparty/webkit/WebCore/css/CSSMediaRule.idl | 39 + .../WebCore/css/CSSMutableStyleDeclaration.cpp | 951 + .../WebCore/css/CSSMutableStyleDeclaration.h | 222 + src/3rdparty/webkit/WebCore/css/CSSNamespace.h | 59 + src/3rdparty/webkit/WebCore/css/CSSPageRule.cpp | 55 + src/3rdparty/webkit/WebCore/css/CSSPageRule.h | 60 + src/3rdparty/webkit/WebCore/css/CSSPageRule.idl | 37 + src/3rdparty/webkit/WebCore/css/CSSParser.cpp | 4849 ++ src/3rdparty/webkit/WebCore/css/CSSParser.h | 306 + .../webkit/WebCore/css/CSSParserValues.cpp | 82 + src/3rdparty/webkit/WebCore/css/CSSParserValues.h | 100 + .../webkit/WebCore/css/CSSPrimitiveValue.cpp | 955 + .../webkit/WebCore/css/CSSPrimitiveValue.h | 212 + .../webkit/WebCore/css/CSSPrimitiveValue.idl | 79 + .../webkit/WebCore/css/CSSPrimitiveValueMappings.h | 2204 + src/3rdparty/webkit/WebCore/css/CSSProperty.cpp | 43 + src/3rdparty/webkit/WebCore/css/CSSProperty.h | 81 + .../webkit/WebCore/css/CSSPropertyNames.in | 240 + .../webkit/WebCore/css/CSSQuirkPrimitiveValue.h | 50 + .../webkit/WebCore/css/CSSReflectValue.cpp | 68 + src/3rdparty/webkit/WebCore/css/CSSReflectValue.h | 70 + .../webkit/WebCore/css/CSSReflectionDirection.h | 35 + src/3rdparty/webkit/WebCore/css/CSSRule.cpp | 48 + src/3rdparty/webkit/WebCore/css/CSSRule.h | 72 + src/3rdparty/webkit/WebCore/css/CSSRule.idl | 53 + src/3rdparty/webkit/WebCore/css/CSSRuleList.cpp | 112 + src/3rdparty/webkit/WebCore/css/CSSRuleList.h | 68 + src/3rdparty/webkit/WebCore/css/CSSRuleList.idl | 39 + .../webkit/WebCore/css/CSSSegmentedFontFace.cpp | 135 + .../webkit/WebCore/css/CSSSegmentedFontFace.h | 70 + src/3rdparty/webkit/WebCore/css/CSSSelector.cpp | 555 + src/3rdparty/webkit/WebCore/css/CSSSelector.h | 259 + .../webkit/WebCore/css/CSSSelectorList.cpp | 79 + src/3rdparty/webkit/WebCore/css/CSSSelectorList.h | 55 + .../webkit/WebCore/css/CSSStyleDeclaration.cpp | 158 + .../webkit/WebCore/css/CSSStyleDeclaration.h | 78 + .../webkit/WebCore/css/CSSStyleDeclaration.idl | 54 + src/3rdparty/webkit/WebCore/css/CSSStyleRule.cpp | 85 + src/3rdparty/webkit/WebCore/css/CSSStyleRule.h | 75 + src/3rdparty/webkit/WebCore/css/CSSStyleRule.idl | 37 + .../webkit/WebCore/css/CSSStyleSelector.cpp | 5894 ++ src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h | 327 + src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp | 236 + src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h | 113 + src/3rdparty/webkit/WebCore/css/CSSStyleSheet.idl | 49 + .../webkit/WebCore/css/CSSTimingFunctionValue.cpp | 47 + .../webkit/WebCore/css/CSSTimingFunctionValue.h | 67 + .../webkit/WebCore/css/CSSUnicodeRangeValue.cpp | 44 + .../webkit/WebCore/css/CSSUnicodeRangeValue.h | 62 + src/3rdparty/webkit/WebCore/css/CSSUnknownRule.h | 36 + src/3rdparty/webkit/WebCore/css/CSSUnknownRule.idl | 30 + src/3rdparty/webkit/WebCore/css/CSSValue.h | 78 + src/3rdparty/webkit/WebCore/css/CSSValue.idl | 43 + .../webkit/WebCore/css/CSSValueKeywords.in | 601 + src/3rdparty/webkit/WebCore/css/CSSValueList.cpp | 109 + src/3rdparty/webkit/WebCore/css/CSSValueList.h | 77 + src/3rdparty/webkit/WebCore/css/CSSValueList.idl | 39 + .../WebCore/css/CSSVariableDependentValue.cpp | 49 + .../webkit/WebCore/css/CSSVariableDependentValue.h | 57 + .../webkit/WebCore/css/CSSVariablesDeclaration.cpp | 175 + .../webkit/WebCore/css/CSSVariablesDeclaration.h | 82 + .../webkit/WebCore/css/CSSVariablesDeclaration.idl | 45 + .../webkit/WebCore/css/CSSVariablesRule.cpp | 61 + src/3rdparty/webkit/WebCore/css/CSSVariablesRule.h | 70 + .../webkit/WebCore/css/CSSVariablesRule.idl | 35 + src/3rdparty/webkit/WebCore/css/Counter.h | 61 + src/3rdparty/webkit/WebCore/css/Counter.idl | 33 + src/3rdparty/webkit/WebCore/css/DashboardRegion.h | 48 + .../css/DashboardSupportCSSPropertyNames.in | 1 + .../webkit/WebCore/css/FontFamilyValue.cpp | 107 + src/3rdparty/webkit/WebCore/css/FontFamilyValue.h | 50 + src/3rdparty/webkit/WebCore/css/FontValue.cpp | 69 + src/3rdparty/webkit/WebCore/css/FontValue.h | 57 + .../webkit/WebCore/css/MediaFeatureNames.cpp | 55 + .../webkit/WebCore/css/MediaFeatureNames.h | 73 + src/3rdparty/webkit/WebCore/css/MediaList.cpp | 258 + src/3rdparty/webkit/WebCore/css/MediaList.h | 92 + src/3rdparty/webkit/WebCore/css/MediaList.idl | 48 + src/3rdparty/webkit/WebCore/css/MediaQuery.cpp | 97 + src/3rdparty/webkit/WebCore/css/MediaQuery.h | 62 + .../webkit/WebCore/css/MediaQueryEvaluator.cpp | 455 + .../webkit/WebCore/css/MediaQueryEvaluator.h | 91 + src/3rdparty/webkit/WebCore/css/MediaQueryExp.cpp | 83 + src/3rdparty/webkit/WebCore/css/MediaQueryExp.h | 68 + src/3rdparty/webkit/WebCore/css/Pair.h | 65 + src/3rdparty/webkit/WebCore/css/RGBColor.idl | 44 + src/3rdparty/webkit/WebCore/css/Rect.h | 62 + src/3rdparty/webkit/WebCore/css/Rect.idl | 33 + .../WebCore/css/SVGCSSComputedStyleDeclaration.cpp | 188 + src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp | 359 + .../webkit/WebCore/css/SVGCSSPropertyNames.in | 48 + .../webkit/WebCore/css/SVGCSSStyleSelector.cpp | 608 + .../webkit/WebCore/css/SVGCSSValueKeywords.in | 287 + src/3rdparty/webkit/WebCore/css/ShadowValue.cpp | 67 + src/3rdparty/webkit/WebCore/css/ShadowValue.h | 59 + src/3rdparty/webkit/WebCore/css/StyleBase.cpp | 68 + src/3rdparty/webkit/WebCore/css/StyleBase.h | 86 + src/3rdparty/webkit/WebCore/css/StyleList.cpp | 55 + src/3rdparty/webkit/WebCore/css/StyleList.h | 49 + src/3rdparty/webkit/WebCore/css/StyleSheet.cpp | 84 + src/3rdparty/webkit/WebCore/css/StyleSheet.h | 77 + src/3rdparty/webkit/WebCore/css/StyleSheet.idl | 40 + src/3rdparty/webkit/WebCore/css/StyleSheetList.cpp | 77 + src/3rdparty/webkit/WebCore/css/StyleSheetList.h | 63 + src/3rdparty/webkit/WebCore/css/StyleSheetList.idl | 35 + .../webkit/WebCore/css/WebKitCSSKeyframeRule.cpp | 98 + .../webkit/WebCore/css/WebKitCSSKeyframeRule.h | 85 + .../webkit/WebCore/css/WebKitCSSKeyframeRule.idl | 43 + .../webkit/WebCore/css/WebKitCSSKeyframesRule.cpp | 138 + .../webkit/WebCore/css/WebKitCSSKeyframesRule.h | 95 + .../webkit/WebCore/css/WebKitCSSKeyframesRule.idl | 47 + .../webkit/WebCore/css/WebKitCSSTransformValue.cpp | 92 + .../webkit/WebCore/css/WebKitCSSTransformValue.h | 74 + .../webkit/WebCore/css/WebKitCSSTransformValue.idl | 55 + src/3rdparty/webkit/WebCore/css/html4.css | 596 + .../webkit/WebCore/css/make-css-file-arrays.pl | 88 + src/3rdparty/webkit/WebCore/css/makegrammar.pl | 55 + src/3rdparty/webkit/WebCore/css/makeprop.pl | 119 + src/3rdparty/webkit/WebCore/css/maketokenizer | 128 + src/3rdparty/webkit/WebCore/css/makevalues.pl | 108 + src/3rdparty/webkit/WebCore/css/mediaControls.css | 102 + .../webkit/WebCore/css/qt/mediaControls-extras.css | 101 + src/3rdparty/webkit/WebCore/css/quirks.css | 54 + src/3rdparty/webkit/WebCore/css/svg.css | 65 + src/3rdparty/webkit/WebCore/css/themeWin.css | 94 + src/3rdparty/webkit/WebCore/css/themeWinQuirks.css | 38 + src/3rdparty/webkit/WebCore/css/tokenizer.flex | 110 + src/3rdparty/webkit/WebCore/css/view-source.css | 158 + src/3rdparty/webkit/WebCore/css/wml.css | 249 + .../webkit/WebCore/dom/ActiveDOMObject.cpp | 87 + src/3rdparty/webkit/WebCore/dom/ActiveDOMObject.h | 80 + src/3rdparty/webkit/WebCore/dom/Attr.cpp | 160 + src/3rdparty/webkit/WebCore/dom/Attr.h | 96 + src/3rdparty/webkit/WebCore/dom/Attr.idl | 47 + src/3rdparty/webkit/WebCore/dom/Attribute.cpp | 47 + src/3rdparty/webkit/WebCore/dom/Attribute.h | 91 + .../webkit/WebCore/dom/BeforeTextInsertedEvent.cpp | 38 + .../webkit/WebCore/dom/BeforeTextInsertedEvent.h | 53 + .../webkit/WebCore/dom/BeforeUnloadEvent.cpp | 47 + .../webkit/WebCore/dom/BeforeUnloadEvent.h | 53 + src/3rdparty/webkit/WebCore/dom/CDATASection.cpp | 65 + src/3rdparty/webkit/WebCore/dom/CDATASection.h | 48 + src/3rdparty/webkit/WebCore/dom/CDATASection.idl | 29 + .../WebCore/dom/CSSMappedAttributeDeclaration.cpp | 38 + .../WebCore/dom/CSSMappedAttributeDeclaration.h | 65 + src/3rdparty/webkit/WebCore/dom/CharacterData.cpp | 236 + src/3rdparty/webkit/WebCore/dom/CharacterData.h | 75 + src/3rdparty/webkit/WebCore/dom/CharacterData.idl | 55 + src/3rdparty/webkit/WebCore/dom/ChildNodeList.cpp | 109 + src/3rdparty/webkit/WebCore/dom/ChildNodeList.h | 50 + src/3rdparty/webkit/WebCore/dom/ClassNames.cpp | 92 + src/3rdparty/webkit/WebCore/dom/ClassNames.h | 89 + src/3rdparty/webkit/WebCore/dom/ClassNodeList.cpp | 54 + src/3rdparty/webkit/WebCore/dom/ClassNodeList.h | 55 + src/3rdparty/webkit/WebCore/dom/Clipboard.cpp | 142 + src/3rdparty/webkit/WebCore/dom/Clipboard.h | 100 + src/3rdparty/webkit/WebCore/dom/Clipboard.idl | 48 + .../webkit/WebCore/dom/ClipboardAccessPolicy.h | 37 + src/3rdparty/webkit/WebCore/dom/ClipboardEvent.cpp | 42 + src/3rdparty/webkit/WebCore/dom/ClipboardEvent.h | 56 + src/3rdparty/webkit/WebCore/dom/Comment.cpp | 66 + src/3rdparty/webkit/WebCore/dom/Comment.h | 51 + src/3rdparty/webkit/WebCore/dom/Comment.idl | 29 + src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp | 935 + src/3rdparty/webkit/WebCore/dom/ContainerNode.h | 126 + .../webkit/WebCore/dom/ContainerNodeAlgorithms.h | 149 + src/3rdparty/webkit/WebCore/dom/DOMCoreException.h | 52 + .../webkit/WebCore/dom/DOMCoreException.idl | 71 + .../webkit/WebCore/dom/DOMImplementation.cpp | 377 + .../webkit/WebCore/dom/DOMImplementation.h | 72 + .../webkit/WebCore/dom/DOMImplementation.idl | 58 + src/3rdparty/webkit/WebCore/dom/DOMStringList.cpp | 35 + src/3rdparty/webkit/WebCore/dom/DOMStringList.h | 46 + src/3rdparty/webkit/WebCore/dom/DOMStringList.idl | 41 + src/3rdparty/webkit/WebCore/dom/DocPtr.h | 114 + src/3rdparty/webkit/WebCore/dom/Document.cpp | 4388 + src/3rdparty/webkit/WebCore/dom/Document.h | 1121 + src/3rdparty/webkit/WebCore/dom/Document.idl | 248 + .../webkit/WebCore/dom/DocumentFragment.cpp | 69 + src/3rdparty/webkit/WebCore/dom/DocumentFragment.h | 46 + .../webkit/WebCore/dom/DocumentFragment.idl | 35 + src/3rdparty/webkit/WebCore/dom/DocumentMarker.h | 60 + src/3rdparty/webkit/WebCore/dom/DocumentType.cpp | 79 + src/3rdparty/webkit/WebCore/dom/DocumentType.h | 70 + src/3rdparty/webkit/WebCore/dom/DocumentType.idl | 43 + .../webkit/WebCore/dom/DynamicNodeList.cpp | 172 + src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h | 81 + src/3rdparty/webkit/WebCore/dom/EditingText.cpp | 52 + src/3rdparty/webkit/WebCore/dom/EditingText.h | 44 + src/3rdparty/webkit/WebCore/dom/Element.cpp | 1241 + src/3rdparty/webkit/WebCore/dom/Element.h | 250 + src/3rdparty/webkit/WebCore/dom/Element.idl | 128 + src/3rdparty/webkit/WebCore/dom/ElementRareData.h | 60 + src/3rdparty/webkit/WebCore/dom/Entity.cpp | 1 + src/3rdparty/webkit/WebCore/dom/Entity.h | 43 + src/3rdparty/webkit/WebCore/dom/Entity.idl | 32 + .../webkit/WebCore/dom/EntityReference.cpp | 47 + src/3rdparty/webkit/WebCore/dom/EntityReference.h | 43 + .../webkit/WebCore/dom/EntityReference.idl | 29 + src/3rdparty/webkit/WebCore/dom/Event.cpp | 190 + src/3rdparty/webkit/WebCore/dom/Event.h | 170 + src/3rdparty/webkit/WebCore/dom/Event.idl | 83 + src/3rdparty/webkit/WebCore/dom/EventException.h | 59 + src/3rdparty/webkit/WebCore/dom/EventException.idl | 50 + src/3rdparty/webkit/WebCore/dom/EventListener.h | 40 + src/3rdparty/webkit/WebCore/dom/EventListener.idl | 32 + src/3rdparty/webkit/WebCore/dom/EventNames.cpp | 36 + src/3rdparty/webkit/WebCore/dom/EventNames.h | 149 + src/3rdparty/webkit/WebCore/dom/EventTarget.cpp | 111 + src/3rdparty/webkit/WebCore/dom/EventTarget.h | 105 + src/3rdparty/webkit/WebCore/dom/EventTarget.idl | 39 + .../webkit/WebCore/dom/EventTargetNode.cpp | 1166 + src/3rdparty/webkit/WebCore/dom/EventTargetNode.h | 206 + .../webkit/WebCore/dom/EventTargetNode.idl | 84 + src/3rdparty/webkit/WebCore/dom/ExceptionBase.cpp | 49 + src/3rdparty/webkit/WebCore/dom/ExceptionBase.h | 57 + src/3rdparty/webkit/WebCore/dom/ExceptionCode.cpp | 161 + src/3rdparty/webkit/WebCore/dom/ExceptionCode.h | 81 + .../webkit/WebCore/dom/FormControlElement.h | 39 + src/3rdparty/webkit/WebCore/dom/KeyboardEvent.cpp | 164 + src/3rdparty/webkit/WebCore/dom/KeyboardEvent.h | 116 + src/3rdparty/webkit/WebCore/dom/KeyboardEvent.idl | 80 + .../webkit/WebCore/dom/MappedAttribute.cpp | 34 + src/3rdparty/webkit/WebCore/dom/MappedAttribute.h | 68 + .../webkit/WebCore/dom/MappedAttributeEntry.h | 55 + src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp | 45 + src/3rdparty/webkit/WebCore/dom/MessageChannel.h | 56 + src/3rdparty/webkit/WebCore/dom/MessageChannel.idl | 36 + src/3rdparty/webkit/WebCore/dom/MessageEvent.cpp | 73 + src/3rdparty/webkit/WebCore/dom/MessageEvent.h | 73 + src/3rdparty/webkit/WebCore/dom/MessageEvent.idl | 44 + src/3rdparty/webkit/WebCore/dom/MessagePort.cpp | 344 + src/3rdparty/webkit/WebCore/dom/MessagePort.h | 136 + src/3rdparty/webkit/WebCore/dom/MessagePort.idl | 60 + src/3rdparty/webkit/WebCore/dom/MouseEvent.cpp | 118 + src/3rdparty/webkit/WebCore/dom/MouseEvent.h | 87 + src/3rdparty/webkit/WebCore/dom/MouseEvent.idl | 66 + .../webkit/WebCore/dom/MouseRelatedEvent.cpp | 184 + .../webkit/WebCore/dom/MouseRelatedEvent.h | 78 + src/3rdparty/webkit/WebCore/dom/MutationEvent.cpp | 66 + src/3rdparty/webkit/WebCore/dom/MutationEvent.h | 77 + src/3rdparty/webkit/WebCore/dom/MutationEvent.idl | 49 + src/3rdparty/webkit/WebCore/dom/NameNodeList.cpp | 45 + src/3rdparty/webkit/WebCore/dom/NameNodeList.h | 52 + src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp | 313 + src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h | 110 + .../webkit/WebCore/dom/NamedMappedAttrMap.cpp | 86 + .../webkit/WebCore/dom/NamedMappedAttrMap.h | 62 + src/3rdparty/webkit/WebCore/dom/NamedNodeMap.h | 64 + src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl | 60 + src/3rdparty/webkit/WebCore/dom/Node.cpp | 2125 + src/3rdparty/webkit/WebCore/dom/Node.h | 580 + src/3rdparty/webkit/WebCore/dom/Node.idl | 136 + src/3rdparty/webkit/WebCore/dom/NodeFilter.cpp | 38 + src/3rdparty/webkit/WebCore/dom/NodeFilter.h | 88 + src/3rdparty/webkit/WebCore/dom/NodeFilter.idl | 50 + .../webkit/WebCore/dom/NodeFilterCondition.cpp | 37 + .../webkit/WebCore/dom/NodeFilterCondition.h | 44 + src/3rdparty/webkit/WebCore/dom/NodeIterator.cpp | 228 + src/3rdparty/webkit/WebCore/dom/NodeIterator.h | 82 + src/3rdparty/webkit/WebCore/dom/NodeIterator.idl | 42 + src/3rdparty/webkit/WebCore/dom/NodeList.h | 46 + src/3rdparty/webkit/WebCore/dom/NodeList.idl | 38 + src/3rdparty/webkit/WebCore/dom/NodeRareData.h | 118 + src/3rdparty/webkit/WebCore/dom/NodeRenderStyle.h | 40 + src/3rdparty/webkit/WebCore/dom/NodeWithIndex.h | 64 + src/3rdparty/webkit/WebCore/dom/Notation.cpp | 61 + src/3rdparty/webkit/WebCore/dom/Notation.h | 55 + src/3rdparty/webkit/WebCore/dom/Notation.idl | 31 + src/3rdparty/webkit/WebCore/dom/OverflowEvent.cpp | 71 + src/3rdparty/webkit/WebCore/dom/OverflowEvent.h | 69 + src/3rdparty/webkit/WebCore/dom/OverflowEvent.idl | 43 + src/3rdparty/webkit/WebCore/dom/Position.cpp | 1002 + src/3rdparty/webkit/WebCore/dom/Position.h | 135 + .../webkit/WebCore/dom/PositionIterator.cpp | 160 + src/3rdparty/webkit/WebCore/dom/PositionIterator.h | 74 + .../webkit/WebCore/dom/ProcessingInstruction.cpp | 275 + .../webkit/WebCore/dom/ProcessingInstruction.h | 100 + .../webkit/WebCore/dom/ProcessingInstruction.idl | 42 + src/3rdparty/webkit/WebCore/dom/ProgressEvent.cpp | 63 + src/3rdparty/webkit/WebCore/dom/ProgressEvent.h | 69 + src/3rdparty/webkit/WebCore/dom/ProgressEvent.idl | 42 + src/3rdparty/webkit/WebCore/dom/QualifiedName.cpp | 131 + src/3rdparty/webkit/WebCore/dom/QualifiedName.h | 169 + src/3rdparty/webkit/WebCore/dom/Range.cpp | 1800 + src/3rdparty/webkit/WebCore/dom/Range.h | 145 + src/3rdparty/webkit/WebCore/dom/Range.idl | 120 + .../webkit/WebCore/dom/RangeBoundaryPoint.h | 182 + src/3rdparty/webkit/WebCore/dom/RangeException.h | 58 + src/3rdparty/webkit/WebCore/dom/RangeException.idl | 40 + .../webkit/WebCore/dom/RegisteredEventListener.cpp | 38 + .../webkit/WebCore/dom/RegisteredEventListener.h | 58 + src/3rdparty/webkit/WebCore/dom/ScriptElement.cpp | 272 + src/3rdparty/webkit/WebCore/dom/ScriptElement.h | 98 + .../webkit/WebCore/dom/ScriptExecutionContext.cpp | 182 + .../webkit/WebCore/dom/ScriptExecutionContext.h | 111 + .../webkit/WebCore/dom/SelectorNodeList.cpp | 74 + src/3rdparty/webkit/WebCore/dom/SelectorNodeList.h | 42 + src/3rdparty/webkit/WebCore/dom/StaticNodeList.cpp | 60 + src/3rdparty/webkit/WebCore/dom/StaticNodeList.h | 63 + .../webkit/WebCore/dom/StaticStringList.cpp | 67 + src/3rdparty/webkit/WebCore/dom/StaticStringList.h | 61 + src/3rdparty/webkit/WebCore/dom/StyleElement.cpp | 103 + src/3rdparty/webkit/WebCore/dom/StyleElement.h | 56 + src/3rdparty/webkit/WebCore/dom/StyledElement.cpp | 505 + src/3rdparty/webkit/WebCore/dom/StyledElement.h | 96 + src/3rdparty/webkit/WebCore/dom/TagNodeList.cpp | 48 + src/3rdparty/webkit/WebCore/dom/TagNodeList.h | 51 + src/3rdparty/webkit/WebCore/dom/Text.cpp | 351 + src/3rdparty/webkit/WebCore/dom/Text.h | 77 + src/3rdparty/webkit/WebCore/dom/Text.idl | 39 + src/3rdparty/webkit/WebCore/dom/TextEvent.cpp | 67 + src/3rdparty/webkit/WebCore/dom/TextEvent.h | 71 + src/3rdparty/webkit/WebCore/dom/TextEvent.idl | 43 + src/3rdparty/webkit/WebCore/dom/Tokenizer.h | 78 + src/3rdparty/webkit/WebCore/dom/Traversal.cpp | 54 + src/3rdparty/webkit/WebCore/dom/Traversal.h | 57 + src/3rdparty/webkit/WebCore/dom/TreeWalker.cpp | 277 + src/3rdparty/webkit/WebCore/dom/TreeWalker.h | 75 + src/3rdparty/webkit/WebCore/dom/TreeWalker.idl | 44 + src/3rdparty/webkit/WebCore/dom/UIEvent.cpp | 97 + src/3rdparty/webkit/WebCore/dom/UIEvent.h | 75 + src/3rdparty/webkit/WebCore/dom/UIEvent.idl | 45 + .../webkit/WebCore/dom/UIEventWithKeyState.cpp | 34 + .../webkit/WebCore/dom/UIEventWithKeyState.h | 68 + .../webkit/WebCore/dom/WebKitAnimationEvent.cpp | 74 + .../webkit/WebCore/dom/WebKitAnimationEvent.h | 67 + .../webkit/WebCore/dom/WebKitAnimationEvent.idl | 40 + .../webkit/WebCore/dom/WebKitTransitionEvent.cpp | 75 + .../webkit/WebCore/dom/WebKitTransitionEvent.h | 67 + .../webkit/WebCore/dom/WebKitTransitionEvent.idl | 40 + src/3rdparty/webkit/WebCore/dom/WheelEvent.cpp | 80 + src/3rdparty/webkit/WebCore/dom/WheelEvent.h | 71 + src/3rdparty/webkit/WebCore/dom/WheelEvent.idl | 64 + src/3rdparty/webkit/WebCore/dom/Worker.cpp | 202 + src/3rdparty/webkit/WebCore/dom/Worker.h | 113 + src/3rdparty/webkit/WebCore/dom/Worker.idl | 48 + src/3rdparty/webkit/WebCore/dom/WorkerContext.cpp | 195 + src/3rdparty/webkit/WebCore/dom/WorkerContext.h | 122 + src/3rdparty/webkit/WebCore/dom/WorkerContext.idl | 61 + src/3rdparty/webkit/WebCore/dom/WorkerLocation.cpp | 85 + src/3rdparty/webkit/WebCore/dom/WorkerLocation.h | 73 + src/3rdparty/webkit/WebCore/dom/WorkerLocation.idl | 48 + .../webkit/WebCore/dom/WorkerMessagingProxy.cpp | 311 + .../webkit/WebCore/dom/WorkerMessagingProxy.h | 93 + src/3rdparty/webkit/WebCore/dom/WorkerTask.cpp | 41 + src/3rdparty/webkit/WebCore/dom/WorkerTask.h | 48 + src/3rdparty/webkit/WebCore/dom/WorkerThread.cpp | 154 + src/3rdparty/webkit/WebCore/dom/WorkerThread.h | 79 + src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp | 348 + src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h | 187 + .../webkit/WebCore/dom/XMLTokenizerLibxml2.cpp | 1349 + src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp | 763 + src/3rdparty/webkit/WebCore/dom/make_names.pl | 842 + .../webkit/WebCore/editing/AppendNodeCommand.cpp | 57 + .../webkit/WebCore/editing/AppendNodeCommand.h | 52 + .../webkit/WebCore/editing/ApplyStyleCommand.cpp | 1608 + .../webkit/WebCore/editing/ApplyStyleCommand.h | 121 + .../WebCore/editing/BreakBlockquoteCommand.cpp | 175 + .../WebCore/editing/BreakBlockquoteCommand.h | 47 + .../WebCore/editing/CompositeEditCommand.cpp | 1041 + .../webkit/WebCore/editing/CompositeEditCommand.h | 120 + .../webkit/WebCore/editing/CreateLinkCommand.cpp | 60 + .../webkit/WebCore/editing/CreateLinkCommand.h | 51 + .../webkit/WebCore/editing/DeleteButton.cpp | 56 + src/3rdparty/webkit/WebCore/editing/DeleteButton.h | 42 + .../WebCore/editing/DeleteButtonController.cpp | 308 + .../WebCore/editing/DeleteButtonController.h | 77 + .../WebCore/editing/DeleteFromTextNodeCommand.cpp | 64 + .../WebCore/editing/DeleteFromTextNodeCommand.h | 56 + .../WebCore/editing/DeleteSelectionCommand.cpp | 801 + .../WebCore/editing/DeleteSelectionCommand.h | 97 + src/3rdparty/webkit/WebCore/editing/EditAction.h | 71 + .../webkit/WebCore/editing/EditCommand.cpp | 230 + src/3rdparty/webkit/WebCore/editing/EditCommand.h | 96 + src/3rdparty/webkit/WebCore/editing/Editor.cpp | 2187 + src/3rdparty/webkit/WebCore/editing/Editor.h | 307 + .../webkit/WebCore/editing/EditorCommand.cpp | 1474 + .../webkit/WebCore/editing/EditorDeleteAction.h | 40 + .../webkit/WebCore/editing/EditorInsertAction.h | 40 + .../webkit/WebCore/editing/FormatBlockCommand.cpp | 134 + .../webkit/WebCore/editing/FormatBlockCommand.h | 52 + .../webkit/WebCore/editing/HTMLInterchange.cpp | 112 + .../webkit/WebCore/editing/HTMLInterchange.h | 46 + .../WebCore/editing/IndentOutdentCommand.cpp | 301 + .../webkit/WebCore/editing/IndentOutdentCommand.h | 60 + .../WebCore/editing/InsertIntoTextNodeCommand.cpp | 56 + .../WebCore/editing/InsertIntoTextNodeCommand.h | 55 + .../WebCore/editing/InsertLineBreakCommand.cpp | 187 + .../WebCore/editing/InsertLineBreakCommand.h | 54 + .../webkit/WebCore/editing/InsertListCommand.cpp | 265 + .../webkit/WebCore/editing/InsertListCommand.h | 64 + .../WebCore/editing/InsertNodeBeforeCommand.cpp | 62 + .../WebCore/editing/InsertNodeBeforeCommand.h | 52 + .../editing/InsertParagraphSeparatorCommand.cpp | 338 + .../editing/InsertParagraphSeparatorCommand.h | 59 + .../webkit/WebCore/editing/InsertTextCommand.cpp | 248 + .../webkit/WebCore/editing/InsertTextCommand.h | 61 + .../WebCore/editing/JoinTextNodesCommand.cpp | 74 + .../webkit/WebCore/editing/JoinTextNodesCommand.h | 54 + .../editing/MergeIdenticalElementsCommand.cpp | 89 + .../editing/MergeIdenticalElementsCommand.h | 53 + .../WebCore/editing/ModifySelectionListLevel.cpp | 295 + .../WebCore/editing/ModifySelectionListLevel.h | 80 + .../WebCore/editing/MoveSelectionCommand.cpp | 81 + .../webkit/WebCore/editing/MoveSelectionCommand.h | 55 + .../WebCore/editing/RemoveCSSPropertyCommand.cpp | 55 + .../WebCore/editing/RemoveCSSPropertyCommand.h | 55 + .../webkit/WebCore/editing/RemoveFormatCommand.cpp | 81 + .../webkit/WebCore/editing/RemoveFormatCommand.h | 49 + .../WebCore/editing/RemoveNodeAttributeCommand.cpp | 1 + .../WebCore/editing/RemoveNodeAttributeCommand.h | 1 + .../webkit/WebCore/editing/RemoveNodeCommand.cpp | 66 + .../webkit/WebCore/editing/RemoveNodeCommand.h | 53 + .../RemoveNodePreservingChildrenCommand.cpp | 55 + .../editing/RemoveNodePreservingChildrenCommand.h | 50 + .../WebCore/editing/ReplaceSelectionCommand.cpp | 1058 + .../WebCore/editing/ReplaceSelectionCommand.h | 93 + src/3rdparty/webkit/WebCore/editing/Selection.cpp | 605 + src/3rdparty/webkit/WebCore/editing/Selection.h | 136 + .../webkit/WebCore/editing/SelectionController.cpp | 1238 + .../webkit/WebCore/editing/SelectionController.h | 189 + .../WebCore/editing/SetNodeAttributeCommand.cpp | 57 + .../WebCore/editing/SetNodeAttributeCommand.h | 55 + .../webkit/WebCore/editing/SmartReplace.cpp | 43 + src/3rdparty/webkit/WebCore/editing/SmartReplace.h | 35 + .../webkit/WebCore/editing/SmartReplaceCF.cpp | 72 + .../webkit/WebCore/editing/SmartReplaceICU.cpp | 99 + .../webkit/WebCore/editing/SplitElementCommand.cpp | 91 + .../webkit/WebCore/editing/SplitElementCommand.h | 53 + .../WebCore/editing/SplitTextNodeCommand.cpp | 92 + .../webkit/WebCore/editing/SplitTextNodeCommand.h | 55 + .../SplitTextNodeContainingElementCommand.cpp | 66 + .../SplitTextNodeContainingElementCommand.h | 51 + src/3rdparty/webkit/WebCore/editing/TextAffinity.h | 57 + .../webkit/WebCore/editing/TextGranularity.h | 47 + .../webkit/WebCore/editing/TextIterator.cpp | 1677 + src/3rdparty/webkit/WebCore/editing/TextIterator.h | 253 + .../webkit/WebCore/editing/TypingCommand.cpp | 562 + .../webkit/WebCore/editing/TypingCommand.h | 104 + .../webkit/WebCore/editing/UnlinkCommand.cpp | 50 + .../webkit/WebCore/editing/UnlinkCommand.h | 49 + .../webkit/WebCore/editing/VisiblePosition.cpp | 680 + .../webkit/WebCore/editing/VisiblePosition.h | 147 + .../editing/WrapContentsInDummySpanCommand.cpp | 81 + .../editing/WrapContentsInDummySpanCommand.h | 54 + .../webkit/WebCore/editing/htmlediting.cpp | 1011 + src/3rdparty/webkit/WebCore/editing/htmlediting.h | 137 + src/3rdparty/webkit/WebCore/editing/markup.cpp | 1224 + src/3rdparty/webkit/WebCore/editing/markup.h | 56 + .../webkit/WebCore/editing/qt/EditorQt.cpp | 47 + .../webkit/WebCore/editing/visible_units.cpp | 958 + .../webkit/WebCore/editing/visible_units.h | 91 + .../webkit/WebCore/generated/ArrayPrototype.lut.h | 37 + .../webkit/WebCore/generated/CSSGrammar.cpp | 4081 + src/3rdparty/webkit/WebCore/generated/CSSGrammar.h | 211 + .../webkit/WebCore/generated/CSSPropertyNames.cpp | 1262 + .../webkit/WebCore/generated/CSSPropertyNames.h | 286 + .../webkit/WebCore/generated/CSSValueKeywords.c | 2359 + .../webkit/WebCore/generated/CSSValueKeywords.h | 543 + src/3rdparty/webkit/WebCore/generated/ColorData.c | 441 + .../webkit/WebCore/generated/DatePrototype.lut.h | 62 + .../webkit/WebCore/generated/DocTypeStrings.cpp | 1083 + src/3rdparty/webkit/WebCore/generated/Grammar.cpp | 5106 ++ src/3rdparty/webkit/WebCore/generated/Grammar.h | 232 + .../webkit/WebCore/generated/HTMLEntityNames.c | 549 + .../webkit/WebCore/generated/HTMLNames.cpp | 1313 + src/3rdparty/webkit/WebCore/generated/HTMLNames.h | 364 + src/3rdparty/webkit/WebCore/generated/JSAttr.cpp | 193 + src/3rdparty/webkit/WebCore/generated/JSAttr.h | 77 + .../webkit/WebCore/generated/JSBarInfo.cpp | 111 + src/3rdparty/webkit/WebCore/generated/JSBarInfo.h | 70 + .../webkit/WebCore/generated/JSCDATASection.cpp | 138 + .../webkit/WebCore/generated/JSCDATASection.h | 62 + .../webkit/WebCore/generated/JSCSSCharsetRule.cpp | 159 + .../webkit/WebCore/generated/JSCSSCharsetRule.h | 65 + .../webkit/WebCore/generated/JSCSSFontFaceRule.cpp | 148 + .../webkit/WebCore/generated/JSCSSFontFaceRule.h | 63 + .../webkit/WebCore/generated/JSCSSImportRule.cpp | 164 + .../webkit/WebCore/generated/JSCSSImportRule.h | 65 + .../webkit/WebCore/generated/JSCSSMediaRule.cpp | 194 + .../webkit/WebCore/generated/JSCSSMediaRule.h | 73 + .../webkit/WebCore/generated/JSCSSPageRule.cpp | 169 + .../webkit/WebCore/generated/JSCSSPageRule.h | 66 + .../WebCore/generated/JSCSSPrimitiveValue.cpp | 450 + .../webkit/WebCore/generated/JSCSSPrimitiveValue.h | 105 + .../webkit/WebCore/generated/JSCSSRule.cpp | 271 + src/3rdparty/webkit/WebCore/generated/JSCSSRule.h | 94 + .../webkit/WebCore/generated/JSCSSRuleList.cpp | 216 + .../webkit/WebCore/generated/JSCSSRuleList.h | 83 + .../WebCore/generated/JSCSSStyleDeclaration.cpp | 357 + .../WebCore/generated/JSCSSStyleDeclaration.h | 98 + .../webkit/WebCore/generated/JSCSSStyleRule.cpp | 169 + .../webkit/WebCore/generated/JSCSSStyleRule.h | 66 + .../webkit/WebCore/generated/JSCSSStyleSheet.cpp | 243 + .../webkit/WebCore/generated/JSCSSStyleSheet.h | 76 + .../webkit/WebCore/generated/JSCSSValue.cpp | 212 + src/3rdparty/webkit/WebCore/generated/JSCSSValue.h | 86 + .../webkit/WebCore/generated/JSCSSValueList.cpp | 201 + .../webkit/WebCore/generated/JSCSSValueList.h | 74 + .../generated/JSCSSVariablesDeclaration.cpp | 289 + .../WebCore/generated/JSCSSVariablesDeclaration.h | 90 + .../WebCore/generated/JSCSSVariablesRule.cpp | 156 + .../webkit/WebCore/generated/JSCSSVariablesRule.h | 64 + .../webkit/WebCore/generated/JSCanvasGradient.cpp | 108 + .../webkit/WebCore/generated/JSCanvasGradient.h | 69 + .../webkit/WebCore/generated/JSCanvasPattern.cpp | 85 + .../webkit/WebCore/generated/JSCanvasPattern.h | 61 + .../generated/JSCanvasRenderingContext2D.cpp | 968 + .../WebCore/generated/JSCanvasRenderingContext2D.h | 172 + .../webkit/WebCore/generated/JSCharacterData.cpp | 283 + .../webkit/WebCore/generated/JSCharacterData.h | 78 + .../webkit/WebCore/generated/JSClipboard.cpp | 233 + .../webkit/WebCore/generated/JSClipboard.h | 97 + .../webkit/WebCore/generated/JSComment.cpp | 138 + src/3rdparty/webkit/WebCore/generated/JSComment.h | 62 + .../webkit/WebCore/generated/JSConsole.cpp | 328 + src/3rdparty/webkit/WebCore/generated/JSConsole.h | 96 + .../webkit/WebCore/generated/JSCounter.cpp | 176 + src/3rdparty/webkit/WebCore/generated/JSCounter.h | 74 + .../WebCore/generated/JSDOMApplicationCache.cpp | 404 + .../WebCore/generated/JSDOMApplicationCache.h | 122 + .../WebCore/generated/JSDOMCoreException.cpp | 316 + .../webkit/WebCore/generated/JSDOMCoreException.h | 101 + .../WebCore/generated/JSDOMImplementation.cpp | 250 + .../webkit/WebCore/generated/JSDOMImplementation.h | 83 + .../webkit/WebCore/generated/JSDOMParser.cpp | 186 + .../webkit/WebCore/generated/JSDOMParser.h | 79 + .../webkit/WebCore/generated/JSDOMSelection.cpp | 407 + .../webkit/WebCore/generated/JSDOMSelection.h | 102 + .../webkit/WebCore/generated/JSDOMStringList.cpp | 212 + .../webkit/WebCore/generated/JSDOMStringList.h | 87 + .../webkit/WebCore/generated/JSDOMWindow.cpp | 4435 + .../webkit/WebCore/generated/JSDOMWindow.h | 570 + .../webkit/WebCore/generated/JSDOMWindowBase.lut.h | 31 + .../webkit/WebCore/generated/JSDatabase.cpp | 137 + src/3rdparty/webkit/WebCore/generated/JSDatabase.h | 83 + .../webkit/WebCore/generated/JSDocument.cpp | 1049 + src/3rdparty/webkit/WebCore/generated/JSDocument.h | 165 + .../WebCore/generated/JSDocumentFragment.cpp | 181 + .../webkit/WebCore/generated/JSDocumentFragment.h | 71 + .../webkit/WebCore/generated/JSDocumentType.cpp | 189 + .../webkit/WebCore/generated/JSDocumentType.h | 73 + .../webkit/WebCore/generated/JSElement.cpp | 660 + src/3rdparty/webkit/WebCore/generated/JSElement.h | 136 + src/3rdparty/webkit/WebCore/generated/JSEntity.cpp | 160 + src/3rdparty/webkit/WebCore/generated/JSEntity.h | 65 + .../webkit/WebCore/generated/JSEntityReference.cpp | 138 + .../webkit/WebCore/generated/JSEntityReference.h | 62 + src/3rdparty/webkit/WebCore/generated/JSEvent.cpp | 434 + src/3rdparty/webkit/WebCore/generated/JSEvent.h | 119 + .../webkit/WebCore/generated/JSEventException.cpp | 204 + .../webkit/WebCore/generated/JSEventException.h | 85 + .../webkit/WebCore/generated/JSEventTargetNode.cpp | 944 + .../webkit/WebCore/generated/JSEventTargetNode.h | 162 + src/3rdparty/webkit/WebCore/generated/JSFile.cpp | 169 + src/3rdparty/webkit/WebCore/generated/JSFile.h | 73 + .../webkit/WebCore/generated/JSFileList.cpp | 221 + src/3rdparty/webkit/WebCore/generated/JSFileList.h | 83 + .../webkit/WebCore/generated/JSGeolocation.cpp | 150 + .../webkit/WebCore/generated/JSGeolocation.h | 84 + .../webkit/WebCore/generated/JSGeoposition.cpp | 182 + .../webkit/WebCore/generated/JSGeoposition.h | 85 + .../WebCore/generated/JSHTMLAnchorElement.cpp | 363 + .../webkit/WebCore/generated/JSHTMLAnchorElement.h | 101 + .../WebCore/generated/JSHTMLAppletElement.cpp | 298 + .../webkit/WebCore/generated/JSHTMLAppletElement.h | 93 + .../webkit/WebCore/generated/JSHTMLAreaElement.cpp | 285 + .../webkit/WebCore/generated/JSHTMLAreaElement.h | 84 + .../WebCore/generated/JSHTMLAudioElement.cpp | 143 + .../webkit/WebCore/generated/JSHTMLAudioElement.h | 67 + .../webkit/WebCore/generated/JSHTMLBRElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLBRElement.h | 65 + .../webkit/WebCore/generated/JSHTMLBaseElement.cpp | 171 + .../webkit/WebCore/generated/JSHTMLBaseElement.h | 67 + .../WebCore/generated/JSHTMLBaseFontElement.cpp | 184 + .../WebCore/generated/JSHTMLBaseFontElement.h | 69 + .../WebCore/generated/JSHTMLBlockquoteElement.cpp | 158 + .../WebCore/generated/JSHTMLBlockquoteElement.h | 65 + .../webkit/WebCore/generated/JSHTMLBodyElement.cpp | 263 + .../webkit/WebCore/generated/JSHTMLBodyElement.h | 81 + .../WebCore/generated/JSHTMLButtonElement.cpp | 251 + .../webkit/WebCore/generated/JSHTMLButtonElement.h | 84 + .../WebCore/generated/JSHTMLCanvasElement.cpp | 208 + .../webkit/WebCore/generated/JSHTMLCanvasElement.h | 76 + .../webkit/WebCore/generated/JSHTMLCollection.cpp | 242 + .../webkit/WebCore/generated/JSHTMLCollection.h | 95 + .../WebCore/generated/JSHTMLDListElement.cpp | 156 + .../webkit/WebCore/generated/JSHTMLDListElement.h | 65 + .../WebCore/generated/JSHTMLDirectoryElement.cpp | 156 + .../WebCore/generated/JSHTMLDirectoryElement.h | 65 + .../webkit/WebCore/generated/JSHTMLDivElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLDivElement.h | 65 + .../webkit/WebCore/generated/JSHTMLDocument.cpp | 399 + .../webkit/WebCore/generated/JSHTMLDocument.h | 113 + .../webkit/WebCore/generated/JSHTMLElement.cpp | 397 + .../webkit/WebCore/generated/JSHTMLElement.h | 106 + .../generated/JSHTMLElementWrapperFactory.cpp | 572 + .../generated/JSHTMLElementWrapperFactory.h | 48 + .../WebCore/generated/JSHTMLEmbedElement.cpp | 259 + .../webkit/WebCore/generated/JSHTMLEmbedElement.h | 91 + .../WebCore/generated/JSHTMLFieldSetElement.cpp | 154 + .../WebCore/generated/JSHTMLFieldSetElement.h | 64 + .../webkit/WebCore/generated/JSHTMLFontElement.cpp | 184 + .../webkit/WebCore/generated/JSHTMLFontElement.h | 69 + .../webkit/WebCore/generated/JSHTMLFormElement.cpp | 312 + .../webkit/WebCore/generated/JSHTMLFormElement.h | 93 + .../WebCore/generated/JSHTMLFrameElement.cpp | 318 + .../webkit/WebCore/generated/JSHTMLFrameElement.h | 97 + .../WebCore/generated/JSHTMLFrameSetElement.cpp | 176 + .../WebCore/generated/JSHTMLFrameSetElement.h | 70 + .../webkit/WebCore/generated/JSHTMLHRElement.cpp | 197 + .../webkit/WebCore/generated/JSHTMLHRElement.h | 71 + .../webkit/WebCore/generated/JSHTMLHeadElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLHeadElement.h | 65 + .../WebCore/generated/JSHTMLHeadingElement.cpp | 158 + .../WebCore/generated/JSHTMLHeadingElement.h | 65 + .../webkit/WebCore/generated/JSHTMLHtmlElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLHtmlElement.h | 65 + .../WebCore/generated/JSHTMLIFrameElement.cpp | 318 + .../webkit/WebCore/generated/JSHTMLIFrameElement.h | 96 + .../WebCore/generated/JSHTMLImageElement.cpp | 349 + .../webkit/WebCore/generated/JSHTMLImageElement.h | 94 + .../WebCore/generated/JSHTMLInputElement.cpp | 474 + .../webkit/WebCore/generated/JSHTMLInputElement.h | 121 + .../WebCore/generated/JSHTMLIsIndexElement.cpp | 167 + .../WebCore/generated/JSHTMLIsIndexElement.h | 66 + .../webkit/WebCore/generated/JSHTMLLIElement.cpp | 171 + .../webkit/WebCore/generated/JSHTMLLIElement.h | 67 + .../WebCore/generated/JSHTMLLabelElement.cpp | 180 + .../webkit/WebCore/generated/JSHTMLLabelElement.h | 68 + .../WebCore/generated/JSHTMLLegendElement.cpp | 180 + .../webkit/WebCore/generated/JSHTMLLegendElement.h | 68 + .../webkit/WebCore/generated/JSHTMLLinkElement.cpp | 271 + .../webkit/WebCore/generated/JSHTMLLinkElement.h | 82 + .../webkit/WebCore/generated/JSHTMLMapElement.cpp | 167 + .../webkit/WebCore/generated/JSHTMLMapElement.h | 66 + .../WebCore/generated/JSHTMLMarqueeElement.cpp | 168 + .../WebCore/generated/JSHTMLMarqueeElement.h | 71 + .../WebCore/generated/JSHTMLMediaElement.cpp | 543 + .../webkit/WebCore/generated/JSHTMLMediaElement.h | 129 + .../webkit/WebCore/generated/JSHTMLMenuElement.cpp | 156 + .../webkit/WebCore/generated/JSHTMLMenuElement.h | 65 + .../webkit/WebCore/generated/JSHTMLMetaElement.cpp | 197 + .../webkit/WebCore/generated/JSHTMLMetaElement.h | 71 + .../webkit/WebCore/generated/JSHTMLModElement.cpp | 171 + .../webkit/WebCore/generated/JSHTMLModElement.h | 67 + .../WebCore/generated/JSHTMLOListElement.cpp | 184 + .../webkit/WebCore/generated/JSHTMLOListElement.h | 69 + .../WebCore/generated/JSHTMLObjectElement.cpp | 407 + .../webkit/WebCore/generated/JSHTMLObjectElement.h | 113 + .../WebCore/generated/JSHTMLOptGroupElement.cpp | 171 + .../WebCore/generated/JSHTMLOptGroupElement.h | 67 + .../WebCore/generated/JSHTMLOptionElement.cpp | 245 + .../webkit/WebCore/generated/JSHTMLOptionElement.h | 82 + .../WebCore/generated/JSHTMLOptionsCollection.cpp | 159 + .../WebCore/generated/JSHTMLOptionsCollection.h | 89 + .../WebCore/generated/JSHTMLParagraphElement.cpp | 158 + .../WebCore/generated/JSHTMLParagraphElement.h | 65 + .../WebCore/generated/JSHTMLParamElement.cpp | 197 + .../webkit/WebCore/generated/JSHTMLParamElement.h | 71 + .../webkit/WebCore/generated/JSHTMLPreElement.cpp | 169 + .../webkit/WebCore/generated/JSHTMLPreElement.h | 67 + .../WebCore/generated/JSHTMLQuoteElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLQuoteElement.h | 65 + .../WebCore/generated/JSHTMLScriptElement.cpp | 236 + .../webkit/WebCore/generated/JSHTMLScriptElement.h | 77 + .../WebCore/generated/JSHTMLSelectElement.cpp | 396 + .../webkit/WebCore/generated/JSHTMLSelectElement.h | 102 + .../WebCore/generated/JSHTMLSourceElement.cpp | 189 + .../webkit/WebCore/generated/JSHTMLSourceElement.h | 74 + .../WebCore/generated/JSHTMLStyleElement.cpp | 193 + .../webkit/WebCore/generated/JSHTMLStyleElement.h | 70 + .../generated/JSHTMLTableCaptionElement.cpp | 162 + .../WebCore/generated/JSHTMLTableCaptionElement.h | 70 + .../WebCore/generated/JSHTMLTableCellElement.cpp | 334 + .../WebCore/generated/JSHTMLTableCellElement.h | 92 + .../WebCore/generated/JSHTMLTableColElement.cpp | 223 + .../WebCore/generated/JSHTMLTableColElement.h | 75 + .../WebCore/generated/JSHTMLTableElement.cpp | 441 + .../webkit/WebCore/generated/JSHTMLTableElement.h | 104 + .../WebCore/generated/JSHTMLTableRowElement.cpp | 272 + .../WebCore/generated/JSHTMLTableRowElement.h | 85 + .../generated/JSHTMLTableSectionElement.cpp | 249 + .../WebCore/generated/JSHTMLTableSectionElement.h | 86 + .../WebCore/generated/JSHTMLTextAreaElement.cpp | 343 + .../WebCore/generated/JSHTMLTextAreaElement.h | 97 + .../WebCore/generated/JSHTMLTitleElement.cpp | 158 + .../webkit/WebCore/generated/JSHTMLTitleElement.h | 65 + .../WebCore/generated/JSHTMLUListElement.cpp | 171 + .../webkit/WebCore/generated/JSHTMLUListElement.h | 67 + .../WebCore/generated/JSHTMLVideoElement.cpp | 203 + .../webkit/WebCore/generated/JSHTMLVideoElement.h | 76 + .../webkit/WebCore/generated/JSHistory.cpp | 172 + src/3rdparty/webkit/WebCore/generated/JSHistory.h | 86 + .../webkit/WebCore/generated/JSImageData.cpp | 163 + .../webkit/WebCore/generated/JSImageData.h | 73 + .../WebCore/generated/JSJavaScriptCallFrame.cpp | 169 + .../WebCore/generated/JSJavaScriptCallFrame.h | 92 + .../webkit/WebCore/generated/JSKeyboardEvent.cpp | 219 + .../webkit/WebCore/generated/JSKeyboardEvent.h | 77 + .../webkit/WebCore/generated/JSLocation.cpp | 261 + src/3rdparty/webkit/WebCore/generated/JSLocation.h | 118 + .../webkit/WebCore/generated/JSMediaError.cpp | 193 + .../webkit/WebCore/generated/JSMediaError.h | 87 + .../webkit/WebCore/generated/JSMediaList.cpp | 265 + .../webkit/WebCore/generated/JSMediaList.h | 88 + .../webkit/WebCore/generated/JSMessageChannel.cpp | 128 + .../webkit/WebCore/generated/JSMessageChannel.h | 73 + .../webkit/WebCore/generated/JSMessageEvent.cpp | 213 + .../webkit/WebCore/generated/JSMessageEvent.h | 75 + .../webkit/WebCore/generated/JSMessagePort.cpp | 318 + .../webkit/WebCore/generated/JSMessagePort.h | 98 + .../webkit/WebCore/generated/JSMimeType.cpp | 185 + src/3rdparty/webkit/WebCore/generated/JSMimeType.h | 75 + .../webkit/WebCore/generated/JSMimeTypeArray.cpp | 235 + .../webkit/WebCore/generated/JSMimeTypeArray.h | 87 + .../webkit/WebCore/generated/JSMouseEvent.cpp | 298 + .../webkit/WebCore/generated/JSMouseEvent.h | 87 + .../webkit/WebCore/generated/JSMutationEvent.cpp | 226 + .../webkit/WebCore/generated/JSMutationEvent.h | 80 + .../webkit/WebCore/generated/JSNamedNodeMap.cpp | 319 + .../webkit/WebCore/generated/JSNamedNodeMap.h | 92 + .../webkit/WebCore/generated/JSNavigator.cpp | 226 + .../webkit/WebCore/generated/JSNavigator.h | 96 + src/3rdparty/webkit/WebCore/generated/JSNode.cpp | 623 + src/3rdparty/webkit/WebCore/generated/JSNode.h | 152 + .../webkit/WebCore/generated/JSNodeFilter.cpp | 278 + .../webkit/WebCore/generated/JSNodeFilter.h | 102 + .../webkit/WebCore/generated/JSNodeIterator.cpp | 235 + .../webkit/WebCore/generated/JSNodeIterator.h | 93 + .../webkit/WebCore/generated/JSNodeList.cpp | 226 + src/3rdparty/webkit/WebCore/generated/JSNodeList.h | 89 + .../webkit/WebCore/generated/JSNotation.cpp | 153 + src/3rdparty/webkit/WebCore/generated/JSNotation.h | 64 + .../webkit/WebCore/generated/JSOverflowEvent.cpp | 203 + .../webkit/WebCore/generated/JSOverflowEvent.h | 78 + src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp | 258 + src/3rdparty/webkit/WebCore/generated/JSPlugin.h | 90 + .../webkit/WebCore/generated/JSPluginArray.cpp | 248 + .../webkit/WebCore/generated/JSPluginArray.h | 88 + .../webkit/WebCore/generated/JSPositionError.cpp | 204 + .../webkit/WebCore/generated/JSPositionError.h | 84 + .../WebCore/generated/JSProcessingInstruction.cpp | 175 + .../WebCore/generated/JSProcessingInstruction.h | 67 + .../webkit/WebCore/generated/JSProgressEvent.cpp | 183 + .../webkit/WebCore/generated/JSProgressEvent.h | 73 + .../webkit/WebCore/generated/JSRGBColor.lut.h | 21 + src/3rdparty/webkit/WebCore/generated/JSRange.cpp | 638 + src/3rdparty/webkit/WebCore/generated/JSRange.h | 117 + .../webkit/WebCore/generated/JSRangeException.cpp | 211 + .../webkit/WebCore/generated/JSRangeException.h | 86 + src/3rdparty/webkit/WebCore/generated/JSRect.cpp | 183 + src/3rdparty/webkit/WebCore/generated/JSRect.h | 75 + .../webkit/WebCore/generated/JSSQLError.cpp | 121 + src/3rdparty/webkit/WebCore/generated/JSSQLError.h | 71 + .../webkit/WebCore/generated/JSSQLResultSet.cpp | 131 + .../webkit/WebCore/generated/JSSQLResultSet.h | 72 + .../WebCore/generated/JSSQLResultSetRowList.cpp | 127 + .../WebCore/generated/JSSQLResultSetRowList.h | 81 + .../webkit/WebCore/generated/JSSQLTransaction.cpp | 100 + .../webkit/WebCore/generated/JSSQLTransaction.h | 72 + .../webkit/WebCore/generated/JSSVGAElement.cpp | 313 + .../webkit/WebCore/generated/JSSVGAElement.h | 94 + .../WebCore/generated/JSSVGAltGlyphElement.cpp | 141 + .../WebCore/generated/JSSVGAltGlyphElement.h | 71 + .../webkit/WebCore/generated/JSSVGAngle.cpp | 289 + src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h | 102 + .../WebCore/generated/JSSVGAnimateColorElement.cpp | 76 + .../WebCore/generated/JSSVGAnimateColorElement.h | 57 + .../WebCore/generated/JSSVGAnimateElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGAnimateElement.h | 57 + .../generated/JSSVGAnimateTransformElement.cpp | 76 + .../generated/JSSVGAnimateTransformElement.h | 57 + .../WebCore/generated/JSSVGAnimatedAngle.cpp | 126 + .../webkit/WebCore/generated/JSSVGAnimatedAngle.h | 76 + .../WebCore/generated/JSSVGAnimatedBoolean.cpp | 137 + .../WebCore/generated/JSSVGAnimatedBoolean.h | 78 + .../WebCore/generated/JSSVGAnimatedEnumeration.cpp | 138 + .../WebCore/generated/JSSVGAnimatedEnumeration.h | 78 + .../WebCore/generated/JSSVGAnimatedInteger.cpp | 138 + .../WebCore/generated/JSSVGAnimatedInteger.h | 78 + .../WebCore/generated/JSSVGAnimatedLength.cpp | 125 + .../webkit/WebCore/generated/JSSVGAnimatedLength.h | 76 + .../WebCore/generated/JSSVGAnimatedLengthList.cpp | 126 + .../WebCore/generated/JSSVGAnimatedLengthList.h | 76 + .../WebCore/generated/JSSVGAnimatedNumber.cpp | 138 + .../webkit/WebCore/generated/JSSVGAnimatedNumber.h | 78 + .../WebCore/generated/JSSVGAnimatedNumberList.cpp | 126 + .../WebCore/generated/JSSVGAnimatedNumberList.h | 76 + .../generated/JSSVGAnimatedPreserveAspectRatio.cpp | 126 + .../generated/JSSVGAnimatedPreserveAspectRatio.h | 76 + .../webkit/WebCore/generated/JSSVGAnimatedRect.cpp | 126 + .../webkit/WebCore/generated/JSSVGAnimatedRect.h | 76 + .../WebCore/generated/JSSVGAnimatedString.cpp | 140 + .../webkit/WebCore/generated/JSSVGAnimatedString.h | 78 + .../generated/JSSVGAnimatedTransformList.cpp | 126 + .../WebCore/generated/JSSVGAnimatedTransformList.h | 76 + .../WebCore/generated/JSSVGAnimationElement.cpp | 260 + .../WebCore/generated/JSSVGAnimationElement.h | 85 + .../WebCore/generated/JSSVGCircleElement.cpp | 322 + .../webkit/WebCore/generated/JSSVGCircleElement.h | 95 + .../WebCore/generated/JSSVGClipPathElement.cpp | 306 + .../WebCore/generated/JSSVGClipPathElement.h | 93 + .../webkit/WebCore/generated/JSSVGColor.cpp | 243 + src/3rdparty/webkit/WebCore/generated/JSSVGColor.h | 85 + .../JSSVGComponentTransferFunctionElement.cpp | 252 + .../JSSVGComponentTransferFunctionElement.h | 87 + .../WebCore/generated/JSSVGCursorElement.cpp | 173 + .../webkit/WebCore/generated/JSSVGCursorElement.h | 80 + .../generated/JSSVGDefinitionSrcElement.cpp | 76 + .../WebCore/generated/JSSVGDefinitionSrcElement.h | 57 + .../webkit/WebCore/generated/JSSVGDefsElement.cpp | 297 + .../webkit/WebCore/generated/JSSVGDefsElement.h | 92 + .../webkit/WebCore/generated/JSSVGDescElement.cpp | 169 + .../webkit/WebCore/generated/JSSVGDescElement.h | 80 + .../webkit/WebCore/generated/JSSVGDocument.cpp | 128 + .../webkit/WebCore/generated/JSSVGDocument.h | 74 + .../webkit/WebCore/generated/JSSVGElement.cpp | 153 + .../webkit/WebCore/generated/JSSVGElement.h | 77 + .../WebCore/generated/JSSVGElementInstance.cpp | 1024 + .../WebCore/generated/JSSVGElementInstance.h | 179 + .../WebCore/generated/JSSVGElementInstanceList.cpp | 140 + .../WebCore/generated/JSSVGElementInstanceList.h | 83 + .../generated/JSSVGElementWrapperFactory.cpp | 634 + .../WebCore/generated/JSSVGElementWrapperFactory.h | 51 + .../WebCore/generated/JSSVGEllipseElement.cpp | 330 + .../webkit/WebCore/generated/JSSVGEllipseElement.h | 96 + .../webkit/WebCore/generated/JSSVGException.cpp | 225 + .../webkit/WebCore/generated/JSSVGException.h | 94 + .../WebCore/generated/JSSVGFEBlendElement.cpp | 295 + .../webkit/WebCore/generated/JSSVGFEBlendElement.h | 93 + .../generated/JSSVGFEColorMatrixElement.cpp | 289 + .../WebCore/generated/JSSVGFEColorMatrixElement.h | 92 + .../generated/JSSVGFEComponentTransferElement.cpp | 185 + .../generated/JSSVGFEComponentTransferElement.h | 81 + .../WebCore/generated/JSSVGFECompositeElement.cpp | 335 + .../WebCore/generated/JSSVGFECompositeElement.h | 98 + .../generated/JSSVGFEDiffuseLightingElement.cpp | 218 + .../generated/JSSVGFEDiffuseLightingElement.h | 85 + .../generated/JSSVGFEDisplacementMapElement.cpp | 305 + .../generated/JSSVGFEDisplacementMapElement.h | 94 + .../generated/JSSVGFEDistantLightElement.cpp | 112 + .../WebCore/generated/JSSVGFEDistantLightElement.h | 67 + .../WebCore/generated/JSSVGFEFloodElement.cpp | 177 + .../webkit/WebCore/generated/JSSVGFEFloodElement.h | 80 + .../WebCore/generated/JSSVGFEFuncAElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGFEFuncAElement.h | 57 + .../WebCore/generated/JSSVGFEFuncBElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGFEFuncBElement.h | 57 + .../WebCore/generated/JSSVGFEFuncGElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGFEFuncGElement.h | 57 + .../WebCore/generated/JSSVGFEFuncRElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGFEFuncRElement.h | 57 + .../generated/JSSVGFEGaussianBlurElement.cpp | 216 + .../WebCore/generated/JSSVGFEGaussianBlurElement.h | 84 + .../WebCore/generated/JSSVGFEImageElement.cpp | 227 + .../webkit/WebCore/generated/JSSVGFEImageElement.h | 87 + .../WebCore/generated/JSSVGFEMergeElement.cpp | 177 + .../webkit/WebCore/generated/JSSVGFEMergeElement.h | 80 + .../WebCore/generated/JSSVGFEMergeNodeElement.cpp | 104 + .../WebCore/generated/JSSVGFEMergeNodeElement.h | 66 + .../WebCore/generated/JSSVGFEOffsetElement.cpp | 202 + .../WebCore/generated/JSSVGFEOffsetElement.h | 83 + .../WebCore/generated/JSSVGFEPointLightElement.cpp | 120 + .../WebCore/generated/JSSVGFEPointLightElement.h | 68 + .../generated/JSSVGFESpecularLightingElement.cpp | 210 + .../generated/JSSVGFESpecularLightingElement.h | 84 + .../WebCore/generated/JSSVGFESpotLightElement.cpp | 160 + .../WebCore/generated/JSSVGFESpotLightElement.h | 73 + .../WebCore/generated/JSSVGFETileElement.cpp | 185 + .../webkit/WebCore/generated/JSSVGFETileElement.h | 81 + .../WebCore/generated/JSSVGFETurbulenceElement.cpp | 321 + .../WebCore/generated/JSSVGFETurbulenceElement.h | 96 + .../WebCore/generated/JSSVGFilterElement.cpp | 267 + .../webkit/WebCore/generated/JSSVGFilterElement.h | 91 + .../webkit/WebCore/generated/JSSVGFontElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGFontElement.h | 57 + .../WebCore/generated/JSSVGFontFaceElement.cpp | 76 + .../WebCore/generated/JSSVGFontFaceElement.h | 57 + .../generated/JSSVGFontFaceFormatElement.cpp | 76 + .../WebCore/generated/JSSVGFontFaceFormatElement.h | 57 + .../WebCore/generated/JSSVGFontFaceNameElement.cpp | 76 + .../WebCore/generated/JSSVGFontFaceNameElement.h | 57 + .../WebCore/generated/JSSVGFontFaceSrcElement.cpp | 76 + .../WebCore/generated/JSSVGFontFaceSrcElement.h | 57 + .../WebCore/generated/JSSVGFontFaceUriElement.cpp | 76 + .../WebCore/generated/JSSVGFontFaceUriElement.h | 57 + .../generated/JSSVGForeignObjectElement.cpp | 330 + .../WebCore/generated/JSSVGForeignObjectElement.h | 96 + .../webkit/WebCore/generated/JSSVGGElement.cpp | 297 + .../webkit/WebCore/generated/JSSVGGElement.h | 92 + .../webkit/WebCore/generated/JSSVGGlyphElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGGlyphElement.h | 57 + .../WebCore/generated/JSSVGGradientElement.cpp | 258 + .../WebCore/generated/JSSVGGradientElement.h | 88 + .../webkit/WebCore/generated/JSSVGHKernElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGHKernElement.h | 57 + .../webkit/WebCore/generated/JSSVGImageElement.cpp | 347 + .../webkit/WebCore/generated/JSSVGImageElement.h | 98 + .../webkit/WebCore/generated/JSSVGLength.cpp | 326 + .../webkit/WebCore/generated/JSSVGLength.h | 114 + .../webkit/WebCore/generated/JSSVGLengthList.cpp | 239 + .../webkit/WebCore/generated/JSSVGLengthList.h | 91 + .../webkit/WebCore/generated/JSSVGLineElement.cpp | 330 + .../webkit/WebCore/generated/JSSVGLineElement.h | 96 + .../generated/JSSVGLinearGradientElement.cpp | 128 + .../WebCore/generated/JSSVGLinearGradientElement.h | 69 + .../WebCore/generated/JSSVGMarkerElement.cpp | 374 + .../webkit/WebCore/generated/JSSVGMarkerElement.h | 102 + .../webkit/WebCore/generated/JSSVGMaskElement.cpp | 265 + .../webkit/WebCore/generated/JSSVGMaskElement.h | 91 + .../webkit/WebCore/generated/JSSVGMatrix.cpp | 305 + .../webkit/WebCore/generated/JSSVGMatrix.h | 120 + .../WebCore/generated/JSSVGMetadataElement.cpp | 76 + .../WebCore/generated/JSSVGMetadataElement.h | 57 + .../WebCore/generated/JSSVGMissingGlyphElement.cpp | 76 + .../WebCore/generated/JSSVGMissingGlyphElement.h | 57 + .../webkit/WebCore/generated/JSSVGNumber.cpp | 130 + .../webkit/WebCore/generated/JSSVGNumber.h | 78 + .../webkit/WebCore/generated/JSSVGNumberList.cpp | 238 + .../webkit/WebCore/generated/JSSVGNumberList.h | 91 + .../webkit/WebCore/generated/JSSVGPaint.cpp | 269 + src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h | 90 + .../webkit/WebCore/generated/JSSVGPathElement.cpp | 713 + .../webkit/WebCore/generated/JSSVGPathElement.h | 119 + .../webkit/WebCore/generated/JSSVGPathSeg.cpp | 319 + .../webkit/WebCore/generated/JSSVGPathSeg.h | 107 + .../WebCore/generated/JSSVGPathSegArcAbs.cpp | 206 + .../webkit/WebCore/generated/JSSVGPathSegArcAbs.h | 80 + .../WebCore/generated/JSSVGPathSegArcRel.cpp | 206 + .../webkit/WebCore/generated/JSSVGPathSegArcRel.h | 80 + .../WebCore/generated/JSSVGPathSegClosePath.cpp | 76 + .../WebCore/generated/JSSVGPathSegClosePath.h | 57 + .../generated/JSSVGPathSegCurvetoCubicAbs.cpp | 191 + .../generated/JSSVGPathSegCurvetoCubicAbs.h | 78 + .../generated/JSSVGPathSegCurvetoCubicRel.cpp | 191 + .../generated/JSSVGPathSegCurvetoCubicRel.h | 78 + .../JSSVGPathSegCurvetoCubicSmoothAbs.cpp | 161 + .../generated/JSSVGPathSegCurvetoCubicSmoothAbs.h | 74 + .../JSSVGPathSegCurvetoCubicSmoothRel.cpp | 161 + .../generated/JSSVGPathSegCurvetoCubicSmoothRel.h | 74 + .../generated/JSSVGPathSegCurvetoQuadraticAbs.cpp | 161 + .../generated/JSSVGPathSegCurvetoQuadraticAbs.h | 74 + .../generated/JSSVGPathSegCurvetoQuadraticRel.cpp | 161 + .../generated/JSSVGPathSegCurvetoQuadraticRel.h | 74 + .../JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp | 131 + .../JSSVGPathSegCurvetoQuadraticSmoothAbs.h | 70 + .../JSSVGPathSegCurvetoQuadraticSmoothRel.cpp | 131 + .../JSSVGPathSegCurvetoQuadraticSmoothRel.h | 70 + .../WebCore/generated/JSSVGPathSegLinetoAbs.cpp | 131 + .../WebCore/generated/JSSVGPathSegLinetoAbs.h | 70 + .../generated/JSSVGPathSegLinetoHorizontalAbs.cpp | 116 + .../generated/JSSVGPathSegLinetoHorizontalAbs.h | 68 + .../generated/JSSVGPathSegLinetoHorizontalRel.cpp | 116 + .../generated/JSSVGPathSegLinetoHorizontalRel.h | 68 + .../WebCore/generated/JSSVGPathSegLinetoRel.cpp | 131 + .../WebCore/generated/JSSVGPathSegLinetoRel.h | 70 + .../generated/JSSVGPathSegLinetoVerticalAbs.cpp | 116 + .../generated/JSSVGPathSegLinetoVerticalAbs.h | 68 + .../generated/JSSVGPathSegLinetoVerticalRel.cpp | 116 + .../generated/JSSVGPathSegLinetoVerticalRel.h | 68 + .../webkit/WebCore/generated/JSSVGPathSegList.cpp | 189 + .../webkit/WebCore/generated/JSSVGPathSegList.h | 100 + .../WebCore/generated/JSSVGPathSegMovetoAbs.cpp | 131 + .../WebCore/generated/JSSVGPathSegMovetoAbs.h | 70 + .../WebCore/generated/JSSVGPathSegMovetoRel.cpp | 131 + .../WebCore/generated/JSSVGPathSegMovetoRel.h | 70 + .../WebCore/generated/JSSVGPatternElement.cpp | 300 + .../webkit/WebCore/generated/JSSVGPatternElement.h | 95 + .../webkit/WebCore/generated/JSSVGPoint.cpp | 168 + src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h | 89 + .../webkit/WebCore/generated/JSSVGPointList.cpp | 188 + .../webkit/WebCore/generated/JSSVGPointList.h | 100 + .../WebCore/generated/JSSVGPolygonElement.cpp | 313 + .../webkit/WebCore/generated/JSSVGPolygonElement.h | 94 + .../WebCore/generated/JSSVGPolylineElement.cpp | 313 + .../WebCore/generated/JSSVGPolylineElement.h | 94 + .../WebCore/generated/JSSVGPreserveAspectRatio.cpp | 300 + .../WebCore/generated/JSSVGPreserveAspectRatio.h | 104 + .../generated/JSSVGRadialGradientElement.cpp | 136 + .../WebCore/generated/JSSVGRadialGradientElement.h | 70 + .../webkit/WebCore/generated/JSSVGRect.cpp | 173 + src/3rdparty/webkit/WebCore/generated/JSSVGRect.h | 85 + .../webkit/WebCore/generated/JSSVGRectElement.cpp | 346 + .../webkit/WebCore/generated/JSSVGRectElement.h | 98 + .../WebCore/generated/JSSVGRenderingIntent.cpp | 209 + .../WebCore/generated/JSSVGRenderingIntent.h | 91 + .../webkit/WebCore/generated/JSSVGSVGElement.cpp | 772 + .../webkit/WebCore/generated/JSSVGSVGElement.h | 140 + .../WebCore/generated/JSSVGScriptElement.cpp | 133 + .../webkit/WebCore/generated/JSSVGScriptElement.h | 70 + .../webkit/WebCore/generated/JSSVGSetElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGSetElement.h | 57 + .../webkit/WebCore/generated/JSSVGStopElement.cpp | 145 + .../webkit/WebCore/generated/JSSVGStopElement.h | 76 + .../webkit/WebCore/generated/JSSVGStringList.cpp | 239 + .../webkit/WebCore/generated/JSSVGStringList.h | 91 + .../webkit/WebCore/generated/JSSVGStyleElement.cpp | 162 + .../webkit/WebCore/generated/JSSVGStyleElement.h | 74 + .../WebCore/generated/JSSVGSwitchElement.cpp | 297 + .../webkit/WebCore/generated/JSSVGSwitchElement.h | 92 + .../WebCore/generated/JSSVGSymbolElement.cpp | 196 + .../webkit/WebCore/generated/JSSVGSymbolElement.h | 83 + .../webkit/WebCore/generated/JSSVGTRefElement.cpp | 104 + .../webkit/WebCore/generated/JSSVGTRefElement.h | 66 + .../webkit/WebCore/generated/JSSVGTSpanElement.cpp | 76 + .../webkit/WebCore/generated/JSSVGTSpanElement.h | 57 + .../WebCore/generated/JSSVGTextContentElement.cpp | 445 + .../WebCore/generated/JSSVGTextContentElement.h | 103 + .../webkit/WebCore/generated/JSSVGTextElement.cpp | 183 + .../webkit/WebCore/generated/JSSVGTextElement.h | 79 + .../WebCore/generated/JSSVGTextPathElement.cpp | 228 + .../WebCore/generated/JSSVGTextPathElement.h | 84 + .../generated/JSSVGTextPositioningElement.cpp | 137 + .../generated/JSSVGTextPositioningElement.h | 70 + .../webkit/WebCore/generated/JSSVGTitleElement.cpp | 169 + .../webkit/WebCore/generated/JSSVGTitleElement.h | 80 + .../webkit/WebCore/generated/JSSVGTransform.cpp | 333 + .../webkit/WebCore/generated/JSSVGTransform.h | 103 + .../WebCore/generated/JSSVGTransformList.cpp | 218 + .../webkit/WebCore/generated/JSSVGTransformList.h | 102 + .../webkit/WebCore/generated/JSSVGUnitTypes.cpp | 188 + .../webkit/WebCore/generated/JSSVGUnitTypes.h | 88 + .../webkit/WebCore/generated/JSSVGUseElement.cpp | 354 + .../webkit/WebCore/generated/JSSVGUseElement.h | 99 + .../webkit/WebCore/generated/JSSVGViewElement.cpp | 175 + .../webkit/WebCore/generated/JSSVGViewElement.h | 82 + .../webkit/WebCore/generated/JSSVGZoomEvent.cpp | 133 + .../webkit/WebCore/generated/JSSVGZoomEvent.h | 70 + src/3rdparty/webkit/WebCore/generated/JSScreen.cpp | 161 + src/3rdparty/webkit/WebCore/generated/JSScreen.h | 77 + .../webkit/WebCore/generated/JSStorage.cpp | 264 + src/3rdparty/webkit/WebCore/generated/JSStorage.h | 92 + .../webkit/WebCore/generated/JSStorageEvent.cpp | 203 + .../webkit/WebCore/generated/JSStorageEvent.h | 75 + .../webkit/WebCore/generated/JSStyleSheet.cpp | 215 + .../webkit/WebCore/generated/JSStyleSheet.h | 82 + .../webkit/WebCore/generated/JSStyleSheetList.cpp | 221 + .../webkit/WebCore/generated/JSStyleSheetList.h | 86 + src/3rdparty/webkit/WebCore/generated/JSText.cpp | 191 + src/3rdparty/webkit/WebCore/generated/JSText.h | 72 + .../webkit/WebCore/generated/JSTextEvent.cpp | 171 + .../webkit/WebCore/generated/JSTextEvent.h | 71 + .../webkit/WebCore/generated/JSTextMetrics.cpp | 160 + .../webkit/WebCore/generated/JSTextMetrics.h | 72 + .../webkit/WebCore/generated/JSTimeRanges.cpp | 150 + .../webkit/WebCore/generated/JSTimeRanges.h | 79 + .../webkit/WebCore/generated/JSTreeWalker.cpp | 274 + .../webkit/WebCore/generated/JSTreeWalker.h | 103 + .../webkit/WebCore/generated/JSUIEvent.cpp | 226 + src/3rdparty/webkit/WebCore/generated/JSUIEvent.h | 79 + .../webkit/WebCore/generated/JSVoidCallback.cpp | 99 + .../webkit/WebCore/generated/JSVoidCallback.h | 69 + .../WebCore/generated/JSWebKitAnimationEvent.cpp | 177 + .../WebCore/generated/JSWebKitAnimationEvent.h | 72 + .../WebCore/generated/JSWebKitCSSKeyframeRule.cpp | 168 + .../WebCore/generated/JSWebKitCSSKeyframeRule.h | 66 + .../WebCore/generated/JSWebKitCSSKeyframesRule.cpp | 248 + .../WebCore/generated/JSWebKitCSSKeyframesRule.h | 79 + .../generated/JSWebKitCSSTransformValue.cpp | 229 + .../WebCore/generated/JSWebKitCSSTransformValue.h | 81 + .../WebCore/generated/JSWebKitTransitionEvent.cpp | 177 + .../WebCore/generated/JSWebKitTransitionEvent.h | 72 + .../webkit/WebCore/generated/JSWheelEvent.cpp | 243 + .../webkit/WebCore/generated/JSWheelEvent.h | 77 + src/3rdparty/webkit/WebCore/generated/JSWorker.cpp | 225 + src/3rdparty/webkit/WebCore/generated/JSWorker.h | 97 + .../webkit/WebCore/generated/JSWorkerContext.cpp | 243 + .../webkit/WebCore/generated/JSWorkerContext.h | 99 + .../WebCore/generated/JSWorkerContextBase.lut.h | 18 + .../webkit/WebCore/generated/JSWorkerLocation.cpp | 243 + .../webkit/WebCore/generated/JSWorkerLocation.h | 92 + .../webkit/WebCore/generated/JSWorkerNavigator.cpp | 154 + .../webkit/WebCore/generated/JSWorkerNavigator.h | 79 + .../webkit/WebCore/generated/JSXMLHttpRequest.cpp | 433 + .../webkit/WebCore/generated/JSXMLHttpRequest.h | 126 + .../generated/JSXMLHttpRequestException.cpp | 211 + .../WebCore/generated/JSXMLHttpRequestException.h | 86 + .../generated/JSXMLHttpRequestProgressEvent.cpp | 152 + .../generated/JSXMLHttpRequestProgressEvent.h | 64 + .../WebCore/generated/JSXMLHttpRequestUpload.cpp | 304 + .../WebCore/generated/JSXMLHttpRequestUpload.h | 98 + .../webkit/WebCore/generated/JSXMLSerializer.cpp | 187 + .../webkit/WebCore/generated/JSXMLSerializer.h | 79 + .../webkit/WebCore/generated/JSXPathEvaluator.cpp | 247 + .../webkit/WebCore/generated/JSXPathEvaluator.h | 86 + .../webkit/WebCore/generated/JSXPathException.cpp | 216 + .../webkit/WebCore/generated/JSXPathException.h | 91 + .../webkit/WebCore/generated/JSXPathExpression.cpp | 185 + .../webkit/WebCore/generated/JSXPathExpression.h | 84 + .../webkit/WebCore/generated/JSXPathNSResolver.cpp | 113 + .../webkit/WebCore/generated/JSXPathNSResolver.h | 74 + .../webkit/WebCore/generated/JSXPathResult.cpp | 335 + .../webkit/WebCore/generated/JSXPathResult.h | 104 + .../webkit/WebCore/generated/JSXSLTProcessor.cpp | 177 + .../webkit/WebCore/generated/JSXSLTProcessor.h | 89 + src/3rdparty/webkit/WebCore/generated/Lexer.lut.h | 54 + .../webkit/WebCore/generated/MathObject.lut.h | 36 + .../WebCore/generated/NumberConstructor.lut.h | 23 + .../WebCore/generated/RegExpConstructor.lut.h | 39 + .../webkit/WebCore/generated/RegExpObject.lut.h | 23 + .../webkit/WebCore/generated/SVGElementFactory.cpp | 607 + .../webkit/WebCore/generated/SVGElementFactory.h | 56 + src/3rdparty/webkit/WebCore/generated/SVGNames.cpp | 1377 + src/3rdparty/webkit/WebCore/generated/SVGNames.h | 700 + .../webkit/WebCore/generated/StringPrototype.lut.h | 50 + .../WebCore/generated/UserAgentStyleSheets.h | 8 + .../WebCore/generated/UserAgentStyleSheetsData.cpp | 985 + .../webkit/WebCore/generated/XLinkNames.cpp | 108 + src/3rdparty/webkit/WebCore/generated/XLinkNames.h | 68 + src/3rdparty/webkit/WebCore/generated/XMLNames.cpp | 92 + src/3rdparty/webkit/WebCore/generated/XMLNames.h | 57 + .../webkit/WebCore/generated/XPathGrammar.cpp | 2150 + .../webkit/WebCore/generated/XPathGrammar.h | 109 + src/3rdparty/webkit/WebCore/generated/chartables.c | 96 + .../webkit/WebCore/generated/tokenizer.cpp | 2200 + .../webkit/WebCore/history/BackForwardList.cpp | 282 + .../webkit/WebCore/history/BackForwardList.h | 95 + src/3rdparty/webkit/WebCore/history/CachedPage.cpp | 191 + src/3rdparty/webkit/WebCore/history/CachedPage.h | 84 + .../WebCore/history/CachedPagePlatformData.h | 45 + .../webkit/WebCore/history/HistoryItem.cpp | 435 + src/3rdparty/webkit/WebCore/history/HistoryItem.h | 219 + src/3rdparty/webkit/WebCore/history/PageCache.cpp | 183 + src/3rdparty/webkit/WebCore/history/PageCache.h | 83 + .../webkit/WebCore/html/CanvasGradient.cpp | 61 + src/3rdparty/webkit/WebCore/html/CanvasGradient.h | 66 + .../webkit/WebCore/html/CanvasGradient.idl | 39 + src/3rdparty/webkit/WebCore/html/CanvasPattern.cpp | 66 + src/3rdparty/webkit/WebCore/html/CanvasPattern.h | 62 + src/3rdparty/webkit/WebCore/html/CanvasPattern.idl | 36 + .../WebCore/html/CanvasRenderingContext2D.cpp | 1470 + .../webkit/WebCore/html/CanvasRenderingContext2D.h | 263 + .../WebCore/html/CanvasRenderingContext2D.idl | 123 + src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp | 222 + src/3rdparty/webkit/WebCore/html/CanvasStyle.h | 89 + .../webkit/WebCore/html/DocTypeStrings.gperf | 89 + src/3rdparty/webkit/WebCore/html/File.cpp | 51 + src/3rdparty/webkit/WebCore/html/File.h | 56 + src/3rdparty/webkit/WebCore/html/File.idl | 35 + src/3rdparty/webkit/WebCore/html/FileList.cpp | 44 + src/3rdparty/webkit/WebCore/html/FileList.h | 59 + src/3rdparty/webkit/WebCore/html/FileList.idl | 36 + src/3rdparty/webkit/WebCore/html/FormDataList.cpp | 91 + src/3rdparty/webkit/WebCore/html/FormDataList.h | 69 + .../webkit/WebCore/html/HTMLAnchorElement.cpp | 507 + .../webkit/WebCore/html/HTMLAnchorElement.h | 107 + .../webkit/WebCore/html/HTMLAnchorElement.idl | 60 + .../webkit/WebCore/html/HTMLAppletElement.cpp | 230 + .../webkit/WebCore/html/HTMLAppletElement.h | 81 + .../webkit/WebCore/html/HTMLAppletElement.idl | 53 + .../webkit/WebCore/html/HTMLAreaElement.cpp | 228 + src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h | 85 + .../webkit/WebCore/html/HTMLAreaElement.idl | 51 + .../webkit/WebCore/html/HTMLAttributeNames.in | 203 + .../webkit/WebCore/html/HTMLAudioElement.cpp | 44 + .../webkit/WebCore/html/HTMLAudioElement.h | 46 + .../webkit/WebCore/html/HTMLAudioElement.idl | 30 + src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp | 87 + src/3rdparty/webkit/WebCore/html/HTMLBRElement.h | 51 + src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl | 30 + .../webkit/WebCore/html/HTMLBaseElement.cpp | 99 + src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h | 57 + .../webkit/WebCore/html/HTMLBaseElement.idl | 31 + .../webkit/WebCore/html/HTMLBaseFontElement.cpp | 66 + .../webkit/WebCore/html/HTMLBaseFontElement.h | 49 + .../webkit/WebCore/html/HTMLBaseFontElement.idl | 35 + .../webkit/WebCore/html/HTMLBlockquoteElement.cpp | 51 + .../webkit/WebCore/html/HTMLBlockquoteElement.h | 43 + .../webkit/WebCore/html/HTMLBlockquoteElement.idl | 30 + .../webkit/WebCore/html/HTMLBodyElement.cpp | 306 + src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h | 81 + .../webkit/WebCore/html/HTMLBodyElement.idl | 42 + .../webkit/WebCore/html/HTMLButtonElement.cpp | 194 + .../webkit/WebCore/html/HTMLButtonElement.h | 71 + .../webkit/WebCore/html/HTMLButtonElement.idl | 39 + .../webkit/WebCore/html/HTMLCanvasElement.cpp | 288 + .../webkit/WebCore/html/HTMLCanvasElement.h | 131 + .../webkit/WebCore/html/HTMLCanvasElement.idl | 46 + .../webkit/WebCore/html/HTMLCollection.cpp | 458 + src/3rdparty/webkit/WebCore/html/HTMLCollection.h | 159 + .../webkit/WebCore/html/HTMLCollection.idl | 40 + .../webkit/WebCore/html/HTMLDListElement.cpp | 46 + .../webkit/WebCore/html/HTMLDListElement.h | 43 + .../webkit/WebCore/html/HTMLDListElement.idl | 30 + .../webkit/WebCore/html/HTMLDirectoryElement.cpp | 46 + .../webkit/WebCore/html/HTMLDirectoryElement.h | 43 + .../webkit/WebCore/html/HTMLDirectoryElement.idl | 30 + .../webkit/WebCore/html/HTMLDivElement.cpp | 78 + src/3rdparty/webkit/WebCore/html/HTMLDivElement.h | 46 + .../webkit/WebCore/html/HTMLDivElement.idl | 30 + src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp | 425 + src/3rdparty/webkit/WebCore/html/HTMLDocument.h | 112 + src/3rdparty/webkit/WebCore/html/HTMLDocument.idl | 67 + src/3rdparty/webkit/WebCore/html/HTMLElement.cpp | 1022 + src/3rdparty/webkit/WebCore/html/HTMLElement.h | 119 + src/3rdparty/webkit/WebCore/html/HTMLElement.idl | 72 + .../webkit/WebCore/html/HTMLElementFactory.cpp | 509 + .../webkit/WebCore/html/HTMLElementFactory.h | 47 + .../webkit/WebCore/html/HTMLEmbedElement.cpp | 258 + .../webkit/WebCore/html/HTMLEmbedElement.h | 71 + .../webkit/WebCore/html/HTMLEmbedElement.idl | 55 + .../webkit/WebCore/html/HTMLEntityNames.gperf | 296 + .../webkit/WebCore/html/HTMLFieldSetElement.cpp | 67 + .../webkit/WebCore/html/HTMLFieldSetElement.h | 56 + .../webkit/WebCore/html/HTMLFieldSetElement.idl | 31 + .../webkit/WebCore/html/HTMLFontElement.cpp | 176 + src/3rdparty/webkit/WebCore/html/HTMLFontElement.h | 53 + .../webkit/WebCore/html/HTMLFontElement.idl | 32 + .../webkit/WebCore/html/HTMLFormCollection.cpp | 245 + .../webkit/WebCore/html/HTMLFormCollection.h | 66 + .../webkit/WebCore/html/HTMLFormControlElement.cpp | 291 + .../webkit/WebCore/html/HTMLFormControlElement.h | 132 + .../webkit/WebCore/html/HTMLFormElement.cpp | 641 + src/3rdparty/webkit/WebCore/html/HTMLFormElement.h | 161 + .../webkit/WebCore/html/HTMLFormElement.idl | 43 + .../webkit/WebCore/html/HTMLFrameElement.cpp | 85 + .../webkit/WebCore/html/HTMLFrameElement.h | 60 + .../webkit/WebCore/html/HTMLFrameElement.idl | 57 + .../webkit/WebCore/html/HTMLFrameElementBase.cpp | 326 + .../webkit/WebCore/html/HTMLFrameElementBase.h | 109 + .../webkit/WebCore/html/HTMLFrameOwnerElement.cpp | 80 + .../webkit/WebCore/html/HTMLFrameOwnerElement.h | 68 + .../webkit/WebCore/html/HTMLFrameSetElement.cpp | 216 + .../webkit/WebCore/html/HTMLFrameSetElement.h | 91 + .../webkit/WebCore/html/HTMLFrameSetElement.idl | 35 + src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp | 141 + src/3rdparty/webkit/WebCore/html/HTMLHRElement.h | 55 + src/3rdparty/webkit/WebCore/html/HTMLHRElement.idl | 33 + .../webkit/WebCore/html/HTMLHeadElement.cpp | 70 + src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h | 50 + .../webkit/WebCore/html/HTMLHeadElement.idl | 30 + .../webkit/WebCore/html/HTMLHeadingElement.cpp | 58 + .../webkit/WebCore/html/HTMLHeadingElement.h | 45 + .../webkit/WebCore/html/HTMLHeadingElement.idl | 30 + .../webkit/WebCore/html/HTMLHtmlElement.cpp | 82 + src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h | 53 + .../webkit/WebCore/html/HTMLHtmlElement.idl | 32 + .../webkit/WebCore/html/HTMLIFrameElement.cpp | 158 + .../webkit/WebCore/html/HTMLIFrameElement.h | 66 + .../webkit/WebCore/html/HTMLIFrameElement.idl | 55 + .../webkit/WebCore/html/HTMLImageElement.cpp | 437 + .../webkit/WebCore/html/HTMLImageElement.h | 130 + .../webkit/WebCore/html/HTMLImageElement.idl | 56 + .../webkit/WebCore/html/HTMLImageLoader.cpp | 65 + src/3rdparty/webkit/WebCore/html/HTMLImageLoader.h | 45 + .../webkit/WebCore/html/HTMLInputElement.cpp | 1692 + .../webkit/WebCore/html/HTMLInputElement.h | 258 + .../webkit/WebCore/html/HTMLInputElement.idl | 76 + .../webkit/WebCore/html/HTMLIsIndexElement.cpp | 60 + .../webkit/WebCore/html/HTMLIsIndexElement.h | 49 + .../webkit/WebCore/html/HTMLIsIndexElement.idl | 31 + .../webkit/WebCore/html/HTMLKeygenElement.cpp | 86 + .../webkit/WebCore/html/HTMLKeygenElement.h | 48 + src/3rdparty/webkit/WebCore/html/HTMLLIElement.cpp | 128 + src/3rdparty/webkit/WebCore/html/HTMLLIElement.h | 53 + src/3rdparty/webkit/WebCore/html/HTMLLIElement.idl | 31 + .../webkit/WebCore/html/HTMLLabelElement.cpp | 164 + .../webkit/WebCore/html/HTMLLabelElement.h | 65 + .../webkit/WebCore/html/HTMLLabelElement.idl | 33 + .../webkit/WebCore/html/HTMLLegendElement.cpp | 124 + .../webkit/WebCore/html/HTMLLegendElement.h | 57 + .../webkit/WebCore/html/HTMLLegendElement.idl | 33 + .../webkit/WebCore/html/HTMLLinkElement.cpp | 403 + src/3rdparty/webkit/WebCore/html/HTMLLinkElement.h | 119 + .../webkit/WebCore/html/HTMLLinkElement.idl | 49 + .../webkit/WebCore/html/HTMLMapElement.cpp | 112 + src/3rdparty/webkit/WebCore/html/HTMLMapElement.h | 59 + .../webkit/WebCore/html/HTMLMapElement.idl | 32 + .../webkit/WebCore/html/HTMLMarqueeElement.cpp | 122 + .../webkit/WebCore/html/HTMLMarqueeElement.h | 53 + .../webkit/WebCore/html/HTMLMarqueeElement.idl | 33 + .../webkit/WebCore/html/HTMLMediaElement.cpp | 1073 + .../webkit/WebCore/html/HTMLMediaElement.h | 212 + .../webkit/WebCore/html/HTMLMediaElement.idl | 88 + .../webkit/WebCore/html/HTMLMenuElement.cpp | 46 + src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h | 43 + .../webkit/WebCore/html/HTMLMenuElement.idl | 30 + .../webkit/WebCore/html/HTMLMetaElement.cpp | 110 + src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h | 64 + .../webkit/WebCore/html/HTMLMetaElement.idl | 33 + .../webkit/WebCore/html/HTMLModElement.cpp | 58 + src/3rdparty/webkit/WebCore/html/HTMLModElement.h | 50 + .../webkit/WebCore/html/HTMLModElement.idl | 31 + .../webkit/WebCore/html/HTMLNameCollection.cpp | 96 + .../webkit/WebCore/html/HTMLNameCollection.h | 50 + .../webkit/WebCore/html/HTMLOListElement.cpp | 99 + .../webkit/WebCore/html/HTMLOListElement.h | 56 + .../webkit/WebCore/html/HTMLOListElement.idl | 32 + .../webkit/WebCore/html/HTMLObjectElement.cpp | 449 + .../webkit/WebCore/html/HTMLObjectElement.h | 119 + .../webkit/WebCore/html/HTMLObjectElement.idl | 66 + .../webkit/WebCore/html/HTMLOptGroupElement.cpp | 191 + .../webkit/WebCore/html/HTMLOptGroupElement.h | 70 + .../webkit/WebCore/html/HTMLOptGroupElement.idl | 31 + .../webkit/WebCore/html/HTMLOptionElement.cpp | 262 + .../webkit/WebCore/html/HTMLOptionElement.h | 92 + .../webkit/WebCore/html/HTMLOptionElement.idl | 44 + .../webkit/WebCore/html/HTMLOptionsCollection.cpp | 92 + .../webkit/WebCore/html/HTMLOptionsCollection.h | 55 + .../webkit/WebCore/html/HTMLOptionsCollection.idl | 45 + .../webkit/WebCore/html/HTMLParagraphElement.cpp | 80 + .../webkit/WebCore/html/HTMLParagraphElement.h | 46 + .../webkit/WebCore/html/HTMLParagraphElement.idl | 30 + .../webkit/WebCore/html/HTMLParamElement.cpp | 114 + .../webkit/WebCore/html/HTMLParamElement.h | 66 + .../webkit/WebCore/html/HTMLParamElement.idl | 33 + src/3rdparty/webkit/WebCore/html/HTMLParser.cpp | 1603 + src/3rdparty/webkit/WebCore/html/HTMLParser.h | 184 + .../webkit/WebCore/html/HTMLParserErrorCodes.cpp | 70 + .../webkit/WebCore/html/HTMLParserErrorCodes.h | 60 + .../webkit/WebCore/html/HTMLPlugInElement.cpp | 200 + .../webkit/WebCore/html/HTMLPlugInElement.h | 84 + .../webkit/WebCore/html/HTMLPlugInImageElement.cpp | 54 + .../webkit/WebCore/html/HTMLPlugInImageElement.h | 49 + .../webkit/WebCore/html/HTMLPreElement.cpp | 83 + src/3rdparty/webkit/WebCore/html/HTMLPreElement.h | 50 + .../webkit/WebCore/html/HTMLPreElement.idl | 36 + .../webkit/WebCore/html/HTMLQuoteElement.cpp | 47 + .../webkit/WebCore/html/HTMLQuoteElement.h | 45 + .../webkit/WebCore/html/HTMLQuoteElement.idl | 29 + .../webkit/WebCore/html/HTMLScriptElement.cpp | 226 + .../webkit/WebCore/html/HTMLScriptElement.h | 93 + .../webkit/WebCore/html/HTMLScriptElement.idl | 35 + .../webkit/WebCore/html/HTMLSelectElement.cpp | 1124 + .../webkit/WebCore/html/HTMLSelectElement.h | 184 + .../webkit/WebCore/html/HTMLSelectElement.idl | 72 + .../webkit/WebCore/html/HTMLSourceElement.cpp | 92 + .../webkit/WebCore/html/HTMLSourceElement.h | 59 + .../webkit/WebCore/html/HTMLSourceElement.idl | 32 + .../webkit/WebCore/html/HTMLStyleElement.cpp | 145 + .../webkit/WebCore/html/HTMLStyleElement.h | 74 + .../webkit/WebCore/html/HTMLStyleElement.idl | 38 + .../WebCore/html/HTMLTableCaptionElement.cpp | 69 + .../webkit/WebCore/html/HTMLTableCaptionElement.h | 50 + .../WebCore/html/HTMLTableCaptionElement.idl | 34 + .../webkit/WebCore/html/HTMLTableCellElement.cpp | 271 + .../webkit/WebCore/html/HTMLTableCellElement.h | 118 + .../webkit/WebCore/html/HTMLTableCellElement.idl | 47 + .../webkit/WebCore/html/HTMLTableColElement.cpp | 156 + .../webkit/WebCore/html/HTMLTableColElement.h | 77 + .../webkit/WebCore/html/HTMLTableColElement.idl | 38 + .../webkit/WebCore/html/HTMLTableElement.cpp | 758 + .../webkit/WebCore/html/HTMLTableElement.h | 131 + .../webkit/WebCore/html/HTMLTableElement.idl | 67 + .../webkit/WebCore/html/HTMLTablePartElement.cpp | 100 + .../webkit/WebCore/html/HTMLTablePartElement.h | 47 + .../webkit/WebCore/html/HTMLTableRowElement.cpp | 229 + .../webkit/WebCore/html/HTMLTableRowElement.h | 72 + .../webkit/WebCore/html/HTMLTableRowElement.idl | 45 + .../WebCore/html/HTMLTableRowsCollection.cpp | 167 + .../webkit/WebCore/html/HTMLTableRowsCollection.h | 54 + .../WebCore/html/HTMLTableSectionElement.cpp | 173 + .../webkit/WebCore/html/HTMLTableSectionElement.h | 66 + .../WebCore/html/HTMLTableSectionElement.idl | 43 + src/3rdparty/webkit/WebCore/html/HTMLTagNames.in | 111 + .../webkit/WebCore/html/HTMLTextAreaElement.cpp | 389 + .../webkit/WebCore/html/HTMLTextAreaElement.h | 109 + .../webkit/WebCore/html/HTMLTextAreaElement.idl | 50 + .../webkit/WebCore/html/HTMLTitleElement.cpp | 94 + .../webkit/WebCore/html/HTMLTitleElement.h | 52 + .../webkit/WebCore/html/HTMLTitleElement.idl | 30 + src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp | 2043 + src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h | 422 + .../webkit/WebCore/html/HTMLUListElement.cpp | 75 + .../webkit/WebCore/html/HTMLUListElement.h | 49 + .../webkit/WebCore/html/HTMLUListElement.idl | 31 + .../webkit/WebCore/html/HTMLVideoElement.cpp | 175 + .../webkit/WebCore/html/HTMLVideoElement.h | 74 + .../webkit/WebCore/html/HTMLVideoElement.idl | 34 + .../webkit/WebCore/html/HTMLViewSourceDocument.cpp | 294 + .../webkit/WebCore/html/HTMLViewSourceDocument.h | 65 + src/3rdparty/webkit/WebCore/html/ImageData.cpp | 47 + src/3rdparty/webkit/WebCore/html/ImageData.h | 55 + src/3rdparty/webkit/WebCore/html/ImageData.idl | 39 + src/3rdparty/webkit/WebCore/html/MediaError.h | 52 + src/3rdparty/webkit/WebCore/html/MediaError.idl | 33 + .../webkit/WebCore/html/PreloadScanner.cpp | 853 + src/3rdparty/webkit/WebCore/html/PreloadScanner.h | 144 + src/3rdparty/webkit/WebCore/html/TextMetrics.h | 50 + src/3rdparty/webkit/WebCore/html/TextMetrics.idl | 34 + src/3rdparty/webkit/WebCore/html/TimeRanges.cpp | 69 + src/3rdparty/webkit/WebCore/html/TimeRanges.h | 74 + src/3rdparty/webkit/WebCore/html/TimeRanges.idl | 36 + src/3rdparty/webkit/WebCore/html/VoidCallback.h | 45 + src/3rdparty/webkit/WebCore/html/VoidCallback.idl | 30 + .../webkit/WebCore/inspector/InspectorClient.h | 67 + .../WebCore/inspector/InspectorController.cpp | 2928 + .../webkit/WebCore/inspector/InspectorController.h | 328 + .../WebCore/inspector/JavaScriptCallFrame.cpp | 101 + .../webkit/WebCore/inspector/JavaScriptCallFrame.h | 78 + .../WebCore/inspector/JavaScriptCallFrame.idl | 40 + .../WebCore/inspector/JavaScriptDebugListener.h | 54 + .../WebCore/inspector/JavaScriptDebugServer.cpp | 615 + .../WebCore/inspector/JavaScriptDebugServer.h | 130 + .../webkit/WebCore/inspector/JavaScriptProfile.cpp | 294 + .../webkit/WebCore/inspector/JavaScriptProfile.h | 42 + .../WebCore/inspector/JavaScriptProfileNode.cpp | 243 + .../WebCore/inspector/JavaScriptProfileNode.h | 44 + .../WebCore/inspector/front-end/Breakpoint.js | 54 + .../inspector/front-end/BreakpointsSidebarPane.js | 85 + .../inspector/front-end/CallStackSidebarPane.js | 110 + .../webkit/WebCore/inspector/front-end/Console.js | 949 + .../webkit/WebCore/inspector/front-end/DataGrid.js | 844 + .../webkit/WebCore/inspector/front-end/Database.js | 95 + .../inspector/front-end/DatabaseQueryView.js | 199 + .../inspector/front-end/DatabaseTableView.js | 82 + .../WebCore/inspector/front-end/DatabasesPanel.js | 357 + .../WebCore/inspector/front-end/ElementsPanel.js | 1206 + .../inspector/front-end/ElementsTreeOutline.js | 626 + .../webkit/WebCore/inspector/front-end/FontView.js | 104 + .../WebCore/inspector/front-end/ImageView.js | 74 + .../WebCore/inspector/front-end/Images/back.png | Bin 0 -> 4205 bytes .../WebCore/inspector/front-end/Images/checker.png | Bin 0 -> 3471 bytes .../front-end/Images/clearConsoleButtons.png | Bin 0 -> 5224 bytes .../inspector/front-end/Images/closeButtons.png | Bin 0 -> 4355 bytes .../inspector/front-end/Images/consoleButtons.png | Bin 0 -> 5197 bytes .../inspector/front-end/Images/database.png | Bin 0 -> 2329 bytes .../inspector/front-end/Images/databaseTable.png | Bin 0 -> 4325 bytes .../inspector/front-end/Images/databasesIcon.png | Bin 0 -> 7148 bytes .../front-end/Images/debuggerContinue.png | Bin 0 -> 4190 bytes .../inspector/front-end/Images/debuggerPause.png | Bin 0 -> 4081 bytes .../front-end/Images/debuggerStepInto.png | Bin 0 -> 4282 bytes .../inspector/front-end/Images/debuggerStepOut.png | Bin 0 -> 4271 bytes .../front-end/Images/debuggerStepOver.png | Bin 0 -> 4366 bytes .../Images/disclosureTriangleSmallDown.png | Bin 0 -> 3919 bytes .../Images/disclosureTriangleSmallDownBlack.png | Bin 0 -> 3802 bytes .../Images/disclosureTriangleSmallDownWhite.png | Bin 0 -> 3820 bytes .../Images/disclosureTriangleSmallRight.png | Bin 0 -> 3898 bytes .../Images/disclosureTriangleSmallRightBlack.png | Bin 0 -> 3807 bytes .../Images/disclosureTriangleSmallRightDown.png | Bin 0 -> 3953 bytes .../disclosureTriangleSmallRightDownBlack.png | Bin 0 -> 3816 bytes .../disclosureTriangleSmallRightDownWhite.png | Bin 0 -> 3838 bytes .../Images/disclosureTriangleSmallRightWhite.png | Bin 0 -> 3818 bytes .../inspector/front-end/Images/dockButtons.png | Bin 0 -> 1274 bytes .../inspector/front-end/Images/elementsIcon.png | Bin 0 -> 6639 bytes .../inspector/front-end/Images/enableButtons.png | Bin 0 -> 5543 bytes .../inspector/front-end/Images/errorIcon.png | Bin 0 -> 4337 bytes .../inspector/front-end/Images/errorMediumIcon.png | Bin 0 -> 4059 bytes .../inspector/front-end/Images/excludeButtons.png | Bin 0 -> 4562 bytes .../inspector/front-end/Images/focusButtons.png | Bin 0 -> 4919 bytes .../WebCore/inspector/front-end/Images/forward.png | Bin 0 -> 4202 bytes .../inspector/front-end/Images/glossyHeader.png | Bin 0 -> 3720 bytes .../front-end/Images/glossyHeaderPressed.png | Bin 0 -> 3721 bytes .../front-end/Images/glossyHeaderSelected.png | Bin 0 -> 3738 bytes .../Images/glossyHeaderSelectedPressed.png | Bin 0 -> 3739 bytes .../WebCore/inspector/front-end/Images/goArrow.png | Bin 0 -> 3591 bytes .../front-end/Images/graphLabelCalloutLeft.png | Bin 0 -> 3790 bytes .../front-end/Images/graphLabelCalloutRight.png | Bin 0 -> 3789 bytes .../front-end/Images/largerResourcesButtons.png | Bin 0 -> 1596 bytes .../front-end/Images/nodeSearchButtons.png | Bin 0 -> 5708 bytes .../inspector/front-end/Images/paneBottomGrow.png | Bin 0 -> 3457 bytes .../front-end/Images/paneBottomGrowActive.png | Bin 0 -> 3457 bytes .../front-end/Images/paneGrowHandleLine.png | Bin 0 -> 3443 bytes .../front-end/Images/pauseOnExceptionButtons.png | Bin 0 -> 2305 bytes .../inspector/front-end/Images/percentButtons.png | Bin 0 -> 5771 bytes .../front-end/Images/profileGroupIcon.png | Bin 0 -> 5126 bytes .../inspector/front-end/Images/profileIcon.png | Bin 0 -> 4953 bytes .../front-end/Images/profileSmallIcon.png | Bin 0 -> 579 bytes .../inspector/front-end/Images/profilesIcon.png | Bin 0 -> 4158 bytes .../front-end/Images/profilesSilhouette.png | Bin 0 -> 48600 bytes .../inspector/front-end/Images/recordButtons.png | Bin 0 -> 5716 bytes .../inspector/front-end/Images/reloadButtons.png | Bin 0 -> 4544 bytes .../inspector/front-end/Images/resourceCSSIcon.png | Bin 0 -> 1066 bytes .../front-end/Images/resourceDocumentIcon.png | Bin 0 -> 4959 bytes .../front-end/Images/resourceDocumentIconSmall.png | Bin 0 -> 787 bytes .../inspector/front-end/Images/resourceJSIcon.png | Bin 0 -> 879 bytes .../front-end/Images/resourcePlainIcon.png | Bin 0 -> 4321 bytes .../front-end/Images/resourcePlainIconSmall.png | Bin 0 -> 731 bytes .../inspector/front-end/Images/resourcesIcon.png | Bin 0 -> 6431 bytes .../front-end/Images/resourcesSizeGraphIcon.png | Bin 0 -> 5606 bytes .../front-end/Images/resourcesTimeGraphIcon.png | Bin 0 -> 5743 bytes .../inspector/front-end/Images/scriptsIcon.png | Bin 0 -> 7428 bytes .../front-end/Images/scriptsSilhouette.png | Bin 0 -> 49028 bytes .../inspector/front-end/Images/searchSmallBlue.png | Bin 0 -> 3968 bytes .../front-end/Images/searchSmallBrightBlue.png | Bin 0 -> 3966 bytes .../inspector/front-end/Images/searchSmallGray.png | Bin 0 -> 3936 bytes .../front-end/Images/searchSmallWhite.png | Bin 0 -> 3844 bytes .../WebCore/inspector/front-end/Images/segment.png | Bin 0 -> 4349 bytes .../inspector/front-end/Images/segmentEnd.png | Bin 0 -> 4070 bytes .../inspector/front-end/Images/segmentHover.png | Bin 0 -> 4310 bytes .../inspector/front-end/Images/segmentHoverEnd.png | Bin 0 -> 4074 bytes .../inspector/front-end/Images/segmentSelected.png | Bin 0 -> 4302 bytes .../front-end/Images/segmentSelectedEnd.png | Bin 0 -> 4070 bytes .../inspector/front-end/Images/splitviewDimple.png | Bin 0 -> 216 bytes .../Images/splitviewDividerBackground.png | Bin 0 -> 149 bytes .../front-end/Images/statusbarBackground.png | Bin 0 -> 4024 bytes .../front-end/Images/statusbarBottomBackground.png | Bin 0 -> 4021 bytes .../front-end/Images/statusbarButtons.png | Bin 0 -> 4175 bytes .../front-end/Images/statusbarMenuButton.png | Bin 0 -> 4293 bytes .../Images/statusbarMenuButtonSelected.png | Bin 0 -> 4291 bytes .../Images/statusbarResizerHorizontal.png | Bin 0 -> 4026 bytes .../front-end/Images/statusbarResizerVertical.png | Bin 0 -> 4036 bytes .../front-end/Images/timelineHollowPillBlue.png | Bin 0 -> 3450 bytes .../front-end/Images/timelineHollowPillGray.png | Bin 0 -> 3392 bytes .../front-end/Images/timelineHollowPillGreen.png | Bin 0 -> 3452 bytes .../front-end/Images/timelineHollowPillOrange.png | Bin 0 -> 3452 bytes .../front-end/Images/timelineHollowPillPurple.png | Bin 0 -> 3453 bytes .../front-end/Images/timelineHollowPillRed.png | Bin 0 -> 3460 bytes .../front-end/Images/timelineHollowPillYellow.png | Bin 0 -> 3444 bytes .../front-end/Images/timelinePillBlue.png | Bin 0 -> 3346 bytes .../front-end/Images/timelinePillGray.png | Bin 0 -> 3297 bytes .../front-end/Images/timelinePillGreen.png | Bin 0 -> 3350 bytes .../front-end/Images/timelinePillOrange.png | Bin 0 -> 3352 bytes .../front-end/Images/timelinePillPurple.png | Bin 0 -> 3353 bytes .../inspector/front-end/Images/timelinePillRed.png | Bin 0 -> 3343 bytes .../front-end/Images/timelinePillYellow.png | Bin 0 -> 3336 bytes .../inspector/front-end/Images/tipBalloon.png | Bin 0 -> 3689 bytes .../front-end/Images/tipBalloonBottom.png | Bin 0 -> 3139 bytes .../WebCore/inspector/front-end/Images/tipIcon.png | Bin 0 -> 1212 bytes .../inspector/front-end/Images/tipIconPressed.png | Bin 0 -> 1224 bytes .../front-end/Images/toolbarItemSelected.png | Bin 0 -> 4197 bytes .../front-end/Images/treeDownTriangleBlack.png | Bin 0 -> 3570 bytes .../front-end/Images/treeDownTriangleWhite.png | Bin 0 -> 3531 bytes .../front-end/Images/treeRightTriangleBlack.png | Bin 0 -> 3561 bytes .../front-end/Images/treeRightTriangleWhite.png | Bin 0 -> 3535 bytes .../front-end/Images/treeUpTriangleBlack.png | Bin 0 -> 3584 bytes .../front-end/Images/treeUpTriangleWhite.png | Bin 0 -> 3558 bytes .../inspector/front-end/Images/userInputIcon.png | Bin 0 -> 777 bytes .../front-end/Images/userInputPreviousIcon.png | Bin 0 -> 765 bytes .../inspector/front-end/Images/warningIcon.png | Bin 0 -> 4244 bytes .../front-end/Images/warningMediumIcon.png | Bin 0 -> 3833 bytes .../inspector/front-end/Images/warningsErrors.png | Bin 0 -> 5192 bytes .../inspector/front-end/MetricsSidebarPane.js | 195 + .../webkit/WebCore/inspector/front-end/Object.js | 82 + .../inspector/front-end/ObjectPropertiesSection.js | 276 + .../webkit/WebCore/inspector/front-end/Panel.js | 273 + .../inspector/front-end/PanelEnablerView.js | 76 + .../webkit/WebCore/inspector/front-end/Placard.js | 106 + .../WebCore/inspector/front-end/ProfileView.js | 642 + .../WebCore/inspector/front-end/ProfilesPanel.js | 504 + .../inspector/front-end/PropertiesSection.js | 145 + .../inspector/front-end/PropertiesSidebarPane.js | 54 + .../webkit/WebCore/inspector/front-end/Resource.js | 625 + .../inspector/front-end/ResourceCategory.js | 68 + .../WebCore/inspector/front-end/ResourceView.js | 140 + .../WebCore/inspector/front-end/ResourcesPanel.js | 1649 + .../inspector/front-end/ScopeChainSidebarPane.js | 156 + .../webkit/WebCore/inspector/front-end/Script.js | 37 + .../WebCore/inspector/front-end/ScriptView.js | 103 + .../WebCore/inspector/front-end/ScriptsPanel.js | 810 + .../WebCore/inspector/front-end/SidebarPane.js | 125 + .../inspector/front-end/SidebarTreeElement.js | 201 + .../WebCore/inspector/front-end/SourceFrame.js | 699 + .../WebCore/inspector/front-end/SourceView.js | 303 + .../inspector/front-end/StylesSidebarPane.js | 927 + .../WebCore/inspector/front-end/TextPrompt.js | 312 + .../webkit/WebCore/inspector/front-end/View.js | 74 + .../webkit/WebCore/inspector/front-end/WebKit.qrc | 158 + .../WebCore/inspector/front-end/inspector.css | 2996 + .../WebCore/inspector/front-end/inspector.html | 91 + .../WebCore/inspector/front-end/inspector.js | 1267 + .../WebCore/inspector/front-end/treeoutline.js | 846 + .../WebCore/inspector/front-end/utilities.js | 1098 + src/3rdparty/webkit/WebCore/loader/Cache.cpp | 753 + src/3rdparty/webkit/WebCore/loader/Cache.h | 210 + src/3rdparty/webkit/WebCore/loader/CachePolicy.h | 40 + .../webkit/WebCore/loader/CachedCSSStyleSheet.cpp | 148 + .../webkit/WebCore/loader/CachedCSSStyleSheet.h | 68 + src/3rdparty/webkit/WebCore/loader/CachedFont.cpp | 203 + src/3rdparty/webkit/WebCore/loader/CachedFont.h | 89 + src/3rdparty/webkit/WebCore/loader/CachedImage.cpp | 382 + src/3rdparty/webkit/WebCore/loader/CachedImage.h | 103 + .../webkit/WebCore/loader/CachedResource.cpp | 397 + .../webkit/WebCore/loader/CachedResource.h | 250 + .../webkit/WebCore/loader/CachedResourceClient.h | 80 + .../WebCore/loader/CachedResourceClientWalker.cpp | 53 + .../WebCore/loader/CachedResourceClientWalker.h | 49 + .../webkit/WebCore/loader/CachedResourceHandle.cpp | 42 + .../webkit/WebCore/loader/CachedResourceHandle.h | 92 + .../webkit/WebCore/loader/CachedScript.cpp | 131 + src/3rdparty/webkit/WebCore/loader/CachedScript.h | 67 + .../webkit/WebCore/loader/CachedXBLDocument.cpp | 110 + .../webkit/WebCore/loader/CachedXBLDocument.h | 67 + .../webkit/WebCore/loader/CachedXSLStyleSheet.cpp | 101 + .../webkit/WebCore/loader/CachedXSLStyleSheet.h | 64 + src/3rdparty/webkit/WebCore/loader/DocLoader.cpp | 429 + src/3rdparty/webkit/WebCore/loader/DocLoader.h | 138 + .../webkit/WebCore/loader/DocumentLoader.cpp | 945 + .../webkit/WebCore/loader/DocumentLoader.h | 317 + src/3rdparty/webkit/WebCore/loader/EmptyClients.h | 413 + .../webkit/WebCore/loader/FTPDirectoryDocument.cpp | 496 + .../webkit/WebCore/loader/FTPDirectoryDocument.h | 48 + .../webkit/WebCore/loader/FTPDirectoryParser.cpp | 1624 + .../webkit/WebCore/loader/FTPDirectoryParser.h | 157 + src/3rdparty/webkit/WebCore/loader/FormState.cpp | 49 + src/3rdparty/webkit/WebCore/loader/FormState.h | 59 + src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp | 5310 ++ src/3rdparty/webkit/WebCore/loader/FrameLoader.h | 688 + .../webkit/WebCore/loader/FrameLoaderClient.cpp | 92 + .../webkit/WebCore/loader/FrameLoaderClient.h | 222 + .../webkit/WebCore/loader/FrameLoaderTypes.h | 79 + .../webkit/WebCore/loader/ImageDocument.cpp | 371 + src/3rdparty/webkit/WebCore/loader/ImageDocument.h | 76 + src/3rdparty/webkit/WebCore/loader/ImageLoader.cpp | 153 + src/3rdparty/webkit/WebCore/loader/ImageLoader.h | 77 + .../webkit/WebCore/loader/MainResourceLoader.cpp | 519 + .../webkit/WebCore/loader/MainResourceLoader.h | 104 + .../webkit/WebCore/loader/MediaDocument.cpp | 169 + src/3rdparty/webkit/WebCore/loader/MediaDocument.h | 54 + .../webkit/WebCore/loader/NavigationAction.cpp | 83 + .../webkit/WebCore/loader/NavigationAction.h | 61 + .../WebCore/loader/NetscapePlugInStreamLoader.cpp | 130 + .../WebCore/loader/NetscapePlugInStreamLoader.h | 70 + .../webkit/WebCore/loader/PluginDocument.cpp | 151 + .../webkit/WebCore/loader/PluginDocument.h | 48 + .../webkit/WebCore/loader/ProgressTracker.cpp | 253 + .../webkit/WebCore/loader/ProgressTracker.h | 80 + src/3rdparty/webkit/WebCore/loader/Request.cpp | 47 + src/3rdparty/webkit/WebCore/loader/Request.h | 63 + .../webkit/WebCore/loader/ResourceLoader.cpp | 480 + .../webkit/WebCore/loader/ResourceLoader.h | 157 + .../webkit/WebCore/loader/SubresourceLoader.cpp | 268 + .../webkit/WebCore/loader/SubresourceLoader.h | 66 + .../WebCore/loader/SubresourceLoaderClient.h | 61 + .../webkit/WebCore/loader/SubstituteData.h | 69 + .../webkit/WebCore/loader/SubstituteResource.h | 64 + .../webkit/WebCore/loader/TextDocument.cpp | 187 + src/3rdparty/webkit/WebCore/loader/TextDocument.h | 51 + .../webkit/WebCore/loader/TextResourceDecoder.cpp | 800 + .../webkit/WebCore/loader/TextResourceDecoder.h | 80 + .../webkit/WebCore/loader/UserStyleSheetLoader.cpp | 62 + .../webkit/WebCore/loader/UserStyleSheetLoader.h | 57 + .../WebCore/loader/appcache/ApplicationCache.cpp | 210 + .../WebCore/loader/appcache/ApplicationCache.h | 113 + .../loader/appcache/ApplicationCacheGroup.cpp | 719 + .../loader/appcache/ApplicationCacheGroup.h | 154 + .../loader/appcache/ApplicationCacheResource.cpp | 69 + .../loader/appcache/ApplicationCacheResource.h | 73 + .../loader/appcache/ApplicationCacheStorage.cpp | 796 + .../loader/appcache/ApplicationCacheStorage.h | 100 + .../loader/appcache/DOMApplicationCache.cpp | 292 + .../WebCore/loader/appcache/DOMApplicationCache.h | 141 + .../loader/appcache/DOMApplicationCache.idl | 74 + .../WebCore/loader/appcache/ManifestParser.cpp | 187 + .../WebCore/loader/appcache/ManifestParser.h | 49 + .../webkit/WebCore/loader/archive/Archive.h | 62 + .../WebCore/loader/archive/ArchiveFactory.cpp | 91 + .../webkit/WebCore/loader/archive/ArchiveFactory.h | 50 + .../WebCore/loader/archive/ArchiveResource.cpp | 77 + .../WebCore/loader/archive/ArchiveResource.h | 65 + .../loader/archive/ArchiveResourceCollection.cpp | 89 + .../loader/archive/ArchiveResourceCollection.h | 59 + .../WebCore/loader/archive/cf/LegacyWebArchive.cpp | 578 + .../WebCore/loader/archive/cf/LegacyWebArchive.h | 67 + .../loader/archive/cf/LegacyWebArchiveMac.mm | 74 + .../webkit/WebCore/loader/icon/IconDatabase.cpp | 2047 + .../webkit/WebCore/loader/icon/IconDatabase.h | 243 + .../WebCore/loader/icon/IconDatabaseClient.h | 49 + .../WebCore/loader/icon/IconDatabaseNone.cpp | 174 + .../webkit/WebCore/loader/icon/IconFetcher.cpp | 236 + .../webkit/WebCore/loader/icon/IconFetcher.h | 78 + .../webkit/WebCore/loader/icon/IconLoader.cpp | 171 + .../webkit/WebCore/loader/icon/IconLoader.h | 70 + .../webkit/WebCore/loader/icon/IconRecord.cpp | 106 + .../webkit/WebCore/loader/icon/IconRecord.h | 117 + .../webkit/WebCore/loader/icon/PageURLRecord.cpp | 63 + .../webkit/WebCore/loader/icon/PageURLRecord.h | 85 + src/3rdparty/webkit/WebCore/loader/loader.cpp | 487 + src/3rdparty/webkit/WebCore/loader/loader.h | 115 + .../webkit/WebCore/make-generated-sources.sh | 8 + src/3rdparty/webkit/WebCore/move-js-headers.sh | 6 + src/3rdparty/webkit/WebCore/page/AXObjectCache.cpp | 239 + src/3rdparty/webkit/WebCore/page/AXObjectCache.h | 113 + src/3rdparty/webkit/WebCore/page/AbstractView.idl | 36 + .../WebCore/page/AccessibilityImageMapLink.cpp | 130 + .../WebCore/page/AccessibilityImageMapLink.h | 72 + .../webkit/WebCore/page/AccessibilityList.cpp | 94 + .../webkit/WebCore/page/AccessibilityList.h | 56 + .../webkit/WebCore/page/AccessibilityListBox.cpp | 177 + .../webkit/WebCore/page/AccessibilityListBox.h | 66 + .../WebCore/page/AccessibilityListBoxOption.cpp | 207 + .../WebCore/page/AccessibilityListBoxOption.h | 79 + .../webkit/WebCore/page/AccessibilityObject.cpp | 1031 + .../webkit/WebCore/page/AccessibilityObject.h | 424 + .../WebCore/page/AccessibilityRenderObject.cpp | 2387 + .../WebCore/page/AccessibilityRenderObject.h | 237 + .../webkit/WebCore/page/AccessibilityTable.cpp | 491 + .../webkit/WebCore/page/AccessibilityTable.h | 86 + .../webkit/WebCore/page/AccessibilityTableCell.cpp | 157 + .../webkit/WebCore/page/AccessibilityTableCell.h | 65 + .../WebCore/page/AccessibilityTableColumn.cpp | 167 + .../webkit/WebCore/page/AccessibilityTableColumn.h | 75 + .../page/AccessibilityTableHeaderContainer.cpp | 87 + .../page/AccessibilityTableHeaderContainer.h | 67 + .../webkit/WebCore/page/AccessibilityTableRow.cpp | 110 + .../webkit/WebCore/page/AccessibilityTableRow.h | 65 + src/3rdparty/webkit/WebCore/page/BarInfo.cpp | 72 + src/3rdparty/webkit/WebCore/page/BarInfo.h | 57 + src/3rdparty/webkit/WebCore/page/BarInfo.idl | 35 + src/3rdparty/webkit/WebCore/page/Chrome.cpp | 505 + src/3rdparty/webkit/WebCore/page/Chrome.h | 134 + src/3rdparty/webkit/WebCore/page/ChromeClient.h | 172 + src/3rdparty/webkit/WebCore/page/Console.cpp | 369 + src/3rdparty/webkit/WebCore/page/Console.h | 122 + src/3rdparty/webkit/WebCore/page/Console.idl | 59 + .../webkit/WebCore/page/ContextMenuClient.h | 59 + .../webkit/WebCore/page/ContextMenuController.cpp | 310 + .../webkit/WebCore/page/ContextMenuController.h | 61 + src/3rdparty/webkit/WebCore/page/DOMSelection.cpp | 424 + src/3rdparty/webkit/WebCore/page/DOMSelection.h | 102 + src/3rdparty/webkit/WebCore/page/DOMSelection.idl | 70 + src/3rdparty/webkit/WebCore/page/DOMWindow.cpp | 1244 + src/3rdparty/webkit/WebCore/page/DOMWindow.h | 307 + src/3rdparty/webkit/WebCore/page/DOMWindow.idl | 431 + src/3rdparty/webkit/WebCore/page/DragActions.h | 66 + src/3rdparty/webkit/WebCore/page/DragClient.h | 81 + .../webkit/WebCore/page/DragController.cpp | 781 + src/3rdparty/webkit/WebCore/page/DragController.h | 132 + src/3rdparty/webkit/WebCore/page/EditorClient.h | 143 + src/3rdparty/webkit/WebCore/page/EventHandler.cpp | 2275 + src/3rdparty/webkit/WebCore/page/EventHandler.h | 352 + .../webkit/WebCore/page/FocusController.cpp | 307 + src/3rdparty/webkit/WebCore/page/FocusController.h | 64 + src/3rdparty/webkit/WebCore/page/FocusDirection.h | 36 + src/3rdparty/webkit/WebCore/page/Frame.cpp | 1880 + src/3rdparty/webkit/WebCore/page/Frame.h | 328 + .../webkit/WebCore/page/FrameLoadRequest.h | 73 + src/3rdparty/webkit/WebCore/page/FramePrivate.h | 99 + src/3rdparty/webkit/WebCore/page/FrameTree.cpp | 314 + src/3rdparty/webkit/WebCore/page/FrameTree.h | 86 + src/3rdparty/webkit/WebCore/page/FrameView.cpp | 1303 + src/3rdparty/webkit/WebCore/page/FrameView.h | 200 + src/3rdparty/webkit/WebCore/page/Geolocation.cpp | 222 + src/3rdparty/webkit/WebCore/page/Geolocation.h | 104 + src/3rdparty/webkit/WebCore/page/Geolocation.idl | 38 + src/3rdparty/webkit/WebCore/page/Geoposition.cpp | 38 + src/3rdparty/webkit/WebCore/page/Geoposition.h | 77 + src/3rdparty/webkit/WebCore/page/Geoposition.idl | 42 + src/3rdparty/webkit/WebCore/page/History.cpp | 77 + src/3rdparty/webkit/WebCore/page/History.h | 56 + src/3rdparty/webkit/WebCore/page/History.idl | 41 + src/3rdparty/webkit/WebCore/page/Location.cpp | 135 + src/3rdparty/webkit/WebCore/page/Location.h | 71 + src/3rdparty/webkit/WebCore/page/Location.idl | 57 + .../WebCore/page/MouseEventWithHitTestResults.cpp | 66 + .../WebCore/page/MouseEventWithHitTestResults.h | 51 + src/3rdparty/webkit/WebCore/page/Navigator.cpp | 144 + src/3rdparty/webkit/WebCore/page/Navigator.h | 68 + src/3rdparty/webkit/WebCore/page/Navigator.idl | 46 + src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp | 115 + src/3rdparty/webkit/WebCore/page/NavigatorBase.h | 54 + src/3rdparty/webkit/WebCore/page/Page.cpp | 632 + src/3rdparty/webkit/WebCore/page/Page.h | 265 + src/3rdparty/webkit/WebCore/page/PageGroup.cpp | 194 + src/3rdparty/webkit/WebCore/page/PageGroup.h | 87 + .../webkit/WebCore/page/PositionCallback.h | 44 + .../webkit/WebCore/page/PositionCallback.idl | 34 + src/3rdparty/webkit/WebCore/page/PositionError.h | 62 + src/3rdparty/webkit/WebCore/page/PositionError.idl | 40 + .../webkit/WebCore/page/PositionErrorCallback.h | 44 + .../webkit/WebCore/page/PositionErrorCallback.idl | 34 + src/3rdparty/webkit/WebCore/page/PositionOptions.h | 56 + src/3rdparty/webkit/WebCore/page/PrintContext.cpp | 137 + src/3rdparty/webkit/WebCore/page/PrintContext.h | 57 + src/3rdparty/webkit/WebCore/page/Screen.cpp | 107 + src/3rdparty/webkit/WebCore/page/Screen.h | 62 + src/3rdparty/webkit/WebCore/page/Screen.idl | 43 + .../webkit/WebCore/page/SecurityOrigin.cpp | 297 + src/3rdparty/webkit/WebCore/page/SecurityOrigin.h | 141 + .../webkit/WebCore/page/SecurityOriginHash.h | 81 + src/3rdparty/webkit/WebCore/page/Settings.cpp | 408 + src/3rdparty/webkit/WebCore/page/Settings.h | 261 + .../webkit/WebCore/page/WindowFeatures.cpp | 188 + src/3rdparty/webkit/WebCore/page/WindowFeatures.h | 83 + .../webkit/WebCore/page/WorkerNavigator.cpp | 51 + src/3rdparty/webkit/WebCore/page/WorkerNavigator.h | 56 + .../webkit/WebCore/page/WorkerNavigator.idl | 43 + .../WebCore/page/animation/AnimationBase.cpp | 860 + .../webkit/WebCore/page/animation/AnimationBase.h | 199 + .../WebCore/page/animation/AnimationController.cpp | 456 + .../WebCore/page/animation/AnimationController.h | 91 + .../WebCore/page/animation/CompositeAnimation.cpp | 706 + .../WebCore/page/animation/CompositeAnimation.h | 95 + .../WebCore/page/animation/ImplicitAnimation.cpp | 212 + .../WebCore/page/animation/ImplicitAnimation.h | 86 + .../WebCore/page/animation/KeyframeAnimation.cpp | 293 + .../WebCore/page/animation/KeyframeAnimation.h | 91 + .../page/chromium/AccessibilityObjectChromium.cpp | 37 + .../page/chromium/AccessibilityObjectWrapper.h | 50 + .../WebCore/page/qt/AccessibilityObjectQt.cpp | 34 + .../webkit/WebCore/page/qt/DragControllerQt.cpp | 72 + .../webkit/WebCore/page/qt/EventHandlerQt.cpp | 138 + src/3rdparty/webkit/WebCore/page/qt/FrameQt.cpp | 53 + .../webkit/WebCore/page/win/AXObjectCacheWin.cpp | 61 + .../WebCore/page/win/AccessibilityObjectWin.cpp | 40 + .../page/win/AccessibilityObjectWrapperWin.h | 54 + .../webkit/WebCore/page/win/DragControllerWin.cpp | 68 + .../webkit/WebCore/page/win/EventHandlerWin.cpp | 114 + .../webkit/WebCore/page/win/FrameCGWin.cpp | 111 + .../webkit/WebCore/page/win/FrameCairoWin.cpp | 48 + src/3rdparty/webkit/WebCore/page/win/FrameWin.cpp | 101 + src/3rdparty/webkit/WebCore/page/win/FrameWin.h | 41 + src/3rdparty/webkit/WebCore/page/win/PageWin.cpp | 38 + src/3rdparty/webkit/WebCore/platform/Arena.cpp | 281 + src/3rdparty/webkit/WebCore/platform/Arena.h | 130 + .../webkit/WebCore/platform/AutodrainedPool.h | 67 + .../webkit/WebCore/platform/ColorData.gperf | 151 + .../webkit/WebCore/platform/ContextMenu.cpp | 656 + src/3rdparty/webkit/WebCore/platform/ContextMenu.h | 89 + .../webkit/WebCore/platform/ContextMenuItem.h | 238 + src/3rdparty/webkit/WebCore/platform/CookieJar.h | 41 + src/3rdparty/webkit/WebCore/platform/Cursor.h | 153 + .../webkit/WebCore/platform/DeprecatedPtrList.h | 113 + .../WebCore/platform/DeprecatedPtrListImpl.cpp | 514 + .../WebCore/platform/DeprecatedPtrListImpl.h | 122 + src/3rdparty/webkit/WebCore/platform/DragData.cpp | 42 + src/3rdparty/webkit/WebCore/platform/DragData.h | 114 + src/3rdparty/webkit/WebCore/platform/DragImage.cpp | 74 + src/3rdparty/webkit/WebCore/platform/DragImage.h | 91 + src/3rdparty/webkit/WebCore/platform/EventLoop.h | 49 + .../webkit/WebCore/platform/FileChooser.cpp | 93 + src/3rdparty/webkit/WebCore/platform/FileChooser.h | 80 + src/3rdparty/webkit/WebCore/platform/FileSystem.h | 176 + .../webkit/WebCore/platform/FloatConversion.h | 61 + .../webkit/WebCore/platform/GeolocationService.cpp | 58 + .../webkit/WebCore/platform/GeolocationService.h | 71 + src/3rdparty/webkit/WebCore/platform/HostWindow.h | 66 + src/3rdparty/webkit/WebCore/platform/KURL.cpp | 1594 + src/3rdparty/webkit/WebCore/platform/KURL.h | 364 + src/3rdparty/webkit/WebCore/platform/KURLHash.h | 61 + src/3rdparty/webkit/WebCore/platform/Language.h | 37 + src/3rdparty/webkit/WebCore/platform/Length.cpp | 151 + src/3rdparty/webkit/WebCore/platform/Length.h | 197 + src/3rdparty/webkit/WebCore/platform/LengthBox.h | 85 + src/3rdparty/webkit/WebCore/platform/LengthSize.h | 58 + src/3rdparty/webkit/WebCore/platform/LinkHash.cpp | 221 + src/3rdparty/webkit/WebCore/platform/LinkHash.h | 73 + .../webkit/WebCore/platform/LocalizedStrings.h | 124 + src/3rdparty/webkit/WebCore/platform/Logging.cpp | 62 + src/3rdparty/webkit/WebCore/platform/Logging.h | 62 + .../webkit/WebCore/platform/MIMETypeRegistry.cpp | 342 + .../webkit/WebCore/platform/MIMETypeRegistry.h | 77 + .../webkit/WebCore/platform/NotImplemented.h | 55 + src/3rdparty/webkit/WebCore/platform/Pasteboard.h | 135 + .../WebCore/platform/PlatformKeyboardEvent.h | 185 + .../WebCore/platform/PlatformMenuDescription.h | 64 + .../webkit/WebCore/platform/PlatformMouseEvent.h | 168 + .../webkit/WebCore/platform/PlatformScreen.h | 66 + .../webkit/WebCore/platform/PlatformWheelEvent.h | 142 + src/3rdparty/webkit/WebCore/platform/PopupMenu.h | 186 + .../webkit/WebCore/platform/PopupMenuClient.h | 67 + .../webkit/WebCore/platform/PopupMenuStyle.h | 58 + .../webkit/WebCore/platform/PurgeableBuffer.h | 76 + .../webkit/WebCore/platform/SSLKeyGenerator.h | 41 + src/3rdparty/webkit/WebCore/platform/ScrollTypes.h | 85 + .../webkit/WebCore/platform/ScrollView.cpp | 927 + src/3rdparty/webkit/WebCore/platform/ScrollView.h | 328 + src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp | 452 + src/3rdparty/webkit/WebCore/platform/Scrollbar.h | 168 + .../webkit/WebCore/platform/ScrollbarClient.h | 51 + .../webkit/WebCore/platform/ScrollbarTheme.h | 94 + .../WebCore/platform/ScrollbarThemeComposite.cpp | 304 + .../WebCore/platform/ScrollbarThemeComposite.h | 71 + .../webkit/WebCore/platform/SearchPopupMenu.h | 46 + .../webkit/WebCore/platform/SharedBuffer.cpp | 147 + .../webkit/WebCore/platform/SharedBuffer.h | 111 + src/3rdparty/webkit/WebCore/platform/SharedTimer.h | 44 + src/3rdparty/webkit/WebCore/platform/Sound.h | 35 + .../webkit/WebCore/platform/StaticConstructors.h | 76 + src/3rdparty/webkit/WebCore/platform/SystemTime.h | 40 + src/3rdparty/webkit/WebCore/platform/Theme.cpp | 58 + src/3rdparty/webkit/WebCore/platform/Theme.h | 122 + src/3rdparty/webkit/WebCore/platform/ThemeTypes.h | 75 + src/3rdparty/webkit/WebCore/platform/ThreadCheck.h | 44 + .../webkit/WebCore/platform/ThreadGlobalData.cpp | 98 + .../webkit/WebCore/platform/ThreadGlobalData.h | 75 + src/3rdparty/webkit/WebCore/platform/Timer.cpp | 396 + src/3rdparty/webkit/WebCore/platform/Timer.h | 112 + src/3rdparty/webkit/WebCore/platform/TreeShared.h | 108 + src/3rdparty/webkit/WebCore/platform/Widget.cpp | 121 + src/3rdparty/webkit/WebCore/platform/Widget.h | 203 + .../WebCore/platform/animation/Animation.cpp | 126 + .../webkit/WebCore/platform/animation/Animation.h | 146 + .../WebCore/platform/animation/AnimationList.cpp | 57 + .../WebCore/platform/animation/AnimationList.h | 60 + .../WebCore/platform/animation/TimingFunction.h | 74 + .../WebCore/platform/graphics/BitmapImage.cpp | 427 + .../webkit/WebCore/platform/graphics/BitmapImage.h | 254 + .../webkit/WebCore/platform/graphics/Color.cpp | 315 + .../webkit/WebCore/platform/graphics/Color.h | 152 + .../webkit/WebCore/platform/graphics/DashArray.h | 39 + .../WebCore/platform/graphics/FloatPoint.cpp | 52 + .../webkit/WebCore/platform/graphics/FloatPoint.h | 158 + .../WebCore/platform/graphics/FloatPoint3D.cpp | 65 + .../WebCore/platform/graphics/FloatPoint3D.h | 58 + .../webkit/WebCore/platform/graphics/FloatQuad.cpp | 60 + .../webkit/WebCore/platform/graphics/FloatQuad.h | 138 + .../webkit/WebCore/platform/graphics/FloatRect.cpp | 134 + .../webkit/WebCore/platform/graphics/FloatRect.h | 188 + .../webkit/WebCore/platform/graphics/FloatSize.cpp | 44 + .../webkit/WebCore/platform/graphics/FloatSize.h | 132 + .../webkit/WebCore/platform/graphics/Font.cpp | 317 + .../webkit/WebCore/platform/graphics/Font.h | 196 + .../webkit/WebCore/platform/graphics/FontCache.cpp | 429 + .../webkit/WebCore/platform/graphics/FontCache.h | 95 + .../webkit/WebCore/platform/graphics/FontData.cpp | 35 + .../webkit/WebCore/platform/graphics/FontData.h | 60 + .../WebCore/platform/graphics/FontDescription.cpp | 101 + .../WebCore/platform/graphics/FontDescription.h | 139 + .../WebCore/platform/graphics/FontFallbackList.cpp | 134 + .../WebCore/platform/graphics/FontFallbackList.h | 79 + .../WebCore/platform/graphics/FontFamily.cpp | 59 + .../webkit/WebCore/platform/graphics/FontFamily.h | 88 + .../WebCore/platform/graphics/FontFastPath.cpp | 367 + .../WebCore/platform/graphics/FontRenderingMode.h | 37 + .../WebCore/platform/graphics/FontSelector.h | 47 + .../WebCore/platform/graphics/FontTraitsMask.h | 70 + .../WebCore/platform/graphics/GeneratedImage.cpp | 68 + .../WebCore/platform/graphics/GeneratedImage.h | 76 + .../webkit/WebCore/platform/graphics/Generator.h | 45 + .../webkit/WebCore/platform/graphics/GlyphBuffer.h | 182 + .../platform/graphics/GlyphPageTreeNode.cpp | 384 + .../WebCore/platform/graphics/GlyphPageTreeNode.h | 177 + .../WebCore/platform/graphics/GlyphWidthMap.cpp | 79 + .../WebCore/platform/graphics/GlyphWidthMap.h | 74 + .../webkit/WebCore/platform/graphics/Gradient.cpp | 149 + .../webkit/WebCore/platform/graphics/Gradient.h | 114 + .../WebCore/platform/graphics/GraphicsContext.cpp | 512 + .../WebCore/platform/graphics/GraphicsContext.h | 353 + .../platform/graphics/GraphicsContextPrivate.h | 118 + .../WebCore/platform/graphics/GraphicsTypes.cpp | 189 + .../WebCore/platform/graphics/GraphicsTypes.h | 80 + .../webkit/WebCore/platform/graphics/Icon.h | 86 + .../webkit/WebCore/platform/graphics/Image.cpp | 199 + .../webkit/WebCore/platform/graphics/Image.h | 179 + .../webkit/WebCore/platform/graphics/ImageBuffer.h | 90 + .../WebCore/platform/graphics/ImageObserver.h | 51 + .../webkit/WebCore/platform/graphics/ImageSource.h | 141 + .../webkit/WebCore/platform/graphics/IntPoint.h | 180 + .../webkit/WebCore/platform/graphics/IntRect.cpp | 107 + .../webkit/WebCore/platform/graphics/IntRect.h | 210 + .../webkit/WebCore/platform/graphics/IntSize.h | 163 + .../webkit/WebCore/platform/graphics/IntSizeHash.h | 46 + .../WebCore/platform/graphics/MediaPlayer.cpp | 272 + .../webkit/WebCore/platform/graphics/MediaPlayer.h | 140 + .../webkit/WebCore/platform/graphics/Path.cpp | 276 + .../webkit/WebCore/platform/graphics/Path.h | 135 + .../platform/graphics/PathTraversalState.cpp | 207 + .../WebCore/platform/graphics/PathTraversalState.h | 72 + .../webkit/WebCore/platform/graphics/Pattern.cpp | 46 + .../webkit/WebCore/platform/graphics/Pattern.h | 82 + .../webkit/WebCore/platform/graphics/Pen.cpp | 77 + .../webkit/WebCore/platform/graphics/Pen.h | 72 + .../platform/graphics/SegmentedFontData.cpp | 79 + .../WebCore/platform/graphics/SegmentedFontData.h | 75 + .../WebCore/platform/graphics/SimpleFontData.cpp | 163 + .../WebCore/platform/graphics/SimpleFontData.h | 211 + .../WebCore/platform/graphics/StringTruncator.cpp | 198 + .../WebCore/platform/graphics/StringTruncator.h | 46 + .../WebCore/platform/graphics/StrokeStyleApplier.h | 38 + .../webkit/WebCore/platform/graphics/TextRun.h | 126 + .../webkit/WebCore/platform/graphics/UnitBezier.h | 123 + .../WebCore/platform/graphics/WidthIterator.cpp | 230 + .../WebCore/platform/graphics/WidthIterator.h | 56 + .../WebCore/platform/graphics/filters/FEBlend.cpp | 72 + .../WebCore/platform/graphics/filters/FEBlend.h | 64 + .../platform/graphics/filters/FEColorMatrix.cpp | 72 + .../platform/graphics/filters/FEColorMatrix.h | 64 + .../graphics/filters/FEComponentTransfer.cpp | 96 + .../graphics/filters/FEComponentTransfer.h | 99 + .../platform/graphics/filters/FEComposite.cpp | 108 + .../platform/graphics/filters/FEComposite.h | 81 + .../WebCore/platform/graphics/qt/ColorQt.cpp | 48 + .../WebCore/platform/graphics/qt/FloatPointQt.cpp | 48 + .../WebCore/platform/graphics/qt/FloatRectQt.cpp | 49 + .../WebCore/platform/graphics/qt/FontCacheQt.cpp | 63 + .../graphics/qt/FontCustomPlatformData.cpp | 65 + .../platform/graphics/qt/FontCustomPlatformData.h | 46 + .../platform/graphics/qt/FontFallbackListQt.cpp | 106 + .../platform/graphics/qt/FontPlatformData.h | 53 + .../platform/graphics/qt/FontPlatformDataQt.cpp | 78 + .../webkit/WebCore/platform/graphics/qt/FontQt.cpp | 188 + .../WebCore/platform/graphics/qt/FontQt43.cpp | 356 + .../platform/graphics/qt/GlyphPageTreeNodeQt.cpp | 36 + .../WebCore/platform/graphics/qt/GradientQt.cpp | 78 + .../platform/graphics/qt/GraphicsContextQt.cpp | 1206 + .../webkit/WebCore/platform/graphics/qt/IconQt.cpp | 68 + .../WebCore/platform/graphics/qt/ImageBufferData.h | 48 + .../WebCore/platform/graphics/qt/ImageBufferQt.cpp | 115 + .../platform/graphics/qt/ImageDecoderQt.cpp | 330 + .../WebCore/platform/graphics/qt/ImageDecoderQt.h | 96 + .../WebCore/platform/graphics/qt/ImageQt.cpp | 165 + .../WebCore/platform/graphics/qt/ImageSourceQt.cpp | 171 + .../WebCore/platform/graphics/qt/IntPointQt.cpp | 48 + .../WebCore/platform/graphics/qt/IntRectQt.cpp | 48 + .../WebCore/platform/graphics/qt/IntSizeQt.cpp | 49 + .../graphics/qt/MediaPlayerPrivatePhonon.cpp | 481 + .../graphics/qt/MediaPlayerPrivatePhonon.h | 148 + .../webkit/WebCore/platform/graphics/qt/PathQt.cpp | 306 + .../WebCore/platform/graphics/qt/PatternQt.cpp | 46 + .../platform/graphics/qt/SimpleFontDataQt.cpp | 66 + .../WebCore/platform/graphics/qt/StillImageQt.cpp | 65 + .../WebCore/platform/graphics/qt/StillImageQt.h | 59 + .../graphics/qt/TransformationMatrixQt.cpp | 202 + .../transforms/IdentityTransformOperation.h | 67 + .../transforms/MatrixTransformOperation.cpp | 50 + .../graphics/transforms/MatrixTransformOperation.h | 82 + .../transforms/RotateTransformOperation.cpp | 40 + .../graphics/transforms/RotateTransformOperation.h | 74 + .../transforms/ScaleTransformOperation.cpp | 41 + .../graphics/transforms/ScaleTransformOperation.h | 74 + .../graphics/transforms/SkewTransformOperation.cpp | 41 + .../graphics/transforms/SkewTransformOperation.h | 74 + .../graphics/transforms/TransformOperation.h | 64 + .../graphics/transforms/TransformOperations.cpp | 49 + .../graphics/transforms/TransformOperations.h | 59 + .../graphics/transforms/TransformationMatrix.cpp | 205 + .../graphics/transforms/TransformationMatrix.h | 140 + .../transforms/TranslateTransformOperation.cpp | 41 + .../transforms/TranslateTransformOperation.h | 75 + .../WebCore/platform/image-decoders/ImageDecoder.h | 170 + .../webkit/WebCore/platform/mac/AutodrainedPool.mm | 55 + .../webkit/WebCore/platform/mac/BlockExceptions.h | 32 + .../webkit/WebCore/platform/mac/BlockExceptions.mm | 38 + .../webkit/WebCore/platform/mac/ClipboardMac.h | 88 + .../webkit/WebCore/platform/mac/ClipboardMac.mm | 360 + .../WebCore/platform/mac/ContextMenuItemMac.mm | 155 + .../webkit/WebCore/platform/mac/ContextMenuMac.mm | 154 + .../webkit/WebCore/platform/mac/CookieJar.mm | 118 + .../webkit/WebCore/platform/mac/CursorMac.mm | 356 + .../webkit/WebCore/platform/mac/DragDataMac.mm | 131 + .../webkit/WebCore/platform/mac/DragImageMac.mm | 102 + .../webkit/WebCore/platform/mac/EventLoopMac.mm | 39 + .../webkit/WebCore/platform/mac/FileChooserMac.mm | 55 + .../webkit/WebCore/platform/mac/FileSystemMac.mm | 40 + .../webkit/WebCore/platform/mac/FoundationExtras.h | 72 + .../webkit/WebCore/platform/mac/KURLMac.mm | 71 + .../webkit/WebCore/platform/mac/KeyEventMac.mm | 876 + .../webkit/WebCore/platform/mac/Language.mm | 43 + .../platform/mac/LocalCurrentGraphicsContext.h | 40 + .../platform/mac/LocalCurrentGraphicsContext.mm | 53 + .../WebCore/platform/mac/LocalizedStringsMac.mm | 596 + .../webkit/WebCore/platform/mac/LoggingMac.mm | 74 + .../WebCore/platform/mac/MIMETypeRegistryMac.mm | 59 + .../webkit/WebCore/platform/mac/PasteboardHelper.h | 60 + .../webkit/WebCore/platform/mac/PasteboardMac.mm | 378 + .../WebCore/platform/mac/PlatformMouseEventMac.mm | 177 + .../WebCore/platform/mac/PlatformScreenMac.mm | 108 + .../webkit/WebCore/platform/mac/PopupMenuMac.mm | 195 + .../WebCore/platform/mac/PurgeableBufferMac.cpp | 164 + .../WebCore/platform/mac/SSLKeyGeneratorMac.mm | 49 + .../webkit/WebCore/platform/mac/SchedulePairMac.mm | 43 + .../webkit/WebCore/platform/mac/ScrollViewMac.mm | 220 + .../WebCore/platform/mac/ScrollbarThemeMac.h | 70 + .../WebCore/platform/mac/ScrollbarThemeMac.mm | 404 + .../WebCore/platform/mac/SearchPopupMenuMac.mm | 74 + .../webkit/WebCore/platform/mac/SharedBufferMac.mm | 130 + .../webkit/WebCore/platform/mac/SharedTimerMac.mm | 117 + .../webkit/WebCore/platform/mac/SoftLinking.h | 119 + .../webkit/WebCore/platform/mac/SoundMac.mm | 33 + .../webkit/WebCore/platform/mac/SystemTimeMac.cpp | 44 + .../webkit/WebCore/platform/mac/ThemeMac.h | 56 + .../webkit/WebCore/platform/mac/ThemeMac.mm | 545 + .../webkit/WebCore/platform/mac/ThreadCheck.mm | 100 + .../WebCore/platform/mac/WebCoreKeyGenerator.h | 32 + .../WebCore/platform/mac/WebCoreKeyGenerator.m | 58 + .../WebCore/platform/mac/WebCoreNSStringExtras.h | 51 + .../WebCore/platform/mac/WebCoreNSStringExtras.mm | 119 + .../WebCore/platform/mac/WebCoreObjCExtras.h | 43 + .../WebCore/platform/mac/WebCoreObjCExtras.mm | 79 + .../WebCore/platform/mac/WebCoreSystemInterface.h | 151 + .../WebCore/platform/mac/WebCoreSystemInterface.mm | 95 + .../WebCore/platform/mac/WebCoreTextRenderer.h | 40 + .../WebCore/platform/mac/WebCoreTextRenderer.mm | 93 + .../webkit/WebCore/platform/mac/WebCoreView.h | 28 + .../webkit/WebCore/platform/mac/WebCoreView.m | 65 + .../webkit/WebCore/platform/mac/WebFontCache.h | 34 + .../webkit/WebCore/platform/mac/WebFontCache.mm | 301 + .../webkit/WebCore/platform/mac/WheelEventMac.mm | 52 + .../webkit/WebCore/platform/mac/WidgetMac.mm | 353 + .../network/AuthenticationChallengeBase.cpp | 113 + .../platform/network/AuthenticationChallengeBase.h | 70 + .../webkit/WebCore/platform/network/Credential.cpp | 80 + .../webkit/WebCore/platform/network/Credential.h | 59 + src/3rdparty/webkit/WebCore/platform/network/DNS.h | 36 + .../webkit/WebCore/platform/network/FormData.cpp | 167 + .../webkit/WebCore/platform/network/FormData.h | 109 + .../WebCore/platform/network/FormDataBuilder.cpp | 238 + .../WebCore/platform/network/FormDataBuilder.h | 77 + .../WebCore/platform/network/HTTPHeaderMap.h | 40 + .../WebCore/platform/network/HTTPParsers.cpp | 186 + .../webkit/WebCore/platform/network/HTTPParsers.h | 42 + .../platform/network/NetworkStateNotifier.cpp | 49 + .../platform/network/NetworkStateNotifier.h | 100 + .../WebCore/platform/network/ProtectionSpace.cpp | 119 + .../WebCore/platform/network/ProtectionSpace.h | 79 + .../WebCore/platform/network/ResourceErrorBase.cpp | 62 + .../WebCore/platform/network/ResourceErrorBase.h | 88 + .../WebCore/platform/network/ResourceHandle.cpp | 202 + .../WebCore/platform/network/ResourceHandle.h | 195 + .../platform/network/ResourceHandleClient.h | 93 + .../platform/network/ResourceHandleInternal.h | 213 + .../platform/network/ResourceRequestBase.cpp | 287 + .../WebCore/platform/network/ResourceRequestBase.h | 147 + .../platform/network/ResourceResponseBase.cpp | 380 + .../platform/network/ResourceResponseBase.h | 151 + .../platform/network/chromium/ResourceResponse.h | 83 + .../platform/network/qt/AuthenticationChallenge.h | 46 + .../platform/network/qt/QNetworkReplyHandler.cpp | 435 + .../platform/network/qt/QNetworkReplyHandler.h | 118 + .../WebCore/platform/network/qt/ResourceError.h | 48 + .../platform/network/qt/ResourceHandleQt.cpp | 208 + .../WebCore/platform/network/qt/ResourceRequest.h | 74 + .../platform/network/qt/ResourceRequestQt.cpp | 49 + .../WebCore/platform/network/qt/ResourceResponse.h | 47 + .../WebCore/platform/posix/FileSystemPOSIX.cpp | 168 + .../webkit/WebCore/platform/qt/ClipboardQt.cpp | 305 + .../webkit/WebCore/platform/qt/ClipboardQt.h | 87 + .../WebCore/platform/qt/ContextMenuItemQt.cpp | 117 + .../webkit/WebCore/platform/qt/ContextMenuQt.cpp | 82 + .../webkit/WebCore/platform/qt/CookieJarQt.cpp | 133 + .../webkit/WebCore/platform/qt/CursorQt.cpp | 372 + .../webkit/WebCore/platform/qt/DragDataQt.cpp | 142 + .../webkit/WebCore/platform/qt/DragImageQt.cpp | 63 + .../webkit/WebCore/platform/qt/EventLoopQt.cpp | 32 + .../webkit/WebCore/platform/qt/FileChooserQt.cpp | 55 + .../webkit/WebCore/platform/qt/FileSystemQt.cpp | 175 + src/3rdparty/webkit/WebCore/platform/qt/KURLQt.cpp | 102 + .../webkit/WebCore/platform/qt/KeyboardCodes.h | 561 + .../webkit/WebCore/platform/qt/Localizations.cpp | 357 + .../webkit/WebCore/platform/qt/LoggingQt.cpp | 90 + .../WebCore/platform/qt/MIMETypeRegistryQt.cpp | 85 + .../webkit/WebCore/platform/qt/MenuEventProxy.h | 54 + .../webkit/WebCore/platform/qt/PasteboardQt.cpp | 172 + .../platform/qt/PlatformKeyboardEventQt.cpp | 527 + .../WebCore/platform/qt/PlatformMouseEventQt.cpp | 94 + .../WebCore/platform/qt/PlatformScreenQt.cpp | 78 + .../webkit/WebCore/platform/qt/PopupMenuQt.cpp | 122 + .../webkit/WebCore/platform/qt/QWebPopup.cpp | 85 + .../webkit/WebCore/platform/qt/QWebPopup.h | 49 + .../webkit/WebCore/platform/qt/RenderThemeQt.cpp | 958 + .../webkit/WebCore/platform/qt/RenderThemeQt.h | 180 + .../webkit/WebCore/platform/qt/ScreenQt.cpp | 99 + .../webkit/WebCore/platform/qt/ScrollViewQt.cpp | 62 + .../webkit/WebCore/platform/qt/ScrollbarQt.cpp | 98 + .../WebCore/platform/qt/ScrollbarThemeQt.cpp | 251 + .../webkit/WebCore/platform/qt/ScrollbarThemeQt.h | 55 + .../WebCore/platform/qt/SearchPopupMenuQt.cpp | 45 + .../webkit/WebCore/platform/qt/SharedBufferQt.cpp | 52 + .../webkit/WebCore/platform/qt/SharedTimerQt.cpp | 134 + .../webkit/WebCore/platform/qt/SoundQt.cpp | 43 + .../webkit/WebCore/platform/qt/SystemTimeQt.cpp | 46 + .../WebCore/platform/qt/TemporaryLinkStubs.cpp | 130 + .../webkit/WebCore/platform/qt/WheelEventQt.cpp | 63 + .../webkit/WebCore/platform/qt/WidgetQt.cpp | 112 + .../webkit/WebCore/platform/sql/SQLValue.cpp | 56 + .../webkit/WebCore/platform/sql/SQLValue.h | 58 + .../WebCore/platform/sql/SQLiteAuthorizer.cpp | 39 + .../webkit/WebCore/platform/sql/SQLiteDatabase.cpp | 353 + .../webkit/WebCore/platform/sql/SQLiteDatabase.h | 130 + .../WebCore/platform/sql/SQLiteStatement.cpp | 453 + .../webkit/WebCore/platform/sql/SQLiteStatement.h | 102 + .../WebCore/platform/sql/SQLiteTransaction.cpp | 80 + .../WebCore/platform/sql/SQLiteTransaction.h | 56 + .../webkit/WebCore/platform/text/AtomicString.cpp | 308 + .../webkit/WebCore/platform/text/AtomicString.h | 159 + .../WebCore/platform/text/AtomicStringHash.h | 64 + .../WebCore/platform/text/AtomicStringImpl.h | 36 + .../webkit/WebCore/platform/text/Base64.cpp | 184 + src/3rdparty/webkit/WebCore/platform/text/Base64.h | 41 + .../webkit/WebCore/platform/text/BidiContext.cpp | 38 + .../webkit/WebCore/platform/text/BidiContext.h | 69 + .../webkit/WebCore/platform/text/BidiResolver.h | 937 + .../webkit/WebCore/platform/text/CString.cpp | 115 + .../webkit/WebCore/platform/text/CString.h | 80 + .../webkit/WebCore/platform/text/CharacterNames.h | 61 + .../webkit/WebCore/platform/text/ParserUtilities.h | 54 + .../webkit/WebCore/platform/text/PlatformString.h | 373 + .../WebCore/platform/text/RegularExpression.cpp | 213 + .../WebCore/platform/text/RegularExpression.h | 63 + .../WebCore/platform/text/SegmentedString.cpp | 202 + .../webkit/WebCore/platform/text/SegmentedString.h | 176 + .../webkit/WebCore/platform/text/String.cpp | 845 + .../webkit/WebCore/platform/text/StringBuffer.h | 77 + .../webkit/WebCore/platform/text/StringBuilder.cpp | 97 + .../webkit/WebCore/platform/text/StringBuilder.h | 57 + .../webkit/WebCore/platform/text/StringHash.h | 248 + .../webkit/WebCore/platform/text/StringImpl.cpp | 991 + .../webkit/WebCore/platform/text/StringImpl.h | 290 + .../webkit/WebCore/platform/text/TextBoundaries.h | 38 + .../WebCore/platform/text/TextBoundariesICU.cpp | 76 + .../WebCore/platform/text/TextBreakIterator.h | 48 + .../WebCore/platform/text/TextBreakIteratorICU.cpp | 117 + .../platform/text/TextBreakIteratorInternalICU.h | 32 + .../webkit/WebCore/platform/text/TextCodec.cpp | 58 + .../webkit/WebCore/platform/text/TextCodec.h | 84 + .../webkit/WebCore/platform/text/TextCodecICU.cpp | 473 + .../webkit/WebCore/platform/text/TextCodecICU.h | 79 + .../WebCore/platform/text/TextCodecLatin1.cpp | 199 + .../webkit/WebCore/platform/text/TextCodecLatin1.h | 44 + .../WebCore/platform/text/TextCodecUTF16.cpp | 140 + .../webkit/WebCore/platform/text/TextCodecUTF16.h | 51 + .../WebCore/platform/text/TextCodecUserDefined.cpp | 111 + .../WebCore/platform/text/TextCodecUserDefined.h | 44 + .../webkit/WebCore/platform/text/TextDecoder.cpp | 129 + .../webkit/WebCore/platform/text/TextDecoder.h | 64 + .../webkit/WebCore/platform/text/TextDirection.h | 35 + .../webkit/WebCore/platform/text/TextEncoding.cpp | 239 + .../webkit/WebCore/platform/text/TextEncoding.h | 78 + .../WebCore/platform/text/TextEncodingRegistry.cpp | 262 + .../WebCore/platform/text/TextEncodingRegistry.h | 53 + .../webkit/WebCore/platform/text/TextStream.cpp | 114 + .../webkit/WebCore/platform/text/TextStream.h | 59 + .../webkit/WebCore/platform/text/UnicodeRange.cpp | 462 + .../webkit/WebCore/platform/text/UnicodeRange.h | 120 + .../webkit/WebCore/platform/text/cf/StringCF.cpp | 55 + .../WebCore/platform/text/cf/StringImplCF.cpp | 37 + .../webkit/WebCore/platform/text/mac/CharsetData.h | 37 + .../webkit/WebCore/platform/text/mac/ShapeArabic.c | 555 + .../webkit/WebCore/platform/text/mac/ShapeArabic.h | 44 + .../WebCore/platform/text/mac/StringImplMac.mm | 33 + .../webkit/WebCore/platform/text/mac/StringMac.mm | 41 + .../WebCore/platform/text/mac/TextBoundaries.mm | 54 + .../text/mac/TextBreakIteratorInternalICUMac.mm | 72 + .../WebCore/platform/text/mac/TextCodecMac.cpp | 329 + .../WebCore/platform/text/mac/TextCodecMac.h | 73 + .../WebCore/platform/text/mac/character-sets.txt | 1868 + .../WebCore/platform/text/mac/mac-encodings.txt | 45 + .../platform/text/mac/make-charset-table.pl | 225 + .../webkit/WebCore/platform/text/qt/StringQt.cpp | 56 + .../WebCore/platform/text/qt/TextBoundaries.cpp | 125 + .../platform/text/qt/TextBreakIteratorQt.cpp | 297 + .../WebCore/platform/text/qt/TextCodecQt.cpp | 121 + .../webkit/WebCore/platform/text/qt/TextCodecQt.h | 54 + .../platform/text/symbian/StringImplSymbian.cpp | 53 + .../platform/text/symbian/StringSymbian.cpp | 50 + .../text/win/TextBreakIteratorInternalICUWin.cpp | 31 + .../webkit/WebCore/platform/win/SystemTimeWin.cpp | 58 + src/3rdparty/webkit/WebCore/plugins/MimeType.cpp | 70 + src/3rdparty/webkit/WebCore/plugins/MimeType.h | 52 + src/3rdparty/webkit/WebCore/plugins/MimeType.idl | 32 + .../webkit/WebCore/plugins/MimeTypeArray.cpp | 95 + .../webkit/WebCore/plugins/MimeTypeArray.h | 56 + .../webkit/WebCore/plugins/MimeTypeArray.idl | 33 + src/3rdparty/webkit/WebCore/plugins/Plugin.cpp | 91 + src/3rdparty/webkit/WebCore/plugins/Plugin.h | 57 + src/3rdparty/webkit/WebCore/plugins/Plugin.idl | 36 + .../webkit/WebCore/plugins/PluginArray.cpp | 100 + src/3rdparty/webkit/WebCore/plugins/PluginArray.h | 58 + .../webkit/WebCore/plugins/PluginArray.idl | 34 + src/3rdparty/webkit/WebCore/plugins/PluginData.cpp | 63 + src/3rdparty/webkit/WebCore/plugins/PluginData.h | 74 + .../webkit/WebCore/plugins/PluginDatabase.cpp | 375 + .../webkit/WebCore/plugins/PluginDatabase.h | 84 + src/3rdparty/webkit/WebCore/plugins/PluginDebug.h | 57 + .../webkit/WebCore/plugins/PluginInfoStore.cpp | 103 + .../webkit/WebCore/plugins/PluginInfoStore.h | 48 + .../WebCore/plugins/PluginMainThreadScheduler.cpp | 116 + .../WebCore/plugins/PluginMainThreadScheduler.h | 86 + .../webkit/WebCore/plugins/PluginPackage.cpp | 240 + .../webkit/WebCore/plugins/PluginPackage.h | 118 + .../webkit/WebCore/plugins/PluginQuirkSet.h | 62 + .../webkit/WebCore/plugins/PluginStream.cpp | 476 + src/3rdparty/webkit/WebCore/plugins/PluginStream.h | 123 + src/3rdparty/webkit/WebCore/plugins/PluginView.cpp | 941 + src/3rdparty/webkit/WebCore/plugins/PluginView.h | 311 + .../webkit/WebCore/plugins/mac/PluginDataMac.mm | 76 + .../WebCore/plugins/mac/PluginPackageMac.cpp | 378 + .../webkit/WebCore/plugins/mac/PluginViewMac.cpp | 706 + src/3rdparty/webkit/WebCore/plugins/npapi.cpp | 177 + src/3rdparty/webkit/WebCore/plugins/npfunctions.h | 204 + .../webkit/WebCore/plugins/qt/PluginDataQt.cpp | 108 + .../webkit/WebCore/plugins/qt/PluginPackageQt.cpp | 200 + .../webkit/WebCore/plugins/qt/PluginViewQt.cpp | 489 + .../webkit/WebCore/plugins/win/PluginDataWin.cpp | 72 + .../WebCore/plugins/win/PluginDatabaseWin.cpp | 354 + .../plugins/win/PluginMessageThrottlerWin.cpp | 123 + .../plugins/win/PluginMessageThrottlerWin.h | 72 + .../WebCore/plugins/win/PluginPackageWin.cpp | 375 + .../webkit/WebCore/plugins/win/PluginViewWin.cpp | 841 + .../webkit/WebCore/rendering/AutoTableLayout.cpp | 785 + .../webkit/WebCore/rendering/AutoTableLayout.h | 87 + .../webkit/WebCore/rendering/CounterNode.cpp | 192 + .../webkit/WebCore/rendering/CounterNode.h | 81 + .../webkit/WebCore/rendering/EllipsisBox.cpp | 85 + .../webkit/WebCore/rendering/EllipsisBox.h | 53 + .../webkit/WebCore/rendering/FixedTableLayout.cpp | 309 + .../webkit/WebCore/rendering/FixedTableLayout.h | 49 + src/3rdparty/webkit/WebCore/rendering/GapRects.h | 62 + .../webkit/WebCore/rendering/HitTestRequest.h | 44 + .../webkit/WebCore/rendering/HitTestResult.cpp | 334 + .../webkit/WebCore/rendering/HitTestResult.h | 94 + .../webkit/WebCore/rendering/InlineBox.cpp | 258 + src/3rdparty/webkit/WebCore/rendering/InlineBox.h | 316 + .../webkit/WebCore/rendering/InlineFlowBox.cpp | 1064 + .../webkit/WebCore/rendering/InlineFlowBox.h | 171 + .../webkit/WebCore/rendering/InlineRunBox.h | 54 + .../webkit/WebCore/rendering/InlineTextBox.cpp | 909 + .../webkit/WebCore/rendering/InlineTextBox.h | 139 + .../webkit/WebCore/rendering/LayoutState.cpp | 114 + .../webkit/WebCore/rendering/LayoutState.h | 71 + .../webkit/WebCore/rendering/ListMarkerBox.cpp | 45 + .../webkit/WebCore/rendering/ListMarkerBox.h | 41 + .../WebCore/rendering/MediaControlElements.cpp | 254 + .../WebCore/rendering/MediaControlElements.h | 136 + .../WebCore/rendering/PointerEventsHitRules.cpp | 110 + .../WebCore/rendering/PointerEventsHitRules.h | 50 + .../webkit/WebCore/rendering/RenderApplet.cpp | 98 + .../webkit/WebCore/rendering/RenderApplet.h | 52 + .../webkit/WebCore/rendering/RenderArena.cpp | 135 + .../webkit/WebCore/rendering/RenderArena.h | 64 + src/3rdparty/webkit/WebCore/rendering/RenderBR.cpp | 111 + src/3rdparty/webkit/WebCore/rendering/RenderBR.h | 71 + .../webkit/WebCore/rendering/RenderBlock.cpp | 4671 + .../webkit/WebCore/rendering/RenderBlock.h | 504 + .../webkit/WebCore/rendering/RenderBox.cpp | 2768 + src/3rdparty/webkit/WebCore/rendering/RenderBox.h | 257 + .../webkit/WebCore/rendering/RenderButton.cpp | 183 + .../webkit/WebCore/rendering/RenderButton.h | 77 + .../webkit/WebCore/rendering/RenderContainer.cpp | 701 + .../webkit/WebCore/rendering/RenderContainer.h | 75 + .../webkit/WebCore/rendering/RenderCounter.cpp | 306 + .../webkit/WebCore/rendering/RenderCounter.h | 54 + .../webkit/WebCore/rendering/RenderFieldset.cpp | 282 + .../webkit/WebCore/rendering/RenderFieldset.h | 60 + .../WebCore/rendering/RenderFileUploadControl.cpp | 298 + .../WebCore/rendering/RenderFileUploadControl.h | 70 + .../webkit/WebCore/rendering/RenderFlexibleBox.cpp | 1157 + .../webkit/WebCore/rendering/RenderFlexibleBox.h | 66 + .../webkit/WebCore/rendering/RenderFlow.cpp | 883 + src/3rdparty/webkit/WebCore/rendering/RenderFlow.h | 146 + .../WebCore/rendering/RenderForeignObject.cpp | 132 + .../webkit/WebCore/rendering/RenderForeignObject.h | 61 + .../webkit/WebCore/rendering/RenderFrame.cpp | 62 + .../webkit/WebCore/rendering/RenderFrame.h | 50 + .../webkit/WebCore/rendering/RenderFrameSet.cpp | 669 + .../webkit/WebCore/rendering/RenderFrameSet.h | 122 + .../webkit/WebCore/rendering/RenderHTMLCanvas.cpp | 74 + .../webkit/WebCore/rendering/RenderHTMLCanvas.h | 52 + .../webkit/WebCore/rendering/RenderImage.cpp | 577 + .../webkit/WebCore/rendering/RenderImage.h | 107 + .../rendering/RenderImageGeneratedContent.cpp | 53 + .../rendering/RenderImageGeneratedContent.h | 64 + .../webkit/WebCore/rendering/RenderInline.cpp | 399 + .../webkit/WebCore/rendering/RenderInline.h | 84 + .../webkit/WebCore/rendering/RenderLayer.cpp | 2609 + .../webkit/WebCore/rendering/RenderLayer.h | 523 + .../webkit/WebCore/rendering/RenderLegend.cpp | 36 + .../webkit/WebCore/rendering/RenderLegend.h | 42 + .../webkit/WebCore/rendering/RenderListBox.cpp | 649 + .../webkit/WebCore/rendering/RenderListBox.h | 132 + .../webkit/WebCore/rendering/RenderListItem.cpp | 335 + .../webkit/WebCore/rendering/RenderListItem.h | 83 + .../webkit/WebCore/rendering/RenderListMarker.cpp | 905 + .../webkit/WebCore/rendering/RenderListMarker.h | 85 + .../webkit/WebCore/rendering/RenderMarquee.cpp | 311 + .../webkit/WebCore/rendering/RenderMarquee.h | 97 + .../webkit/WebCore/rendering/RenderMedia.cpp | 424 + .../webkit/WebCore/rendering/RenderMedia.h | 118 + .../webkit/WebCore/rendering/RenderMenuList.cpp | 441 + .../webkit/WebCore/rendering/RenderMenuList.h | 119 + .../webkit/WebCore/rendering/RenderObject.cpp | 3303 + .../webkit/WebCore/rendering/RenderObject.h | 991 + .../webkit/WebCore/rendering/RenderPart.cpp | 116 + src/3rdparty/webkit/WebCore/rendering/RenderPart.h | 62 + .../webkit/WebCore/rendering/RenderPartObject.cpp | 317 + .../webkit/WebCore/rendering/RenderPartObject.h | 47 + .../webkit/WebCore/rendering/RenderPath.cpp | 484 + src/3rdparty/webkit/WebCore/rendering/RenderPath.h | 95 + .../webkit/WebCore/rendering/RenderReplaced.cpp | 416 + .../webkit/WebCore/rendering/RenderReplaced.h | 87 + .../webkit/WebCore/rendering/RenderReplica.cpp | 80 + .../webkit/WebCore/rendering/RenderReplica.h | 53 + .../webkit/WebCore/rendering/RenderSVGBlock.cpp | 63 + .../webkit/WebCore/rendering/RenderSVGBlock.h | 41 + .../WebCore/rendering/RenderSVGContainer.cpp | 438 + .../webkit/WebCore/rendering/RenderSVGContainer.h | 122 + .../WebCore/rendering/RenderSVGGradientStop.cpp | 72 + .../WebCore/rendering/RenderSVGGradientStop.h | 59 + .../WebCore/rendering/RenderSVGHiddenContainer.cpp | 116 + .../WebCore/rendering/RenderSVGHiddenContainer.h | 67 + .../webkit/WebCore/rendering/RenderSVGImage.cpp | 280 + .../webkit/WebCore/rendering/RenderSVGImage.h | 75 + .../webkit/WebCore/rendering/RenderSVGInline.cpp | 58 + .../webkit/WebCore/rendering/RenderSVGInline.h | 41 + .../WebCore/rendering/RenderSVGInlineText.cpp | 180 + .../webkit/WebCore/rendering/RenderSVGInlineText.h | 59 + .../webkit/WebCore/rendering/RenderSVGRoot.cpp | 347 + .../webkit/WebCore/rendering/RenderSVGRoot.h | 82 + .../webkit/WebCore/rendering/RenderSVGTSpan.cpp | 82 + .../webkit/WebCore/rendering/RenderSVGTSpan.h | 41 + .../webkit/WebCore/rendering/RenderSVGText.cpp | 242 + .../webkit/WebCore/rendering/RenderSVGText.h | 71 + .../webkit/WebCore/rendering/RenderSVGTextPath.cpp | 122 + .../webkit/WebCore/rendering/RenderSVGTextPath.h | 55 + .../rendering/RenderSVGTransformableContainer.cpp | 47 + .../rendering/RenderSVGTransformableContainer.h | 39 + .../rendering/RenderSVGViewportContainer.cpp | 198 + .../WebCore/rendering/RenderSVGViewportContainer.h | 64 + .../webkit/WebCore/rendering/RenderScrollbar.cpp | 320 + .../webkit/WebCore/rendering/RenderScrollbar.h | 83 + .../WebCore/rendering/RenderScrollbarPart.cpp | 169 + .../webkit/WebCore/rendering/RenderScrollbarPart.h | 67 + .../WebCore/rendering/RenderScrollbarTheme.cpp | 140 + .../WebCore/rendering/RenderScrollbarTheme.h | 82 + .../webkit/WebCore/rendering/RenderSlider.cpp | 402 + .../webkit/WebCore/rendering/RenderSlider.h | 73 + .../webkit/WebCore/rendering/RenderTable.cpp | 1152 + .../webkit/WebCore/rendering/RenderTable.h | 226 + .../webkit/WebCore/rendering/RenderTableCell.cpp | 882 + .../webkit/WebCore/rendering/RenderTableCell.h | 133 + .../webkit/WebCore/rendering/RenderTableCol.cpp | 92 + .../webkit/WebCore/rendering/RenderTableCol.h | 61 + .../webkit/WebCore/rendering/RenderTableRow.cpp | 219 + .../webkit/WebCore/rendering/RenderTableRow.h | 67 + .../WebCore/rendering/RenderTableSection.cpp | 1080 + .../webkit/WebCore/rendering/RenderTableSection.h | 154 + .../webkit/WebCore/rendering/RenderText.cpp | 1216 + src/3rdparty/webkit/WebCore/rendering/RenderText.h | 183 + .../webkit/WebCore/rendering/RenderTextControl.cpp | 591 + .../webkit/WebCore/rendering/RenderTextControl.h | 121 + .../rendering/RenderTextControlMultiLine.cpp | 157 + .../WebCore/rendering/RenderTextControlMultiLine.h | 54 + .../rendering/RenderTextControlSingleLine.cpp | 759 + .../rendering/RenderTextControlSingleLine.h | 123 + .../WebCore/rendering/RenderTextFragment.cpp | 87 + .../webkit/WebCore/rendering/RenderTextFragment.h | 64 + .../webkit/WebCore/rendering/RenderTheme.cpp | 776 + .../webkit/WebCore/rendering/RenderTheme.h | 234 + .../webkit/WebCore/rendering/RenderThemeMac.h | 177 + .../webkit/WebCore/rendering/RenderThemeSafari.cpp | 1235 + .../webkit/WebCore/rendering/RenderThemeSafari.h | 181 + .../webkit/WebCore/rendering/RenderThemeWin.cpp | 852 + .../webkit/WebCore/rendering/RenderThemeWin.h | 147 + .../webkit/WebCore/rendering/RenderTreeAsText.cpp | 512 + .../webkit/WebCore/rendering/RenderTreeAsText.h | 43 + .../webkit/WebCore/rendering/RenderVideo.cpp | 239 + .../webkit/WebCore/rendering/RenderVideo.h | 75 + .../webkit/WebCore/rendering/RenderView.cpp | 611 + src/3rdparty/webkit/WebCore/rendering/RenderView.h | 226 + .../webkit/WebCore/rendering/RenderWidget.cpp | 278 + .../webkit/WebCore/rendering/RenderWidget.h | 77 + .../webkit/WebCore/rendering/RenderWordBreak.cpp | 49 + .../webkit/WebCore/rendering/RenderWordBreak.h | 46 + .../webkit/WebCore/rendering/RootInlineBox.cpp | 405 + .../webkit/WebCore/rendering/RootInlineBox.h | 206 + .../WebCore/rendering/SVGCharacterLayoutInfo.cpp | 535 + .../WebCore/rendering/SVGCharacterLayoutInfo.h | 416 + .../webkit/WebCore/rendering/SVGInlineFlowBox.cpp | 53 + .../webkit/WebCore/rendering/SVGInlineFlowBox.h | 48 + .../webkit/WebCore/rendering/SVGInlineTextBox.cpp | 548 + .../webkit/WebCore/rendering/SVGInlineTextBox.h | 75 + .../webkit/WebCore/rendering/SVGRenderSupport.cpp | 167 + .../webkit/WebCore/rendering/SVGRenderSupport.h | 42 + .../WebCore/rendering/SVGRenderTreeAsText.cpp | 562 + .../webkit/WebCore/rendering/SVGRenderTreeAsText.h | 111 + .../webkit/WebCore/rendering/SVGRootInlineBox.cpp | 1718 + .../webkit/WebCore/rendering/SVGRootInlineBox.h | 99 + .../webkit/WebCore/rendering/TableLayout.h | 48 + .../WebCore/rendering/TextControlInnerElements.cpp | 178 + .../WebCore/rendering/TextControlInnerElements.h | 73 + src/3rdparty/webkit/WebCore/rendering/bidi.cpp | 2222 + src/3rdparty/webkit/WebCore/rendering/bidi.h | 67 + .../webkit/WebCore/rendering/break_lines.cpp | 120 + .../webkit/WebCore/rendering/break_lines.h | 41 + .../webkit/WebCore/rendering/style/BindingURI.cpp | 71 + .../webkit/WebCore/rendering/style/BindingURI.h | 59 + .../webkit/WebCore/rendering/style/BorderData.h | 109 + .../webkit/WebCore/rendering/style/BorderValue.h | 75 + .../WebCore/rendering/style/CollapsedBorderValue.h | 66 + .../webkit/WebCore/rendering/style/ContentData.cpp | 66 + .../webkit/WebCore/rendering/style/ContentData.h | 62 + .../WebCore/rendering/style/CounterContent.h | 62 + .../WebCore/rendering/style/CounterDirectives.cpp | 38 + .../WebCore/rendering/style/CounterDirectives.h | 54 + .../webkit/WebCore/rendering/style/CursorData.h | 56 + .../webkit/WebCore/rendering/style/CursorList.h | 59 + .../webkit/WebCore/rendering/style/DataRef.h | 71 + .../webkit/WebCore/rendering/style/FillLayer.cpp | 254 + .../webkit/WebCore/rendering/style/FillLayer.h | 161 + .../WebCore/rendering/style/KeyframeList.cpp | 88 + .../webkit/WebCore/rendering/style/KeyframeList.h | 90 + .../WebCore/rendering/style/NinePieceImage.cpp | 35 + .../WebCore/rendering/style/NinePieceImage.h | 70 + .../webkit/WebCore/rendering/style/OutlineValue.h | 56 + .../webkit/WebCore/rendering/style/RenderStyle.cpp | 844 + .../webkit/WebCore/rendering/style/RenderStyle.h | 1129 + .../WebCore/rendering/style/RenderStyleConstants.h | 268 + .../WebCore/rendering/style/SVGRenderStyle.cpp | 146 + .../WebCore/rendering/style/SVGRenderStyle.h | 215 + .../WebCore/rendering/style/SVGRenderStyleDefs.cpp | 218 + .../WebCore/rendering/style/SVGRenderStyleDefs.h | 292 + .../webkit/WebCore/rendering/style/ShadowData.cpp | 45 + .../webkit/WebCore/rendering/style/ShadowData.h | 71 + .../rendering/style/StyleBackgroundData.cpp | 47 + .../WebCore/rendering/style/StyleBackgroundData.h | 59 + .../WebCore/rendering/style/StyleBoxData.cpp | 67 + .../webkit/WebCore/rendering/style/StyleBoxData.h | 67 + .../WebCore/rendering/style/StyleCachedImage.cpp | 92 + .../WebCore/rendering/style/StyleCachedImage.h | 67 + .../WebCore/rendering/style/StyleDashboardRegion.h | 61 + .../rendering/style/StyleFlexibleBoxData.cpp | 59 + .../WebCore/rendering/style/StyleFlexibleBoxData.h | 60 + .../rendering/style/StyleGeneratedImage.cpp | 65 + .../WebCore/rendering/style/StyleGeneratedImage.h | 69 + .../webkit/WebCore/rendering/style/StyleImage.h | 81 + .../WebCore/rendering/style/StyleInheritedData.cpp | 91 + .../WebCore/rendering/style/StyleInheritedData.h | 80 + .../WebCore/rendering/style/StyleMarqueeData.cpp | 54 + .../WebCore/rendering/style/StyleMarqueeData.h | 61 + .../WebCore/rendering/style/StyleMultiColData.cpp | 65 + .../WebCore/rendering/style/StyleMultiColData.h | 75 + .../rendering/style/StyleRareInheritedData.cpp | 95 + .../rendering/style/StyleRareInheritedData.h | 76 + .../rendering/style/StyleRareNonInheritedData.cpp | 167 + .../rendering/style/StyleRareNonInheritedData.h | 120 + .../WebCore/rendering/style/StyleReflection.h | 70 + .../WebCore/rendering/style/StyleSurroundData.cpp | 47 + .../WebCore/rendering/style/StyleSurroundData.h | 58 + .../WebCore/rendering/style/StyleTransformData.cpp | 49 + .../WebCore/rendering/style/StyleTransformData.h | 57 + .../WebCore/rendering/style/StyleVisualData.cpp | 53 + .../WebCore/rendering/style/StyleVisualData.h | 67 + .../WebCore/storage/ChangeVersionWrapper.cpp | 77 + .../webkit/WebCore/storage/ChangeVersionWrapper.h | 55 + src/3rdparty/webkit/WebCore/storage/Database.cpp | 597 + src/3rdparty/webkit/WebCore/storage/Database.h | 148 + src/3rdparty/webkit/WebCore/storage/Database.idl | 37 + .../webkit/WebCore/storage/DatabaseAuthorizer.cpp | 212 + .../webkit/WebCore/storage/DatabaseAuthorizer.h | 105 + .../webkit/WebCore/storage/DatabaseDetails.h | 67 + .../webkit/WebCore/storage/DatabaseTask.cpp | 177 + src/3rdparty/webkit/WebCore/storage/DatabaseTask.h | 151 + .../webkit/WebCore/storage/DatabaseThread.cpp | 136 + .../webkit/WebCore/storage/DatabaseThread.h | 74 + .../webkit/WebCore/storage/DatabaseTracker.cpp | 830 + .../webkit/WebCore/storage/DatabaseTracker.h | 133 + .../webkit/WebCore/storage/DatabaseTrackerClient.h | 45 + .../webkit/WebCore/storage/LocalStorage.cpp | 172 + src/3rdparty/webkit/WebCore/storage/LocalStorage.h | 81 + .../webkit/WebCore/storage/LocalStorageArea.cpp | 416 + .../webkit/WebCore/storage/LocalStorageArea.h | 105 + .../webkit/WebCore/storage/LocalStorageTask.cpp | 84 + .../webkit/WebCore/storage/LocalStorageTask.h | 64 + .../webkit/WebCore/storage/LocalStorageThread.cpp | 139 + .../webkit/WebCore/storage/LocalStorageThread.h | 74 + .../webkit/WebCore/storage/OriginQuotaManager.cpp | 123 + .../webkit/WebCore/storage/OriginQuotaManager.h | 70 + .../webkit/WebCore/storage/OriginUsageRecord.cpp | 104 + .../webkit/WebCore/storage/OriginUsageRecord.h | 67 + src/3rdparty/webkit/WebCore/storage/SQLError.h | 52 + src/3rdparty/webkit/WebCore/storage/SQLError.idl | 35 + .../webkit/WebCore/storage/SQLResultSet.cpp | 81 + src/3rdparty/webkit/WebCore/storage/SQLResultSet.h | 63 + .../webkit/WebCore/storage/SQLResultSet.idl | 38 + .../webkit/WebCore/storage/SQLResultSetRowList.cpp | 44 + .../webkit/WebCore/storage/SQLResultSetRowList.h | 58 + .../webkit/WebCore/storage/SQLResultSetRowList.idl | 35 + .../webkit/WebCore/storage/SQLStatement.cpp | 197 + src/3rdparty/webkit/WebCore/storage/SQLStatement.h | 83 + .../webkit/WebCore/storage/SQLStatementCallback.h | 48 + .../WebCore/storage/SQLStatementCallback.idl | 35 + .../WebCore/storage/SQLStatementErrorCallback.h | 49 + .../WebCore/storage/SQLStatementErrorCallback.idl | 35 + .../webkit/WebCore/storage/SQLTransaction.cpp | 550 + .../webkit/WebCore/storage/SQLTransaction.h | 131 + .../webkit/WebCore/storage/SQLTransaction.idl | 34 + .../WebCore/storage/SQLTransactionCallback.h | 47 + .../WebCore/storage/SQLTransactionCallback.idl | 35 + .../WebCore/storage/SQLTransactionErrorCallback.h | 48 + .../storage/SQLTransactionErrorCallback.idl | 35 + .../webkit/WebCore/storage/SessionStorage.cpp | 75 + .../webkit/WebCore/storage/SessionStorage.h | 64 + .../webkit/WebCore/storage/SessionStorageArea.cpp | 89 + .../webkit/WebCore/storage/SessionStorageArea.h | 57 + src/3rdparty/webkit/WebCore/storage/Storage.cpp | 106 + src/3rdparty/webkit/WebCore/storage/Storage.h | 65 + src/3rdparty/webkit/WebCore/storage/Storage.idl | 45 + .../webkit/WebCore/storage/StorageArea.cpp | 125 + src/3rdparty/webkit/WebCore/storage/StorageArea.h | 83 + .../webkit/WebCore/storage/StorageEvent.cpp | 57 + src/3rdparty/webkit/WebCore/storage/StorageEvent.h | 72 + .../webkit/WebCore/storage/StorageEvent.idl | 42 + src/3rdparty/webkit/WebCore/storage/StorageMap.cpp | 158 + src/3rdparty/webkit/WebCore/storage/StorageMap.h | 65 + src/3rdparty/webkit/WebCore/svg/ColorDistance.cpp | 94 + src/3rdparty/webkit/WebCore/svg/ColorDistance.h | 53 + .../webkit/WebCore/svg/ElementTimeControl.h | 48 + .../webkit/WebCore/svg/ElementTimeControl.idl | 39 + src/3rdparty/webkit/WebCore/svg/Filter.cpp | 39 + src/3rdparty/webkit/WebCore/svg/Filter.h | 46 + src/3rdparty/webkit/WebCore/svg/FilterBuilder.h | 51 + src/3rdparty/webkit/WebCore/svg/FilterEffect.cpp | 42 + src/3rdparty/webkit/WebCore/svg/FilterEffect.h | 48 + .../webkit/WebCore/svg/GradientAttributes.h | 74 + .../webkit/WebCore/svg/LinearGradientAttributes.h | 78 + .../webkit/WebCore/svg/PatternAttributes.h | 103 + .../webkit/WebCore/svg/RadialGradientAttributes.h | 85 + src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp | 213 + src/3rdparty/webkit/WebCore/svg/SVGAElement.h | 73 + src/3rdparty/webkit/WebCore/svg/SVGAElement.idl | 38 + .../webkit/WebCore/svg/SVGAltGlyphElement.cpp | 89 + .../webkit/WebCore/svg/SVGAltGlyphElement.h | 57 + .../webkit/WebCore/svg/SVGAltGlyphElement.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGAngle.cpp | 150 + src/3rdparty/webkit/WebCore/svg/SVGAngle.h | 79 + src/3rdparty/webkit/WebCore/svg/SVGAngle.idl | 45 + .../webkit/WebCore/svg/SVGAnimateColorElement.cpp | 39 + .../webkit/WebCore/svg/SVGAnimateColorElement.h | 43 + .../webkit/WebCore/svg/SVGAnimateColorElement.idl | 31 + .../webkit/WebCore/svg/SVGAnimateElement.cpp | 289 + .../webkit/WebCore/svg/SVGAnimateElement.h | 73 + .../webkit/WebCore/svg/SVGAnimateElement.idl | 32 + .../webkit/WebCore/svg/SVGAnimateMotionElement.cpp | 245 + .../webkit/WebCore/svg/SVGAnimateMotionElement.h | 79 + .../WebCore/svg/SVGAnimateTransformElement.cpp | 207 + .../WebCore/svg/SVGAnimateTransformElement.h | 69 + .../WebCore/svg/SVGAnimateTransformElement.idl | 31 + .../webkit/WebCore/svg/SVGAnimatedAngle.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedBoolean.idl | 34 + .../webkit/WebCore/svg/SVGAnimatedEnumeration.idl | 34 + .../webkit/WebCore/svg/SVGAnimatedInteger.idl | 34 + .../webkit/WebCore/svg/SVGAnimatedLength.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedLengthList.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedNumber.idl | 35 + .../webkit/WebCore/svg/SVGAnimatedNumberList.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedPathData.cpp | 42 + .../webkit/WebCore/svg/SVGAnimatedPathData.h | 50 + .../webkit/WebCore/svg/SVGAnimatedPathData.idl | 35 + .../webkit/WebCore/svg/SVGAnimatedPoints.cpp | 42 + .../webkit/WebCore/svg/SVGAnimatedPoints.h | 48 + .../webkit/WebCore/svg/SVGAnimatedPoints.idl | 33 + .../WebCore/svg/SVGAnimatedPreserveAspectRatio.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedProperty.h | 460 + .../webkit/WebCore/svg/SVGAnimatedRect.idl | 33 + .../webkit/WebCore/svg/SVGAnimatedString.idl | 34 + .../webkit/WebCore/svg/SVGAnimatedTemplate.h | 258 + .../WebCore/svg/SVGAnimatedTransformList.idl | 33 + .../webkit/WebCore/svg/SVGAnimationElement.cpp | 534 + .../webkit/WebCore/svg/SVGAnimationElement.h | 125 + .../webkit/WebCore/svg/SVGAnimationElement.idl | 40 + .../webkit/WebCore/svg/SVGCircleElement.cpp | 99 + src/3rdparty/webkit/WebCore/svg/SVGCircleElement.h | 62 + .../webkit/WebCore/svg/SVGCircleElement.idl | 40 + .../webkit/WebCore/svg/SVGClipPathElement.cpp | 123 + .../webkit/WebCore/svg/SVGClipPathElement.h | 65 + .../webkit/WebCore/svg/SVGClipPathElement.idl | 39 + src/3rdparty/webkit/WebCore/svg/SVGColor.cpp | 119 + src/3rdparty/webkit/WebCore/svg/SVGColor.h | 93 + src/3rdparty/webkit/WebCore/svg/SVGColor.idl | 48 + .../svg/SVGComponentTransferFunctionElement.cpp | 106 + .../svg/SVGComponentTransferFunctionElement.h | 57 + .../svg/SVGComponentTransferFunctionElement.idl | 46 + .../webkit/WebCore/svg/SVGCursorElement.cpp | 107 + src/3rdparty/webkit/WebCore/svg/SVGCursorElement.h | 66 + .../webkit/WebCore/svg/SVGCursorElement.idl | 36 + .../webkit/WebCore/svg/SVGDefinitionSrcElement.cpp | 45 + .../webkit/WebCore/svg/SVGDefinitionSrcElement.h | 39 + .../webkit/WebCore/svg/SVGDefinitionSrcElement.idl | 31 + src/3rdparty/webkit/WebCore/svg/SVGDefsElement.cpp | 56 + src/3rdparty/webkit/WebCore/svg/SVGDefsElement.h | 53 + src/3rdparty/webkit/WebCore/svg/SVGDefsElement.idl | 36 + src/3rdparty/webkit/WebCore/svg/SVGDescElement.cpp | 48 + src/3rdparty/webkit/WebCore/svg/SVGDescElement.h | 46 + src/3rdparty/webkit/WebCore/svg/SVGDescElement.idl | 33 + src/3rdparty/webkit/WebCore/svg/SVGDocument.cpp | 105 + src/3rdparty/webkit/WebCore/svg/SVGDocument.h | 66 + src/3rdparty/webkit/WebCore/svg/SVGDocument.idl | 34 + .../webkit/WebCore/svg/SVGDocumentExtensions.cpp | 137 + .../webkit/WebCore/svg/SVGDocumentExtensions.h | 131 + src/3rdparty/webkit/WebCore/svg/SVGElement.cpp | 298 + src/3rdparty/webkit/WebCore/svg/SVGElement.h | 145 + src/3rdparty/webkit/WebCore/svg/SVGElement.idl | 36 + .../webkit/WebCore/svg/SVGElementInstance.cpp | 577 + .../webkit/WebCore/svg/SVGElementInstance.h | 211 + .../webkit/WebCore/svg/SVGElementInstance.idl | 103 + .../webkit/WebCore/svg/SVGElementInstanceList.cpp | 62 + .../webkit/WebCore/svg/SVGElementInstanceList.h | 50 + .../webkit/WebCore/svg/SVGElementInstanceList.idl | 32 + .../webkit/WebCore/svg/SVGEllipseElement.cpp | 106 + .../webkit/WebCore/svg/SVGEllipseElement.h | 63 + .../webkit/WebCore/svg/SVGEllipseElement.idl | 40 + src/3rdparty/webkit/WebCore/svg/SVGException.h | 58 + src/3rdparty/webkit/WebCore/svg/SVGException.idl | 42 + .../WebCore/svg/SVGExternalResourcesRequired.cpp | 62 + .../WebCore/svg/SVGExternalResourcesRequired.h | 63 + .../WebCore/svg/SVGExternalResourcesRequired.idl | 33 + .../webkit/WebCore/svg/SVGFEBlendElement.cpp | 90 + .../webkit/WebCore/svg/SVGFEBlendElement.h | 55 + .../webkit/WebCore/svg/SVGFEBlendElement.idl | 43 + .../webkit/WebCore/svg/SVGFEColorMatrixElement.cpp | 96 + .../webkit/WebCore/svg/SVGFEColorMatrixElement.h | 53 + .../webkit/WebCore/svg/SVGFEColorMatrixElement.idl | 42 + .../WebCore/svg/SVGFEComponentTransferElement.cpp | 97 + .../WebCore/svg/SVGFEComponentTransferElement.h | 50 + .../WebCore/svg/SVGFEComponentTransferElement.idl | 33 + .../webkit/WebCore/svg/SVGFECompositeElement.cpp | 106 + .../webkit/WebCore/svg/SVGFECompositeElement.h | 56 + .../webkit/WebCore/svg/SVGFECompositeElement.idl | 48 + .../WebCore/svg/SVGFEDiffuseLightingElement.cpp | 115 + .../WebCore/svg/SVGFEDiffuseLightingElement.h | 61 + .../WebCore/svg/SVGFEDiffuseLightingElement.idl | 37 + .../WebCore/svg/SVGFEDisplacementMapElement.cpp | 102 + .../WebCore/svg/SVGFEDisplacementMapElement.h | 53 + .../WebCore/svg/SVGFEDisplacementMapElement.idl | 44 + .../WebCore/svg/SVGFEDistantLightElement.cpp | 44 + .../webkit/WebCore/svg/SVGFEDistantLightElement.h | 40 + .../WebCore/svg/SVGFEDistantLightElement.idl | 33 + .../webkit/WebCore/svg/SVGFEFloodElement.cpp | 74 + .../webkit/WebCore/svg/SVGFEFloodElement.h | 49 + .../webkit/WebCore/svg/SVGFEFloodElement.idl | 32 + .../webkit/WebCore/svg/SVGFEFuncAElement.cpp | 43 + .../webkit/WebCore/svg/SVGFEFuncAElement.h | 41 + .../webkit/WebCore/svg/SVGFEFuncAElement.idl | 31 + .../webkit/WebCore/svg/SVGFEFuncBElement.cpp | 43 + .../webkit/WebCore/svg/SVGFEFuncBElement.h | 41 + .../webkit/WebCore/svg/SVGFEFuncBElement.idl | 31 + .../webkit/WebCore/svg/SVGFEFuncGElement.cpp | 43 + .../webkit/WebCore/svg/SVGFEFuncGElement.h | 41 + .../webkit/WebCore/svg/SVGFEFuncGElement.idl | 31 + .../webkit/WebCore/svg/SVGFEFuncRElement.cpp | 43 + .../webkit/WebCore/svg/SVGFEFuncRElement.h | 41 + .../webkit/WebCore/svg/SVGFEFuncRElement.idl | 31 + .../WebCore/svg/SVGFEGaussianBlurElement.cpp | 89 + .../webkit/WebCore/svg/SVGFEGaussianBlurElement.h | 57 + .../WebCore/svg/SVGFEGaussianBlurElement.idl | 37 + .../webkit/WebCore/svg/SVGFEImageElement.cpp | 115 + .../webkit/WebCore/svg/SVGFEImageElement.h | 66 + .../webkit/WebCore/svg/SVGFEImageElement.idl | 35 + .../webkit/WebCore/svg/SVGFELightElement.cpp | 82 + .../webkit/WebCore/svg/SVGFELightElement.h | 60 + .../webkit/WebCore/svg/SVGFEMergeElement.cpp | 71 + .../webkit/WebCore/svg/SVGFEMergeElement.h | 47 + .../webkit/WebCore/svg/SVGFEMergeElement.idl | 32 + .../webkit/WebCore/svg/SVGFEMergeNodeElement.cpp | 51 + .../webkit/WebCore/svg/SVGFEMergeNodeElement.h | 48 + .../webkit/WebCore/svg/SVGFEMergeNodeElement.idl | 32 + .../webkit/WebCore/svg/SVGFEOffsetElement.cpp | 79 + .../webkit/WebCore/svg/SVGFEOffsetElement.h | 52 + .../webkit/WebCore/svg/SVGFEOffsetElement.idl | 35 + .../webkit/WebCore/svg/SVGFEPointLightElement.cpp | 47 + .../webkit/WebCore/svg/SVGFEPointLightElement.h | 40 + .../webkit/WebCore/svg/SVGFEPointLightElement.idl | 34 + .../WebCore/svg/SVGFESpecularLightingElement.cpp | 115 + .../WebCore/svg/SVGFESpecularLightingElement.h | 61 + .../WebCore/svg/SVGFESpecularLightingElement.idl | 36 + .../webkit/WebCore/svg/SVGFESpotLightElement.cpp | 54 + .../webkit/WebCore/svg/SVGFESpotLightElement.h | 40 + .../webkit/WebCore/svg/SVGFESpotLightElement.idl | 39 + .../webkit/WebCore/svg/SVGFETileElement.cpp | 74 + src/3rdparty/webkit/WebCore/svg/SVGFETileElement.h | 50 + .../webkit/WebCore/svg/SVGFETileElement.idl | 33 + .../webkit/WebCore/svg/SVGFETurbulenceElement.cpp | 96 + .../webkit/WebCore/svg/SVGFETurbulenceElement.h | 64 + .../webkit/WebCore/svg/SVGFETurbulenceElement.idl | 48 + .../webkit/WebCore/svg/SVGFilterElement.cpp | 156 + src/3rdparty/webkit/WebCore/svg/SVGFilterElement.h | 73 + .../webkit/WebCore/svg/SVGFilterElement.idl | 47 + .../svg/SVGFilterPrimitiveStandardAttributes.cpp | 128 + .../svg/SVGFilterPrimitiveStandardAttributes.h | 64 + .../svg/SVGFilterPrimitiveStandardAttributes.idl | 37 + .../webkit/WebCore/svg/SVGFitToViewBox.cpp | 121 + src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.h | 57 + .../webkit/WebCore/svg/SVGFitToViewBox.idl | 34 + src/3rdparty/webkit/WebCore/svg/SVGFont.cpp | 595 + src/3rdparty/webkit/WebCore/svg/SVGFontData.cpp | 45 + src/3rdparty/webkit/WebCore/svg/SVGFontData.h | 65 + src/3rdparty/webkit/WebCore/svg/SVGFontElement.cpp | 243 + src/3rdparty/webkit/WebCore/svg/SVGFontElement.h | 66 + src/3rdparty/webkit/WebCore/svg/SVGFontElement.idl | 31 + .../webkit/WebCore/svg/SVGFontFaceElement.cpp | 368 + .../webkit/WebCore/svg/SVGFontFaceElement.h | 73 + .../webkit/WebCore/svg/SVGFontFaceElement.idl | 31 + .../WebCore/svg/SVGFontFaceFormatElement.cpp | 55 + .../webkit/WebCore/svg/SVGFontFaceFormatElement.h | 40 + .../WebCore/svg/SVGFontFaceFormatElement.idl | 31 + .../webkit/WebCore/svg/SVGFontFaceNameElement.cpp | 43 + .../webkit/WebCore/svg/SVGFontFaceNameElement.h | 40 + .../webkit/WebCore/svg/SVGFontFaceNameElement.idl | 31 + .../webkit/WebCore/svg/SVGFontFaceSrcElement.cpp | 62 + .../webkit/WebCore/svg/SVGFontFaceSrcElement.h | 42 + .../webkit/WebCore/svg/SVGFontFaceSrcElement.idl | 31 + .../webkit/WebCore/svg/SVGFontFaceUriElement.cpp | 61 + .../webkit/WebCore/svg/SVGFontFaceUriElement.h | 42 + .../webkit/WebCore/svg/SVGFontFaceUriElement.idl | 31 + .../webkit/WebCore/svg/SVGForeignObjectElement.cpp | 167 + .../webkit/WebCore/svg/SVGForeignObjectElement.h | 64 + .../webkit/WebCore/svg/SVGForeignObjectElement.idl | 40 + src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp | 85 + src/3rdparty/webkit/WebCore/svg/SVGGElement.h | 61 + src/3rdparty/webkit/WebCore/svg/SVGGElement.idl | 36 + .../webkit/WebCore/svg/SVGGlyphElement.cpp | 178 + src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.h | 131 + .../webkit/WebCore/svg/SVGGlyphElement.idl | 31 + src/3rdparty/webkit/WebCore/svg/SVGGlyphMap.h | 109 + .../webkit/WebCore/svg/SVGGradientElement.cpp | 169 + .../webkit/WebCore/svg/SVGGradientElement.h | 74 + .../webkit/WebCore/svg/SVGGradientElement.idl | 44 + .../webkit/WebCore/svg/SVGHKernElement.cpp | 81 + src/3rdparty/webkit/WebCore/svg/SVGHKernElement.h | 66 + .../webkit/WebCore/svg/SVGHKernElement.idl | 27 + .../webkit/WebCore/svg/SVGImageElement.cpp | 166 + src/3rdparty/webkit/WebCore/svg/SVGImageElement.h | 79 + .../webkit/WebCore/svg/SVGImageElement.idl | 42 + src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp | 65 + src/3rdparty/webkit/WebCore/svg/SVGImageLoader.h | 44 + src/3rdparty/webkit/WebCore/svg/SVGLangSpace.cpp | 88 + src/3rdparty/webkit/WebCore/svg/SVGLangSpace.h | 56 + src/3rdparty/webkit/WebCore/svg/SVGLangSpace.idl | 36 + src/3rdparty/webkit/WebCore/svg/SVGLength.cpp | 323 + src/3rdparty/webkit/WebCore/svg/SVGLength.h | 105 + src/3rdparty/webkit/WebCore/svg/SVGLength.idl | 52 + src/3rdparty/webkit/WebCore/svg/SVGLengthList.cpp | 80 + src/3rdparty/webkit/WebCore/svg/SVGLengthList.h | 48 + src/3rdparty/webkit/WebCore/svg/SVGLengthList.idl | 48 + src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp | 103 + src/3rdparty/webkit/WebCore/svg/SVGLineElement.h | 67 + src/3rdparty/webkit/WebCore/svg/SVGLineElement.idl | 40 + .../WebCore/svg/SVGLinearGradientElement.cpp | 177 + .../webkit/WebCore/svg/SVGLinearGradientElement.h | 58 + .../WebCore/svg/SVGLinearGradientElement.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGList.h | 256 + src/3rdparty/webkit/WebCore/svg/SVGListTraits.h | 53 + src/3rdparty/webkit/WebCore/svg/SVGLocatable.cpp | 159 + src/3rdparty/webkit/WebCore/svg/SVGLocatable.h | 64 + src/3rdparty/webkit/WebCore/svg/SVGLocatable.idl | 40 + .../webkit/WebCore/svg/SVGMPathElement.cpp | 58 + src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h | 54 + .../webkit/WebCore/svg/SVGMarkerElement.cpp | 195 + src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.h | 89 + .../webkit/WebCore/svg/SVGMarkerElement.idl | 55 + src/3rdparty/webkit/WebCore/svg/SVGMaskElement.cpp | 214 + src/3rdparty/webkit/WebCore/svg/SVGMaskElement.h | 73 + src/3rdparty/webkit/WebCore/svg/SVGMaskElement.idl | 42 + src/3rdparty/webkit/WebCore/svg/SVGMatrix.idl | 52 + .../webkit/WebCore/svg/SVGMetadataElement.cpp | 38 + .../webkit/WebCore/svg/SVGMetadataElement.h | 43 + .../webkit/WebCore/svg/SVGMetadataElement.idl | 29 + .../webkit/WebCore/svg/SVGMissingGlyphElement.cpp | 34 + .../webkit/WebCore/svg/SVGMissingGlyphElement.h | 39 + .../webkit/WebCore/svg/SVGMissingGlyphElement.idl | 31 + src/3rdparty/webkit/WebCore/svg/SVGNumber.idl | 32 + src/3rdparty/webkit/WebCore/svg/SVGNumberList.cpp | 75 + src/3rdparty/webkit/WebCore/svg/SVGNumberList.h | 50 + src/3rdparty/webkit/WebCore/svg/SVGNumberList.idl | 48 + src/3rdparty/webkit/WebCore/svg/SVGPaint.cpp | 117 + src/3rdparty/webkit/WebCore/svg/SVGPaint.h | 100 + src/3rdparty/webkit/WebCore/svg/SVGPaint.idl | 52 + .../webkit/WebCore/svg/SVGParserUtilities.cpp | 873 + .../webkit/WebCore/svg/SVGParserUtilities.h | 71 + src/3rdparty/webkit/WebCore/svg/SVGPathElement.cpp | 242 + src/3rdparty/webkit/WebCore/svg/SVGPathElement.h | 115 + src/3rdparty/webkit/WebCore/svg/SVGPathElement.idl | 112 + src/3rdparty/webkit/WebCore/svg/SVGPathSeg.h | 95 + src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl | 56 + src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.cpp | 44 + src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.h | 104 + .../webkit/WebCore/svg/SVGPathSegArcAbs.idl | 46 + .../webkit/WebCore/svg/SVGPathSegArcRel.idl | 46 + .../webkit/WebCore/svg/SVGPathSegClosePath.cpp | 43 + .../webkit/WebCore/svg/SVGPathSegClosePath.h | 51 + .../webkit/WebCore/svg/SVGPathSegClosePath.idl | 32 + .../webkit/WebCore/svg/SVGPathSegCurvetoCubic.cpp | 44 + .../webkit/WebCore/svg/SVGPathSegCurvetoCubic.h | 98 + .../WebCore/svg/SVGPathSegCurvetoCubicAbs.idl | 44 + .../WebCore/svg/SVGPathSegCurvetoCubicRel.idl | 44 + .../WebCore/svg/SVGPathSegCurvetoCubicSmooth.cpp | 43 + .../WebCore/svg/SVGPathSegCurvetoCubicSmooth.h | 85 + .../svg/SVGPathSegCurvetoCubicSmoothAbs.idl | 40 + .../svg/SVGPathSegCurvetoCubicSmoothRel.idl | 40 + .../WebCore/svg/SVGPathSegCurvetoQuadratic.cpp | 44 + .../WebCore/svg/SVGPathSegCurvetoQuadratic.h | 85 + .../WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl | 40 + .../WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl | 40 + .../svg/SVGPathSegCurvetoQuadraticSmooth.cpp | 44 + .../WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h | 59 + .../svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl | 36 + .../svg/SVGPathSegCurvetoQuadraticSmoothRel.idl | 36 + .../webkit/WebCore/svg/SVGPathSegLineto.cpp | 44 + src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.h | 59 + .../webkit/WebCore/svg/SVGPathSegLinetoAbs.idl | 36 + .../WebCore/svg/SVGPathSegLinetoHorizontal.cpp | 44 + .../WebCore/svg/SVGPathSegLinetoHorizontal.h | 72 + .../WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl | 34 + .../WebCore/svg/SVGPathSegLinetoHorizontalRel.idl | 34 + .../webkit/WebCore/svg/SVGPathSegLinetoRel.idl | 36 + .../WebCore/svg/SVGPathSegLinetoVertical.cpp | 43 + .../webkit/WebCore/svg/SVGPathSegLinetoVertical.h | 72 + .../WebCore/svg/SVGPathSegLinetoVerticalAbs.idl | 34 + .../WebCore/svg/SVGPathSegLinetoVerticalRel.idl | 34 + src/3rdparty/webkit/WebCore/svg/SVGPathSegList.cpp | 260 + src/3rdparty/webkit/WebCore/svg/SVGPathSegList.h | 51 + src/3rdparty/webkit/WebCore/svg/SVGPathSegList.idl | 48 + .../webkit/WebCore/svg/SVGPathSegMoveto.cpp | 43 + src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.h | 58 + .../webkit/WebCore/svg/SVGPathSegMovetoAbs.idl | 36 + .../webkit/WebCore/svg/SVGPathSegMovetoRel.idl | 36 + .../webkit/WebCore/svg/SVGPatternElement.cpp | 322 + .../webkit/WebCore/svg/SVGPatternElement.h | 85 + .../webkit/WebCore/svg/SVGPatternElement.idl | 45 + src/3rdparty/webkit/WebCore/svg/SVGPoint.idl | 36 + src/3rdparty/webkit/WebCore/svg/SVGPointList.cpp | 60 + src/3rdparty/webkit/WebCore/svg/SVGPointList.h | 49 + src/3rdparty/webkit/WebCore/svg/SVGPointList.idl | 47 + src/3rdparty/webkit/WebCore/svg/SVGPolyElement.cpp | 130 + src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h | 68 + .../webkit/WebCore/svg/SVGPolygonElement.cpp | 61 + .../webkit/WebCore/svg/SVGPolygonElement.h | 42 + .../webkit/WebCore/svg/SVGPolygonElement.idl | 37 + .../webkit/WebCore/svg/SVGPolylineElement.cpp | 60 + .../webkit/WebCore/svg/SVGPolylineElement.h | 42 + .../webkit/WebCore/svg/SVGPolylineElement.idl | 37 + .../webkit/WebCore/svg/SVGPreserveAspectRatio.cpp | 261 + .../webkit/WebCore/svg/SVGPreserveAspectRatio.h | 92 + .../webkit/WebCore/svg/SVGPreserveAspectRatio.idl | 52 + .../WebCore/svg/SVGRadialGradientElement.cpp | 210 + .../webkit/WebCore/svg/SVGRadialGradientElement.h | 59 + .../WebCore/svg/SVGRadialGradientElement.idl | 36 + src/3rdparty/webkit/WebCore/svg/SVGRect.idl | 38 + src/3rdparty/webkit/WebCore/svg/SVGRectElement.cpp | 126 + src/3rdparty/webkit/WebCore/svg/SVGRectElement.h | 65 + src/3rdparty/webkit/WebCore/svg/SVGRectElement.idl | 43 + .../webkit/WebCore/svg/SVGRenderingIntent.h | 51 + .../webkit/WebCore/svg/SVGRenderingIntent.idl | 38 + src/3rdparty/webkit/WebCore/svg/SVGSVGElement.cpp | 538 + src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h | 167 + src/3rdparty/webkit/WebCore/svg/SVGSVGElement.idl | 88 + .../webkit/WebCore/svg/SVGScriptElement.cpp | 211 + src/3rdparty/webkit/WebCore/svg/SVGScriptElement.h | 80 + .../webkit/WebCore/svg/SVGScriptElement.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGSetElement.cpp | 37 + src/3rdparty/webkit/WebCore/svg/SVGSetElement.h | 43 + src/3rdparty/webkit/WebCore/svg/SVGSetElement.idl | 31 + src/3rdparty/webkit/WebCore/svg/SVGStopElement.cpp | 66 + src/3rdparty/webkit/WebCore/svg/SVGStopElement.h | 49 + src/3rdparty/webkit/WebCore/svg/SVGStopElement.idl | 33 + src/3rdparty/webkit/WebCore/svg/SVGStringList.cpp | 71 + src/3rdparty/webkit/WebCore/svg/SVGStringList.h | 47 + src/3rdparty/webkit/WebCore/svg/SVGStringList.idl | 47 + src/3rdparty/webkit/WebCore/svg/SVGStylable.cpp | 40 + src/3rdparty/webkit/WebCore/svg/SVGStylable.h | 48 + src/3rdparty/webkit/WebCore/svg/SVGStylable.idl | 37 + .../webkit/WebCore/svg/SVGStyleElement.cpp | 140 + src/3rdparty/webkit/WebCore/svg/SVGStyleElement.h | 70 + .../webkit/WebCore/svg/SVGStyleElement.idl | 40 + .../webkit/WebCore/svg/SVGStyledElement.cpp | 281 + src/3rdparty/webkit/WebCore/svg/SVGStyledElement.h | 80 + .../WebCore/svg/SVGStyledLocatableElement.cpp | 72 + .../webkit/WebCore/svg/SVGStyledLocatableElement.h | 53 + .../WebCore/svg/SVGStyledTransformableElement.cpp | 126 + .../WebCore/svg/SVGStyledTransformableElement.h | 75 + .../webkit/WebCore/svg/SVGSwitchElement.cpp | 66 + src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h | 61 + .../webkit/WebCore/svg/SVGSwitchElement.idl | 36 + .../webkit/WebCore/svg/SVGSymbolElement.cpp | 60 + src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.h | 54 + .../webkit/WebCore/svg/SVGSymbolElement.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGTRefElement.cpp | 82 + src/3rdparty/webkit/WebCore/svg/SVGTRefElement.h | 53 + src/3rdparty/webkit/WebCore/svg/SVGTRefElement.idl | 32 + .../webkit/WebCore/svg/SVGTSpanElement.cpp | 64 + src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.h | 43 + .../webkit/WebCore/svg/SVGTSpanElement.idl | 31 + src/3rdparty/webkit/WebCore/svg/SVGTests.cpp | 120 + src/3rdparty/webkit/WebCore/svg/SVGTests.h | 61 + src/3rdparty/webkit/WebCore/svg/SVGTests.idl | 37 + .../webkit/WebCore/svg/SVGTextContentElement.cpp | 530 + .../webkit/WebCore/svg/SVGTextContentElement.h | 80 + .../webkit/WebCore/svg/SVGTextContentElement.idl | 60 + src/3rdparty/webkit/WebCore/svg/SVGTextElement.cpp | 134 + src/3rdparty/webkit/WebCore/svg/SVGTextElement.h | 64 + src/3rdparty/webkit/WebCore/svg/SVGTextElement.idl | 32 + .../webkit/WebCore/svg/SVGTextPathElement.cpp | 107 + .../webkit/WebCore/svg/SVGTextPathElement.h | 81 + .../webkit/WebCore/svg/SVGTextPathElement.idl | 45 + .../WebCore/svg/SVGTextPositioningElement.cpp | 78 + .../webkit/WebCore/svg/SVGTextPositioningElement.h | 55 + .../WebCore/svg/SVGTextPositioningElement.idl | 36 + .../webkit/WebCore/svg/SVGTitleElement.cpp | 59 + src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h | 50 + .../webkit/WebCore/svg/SVGTitleElement.idl | 33 + src/3rdparty/webkit/WebCore/svg/SVGTransform.cpp | 156 + src/3rdparty/webkit/WebCore/svg/SVGTransform.h | 99 + src/3rdparty/webkit/WebCore/svg/SVGTransform.idl | 48 + .../webkit/WebCore/svg/SVGTransformDistance.cpp | 278 + .../webkit/WebCore/svg/SVGTransformDistance.h | 58 + .../webkit/WebCore/svg/SVGTransformList.cpp | 97 + src/3rdparty/webkit/WebCore/svg/SVGTransformList.h | 56 + .../webkit/WebCore/svg/SVGTransformList.idl | 50 + .../webkit/WebCore/svg/SVGTransformable.cpp | 233 + src/3rdparty/webkit/WebCore/svg/SVGTransformable.h | 58 + .../webkit/WebCore/svg/SVGTransformable.idl | 33 + .../webkit/WebCore/svg/SVGURIReference.cpp | 70 + src/3rdparty/webkit/WebCore/svg/SVGURIReference.h | 54 + .../webkit/WebCore/svg/SVGURIReference.idl | 33 + src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.h | 48 + src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp | 880 + src/3rdparty/webkit/WebCore/svg/SVGUseElement.h | 112 + src/3rdparty/webkit/WebCore/svg/SVGUseElement.idl | 44 + src/3rdparty/webkit/WebCore/svg/SVGViewElement.cpp | 73 + src/3rdparty/webkit/WebCore/svg/SVGViewElement.h | 59 + src/3rdparty/webkit/WebCore/svg/SVGViewElement.idl | 35 + src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp | 179 + src/3rdparty/webkit/WebCore/svg/SVGViewSpec.h | 67 + src/3rdparty/webkit/WebCore/svg/SVGViewSpec.idl | 38 + src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.cpp | 87 + src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.h | 60 + src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.idl | 39 + src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.cpp | 84 + src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.h | 68 + src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.idl | 36 + .../webkit/WebCore/svg/SynchronizableTypeWrapper.h | 180 + .../webkit/WebCore/svg/animation/SMILTime.cpp | 64 + .../webkit/WebCore/svg/animation/SMILTime.h | 74 + .../WebCore/svg/animation/SMILTimeContainer.cpp | 286 + .../WebCore/svg/animation/SMILTimeContainer.h | 95 + .../WebCore/svg/animation/SVGSMILElement.cpp | 930 + .../webkit/WebCore/svg/animation/SVGSMILElement.h | 197 + .../webkit/WebCore/svg/graphics/SVGImage.cpp | 257 + .../webkit/WebCore/svg/graphics/SVGImage.h | 87 + .../webkit/WebCore/svg/graphics/SVGPaintServer.cpp | 183 + .../webkit/WebCore/svg/graphics/SVGPaintServer.h | 99 + .../svg/graphics/SVGPaintServerGradient.cpp | 310 + .../WebCore/svg/graphics/SVGPaintServerGradient.h | 103 + .../svg/graphics/SVGPaintServerLinearGradient.cpp | 74 + .../svg/graphics/SVGPaintServerLinearGradient.h | 62 + .../WebCore/svg/graphics/SVGPaintServerPattern.cpp | 101 + .../WebCore/svg/graphics/SVGPaintServerPattern.h | 88 + .../svg/graphics/SVGPaintServerRadialGradient.cpp | 87 + .../svg/graphics/SVGPaintServerRadialGradient.h | 66 + .../WebCore/svg/graphics/SVGPaintServerSolid.cpp | 104 + .../WebCore/svg/graphics/SVGPaintServerSolid.h | 61 + .../webkit/WebCore/svg/graphics/SVGResource.cpp | 185 + .../webkit/WebCore/svg/graphics/SVGResource.h | 101 + .../WebCore/svg/graphics/SVGResourceClipper.cpp | 139 + .../WebCore/svg/graphics/SVGResourceClipper.h | 93 + .../WebCore/svg/graphics/SVGResourceFilter.cpp | 123 + .../WebCore/svg/graphics/SVGResourceFilter.h | 99 + .../WebCore/svg/graphics/SVGResourceListener.h | 0 .../WebCore/svg/graphics/SVGResourceMarker.cpp | 140 + .../WebCore/svg/graphics/SVGResourceMarker.h | 78 + .../WebCore/svg/graphics/SVGResourceMasker.cpp | 71 + .../WebCore/svg/graphics/SVGResourceMasker.h | 73 + .../svg/graphics/filters/SVGDistantLightSource.h | 53 + .../svg/graphics/filters/SVGFEConvolveMatrix.cpp | 177 + .../svg/graphics/filters/SVGFEConvolveMatrix.h | 95 + .../svg/graphics/filters/SVGFEDiffuseLighting.cpp | 135 + .../svg/graphics/filters/SVGFEDiffuseLighting.h | 78 + .../svg/graphics/filters/SVGFEDisplacementMap.cpp | 116 + .../svg/graphics/filters/SVGFEDisplacementMap.h | 72 + .../WebCore/svg/graphics/filters/SVGFEFlood.cpp | 81 + .../WebCore/svg/graphics/filters/SVGFEFlood.h | 56 + .../svg/graphics/filters/SVGFEGaussianBlur.cpp | 81 + .../svg/graphics/filters/SVGFEGaussianBlur.h | 56 + .../WebCore/svg/graphics/filters/SVGFEImage.cpp | 84 + .../WebCore/svg/graphics/filters/SVGFEImage.h | 58 + .../WebCore/svg/graphics/filters/SVGFEMerge.cpp | 78 + .../WebCore/svg/graphics/filters/SVGFEMerge.h | 53 + .../svg/graphics/filters/SVGFEMorphology.cpp | 107 + .../WebCore/svg/graphics/filters/SVGFEMorphology.h | 65 + .../WebCore/svg/graphics/filters/SVGFEOffset.cpp | 81 + .../WebCore/svg/graphics/filters/SVGFEOffset.h | 56 + .../svg/graphics/filters/SVGFESpecularLighting.cpp | 147 + .../svg/graphics/filters/SVGFESpecularLighting.h | 81 + .../WebCore/svg/graphics/filters/SVGFETile.cpp | 57 + .../WebCore/svg/graphics/filters/SVGFETile.h | 48 + .../svg/graphics/filters/SVGFETurbulence.cpp | 145 + .../WebCore/svg/graphics/filters/SVGFETurbulence.h | 79 + .../svg/graphics/filters/SVGFilterEffect.cpp | 133 + .../WebCore/svg/graphics/filters/SVGFilterEffect.h | 99 + .../svg/graphics/filters/SVGLightSource.cpp | 65 + .../WebCore/svg/graphics/filters/SVGLightSource.h | 58 + .../svg/graphics/filters/SVGPointLightSource.h | 51 + .../svg/graphics/filters/SVGSpotLightSource.h | 62 + .../WebCore/svg/graphics/qt/RenderPathQt.cpp | 47 + .../svg/graphics/qt/SVGPaintServerPatternQt.cpp | 90 + .../WebCore/svg/graphics/qt/SVGPaintServerQt.cpp | 72 + .../svg/graphics/qt/SVGResourceFilterQt.cpp | 50 + .../svg/graphics/qt/SVGResourceMaskerQt.cpp | 38 + src/3rdparty/webkit/WebCore/svg/svgattrs.in | 253 + src/3rdparty/webkit/WebCore/svg/svgtags.in | 116 + src/3rdparty/webkit/WebCore/svg/xlinkattrs.in | 11 + src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp | 178 + src/3rdparty/webkit/WebCore/wml/WMLAElement.h | 55 + .../webkit/WebCore/wml/WMLAccessElement.cpp | 70 + src/3rdparty/webkit/WebCore/wml/WMLAccessElement.h | 40 + .../webkit/WebCore/wml/WMLAnchorElement.cpp | 67 + src/3rdparty/webkit/WebCore/wml/WMLAnchorElement.h | 48 + .../webkit/WebCore/wml/WMLAttributeNames.in | 24 + src/3rdparty/webkit/WebCore/wml/WMLBRElement.cpp | 76 + src/3rdparty/webkit/WebCore/wml/WMLBRElement.h | 46 + src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp | 329 + src/3rdparty/webkit/WebCore/wml/WMLCardElement.h | 76 + src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp | 152 + src/3rdparty/webkit/WebCore/wml/WMLDoElement.h | 64 + src/3rdparty/webkit/WebCore/wml/WMLDocument.cpp | 96 + src/3rdparty/webkit/WebCore/wml/WMLDocument.h | 52 + src/3rdparty/webkit/WebCore/wml/WMLElement.cpp | 116 + src/3rdparty/webkit/WebCore/wml/WMLElement.h | 53 + .../webkit/WebCore/wml/WMLErrorHandling.cpp | 105 + src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.h | 51 + .../webkit/WebCore/wml/WMLEventHandlingElement.cpp | 68 + .../webkit/WebCore/wml/WMLEventHandlingElement.h | 56 + .../webkit/WebCore/wml/WMLFieldSetElement.cpp | 86 + .../webkit/WebCore/wml/WMLFieldSetElement.h | 48 + src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp | 214 + src/3rdparty/webkit/WebCore/wml/WMLGoElement.h | 56 + .../webkit/WebCore/wml/WMLImageElement.cpp | 148 + src/3rdparty/webkit/WebCore/wml/WMLImageElement.h | 58 + src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp | 82 + src/3rdparty/webkit/WebCore/wml/WMLImageLoader.h | 45 + .../WebCore/wml/WMLInsertedLegendElement.cpp | 46 + .../webkit/WebCore/wml/WMLInsertedLegendElement.h | 40 + .../webkit/WebCore/wml/WMLIntrinsicEvent.cpp | 53 + .../webkit/WebCore/wml/WMLIntrinsicEvent.h | 59 + .../WebCore/wml/WMLIntrinsicEventHandler.cpp | 55 + .../webkit/WebCore/wml/WMLIntrinsicEventHandler.h | 58 + src/3rdparty/webkit/WebCore/wml/WMLMetaElement.cpp | 64 + src/3rdparty/webkit/WebCore/wml/WMLMetaElement.h | 45 + src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp | 63 + src/3rdparty/webkit/WebCore/wml/WMLNoopElement.h | 40 + .../webkit/WebCore/wml/WMLOnEventElement.cpp | 88 + .../webkit/WebCore/wml/WMLOnEventElement.h | 47 + src/3rdparty/webkit/WebCore/wml/WMLPElement.cpp | 112 + src/3rdparty/webkit/WebCore/wml/WMLPElement.h | 48 + src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp | 132 + src/3rdparty/webkit/WebCore/wml/WMLPageState.h | 81 + .../webkit/WebCore/wml/WMLPostfieldElement.cpp | 78 + .../webkit/WebCore/wml/WMLPostfieldElement.h | 50 + src/3rdparty/webkit/WebCore/wml/WMLPrevElement.cpp | 64 + src/3rdparty/webkit/WebCore/wml/WMLPrevElement.h | 40 + .../webkit/WebCore/wml/WMLRefreshElement.cpp | 77 + .../webkit/WebCore/wml/WMLRefreshElement.h | 40 + .../webkit/WebCore/wml/WMLSetvarElement.cpp | 74 + src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.h | 48 + .../webkit/WebCore/wml/WMLTableElement.cpp | 269 + src/3rdparty/webkit/WebCore/wml/WMLTableElement.h | 57 + src/3rdparty/webkit/WebCore/wml/WMLTagNames.in | 34 + src/3rdparty/webkit/WebCore/wml/WMLTaskElement.cpp | 95 + src/3rdparty/webkit/WebCore/wml/WMLTaskElement.h | 56 + .../webkit/WebCore/wml/WMLTemplateElement.cpp | 114 + .../webkit/WebCore/wml/WMLTemplateElement.h | 42 + .../webkit/WebCore/wml/WMLTimerElement.cpp | 141 + src/3rdparty/webkit/WebCore/wml/WMLTimerElement.h | 55 + src/3rdparty/webkit/WebCore/wml/WMLVariables.cpp | 288 + src/3rdparty/webkit/WebCore/wml/WMLVariables.h | 46 + src/3rdparty/webkit/WebCore/xml/DOMParser.cpp | 42 + src/3rdparty/webkit/WebCore/xml/DOMParser.h | 41 + src/3rdparty/webkit/WebCore/xml/DOMParser.idl | 24 + .../webkit/WebCore/xml/NativeXPathNSResolver.cpp | 58 + .../webkit/WebCore/xml/NativeXPathNSResolver.h | 53 + src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp | 1443 + src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h | 237 + src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.idl | 99 + .../webkit/WebCore/xml/XMLHttpRequestException.h | 60 + .../webkit/WebCore/xml/XMLHttpRequestException.idl | 49 + .../WebCore/xml/XMLHttpRequestProgressEvent.h | 61 + .../WebCore/xml/XMLHttpRequestProgressEvent.idl | 36 + .../webkit/WebCore/xml/XMLHttpRequestUpload.cpp | 144 + .../webkit/WebCore/xml/XMLHttpRequestUpload.h | 110 + .../webkit/WebCore/xml/XMLHttpRequestUpload.idl | 54 + src/3rdparty/webkit/WebCore/xml/XMLSerializer.cpp | 47 + src/3rdparty/webkit/WebCore/xml/XMLSerializer.h | 44 + src/3rdparty/webkit/WebCore/xml/XMLSerializer.idl | 28 + src/3rdparty/webkit/WebCore/xml/XPathEvaluator.cpp | 77 + src/3rdparty/webkit/WebCore/xml/XPathEvaluator.h | 62 + src/3rdparty/webkit/WebCore/xml/XPathEvaluator.idl | 35 + src/3rdparty/webkit/WebCore/xml/XPathException.h | 64 + src/3rdparty/webkit/WebCore/xml/XPathException.idl | 50 + .../webkit/WebCore/xml/XPathExpression.cpp | 93 + src/3rdparty/webkit/WebCore/xml/XPathExpression.h | 66 + .../webkit/WebCore/xml/XPathExpression.idl | 34 + .../webkit/WebCore/xml/XPathExpressionNode.cpp | 57 + .../webkit/WebCore/xml/XPathExpressionNode.h | 85 + src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp | 683 + src/3rdparty/webkit/WebCore/xml/XPathFunctions.h | 62 + src/3rdparty/webkit/WebCore/xml/XPathGrammar.y | 554 + .../webkit/WebCore/xml/XPathNSResolver.cpp | 40 + src/3rdparty/webkit/WebCore/xml/XPathNSResolver.h | 51 + .../webkit/WebCore/xml/XPathNSResolver.idl | 27 + src/3rdparty/webkit/WebCore/xml/XPathNamespace.cpp | 85 + src/3rdparty/webkit/WebCore/xml/XPathNamespace.h | 66 + src/3rdparty/webkit/WebCore/xml/XPathNodeSet.cpp | 206 + src/3rdparty/webkit/WebCore/xml/XPathNodeSet.h | 82 + src/3rdparty/webkit/WebCore/xml/XPathParser.cpp | 636 + src/3rdparty/webkit/WebCore/xml/XPathParser.h | 131 + src/3rdparty/webkit/WebCore/xml/XPathPath.cpp | 201 + src/3rdparty/webkit/WebCore/xml/XPathPath.h | 93 + src/3rdparty/webkit/WebCore/xml/XPathPredicate.cpp | 284 + src/3rdparty/webkit/WebCore/xml/XPathPredicate.h | 111 + src/3rdparty/webkit/WebCore/xml/XPathResult.cpp | 245 + src/3rdparty/webkit/WebCore/xml/XPathResult.h | 94 + src/3rdparty/webkit/WebCore/xml/XPathResult.idl | 57 + src/3rdparty/webkit/WebCore/xml/XPathStep.cpp | 306 + src/3rdparty/webkit/WebCore/xml/XPathStep.h | 104 + src/3rdparty/webkit/WebCore/xml/XPathUtil.cpp | 96 + src/3rdparty/webkit/WebCore/xml/XPathUtil.h | 56 + src/3rdparty/webkit/WebCore/xml/XPathValue.cpp | 129 + src/3rdparty/webkit/WebCore/xml/XPathValue.h | 106 + .../webkit/WebCore/xml/XPathVariableReference.cpp | 55 + .../webkit/WebCore/xml/XPathVariableReference.h | 50 + src/3rdparty/webkit/WebCore/xml/XSLImportRule.cpp | 117 + src/3rdparty/webkit/WebCore/xml/XSLImportRule.h | 72 + src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.cpp | 316 + src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h | 100 + src/3rdparty/webkit/WebCore/xml/XSLTExtensions.cpp | 88 + src/3rdparty/webkit/WebCore/xml/XSLTExtensions.h | 40 + src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp | 461 + src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h | 81 + src/3rdparty/webkit/WebCore/xml/XSLTProcessor.idl | 52 + .../webkit/WebCore/xml/XSLTUnicodeSort.cpp | 352 + src/3rdparty/webkit/WebCore/xml/XSLTUnicodeSort.h | 42 + src/3rdparty/webkit/WebCore/xml/xmlattrs.in | 6 + src/3rdparty/webkit/WebKit.pri | 95 + src/3rdparty/webkit/WebKit/ChangeLog | 714 + src/3rdparty/webkit/WebKit/LICENSE | 25 + .../webkit/WebKit/StringsNotToBeLocalized.txt | 666 + src/3rdparty/webkit/WebKit/qt/Api/headers.pri | 8 + src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp | 148 + src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h | 59 + src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h | 38 + src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp | 1311 + src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h | 204 + src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h | 116 + src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp | 443 + src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h | 107 + src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h | 59 + .../webkit/WebKit/qt/Api/qwebhistoryinterface.cpp | 118 + .../webkit/WebKit/qt/Api/qwebhistoryinterface.h | 43 + src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h | 62 + src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp | 2752 + src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h | 334 + src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h | 173 + .../webkit/WebKit/qt/Api/qwebpluginfactory.cpp | 216 + .../webkit/WebKit/qt/Api/qwebpluginfactory.h | 74 + .../webkit/WebKit/qt/Api/qwebsecurityorigin.cpp | 176 + .../webkit/WebKit/qt/Api/qwebsecurityorigin.h | 67 + .../webkit/WebKit/qt/Api/qwebsecurityorigin_p.h | 40 + src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp | 781 + src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h | 130 + src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 962 + src/3rdparty/webkit/WebKit/qt/Api/qwebview.h | 159 + src/3rdparty/webkit/WebKit/qt/ChangeLog | 11423 +++ .../webkit/WebKit/qt/Plugins/ICOHandler.cpp | 459 + src/3rdparty/webkit/WebKit/qt/Plugins/ICOHandler.h | 52 + src/3rdparty/webkit/WebKit/qt/Plugins/Plugins.pro | 14 + .../WebKit/qt/WebCoreSupport/ChromeClientQt.cpp | 431 + .../WebKit/qt/WebCoreSupport/ChromeClientQt.h | 134 + .../qt/WebCoreSupport/ContextMenuClientQt.cpp | 81 + .../WebKit/qt/WebCoreSupport/ContextMenuClientQt.h | 52 + .../WebKit/qt/WebCoreSupport/DragClientQt.cpp | 80 + .../webkit/WebKit/qt/WebCoreSupport/DragClientQt.h | 46 + .../WebKit/qt/WebCoreSupport/EditCommandQt.cpp | 57 + .../WebKit/qt/WebCoreSupport/EditCommandQt.h | 50 + .../WebKit/qt/WebCoreSupport/EditorClientQt.cpp | 596 + .../WebKit/qt/WebCoreSupport/EditorClientQt.h | 121 + .../qt/WebCoreSupport/FrameLoaderClientQt.cpp | 1172 + .../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h | 220 + .../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp | 206 + .../WebKit/qt/WebCoreSupport/InspectorClientQt.h | 80 + src/3rdparty/webkit/WebKit/qt/WebKit_pch.h | 83 + .../webkit/WebKit/qt/tests/qwebframe/image.png | Bin 0 -> 14743 bytes .../webkit/WebKit/qt/tests/qwebframe/qwebframe.pro | 7 + .../webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc | 5 + .../WebKit/qt/tests/qwebframe/tst_qwebframe.cpp | 2355 + .../qwebhistoryinterface/qwebhistoryinterface.pro | 6 + .../tst_qwebhistoryinterface.cpp | 94 + .../webkit/WebKit/qt/tests/qwebpage/qwebpage.pro | 6 + .../WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 983 + src/3rdparty/webkit/WebKit/qt/tests/tests.pro | 3 + src/3rdparty/wintab/pktdef.h | 233 + src/3rdparty/wintab/wintab.h | 864 + src/3rdparty/xorg/wacomcfg.h | 138 + src/3rdparty/zlib/ChangeLog | 855 + src/3rdparty/zlib/FAQ | 339 + src/3rdparty/zlib/INDEX | 51 + src/3rdparty/zlib/Makefile | 154 + src/3rdparty/zlib/Makefile.in | 154 + src/3rdparty/zlib/README | 125 + src/3rdparty/zlib/adler32.c | 149 + src/3rdparty/zlib/algorithm.txt | 209 + src/3rdparty/zlib/compress.c | 79 + src/3rdparty/zlib/configure | 459 + src/3rdparty/zlib/crc32.c | 423 + src/3rdparty/zlib/crc32.h | 441 + src/3rdparty/zlib/deflate.c | 1736 + src/3rdparty/zlib/deflate.h | 331 + src/3rdparty/zlib/example.c | 565 + src/3rdparty/zlib/examples/README.examples | 42 + src/3rdparty/zlib/examples/fitblk.c | 233 + src/3rdparty/zlib/examples/gun.c | 693 + src/3rdparty/zlib/examples/gzappend.c | 500 + src/3rdparty/zlib/examples/gzjoin.c | 448 + src/3rdparty/zlib/examples/gzlog.c | 413 + src/3rdparty/zlib/examples/gzlog.h | 58 + src/3rdparty/zlib/examples/zlib_how.html | 523 + src/3rdparty/zlib/examples/zpipe.c | 191 + src/3rdparty/zlib/examples/zran.c | 404 + src/3rdparty/zlib/gzio.c | 1026 + src/3rdparty/zlib/infback.c | 623 + src/3rdparty/zlib/inffast.c | 318 + src/3rdparty/zlib/inffast.h | 11 + src/3rdparty/zlib/inffixed.h | 94 + src/3rdparty/zlib/inflate.c | 1368 + src/3rdparty/zlib/inflate.h | 115 + src/3rdparty/zlib/inftrees.c | 329 + src/3rdparty/zlib/inftrees.h | 55 + src/3rdparty/zlib/make_vms.com | 461 + src/3rdparty/zlib/minigzip.c | 322 + src/3rdparty/zlib/projects/README.projects | 41 + src/3rdparty/zlib/projects/visualc6/README.txt | 73 + src/3rdparty/zlib/projects/visualc6/example.dsp | 278 + src/3rdparty/zlib/projects/visualc6/minigzip.dsp | 278 + src/3rdparty/zlib/projects/visualc6/zlib.dsp | 609 + src/3rdparty/zlib/projects/visualc6/zlib.dsw | 59 + src/3rdparty/zlib/trees.c | 1219 + src/3rdparty/zlib/trees.h | 128 + src/3rdparty/zlib/uncompr.c | 61 + src/3rdparty/zlib/win32/DLL_FAQ.txt | 397 + src/3rdparty/zlib/win32/Makefile.bor | 107 + src/3rdparty/zlib/win32/Makefile.emx | 69 + src/3rdparty/zlib/win32/Makefile.gcc | 141 + src/3rdparty/zlib/win32/Makefile.msc | 126 + src/3rdparty/zlib/win32/VisualC.txt | 3 + src/3rdparty/zlib/win32/zlib.def | 60 + src/3rdparty/zlib/win32/zlib1.rc | 39 + src/3rdparty/zlib/zconf.h | 332 + src/3rdparty/zlib/zconf.in.h | 332 + src/3rdparty/zlib/zlib.3 | 159 + src/3rdparty/zlib/zlib.h | 1368 + src/3rdparty/zlib/zutil.c | 318 + src/3rdparty/zlib/zutil.h | 269 + src/activeqt/activeqt.pro | 5 + src/activeqt/container/container.pro | 45 + src/activeqt/container/qaxbase.cpp | 4465 + src/activeqt/container/qaxbase.h | 226 + src/activeqt/container/qaxdump.cpp | 404 + src/activeqt/container/qaxobject.cpp | 213 + src/activeqt/container/qaxobject.h | 105 + src/activeqt/container/qaxscript.cpp | 1293 + src/activeqt/container/qaxscript.h | 248 + src/activeqt/container/qaxscriptwrapper.cpp | 64 + src/activeqt/container/qaxselect.cpp | 164 + src/activeqt/container/qaxselect.h | 75 + src/activeqt/container/qaxselect.ui | 173 + src/activeqt/container/qaxwidget.cpp | 2228 + src/activeqt/container/qaxwidget.h | 125 + src/activeqt/control/control.pro | 43 + src/activeqt/control/qaxaggregated.h | 93 + src/activeqt/control/qaxbindable.cpp | 324 + src/activeqt/control/qaxbindable.h | 87 + src/activeqt/control/qaxfactory.cpp | 591 + src/activeqt/control/qaxfactory.h | 310 + src/activeqt/control/qaxmain.cpp | 54 + src/activeqt/control/qaxserver.cpp | 1251 + src/activeqt/control/qaxserver.def | 8 + src/activeqt/control/qaxserver.ico | Bin 0 -> 766 bytes src/activeqt/control/qaxserver.rc | 2 + src/activeqt/control/qaxserverbase.cpp | 4477 + src/activeqt/control/qaxserverdll.cpp | 138 + src/activeqt/control/qaxservermain.cpp | 279 + src/activeqt/shared/qaxtypes.cpp | 1486 + src/activeqt/shared/qaxtypes.h | 97 + src/corelib/QtCore.dynlist | 10 + src/corelib/animation/animation.pri | 25 + src/corelib/animation/qabstractanimation.cpp | 747 + src/corelib/animation/qabstractanimation.h | 141 + src/corelib/animation/qabstractanimation_p.h | 137 + src/corelib/animation/qanimationgroup.cpp | 274 + src/corelib/animation/qanimationgroup.h | 92 + src/corelib/animation/qanimationgroup_p.h | 79 + src/corelib/animation/qparallelanimationgroup.cpp | 298 + src/corelib/animation/qparallelanimationgroup.h | 90 + src/corelib/animation/qparallelanimationgroup_p.h | 85 + src/corelib/animation/qpauseanimation.cpp | 139 + src/corelib/animation/qpauseanimation.h | 88 + src/corelib/animation/qpropertyanimation.cpp | 256 + src/corelib/animation/qpropertyanimation.h | 94 + src/corelib/animation/qpropertyanimation_p.h | 89 + .../animation/qsequentialanimationgroup.cpp | 572 + src/corelib/animation/qsequentialanimationgroup.h | 100 + .../animation/qsequentialanimationgroup_p.h | 111 + src/corelib/animation/qvariantanimation.cpp | 599 + src/corelib/animation/qvariantanimation.h | 136 + src/corelib/animation/qvariantanimation_p.h | 143 + src/corelib/arch/alpha/arch.pri | 4 + src/corelib/arch/alpha/qatomic_alpha.s | 199 + src/corelib/arch/arch.pri | 26 + src/corelib/arch/arm/arch.pri | 4 + src/corelib/arch/arm/qatomic_arm.cpp | 72 + src/corelib/arch/armv6/arch.pri | 3 + src/corelib/arch/avr32/arch.pri | 3 + src/corelib/arch/bfin/arch.pri | 3 + src/corelib/arch/generic/arch.pri | 6 + src/corelib/arch/generic/qatomic_generic_unix.cpp | 118 + .../arch/generic/qatomic_generic_windows.cpp | 131 + src/corelib/arch/i386/arch.pri | 4 + src/corelib/arch/i386/qatomic_i386.s | 103 + src/corelib/arch/ia64/arch.pri | 4 + src/corelib/arch/ia64/qatomic_ia64.s | 34 + src/corelib/arch/macosx/arch.pri | 7 + src/corelib/arch/macosx/qatomic32_ppc.s | 129 + src/corelib/arch/mips/arch.pri | 8 + src/corelib/arch/mips/qatomic_mips32.s | 110 + src/corelib/arch/mips/qatomic_mips64.s | 98 + src/corelib/arch/parisc/arch.pri | 5 + src/corelib/arch/parisc/q_ldcw.s | 22 + src/corelib/arch/parisc/qatomic_parisc.cpp | 88 + src/corelib/arch/powerpc/arch.pri | 10 + src/corelib/arch/powerpc/qatomic32.s | 485 + src/corelib/arch/powerpc/qatomic64.s | 493 + src/corelib/arch/qatomic_alpha.h | 642 + src/corelib/arch/qatomic_arch.h | 93 + src/corelib/arch/qatomic_arm.h | 401 + src/corelib/arch/qatomic_armv6.h | 360 + src/corelib/arch/qatomic_avr32.h | 252 + src/corelib/arch/qatomic_bfin.h | 343 + src/corelib/arch/qatomic_bootstrap.h | 113 + src/corelib/arch/qatomic_generic.h | 282 + src/corelib/arch/qatomic_i386.h | 361 + src/corelib/arch/qatomic_ia64.h | 813 + src/corelib/arch/qatomic_macosx.h | 57 + src/corelib/arch/qatomic_mips.h | 826 + src/corelib/arch/qatomic_parisc.h | 305 + src/corelib/arch/qatomic_powerpc.h | 650 + src/corelib/arch/qatomic_s390.h | 430 + src/corelib/arch/qatomic_sh.h | 330 + src/corelib/arch/qatomic_sh4a.h | 537 + src/corelib/arch/qatomic_sparc.h | 525 + src/corelib/arch/qatomic_windows.h | 564 + src/corelib/arch/qatomic_windowsce.h | 56 + src/corelib/arch/qatomic_x86_64.h | 363 + src/corelib/arch/s390/arch.pri | 3 + src/corelib/arch/sh/arch.pri | 4 + src/corelib/arch/sh/qatomic_sh.cpp | 72 + src/corelib/arch/sh4a/arch.pri | 3 + src/corelib/arch/sparc/arch.pri | 10 + src/corelib/arch/sparc/qatomic32.s | 63 + src/corelib/arch/sparc/qatomic64.s | 287 + src/corelib/arch/sparc/qatomic_sparc.cpp | 92 + src/corelib/arch/windows/arch.pri | 3 + src/corelib/arch/x86_64/arch.pri | 4 + src/corelib/arch/x86_64/qatomic_sun.s | 91 + src/corelib/codecs/codecs.pri | 53 + src/corelib/codecs/qfontlaocodec.cpp | 124 + src/corelib/codecs/qfontlaocodec_p.h | 78 + src/corelib/codecs/qiconvcodec.cpp | 536 + src/corelib/codecs/qiconvcodec_p.h | 104 + src/corelib/codecs/qisciicodec.cpp | 288 + src/corelib/codecs/qisciicodec_p.h | 81 + src/corelib/codecs/qlatincodec.cpp | 246 + src/corelib/codecs/qlatincodec_p.h | 94 + src/corelib/codecs/qsimplecodec.cpp | 733 + src/corelib/codecs/qsimplecodec_p.h | 87 + src/corelib/codecs/qtextcodec.cpp | 1598 + src/corelib/codecs/qtextcodec.h | 189 + src/corelib/codecs/qtextcodec_p.h | 84 + src/corelib/codecs/qtextcodecplugin.cpp | 161 + src/corelib/codecs/qtextcodecplugin.h | 96 + src/corelib/codecs/qtsciicodec.cpp | 500 + src/corelib/codecs/qtsciicodec_p.h | 106 + src/corelib/codecs/qutfcodec.cpp | 634 + src/corelib/codecs/qutfcodec_p.h | 155 + src/corelib/concurrent/concurrent.pri | 42 + src/corelib/concurrent/qfuture.cpp | 695 + src/corelib/concurrent/qfuture.h | 278 + src/corelib/concurrent/qfutureinterface.cpp | 564 + src/corelib/concurrent/qfutureinterface.h | 311 + src/corelib/concurrent/qfutureinterface_p.h | 168 + src/corelib/concurrent/qfuturesynchronizer.cpp | 154 + src/corelib/concurrent/qfuturesynchronizer.h | 121 + src/corelib/concurrent/qfuturewatcher.cpp | 574 + src/corelib/concurrent/qfuturewatcher.h | 222 + src/corelib/concurrent/qfuturewatcher_p.h | 90 + src/corelib/concurrent/qrunnable.cpp | 105 + src/corelib/concurrent/qrunnable.h | 73 + src/corelib/concurrent/qtconcurrentcompilertest.h | 71 + src/corelib/concurrent/qtconcurrentexception.cpp | 228 + src/corelib/concurrent/qtconcurrentexception.h | 128 + src/corelib/concurrent/qtconcurrentfilter.cpp | 330 + src/corelib/concurrent/qtconcurrentfilter.h | 736 + src/corelib/concurrent/qtconcurrentfilterkernel.h | 351 + .../concurrent/qtconcurrentfunctionwrappers.h | 173 + .../concurrent/qtconcurrentiteratekernel.cpp | 194 + src/corelib/concurrent/qtconcurrentiteratekernel.h | 324 + src/corelib/concurrent/qtconcurrentmap.cpp | 401 + src/corelib/concurrent/qtconcurrentmap.h | 780 + src/corelib/concurrent/qtconcurrentmapkernel.h | 273 + src/corelib/concurrent/qtconcurrentmedian.h | 130 + src/corelib/concurrent/qtconcurrentreducekernel.h | 253 + src/corelib/concurrent/qtconcurrentresultstore.cpp | 256 + src/corelib/concurrent/qtconcurrentresultstore.h | 239 + src/corelib/concurrent/qtconcurrentrun.cpp | 150 + src/corelib/concurrent/qtconcurrentrun.h | 297 + src/corelib/concurrent/qtconcurrentrunbase.h | 134 + .../concurrent/qtconcurrentstoredfunctioncall.h | 1328 + .../concurrent/qtconcurrentthreadengine.cpp | 219 + src/corelib/concurrent/qtconcurrentthreadengine.h | 306 + src/corelib/concurrent/qthreadpool.cpp | 614 + src/corelib/concurrent/qthreadpool.h | 95 + src/corelib/concurrent/qthreadpool_p.h | 107 + src/corelib/corelib.pro | 30 + src/corelib/global/global.pri | 21 + src/corelib/global/qconfig-dist.h | 50 + src/corelib/global/qconfig-large.h | 173 + src/corelib/global/qconfig-medium.h | 294 + src/corelib/global/qconfig-minimal.h | 603 + src/corelib/global/qconfig-small.h | 332 + src/corelib/global/qendian.h | 347 + src/corelib/global/qfeatures.h | 843 + src/corelib/global/qfeatures.txt | 1407 + src/corelib/global/qglobal.cpp | 2964 + src/corelib/global/qglobal.h | 2384 + src/corelib/global/qlibraryinfo.cpp | 584 + src/corelib/global/qlibraryinfo.h | 89 + src/corelib/global/qmalloc.cpp | 68 + src/corelib/global/qnamespace.h | 1625 + src/corelib/global/qnumeric.cpp | 58 + src/corelib/global/qnumeric.h | 71 + src/corelib/global/qnumeric_p.h | 243 + src/corelib/global/qt_pch.h | 67 + src/corelib/global/qt_windows.h | 113 + src/corelib/io/io.pri | 82 + src/corelib/io/qabstractfileengine.cpp | 1219 + src/corelib/io/qabstractfileengine.h | 247 + src/corelib/io/qabstractfileengine_p.h | 79 + src/corelib/io/qbuffer.cpp | 475 + src/corelib/io/qbuffer.h | 112 + src/corelib/io/qdatastream.cpp | 1260 + src/corelib/io/qdatastream.h | 427 + src/corelib/io/qdebug.cpp | 51 + src/corelib/io/qdebug.h | 262 + src/corelib/io/qdir.cpp | 2472 + src/corelib/io/qdir.h | 264 + src/corelib/io/qdiriterator.cpp | 559 + src/corelib/io/qdiriterator.h | 97 + src/corelib/io/qfile.cpp | 1638 + src/corelib/io/qfile.h | 204 + src/corelib/io/qfile_p.h | 95 + src/corelib/io/qfileinfo.cpp | 1427 + src/corelib/io/qfileinfo.h | 187 + src/corelib/io/qfileinfo_p.h | 145 + src/corelib/io/qfilesystemwatcher.cpp | 620 + src/corelib/io/qfilesystemwatcher.h | 89 + src/corelib/io/qfilesystemwatcher_dnotify.cpp | 461 + src/corelib/io/qfilesystemwatcher_dnotify_p.h | 131 + src/corelib/io/qfilesystemwatcher_inotify.cpp | 376 + src/corelib/io/qfilesystemwatcher_inotify_p.h | 95 + src/corelib/io/qfilesystemwatcher_kqueue.cpp | 334 + src/corelib/io/qfilesystemwatcher_kqueue_p.h | 95 + src/corelib/io/qfilesystemwatcher_p.h | 120 + src/corelib/io/qfilesystemwatcher_win.cpp | 333 + src/corelib/io/qfilesystemwatcher_win_p.h | 143 + src/corelib/io/qfsfileengine.cpp | 873 + src/corelib/io/qfsfileengine.h | 121 + src/corelib/io/qfsfileengine_iterator.cpp | 82 + src/corelib/io/qfsfileengine_iterator_p.h | 92 + src/corelib/io/qfsfileengine_iterator_unix.cpp | 140 + src/corelib/io/qfsfileengine_iterator_win.cpp | 183 + src/corelib/io/qfsfileengine_p.h | 174 + src/corelib/io/qfsfileengine_unix.cpp | 1021 + src/corelib/io/qfsfileengine_win.cpp | 2242 + src/corelib/io/qiodevice.cpp | 1748 + src/corelib/io/qiodevice.h | 253 + src/corelib/io/qiodevice_p.h | 109 + src/corelib/io/qprocess.cpp | 1827 + src/corelib/io/qprocess.h | 202 + src/corelib/io/qprocess_p.h | 230 + src/corelib/io/qprocess_unix.cpp | 1380 + src/corelib/io/qprocess_win.cpp | 909 + src/corelib/io/qresource.cpp | 1460 + src/corelib/io/qresource.h | 104 + src/corelib/io/qresource_iterator.cpp | 92 + src/corelib/io/qresource_iterator_p.h | 80 + src/corelib/io/qresource_p.h | 119 + src/corelib/io/qsettings.cpp | 3822 + src/corelib/io/qsettings.h | 313 + src/corelib/io/qsettings_mac.cpp | 654 + src/corelib/io/qsettings_p.h | 313 + src/corelib/io/qsettings_win.cpp | 957 + src/corelib/io/qtemporaryfile.cpp | 706 + src/corelib/io/qtemporaryfile.h | 108 + src/corelib/io/qtextstream.cpp | 3387 + src/corelib/io/qtextstream.h | 375 + src/corelib/io/qurl.cpp | 5999 ++ src/corelib/io/qurl.h | 281 + src/corelib/io/qwindowspipewriter.cpp | 170 + src/corelib/io/qwindowspipewriter_p.h | 161 + src/corelib/kernel/kernel.pri | 111 + src/corelib/kernel/qabstracteventdispatcher.cpp | 461 + src/corelib/kernel/qabstracteventdispatcher.h | 107 + src/corelib/kernel/qabstracteventdispatcher_p.h | 77 + src/corelib/kernel/qabstractitemmodel.cpp | 2783 + src/corelib/kernel/qabstractitemmodel.h | 390 + src/corelib/kernel/qabstractitemmodel_p.h | 150 + src/corelib/kernel/qbasictimer.cpp | 138 + src/corelib/kernel/qbasictimer.h | 74 + src/corelib/kernel/qcore_mac.cpp | 82 + src/corelib/kernel/qcore_mac_p.h | 155 + src/corelib/kernel/qcoreapplication.cpp | 2406 + src/corelib/kernel/qcoreapplication.h | 279 + src/corelib/kernel/qcoreapplication_mac.cpp | 66 + src/corelib/kernel/qcoreapplication_p.h | 126 + src/corelib/kernel/qcoreapplication_win.cpp | 1042 + src/corelib/kernel/qcorecmdlineargs_p.h | 171 + src/corelib/kernel/qcoreevent.cpp | 599 + src/corelib/kernel/qcoreevent.h | 370 + src/corelib/kernel/qcoreglobaldata.cpp | 55 + src/corelib/kernel/qcoreglobaldata_p.h | 72 + src/corelib/kernel/qcrashhandler.cpp | 420 + src/corelib/kernel/qcrashhandler_p.h | 81 + src/corelib/kernel/qeventdispatcher_glib.cpp | 500 + src/corelib/kernel/qeventdispatcher_glib_p.h | 115 + src/corelib/kernel/qeventdispatcher_unix.cpp | 957 + src/corelib/kernel/qeventdispatcher_unix_p.h | 246 + src/corelib/kernel/qeventdispatcher_win.cpp | 1076 + src/corelib/kernel/qeventdispatcher_win_p.h | 109 + src/corelib/kernel/qeventloop.cpp | 323 + src/corelib/kernel/qeventloop.h | 101 + src/corelib/kernel/qfunctions_p.h | 75 + src/corelib/kernel/qfunctions_wince.cpp | 453 + src/corelib/kernel/qfunctions_wince.h | 396 + src/corelib/kernel/qmath.h | 139 + src/corelib/kernel/qmetaobject.cpp | 2555 + src/corelib/kernel/qmetaobject.h | 233 + src/corelib/kernel/qmetaobject_p.h | 208 + src/corelib/kernel/qmetatype.cpp | 1355 + src/corelib/kernel/qmetatype.h | 351 + src/corelib/kernel/qmimedata.cpp | 627 + src/corelib/kernel/qmimedata.h | 104 + src/corelib/kernel/qobject.cpp | 3818 + src/corelib/kernel/qobject.h | 480 + src/corelib/kernel/qobject_p.h | 225 + src/corelib/kernel/qobjectcleanuphandler.cpp | 148 + src/corelib/kernel/qobjectcleanuphandler.h | 78 + src/corelib/kernel/qobjectdefs.h | 465 + src/corelib/kernel/qpointer.cpp | 260 + src/corelib/kernel/qpointer.h | 168 + src/corelib/kernel/qsharedmemory.cpp | 541 + src/corelib/kernel/qsharedmemory.h | 119 + src/corelib/kernel/qsharedmemory_p.h | 169 + src/corelib/kernel/qsharedmemory_unix.cpp | 305 + src/corelib/kernel/qsharedmemory_win.cpp | 208 + src/corelib/kernel/qsignalmapper.cpp | 321 + src/corelib/kernel/qsignalmapper.h | 100 + src/corelib/kernel/qsocketnotifier.cpp | 322 + src/corelib/kernel/qsocketnotifier.h | 93 + src/corelib/kernel/qsystemsemaphore.cpp | 360 + src/corelib/kernel/qsystemsemaphore.h | 102 + src/corelib/kernel/qsystemsemaphore_p.h | 109 + src/corelib/kernel/qsystemsemaphore_unix.cpp | 242 + src/corelib/kernel/qsystemsemaphore_win.cpp | 140 + src/corelib/kernel/qtimer.cpp | 372 + src/corelib/kernel/qtimer.h | 116 + src/corelib/kernel/qtranslator.cpp | 827 + src/corelib/kernel/qtranslator.h | 98 + src/corelib/kernel/qtranslator_p.h | 78 + src/corelib/kernel/qvariant.cpp | 3098 + src/corelib/kernel/qvariant.h | 605 + src/corelib/kernel/qvariant_p.h | 145 + src/corelib/kernel/qwineventnotifier_p.cpp | 136 + src/corelib/kernel/qwineventnotifier_p.h | 94 + src/corelib/plugin/plugin.pri | 24 + src/corelib/plugin/qfactoryinterface.h | 67 + src/corelib/plugin/qfactoryloader.cpp | 256 + src/corelib/plugin/qfactoryloader_p.h | 89 + src/corelib/plugin/qlibrary.cpp | 1130 + src/corelib/plugin/qlibrary.h | 120 + src/corelib/plugin/qlibrary_p.h | 122 + src/corelib/plugin/qlibrary_unix.cpp | 266 + src/corelib/plugin/qlibrary_win.cpp | 147 + src/corelib/plugin/qplugin.h | 141 + src/corelib/plugin/qpluginloader.cpp | 371 + src/corelib/plugin/qpluginloader.h | 100 + src/corelib/plugin/quuid.cpp | 624 + src/corelib/plugin/quuid.h | 190 + src/corelib/statemachine/qabstractstate.cpp | 155 + src/corelib/statemachine/qabstractstate.h | 57 + src/corelib/statemachine/qabstractstate_p.h | 64 + src/corelib/statemachine/qabstracttransition.cpp | 281 + src/corelib/statemachine/qabstracttransition.h | 69 + src/corelib/statemachine/qabstracttransition_p.h | 65 + src/corelib/statemachine/qactionstate.cpp | 385 + src/corelib/statemachine/qactionstate.h | 85 + src/corelib/statemachine/qactionstate_p.h | 55 + src/corelib/statemachine/qanimationstate.cpp | 574 + src/corelib/statemachine/qanimationstate.h | 63 + src/corelib/statemachine/qboundevent_p.h | 52 + src/corelib/statemachine/qeventtransition.cpp | 263 + src/corelib/statemachine/qeventtransition.h | 68 + src/corelib/statemachine/qeventtransition_p.h | 48 + src/corelib/statemachine/qfinalstate.cpp | 103 + src/corelib/statemachine/qfinalstate.h | 50 + src/corelib/statemachine/qhistorystate.cpp | 145 + src/corelib/statemachine/qhistorystate.h | 56 + src/corelib/statemachine/qhistorystate_p.h | 53 + src/corelib/statemachine/qsignalevent.h | 45 + src/corelib/statemachine/qsignaleventgenerator_p.h | 55 + src/corelib/statemachine/qsignaltransition.cpp | 228 + src/corelib/statemachine/qsignaltransition.h | 63 + src/corelib/statemachine/qsignaltransition_p.h | 48 + src/corelib/statemachine/qstate.cpp | 469 + src/corelib/statemachine/qstate.h | 94 + src/corelib/statemachine/qstate_p.h | 54 + src/corelib/statemachine/qstateaction.cpp | 469 + src/corelib/statemachine/qstateaction.h | 121 + src/corelib/statemachine/qstateaction_p.h | 92 + src/corelib/statemachine/qstatefinishedevent.h | 40 + .../statemachine/qstatefinishedtransition.cpp | 152 + .../statemachine/qstatefinishedtransition.h | 58 + src/corelib/statemachine/qstatemachine.cpp | 1847 + src/corelib/statemachine/qstatemachine.h | 116 + src/corelib/statemachine/qstatemachine_p.h | 175 + src/corelib/statemachine/qtransition.cpp | 230 + src/corelib/statemachine/qtransition.h | 68 + src/corelib/statemachine/qtransition_p.h | 50 + src/corelib/statemachine/statemachine.pri | 47 + src/corelib/thread/qatomic.cpp | 1126 + src/corelib/thread/qatomic.h | 227 + src/corelib/thread/qbasicatomic.h | 210 + src/corelib/thread/qmutex.cpp | 515 + src/corelib/thread/qmutex.h | 193 + src/corelib/thread/qmutex_p.h | 88 + src/corelib/thread/qmutex_unix.cpp | 113 + src/corelib/thread/qmutex_win.cpp | 81 + src/corelib/thread/qmutexpool.cpp | 165 + src/corelib/thread/qmutexpool_p.h | 85 + src/corelib/thread/qorderedmutexlocker_p.h | 119 + src/corelib/thread/qreadwritelock.cpp | 584 + src/corelib/thread/qreadwritelock.h | 244 + src/corelib/thread/qreadwritelock_p.h | 87 + src/corelib/thread/qsemaphore.cpp | 235 + src/corelib/thread/qsemaphore.h | 83 + src/corelib/thread/qthread.cpp | 730 + src/corelib/thread/qthread.h | 163 + src/corelib/thread/qthread_p.h | 215 + src/corelib/thread/qthread_unix.cpp | 562 + src/corelib/thread/qthread_win.cpp | 620 + src/corelib/thread/qthreadstorage.cpp | 320 + src/corelib/thread/qthreadstorage.h | 157 + src/corelib/thread/qwaitcondition.h | 105 + src/corelib/thread/qwaitcondition_unix.cpp | 193 + src/corelib/thread/qwaitcondition_win.cpp | 237 + src/corelib/thread/thread.pri | 33 + src/corelib/tools/qalgorithms.h | 565 + src/corelib/tools/qbitarray.cpp | 728 + src/corelib/tools/qbitarray.h | 174 + src/corelib/tools/qbytearray.cpp | 4240 + src/corelib/tools/qbytearray.h | 589 + src/corelib/tools/qbytearraymatcher.cpp | 323 + src/corelib/tools/qbytearraymatcher.h | 93 + src/corelib/tools/qcache.h | 216 + src/corelib/tools/qchar.cpp | 1618 + src/corelib/tools/qchar.h | 397 + src/corelib/tools/qcontainerfwd.h | 71 + src/corelib/tools/qcryptographichash.cpp | 196 + src/corelib/tools/qcryptographichash.h | 84 + src/corelib/tools/qdatetime.cpp | 5506 ++ src/corelib/tools/qdatetime.h | 333 + src/corelib/tools/qdatetime_p.h | 285 + src/corelib/tools/qdumper.cpp | 1157 + src/corelib/tools/qeasingcurve.cpp | 844 + src/corelib/tools/qeasingcurve.h | 114 + src/corelib/tools/qharfbuzz.cpp | 169 + src/corelib/tools/qharfbuzz_p.h | 77 + src/corelib/tools/qhash.cpp | 1843 + src/corelib/tools/qhash.h | 1017 + src/corelib/tools/qiterator.h | 202 + src/corelib/tools/qline.cpp | 867 + src/corelib/tools/qline.h | 424 + src/corelib/tools/qlinkedlist.cpp | 1158 + src/corelib/tools/qlinkedlist.h | 504 + src/corelib/tools/qlist.h | 691 + src/corelib/tools/qlistdata.cpp | 1742 + src/corelib/tools/qlocale.cpp | 7220 ++ src/corelib/tools/qlocale.h | 678 + src/corelib/tools/qlocale_data_p.h | 3391 + src/corelib/tools/qlocale_p.h | 206 + src/corelib/tools/qmap.cpp | 1588 + src/corelib/tools/qmap.h | 1026 + src/corelib/tools/qpair.h | 127 + src/corelib/tools/qpodlist_p.h | 263 + src/corelib/tools/qpoint.cpp | 665 + src/corelib/tools/qpoint.h | 361 + src/corelib/tools/qqueue.cpp | 129 + src/corelib/tools/qqueue.h | 69 + src/corelib/tools/qrect.cpp | 2471 + src/corelib/tools/qrect.h | 858 + src/corelib/tools/qregexp.cpp | 4070 + src/corelib/tools/qregexp.h | 155 + src/corelib/tools/qringbuffer_p.h | 319 + src/corelib/tools/qset.h | 352 + src/corelib/tools/qshareddata.cpp | 550 + src/corelib/tools/qshareddata.h | 242 + src/corelib/tools/qsharedpointer.cpp | 868 + src/corelib/tools/qsharedpointer.h | 148 + src/corelib/tools/qsharedpointer_impl.h | 585 + src/corelib/tools/qsize.cpp | 824 + src/corelib/tools/qsize.h | 364 + src/corelib/tools/qstack.cpp | 129 + src/corelib/tools/qstack.h | 82 + src/corelib/tools/qstring.cpp | 8083 ++ src/corelib/tools/qstring.h | 1234 + src/corelib/tools/qstringlist.cpp | 673 + src/corelib/tools/qstringlist.h | 259 + src/corelib/tools/qstringmatcher.cpp | 323 + src/corelib/tools/qstringmatcher.h | 98 + src/corelib/tools/qtextboundaryfinder.cpp | 476 + src/corelib/tools/qtextboundaryfinder.h | 114 + src/corelib/tools/qtimeline.cpp | 781 + src/corelib/tools/qtimeline.h | 149 + src/corelib/tools/qtools_p.h | 65 + src/corelib/tools/qunicodetables.cpp | 9404 ++ src/corelib/tools/qunicodetables_p.h | 231 + src/corelib/tools/qvarlengtharray.h | 238 + src/corelib/tools/qvector.cpp | 968 + src/corelib/tools/qvector.h | 776 + src/corelib/tools/qvsnprintf.cpp | 133 + src/corelib/tools/tools.pri | 106 + src/corelib/xml/.gitignore | 1 + src/corelib/xml/make-parser.sh | 15 + src/corelib/xml/qxmlstream.cpp | 3840 + src/corelib/xml/qxmlstream.g | 1846 + src/corelib/xml/qxmlstream.h | 477 + src/corelib/xml/qxmlstream_p.h | 1962 + src/corelib/xml/qxmlutils.cpp | 390 + src/corelib/xml/qxmlutils_p.h | 92 + src/corelib/xml/xml.pri | 10 + src/dbus/dbus.pro | 78 + src/dbus/qdbus_symbols.cpp | 114 + src/dbus/qdbus_symbols_p.h | 362 + src/dbus/qdbusabstractadaptor.cpp | 380 + src/dbus/qdbusabstractadaptor.h | 76 + src/dbus/qdbusabstractadaptor_p.h | 135 + src/dbus/qdbusabstractinterface.cpp | 729 + src/dbus/qdbusabstractinterface.h | 146 + src/dbus/qdbusabstractinterface_p.h | 97 + src/dbus/qdbusargument.cpp | 1331 + src/dbus/qdbusargument.h | 383 + src/dbus/qdbusargument_p.h | 208 + src/dbus/qdbusconnection.cpp | 1045 + src/dbus/qdbusconnection.h | 178 + src/dbus/qdbusconnection_p.h | 318 + src/dbus/qdbusconnectioninterface.cpp | 403 + src/dbus/qdbusconnectioninterface.h | 129 + src/dbus/qdbuscontext.cpp | 204 + src/dbus/qdbuscontext.h | 84 + src/dbus/qdbuscontext_p.h | 78 + src/dbus/qdbusdemarshaller.cpp | 342 + src/dbus/qdbuserror.cpp | 349 + src/dbus/qdbuserror.h | 119 + src/dbus/qdbusextratypes.cpp | 239 + src/dbus/qdbusextratypes.h | 187 + src/dbus/qdbusintegrator.cpp | 2170 + src/dbus/qdbusintegrator_p.h | 160 + src/dbus/qdbusinterface.cpp | 232 + src/dbus/qdbusinterface.h | 79 + src/dbus/qdbusinterface_p.h | 79 + src/dbus/qdbusinternalfilters.cpp | 394 + src/dbus/qdbusintrospection.cpp | 425 + src/dbus/qdbusintrospection_p.h | 180 + src/dbus/qdbusmacros.h | 73 + src/dbus/qdbusmarshaller.cpp | 547 + src/dbus/qdbusmessage.cpp | 719 + src/dbus/qdbusmessage.h | 128 + src/dbus/qdbusmessage_p.h | 95 + src/dbus/qdbusmetaobject.cpp | 679 + src/dbus/qdbusmetaobject_p.h | 94 + src/dbus/qdbusmetatype.cpp | 464 + src/dbus/qdbusmetatype.h | 97 + src/dbus/qdbusmetatype_p.h | 74 + src/dbus/qdbusmisc.cpp | 150 + src/dbus/qdbuspendingcall.cpp | 472 + src/dbus/qdbuspendingcall.h | 119 + src/dbus/qdbuspendingcall_p.h | 122 + src/dbus/qdbuspendingreply.cpp | 277 + src/dbus/qdbuspendingreply.h | 213 + src/dbus/qdbusreply.cpp | 244 + src/dbus/qdbusreply.h | 196 + src/dbus/qdbusserver.cpp | 121 + src/dbus/qdbusserver.h | 80 + src/dbus/qdbusthread.cpp | 171 + src/dbus/qdbusthreaddebug_p.h | 229 + src/dbus/qdbusutil.cpp | 468 + src/dbus/qdbusutil_p.h | 92 + src/dbus/qdbusxmlgenerator.cpp | 341 + src/dbus/qdbusxmlparser.cpp | 369 + src/dbus/qdbusxmlparser_p.h | 85 + src/gui/QtGui.dynlist | 8 + src/gui/accessible/accessible.pri | 24 + src/gui/accessible/qaccessible.cpp | 1079 + src/gui/accessible/qaccessible.h | 417 + src/gui/accessible/qaccessible2.cpp | 181 + src/gui/accessible/qaccessible2.h | 217 + src/gui/accessible/qaccessible_mac.mm | 2608 + src/gui/accessible/qaccessible_mac_carbon.cpp | 119 + src/gui/accessible/qaccessible_mac_cocoa.mm | 0 src/gui/accessible/qaccessible_mac_p.h | 479 + src/gui/accessible/qaccessible_unix.cpp | 134 + src/gui/accessible/qaccessible_win.cpp | 1219 + src/gui/accessible/qaccessiblebridge.cpp | 158 + src/gui/accessible/qaccessiblebridge.h | 92 + src/gui/accessible/qaccessibleobject.cpp | 410 + src/gui/accessible/qaccessibleobject.h | 140 + src/gui/accessible/qaccessibleplugin.cpp | 107 + src/gui/accessible/qaccessibleplugin.h | 87 + src/gui/accessible/qaccessiblewidget.cpp | 1041 + src/gui/accessible/qaccessiblewidget.h | 141 + src/gui/animation/animation.pri | 8 + src/gui/animation/qitemanimation.cpp | 361 + src/gui/animation/qitemanimation.h | 111 + src/gui/animation/qitemanimation_p.h | 83 + src/gui/dialogs/dialogs.pri | 97 + src/gui/dialogs/images/fit-page-24.png | Bin 0 -> 985 bytes src/gui/dialogs/images/fit-page-32.png | Bin 0 -> 1330 bytes src/gui/dialogs/images/fit-width-24.png | Bin 0 -> 706 bytes src/gui/dialogs/images/fit-width-32.png | Bin 0 -> 1004 bytes src/gui/dialogs/images/go-first-24.png | Bin 0 -> 796 bytes src/gui/dialogs/images/go-first-32.png | Bin 0 -> 985 bytes src/gui/dialogs/images/go-last-24.png | Bin 0 -> 792 bytes src/gui/dialogs/images/go-last-32.png | Bin 0 -> 984 bytes src/gui/dialogs/images/go-next-24.png | Bin 0 -> 782 bytes src/gui/dialogs/images/go-next-32.png | Bin 0 -> 948 bytes src/gui/dialogs/images/go-previous-24.png | Bin 0 -> 797 bytes src/gui/dialogs/images/go-previous-32.png | Bin 0 -> 945 bytes src/gui/dialogs/images/layout-landscape-24.png | Bin 0 -> 820 bytes src/gui/dialogs/images/layout-landscape-32.png | Bin 0 -> 1353 bytes src/gui/dialogs/images/layout-portrait-24.png | Bin 0 -> 817 bytes src/gui/dialogs/images/layout-portrait-32.png | Bin 0 -> 1330 bytes src/gui/dialogs/images/page-setup-24.png | Bin 0 -> 620 bytes src/gui/dialogs/images/page-setup-32.png | Bin 0 -> 1154 bytes src/gui/dialogs/images/print-24.png | Bin 0 -> 914 bytes src/gui/dialogs/images/print-32.png | Bin 0 -> 1202 bytes src/gui/dialogs/images/qtlogo-64.png | Bin 0 -> 2991 bytes src/gui/dialogs/images/status-color.png | Bin 0 -> 1475 bytes src/gui/dialogs/images/status-gray-scale.png | Bin 0 -> 1254 bytes src/gui/dialogs/images/view-page-multi-24.png | Bin 0 -> 390 bytes src/gui/dialogs/images/view-page-multi-32.png | Bin 0 -> 556 bytes src/gui/dialogs/images/view-page-one-24.png | Bin 0 -> 662 bytes src/gui/dialogs/images/view-page-one-32.png | Bin 0 -> 810 bytes src/gui/dialogs/images/view-page-sided-24.png | Bin 0 -> 700 bytes src/gui/dialogs/images/view-page-sided-32.png | Bin 0 -> 908 bytes src/gui/dialogs/images/zoom-in-24.png | Bin 0 -> 1302 bytes src/gui/dialogs/images/zoom-in-32.png | Bin 0 -> 1873 bytes src/gui/dialogs/images/zoom-out-24.png | Bin 0 -> 1247 bytes src/gui/dialogs/images/zoom-out-32.png | Bin 0 -> 1749 bytes src/gui/dialogs/qabstractpagesetupdialog.cpp | 139 + src/gui/dialogs/qabstractpagesetupdialog.h | 82 + src/gui/dialogs/qabstractpagesetupdialog_p.h | 88 + src/gui/dialogs/qabstractprintdialog.cpp | 500 + src/gui/dialogs/qabstractprintdialog.h | 127 + src/gui/dialogs/qabstractprintdialog_p.h | 95 + src/gui/dialogs/qcolordialog.cpp | 1903 + src/gui/dialogs/qcolordialog.h | 150 + src/gui/dialogs/qcolordialog_mac.mm | 426 + src/gui/dialogs/qcolordialog_p.h | 144 + src/gui/dialogs/qdialog.cpp | 1159 + src/gui/dialogs/qdialog.h | 136 + src/gui/dialogs/qdialog_p.h | 113 + src/gui/dialogs/qdialogsbinarycompat_win.cpp | 137 + src/gui/dialogs/qerrormessage.cpp | 403 + src/gui/dialogs/qerrormessage.h | 88 + src/gui/dialogs/qfiledialog.cpp | 3292 + src/gui/dialogs/qfiledialog.h | 330 + src/gui/dialogs/qfiledialog.ui | 320 + src/gui/dialogs/qfiledialog_mac.mm | 1113 + src/gui/dialogs/qfiledialog_p.h | 458 + src/gui/dialogs/qfiledialog_win.cpp | 821 + src/gui/dialogs/qfiledialog_wince.ui | 342 + src/gui/dialogs/qfileinfogatherer.cpp | 365 + src/gui/dialogs/qfileinfogatherer_p.h | 210 + src/gui/dialogs/qfilesystemmodel.cpp | 1915 + src/gui/dialogs/qfilesystemmodel.h | 179 + src/gui/dialogs/qfilesystemmodel_p.h | 305 + src/gui/dialogs/qfontdialog.cpp | 1070 + src/gui/dialogs/qfontdialog.h | 144 + src/gui/dialogs/qfontdialog_mac.mm | 625 + src/gui/dialogs/qfontdialog_p.h | 164 + src/gui/dialogs/qinputdialog.cpp | 1429 + src/gui/dialogs/qinputdialog.h | 237 + src/gui/dialogs/qmessagebox.cpp | 2688 + src/gui/dialogs/qmessagebox.h | 363 + src/gui/dialogs/qmessagebox.qrc | 5 + src/gui/dialogs/qnspanelproxy_mac.mm | 246 + src/gui/dialogs/qpagesetupdialog.cpp | 185 + src/gui/dialogs/qpagesetupdialog.h | 112 + src/gui/dialogs/qpagesetupdialog_mac.mm | 313 + src/gui/dialogs/qpagesetupdialog_unix.cpp | 620 + src/gui/dialogs/qpagesetupdialog_unix_p.h | 105 + src/gui/dialogs/qpagesetupdialog_win.cpp | 169 + src/gui/dialogs/qpagesetupwidget.ui | 353 + src/gui/dialogs/qprintdialog.h | 174 + src/gui/dialogs/qprintdialog.qrc | 38 + src/gui/dialogs/qprintdialog_mac.mm | 428 + src/gui/dialogs/qprintdialog_qws.cpp | 556 + src/gui/dialogs/qprintdialog_unix.cpp | 1266 + src/gui/dialogs/qprintdialog_win.cpp | 318 + src/gui/dialogs/qprintpreviewdialog.cpp | 793 + src/gui/dialogs/qprintpreviewdialog.h | 107 + src/gui/dialogs/qprintpropertieswidget.ui | 70 + src/gui/dialogs/qprintsettingsoutput.ui | 371 + src/gui/dialogs/qprintwidget.ui | 116 + src/gui/dialogs/qprogressdialog.cpp | 865 + src/gui/dialogs/qprogressdialog.h | 145 + src/gui/dialogs/qsidebar.cpp | 485 + src/gui/dialogs/qsidebar_p.h | 147 + src/gui/dialogs/qwizard.cpp | 3757 + src/gui/dialogs/qwizard.h | 262 + src/gui/dialogs/qwizard_win.cpp | 739 + src/gui/dialogs/qwizard_win_p.h | 148 + src/gui/embedded/embedded.pri | 226 + src/gui/embedded/qcopchannel_qws.cpp | 608 + src/gui/embedded/qcopchannel_qws.h | 108 + src/gui/embedded/qdecoration_qws.cpp | 404 + src/gui/embedded/qdecoration_qws.h | 124 + src/gui/embedded/qdecorationdefault_qws.cpp | 803 + src/gui/embedded/qdecorationdefault_qws.h | 101 + src/gui/embedded/qdecorationfactory_qws.cpp | 156 + src/gui/embedded/qdecorationfactory_qws.h | 66 + src/gui/embedded/qdecorationplugin_qws.cpp | 116 + src/gui/embedded/qdecorationplugin_qws.h | 80 + src/gui/embedded/qdecorationstyled_qws.cpp | 313 + src/gui/embedded/qdecorationstyled_qws.h | 73 + src/gui/embedded/qdecorationwindows_qws.cpp | 407 + src/gui/embedded/qdecorationwindows_qws.h | 77 + src/gui/embedded/qdirectpainter_qws.cpp | 682 + src/gui/embedded/qdirectpainter_qws.h | 112 + src/gui/embedded/qkbd_qws.cpp | 248 + src/gui/embedded/qkbd_qws.h | 81 + src/gui/embedded/qkbddriverfactory_qws.cpp | 193 + src/gui/embedded/qkbddriverfactory_qws.h | 70 + src/gui/embedded/qkbddriverplugin_qws.cpp | 124 + src/gui/embedded/qkbddriverplugin_qws.h | 84 + src/gui/embedded/qkbdpc101_qws.cpp | 485 + src/gui/embedded/qkbdpc101_qws.h | 95 + src/gui/embedded/qkbdsl5000_qws.cpp | 356 + src/gui/embedded/qkbdsl5000_qws.h | 79 + src/gui/embedded/qkbdtty_qws.cpp | 263 + src/gui/embedded/qkbdtty_qws.h | 81 + src/gui/embedded/qkbdum_qws.cpp | 143 + src/gui/embedded/qkbdum_qws.h | 77 + src/gui/embedded/qkbdusb_qws.cpp | 401 + src/gui/embedded/qkbdusb_qws.h | 77 + src/gui/embedded/qkbdvfb_qws.cpp | 123 + src/gui/embedded/qkbdvfb_qws.h | 86 + src/gui/embedded/qkbdvr41xx_qws.cpp | 185 + src/gui/embedded/qkbdvr41xx_qws.h | 73 + src/gui/embedded/qkbdyopy_qws.cpp | 209 + src/gui/embedded/qkbdyopy_qws.h | 73 + src/gui/embedded/qlock.cpp | 318 + src/gui/embedded/qlock_p.h | 100 + src/gui/embedded/qmouse_qws.cpp | 653 + src/gui/embedded/qmouse_qws.h | 123 + src/gui/embedded/qmousebus_qws.cpp | 238 + src/gui/embedded/qmousebus_qws.h | 76 + src/gui/embedded/qmousedriverfactory_qws.cpp | 195 + src/gui/embedded/qmousedriverfactory_qws.h | 67 + src/gui/embedded/qmousedriverplugin_qws.cpp | 124 + src/gui/embedded/qmousedriverplugin_qws.h | 84 + src/gui/embedded/qmouselinuxtp_qws.cpp | 334 + src/gui/embedded/qmouselinuxtp_qws.h | 77 + src/gui/embedded/qmousepc_qws.cpp | 793 + src/gui/embedded/qmousepc_qws.h | 76 + src/gui/embedded/qmousetslib_qws.cpp | 371 + src/gui/embedded/qmousetslib_qws.h | 80 + src/gui/embedded/qmousevfb_qws.cpp | 132 + src/gui/embedded/qmousevfb_qws.h | 83 + src/gui/embedded/qmousevr41xx_qws.cpp | 250 + src/gui/embedded/qmousevr41xx_qws.h | 80 + src/gui/embedded/qmouseyopy_qws.cpp | 184 + src/gui/embedded/qmouseyopy_qws.h | 80 + src/gui/embedded/qscreen_qws.cpp | 3316 + src/gui/embedded/qscreen_qws.h | 387 + src/gui/embedded/qscreendriverfactory_qws.cpp | 183 + src/gui/embedded/qscreendriverfactory_qws.h | 67 + src/gui/embedded/qscreendriverplugin_qws.cpp | 123 + src/gui/embedded/qscreendriverplugin_qws.h | 84 + src/gui/embedded/qscreenlinuxfb_qws.cpp | 1314 + src/gui/embedded/qscreenlinuxfb_qws.h | 129 + src/gui/embedded/qscreenmulti_qws.cpp | 482 + src/gui/embedded/qscreenmulti_qws_p.h | 114 + src/gui/embedded/qscreenproxy_qws.cpp | 631 + src/gui/embedded/qscreenproxy_qws.h | 153 + src/gui/embedded/qscreentransformed_qws.cpp | 734 + src/gui/embedded/qscreentransformed_qws.h | 103 + src/gui/embedded/qscreenvfb_qws.cpp | 444 + src/gui/embedded/qscreenvfb_qws.h | 86 + src/gui/embedded/qsoundqss_qws.cpp | 1498 + src/gui/embedded/qsoundqss_qws.h | 177 + src/gui/embedded/qtransportauth_qws.cpp | 1562 + src/gui/embedded/qtransportauth_qws.h | 281 + src/gui/embedded/qtransportauth_qws_p.h | 189 + src/gui/embedded/qtransportauthdefs_qws.h | 174 + src/gui/embedded/qunixsocket.cpp | 1794 + src/gui/embedded/qunixsocket_p.h | 202 + src/gui/embedded/qunixsocketserver.cpp | 376 + src/gui/embedded/qunixsocketserver_p.h | 98 + src/gui/embedded/qvfbhdr.h | 89 + src/gui/embedded/qwindowsystem_p.h | 315 + src/gui/embedded/qwindowsystem_qws.cpp | 4947 ++ src/gui/embedded/qwindowsystem_qws.h | 508 + src/gui/embedded/qwscommand_qws.cpp | 610 + src/gui/embedded/qwscommand_qws_p.h | 853 + src/gui/embedded/qwscursor_qws.cpp | 654 + src/gui/embedded/qwscursor_qws.h | 83 + src/gui/embedded/qwsdisplay_qws.h | 185 + src/gui/embedded/qwsdisplay_qws_p.h | 161 + src/gui/embedded/qwsembedwidget.cpp | 227 + src/gui/embedded/qwsembedwidget.h | 82 + src/gui/embedded/qwsevent_qws.cpp | 216 + src/gui/embedded/qwsevent_qws.h | 459 + src/gui/embedded/qwslock.cpp | 243 + src/gui/embedded/qwslock_p.h | 85 + src/gui/embedded/qwsmanager_p.h | 122 + src/gui/embedded/qwsmanager_qws.cpp | 535 + src/gui/embedded/qwsmanager_qws.h | 122 + src/gui/embedded/qwsproperty_qws.cpp | 145 + src/gui/embedded/qwsproperty_qws.h | 96 + src/gui/embedded/qwsprotocolitem_qws.h | 100 + src/gui/embedded/qwssharedmemory.cpp | 185 + src/gui/embedded/qwssharedmemory_p.h | 105 + src/gui/embedded/qwssignalhandler.cpp | 134 + src/gui/embedded/qwssignalhandler_p.h | 99 + src/gui/embedded/qwssocket_qws.cpp | 280 + src/gui/embedded/qwssocket_qws.h | 120 + src/gui/embedded/qwsutils_qws.h | 98 + src/gui/graphicsview/graphicsview.pri | 46 + src/gui/graphicsview/qgraphicsgridlayout.cpp | 651 + src/gui/graphicsview/qgraphicsgridlayout.h | 143 + src/gui/graphicsview/qgraphicsitem.cpp | 9036 ++ src/gui/graphicsview/qgraphicsitem.h | 1032 + src/gui/graphicsview/qgraphicsitem_p.h | 291 + src/gui/graphicsview/qgraphicsitemanimation.cpp | 599 + src/gui/graphicsview/qgraphicsitemanimation.h | 120 + src/gui/graphicsview/qgraphicslayout.cpp | 423 + src/gui/graphicsview/qgraphicslayout.h | 95 + src/gui/graphicsview/qgraphicslayout_p.cpp | 198 + src/gui/graphicsview/qgraphicslayout_p.h | 103 + src/gui/graphicsview/qgraphicslayoutitem.cpp | 852 + src/gui/graphicsview/qgraphicslayoutitem.h | 152 + src/gui/graphicsview/qgraphicslayoutitem_p.h | 91 + src/gui/graphicsview/qgraphicslinearlayout.cpp | 547 + src/gui/graphicsview/qgraphicslinearlayout.h | 121 + src/gui/graphicsview/qgraphicsproxywidget.cpp | 1496 + src/gui/graphicsview/qgraphicsproxywidget.h | 147 + src/gui/graphicsview/qgraphicsproxywidget_p.h | 125 + src/gui/graphicsview/qgraphicsscene.cpp | 5360 ++ src/gui/graphicsview/qgraphicsscene.h | 301 + src/gui/graphicsview/qgraphicsscene_bsp.cpp | 328 + src/gui/graphicsview/qgraphicsscene_bsp_p.h | 137 + src/gui/graphicsview/qgraphicsscene_p.h | 265 + src/gui/graphicsview/qgraphicssceneevent.cpp | 1678 + src/gui/graphicsview/qgraphicssceneevent.h | 311 + src/gui/graphicsview/qgraphicsview.cpp | 3887 + src/gui/graphicsview/qgraphicsview.h | 314 + src/gui/graphicsview/qgraphicsview_p.h | 191 + src/gui/graphicsview/qgraphicswidget.cpp | 2273 + src/gui/graphicsview/qgraphicswidget.h | 255 + src/gui/graphicsview/qgraphicswidget_p.cpp | 740 + src/gui/graphicsview/qgraphicswidget_p.h | 232 + src/gui/graphicsview/qgridlayoutengine.cpp | 1542 + src/gui/graphicsview/qgridlayoutengine_p.h | 449 + src/gui/gui.pro | 46 + src/gui/image/image.pri | 108 + src/gui/image/qbitmap.cpp | 403 + src/gui/image/qbitmap.h | 106 + src/gui/image/qbmphandler.cpp | 833 + src/gui/image/qbmphandler_p.h | 117 + src/gui/image/qicon.cpp | 1128 + src/gui/image/qicon.h | 144 + src/gui/image/qiconengine.cpp | 304 + src/gui/image/qiconengine.h | 101 + src/gui/image/qiconengineplugin.cpp | 171 + src/gui/image/qiconengineplugin.h | 104 + src/gui/image/qimage.cpp | 6119 ++ src/gui/image/qimage.h | 352 + src/gui/image/qimage_p.h | 110 + src/gui/image/qimageiohandler.cpp | 571 + src/gui/image/qimageiohandler.h | 151 + src/gui/image/qimagereader.cpp | 1376 + src/gui/image/qimagereader.h | 144 + src/gui/image/qimagewriter.cpp | 690 + src/gui/image/qimagewriter.h | 116 + src/gui/image/qmovie.cpp | 1081 + src/gui/image/qmovie.h | 177 + src/gui/image/qnativeimage.cpp | 279 + src/gui/image/qnativeimage_p.h | 110 + src/gui/image/qpaintengine_pic.cpp | 519 + src/gui/image/qpaintengine_pic_p.h | 120 + src/gui/image/qpicture.cpp | 1968 + src/gui/image/qpicture.h | 196 + src/gui/image/qpicture_p.h | 170 + src/gui/image/qpictureformatplugin.cpp | 139 + src/gui/image/qpictureformatplugin.h | 94 + src/gui/image/qpixmap.cpp | 2003 + src/gui/image/qpixmap.h | 304 + src/gui/image/qpixmap_mac.cpp | 1331 + src/gui/image/qpixmap_mac_p.h | 136 + src/gui/image/qpixmap_qws.cpp | 164 + src/gui/image/qpixmap_raster.cpp | 350 + src/gui/image/qpixmap_raster_p.h | 105 + src/gui/image/qpixmap_win.cpp | 481 + src/gui/image/qpixmap_x11.cpp | 2291 + src/gui/image/qpixmap_x11_p.h | 131 + src/gui/image/qpixmapcache.cpp | 320 + src/gui/image/qpixmapcache.h | 69 + src/gui/image/qpixmapdata.cpp | 179 + src/gui/image/qpixmapdata_p.h | 140 + src/gui/image/qpixmapdatafactory.cpp | 105 + src/gui/image/qpixmapdatafactory_p.h | 81 + src/gui/image/qpixmapfilter.cpp | 849 + src/gui/image/qpixmapfilter_p.h | 165 + src/gui/image/qpnghandler.cpp | 973 + src/gui/image/qpnghandler_p.h | 88 + src/gui/image/qppmhandler.cpp | 531 + src/gui/image/qppmhandler_p.h | 98 + src/gui/image/qxbmhandler.cpp | 350 + src/gui/image/qxbmhandler_p.h | 95 + src/gui/image/qxpmhandler.cpp | 1309 + src/gui/image/qxpmhandler_p.h | 100 + src/gui/inputmethod/inputmethod.pri | 26 + src/gui/inputmethod/qinputcontext.cpp | 464 + src/gui/inputmethod/qinputcontext.h | 134 + src/gui/inputmethod/qinputcontext_p.h | 98 + src/gui/inputmethod/qinputcontextfactory.cpp | 287 + src/gui/inputmethod/qinputcontextfactory.h | 88 + src/gui/inputmethod/qinputcontextplugin.cpp | 178 + src/gui/inputmethod/qinputcontextplugin.h | 106 + src/gui/inputmethod/qmacinputcontext_mac.cpp | 349 + src/gui/inputmethod/qmacinputcontext_p.h | 92 + src/gui/inputmethod/qwininputcontext_p.h | 96 + src/gui/inputmethod/qwininputcontext_win.cpp | 861 + src/gui/inputmethod/qwsinputcontext_p.h | 96 + src/gui/inputmethod/qwsinputcontext_qws.cpp | 239 + src/gui/inputmethod/qximinputcontext_p.h | 141 + src/gui/inputmethod/qximinputcontext_x11.cpp | 829 + src/gui/itemviews/itemviews.pri | 70 + src/gui/itemviews/qabstractitemdelegate.cpp | 387 + src/gui/itemviews/qabstractitemdelegate.h | 134 + src/gui/itemviews/qabstractitemview.cpp | 3918 + src/gui/itemviews/qabstractitemview.h | 370 + src/gui/itemviews/qabstractitemview_p.h | 410 + src/gui/itemviews/qabstractproxymodel.cpp | 282 + src/gui/itemviews/qabstractproxymodel.h | 101 + src/gui/itemviews/qabstractproxymodel_p.h | 76 + src/gui/itemviews/qbsptree.cpp | 145 + src/gui/itemviews/qbsptree_p.h | 119 + src/gui/itemviews/qcolumnview.cpp | 1128 + src/gui/itemviews/qcolumnview.h | 125 + src/gui/itemviews/qcolumnview_p.h | 184 + src/gui/itemviews/qcolumnviewgrip.cpp | 194 + src/gui/itemviews/qcolumnviewgrip_p.h | 104 + src/gui/itemviews/qdatawidgetmapper.cpp | 849 + src/gui/itemviews/qdatawidgetmapper.h | 128 + src/gui/itemviews/qdirmodel.cpp | 1410 + src/gui/itemviews/qdirmodel.h | 160 + src/gui/itemviews/qfileiconprovider.cpp | 449 + src/gui/itemviews/qfileiconprovider.h | 81 + src/gui/itemviews/qheaderview.cpp | 3558 + src/gui/itemviews/qheaderview.h | 251 + src/gui/itemviews/qheaderview_p.h | 370 + src/gui/itemviews/qitemdelegate.cpp | 1325 + src/gui/itemviews/qitemdelegate.h | 141 + src/gui/itemviews/qitemeditorfactory.cpp | 566 + src/gui/itemviews/qitemeditorfactory.h | 124 + src/gui/itemviews/qitemeditorfactory_p.h | 99 + src/gui/itemviews/qitemselectionmodel.cpp | 1570 + src/gui/itemviews/qitemselectionmodel.h | 229 + src/gui/itemviews/qitemselectionmodel_p.h | 111 + src/gui/itemviews/qlistview.cpp | 3001 + src/gui/itemviews/qlistview.h | 203 + src/gui/itemviews/qlistview_p.h | 450 + src/gui/itemviews/qlistwidget.cpp | 1865 + src/gui/itemviews/qlistwidget.h | 335 + src/gui/itemviews/qlistwidget_p.h | 175 + src/gui/itemviews/qproxymodel.cpp | 547 + src/gui/itemviews/qproxymodel.h | 142 + src/gui/itemviews/qproxymodel_p.h | 100 + src/gui/itemviews/qsortfilterproxymodel.cpp | 2392 + src/gui/itemviews/qsortfilterproxymodel.h | 199 + src/gui/itemviews/qstandarditemmodel.cpp | 3108 + src/gui/itemviews/qstandarditemmodel.h | 456 + src/gui/itemviews/qstandarditemmodel_p.h | 189 + src/gui/itemviews/qstringlistmodel.cpp | 307 + src/gui/itemviews/qstringlistmodel.h | 91 + src/gui/itemviews/qstyleditemdelegate.cpp | 762 + src/gui/itemviews/qstyleditemdelegate.h | 116 + src/gui/itemviews/qtableview.cpp | 2525 + src/gui/itemviews/qtableview.h | 193 + src/gui/itemviews/qtableview_p.h | 209 + src/gui/itemviews/qtablewidget.cpp | 2703 + src/gui/itemviews/qtablewidget.h | 377 + src/gui/itemviews/qtablewidget_p.h | 223 + src/gui/itemviews/qtreeview.cpp | 3840 + src/gui/itemviews/qtreeview.h | 241 + src/gui/itemviews/qtreeview_p.h | 240 + src/gui/itemviews/qtreewidget.cpp | 3434 + src/gui/itemviews/qtreewidget.h | 432 + src/gui/itemviews/qtreewidget_p.h | 249 + src/gui/itemviews/qtreewidgetitemiterator.cpp | 459 + src/gui/itemviews/qtreewidgetitemiterator.h | 158 + src/gui/itemviews/qtreewidgetitemiterator_p.h | 109 + src/gui/itemviews/qwidgetitemdata_p.h | 88 + src/gui/kernel/kernel.pri | 209 + src/gui/kernel/mac.pri | 4 + src/gui/kernel/qaction.cpp | 1396 + src/gui/kernel/qaction.h | 246 + src/gui/kernel/qaction_p.h | 129 + src/gui/kernel/qactiongroup.cpp | 416 + src/gui/kernel/qactiongroup.h | 112 + src/gui/kernel/qapplication.cpp | 5053 ++ src/gui/kernel/qapplication.h | 391 + src/gui/kernel/qapplication_mac.mm | 2976 + src/gui/kernel/qapplication_p.h | 438 + src/gui/kernel/qapplication_qws.cpp | 3817 + src/gui/kernel/qapplication_win.cpp | 3956 + src/gui/kernel/qapplication_x11.cpp | 5919 ++ src/gui/kernel/qboxlayout.cpp | 1534 + src/gui/kernel/qboxlayout.h | 173 + src/gui/kernel/qclipboard.cpp | 651 + src/gui/kernel/qclipboard.h | 130 + src/gui/kernel/qclipboard_mac.cpp | 612 + src/gui/kernel/qclipboard_p.h | 131 + src/gui/kernel/qclipboard_qws.cpp | 304 + src/gui/kernel/qclipboard_win.cpp | 389 + src/gui/kernel/qclipboard_x11.cpp | 1498 + src/gui/kernel/qcocoaapplication_mac.mm | 114 + src/gui/kernel/qcocoaapplication_mac_p.h | 103 + src/gui/kernel/qcocoaapplicationdelegate_mac.mm | 282 + src/gui/kernel/qcocoaapplicationdelegate_mac_p.h | 119 + src/gui/kernel/qcocoamenuloader_mac.mm | 215 + src/gui/kernel/qcocoamenuloader_mac_p.h | 90 + src/gui/kernel/qcocoapanel_mac.mm | 79 + src/gui/kernel/qcocoapanel_mac_p.h | 65 + src/gui/kernel/qcocoaview_mac.mm | 1251 + src/gui/kernel/qcocoaview_mac_p.h | 109 + src/gui/kernel/qcocoawindow_mac.mm | 185 + src/gui/kernel/qcocoawindow_mac_p.h | 72 + src/gui/kernel/qcocoawindowcustomthemeframe_mac.mm | 62 + .../kernel/qcocoawindowcustomthemeframe_mac_p.h | 61 + src/gui/kernel/qcocoawindowdelegate_mac.mm | 348 + src/gui/kernel/qcocoawindowdelegate_mac_p.h | 95 + src/gui/kernel/qcursor.cpp | 565 + src/gui/kernel/qcursor.h | 160 + src/gui/kernel/qcursor_mac.mm | 556 + src/gui/kernel/qcursor_p.h | 121 + src/gui/kernel/qcursor_qws.cpp | 136 + src/gui/kernel/qcursor_win.cpp | 493 + src/gui/kernel/qcursor_x11.cpp | 594 + src/gui/kernel/qdesktopwidget.h | 104 + src/gui/kernel/qdesktopwidget_mac.mm | 244 + src/gui/kernel/qdesktopwidget_mac_p.h | 74 + src/gui/kernel/qdesktopwidget_qws.cpp | 159 + src/gui/kernel/qdesktopwidget_win.cpp | 412 + src/gui/kernel/qdesktopwidget_x11.cpp | 380 + src/gui/kernel/qdnd.cpp | 697 + src/gui/kernel/qdnd_mac.mm | 749 + src/gui/kernel/qdnd_p.h | 333 + src/gui/kernel/qdnd_qws.cpp | 422 + src/gui/kernel/qdnd_win.cpp | 1036 + src/gui/kernel/qdnd_x11.cpp | 2064 + src/gui/kernel/qdrag.cpp | 357 + src/gui/kernel/qdrag.h | 105 + src/gui/kernel/qevent.cpp | 3509 + src/gui/kernel/qevent.h | 726 + src/gui/kernel/qevent_p.h | 94 + src/gui/kernel/qeventdispatcher_glib_qws.cpp | 195 + src/gui/kernel/qeventdispatcher_glib_qws_p.h | 78 + src/gui/kernel/qeventdispatcher_mac.mm | 926 + src/gui/kernel/qeventdispatcher_mac_p.h | 197 + src/gui/kernel/qeventdispatcher_qws.cpp | 168 + src/gui/kernel/qeventdispatcher_qws_p.h | 86 + src/gui/kernel/qeventdispatcher_x11.cpp | 191 + src/gui/kernel/qeventdispatcher_x11_p.h | 86 + src/gui/kernel/qformlayout.cpp | 2080 + src/gui/kernel/qformlayout.h | 163 + src/gui/kernel/qgridlayout.cpp | 1889 + src/gui/kernel/qgridlayout.h | 176 + src/gui/kernel/qguieventdispatcher_glib.cpp | 217 + src/gui/kernel/qguieventdispatcher_glib_p.h | 78 + src/gui/kernel/qguifunctions_wince.cpp | 377 + src/gui/kernel/qguifunctions_wince.h | 157 + src/gui/kernel/qguivariant.cpp | 669 + src/gui/kernel/qkeymapper.cpp | 121 + src/gui/kernel/qkeymapper_mac.cpp | 931 + src/gui/kernel/qkeymapper_p.h | 213 + src/gui/kernel/qkeymapper_qws.cpp | 77 + src/gui/kernel/qkeymapper_win.cpp | 1259 + src/gui/kernel/qkeymapper_x11.cpp | 1678 + src/gui/kernel/qkeymapper_x11_p.cpp | 488 + src/gui/kernel/qkeysequence.cpp | 1469 + src/gui/kernel/qkeysequence.h | 231 + src/gui/kernel/qkeysequence_p.h | 98 + src/gui/kernel/qlayout.cpp | 1585 + src/gui/kernel/qlayout.h | 242 + src/gui/kernel/qlayout_p.h | 101 + src/gui/kernel/qlayoutengine.cpp | 436 + src/gui/kernel/qlayoutengine_p.h | 140 + src/gui/kernel/qlayoutitem.cpp | 837 + src/gui/kernel/qlayoutitem.h | 182 + src/gui/kernel/qmacdefines_mac.h | 192 + src/gui/kernel/qmime.cpp | 97 + src/gui/kernel/qmime.h | 176 + src/gui/kernel/qmime_mac.cpp | 1181 + src/gui/kernel/qmime_win.cpp | 1594 + src/gui/kernel/qmotifdnd_x11.cpp | 1028 + src/gui/kernel/qnsframeview_mac_p.h | 154 + src/gui/kernel/qnsthemeframe_mac_p.h | 246 + src/gui/kernel/qnstitledframe_mac_p.h | 205 + src/gui/kernel/qole_win.cpp | 255 + src/gui/kernel/qpalette.cpp | 1396 + src/gui/kernel/qpalette.h | 262 + src/gui/kernel/qsessionmanager.h | 111 + src/gui/kernel/qsessionmanager_qws.cpp | 171 + src/gui/kernel/qshortcut.cpp | 408 + src/gui/kernel/qshortcut.h | 107 + src/gui/kernel/qshortcutmap.cpp | 901 + src/gui/kernel/qshortcutmap_p.h | 122 + src/gui/kernel/qsizepolicy.h | 225 + src/gui/kernel/qsound.cpp | 386 + src/gui/kernel/qsound.h | 95 + src/gui/kernel/qsound_mac.mm | 184 + src/gui/kernel/qsound_p.h | 100 + src/gui/kernel/qsound_qws.cpp | 350 + src/gui/kernel/qsound_win.cpp | 219 + src/gui/kernel/qsound_x11.cpp | 296 + src/gui/kernel/qstackedlayout.cpp | 545 + src/gui/kernel/qstackedlayout.h | 115 + src/gui/kernel/qt_cocoa_helpers_mac.mm | 1096 + src/gui/kernel/qt_cocoa_helpers_mac_p.h | 174 + src/gui/kernel/qt_gui_pch.h | 85 + src/gui/kernel/qt_mac.cpp | 144 + src/gui/kernel/qt_mac_p.h | 265 + src/gui/kernel/qt_x11_p.h | 723 + src/gui/kernel/qtooltip.cpp | 609 + src/gui/kernel/qtooltip.h | 84 + src/gui/kernel/qwhatsthis.cpp | 772 + src/gui/kernel/qwhatsthis.h | 88 + src/gui/kernel/qwidget.cpp | 11395 +++ src/gui/kernel/qwidget.h | 1045 + src/gui/kernel/qwidget_mac.mm | 4838 ++ src/gui/kernel/qwidget_p.h | 712 + src/gui/kernel/qwidget_qws.cpp | 1198 + src/gui/kernel/qwidget_win.cpp | 2122 + src/gui/kernel/qwidget_wince.cpp | 707 + src/gui/kernel/qwidget_x11.cpp | 2891 + src/gui/kernel/qwidgetaction.cpp | 288 + src/gui/kernel/qwidgetaction.h | 91 + src/gui/kernel/qwidgetaction_p.h | 77 + src/gui/kernel/qwidgetcreate_x11.cpp | 79 + src/gui/kernel/qwindowdefs.h | 152 + src/gui/kernel/qwindowdefs_win.h | 132 + src/gui/kernel/qx11embed_x11.cpp | 1807 + src/gui/kernel/qx11embed_x11.h | 132 + src/gui/kernel/qx11info_x11.cpp | 542 + src/gui/kernel/qx11info_x11.h | 123 + src/gui/kernel/win.pri | 4 + src/gui/kernel/x11.pri | 4 + src/gui/mac/images/copyarrowcursor.png | Bin 0 -> 1976 bytes src/gui/mac/images/forbiddencursor.png | Bin 0 -> 1745 bytes src/gui/mac/images/pluscursor.png | Bin 0 -> 688 bytes src/gui/mac/images/spincursor.png | Bin 0 -> 748 bytes src/gui/mac/images/waitcursor.png | Bin 0 -> 724 bytes src/gui/mac/maccursors.qrc | 9 + src/gui/mac/qt_menu.nib/classes.nib | 59 + src/gui/mac/qt_menu.nib/info.nib | 18 + src/gui/mac/qt_menu.nib/keyedobjects.nib | Bin 0 -> 5567 bytes src/gui/painting/makepsheader.pl | 155 + src/gui/painting/painting.pri | 369 + src/gui/painting/qbackingstore.cpp | 1548 + src/gui/painting/qbackingstore_p.h | 268 + src/gui/painting/qbezier.cpp | 1245 + src/gui/painting/qbezier_p.h | 280 + src/gui/painting/qblendfunctions.cpp | 1415 + src/gui/painting/qbrush.cpp | 2148 + src/gui/painting/qbrush.h | 321 + src/gui/painting/qcolor.cpp | 2245 + src/gui/painting/qcolor.h | 275 + src/gui/painting/qcolor_p.cpp | 390 + src/gui/painting/qcolor_p.h | 71 + src/gui/painting/qcolormap.h | 97 + src/gui/painting/qcolormap_mac.cpp | 111 + src/gui/painting/qcolormap_qws.cpp | 185 + src/gui/painting/qcolormap_win.cpp | 197 + src/gui/painting/qcolormap_x11.cpp | 674 + src/gui/painting/qcssutil.cpp | 408 + src/gui/painting/qcssutil_p.h | 84 + src/gui/painting/qcups.cpp | 398 + src/gui/painting/qcups_p.h | 120 + src/gui/painting/qdatabuffer_p.h | 127 + src/gui/painting/qdrawhelper.cpp | 8248 ++ src/gui/painting/qdrawhelper_iwmmxt.cpp | 127 + src/gui/painting/qdrawhelper_mmx.cpp | 134 + src/gui/painting/qdrawhelper_mmx3dnow.cpp | 106 + src/gui/painting/qdrawhelper_mmx_p.h | 893 + src/gui/painting/qdrawhelper_p.h | 1910 + src/gui/painting/qdrawhelper_sse.cpp | 147 + src/gui/painting/qdrawhelper_sse2.cpp | 211 + src/gui/painting/qdrawhelper_sse3dnow.cpp | 122 + src/gui/painting/qdrawhelper_sse_p.h | 182 + src/gui/painting/qdrawhelper_x86_p.h | 130 + src/gui/painting/qdrawutil.cpp | 1041 + src/gui/painting/qdrawutil.h | 140 + src/gui/painting/qemulationpaintengine.cpp | 229 + src/gui/painting/qemulationpaintengine_p.h | 107 + src/gui/painting/qfixed_p.h | 219 + src/gui/painting/qgraphicssystem.cpp | 78 + src/gui/painting/qgraphicssystem_mac.cpp | 59 + src/gui/painting/qgraphicssystem_mac_p.h | 69 + src/gui/painting/qgraphicssystem_p.h | 78 + src/gui/painting/qgraphicssystem_qws.cpp | 62 + src/gui/painting/qgraphicssystem_qws_p.h | 79 + src/gui/painting/qgraphicssystem_raster.cpp | 59 + src/gui/painting/qgraphicssystem_raster_p.h | 69 + src/gui/painting/qgraphicssystemfactory.cpp | 110 + src/gui/painting/qgraphicssystemfactory_p.h | 78 + src/gui/painting/qgraphicssystemplugin.cpp | 56 + src/gui/painting/qgraphicssystemplugin_p.h | 92 + src/gui/painting/qgrayraster.c | 1937 + src/gui/painting/qgrayraster_p.h | 101 + src/gui/painting/qimagescale.cpp | 1031 + src/gui/painting/qimagescale_p.h | 66 + src/gui/painting/qmath_p.h | 66 + src/gui/painting/qmatrix.cpp | 1179 + src/gui/painting/qmatrix.h | 175 + src/gui/painting/qmemrotate.cpp | 547 + src/gui/painting/qmemrotate_p.h | 103 + src/gui/painting/qoutlinemapper.cpp | 412 + src/gui/painting/qoutlinemapper_p.h | 238 + src/gui/painting/qpaintdevice.h | 173 + src/gui/painting/qpaintdevice_mac.cpp | 185 + src/gui/painting/qpaintdevice_qws.cpp | 92 + src/gui/painting/qpaintdevice_win.cpp | 88 + src/gui/painting/qpaintdevice_x11.cpp | 435 + src/gui/painting/qpaintengine.cpp | 1026 + src/gui/painting/qpaintengine.h | 359 + src/gui/painting/qpaintengine_alpha.cpp | 510 + src/gui/painting/qpaintengine_alpha_p.h | 134 + src/gui/painting/qpaintengine_d3d.cpp | 4575 + src/gui/painting/qpaintengine_d3d.fx | 608 + src/gui/painting/qpaintengine_d3d.qrc | 5 + src/gui/painting/qpaintengine_d3d_p.h | 120 + src/gui/painting/qpaintengine_mac.cpp | 1789 + src/gui/painting/qpaintengine_mac_p.h | 359 + src/gui/painting/qpaintengine_p.h | 125 + src/gui/painting/qpaintengine_preview.cpp | 223 + src/gui/painting/qpaintengine_preview_p.h | 106 + src/gui/painting/qpaintengine_raster.cpp | 6058 ++ src/gui/painting/qpaintengine_raster_p.h | 550 + src/gui/painting/qpaintengine_x11.cpp | 2451 + src/gui/painting/qpaintengine_x11_p.h | 245 + src/gui/painting/qpaintengineex.cpp | 803 + src/gui/painting/qpaintengineex_p.h | 240 + src/gui/painting/qpainter.cpp | 8526 ++ src/gui/painting/qpainter.h | 953 + src/gui/painting/qpainter_p.h | 260 + src/gui/painting/qpainterpath.cpp | 3309 + src/gui/painting/qpainterpath.h | 409 + src/gui/painting/qpainterpath_p.h | 211 + src/gui/painting/qpathclipper.cpp | 2042 + src/gui/painting/qpathclipper_p.h | 519 + src/gui/painting/qpdf.cpp | 2086 + src/gui/painting/qpdf_p.h | 303 + src/gui/painting/qpen.cpp | 1005 + src/gui/painting/qpen.h | 140 + src/gui/painting/qpen_p.h | 78 + src/gui/painting/qpolygon.cpp | 928 + src/gui/painting/qpolygon.h | 173 + src/gui/painting/qpolygonclipper_p.h | 316 + src/gui/painting/qprintengine.h | 117 + src/gui/painting/qprintengine_mac.mm | 926 + src/gui/painting/qprintengine_mac_p.h | 165 + src/gui/painting/qprintengine_pdf.cpp | 1225 + src/gui/painting/qprintengine_pdf_p.h | 194 + src/gui/painting/qprintengine_ps.cpp | 969 + src/gui/painting/qprintengine_ps_p.h | 137 + src/gui/painting/qprintengine_qws.cpp | 881 + src/gui/painting/qprintengine_qws_p.h | 213 + src/gui/painting/qprintengine_win.cpp | 1969 + src/gui/painting/qprintengine_win_p.h | 272 + src/gui/painting/qprinter.cpp | 2377 + src/gui/painting/qprinter.h | 330 + src/gui/painting/qprinter_p.h | 140 + src/gui/painting/qprinterinfo.h | 88 + src/gui/painting/qprinterinfo_mac.cpp | 241 + src/gui/painting/qprinterinfo_unix.cpp | 1141 + src/gui/painting/qprinterinfo_unix_p.h | 125 + src/gui/painting/qprinterinfo_win.cpp | 279 + src/gui/painting/qpsprinter.agl | 452 + src/gui/painting/qpsprinter.ps | 449 + src/gui/painting/qrasterdefs_p.h | 1280 + src/gui/painting/qrasterizer.cpp | 1249 + src/gui/painting/qrasterizer_p.h | 91 + src/gui/painting/qregion.cpp | 4318 + src/gui/painting/qregion.h | 231 + src/gui/painting/qregion_mac.cpp | 249 + src/gui/painting/qregion_qws.cpp | 3183 + src/gui/painting/qregion_win.cpp | 576 + src/gui/painting/qregion_wince.cpp | 119 + src/gui/painting/qregion_x11.cpp | 92 + src/gui/painting/qrgb.h | 88 + src/gui/painting/qstroker.cpp | 1136 + src/gui/painting/qstroker_p.h | 378 + src/gui/painting/qstylepainter.cpp | 176 + src/gui/painting/qstylepainter.h | 112 + src/gui/painting/qtessellator.cpp | 1499 + src/gui/painting/qtessellator_p.h | 102 + src/gui/painting/qtextureglyphcache.cpp | 316 + src/gui/painting/qtextureglyphcache_p.h | 141 + src/gui/painting/qtransform.cpp | 2078 + src/gui/painting/qtransform.h | 346 + src/gui/painting/qvectorpath_p.h | 166 + src/gui/painting/qwindowsurface.cpp | 349 + src/gui/painting/qwindowsurface_d3d.cpp | 169 + src/gui/painting/qwindowsurface_d3d_p.h | 84 + src/gui/painting/qwindowsurface_mac.cpp | 137 + src/gui/painting/qwindowsurface_mac_p.h | 84 + src/gui/painting/qwindowsurface_p.h | 112 + src/gui/painting/qwindowsurface_qws.cpp | 1411 + src/gui/painting/qwindowsurface_qws_p.h | 353 + src/gui/painting/qwindowsurface_raster.cpp | 413 + src/gui/painting/qwindowsurface_raster_p.h | 120 + src/gui/painting/qwindowsurface_x11.cpp | 244 + src/gui/painting/qwindowsurface_x11_p.h | 90 + src/gui/painting/qwmatrix.h | 61 + src/gui/statemachine/qbasickeyeventtransition.cpp | 174 + src/gui/statemachine/qbasickeyeventtransition_p.h | 67 + .../statemachine/qbasicmouseeventtransition.cpp | 159 + .../statemachine/qbasicmouseeventtransition_p.h | 70 + src/gui/statemachine/qguistatemachine.cpp | 514 + src/gui/statemachine/qkeyeventtransition.cpp | 156 + src/gui/statemachine/qkeyeventtransition.h | 60 + src/gui/statemachine/qmouseeventtransition.cpp | 162 + src/gui/statemachine/qmouseeventtransition.h | 62 + src/gui/statemachine/statemachine.pri | 16 + src/gui/styles/gtksymbols.cpp | 895 + src/gui/styles/gtksymbols_p.h | 335 + src/gui/styles/images/cdr-128.png | Bin 0 -> 16418 bytes src/gui/styles/images/cdr-16.png | Bin 0 -> 845 bytes src/gui/styles/images/cdr-32.png | Bin 0 -> 2016 bytes src/gui/styles/images/closedock-16.png | Bin 0 -> 516 bytes src/gui/styles/images/closedock-down-16.png | Bin 0 -> 578 bytes src/gui/styles/images/computer-16.png | Bin 0 -> 782 bytes src/gui/styles/images/computer-32.png | Bin 0 -> 1807 bytes src/gui/styles/images/desktop-16.png | Bin 0 -> 773 bytes src/gui/styles/images/desktop-32.png | Bin 0 -> 1103 bytes src/gui/styles/images/dirclosed-128.png | Bin 0 -> 1386 bytes src/gui/styles/images/dirclosed-16.png | Bin 0 -> 231 bytes src/gui/styles/images/dirclosed-32.png | Bin 0 -> 474 bytes src/gui/styles/images/dirlink-128.png | Bin 0 -> 5155 bytes src/gui/styles/images/dirlink-16.png | Bin 0 -> 416 bytes src/gui/styles/images/dirlink-32.png | Bin 0 -> 1046 bytes src/gui/styles/images/diropen-128.png | Bin 0 -> 2075 bytes src/gui/styles/images/diropen-16.png | Bin 0 -> 248 bytes src/gui/styles/images/diropen-32.png | Bin 0 -> 633 bytes src/gui/styles/images/dockdock-16.png | Bin 0 -> 438 bytes src/gui/styles/images/dockdock-down-16.png | Bin 0 -> 406 bytes src/gui/styles/images/down-128.png | Bin 0 -> 9550 bytes src/gui/styles/images/down-16.png | Bin 0 -> 817 bytes src/gui/styles/images/down-32.png | Bin 0 -> 1820 bytes src/gui/styles/images/dvd-128.png | Bin 0 -> 14941 bytes src/gui/styles/images/dvd-16.png | Bin 0 -> 892 bytes src/gui/styles/images/dvd-32.png | Bin 0 -> 2205 bytes src/gui/styles/images/file-128.png | Bin 0 -> 3997 bytes src/gui/styles/images/file-16.png | Bin 0 -> 423 bytes src/gui/styles/images/file-32.png | Bin 0 -> 713 bytes src/gui/styles/images/filecontents-128.png | Bin 0 -> 8109 bytes src/gui/styles/images/filecontents-16.png | Bin 0 -> 766 bytes src/gui/styles/images/filecontents-32.png | Bin 0 -> 1712 bytes src/gui/styles/images/fileinfo-128.png | Bin 0 -> 12002 bytes src/gui/styles/images/fileinfo-16.png | Bin 0 -> 849 bytes src/gui/styles/images/fileinfo-32.png | Bin 0 -> 2010 bytes src/gui/styles/images/filelink-128.png | Bin 0 -> 5601 bytes src/gui/styles/images/filelink-16.png | Bin 0 -> 566 bytes src/gui/styles/images/filelink-32.png | Bin 0 -> 1192 bytes src/gui/styles/images/floppy-128.png | Bin 0 -> 5074 bytes src/gui/styles/images/floppy-16.png | Bin 0 -> 602 bytes src/gui/styles/images/floppy-32.png | Bin 0 -> 1019 bytes src/gui/styles/images/fontbitmap-16.png | Bin 0 -> 537 bytes src/gui/styles/images/fonttruetype-16.png | Bin 0 -> 442 bytes src/gui/styles/images/harddrive-128.png | Bin 0 -> 11250 bytes src/gui/styles/images/harddrive-16.png | Bin 0 -> 802 bytes src/gui/styles/images/harddrive-32.png | Bin 0 -> 1751 bytes src/gui/styles/images/left-128.png | Bin 0 -> 9432 bytes src/gui/styles/images/left-16.png | Bin 0 -> 826 bytes src/gui/styles/images/left-32.png | Bin 0 -> 1799 bytes src/gui/styles/images/media-pause-16.png | Bin 0 -> 229 bytes src/gui/styles/images/media-pause-32.png | Bin 0 -> 185 bytes src/gui/styles/images/media-play-16.png | Bin 0 -> 262 bytes src/gui/styles/images/media-play-32.png | Bin 0 -> 413 bytes src/gui/styles/images/media-seek-backward-16.png | Bin 0 -> 384 bytes src/gui/styles/images/media-seek-backward-32.png | Bin 0 -> 548 bytes src/gui/styles/images/media-seek-forward-16.png | Bin 0 -> 370 bytes src/gui/styles/images/media-seek-forward-32.png | Bin 0 -> 524 bytes src/gui/styles/images/media-skip-backward-16.png | Bin 0 -> 396 bytes src/gui/styles/images/media-skip-backward-32.png | Bin 0 -> 570 bytes src/gui/styles/images/media-skip-forward-16.png | Bin 0 -> 384 bytes src/gui/styles/images/media-skip-forward-32.png | Bin 0 -> 549 bytes src/gui/styles/images/media-stop-16.png | Bin 0 -> 166 bytes src/gui/styles/images/media-stop-32.png | Bin 0 -> 176 bytes src/gui/styles/images/media-volume-16.png | Bin 0 -> 799 bytes src/gui/styles/images/media-volume-muted-16.png | Bin 0 -> 668 bytes src/gui/styles/images/networkdrive-128.png | Bin 0 -> 18075 bytes src/gui/styles/images/networkdrive-16.png | Bin 0 -> 885 bytes src/gui/styles/images/networkdrive-32.png | Bin 0 -> 2245 bytes src/gui/styles/images/newdirectory-128.png | Bin 0 -> 7503 bytes src/gui/styles/images/newdirectory-16.png | Bin 0 -> 870 bytes src/gui/styles/images/newdirectory-32.png | Bin 0 -> 1590 bytes src/gui/styles/images/parentdir-128.png | Bin 0 -> 8093 bytes src/gui/styles/images/parentdir-16.png | Bin 0 -> 938 bytes src/gui/styles/images/parentdir-32.png | Bin 0 -> 1603 bytes src/gui/styles/images/refresh-24.png | Bin 0 -> 1654 bytes src/gui/styles/images/refresh-32.png | Bin 0 -> 2431 bytes src/gui/styles/images/right-128.png | Bin 0 -> 9367 bytes src/gui/styles/images/right-16.png | Bin 0 -> 811 bytes src/gui/styles/images/right-32.png | Bin 0 -> 1804 bytes src/gui/styles/images/standardbutton-apply-128.png | Bin 0 -> 5395 bytes src/gui/styles/images/standardbutton-apply-16.png | Bin 0 -> 611 bytes src/gui/styles/images/standardbutton-apply-32.png | Bin 0 -> 1279 bytes .../styles/images/standardbutton-cancel-128.png | Bin 0 -> 7039 bytes src/gui/styles/images/standardbutton-cancel-16.png | Bin 0 -> 689 bytes src/gui/styles/images/standardbutton-cancel-32.png | Bin 0 -> 1573 bytes src/gui/styles/images/standardbutton-clear-128.png | Bin 0 -> 3094 bytes src/gui/styles/images/standardbutton-clear-16.png | Bin 0 -> 456 bytes src/gui/styles/images/standardbutton-clear-32.png | Bin 0 -> 866 bytes src/gui/styles/images/standardbutton-close-128.png | Bin 0 -> 4512 bytes src/gui/styles/images/standardbutton-close-16.png | Bin 0 -> 366 bytes src/gui/styles/images/standardbutton-close-32.png | Bin 0 -> 780 bytes .../styles/images/standardbutton-closetab-16.png | Bin 0 -> 406 bytes .../images/standardbutton-closetab-down-16.png | Bin 0 -> 481 bytes .../images/standardbutton-closetab-hover-16.png | Bin 0 -> 570 bytes .../styles/images/standardbutton-delete-128.png | Bin 0 -> 5414 bytes src/gui/styles/images/standardbutton-delete-16.png | Bin 0 -> 722 bytes src/gui/styles/images/standardbutton-delete-32.png | Bin 0 -> 1541 bytes src/gui/styles/images/standardbutton-help-128.png | Bin 0 -> 10765 bytes src/gui/styles/images/standardbutton-help-16.png | Bin 0 -> 840 bytes src/gui/styles/images/standardbutton-help-32.png | Bin 0 -> 2066 bytes src/gui/styles/images/standardbutton-no-128.png | Bin 0 -> 6520 bytes src/gui/styles/images/standardbutton-no-16.png | Bin 0 -> 701 bytes src/gui/styles/images/standardbutton-no-32.png | Bin 0 -> 1445 bytes src/gui/styles/images/standardbutton-ok-128.png | Bin 0 -> 4232 bytes src/gui/styles/images/standardbutton-ok-16.png | Bin 0 -> 584 bytes src/gui/styles/images/standardbutton-ok-32.png | Bin 0 -> 1246 bytes src/gui/styles/images/standardbutton-open-128.png | Bin 0 -> 5415 bytes src/gui/styles/images/standardbutton-open-16.png | Bin 0 -> 629 bytes src/gui/styles/images/standardbutton-open-32.png | Bin 0 -> 1154 bytes src/gui/styles/images/standardbutton-save-128.png | Bin 0 -> 4398 bytes src/gui/styles/images/standardbutton-save-16.png | Bin 0 -> 583 bytes src/gui/styles/images/standardbutton-save-32.png | Bin 0 -> 1092 bytes src/gui/styles/images/standardbutton-yes-128.png | Bin 0 -> 6554 bytes src/gui/styles/images/standardbutton-yes-16.png | Bin 0 -> 687 bytes src/gui/styles/images/standardbutton-yes-32.png | Bin 0 -> 1504 bytes src/gui/styles/images/stop-24.png | Bin 0 -> 1267 bytes src/gui/styles/images/stop-32.png | Bin 0 -> 1878 bytes src/gui/styles/images/trash-128.png | Bin 0 -> 3296 bytes src/gui/styles/images/trash-16.png | Bin 0 -> 419 bytes src/gui/styles/images/trash-32.png | Bin 0 -> 883 bytes src/gui/styles/images/up-128.png | Bin 0 -> 9363 bytes src/gui/styles/images/up-16.png | Bin 0 -> 814 bytes src/gui/styles/images/up-32.png | Bin 0 -> 1798 bytes src/gui/styles/images/viewdetailed-128.png | Bin 0 -> 4743 bytes src/gui/styles/images/viewdetailed-16.png | Bin 0 -> 499 bytes src/gui/styles/images/viewdetailed-32.png | Bin 0 -> 1092 bytes src/gui/styles/images/viewlist-128.png | Bin 0 -> 4069 bytes src/gui/styles/images/viewlist-16.png | Bin 0 -> 490 bytes src/gui/styles/images/viewlist-32.png | Bin 0 -> 1006 bytes src/gui/styles/qcdestyle.cpp | 305 + src/gui/styles/qcdestyle.h | 82 + src/gui/styles/qcleanlooksstyle.cpp | 4945 ++ src/gui/styles/qcleanlooksstyle.h | 114 + src/gui/styles/qcleanlooksstyle_p.h | 82 + src/gui/styles/qcommonstyle.cpp | 6357 ++ src/gui/styles/qcommonstyle.h | 109 + src/gui/styles/qcommonstyle_p.h | 142 + src/gui/styles/qcommonstylepixmaps_p.h | 186 + src/gui/styles/qgtkpainter.cpp | 705 + src/gui/styles/qgtkpainter_p.h | 129 + src/gui/styles/qgtkstyle.cpp | 3280 + src/gui/styles/qgtkstyle.h | 118 + src/gui/styles/qmacstyle_mac.h | 144 + src/gui/styles/qmacstyle_mac.mm | 6389 ++ src/gui/styles/qmacstylepixmaps_mac_p.h | 1467 + src/gui/styles/qmotifstyle.cpp | 2719 + src/gui/styles/qmotifstyle.h | 128 + src/gui/styles/qmotifstyle_p.h | 82 + src/gui/styles/qplastiquestyle.cpp | 6024 ++ src/gui/styles/qplastiquestyle.h | 119 + src/gui/styles/qstyle.cpp | 2445 + src/gui/styles/qstyle.h | 875 + src/gui/styles/qstyle.qrc | 135 + src/gui/styles/qstyle_p.h | 104 + src/gui/styles/qstyle_wince.qrc | 97 + src/gui/styles/qstylefactory.cpp | 259 + src/gui/styles/qstylefactory.h | 66 + src/gui/styles/qstyleoption.cpp | 5353 ++ src/gui/styles/qstyleoption.h | 949 + src/gui/styles/qstyleplugin.cpp | 115 + src/gui/styles/qstyleplugin.h | 81 + src/gui/styles/qstylesheetstyle.cpp | 5955 ++ src/gui/styles/qstylesheetstyle_default.cpp | 554 + src/gui/styles/qstylesheetstyle_p.h | 191 + src/gui/styles/qwindowscestyle.cpp | 2422 + src/gui/styles/qwindowscestyle.h | 103 + src/gui/styles/qwindowscestyle_p.h | 118 + src/gui/styles/qwindowsmobilestyle.cpp | 3503 + src/gui/styles/qwindowsmobilestyle.h | 116 + src/gui/styles/qwindowsmobilestyle_p.h | 93 + src/gui/styles/qwindowsstyle.cpp | 3408 + src/gui/styles/qwindowsstyle.h | 111 + src/gui/styles/qwindowsstyle_p.h | 96 + src/gui/styles/qwindowsvistastyle.cpp | 2650 + src/gui/styles/qwindowsvistastyle.h | 108 + src/gui/styles/qwindowsvistastyle_p.h | 217 + src/gui/styles/qwindowsxpstyle.cpp | 4205 + src/gui/styles/qwindowsxpstyle.h | 107 + src/gui/styles/qwindowsxpstyle_p.h | 356 + src/gui/styles/styles.pri | 157 + src/gui/text/qabstractfontengine_p.h | 110 + src/gui/text/qabstractfontengine_qws.cpp | 776 + src/gui/text/qabstractfontengine_qws.h | 221 + src/gui/text/qabstracttextdocumentlayout.cpp | 622 + src/gui/text/qabstracttextdocumentlayout.h | 149 + src/gui/text/qabstracttextdocumentlayout_p.h | 100 + src/gui/text/qcssparser.cpp | 2805 + src/gui/text/qcssparser_p.h | 835 + src/gui/text/qcssscanner.cpp | 1146 + src/gui/text/qfont.cpp | 3017 + src/gui/text/qfont.h | 354 + src/gui/text/qfont_mac.cpp | 158 + src/gui/text/qfont_p.h | 278 + src/gui/text/qfont_qws.cpp | 134 + src/gui/text/qfont_win.cpp | 178 + src/gui/text/qfont_x11.cpp | 370 + src/gui/text/qfontdatabase.cpp | 2435 + src/gui/text/qfontdatabase.h | 176 + src/gui/text/qfontdatabase_mac.cpp | 509 + src/gui/text/qfontdatabase_qws.cpp | 1062 + src/gui/text/qfontdatabase_win.cpp | 1288 + src/gui/text/qfontdatabase_x11.cpp | 2064 + src/gui/text/qfontengine.cpp | 1623 + src/gui/text/qfontengine_ft.cpp | 1888 + src/gui/text/qfontengine_ft_p.h | 323 + src/gui/text/qfontengine_mac.mm | 1701 + src/gui/text/qfontengine_p.h | 617 + src/gui/text/qfontengine_qpf.cpp | 1161 + src/gui/text/qfontengine_qpf_p.h | 298 + src/gui/text/qfontengine_qws.cpp | 625 + src/gui/text/qfontengine_win.cpp | 1576 + src/gui/text/qfontengine_win_p.h | 156 + src/gui/text/qfontengine_x11.cpp | 1180 + src/gui/text/qfontengine_x11_p.h | 177 + src/gui/text/qfontengineglyphcache_p.h | 95 + src/gui/text/qfontinfo.h | 87 + src/gui/text/qfontmetrics.cpp | 1739 + src/gui/text/qfontmetrics.h | 197 + src/gui/text/qfontsubset.cpp | 1743 + src/gui/text/qfontsubset_p.h | 99 + src/gui/text/qfragmentmap.cpp | 46 + src/gui/text/qfragmentmap_p.h | 872 + src/gui/text/qpfutil.cpp | 66 + src/gui/text/qsyntaxhighlighter.cpp | 618 + src/gui/text/qsyntaxhighlighter.h | 111 + src/gui/text/qtextcontrol.cpp | 2981 + src/gui/text/qtextcontrol_p.h | 303 + src/gui/text/qtextcontrol_p_p.h | 219 + src/gui/text/qtextcursor.cpp | 2420 + src/gui/text/qtextcursor.h | 232 + src/gui/text/qtextcursor_p.h | 120 + src/gui/text/qtextdocument.cpp | 2929 + src/gui/text/qtextdocument.h | 298 + src/gui/text/qtextdocument_p.cpp | 1600 + src/gui/text/qtextdocument_p.h | 398 + src/gui/text/qtextdocumentfragment.cpp | 1217 + src/gui/text/qtextdocumentfragment.h | 92 + src/gui/text/qtextdocumentfragment_p.h | 236 + src/gui/text/qtextdocumentlayout.cpp | 3224 + src/gui/text/qtextdocumentlayout_p.h | 119 + src/gui/text/qtextdocumentwriter.cpp | 372 + src/gui/text/qtextdocumentwriter.h | 93 + src/gui/text/qtextengine.cpp | 2648 + src/gui/text/qtextengine_mac.cpp | 656 + src/gui/text/qtextengine_p.h | 608 + src/gui/text/qtextformat.cpp | 3063 + src/gui/text/qtextformat.h | 902 + src/gui/text/qtextformat_p.h | 111 + src/gui/text/qtexthtmlparser.cpp | 1873 + src/gui/text/qtexthtmlparser_p.h | 342 + src/gui/text/qtextimagehandler.cpp | 234 + src/gui/text/qtextimagehandler_p.h | 80 + src/gui/text/qtextlayout.cpp | 2453 + src/gui/text/qtextlayout.h | 243 + src/gui/text/qtextlist.cpp | 261 + src/gui/text/qtextlist.h | 94 + src/gui/text/qtextobject.cpp | 1711 + src/gui/text/qtextobject.h | 328 + src/gui/text/qtextobject_p.h | 103 + src/gui/text/qtextodfwriter.cpp | 818 + src/gui/text/qtextodfwriter_p.h | 115 + src/gui/text/qtextoption.cpp | 414 + src/gui/text/qtextoption.h | 161 + src/gui/text/qtexttable.cpp | 1290 + src/gui/text/qtexttable.h | 145 + src/gui/text/qtexttable_p.h | 89 + src/gui/text/qzip.cpp | 1208 + src/gui/text/qzipreader_p.h | 119 + src/gui/text/qzipwriter_p.h | 114 + src/gui/text/text.pri | 177 + src/gui/util/qcompleter.cpp | 1712 + src/gui/util/qcompleter.h | 166 + src/gui/util/qcompleter_p.h | 262 + src/gui/util/qdesktopservices.cpp | 296 + src/gui/util/qdesktopservices.h | 91 + src/gui/util/qdesktopservices_mac.cpp | 182 + src/gui/util/qdesktopservices_qws.cpp | 93 + src/gui/util/qdesktopservices_win.cpp | 249 + src/gui/util/qdesktopservices_x11.cpp | 234 + src/gui/util/qsystemtrayicon.cpp | 675 + src/gui/util/qsystemtrayicon.h | 132 + src/gui/util/qsystemtrayicon_mac.mm | 547 + src/gui/util/qsystemtrayicon_p.h | 181 + src/gui/util/qsystemtrayicon_qws.cpp | 91 + src/gui/util/qsystemtrayicon_win.cpp | 748 + src/gui/util/qsystemtrayicon_x11.cpp | 394 + src/gui/util/qundogroup.cpp | 500 + src/gui/util/qundogroup.h | 110 + src/gui/util/qundostack.cpp | 1129 + src/gui/util/qundostack.h | 158 + src/gui/util/qundostack_p.h | 111 + src/gui/util/qundoview.cpp | 476 + src/gui/util/qundoview.h | 102 + src/gui/util/util.pri | 40 + src/gui/widgets/qabstractbutton.cpp | 1468 + src/gui/widgets/qabstractbutton.h | 183 + src/gui/widgets/qabstractbutton_p.h | 109 + src/gui/widgets/qabstractscrollarea.cpp | 1303 + src/gui/widgets/qabstractscrollarea.h | 141 + src/gui/widgets/qabstractscrollarea_p.h | 139 + src/gui/widgets/qabstractslider.cpp | 914 + src/gui/widgets/qabstractslider.h | 184 + src/gui/widgets/qabstractslider_p.h | 113 + src/gui/widgets/qabstractspinbox.cpp | 2049 + src/gui/widgets/qabstractspinbox.h | 177 + src/gui/widgets/qabstractspinbox_p.h | 171 + src/gui/widgets/qbuttongroup.cpp | 260 + src/gui/widgets/qbuttongroup.h | 112 + src/gui/widgets/qcalendartextnavigator_p.h | 112 + src/gui/widgets/qcalendarwidget.cpp | 3091 + src/gui/widgets/qcalendarwidget.h | 204 + src/gui/widgets/qcheckbox.cpp | 425 + src/gui/widgets/qcheckbox.h | 113 + src/gui/widgets/qcocoamenu_mac.mm | 187 + src/gui/widgets/qcocoamenu_mac_p.h | 72 + src/gui/widgets/qcocoatoolbardelegate_mac.mm | 153 + src/gui/widgets/qcocoatoolbardelegate_mac_p.h | 71 + src/gui/widgets/qcombobox.cpp | 3184 + src/gui/widgets/qcombobox.h | 338 + src/gui/widgets/qcombobox_p.h | 410 + src/gui/widgets/qcommandlinkbutton.cpp | 384 + src/gui/widgets/qcommandlinkbutton.h | 85 + src/gui/widgets/qdatetimeedit.cpp | 2647 + src/gui/widgets/qdatetimeedit.h | 232 + src/gui/widgets/qdatetimeedit_p.h | 184 + src/gui/widgets/qdial.cpp | 530 + src/gui/widgets/qdial.h | 122 + src/gui/widgets/qdialogbuttonbox.cpp | 1136 + src/gui/widgets/qdialogbuttonbox.h | 168 + src/gui/widgets/qdockarealayout.cpp | 3316 + src/gui/widgets/qdockarealayout_p.h | 303 + src/gui/widgets/qdockwidget.cpp | 1591 + src/gui/widgets/qdockwidget.h | 146 + src/gui/widgets/qdockwidget_p.h | 207 + src/gui/widgets/qeffects.cpp | 632 + src/gui/widgets/qeffects_p.h | 84 + src/gui/widgets/qfocusframe.cpp | 267 + src/gui/widgets/qfocusframe.h | 82 + src/gui/widgets/qfontcombobox.cpp | 467 + src/gui/widgets/qfontcombobox.h | 112 + src/gui/widgets/qframe.cpp | 566 + src/gui/widgets/qframe.h | 148 + src/gui/widgets/qframe_p.h | 85 + src/gui/widgets/qgroupbox.cpp | 792 + src/gui/widgets/qgroupbox.h | 122 + src/gui/widgets/qlabel.cpp | 1606 + src/gui/widgets/qlabel.h | 175 + src/gui/widgets/qlabel_p.h | 152 + src/gui/widgets/qlcdnumber.cpp | 1282 + src/gui/widgets/qlcdnumber.h | 140 + src/gui/widgets/qlineedit.cpp | 3696 + src/gui/widgets/qlineedit.h | 283 + src/gui/widgets/qlineedit_p.h | 250 + src/gui/widgets/qmaccocoaviewcontainer_mac.h | 73 + src/gui/widgets/qmaccocoaviewcontainer_mac.mm | 190 + src/gui/widgets/qmacnativewidget_mac.h | 74 + src/gui/widgets/qmacnativewidget_mac.mm | 136 + src/gui/widgets/qmainwindow.cpp | 1591 + src/gui/widgets/qmainwindow.h | 217 + src/gui/widgets/qmainwindowlayout.cpp | 1986 + src/gui/widgets/qmainwindowlayout_mac.mm | 469 + src/gui/widgets/qmainwindowlayout_p.h | 374 + src/gui/widgets/qmdiarea.cpp | 2597 + src/gui/widgets/qmdiarea.h | 169 + src/gui/widgets/qmdiarea_p.h | 281 + src/gui/widgets/qmdisubwindow.cpp | 3552 + src/gui/widgets/qmdisubwindow.h | 159 + src/gui/widgets/qmdisubwindow_p.h | 348 + src/gui/widgets/qmenu.cpp | 3466 + src/gui/widgets/qmenu.h | 428 + src/gui/widgets/qmenu_mac.mm | 2038 + src/gui/widgets/qmenu_p.h | 329 + src/gui/widgets/qmenu_wince.cpp | 608 + src/gui/widgets/qmenu_wince.rc | 231 + src/gui/widgets/qmenu_wince_resource_p.h | 94 + src/gui/widgets/qmenubar.cpp | 2405 + src/gui/widgets/qmenubar.h | 363 + src/gui/widgets/qmenubar_p.h | 230 + src/gui/widgets/qmenudata.cpp | 96 + src/gui/widgets/qmenudata.h | 78 + src/gui/widgets/qplaintextedit.cpp | 2893 + src/gui/widgets/qplaintextedit.h | 326 + src/gui/widgets/qplaintextedit_p.h | 182 + src/gui/widgets/qprintpreviewwidget.cpp | 829 + src/gui/widgets/qprintpreviewwidget.h | 124 + src/gui/widgets/qprogressbar.cpp | 592 + src/gui/widgets/qprogressbar.h | 130 + src/gui/widgets/qpushbutton.cpp | 732 + src/gui/widgets/qpushbutton.h | 124 + src/gui/widgets/qpushbutton_p.h | 82 + src/gui/widgets/qradiobutton.cpp | 288 + src/gui/widgets/qradiobutton.h | 88 + src/gui/widgets/qrubberband.cpp | 339 + src/gui/widgets/qrubberband.h | 104 + src/gui/widgets/qscrollarea.cpp | 522 + src/gui/widgets/qscrollarea.h | 101 + src/gui/widgets/qscrollarea_p.h | 81 + src/gui/widgets/qscrollbar.cpp | 747 + src/gui/widgets/qscrollbar.h | 104 + src/gui/widgets/qsizegrip.cpp | 566 + src/gui/widgets/qsizegrip.h | 95 + src/gui/widgets/qslider.cpp | 676 + src/gui/widgets/qslider.h | 134 + src/gui/widgets/qspinbox.cpp | 1536 + src/gui/widgets/qspinbox.h | 188 + src/gui/widgets/qsplashscreen.cpp | 350 + src/gui/widgets/qsplashscreen.h | 99 + src/gui/widgets/qsplitter.cpp | 1831 + src/gui/widgets/qsplitter.h | 191 + src/gui/widgets/qsplitter_p.h | 148 + src/gui/widgets/qstackedwidget.cpp | 294 + src/gui/widgets/qstackedwidget.h | 100 + src/gui/widgets/qstatusbar.cpp | 847 + src/gui/widgets/qstatusbar.h | 116 + src/gui/widgets/qtabbar.cpp | 2301 + src/gui/widgets/qtabbar.h | 228 + src/gui/widgets/qtabbar_p.h | 265 + src/gui/widgets/qtabwidget.cpp | 1450 + src/gui/widgets/qtabwidget.h | 252 + src/gui/widgets/qtextbrowser.cpp | 1275 + src/gui/widgets/qtextbrowser.h | 140 + src/gui/widgets/qtextedit.cpp | 2783 + src/gui/widgets/qtextedit.h | 430 + src/gui/widgets/qtextedit_p.h | 141 + src/gui/widgets/qtoolbar.cpp | 1291 + src/gui/widgets/qtoolbar.h | 187 + src/gui/widgets/qtoolbar_p.h | 135 + src/gui/widgets/qtoolbararealayout.cpp | 1370 + src/gui/widgets/qtoolbararealayout_p.h | 199 + src/gui/widgets/qtoolbarextension.cpp | 90 + src/gui/widgets/qtoolbarextension_p.h | 80 + src/gui/widgets/qtoolbarlayout.cpp | 752 + src/gui/widgets/qtoolbarlayout_p.h | 136 + src/gui/widgets/qtoolbarseparator.cpp | 91 + src/gui/widgets/qtoolbarseparator_p.h | 88 + src/gui/widgets/qtoolbox.cpp | 822 + src/gui/widgets/qtoolbox.h | 148 + src/gui/widgets/qtoolbutton.cpp | 1251 + src/gui/widgets/qtoolbutton.h | 199 + src/gui/widgets/qvalidator.cpp | 909 + src/gui/widgets/qvalidator.h | 215 + src/gui/widgets/qwidgetanimator.cpp | 198 + src/gui/widgets/qwidgetanimator_p.h | 102 + src/gui/widgets/qwidgetresizehandler.cpp | 547 + src/gui/widgets/qwidgetresizehandler_p.h | 141 + src/gui/widgets/qworkspace.cpp | 3382 + src/gui/widgets/qworkspace.h | 137 + src/gui/widgets/widgets.pri | 162 + src/network/access/access.pri | 53 + src/network/access/qabstractnetworkcache.cpp | 532 + src/network/access/qabstractnetworkcache.h | 141 + src/network/access/qabstractnetworkcache_p.h | 66 + src/network/access/qftp.cpp | 2407 + src/network/access/qftp.h | 180 + src/network/access/qhttp.cpp | 3120 + src/network/access/qhttp.h | 311 + src/network/access/qhttpnetworkconnection.cpp | 2464 + src/network/access/qhttpnetworkconnection_p.h | 290 + src/network/access/qnetworkaccessbackend.cpp | 318 + src/network/access/qnetworkaccessbackend_p.h | 202 + src/network/access/qnetworkaccesscache.cpp | 379 + src/network/access/qnetworkaccesscache_p.h | 127 + src/network/access/qnetworkaccesscachebackend.cpp | 143 + src/network/access/qnetworkaccesscachebackend_p.h | 86 + src/network/access/qnetworkaccessdatabackend.cpp | 150 + src/network/access/qnetworkaccessdatabackend_p.h | 82 + .../access/qnetworkaccessdebugpipebackend.cpp | 346 + .../access/qnetworkaccessdebugpipebackend_p.h | 111 + src/network/access/qnetworkaccessfilebackend.cpp | 270 + src/network/access/qnetworkaccessfilebackend_p.h | 95 + src/network/access/qnetworkaccessftpbackend.cpp | 441 + src/network/access/qnetworkaccessftpbackend_p.h | 126 + src/network/access/qnetworkaccesshttpbackend.cpp | 1052 + src/network/access/qnetworkaccesshttpbackend_p.h | 140 + src/network/access/qnetworkaccessmanager.cpp | 961 + src/network/access/qnetworkaccessmanager.h | 129 + src/network/access/qnetworkaccessmanager_p.h | 121 + src/network/access/qnetworkcookie.cpp | 932 + src/network/access/qnetworkcookie.h | 141 + src/network/access/qnetworkcookie_p.h | 99 + src/network/access/qnetworkdiskcache.cpp | 666 + src/network/access/qnetworkdiskcache.h | 94 + src/network/access/qnetworkdiskcache_p.h | 122 + src/network/access/qnetworkreply.cpp | 691 + src/network/access/qnetworkreply.h | 171 + src/network/access/qnetworkreply_p.h | 83 + src/network/access/qnetworkreplyimpl.cpp | 598 + src/network/access/qnetworkreplyimpl_p.h | 181 + src/network/access/qnetworkrequest.cpp | 803 + src/network/access/qnetworkrequest.h | 131 + src/network/access/qnetworkrequest_p.h | 96 + src/network/kernel/kernel.pri | 30 + src/network/kernel/qauthenticator.cpp | 1026 + src/network/kernel/qauthenticator.h | 87 + src/network/kernel/qauthenticator_p.h | 111 + src/network/kernel/qhostaddress.cpp | 1166 + src/network/kernel/qhostaddress.h | 153 + src/network/kernel/qhostaddress_p.h | 76 + src/network/kernel/qhostinfo.cpp | 479 + src/network/kernel/qhostinfo.h | 101 + src/network/kernel/qhostinfo_p.h | 196 + src/network/kernel/qhostinfo_unix.cpp | 379 + src/network/kernel/qhostinfo_win.cpp | 295 + src/network/kernel/qnetworkinterface.cpp | 615 + src/network/kernel/qnetworkinterface.h | 135 + src/network/kernel/qnetworkinterface_p.h | 123 + src/network/kernel/qnetworkinterface_unix.cpp | 448 + src/network/kernel/qnetworkinterface_win.cpp | 327 + src/network/kernel/qnetworkinterface_win_p.h | 266 + src/network/kernel/qnetworkproxy.cpp | 1255 + src/network/kernel/qnetworkproxy.h | 185 + src/network/kernel/qnetworkproxy_generic.cpp | 59 + src/network/kernel/qnetworkproxy_mac.cpp | 240 + src/network/kernel/qnetworkproxy_win.cpp | 410 + src/network/kernel/qurlinfo.cpp | 731 + src/network/kernel/qurlinfo.h | 131 + src/network/network.pro | 17 + src/network/network.qrc | 5 + src/network/socket/qabstractsocket.cpp | 2631 + src/network/socket/qabstractsocket.h | 248 + src/network/socket/qabstractsocket_p.h | 163 + src/network/socket/qabstractsocketengine.cpp | 254 + src/network/socket/qabstractsocketengine_p.h | 217 + src/network/socket/qhttpsocketengine.cpp | 773 + src/network/socket/qhttpsocketengine_p.h | 188 + src/network/socket/qlocalserver.cpp | 395 + src/network/socket/qlocalserver.h | 107 + src/network/socket/qlocalserver_p.h | 165 + src/network/socket/qlocalserver_tcp.cpp | 129 + src/network/socket/qlocalserver_unix.cpp | 251 + src/network/socket/qlocalserver_win.cpp | 252 + src/network/socket/qlocalsocket.cpp | 504 + src/network/socket/qlocalsocket.h | 157 + src/network/socket/qlocalsocket_p.h | 212 + src/network/socket/qlocalsocket_tcp.cpp | 437 + src/network/socket/qlocalsocket_unix.cpp | 566 + src/network/socket/qlocalsocket_win.cpp | 537 + src/network/socket/qnativesocketengine.cpp | 1140 + src/network/socket/qnativesocketengine_p.h | 250 + src/network/socket/qnativesocketengine_unix.cpp | 949 + src/network/socket/qnativesocketengine_win.cpp | 1211 + src/network/socket/qsocks5socketengine.cpp | 1850 + src/network/socket/qsocks5socketengine_p.h | 288 + src/network/socket/qtcpserver.cpp | 643 + src/network/socket/qtcpserver.h | 109 + src/network/socket/qtcpsocket.cpp | 114 + src/network/socket/qtcpsocket.h | 74 + src/network/socket/qtcpsocket_p.h | 68 + src/network/socket/qudpsocket.cpp | 424 + src/network/socket/qudpsocket.h | 99 + src/network/socket/socket.pri | 46 + src/network/ssl/qssl.cpp | 117 + src/network/ssl/qssl.h | 88 + src/network/ssl/qsslcertificate.cpp | 795 + src/network/ssl/qsslcertificate.h | 138 + src/network/ssl/qsslcertificate_p.h | 108 + src/network/ssl/qsslcipher.cpp | 239 + src/network/ssl/qsslcipher.h | 97 + src/network/ssl/qsslcipher_p.h | 78 + src/network/ssl/qsslconfiguration.cpp | 545 + src/network/ssl/qsslconfiguration.h | 137 + src/network/ssl/qsslconfiguration_p.h | 115 + src/network/ssl/qsslerror.cpp | 293 + src/network/ssl/qsslerror.h | 117 + src/network/ssl/qsslkey.cpp | 468 + src/network/ssl/qsslkey.h | 110 + src/network/ssl/qsslkey_p.h | 98 + src/network/ssl/qsslsocket.cpp | 2045 + src/network/ssl/qsslsocket.h | 217 + src/network/ssl/qsslsocket_openssl.cpp | 929 + src/network/ssl/qsslsocket_openssl_p.h | 116 + src/network/ssl/qsslsocket_openssl_symbols.cpp | 650 + src/network/ssl/qsslsocket_openssl_symbols_p.h | 394 + src/network/ssl/qsslsocket_p.h | 130 + src/network/ssl/qt-ca-bundle.crt | 1984 + src/network/ssl/ssl.pri | 33 + src/opengl/gl2paintengineex/glgc_shader_source.h | 289 + src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp | 156 + src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h | 121 + src/opengl/gl2paintengineex/qglgradientcache.cpp | 185 + src/opengl/gl2paintengineex/qglgradientcache_p.h | 108 + .../gl2paintengineex/qglpexshadermanager.cpp | 450 + .../gl2paintengineex/qglpexshadermanager_p.h | 156 + src/opengl/gl2paintengineex/qglshader.cpp | 605 + src/opengl/gl2paintengineex/qglshader_p.h | 260 + .../gl2paintengineex/qpaintengineex_opengl2.cpp | 1278 + .../gl2paintengineex/qpaintengineex_opengl2_p.h | 125 + src/opengl/opengl.pro | 135 + src/opengl/qegl.cpp | 787 + src/opengl/qegl_p.h | 188 + src/opengl/qegl_qws.cpp | 125 + src/opengl/qegl_wince.cpp | 105 + src/opengl/qegl_x11egl.cpp | 130 + src/opengl/qgl.cpp | 4204 + src/opengl/qgl.h | 566 + src/opengl/qgl_cl_p.h | 141 + src/opengl/qgl_egl.cpp | 131 + src/opengl/qgl_egl_p.h | 68 + src/opengl/qgl_mac.mm | 982 + src/opengl/qgl_p.h | 394 + src/opengl/qgl_qws.cpp | 364 + src/opengl/qgl_win.cpp | 1499 + src/opengl/qgl_wince.cpp | 739 + src/opengl/qgl_x11.cpp | 1425 + src/opengl/qgl_x11egl.cpp | 378 + src/opengl/qglcolormap.cpp | 287 + src/opengl/qglcolormap.h | 105 + src/opengl/qglextensions.cpp | 185 + src/opengl/qglextensions_p.h | 516 + src/opengl/qglframebufferobject.cpp | 719 + src/opengl/qglframebufferobject.h | 126 + src/opengl/qglpaintdevice_qws.cpp | 98 + src/opengl/qglpaintdevice_qws_p.h | 85 + src/opengl/qglpixelbuffer.cpp | 582 + src/opengl/qglpixelbuffer.h | 119 + src/opengl/qglpixelbuffer_egl.cpp | 211 + src/opengl/qglpixelbuffer_mac.mm | 338 + src/opengl/qglpixelbuffer_p.h | 193 + src/opengl/qglpixelbuffer_win.cpp | 390 + src/opengl/qglpixelbuffer_x11.cpp | 301 + src/opengl/qglpixmapfilter.cpp | 409 + src/opengl/qglpixmapfilter_p.h | 123 + src/opengl/qglscreen_qws.cpp | 242 + src/opengl/qglscreen_qws.h | 127 + src/opengl/qglwindowsurface_qws.cpp | 134 + src/opengl/qglwindowsurface_qws_p.h | 90 + src/opengl/qgraphicssystem_gl.cpp | 72 + src/opengl/qgraphicssystem_gl_p.h | 74 + src/opengl/qpaintengine_opengl.cpp | 5786 ++ src/opengl/qpaintengine_opengl_p.h | 155 + src/opengl/qpixmapdata_gl.cpp | 313 + src/opengl/qpixmapdata_gl_p.h | 107 + src/opengl/qwindowsurface_gl.cpp | 660 + src/opengl/qwindowsurface_gl_p.h | 102 + src/opengl/util/README-GLSL | 18 + src/opengl/util/brush_painter.glsl | 7 + src/opengl/util/brushes.conf | 6 + src/opengl/util/composition_mode_colorburn.glsl | 13 + src/opengl/util/composition_mode_colordodge.glsl | 15 + src/opengl/util/composition_mode_darken.glsl | 9 + src/opengl/util/composition_mode_difference.glsl | 9 + src/opengl/util/composition_mode_exclusion.glsl | 9 + src/opengl/util/composition_mode_hardlight.glsl | 14 + src/opengl/util/composition_mode_lighten.glsl | 9 + src/opengl/util/composition_mode_multiply.glsl | 9 + src/opengl/util/composition_mode_overlay.glsl | 13 + src/opengl/util/composition_mode_screen.glsl | 6 + src/opengl/util/composition_mode_softlight.glsl | 18 + src/opengl/util/composition_modes.conf | 12 + src/opengl/util/conical_brush.glsl | 27 + src/opengl/util/ellipse.glsl | 6 + src/opengl/util/ellipse_aa.glsl | 6 + src/opengl/util/ellipse_aa_copy.glsl | 11 + src/opengl/util/ellipse_aa_radial.glsl | 24 + src/opengl/util/ellipse_functions.glsl | 63 + src/opengl/util/fast_painter.glsl | 19 + src/opengl/util/fragmentprograms_p.h | 7372 ++ src/opengl/util/generator.cpp | 435 + src/opengl/util/generator.pro | 11 + src/opengl/util/glsl_to_include.sh | 33 + src/opengl/util/linear_brush.glsl | 22 + src/opengl/util/masks.conf | 3 + src/opengl/util/painter.glsl | 21 + src/opengl/util/painter_nomask.glsl | 9 + src/opengl/util/pattern_brush.glsl | 25 + src/opengl/util/radial_brush.glsl | 28 + src/opengl/util/simple_porter_duff.glsl | 16 + src/opengl/util/solid_brush.glsl | 4 + src/opengl/util/texture_brush.glsl | 23 + src/opengl/util/trap_exact_aa.glsl | 58 + src/phonon/phonon.pro | 115 + src/plugins/accessible/accessible.pro | 6 + src/plugins/accessible/compat/compat.pro | 20 + src/plugins/accessible/compat/main.cpp | 130 + src/plugins/accessible/compat/q3complexwidgets.cpp | 340 + src/plugins/accessible/compat/q3complexwidgets.h | 88 + src/plugins/accessible/compat/q3simplewidgets.cpp | 133 + src/plugins/accessible/compat/q3simplewidgets.h | 63 + .../accessible/compat/qaccessiblecompat.cpp | 843 + src/plugins/accessible/compat/qaccessiblecompat.h | 168 + src/plugins/accessible/qaccessiblebase.pri | 2 + src/plugins/accessible/widgets/complexwidgets.cpp | 2163 + src/plugins/accessible/widgets/complexwidgets.h | 293 + src/plugins/accessible/widgets/main.cpp | 339 + src/plugins/accessible/widgets/qaccessiblemenu.cpp | 678 + src/plugins/accessible/widgets/qaccessiblemenu.h | 140 + .../accessible/widgets/qaccessiblewidgets.cpp | 1667 + .../accessible/widgets/qaccessiblewidgets.h | 318 + src/plugins/accessible/widgets/rangecontrols.cpp | 991 + src/plugins/accessible/widgets/rangecontrols.h | 233 + src/plugins/accessible/widgets/simplewidgets.cpp | 762 + src/plugins/accessible/widgets/simplewidgets.h | 156 + src/plugins/accessible/widgets/widgets.pro | 20 + src/plugins/codecs/cn/cn.pro | 14 + src/plugins/codecs/cn/main.cpp | 145 + src/plugins/codecs/cn/qgb18030codec.cpp | 9233 ++ src/plugins/codecs/cn/qgb18030codec.h | 159 + src/plugins/codecs/codecs.pro | 4 + src/plugins/codecs/jp/jp.pro | 25 + src/plugins/codecs/jp/main.cpp | 149 + src/plugins/codecs/jp/qeucjpcodec.cpp | 262 + src/plugins/codecs/jp/qeucjpcodec.h | 106 + src/plugins/codecs/jp/qfontjpcodec.cpp | 145 + src/plugins/codecs/jp/qfontjpcodec.h | 93 + src/plugins/codecs/jp/qjiscodec.cpp | 367 + src/plugins/codecs/jp/qjiscodec.h | 106 + src/plugins/codecs/jp/qjpunicode.cpp | 10700 +++ src/plugins/codecs/jp/qjpunicode.h | 174 + src/plugins/codecs/jp/qsjiscodec.cpp | 227 + src/plugins/codecs/jp/qsjiscodec.h | 106 + src/plugins/codecs/kr/cp949codetbl.h | 632 + src/plugins/codecs/kr/kr.pro | 18 + src/plugins/codecs/kr/main.cpp | 131 + src/plugins/codecs/kr/qeuckrcodec.cpp | 3583 + src/plugins/codecs/kr/qeuckrcodec.h | 129 + src/plugins/codecs/tw/main.cpp | 138 + src/plugins/codecs/tw/qbig5codec.cpp | 12788 +++ src/plugins/codecs/tw/qbig5codec.h | 124 + src/plugins/codecs/tw/tw.pro | 14 + src/plugins/decorations/decorations.pro | 4 + src/plugins/decorations/default/default.pro | 10 + src/plugins/decorations/default/main.cpp | 76 + src/plugins/decorations/styled/main.cpp | 77 + src/plugins/decorations/styled/styled.pro | 13 + src/plugins/decorations/windows/main.cpp | 76 + src/plugins/decorations/windows/windows.pro | 10 + src/plugins/gfxdrivers/ahi/ahi.pro | 14 + src/plugins/gfxdrivers/ahi/qscreenahi_qws.cpp | 598 + src/plugins/gfxdrivers/ahi/qscreenahi_qws.h | 84 + src/plugins/gfxdrivers/ahi/qscreenahiplugin.cpp | 74 + src/plugins/gfxdrivers/directfb/directfb.pro | 40 + .../gfxdrivers/directfb/qdirectfbkeyboard.cpp | 321 + .../gfxdrivers/directfb/qdirectfbkeyboard.h | 69 + src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp | 272 + src/plugins/gfxdrivers/directfb/qdirectfbmouse.h | 73 + .../gfxdrivers/directfb/qdirectfbpaintdevice.cpp | 196 + .../gfxdrivers/directfb/qdirectfbpaintdevice.h | 83 + .../gfxdrivers/directfb/qdirectfbpaintengine.cpp | 1261 + .../gfxdrivers/directfb/qdirectfbpaintengine.h | 114 + .../gfxdrivers/directfb/qdirectfbpixmap.cpp | 363 + src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h | 83 + .../gfxdrivers/directfb/qdirectfbscreen.cpp | 1064 + src/plugins/gfxdrivers/directfb/qdirectfbscreen.h | 136 + .../gfxdrivers/directfb/qdirectfbscreenplugin.cpp | 75 + .../gfxdrivers/directfb/qdirectfbsurface.cpp | 393 + src/plugins/gfxdrivers/directfb/qdirectfbsurface.h | 102 + src/plugins/gfxdrivers/gfxdrivers.pro | 10 + src/plugins/gfxdrivers/hybrid/hybrid.pro | 16 + src/plugins/gfxdrivers/hybrid/hybridplugin.cpp | 75 + src/plugins/gfxdrivers/hybrid/hybridscreen.cpp | 382 + src/plugins/gfxdrivers/hybrid/hybridscreen.h | 97 + src/plugins/gfxdrivers/hybrid/hybridsurface.cpp | 300 + src/plugins/gfxdrivers/hybrid/hybridsurface.h | 90 + src/plugins/gfxdrivers/linuxfb/linuxfb.pro | 14 + src/plugins/gfxdrivers/linuxfb/main.cpp | 79 + .../gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro | 24 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c | 856 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h | 181 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h | 129 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c | 384 + src/plugins/gfxdrivers/powervr/README | 56 + src/plugins/gfxdrivers/powervr/powervr.pro | 3 + .../powervr/pvreglscreen/pvreglscreen.cpp | 390 + .../gfxdrivers/powervr/pvreglscreen/pvreglscreen.h | 113 + .../powervr/pvreglscreen/pvreglscreen.pro | 24 + .../powervr/pvreglscreen/pvreglscreenplugin.cpp | 74 + .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 219 + .../powervr/pvreglscreen/pvreglwindowsurface.h | 83 + src/plugins/gfxdrivers/qvfb/main.cpp | 80 + src/plugins/gfxdrivers/qvfb/qvfb.pro | 19 + src/plugins/gfxdrivers/transformed/main.cpp | 80 + src/plugins/gfxdrivers/transformed/transformed.pro | 13 + src/plugins/gfxdrivers/vnc/main.cpp | 80 + src/plugins/gfxdrivers/vnc/qscreenvnc_p.h | 522 + src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp | 2297 + src/plugins/gfxdrivers/vnc/qscreenvnc_qws.h | 88 + src/plugins/gfxdrivers/vnc/vnc.pro | 16 + src/plugins/graphicssystems/graphicssystems.pro | 2 + src/plugins/graphicssystems/opengl/main.cpp | 69 + src/plugins/graphicssystems/opengl/opengl.pro | 11 + src/plugins/iconengines/iconengines.pro | 3 + src/plugins/iconengines/svgiconengine/main.cpp | 84 + .../iconengines/svgiconengine/qsvgiconengine.cpp | 363 + .../iconengines/svgiconengine/qsvgiconengine.h | 84 + .../iconengines/svgiconengine/svgiconengine.pro | 11 + src/plugins/imageformats/gif/gif.pro | 10 + src/plugins/imageformats/gif/main.cpp | 98 + src/plugins/imageformats/gif/qgifhandler.cpp | 892 + src/plugins/imageformats/gif/qgifhandler.h | 95 + src/plugins/imageformats/ico/ico.pro | 12 + src/plugins/imageformats/ico/main.cpp | 96 + src/plugins/imageformats/ico/qicohandler.cpp | 862 + src/plugins/imageformats/ico/qicohandler.h | 72 + src/plugins/imageformats/imageformats.pro | 8 + src/plugins/imageformats/jpeg/jpeg.pro | 73 + src/plugins/imageformats/jpeg/main.cpp | 97 + src/plugins/imageformats/jpeg/qjpeghandler.cpp | 1264 + src/plugins/imageformats/jpeg/qjpeghandler.h | 75 + src/plugins/imageformats/mng/main.cpp | 98 + src/plugins/imageformats/mng/mng.pro | 49 + src/plugins/imageformats/mng/qmnghandler.cpp | 500 + src/plugins/imageformats/mng/qmnghandler.h | 82 + src/plugins/imageformats/svg/main.cpp | 102 + src/plugins/imageformats/svg/qsvgiohandler.cpp | 191 + src/plugins/imageformats/svg/qsvgiohandler.h | 77 + src/plugins/imageformats/svg/svg.pro | 11 + src/plugins/imageformats/tiff/main.cpp | 97 + src/plugins/imageformats/tiff/qtiffhandler.cpp | 328 + src/plugins/imageformats/tiff/qtiffhandler.h | 78 + src/plugins/imageformats/tiff/tiff.pro | 70 + src/plugins/inputmethods/imsw-multi/imsw-multi.pro | 13 + .../inputmethods/imsw-multi/qmultiinputcontext.cpp | 212 + .../inputmethods/imsw-multi/qmultiinputcontext.h | 117 + .../imsw-multi/qmultiinputcontextplugin.cpp | 111 + .../imsw-multi/qmultiinputcontextplugin.h | 85 + src/plugins/inputmethods/inputmethods.pro | 3 + src/plugins/kbddrivers/kbddrivers.pro | 6 + src/plugins/kbddrivers/linuxis/README | 1 + src/plugins/kbddrivers/linuxis/linuxis.pro | 11 + .../kbddrivers/linuxis/linuxiskbddriverplugin.cpp | 87 + .../kbddrivers/linuxis/linuxiskbddriverplugin.h | 58 + .../kbddrivers/linuxis/linuxiskbdhandler.cpp | 171 + src/plugins/kbddrivers/linuxis/linuxiskbdhandler.h | 80 + src/plugins/kbddrivers/sl5000/main.cpp | 77 + src/plugins/kbddrivers/sl5000/sl5000.pro | 16 + src/plugins/kbddrivers/usb/main.cpp | 77 + src/plugins/kbddrivers/usb/usb.pro | 14 + src/plugins/kbddrivers/vr41xx/main.cpp | 77 + src/plugins/kbddrivers/vr41xx/vr41xx.pro | 14 + src/plugins/kbddrivers/yopy/main.cpp | 77 + src/plugins/kbddrivers/yopy/yopy.pro | 14 + src/plugins/mousedrivers/bus/bus.pro | 14 + src/plugins/mousedrivers/bus/main.cpp | 76 + src/plugins/mousedrivers/linuxis/linuxis.pro | 10 + .../linuxis/linuxismousedriverplugin.cpp | 83 + .../linuxis/linuxismousedriverplugin.h | 58 + .../mousedrivers/linuxis/linuxismousehandler.cpp | 180 + .../mousedrivers/linuxis/linuxismousehandler.h | 72 + src/plugins/mousedrivers/linuxtp/linuxtp.pro | 14 + src/plugins/mousedrivers/linuxtp/main.cpp | 76 + src/plugins/mousedrivers/mousedrivers.pro | 8 + src/plugins/mousedrivers/pc/main.cpp | 81 + src/plugins/mousedrivers/pc/pc.pro | 14 + src/plugins/mousedrivers/tslib/main.cpp | 77 + src/plugins/mousedrivers/tslib/tslib.pro | 16 + src/plugins/mousedrivers/vr41xx/main.cpp | 76 + src/plugins/mousedrivers/vr41xx/vr41xx.pro | 14 + src/plugins/mousedrivers/yopy/main.cpp | 76 + src/plugins/mousedrivers/yopy/yopy.pro | 14 + src/plugins/phonon/ds9/ds9.pro | 60 + src/plugins/phonon/gstreamer/gstreamer.pro | 67 + src/plugins/phonon/phonon.pro | 9 + src/plugins/phonon/qt7/qt7.pro | 76 + src/plugins/phonon/waveout/waveout.pro | 23 + src/plugins/plugins.pro | 12 + src/plugins/qpluginbase.pri | 15 + src/plugins/script/qtdbus/main.cpp | 396 + src/plugins/script/qtdbus/main.h | 176 + src/plugins/script/qtdbus/qtdbus.pro | 11 + src/plugins/script/script.pro | 2 + src/plugins/sqldrivers/README | 5 + src/plugins/sqldrivers/db2/README | 6 + src/plugins/sqldrivers/db2/db2.pro | 10 + src/plugins/sqldrivers/db2/main.cpp | 81 + src/plugins/sqldrivers/ibase/ibase.pro | 14 + src/plugins/sqldrivers/ibase/main.cpp | 81 + src/plugins/sqldrivers/mysql/README | 6 + src/plugins/sqldrivers/mysql/main.cpp | 82 + src/plugins/sqldrivers/mysql/mysql.pro | 23 + src/plugins/sqldrivers/oci/README | 6 + src/plugins/sqldrivers/oci/main.cpp | 82 + src/plugins/sqldrivers/oci/oci.pro | 13 + src/plugins/sqldrivers/odbc/README | 6 + src/plugins/sqldrivers/odbc/main.cpp | 82 + src/plugins/sqldrivers/odbc/odbc.pro | 24 + src/plugins/sqldrivers/psql/README | 6 + src/plugins/sqldrivers/psql/main.cpp | 82 + src/plugins/sqldrivers/psql/psql.pro | 21 + src/plugins/sqldrivers/qsqldriverbase.pri | 8 + src/plugins/sqldrivers/sqldrivers.pro | 11 + src/plugins/sqldrivers/sqlite/README | 6 + src/plugins/sqldrivers/sqlite/smain.cpp | 81 + src/plugins/sqldrivers/sqlite/sqlite.pro | 17 + src/plugins/sqldrivers/sqlite2/README | 6 + src/plugins/sqldrivers/sqlite2/smain.cpp | 81 + src/plugins/sqldrivers/sqlite2/sqlite2.pro | 9 + src/plugins/sqldrivers/tds/README | 6 + src/plugins/sqldrivers/tds/main.cpp | 89 + src/plugins/sqldrivers/tds/tds.pro | 15 + src/qbase.pri | 154 + src/qt3support/canvas/canvas.pri | 2 + src/qt3support/canvas/q3canvas.cpp | 5165 ++ src/qt3support/canvas/q3canvas.h | 787 + src/qt3support/dialogs/dialogs.pri | 16 + src/qt3support/dialogs/q3filedialog.cpp | 6203 ++ src/qt3support/dialogs/q3filedialog.h | 346 + src/qt3support/dialogs/q3filedialog_mac.cpp | 569 + src/qt3support/dialogs/q3filedialog_win.cpp | 749 + src/qt3support/dialogs/q3progressdialog.cpp | 850 + src/qt3support/dialogs/q3progressdialog.h | 149 + src/qt3support/dialogs/q3tabdialog.cpp | 1076 + src/qt3support/dialogs/q3tabdialog.h | 142 + src/qt3support/dialogs/q3wizard.cpp | 906 + src/qt3support/dialogs/q3wizard.h | 141 + src/qt3support/itemviews/itemviews.pri | 11 + src/qt3support/itemviews/q3iconview.cpp | 6203 ++ src/qt3support/itemviews/q3iconview.h | 519 + src/qt3support/itemviews/q3listbox.cpp | 4687 + src/qt3support/itemviews/q3listbox.h | 429 + src/qt3support/itemviews/q3listview.cpp | 7948 ++ src/qt3support/itemviews/q3listview.h | 609 + src/qt3support/itemviews/q3table.cpp | 7333 ++ src/qt3support/itemviews/q3table.h | 548 + src/qt3support/network/network.pri | 30 + src/qt3support/network/q3dns.cpp | 2620 + src/qt3support/network/q3dns.h | 174 + src/qt3support/network/q3ftp.cpp | 2378 + src/qt3support/network/q3ftp.h | 204 + src/qt3support/network/q3http.cpp | 2322 + src/qt3support/network/q3http.h | 278 + src/qt3support/network/q3localfs.cpp | 404 + src/qt3support/network/q3localfs.h | 84 + src/qt3support/network/q3network.cpp | 73 + src/qt3support/network/q3network.h | 63 + src/qt3support/network/q3networkprotocol.cpp | 1209 + src/qt3support/network/q3networkprotocol.h | 250 + src/qt3support/network/q3serversocket.cpp | 298 + src/qt3support/network/q3serversocket.h | 94 + src/qt3support/network/q3socket.cpp | 1518 + src/qt3support/network/q3socket.h | 157 + src/qt3support/network/q3socketdevice.cpp | 757 + src/qt3support/network/q3socketdevice.h | 177 + src/qt3support/network/q3socketdevice_unix.cpp | 926 + src/qt3support/network/q3socketdevice_win.cpp | 1068 + src/qt3support/network/q3url.cpp | 1319 + src/qt3support/network/q3url.h | 139 + src/qt3support/network/q3urloperator.cpp | 1212 + src/qt3support/network/q3urloperator.h | 138 + src/qt3support/other/other.pri | 24 + src/qt3support/other/q3accel.cpp | 982 + src/qt3support/other/q3accel.h | 110 + src/qt3support/other/q3boxlayout.cpp | 132 + src/qt3support/other/q3boxlayout.h | 122 + src/qt3support/other/q3dragobject.cpp | 1577 + src/qt3support/other/q3dragobject.h | 218 + src/qt3support/other/q3dropsite.cpp | 82 + src/qt3support/other/q3dropsite.h | 65 + src/qt3support/other/q3gridlayout.h | 78 + src/qt3support/other/q3membuf.cpp | 171 + src/qt3support/other/q3membuf_p.h | 103 + src/qt3support/other/q3mimefactory.cpp | 546 + src/qt3support/other/q3mimefactory.h | 102 + src/qt3support/other/q3polygonscanner.cpp | 939 + src/qt3support/other/q3polygonscanner.h | 70 + src/qt3support/other/q3process.cpp | 927 + src/qt3support/other/q3process.h | 186 + src/qt3support/other/q3process_unix.cpp | 1282 + src/qt3support/other/q3process_win.cpp | 676 + src/qt3support/other/qiconset.h | 48 + src/qt3support/other/qt_compat_pch.h | 66 + src/qt3support/painting/painting.pri | 15 + src/qt3support/painting/q3paintdevicemetrics.cpp | 149 + src/qt3support/painting/q3paintdevicemetrics.h | 77 + src/qt3support/painting/q3paintengine_svg.cpp | 1538 + src/qt3support/painting/q3paintengine_svg_p.h | 128 + src/qt3support/painting/q3painter.cpp | 240 + src/qt3support/painting/q3painter.h | 121 + src/qt3support/painting/q3picture.cpp | 235 + src/qt3support/painting/q3picture.h | 68 + src/qt3support/painting/q3pointarray.cpp | 189 + src/qt3support/painting/q3pointarray.h | 74 + src/qt3support/qt3support.pro | 39 + src/qt3support/sql/q3databrowser.cpp | 1281 + src/qt3support/sql/q3databrowser.h | 183 + src/qt3support/sql/q3datatable.cpp | 2335 + src/qt3support/sql/q3datatable.h | 251 + src/qt3support/sql/q3dataview.cpp | 208 + src/qt3support/sql/q3dataview.h | 90 + src/qt3support/sql/q3editorfactory.cpp | 202 + src/qt3support/sql/q3editorfactory.h | 77 + src/qt3support/sql/q3sqlcursor.cpp | 1519 + src/qt3support/sql/q3sqlcursor.h | 167 + src/qt3support/sql/q3sqleditorfactory.cpp | 229 + src/qt3support/sql/q3sqleditorfactory.h | 78 + src/qt3support/sql/q3sqlfieldinfo.h | 167 + src/qt3support/sql/q3sqlform.cpp | 378 + src/qt3support/sql/q3sqlform.h | 109 + src/qt3support/sql/q3sqlmanager_p.cpp | 961 + src/qt3support/sql/q3sqlmanager_p.h | 160 + src/qt3support/sql/q3sqlpropertymap.cpp | 276 + src/qt3support/sql/q3sqlpropertymap.h | 86 + src/qt3support/sql/q3sqlrecordinfo.h | 122 + src/qt3support/sql/q3sqlselectcursor.cpp | 263 + src/qt3support/sql/q3sqlselectcursor.h | 115 + src/qt3support/sql/sql.pri | 25 + src/qt3support/text/q3multilineedit.cpp | 535 + src/qt3support/text/q3multilineedit.h | 143 + src/qt3support/text/q3richtext.cpp | 8353 ++ src/qt3support/text/q3richtext_p.cpp | 636 + src/qt3support/text/q3richtext_p.h | 2102 + src/qt3support/text/q3simplerichtext.cpp | 421 + src/qt3support/text/q3simplerichtext.h | 109 + src/qt3support/text/q3stylesheet.cpp | 1471 + src/qt3support/text/q3stylesheet.h | 235 + src/qt3support/text/q3syntaxhighlighter.cpp | 223 + src/qt3support/text/q3syntaxhighlighter.h | 89 + src/qt3support/text/q3syntaxhighlighter_p.h | 114 + src/qt3support/text/q3textbrowser.cpp | 526 + src/qt3support/text/q3textbrowser.h | 108 + src/qt3support/text/q3textedit.cpp | 7244 ++ src/qt3support/text/q3textedit.h | 613 + src/qt3support/text/q3textstream.cpp | 2436 + src/qt3support/text/q3textstream.h | 297 + src/qt3support/text/q3textview.cpp | 84 + src/qt3support/text/q3textview.h | 76 + src/qt3support/text/text.pri | 25 + src/qt3support/tools/q3asciicache.h | 132 + src/qt3support/tools/q3asciidict.h | 130 + src/qt3support/tools/q3cache.h | 130 + src/qt3support/tools/q3cleanuphandler.h | 110 + src/qt3support/tools/q3cstring.cpp | 1050 + src/qt3support/tools/q3cstring.h | 273 + src/qt3support/tools/q3deepcopy.cpp | 123 + src/qt3support/tools/q3deepcopy.h | 89 + src/qt3support/tools/q3dict.h | 130 + src/qt3support/tools/q3garray.cpp | 797 + src/qt3support/tools/q3garray.h | 140 + src/qt3support/tools/q3gcache.cpp | 867 + src/qt3support/tools/q3gcache.h | 137 + src/qt3support/tools/q3gdict.cpp | 1154 + src/qt3support/tools/q3gdict.h | 233 + src/qt3support/tools/q3glist.cpp | 1270 + src/qt3support/tools/q3glist.h | 279 + src/qt3support/tools/q3gvector.cpp | 597 + src/qt3support/tools/q3gvector.h | 132 + src/qt3support/tools/q3intcache.h | 131 + src/qt3support/tools/q3intdict.h | 126 + src/qt3support/tools/q3memarray.h | 144 + src/qt3support/tools/q3objectdict.h | 74 + src/qt3support/tools/q3ptrcollection.cpp | 186 + src/qt3support/tools/q3ptrcollection.h | 83 + src/qt3support/tools/q3ptrdict.h | 127 + src/qt3support/tools/q3ptrlist.h | 198 + src/qt3support/tools/q3ptrqueue.h | 99 + src/qt3support/tools/q3ptrstack.h | 99 + src/qt3support/tools/q3ptrvector.h | 121 + src/qt3support/tools/q3semaphore.cpp | 254 + src/qt3support/tools/q3semaphore.h | 83 + src/qt3support/tools/q3shared.cpp | 72 + src/qt3support/tools/q3shared.h | 65 + src/qt3support/tools/q3signal.cpp | 226 + src/qt3support/tools/q3signal.h | 97 + src/qt3support/tools/q3sortedlist.h | 71 + src/qt3support/tools/q3strlist.h | 137 + src/qt3support/tools/q3strvec.h | 93 + src/qt3support/tools/q3tl.h | 212 + src/qt3support/tools/q3valuelist.h | 238 + src/qt3support/tools/q3valuestack.h | 75 + src/qt3support/tools/q3valuevector.h | 113 + src/qt3support/tools/tools.pri | 44 + src/qt3support/widgets/q3action.cpp | 2236 + src/qt3support/widgets/q3action.h | 225 + src/qt3support/widgets/q3button.cpp | 127 + src/qt3support/widgets/q3button.h | 71 + src/qt3support/widgets/q3buttongroup.cpp | 565 + src/qt3support/widgets/q3buttongroup.h | 152 + src/qt3support/widgets/q3combobox.cpp | 2356 + src/qt3support/widgets/q3combobox.h | 224 + src/qt3support/widgets/q3datetimeedit.cpp | 2826 + src/qt3support/widgets/q3datetimeedit.h | 288 + src/qt3support/widgets/q3dockarea.cpp | 1349 + src/qt3support/widgets/q3dockarea.h | 199 + src/qt3support/widgets/q3dockwindow.cpp | 2115 + src/qt3support/widgets/q3dockwindow.h | 239 + src/qt3support/widgets/q3frame.cpp | 200 + src/qt3support/widgets/q3frame.h | 90 + src/qt3support/widgets/q3grid.cpp | 138 + src/qt3support/widgets/q3grid.h | 79 + src/qt3support/widgets/q3gridview.cpp | 367 + src/qt3support/widgets/q3gridview.h | 137 + src/qt3support/widgets/q3groupbox.cpp | 964 + src/qt3support/widgets/q3groupbox.h | 159 + src/qt3support/widgets/q3hbox.cpp | 145 + src/qt3support/widgets/q3hbox.h | 77 + src/qt3support/widgets/q3header.cpp | 2040 + src/qt3support/widgets/q3header.h | 225 + src/qt3support/widgets/q3hgroupbox.cpp | 92 + src/qt3support/widgets/q3hgroupbox.h | 69 + src/qt3support/widgets/q3mainwindow.cpp | 2427 + src/qt3support/widgets/q3mainwindow.h | 267 + src/qt3support/widgets/q3mainwindow_p.h | 116 + src/qt3support/widgets/q3popupmenu.cpp | 153 + src/qt3support/widgets/q3popupmenu.h | 93 + src/qt3support/widgets/q3progressbar.cpp | 464 + src/qt3support/widgets/q3progressbar.h | 148 + src/qt3support/widgets/q3rangecontrol.cpp | 550 + src/qt3support/widgets/q3rangecontrol.h | 194 + src/qt3support/widgets/q3scrollview.cpp | 2803 + src/qt3support/widgets/q3scrollview.h | 253 + src/qt3support/widgets/q3spinwidget.cpp | 473 + src/qt3support/widgets/q3titlebar.cpp | 645 + src/qt3support/widgets/q3titlebar_p.h | 134 + src/qt3support/widgets/q3toolbar.cpp | 840 + src/qt3support/widgets/q3toolbar.h | 122 + src/qt3support/widgets/q3vbox.cpp | 72 + src/qt3support/widgets/q3vbox.h | 67 + src/qt3support/widgets/q3vgroupbox.cpp | 92 + src/qt3support/widgets/q3vgroupbox.h | 69 + src/qt3support/widgets/q3whatsthis.cpp | 220 + src/qt3support/widgets/q3whatsthis.h | 89 + src/qt3support/widgets/q3widgetstack.cpp | 571 + src/qt3support/widgets/q3widgetstack.h | 112 + src/qt3support/widgets/widgets.pri | 58 + src/qt_install.pri | 32 + src/qt_targets.pri | 4 + src/script/instruction.table | 87 + src/script/qscript.g | 2123 + src/script/qscriptable.cpp | 195 + src/script/qscriptable.h | 89 + src/script/qscriptable_p.h | 84 + src/script/qscriptarray_p.h | 428 + src/script/qscriptasm.cpp | 108 + src/script/qscriptasm_p.h | 183 + src/script/qscriptast.cpp | 789 + src/script/qscriptast_p.h | 1502 + src/script/qscriptastfwd_p.h | 146 + src/script/qscriptastvisitor.cpp | 58 + src/script/qscriptastvisitor_p.h | 295 + src/script/qscriptbuffer_p.h | 206 + src/script/qscriptclass.cpp | 684 + src/script/qscriptclass.h | 121 + src/script/qscriptclass_p.h | 91 + src/script/qscriptclassdata.cpp | 117 + src/script/qscriptclassdata_p.h | 119 + src/script/qscriptclassinfo_p.h | 122 + src/script/qscriptclasspropertyiterator.cpp | 225 + src/script/qscriptclasspropertyiterator.h | 96 + src/script/qscriptclasspropertyiterator_p.h | 81 + src/script/qscriptcompiler.cpp | 2111 + src/script/qscriptcompiler_p.h | 377 + src/script/qscriptcontext.cpp | 571 + src/script/qscriptcontext.h | 125 + src/script/qscriptcontext_p.cpp | 2598 + src/script/qscriptcontext_p.h | 361 + src/script/qscriptcontextfwd_p.h | 257 + src/script/qscriptcontextinfo.cpp | 553 + src/script/qscriptcontextinfo.h | 125 + src/script/qscriptcontextinfo_p.h | 99 + src/script/qscriptecmaarray.cpp | 777 + src/script/qscriptecmaarray_p.h | 141 + src/script/qscriptecmaboolean.cpp | 137 + src/script/qscriptecmaboolean_p.h | 89 + src/script/qscriptecmacore.cpp | 120 + src/script/qscriptecmacore_p.h | 115 + src/script/qscriptecmadate.cpp | 1281 + src/script/qscriptecmadate_p.h | 234 + src/script/qscriptecmaerror.cpp | 368 + src/script/qscriptecmaerror_p.h | 121 + src/script/qscriptecmafunction.cpp | 459 + src/script/qscriptecmafunction_p.h | 105 + src/script/qscriptecmaglobal.cpp | 572 + src/script/qscriptecmaglobal_p.h | 141 + src/script/qscriptecmamath.cpp | 391 + src/script/qscriptecmamath_p.h | 158 + src/script/qscriptecmanumber.cpp | 268 + src/script/qscriptecmanumber_p.h | 89 + src/script/qscriptecmaobject.cpp | 238 + src/script/qscriptecmaobject_p.h | 109 + src/script/qscriptecmaregexp.cpp | 339 + src/script/qscriptecmaregexp_p.h | 142 + src/script/qscriptecmastring.cpp | 778 + src/script/qscriptecmastring_p.h | 128 + src/script/qscriptengine.cpp | 1879 + src/script/qscriptengine.h | 481 + src/script/qscriptengine_p.cpp | 2729 + src/script/qscriptengine_p.h | 828 + src/script/qscriptengineagent.cpp | 444 + src/script/qscriptengineagent.h | 112 + src/script/qscriptengineagent_p.h | 81 + src/script/qscriptenginefwd_p.h | 560 + src/script/qscriptextensioninterface.h | 73 + src/script/qscriptextensionplugin.cpp | 147 + src/script/qscriptextensionplugin.h | 79 + src/script/qscriptextenumeration.cpp | 209 + src/script/qscriptextenumeration_p.h | 126 + src/script/qscriptextqobject.cpp | 2228 + src/script/qscriptextqobject_p.h | 447 + src/script/qscriptextvariant.cpp | 169 + src/script/qscriptextvariant_p.h | 106 + src/script/qscriptfunction.cpp | 171 + src/script/qscriptfunction_p.h | 219 + src/script/qscriptgc_p.h | 317 + src/script/qscriptglobals_p.h | 104 + src/script/qscriptgrammar.cpp | 975 + src/script/qscriptgrammar_p.h | 208 + src/script/qscriptlexer.cpp | 1122 + src/script/qscriptlexer_p.h | 246 + src/script/qscriptmember_p.h | 191 + src/script/qscriptmemberfwd_p.h | 126 + src/script/qscriptmemorypool_p.h | 130 + src/script/qscriptnameid_p.h | 77 + src/script/qscriptnodepool_p.h | 139 + src/script/qscriptobject_p.h | 188 + src/script/qscriptobjectdata_p.h | 81 + src/script/qscriptobjectfwd_p.h | 112 + src/script/qscriptparser.cpp | 1172 + src/script/qscriptparser_p.h | 167 + src/script/qscriptprettypretty.cpp | 1334 + src/script/qscriptprettypretty_p.h | 329 + src/script/qscriptrepository_p.h | 91 + src/script/qscriptstring.cpp | 227 + src/script/qscriptstring.h | 86 + src/script/qscriptstring_p.h | 86 + src/script/qscriptsyntaxchecker.cpp | 218 + src/script/qscriptsyntaxchecker_p.h | 118 + src/script/qscriptsyntaxcheckresult_p.h | 80 + src/script/qscriptvalue.cpp | 1595 + src/script/qscriptvalue.h | 238 + src/script/qscriptvalue_p.h | 108 + src/script/qscriptvaluefwd_p.h | 89 + src/script/qscriptvalueimpl.cpp | 448 + src/script/qscriptvalueimpl_p.h | 786 + src/script/qscriptvalueimplfwd_p.h | 237 + src/script/qscriptvalueiterator.cpp | 328 + src/script/qscriptvalueiterator.h | 99 + src/script/qscriptvalueiterator_p.h | 75 + src/script/qscriptvalueiteratorimpl.cpp | 415 + src/script/qscriptvalueiteratorimpl_p.h | 127 + src/script/qscriptxmlgenerator.cpp | 1118 + src/script/qscriptxmlgenerator_p.h | 330 + src/script/script.pri | 124 + src/script/script.pro | 12 + src/scripttools/debugging/debugging.pri | 157 + src/scripttools/debugging/images/breakpoint.png | Bin 0 -> 1046 bytes src/scripttools/debugging/images/breakpoint.svg | 154 + src/scripttools/debugging/images/d_breakpoint.png | Bin 0 -> 1056 bytes src/scripttools/debugging/images/d_breakpoint.svg | 154 + src/scripttools/debugging/images/d_interrupt.png | Bin 0 -> 367 bytes src/scripttools/debugging/images/d_play.png | Bin 0 -> 376 bytes src/scripttools/debugging/images/delete.png | Bin 0 -> 833 bytes src/scripttools/debugging/images/find.png | Bin 0 -> 843 bytes src/scripttools/debugging/images/interrupt.png | Bin 0 -> 578 bytes src/scripttools/debugging/images/location.png | Bin 0 -> 748 bytes src/scripttools/debugging/images/location.svg | 121 + src/scripttools/debugging/images/mac/closetab.png | Bin 0 -> 516 bytes src/scripttools/debugging/images/mac/next.png | Bin 0 -> 1310 bytes src/scripttools/debugging/images/mac/plus.png | Bin 0 -> 810 bytes src/scripttools/debugging/images/mac/previous.png | Bin 0 -> 1080 bytes src/scripttools/debugging/images/new.png | Bin 0 -> 313 bytes src/scripttools/debugging/images/play.png | Bin 0 -> 620 bytes src/scripttools/debugging/images/reload.png | Bin 0 -> 1363 bytes src/scripttools/debugging/images/return.png | Bin 0 -> 694 bytes src/scripttools/debugging/images/runtocursor.png | Bin 0 -> 436 bytes .../debugging/images/runtonewscript.png | Bin 0 -> 534 bytes src/scripttools/debugging/images/stepinto.png | Bin 0 -> 419 bytes src/scripttools/debugging/images/stepout.png | Bin 0 -> 408 bytes src/scripttools/debugging/images/stepover.png | Bin 0 -> 487 bytes src/scripttools/debugging/images/win/closetab.png | Bin 0 -> 375 bytes src/scripttools/debugging/images/win/next.png | Bin 0 -> 1038 bytes src/scripttools/debugging/images/win/plus.png | Bin 0 -> 709 bytes src/scripttools/debugging/images/win/previous.png | Bin 0 -> 898 bytes src/scripttools/debugging/images/wrap.png | Bin 0 -> 500 bytes .../debugging/qscriptbreakpointdata.cpp | 393 + .../debugging/qscriptbreakpointdata_p.h | 129 + .../debugging/qscriptbreakpointsmodel.cpp | 497 + .../debugging/qscriptbreakpointsmodel_p.h | 107 + .../debugging/qscriptbreakpointswidget.cpp | 393 + .../debugging/qscriptbreakpointswidget_p.h | 90 + .../qscriptbreakpointswidgetinterface.cpp | 66 + .../qscriptbreakpointswidgetinterface_p.h | 92 + .../qscriptbreakpointswidgetinterface_p_p.h | 72 + .../qscriptcompletionproviderinterface_p.h | 78 + .../debugging/qscriptcompletiontask.cpp | 305 + .../debugging/qscriptcompletiontask_p.h | 89 + .../debugging/qscriptcompletiontaskinterface.cpp | 110 + .../debugging/qscriptcompletiontaskinterface_p.h | 106 + .../debugging/qscriptcompletiontaskinterface_p_p.h | 81 + src/scripttools/debugging/qscriptdebugger.cpp | 1828 + src/scripttools/debugging/qscriptdebugger_p.h | 178 + src/scripttools/debugging/qscriptdebuggeragent.cpp | 748 + src/scripttools/debugging/qscriptdebuggeragent_p.h | 137 + .../debugging/qscriptdebuggeragent_p_p.h | 136 + .../debugging/qscriptdebuggerbackend.cpp | 998 + .../debugging/qscriptdebuggerbackend_p.h | 156 + .../debugging/qscriptdebuggerbackend_p_p.h | 133 + .../debugging/qscriptdebuggercodefinderwidget.cpp | 249 + .../debugging/qscriptdebuggercodefinderwidget_p.h | 92 + .../qscriptdebuggercodefinderwidgetinterface.cpp | 66 + .../qscriptdebuggercodefinderwidgetinterface_p.h | 93 + .../qscriptdebuggercodefinderwidgetinterface_p_p.h | 72 + .../debugging/qscriptdebuggercodeview.cpp | 261 + .../debugging/qscriptdebuggercodeview_p.h | 96 + .../debugging/qscriptdebuggercodeviewinterface.cpp | 66 + .../debugging/qscriptdebuggercodeviewinterface_p.h | 106 + .../qscriptdebuggercodeviewinterface_p_p.h | 72 + .../debugging/qscriptdebuggercodewidget.cpp | 316 + .../debugging/qscriptdebuggercodewidget_p.h | 99 + .../qscriptdebuggercodewidgetinterface.cpp | 66 + .../qscriptdebuggercodewidgetinterface_p.h | 101 + .../qscriptdebuggercodewidgetinterface_p_p.h | 72 + .../debugging/qscriptdebuggercommand.cpp | 690 + .../debugging/qscriptdebuggercommand_p.h | 263 + .../debugging/qscriptdebuggercommandexecutor.cpp | 423 + .../debugging/qscriptdebuggercommandexecutor_p.h | 86 + .../qscriptdebuggercommandschedulerfrontend.cpp | 309 + .../qscriptdebuggercommandschedulerfrontend_p.h | 145 + .../qscriptdebuggercommandschedulerinterface_p.h | 75 + .../qscriptdebuggercommandschedulerjob.cpp | 82 + .../qscriptdebuggercommandschedulerjob_p.h | 87 + .../qscriptdebuggercommandschedulerjob_p_p.h | 76 + .../debugging/qscriptdebuggerconsole.cpp | 387 + .../debugging/qscriptdebuggerconsole_p.h | 120 + .../debugging/qscriptdebuggerconsolecommand.cpp | 148 + .../debugging/qscriptdebuggerconsolecommand_p.h | 105 + .../debugging/qscriptdebuggerconsolecommand_p_p.h | 73 + .../qscriptdebuggerconsolecommandgroupdata.cpp | 138 + .../qscriptdebuggerconsolecommandgroupdata_p.h | 95 + .../debugging/qscriptdebuggerconsolecommandjob.cpp | 85 + .../debugging/qscriptdebuggerconsolecommandjob_p.h | 86 + .../qscriptdebuggerconsolecommandjob_p_p.h | 78 + .../qscriptdebuggerconsolecommandmanager.cpp | 245 + .../qscriptdebuggerconsolecommandmanager_p.h | 96 + .../qscriptdebuggerconsoleglobalobject.cpp | 465 + .../qscriptdebuggerconsoleglobalobject_p.h | 172 + .../qscriptdebuggerconsolehistorianinterface_p.h | 74 + .../debugging/qscriptdebuggerconsolewidget.cpp | 444 + .../debugging/qscriptdebuggerconsolewidget_p.h | 98 + .../qscriptdebuggerconsolewidgetinterface.cpp | 94 + .../qscriptdebuggerconsolewidgetinterface_p.h | 103 + .../qscriptdebuggerconsolewidgetinterface_p_p.h | 78 + src/scripttools/debugging/qscriptdebuggerevent.cpp | 320 + src/scripttools/debugging/qscriptdebuggerevent_p.h | 163 + .../qscriptdebuggereventhandlerinterface_p.h | 72 + .../debugging/qscriptdebuggerfrontend.cpp | 236 + .../debugging/qscriptdebuggerfrontend_p.h | 102 + .../debugging/qscriptdebuggerfrontend_p_p.h | 93 + src/scripttools/debugging/qscriptdebuggerjob.cpp | 111 + src/scripttools/debugging/qscriptdebuggerjob_p.h | 88 + src/scripttools/debugging/qscriptdebuggerjob_p_p.h | 78 + .../qscriptdebuggerjobschedulerinterface_p.h | 74 + .../debugging/qscriptdebuggerlocalsmodel.cpp | 931 + .../debugging/qscriptdebuggerlocalsmodel_p.h | 102 + .../debugging/qscriptdebuggerlocalswidget.cpp | 429 + .../debugging/qscriptdebuggerlocalswidget_p.h | 85 + .../qscriptdebuggerlocalswidgetinterface.cpp | 79 + .../qscriptdebuggerlocalswidgetinterface_p.h | 92 + .../qscriptdebuggerlocalswidgetinterface_p_p.h | 76 + .../qscriptdebuggerobjectsnapshotdelta_p.h | 73 + .../debugging/qscriptdebuggerresponse.cpp | 350 + .../debugging/qscriptdebuggerresponse_p.h | 140 + .../qscriptdebuggerresponsehandlerinterface_p.h | 73 + .../qscriptdebuggerscriptedconsolecommand.cpp | 665 + .../qscriptdebuggerscriptedconsolecommand_p.h | 106 + .../debugging/qscriptdebuggerscriptsmodel.cpp | 335 + .../debugging/qscriptdebuggerscriptsmodel_p.h | 101 + .../debugging/qscriptdebuggerscriptswidget.cpp | 154 + .../debugging/qscriptdebuggerscriptswidget_p.h | 84 + .../qscriptdebuggerscriptswidgetinterface.cpp | 66 + .../qscriptdebuggerscriptswidgetinterface_p.h | 92 + .../qscriptdebuggerscriptswidgetinterface_p_p.h | 72 + .../debugging/qscriptdebuggerstackmodel.cpp | 166 + .../debugging/qscriptdebuggerstackmodel_p.h | 87 + .../debugging/qscriptdebuggerstackwidget.cpp | 142 + .../debugging/qscriptdebuggerstackwidget_p.h | 84 + .../qscriptdebuggerstackwidgetinterface.cpp | 66 + .../qscriptdebuggerstackwidgetinterface_p.h | 91 + .../qscriptdebuggerstackwidgetinterface_p_p.h | 72 + src/scripttools/debugging/qscriptdebuggervalue.cpp | 417 + src/scripttools/debugging/qscriptdebuggervalue_p.h | 118 + .../debugging/qscriptdebuggervalueproperty.cpp | 228 + .../debugging/qscriptdebuggervalueproperty_p.h | 100 + .../qscriptdebuggerwidgetfactoryinterface_p.h | 78 + .../debugging/qscriptdebugoutputwidget.cpp | 159 + .../debugging/qscriptdebugoutputwidget_p.h | 83 + .../qscriptdebugoutputwidgetinterface.cpp | 66 + .../qscriptdebugoutputwidgetinterface_p.h | 84 + .../qscriptdebugoutputwidgetinterface_p_p.h | 72 + src/scripttools/debugging/qscriptedit.cpp | 453 + src/scripttools/debugging/qscriptedit_p.h | 131 + .../debugging/qscriptenginedebugger.cpp | 792 + src/scripttools/debugging/qscriptenginedebugger.h | 130 + .../debugging/qscriptenginedebuggerfrontend.cpp | 335 + .../debugging/qscriptenginedebuggerfrontend_p.h | 89 + .../debugging/qscripterrorlogwidget.cpp | 135 + .../debugging/qscripterrorlogwidget_p.h | 83 + .../debugging/qscripterrorlogwidgetinterface.cpp | 66 + .../debugging/qscripterrorlogwidgetinterface_p.h | 84 + .../debugging/qscripterrorlogwidgetinterface_p_p.h | 72 + .../debugging/qscriptmessagehandlerinterface_p.h | 75 + .../debugging/qscriptobjectsnapshot.cpp | 146 + .../debugging/qscriptobjectsnapshot_p.h | 86 + src/scripttools/debugging/qscriptscriptdata.cpp | 222 + src/scripttools/debugging/qscriptscriptdata_p.h | 106 + .../debugging/qscriptstdmessagehandler.cpp | 111 + .../debugging/qscriptstdmessagehandler_p.h | 83 + .../debugging/qscriptsyntaxhighlighter.cpp | 544 + .../debugging/qscriptsyntaxhighlighter_p.h | 95 + .../debugging/qscripttooltipproviderinterface_p.h | 73 + src/scripttools/debugging/qscriptvalueproperty.cpp | 173 + src/scripttools/debugging/qscriptvalueproperty_p.h | 93 + src/scripttools/debugging/qscriptxmlparser.cpp | 176 + src/scripttools/debugging/qscriptxmlparser_p.h | 81 + .../debugging/scripts/commands/advance.qs | 41 + .../debugging/scripts/commands/backtrace.qs | 26 + .../debugging/scripts/commands/break.qs | 59 + .../debugging/scripts/commands/clear.qs | 59 + .../debugging/scripts/commands/complete.qs | 14 + .../debugging/scripts/commands/condition.qs | 52 + .../debugging/scripts/commands/continue.qs | 22 + .../debugging/scripts/commands/delete.qs | 36 + .../debugging/scripts/commands/disable.qs | 56 + src/scripttools/debugging/scripts/commands/down.qs | 33 + .../debugging/scripts/commands/enable.qs | 56 + src/scripttools/debugging/scripts/commands/eval.qs | 21 + .../debugging/scripts/commands/finish.qs | 16 + .../debugging/scripts/commands/frame.qs | 36 + src/scripttools/debugging/scripts/commands/help.qs | 71 + .../debugging/scripts/commands/ignore.qs | 51 + src/scripttools/debugging/scripts/commands/info.qs | 128 + .../debugging/scripts/commands/interrupt.qs | 14 + src/scripttools/debugging/scripts/commands/list.qs | 90 + src/scripttools/debugging/scripts/commands/next.qs | 27 + .../debugging/scripts/commands/print.qs | 23 + .../debugging/scripts/commands/return.qs | 20 + src/scripttools/debugging/scripts/commands/step.qs | 26 + .../debugging/scripts/commands/tbreak.qs | 59 + src/scripttools/debugging/scripts/commands/up.qs | 37 + .../debugging/scripttools_debugging.qrc | 63 + src/scripttools/scripttools.pro | 12 + src/sql/README.module | 37 + src/sql/drivers/db2/qsql_db2.cpp | 1597 + src/sql/drivers/db2/qsql_db2.h | 122 + src/sql/drivers/drivers.pri | 123 + src/sql/drivers/ibase/qsql_ibase.cpp | 1813 + src/sql/drivers/ibase/qsql_ibase.h | 131 + src/sql/drivers/mysql/qsql_mysql.cpp | 1446 + src/sql/drivers/mysql/qsql_mysql.h | 139 + src/sql/drivers/oci/qsql_oci.cpp | 2403 + src/sql/drivers/oci/qsql_oci.h | 130 + src/sql/drivers/odbc/qsql_odbc.cpp | 2312 + src/sql/drivers/odbc/qsql_odbc.h | 164 + src/sql/drivers/psql/qsql_psql.cpp | 1250 + src/sql/drivers/psql/qsql_psql.h | 155 + src/sql/drivers/sqlite/qsql_sqlite.cpp | 695 + src/sql/drivers/sqlite/qsql_sqlite.h | 123 + src/sql/drivers/sqlite2/qsql_sqlite2.cpp | 553 + src/sql/drivers/sqlite2/qsql_sqlite2.h | 126 + src/sql/drivers/tds/qsql_tds.cpp | 797 + src/sql/drivers/tds/qsql_tds.h | 132 + src/sql/kernel/kernel.pri | 24 + src/sql/kernel/qsql.h | 113 + src/sql/kernel/qsqlcachedresult.cpp | 297 + src/sql/kernel/qsqlcachedresult_p.h | 99 + src/sql/kernel/qsqldatabase.cpp | 1487 + src/sql/kernel/qsqldatabase.h | 159 + src/sql/kernel/qsqldriver.cpp | 803 + src/sql/kernel/qsqldriver.h | 151 + src/sql/kernel/qsqldriverplugin.cpp | 108 + src/sql/kernel/qsqldriverplugin.h | 81 + src/sql/kernel/qsqlerror.cpp | 253 + src/sql/kernel/qsqlerror.h | 104 + src/sql/kernel/qsqlfield.cpp | 557 + src/sql/kernel/qsqlfield.h | 119 + src/sql/kernel/qsqlindex.cpp | 256 + src/sql/kernel/qsqlindex.h | 92 + src/sql/kernel/qsqlnulldriver_p.h | 114 + src/sql/kernel/qsqlquery.cpp | 1220 + src/sql/kernel/qsqlquery.h | 130 + src/sql/kernel/qsqlrecord.cpp | 605 + src/sql/kernel/qsqlrecord.h | 123 + src/sql/kernel/qsqlresult.cpp | 1013 + src/sql/kernel/qsqlresult.h | 152 + src/sql/models/models.pri | 12 + src/sql/models/qsqlquerymodel.cpp | 592 + src/sql/models/qsqlquerymodel.h | 105 + src/sql/models/qsqlquerymodel_p.h | 87 + src/sql/models/qsqlrelationaldelegate.cpp | 101 + src/sql/models/qsqlrelationaldelegate.h | 129 + src/sql/models/qsqlrelationaltablemodel.cpp | 717 + src/sql/models/qsqlrelationaltablemodel.h | 112 + src/sql/models/qsqltablemodel.cpp | 1332 + src/sql/models/qsqltablemodel.h | 141 + src/sql/models/qsqltablemodel_p.h | 118 + src/sql/sql.pro | 19 + src/src.pro | 168 + src/svg/qgraphicssvgitem.cpp | 376 + src/svg/qgraphicssvgitem.h | 105 + src/svg/qsvgfont.cpp | 142 + src/svg/qsvgfont_p.h | 103 + src/svg/qsvggenerator.cpp | 1052 + src/svg/qsvggenerator.h | 111 + src/svg/qsvggraphics.cpp | 642 + src/svg/qsvggraphics_p.h | 247 + src/svg/qsvghandler.cpp | 3697 + src/svg/qsvghandler_p.h | 185 + src/svg/qsvgnode.cpp | 330 + src/svg/qsvgnode_p.h | 205 + src/svg/qsvgrenderer.cpp | 501 + src/svg/qsvgrenderer.h | 120 + src/svg/qsvgstructure.cpp | 424 + src/svg/qsvgstructure_p.h | 120 + src/svg/qsvgstyle.cpp | 820 + src/svg/qsvgstyle_p.h | 564 + src/svg/qsvgtinydocument.cpp | 459 + src/svg/qsvgtinydocument_p.h | 195 + src/svg/qsvgwidget.cpp | 183 + src/svg/qsvgwidget.h | 85 + src/svg/svg.pro | 48 + src/testlib/3rdparty/callgrind_p.h | 147 + src/testlib/3rdparty/cycle_p.h | 494 + src/testlib/3rdparty/valgrind_p.h | 3926 + src/testlib/qabstracttestlogger.cpp | 108 + src/testlib/qabstracttestlogger_p.h | 104 + src/testlib/qasciikey.cpp | 505 + src/testlib/qbenchmark.cpp | 281 + src/testlib/qbenchmark.h | 83 + src/testlib/qbenchmark_p.h | 193 + src/testlib/qbenchmarkevent.cpp | 112 + src/testlib/qbenchmarkevent_p.h | 81 + src/testlib/qbenchmarkmeasurement.cpp | 142 + src/testlib/qbenchmarkmeasurement_p.h | 115 + src/testlib/qbenchmarkvalgrind.cpp | 275 + src/testlib/qbenchmarkvalgrind_p.h | 93 + src/testlib/qplaintestlogger.cpp | 439 + src/testlib/qplaintestlogger_p.h | 82 + src/testlib/qsignaldumper.cpp | 212 + src/testlib/qsignaldumper_p.h | 74 + src/testlib/qsignalspy.h | 148 + src/testlib/qtest.h | 251 + src/testlib/qtest_global.h | 91 + src/testlib/qtest_gui.h | 109 + src/testlib/qtestaccessible.h | 165 + src/testlib/qtestassert.h | 61 + src/testlib/qtestcase.cpp | 1933 + src/testlib/qtestcase.h | 340 + src/testlib/qtestdata.cpp | 122 + src/testlib/qtestdata.h | 97 + src/testlib/qtestevent.h | 214 + src/testlib/qtesteventloop.h | 136 + src/testlib/qtestkeyboard.h | 194 + src/testlib/qtestlog.cpp | 364 + src/testlib/qtestlog_p.h | 105 + src/testlib/qtestmouse.h | 142 + src/testlib/qtestresult.cpp | 349 + src/testlib/qtestresult_p.h | 112 + src/testlib/qtestspontaneevent.h | 118 + src/testlib/qtestsystem.h | 74 + src/testlib/qtesttable.cpp | 266 + src/testlib/qtesttable_p.h | 93 + src/testlib/qxmltestlogger.cpp | 264 + src/testlib/qxmltestlogger_p.h | 88 + src/testlib/testlib.pro | 27 + src/tools/bootstrap/bootstrap.pri | 64 + src/tools/bootstrap/bootstrap.pro | 114 + src/tools/idc/idc.pro | 14 + src/tools/idc/main.cpp | 369 + src/tools/moc/generator.cpp | 1312 + src/tools/moc/generator.h | 81 + src/tools/moc/keywords.cpp | 979 + src/tools/moc/main.cpp | 459 + src/tools/moc/moc.cpp | 1230 + src/tools/moc/moc.h | 247 + src/tools/moc/moc.pri | 16 + src/tools/moc/moc.pro | 18 + src/tools/moc/mwerks_mac.cpp | 240 + src/tools/moc/mwerks_mac.h | 67 + src/tools/moc/outputrevision.h | 48 + src/tools/moc/parser.cpp | 81 + src/tools/moc/parser.h | 108 + src/tools/moc/ppkeywords.cpp | 248 + src/tools/moc/preprocessor.cpp | 978 + src/tools/moc/preprocessor.h | 102 + src/tools/moc/symbols.h | 147 + src/tools/moc/token.cpp | 222 + src/tools/moc/token.h | 274 + src/tools/moc/util/generate.sh | 11 + src/tools/moc/util/generate_keywords.cpp | 468 + src/tools/moc/util/generate_keywords.pro | 13 + src/tools/moc/util/licenseheader.txt | 41 + src/tools/moc/utils.h | 111 + src/tools/rcc/main.cpp | 262 + src/tools/rcc/rcc.cpp | 967 + src/tools/rcc/rcc.h | 153 + src/tools/rcc/rcc.pri | 3 + src/tools/rcc/rcc.pro | 16 + src/tools/uic/cpp/cpp.pri | 20 + src/tools/uic/cpp/cppextractimages.cpp | 148 + src/tools/uic/cpp/cppextractimages.h | 77 + src/tools/uic/cpp/cppwritedeclaration.cpp | 279 + src/tools/uic/cpp/cppwritedeclaration.h | 81 + src/tools/uic/cpp/cppwriteicondata.cpp | 181 + src/tools/uic/cpp/cppwriteicondata.h | 80 + src/tools/uic/cpp/cppwriteicondeclaration.cpp | 80 + src/tools/uic/cpp/cppwriteicondeclaration.h | 76 + src/tools/uic/cpp/cppwriteiconinitialization.cpp | 115 + src/tools/uic/cpp/cppwriteiconinitialization.h | 81 + src/tools/uic/cpp/cppwriteincludes.cpp | 365 + src/tools/uic/cpp/cppwriteincludes.h | 111 + src/tools/uic/cpp/cppwriteinitialization.cpp | 2919 + src/tools/uic/cpp/cppwriteinitialization.h | 371 + src/tools/uic/customwidgetsinfo.cpp | 119 + src/tools/uic/customwidgetsinfo.h | 89 + src/tools/uic/databaseinfo.cpp | 96 + src/tools/uic/databaseinfo.h | 79 + src/tools/uic/driver.cpp | 378 + src/tools/uic/driver.h | 140 + src/tools/uic/globaldefs.h | 54 + src/tools/uic/main.cpp | 197 + src/tools/uic/option.h | 96 + src/tools/uic/treewalker.cpp | 328 + src/tools/uic/treewalker.h | 137 + src/tools/uic/ui4.cpp | 10887 +++ src/tools/uic/ui4.h | 3696 + src/tools/uic/uic.cpp | 382 + src/tools/uic/uic.h | 144 + src/tools/uic/uic.pri | 21 + src/tools/uic/uic.pro | 23 + src/tools/uic/utils.h | 128 + src/tools/uic/validator.cpp | 94 + src/tools/uic/validator.h | 74 + src/tools/uic3/converter.cpp | 1305 + src/tools/uic3/deps.cpp | 132 + src/tools/uic3/domtool.cpp | 587 + src/tools/uic3/domtool.h | 275 + src/tools/uic3/embed.cpp | 336 + src/tools/uic3/form.cpp | 921 + src/tools/uic3/main.cpp | 414 + src/tools/uic3/object.cpp | 66 + src/tools/uic3/parser.cpp | 85 + src/tools/uic3/parser.h | 57 + src/tools/uic3/qt3to4.cpp | 225 + src/tools/uic3/qt3to4.h | 82 + src/tools/uic3/subclassing.cpp | 362 + src/tools/uic3/ui3reader.cpp | 639 + src/tools/uic3/ui3reader.h | 233 + src/tools/uic3/uic.cpp | 341 + src/tools/uic3/uic.h | 142 + src/tools/uic3/uic3.pro | 43 + src/tools/uic3/widgetinfo.cpp | 285 + src/tools/uic3/widgetinfo.h | 77 + src/winmain/qtmain_win.cpp | 141 + src/winmain/winmain.pro | 22 + src/xml/dom/dom.pri | 2 + src/xml/dom/qdom.cpp | 7563 ++ src/xml/dom/qdom.h | 681 + src/xml/sax/qxml.cpp | 8114 ++ src/xml/sax/qxml.h | 425 + src/xml/sax/sax.pri | 2 + src/xml/stream/qxmlstream.h | 73 + src/xml/stream/stream.pri | 9 + src/xml/xml.pro | 20 + src/xmlpatterns/.gitignore | 1 + src/xmlpatterns/Doxyfile | 1196 + src/xmlpatterns/Mainpage.dox | 96 + src/xmlpatterns/acceltree/acceltree.pri | 10 + src/xmlpatterns/acceltree/qacceliterators.cpp | 181 + src/xmlpatterns/acceltree/qacceliterators_p.h | 413 + src/xmlpatterns/acceltree/qacceltree.cpp | 706 + src/xmlpatterns/acceltree/qacceltree_p.h | 404 + src/xmlpatterns/acceltree/qacceltreebuilder.cpp | 429 + src/xmlpatterns/acceltree/qacceltreebuilder_p.h | 187 + .../acceltree/qacceltreeresourceloader.cpp | 411 + .../acceltree/qacceltreeresourceloader_p.h | 195 + .../acceltree/qcompressedwhitespace.cpp | 197 + .../acceltree/qcompressedwhitespace_p.h | 186 + src/xmlpatterns/api/api.pri | 48 + src/xmlpatterns/api/qabstractmessagehandler.cpp | 149 + src/xmlpatterns/api/qabstractmessagehandler.h | 81 + src/xmlpatterns/api/qabstracturiresolver.cpp | 111 + src/xmlpatterns/api/qabstracturiresolver.h | 74 + .../api/qabstractxmlforwarditerator.cpp | 269 + .../api/qabstractxmlforwarditerator_p.h | 328 + src/xmlpatterns/api/qabstractxmlnodemodel.cpp | 1669 + src/xmlpatterns/api/qabstractxmlnodemodel.h | 423 + src/xmlpatterns/api/qabstractxmlnodemodel_p.h | 71 + src/xmlpatterns/api/qabstractxmlreceiver.cpp | 476 + src/xmlpatterns/api/qabstractxmlreceiver.h | 106 + src/xmlpatterns/api/qabstractxmlreceiver_p.h | 71 + src/xmlpatterns/api/qdeviceresourceloader_p.h | 88 + src/xmlpatterns/api/qiodevicedelegate.cpp | 166 + src/xmlpatterns/api/qiodevicedelegate_p.h | 108 + src/xmlpatterns/api/qnetworkaccessdelegator.cpp | 80 + src/xmlpatterns/api/qnetworkaccessdelegator_p.h | 106 + src/xmlpatterns/api/qreferencecountedvalue_p.h | 106 + src/xmlpatterns/api/qresourcedelegator.cpp | 111 + src/xmlpatterns/api/qresourcedelegator_p.h | 119 + src/xmlpatterns/api/qsimplexmlnodemodel.cpp | 184 + src/xmlpatterns/api/qsimplexmlnodemodel.h | 77 + src/xmlpatterns/api/qsourcelocation.cpp | 240 + src/xmlpatterns/api/qsourcelocation.h | 101 + src/xmlpatterns/api/quriloader.cpp | 84 + src/xmlpatterns/api/quriloader_p.h | 86 + src/xmlpatterns/api/qvariableloader.cpp | 264 + src/xmlpatterns/api/qvariableloader_p.h | 118 + src/xmlpatterns/api/qxmlformatter.cpp | 338 + src/xmlpatterns/api/qxmlformatter.h | 94 + src/xmlpatterns/api/qxmlname.cpp | 511 + src/xmlpatterns/api/qxmlname.h | 142 + src/xmlpatterns/api/qxmlnamepool.cpp | 109 + src/xmlpatterns/api/qxmlnamepool.h | 88 + src/xmlpatterns/api/qxmlquery.cpp | 1179 + src/xmlpatterns/api/qxmlquery.h | 147 + src/xmlpatterns/api/qxmlquery_p.h | 330 + src/xmlpatterns/api/qxmlresultitems.cpp | 149 + src/xmlpatterns/api/qxmlresultitems.h | 76 + src/xmlpatterns/api/qxmlresultitems_p.h | 87 + src/xmlpatterns/api/qxmlserializer.cpp | 653 + src/xmlpatterns/api/qxmlserializer.h | 158 + src/xmlpatterns/api/qxmlserializer_p.h | 130 + src/xmlpatterns/common.pri | 17 + src/xmlpatterns/data/data.pri | 78 + src/xmlpatterns/data/qabstractdatetime.cpp | 400 + src/xmlpatterns/data/qabstractdatetime_p.h | 261 + src/xmlpatterns/data/qabstractduration.cpp | 235 + src/xmlpatterns/data/qabstractduration_p.h | 192 + src/xmlpatterns/data/qabstractfloat.cpp | 321 + src/xmlpatterns/data/qabstractfloat_p.h | 174 + src/xmlpatterns/data/qabstractfloatcasters.cpp | 71 + src/xmlpatterns/data/qabstractfloatcasters_p.h | 175 + .../data/qabstractfloatmathematician.cpp | 97 + .../data/qabstractfloatmathematician_p.h | 104 + src/xmlpatterns/data/qanyuri.cpp | 104 + src/xmlpatterns/data/qanyuri_p.h | 212 + src/xmlpatterns/data/qatomiccaster.cpp | 56 + src/xmlpatterns/data/qatomiccaster_p.h | 94 + src/xmlpatterns/data/qatomiccasters.cpp | 336 + src/xmlpatterns/data/qatomiccasters_p.h | 705 + src/xmlpatterns/data/qatomiccomparator.cpp | 118 + src/xmlpatterns/data/qatomiccomparator_p.h | 223 + src/xmlpatterns/data/qatomiccomparators.cpp | 386 + src/xmlpatterns/data/qatomiccomparators_p.h | 298 + src/xmlpatterns/data/qatomicmathematician.cpp | 73 + src/xmlpatterns/data/qatomicmathematician_p.h | 136 + src/xmlpatterns/data/qatomicmathematicians.cpp | 352 + src/xmlpatterns/data/qatomicmathematicians_p.h | 249 + src/xmlpatterns/data/qatomicstring.cpp | 74 + src/xmlpatterns/data/qatomicstring_p.h | 123 + src/xmlpatterns/data/qatomicvalue.cpp | 228 + src/xmlpatterns/data/qbase64binary.cpp | 216 + src/xmlpatterns/data/qbase64binary_p.h | 118 + src/xmlpatterns/data/qboolean.cpp | 137 + src/xmlpatterns/data/qboolean_p.h | 126 + src/xmlpatterns/data/qcommonvalues.cpp | 123 + src/xmlpatterns/data/qcommonvalues_p.h | 228 + src/xmlpatterns/data/qdate.cpp | 115 + src/xmlpatterns/data/qdate_p.h | 95 + src/xmlpatterns/data/qdaytimeduration.cpp | 242 + src/xmlpatterns/data/qdaytimeduration_p.h | 154 + src/xmlpatterns/data/qdecimal.cpp | 234 + src/xmlpatterns/data/qdecimal_p.h | 156 + src/xmlpatterns/data/qderivedinteger_p.h | 624 + src/xmlpatterns/data/qderivedstring_p.h | 341 + src/xmlpatterns/data/qduration.cpp | 244 + src/xmlpatterns/data/qduration_p.h | 136 + src/xmlpatterns/data/qgday.cpp | 96 + src/xmlpatterns/data/qgday_p.h | 94 + src/xmlpatterns/data/qgmonth.cpp | 95 + src/xmlpatterns/data/qgmonth_p.h | 94 + src/xmlpatterns/data/qgmonthday.cpp | 98 + src/xmlpatterns/data/qgmonthday_p.h | 95 + src/xmlpatterns/data/qgyear.cpp | 101 + src/xmlpatterns/data/qgyear_p.h | 94 + src/xmlpatterns/data/qgyearmonth.cpp | 103 + src/xmlpatterns/data/qgyearmonth_p.h | 94 + src/xmlpatterns/data/qhexbinary.cpp | 151 + src/xmlpatterns/data/qhexbinary_p.h | 109 + src/xmlpatterns/data/qinteger.cpp | 164 + src/xmlpatterns/data/qinteger_p.h | 141 + src/xmlpatterns/data/qitem.cpp | 58 + src/xmlpatterns/data/qitem_p.h | 542 + src/xmlpatterns/data/qnodebuilder.cpp | 48 + src/xmlpatterns/data/qnodebuilder_p.h | 111 + src/xmlpatterns/data/qnodemodel.cpp | 52 + src/xmlpatterns/data/qqnamevalue.cpp | 75 + src/xmlpatterns/data/qqnamevalue_p.h | 113 + src/xmlpatterns/data/qresourceloader.cpp | 134 + src/xmlpatterns/data/qresourceloader_p.h | 320 + src/xmlpatterns/data/qschemadatetime.cpp | 117 + src/xmlpatterns/data/qschemadatetime_p.h | 101 + src/xmlpatterns/data/qschemanumeric.cpp | 92 + src/xmlpatterns/data/qschemanumeric_p.h | 235 + src/xmlpatterns/data/qschematime.cpp | 121 + src/xmlpatterns/data/qschematime_p.h | 98 + src/xmlpatterns/data/qsequencereceiver.cpp | 126 + src/xmlpatterns/data/qsequencereceiver_p.h | 192 + src/xmlpatterns/data/qsorttuple.cpp | 89 + src/xmlpatterns/data/qsorttuple_p.h | 148 + src/xmlpatterns/data/quntypedatomic.cpp | 64 + src/xmlpatterns/data/quntypedatomic_p.h | 97 + src/xmlpatterns/data/qvalidationerror.cpp | 90 + src/xmlpatterns/data/qvalidationerror_p.h | 123 + src/xmlpatterns/data/qyearmonthduration.cpp | 186 + src/xmlpatterns/data/qyearmonthduration_p.h | 151 + src/xmlpatterns/documentationGroups.dox | 150 + src/xmlpatterns/environment/createReportContext.sh | 12 + .../environment/createReportContext.xsl | 554 + src/xmlpatterns/environment/environment.pri | 32 + .../environment/qcurrentitemcontext.cpp | 62 + .../environment/qcurrentitemcontext_p.h | 93 + .../environment/qdelegatingdynamiccontext.cpp | 212 + .../environment/qdelegatingdynamiccontext_p.h | 130 + .../environment/qdelegatingstaticcontext.cpp | 261 + .../environment/qdelegatingstaticcontext_p.h | 147 + src/xmlpatterns/environment/qdynamiccontext.cpp | 68 + src/xmlpatterns/environment/qdynamiccontext_p.h | 231 + src/xmlpatterns/environment/qfocus.cpp | 107 + src/xmlpatterns/environment/qfocus_p.h | 103 + .../environment/qgenericdynamiccontext.cpp | 205 + .../environment/qgenericdynamiccontext_p.h | 155 + .../environment/qgenericstaticcontext.cpp | 340 + .../environment/qgenericstaticcontext_p.h | 199 + .../environment/qreceiverdynamiccontext.cpp | 61 + .../environment/qreceiverdynamiccontext_p.h | 89 + src/xmlpatterns/environment/qreportcontext.cpp | 478 + src/xmlpatterns/environment/qreportcontext_p.h | 2460 + src/xmlpatterns/environment/qstackcontextbase.cpp | 153 + src/xmlpatterns/environment/qstackcontextbase_p.h | 136 + .../environment/qstaticbaseuricontext.cpp | 62 + .../environment/qstaticbaseuricontext_p.h | 91 + .../environment/qstaticcompatibilitycontext.cpp | 57 + .../environment/qstaticcompatibilitycontext_p.h | 84 + src/xmlpatterns/environment/qstaticcontext.cpp | 61 + src/xmlpatterns/environment/qstaticcontext_p.h | 299 + .../environment/qstaticcurrentcontext.cpp | 60 + .../environment/qstaticcurrentcontext_p.h | 90 + .../environment/qstaticfocuscontext.cpp | 59 + .../environment/qstaticfocuscontext_p.h | 91 + .../environment/qstaticnamespacecontext.cpp | 60 + .../environment/qstaticnamespacecontext_p.h | 89 + src/xmlpatterns/expr/expr.pri | 173 + src/xmlpatterns/expr/qandexpression.cpp | 97 + src/xmlpatterns/expr/qandexpression_p.h | 98 + src/xmlpatterns/expr/qapplytemplate.cpp | 211 + src/xmlpatterns/expr/qapplytemplate_p.h | 144 + src/xmlpatterns/expr/qargumentreference.cpp | 86 + src/xmlpatterns/expr/qargumentreference_p.h | 94 + src/xmlpatterns/expr/qarithmeticexpression.cpp | 363 + src/xmlpatterns/expr/qarithmeticexpression_p.h | 133 + src/xmlpatterns/expr/qattributeconstructor.cpp | 127 + src/xmlpatterns/expr/qattributeconstructor_p.h | 108 + src/xmlpatterns/expr/qattributenamevalidator.cpp | 109 + src/xmlpatterns/expr/qattributenamevalidator_p.h | 99 + src/xmlpatterns/expr/qaxisstep.cpp | 247 + src/xmlpatterns/expr/qaxisstep_p.h | 168 + src/xmlpatterns/expr/qcachecells_p.h | 157 + src/xmlpatterns/expr/qcallsite.cpp | 68 + src/xmlpatterns/expr/qcallsite_p.h | 111 + src/xmlpatterns/expr/qcalltargetdescription.cpp | 107 + src/xmlpatterns/expr/qcalltargetdescription_p.h | 120 + src/xmlpatterns/expr/qcalltemplate.cpp | 153 + src/xmlpatterns/expr/qcalltemplate_p.h | 117 + src/xmlpatterns/expr/qcastableas.cpp | 157 + src/xmlpatterns/expr/qcastableas_p.h | 111 + src/xmlpatterns/expr/qcastas.cpp | 204 + src/xmlpatterns/expr/qcastas_p.h | 148 + src/xmlpatterns/expr/qcastingplatform.cpp | 219 + src/xmlpatterns/expr/qcastingplatform_p.h | 197 + src/xmlpatterns/expr/qcollationchecker.cpp | 79 + src/xmlpatterns/expr/qcollationchecker_p.h | 99 + src/xmlpatterns/expr/qcombinenodes.cpp | 172 + src/xmlpatterns/expr/qcombinenodes_p.h | 116 + src/xmlpatterns/expr/qcommentconstructor.cpp | 124 + src/xmlpatterns/expr/qcommentconstructor_p.h | 100 + src/xmlpatterns/expr/qcomparisonplatform.cpp | 199 + src/xmlpatterns/expr/qcomparisonplatform_p.h | 208 + .../expr/qcomputednamespaceconstructor.cpp | 136 + .../expr/qcomputednamespaceconstructor_p.h | 102 + src/xmlpatterns/expr/qcontextitem.cpp | 114 + src/xmlpatterns/expr/qcontextitem_p.h | 128 + src/xmlpatterns/expr/qcopyof.cpp | 134 + src/xmlpatterns/expr/qcopyof_p.h | 121 + src/xmlpatterns/expr/qcurrentitemstore.cpp | 139 + src/xmlpatterns/expr/qcurrentitemstore_p.h | 104 + src/xmlpatterns/expr/qdocumentconstructor.cpp | 116 + src/xmlpatterns/expr/qdocumentconstructor_p.h | 103 + src/xmlpatterns/expr/qdocumentcontentvalidator.cpp | 148 + src/xmlpatterns/expr/qdocumentcontentvalidator_p.h | 117 + src/xmlpatterns/expr/qdynamiccontextstore.cpp | 96 + src/xmlpatterns/expr/qdynamiccontextstore_p.h | 97 + src/xmlpatterns/expr/qelementconstructor.cpp | 160 + src/xmlpatterns/expr/qelementconstructor_p.h | 107 + src/xmlpatterns/expr/qemptycontainer.cpp | 69 + src/xmlpatterns/expr/qemptycontainer_p.h | 101 + src/xmlpatterns/expr/qemptysequence.cpp | 112 + src/xmlpatterns/expr/qemptysequence_p.h | 136 + src/xmlpatterns/expr/qevaluationcache.cpp | 274 + src/xmlpatterns/expr/qevaluationcache_p.h | 146 + src/xmlpatterns/expr/qexpression.cpp | 414 + src/xmlpatterns/expr/qexpression_p.h | 909 + src/xmlpatterns/expr/qexpressiondispatch_p.h | 241 + src/xmlpatterns/expr/qexpressionfactory.cpp | 480 + src/xmlpatterns/expr/qexpressionfactory_p.h | 187 + src/xmlpatterns/expr/qexpressionsequence.cpp | 206 + src/xmlpatterns/expr/qexpressionsequence_p.h | 127 + .../expr/qexpressionvariablereference.cpp | 93 + .../expr/qexpressionvariablereference_p.h | 114 + src/xmlpatterns/expr/qexternalvariableloader.cpp | 94 + src/xmlpatterns/expr/qexternalvariableloader_p.h | 139 + .../expr/qexternalvariablereference.cpp | 88 + .../expr/qexternalvariablereference_p.h | 103 + src/xmlpatterns/expr/qfirstitempredicate.cpp | 97 + src/xmlpatterns/expr/qfirstitempredicate_p.h | 114 + src/xmlpatterns/expr/qforclause.cpp | 200 + src/xmlpatterns/expr/qforclause_p.h | 122 + src/xmlpatterns/expr/qgeneralcomparison.cpp | 297 + src/xmlpatterns/expr/qgeneralcomparison_p.h | 136 + src/xmlpatterns/expr/qgenericpredicate.cpp | 218 + src/xmlpatterns/expr/qgenericpredicate_p.h | 148 + src/xmlpatterns/expr/qifthenclause.cpp | 152 + src/xmlpatterns/expr/qifthenclause_p.h | 101 + src/xmlpatterns/expr/qinstanceof.cpp | 129 + src/xmlpatterns/expr/qinstanceof_p.h | 101 + src/xmlpatterns/expr/qletclause.cpp | 142 + src/xmlpatterns/expr/qletclause_p.h | 109 + src/xmlpatterns/expr/qliteral.cpp | 114 + src/xmlpatterns/expr/qliteral_p.h | 148 + src/xmlpatterns/expr/qliteralsequence.cpp | 92 + src/xmlpatterns/expr/qliteralsequence_p.h | 104 + src/xmlpatterns/expr/qnamespaceconstructor.cpp | 87 + src/xmlpatterns/expr/qnamespaceconstructor_p.h | 109 + src/xmlpatterns/expr/qncnameconstructor.cpp | 96 + src/xmlpatterns/expr/qncnameconstructor_p.h | 154 + src/xmlpatterns/expr/qnodecomparison.cpp | 184 + src/xmlpatterns/expr/qnodecomparison_p.h | 127 + src/xmlpatterns/expr/qnodesort.cpp | 142 + src/xmlpatterns/expr/qnodesort_p.h | 98 + src/xmlpatterns/expr/qoperandsiterator_p.h | 193 + src/xmlpatterns/expr/qoptimizationpasses.cpp | 182 + src/xmlpatterns/expr/qoptimizationpasses_p.h | 143 + src/xmlpatterns/expr/qoptimizerblocks.cpp | 179 + src/xmlpatterns/expr/qoptimizerblocks_p.h | 226 + src/xmlpatterns/expr/qoptimizerframework.cpp | 71 + src/xmlpatterns/expr/qoptimizerframework_p.h | 294 + src/xmlpatterns/expr/qorderby.cpp | 261 + src/xmlpatterns/expr/qorderby_p.h | 183 + src/xmlpatterns/expr/qorexpression.cpp | 83 + src/xmlpatterns/expr/qorexpression_p.h | 88 + src/xmlpatterns/expr/qpaircontainer.cpp | 85 + src/xmlpatterns/expr/qpaircontainer_p.h | 89 + src/xmlpatterns/expr/qparentnodeaxis.cpp | 77 + src/xmlpatterns/expr/qparentnodeaxis_p.h | 103 + src/xmlpatterns/expr/qpath.cpp | 271 + src/xmlpatterns/expr/qpath_p.h | 176 + .../expr/qpositionalvariablereference.cpp | 84 + .../expr/qpositionalvariablereference_p.h | 100 + .../expr/qprocessinginstructionconstructor.cpp | 144 + .../expr/qprocessinginstructionconstructor_p.h | 109 + src/xmlpatterns/expr/qqnameconstructor.cpp | 114 + src/xmlpatterns/expr/qqnameconstructor_p.h | 182 + src/xmlpatterns/expr/qquantifiedexpression.cpp | 140 + src/xmlpatterns/expr/qquantifiedexpression_p.h | 114 + src/xmlpatterns/expr/qrangeexpression.cpp | 170 + src/xmlpatterns/expr/qrangeexpression_p.h | 112 + src/xmlpatterns/expr/qrangevariablereference.cpp | 92 + src/xmlpatterns/expr/qrangevariablereference_p.h | 100 + src/xmlpatterns/expr/qreturnorderby.cpp | 133 + src/xmlpatterns/expr/qreturnorderby_p.h | 136 + src/xmlpatterns/expr/qsimplecontentconstructor.cpp | 114 + src/xmlpatterns/expr/qsimplecontentconstructor_p.h | 96 + src/xmlpatterns/expr/qsinglecontainer.cpp | 76 + src/xmlpatterns/expr/qsinglecontainer_p.h | 88 + src/xmlpatterns/expr/qsourcelocationreflection.cpp | 65 + src/xmlpatterns/expr/qsourcelocationreflection_p.h | 131 + src/xmlpatterns/expr/qstaticbaseuristore.cpp | 82 + src/xmlpatterns/expr/qstaticbaseuristore_p.h | 96 + src/xmlpatterns/expr/qstaticcompatibilitystore.cpp | 79 + src/xmlpatterns/expr/qstaticcompatibilitystore_p.h | 92 + src/xmlpatterns/expr/qtemplate.cpp | 232 + src/xmlpatterns/expr/qtemplate_p.h | 146 + src/xmlpatterns/expr/qtemplateinvoker.cpp | 106 + src/xmlpatterns/expr/qtemplateinvoker_p.h | 119 + src/xmlpatterns/expr/qtemplatemode.cpp | 61 + src/xmlpatterns/expr/qtemplatemode_p.h | 128 + .../expr/qtemplateparameterreference.cpp | 91 + .../expr/qtemplateparameterreference_p.h | 105 + src/xmlpatterns/expr/qtemplatepattern_p.h | 161 + src/xmlpatterns/expr/qtextnodeconstructor.cpp | 115 + src/xmlpatterns/expr/qtextnodeconstructor_p.h | 97 + src/xmlpatterns/expr/qtreatas.cpp | 92 + src/xmlpatterns/expr/qtreatas_p.h | 122 + src/xmlpatterns/expr/qtriplecontainer.cpp | 87 + src/xmlpatterns/expr/qtriplecontainer_p.h | 92 + src/xmlpatterns/expr/qtruthpredicate.cpp | 71 + src/xmlpatterns/expr/qtruthpredicate_p.h | 112 + src/xmlpatterns/expr/qunaryexpression.cpp | 79 + src/xmlpatterns/expr/qunaryexpression_p.h | 114 + src/xmlpatterns/expr/qunlimitedcontainer.cpp | 79 + src/xmlpatterns/expr/qunlimitedcontainer_p.h | 149 + .../expr/qunresolvedvariablereference.cpp | 91 + .../expr/qunresolvedvariablereference_p.h | 111 + src/xmlpatterns/expr/quserfunction.cpp | 62 + src/xmlpatterns/expr/quserfunction_p.h | 135 + src/xmlpatterns/expr/quserfunctioncallsite.cpp | 245 + src/xmlpatterns/expr/quserfunctioncallsite_p.h | 182 + src/xmlpatterns/expr/qvalidate.cpp | 77 + src/xmlpatterns/expr/qvalidate_p.h | 106 + src/xmlpatterns/expr/qvaluecomparison.cpp | 163 + src/xmlpatterns/expr/qvaluecomparison_p.h | 138 + src/xmlpatterns/expr/qvariabledeclaration.cpp | 63 + src/xmlpatterns/expr/qvariabledeclaration_p.h | 203 + src/xmlpatterns/expr/qvariablereference.cpp | 58 + src/xmlpatterns/expr/qvariablereference_p.h | 121 + src/xmlpatterns/expr/qwithparam_p.h | 123 + .../expr/qxsltsimplecontentconstructor.cpp | 158 + .../expr/qxsltsimplecontentconstructor_p.h | 89 + src/xmlpatterns/functions/functions.pri | 96 + .../functions/qabstractfunctionfactory.cpp | 103 + .../functions/qabstractfunctionfactory_p.h | 157 + src/xmlpatterns/functions/qaccessorfns.cpp | 159 + src/xmlpatterns/functions/qaccessorfns_p.h | 138 + src/xmlpatterns/functions/qaggregatefns.cpp | 316 + src/xmlpatterns/functions/qaggregatefns_p.h | 156 + src/xmlpatterns/functions/qaggregator.cpp | 69 + src/xmlpatterns/functions/qaggregator_p.h | 94 + src/xmlpatterns/functions/qassemblestringfns.cpp | 115 + src/xmlpatterns/functions/qassemblestringfns_p.h | 103 + src/xmlpatterns/functions/qbooleanfns.cpp | 71 + src/xmlpatterns/functions/qbooleanfns_p.h | 119 + src/xmlpatterns/functions/qcomparescaseaware.cpp | 71 + src/xmlpatterns/functions/qcomparescaseaware_p.h | 98 + src/xmlpatterns/functions/qcomparestringfns.cpp | 102 + src/xmlpatterns/functions/qcomparestringfns_p.h | 102 + src/xmlpatterns/functions/qcomparingaggregator.cpp | 211 + src/xmlpatterns/functions/qcomparingaggregator_p.h | 146 + .../functions/qconstructorfunctionsfactory.cpp | 114 + .../functions/qconstructorfunctionsfactory_p.h | 95 + src/xmlpatterns/functions/qcontextfns.cpp | 102 + src/xmlpatterns/functions/qcontextfns_p.h | 195 + src/xmlpatterns/functions/qcontextnodechecker.cpp | 63 + src/xmlpatterns/functions/qcontextnodechecker_p.h | 85 + src/xmlpatterns/functions/qcurrentfn.cpp | 75 + src/xmlpatterns/functions/qcurrentfn_p.h | 89 + src/xmlpatterns/functions/qdatetimefn.cpp | 96 + src/xmlpatterns/functions/qdatetimefn_p.h | 82 + src/xmlpatterns/functions/qdatetimefns.cpp | 145 + src/xmlpatterns/functions/qdatetimefns_p.h | 305 + src/xmlpatterns/functions/qdeepequalfn.cpp | 162 + src/xmlpatterns/functions/qdeepequalfn_p.h | 94 + src/xmlpatterns/functions/qdocumentfn.cpp | 115 + src/xmlpatterns/functions/qdocumentfn_p.h | 124 + src/xmlpatterns/functions/qelementavailablefn.cpp | 120 + src/xmlpatterns/functions/qelementavailablefn_p.h | 87 + src/xmlpatterns/functions/qerrorfn.cpp | 113 + src/xmlpatterns/functions/qerrorfn_p.h | 91 + src/xmlpatterns/functions/qfunctionargument.cpp | 66 + src/xmlpatterns/functions/qfunctionargument_p.h | 98 + src/xmlpatterns/functions/qfunctionavailablefn.cpp | 91 + src/xmlpatterns/functions/qfunctionavailablefn_p.h | 92 + src/xmlpatterns/functions/qfunctioncall.cpp | 160 + src/xmlpatterns/functions/qfunctioncall_p.h | 102 + src/xmlpatterns/functions/qfunctionfactory.cpp | 79 + src/xmlpatterns/functions/qfunctionfactory_p.h | 168 + .../functions/qfunctionfactorycollection.cpp | 138 + .../functions/qfunctionfactorycollection_p.h | 118 + src/xmlpatterns/functions/qfunctionsignature.cpp | 158 + src/xmlpatterns/functions/qfunctionsignature_p.h | 213 + src/xmlpatterns/functions/qgenerateidfn.cpp | 63 + src/xmlpatterns/functions/qgenerateidfn_p.h | 83 + src/xmlpatterns/functions/qnodefns.cpp | 209 + src/xmlpatterns/functions/qnodefns_p.h | 176 + src/xmlpatterns/functions/qnumericfns.cpp | 107 + src/xmlpatterns/functions/qnumericfns_p.h | 140 + src/xmlpatterns/functions/qpatternmatchingfns.cpp | 230 + src/xmlpatterns/functions/qpatternmatchingfns_p.h | 139 + src/xmlpatterns/functions/qpatternplatform.cpp | 300 + src/xmlpatterns/functions/qpatternplatform_p.h | 183 + src/xmlpatterns/functions/qqnamefns.cpp | 189 + src/xmlpatterns/functions/qqnamefns_p.h | 162 + src/xmlpatterns/functions/qresolveurifn.cpp | 87 + src/xmlpatterns/functions/qresolveurifn_p.h | 82 + src/xmlpatterns/functions/qsequencefns.cpp | 353 + src/xmlpatterns/functions/qsequencefns_p.h | 338 + .../functions/qsequencegeneratingfns.cpp | 304 + .../functions/qsequencegeneratingfns_p.h | 167 + .../functions/qstaticbaseuricontainer_p.h | 107 + .../functions/qstaticnamespacescontainer.cpp | 57 + .../functions/qstaticnamespacescontainer_p.h | 115 + src/xmlpatterns/functions/qstringvaluefns.cpp | 373 + src/xmlpatterns/functions/qstringvaluefns_p.h | 293 + src/xmlpatterns/functions/qsubstringfns.cpp | 173 + src/xmlpatterns/functions/qsubstringfns_p.h | 136 + src/xmlpatterns/functions/qsystempropertyfn.cpp | 101 + src/xmlpatterns/functions/qsystempropertyfn_p.h | 92 + src/xmlpatterns/functions/qtimezonefns.cpp | 166 + src/xmlpatterns/functions/qtimezonefns_p.h | 136 + src/xmlpatterns/functions/qtracefn.cpp | 140 + src/xmlpatterns/functions/qtracefn_p.h | 94 + src/xmlpatterns/functions/qtypeavailablefn.cpp | 74 + src/xmlpatterns/functions/qtypeavailablefn_p.h | 92 + .../functions/qunparsedentitypublicidfn.cpp | 56 + .../functions/qunparsedentitypublicidfn_p.h | 82 + src/xmlpatterns/functions/qunparsedentityurifn.cpp | 56 + src/xmlpatterns/functions/qunparsedentityurifn_p.h | 82 + .../functions/qunparsedtextavailablefn.cpp | 85 + .../functions/qunparsedtextavailablefn_p.h | 83 + src/xmlpatterns/functions/qunparsedtextfn.cpp | 82 + src/xmlpatterns/functions/qunparsedtextfn_p.h | 83 + .../functions/qxpath10corefunctions.cpp | 300 + .../functions/qxpath10corefunctions_p.h | 93 + .../functions/qxpath20corefunctions.cpp | 748 + .../functions/qxpath20corefunctions_p.h | 96 + src/xmlpatterns/functions/qxslt20corefunctions.cpp | 175 + src/xmlpatterns/functions/qxslt20corefunctions_p.h | 94 + src/xmlpatterns/iterators/iterators.pri | 29 + src/xmlpatterns/iterators/qcachingiterator.cpp | 130 + src/xmlpatterns/iterators/qcachingiterator_p.h | 129 + src/xmlpatterns/iterators/qdeduplicateiterator.cpp | 95 + src/xmlpatterns/iterators/qdeduplicateiterator_p.h | 103 + src/xmlpatterns/iterators/qdistinctiterator.cpp | 112 + src/xmlpatterns/iterators/qdistinctiterator_p.h | 128 + src/xmlpatterns/iterators/qemptyiterator_p.h | 146 + src/xmlpatterns/iterators/qexceptiterator.cpp | 122 + src/xmlpatterns/iterators/qexceptiterator_p.h | 101 + src/xmlpatterns/iterators/qindexofiterator.cpp | 115 + src/xmlpatterns/iterators/qindexofiterator_p.h | 129 + src/xmlpatterns/iterators/qinsertioniterator.cpp | 128 + src/xmlpatterns/iterators/qinsertioniterator_p.h | 120 + src/xmlpatterns/iterators/qintersectiterator.cpp | 115 + src/xmlpatterns/iterators/qintersectiterator_p.h | 107 + src/xmlpatterns/iterators/qitemmappingiterator_p.h | 190 + src/xmlpatterns/iterators/qrangeiterator.cpp | 126 + src/xmlpatterns/iterators/qrangeiterator_p.h | 141 + src/xmlpatterns/iterators/qremovaliterator.cpp | 109 + src/xmlpatterns/iterators/qremovaliterator_p.h | 122 + .../iterators/qsequencemappingiterator_p.h | 237 + src/xmlpatterns/iterators/qsingletoniterator_p.h | 177 + src/xmlpatterns/iterators/qsubsequenceiterator.cpp | 110 + src/xmlpatterns/iterators/qsubsequenceiterator_p.h | 118 + .../iterators/qtocodepointsiterator.cpp | 95 + .../iterators/qtocodepointsiterator_p.h | 103 + src/xmlpatterns/iterators/qunioniterator.cpp | 131 + src/xmlpatterns/iterators/qunioniterator_p.h | 107 + src/xmlpatterns/janitors/janitors.pri | 13 + src/xmlpatterns/janitors/qargumentconverter.cpp | 104 + src/xmlpatterns/janitors/qargumentconverter_p.h | 103 + src/xmlpatterns/janitors/qatomizer.cpp | 125 + src/xmlpatterns/janitors/qatomizer_p.h | 110 + src/xmlpatterns/janitors/qcardinalityverifier.cpp | 224 + src/xmlpatterns/janitors/qcardinalityverifier_p.h | 128 + src/xmlpatterns/janitors/qebvextractor.cpp | 90 + src/xmlpatterns/janitors/qebvextractor_p.h | 109 + src/xmlpatterns/janitors/qitemverifier.cpp | 122 + src/xmlpatterns/janitors/qitemverifier_p.h | 103 + .../janitors/quntypedatomicconverter.cpp | 113 + .../janitors/quntypedatomicconverter_p.h | 127 + src/xmlpatterns/parser/.gitattributes | 4 + src/xmlpatterns/parser/.gitignore | 1 + src/xmlpatterns/parser/TokenLookup.gperf | 223 + src/xmlpatterns/parser/createParser.sh | 15 + src/xmlpatterns/parser/createTokenLookup.sh | 5 + src/xmlpatterns/parser/createXSLTTokenLookup.sh | 3 + src/xmlpatterns/parser/parser.pri | 19 + src/xmlpatterns/parser/qmaintainingreader.cpp | 273 + src/xmlpatterns/parser/qmaintainingreader_p.h | 233 + src/xmlpatterns/parser/qparsercontext.cpp | 100 + src/xmlpatterns/parser/qparsercontext_p.h | 433 + src/xmlpatterns/parser/qquerytransformparser.cpp | 7976 ++ src/xmlpatterns/parser/qquerytransformparser_p.h | 307 + src/xmlpatterns/parser/qtokenizer_p.h | 216 + src/xmlpatterns/parser/qtokenlookup.cpp | 404 + src/xmlpatterns/parser/qtokenrevealer.cpp | 111 + src/xmlpatterns/parser/qtokenrevealer_p.h | 97 + src/xmlpatterns/parser/qtokensource.cpp | 53 + src/xmlpatterns/parser/qtokensource_p.h | 169 + src/xmlpatterns/parser/querytransformparser.ypp | 4572 + src/xmlpatterns/parser/qxquerytokenizer.cpp | 2249 + src/xmlpatterns/parser/qxquerytokenizer_p.h | 332 + src/xmlpatterns/parser/qxslttokenizer.cpp | 2717 + src/xmlpatterns/parser/qxslttokenizer_p.h | 481 + src/xmlpatterns/parser/qxslttokenlookup.cpp | 3006 + src/xmlpatterns/parser/qxslttokenlookup.xml | 167 + src/xmlpatterns/parser/qxslttokenlookup_p.h | 213 + src/xmlpatterns/parser/trolltechHeader.txt | 51 + src/xmlpatterns/parser/winCEWorkaround.sed | 20 + src/xmlpatterns/projection/projection.pri | 4 + src/xmlpatterns/projection/qdocumentprojector.cpp | 214 + src/xmlpatterns/projection/qdocumentprojector_p.h | 107 + .../projection/qprojectedexpression_p.h | 165 + src/xmlpatterns/qtokenautomaton/README | 66 + src/xmlpatterns/qtokenautomaton/exampleFile.xml | 65 + src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl | 298 + .../qtokenautomaton/qtokenautomaton.xsd | 89 + src/xmlpatterns/query.pri | 14 + src/xmlpatterns/type/qabstractnodetest.cpp | 78 + src/xmlpatterns/type/qabstractnodetest_p.h | 87 + src/xmlpatterns/type/qanyitemtype.cpp | 90 + src/xmlpatterns/type/qanyitemtype_p.h | 119 + src/xmlpatterns/type/qanynodetype.cpp | 98 + src/xmlpatterns/type/qanynodetype_p.h | 113 + src/xmlpatterns/type/qanysimpletype.cpp | 83 + src/xmlpatterns/type/qanysimpletype_p.h | 118 + src/xmlpatterns/type/qanytype.cpp | 93 + src/xmlpatterns/type/qanytype_p.h | 132 + src/xmlpatterns/type/qatomiccasterlocator.cpp | 82 + src/xmlpatterns/type/qatomiccasterlocator_p.h | 126 + src/xmlpatterns/type/qatomiccasterlocators.cpp | 252 + src/xmlpatterns/type/qatomiccasterlocators_p.h | 909 + src/xmlpatterns/type/qatomiccomparatorlocator.cpp | 91 + src/xmlpatterns/type/qatomiccomparatorlocator_p.h | 132 + src/xmlpatterns/type/qatomiccomparatorlocators.cpp | 232 + src/xmlpatterns/type/qatomiccomparatorlocators_p.h | 356 + .../type/qatomicmathematicianlocator.cpp | 85 + .../type/qatomicmathematicianlocator_p.h | 158 + .../type/qatomicmathematicianlocators.cpp | 168 + .../type/qatomicmathematicianlocators_p.h | 249 + src/xmlpatterns/type/qatomictype.cpp | 118 + src/xmlpatterns/type/qatomictype_p.h | 160 + src/xmlpatterns/type/qatomictypedispatch_p.h | 277 + src/xmlpatterns/type/qbasictypesfactory.cpp | 128 + src/xmlpatterns/type/qbasictypesfactory_p.h | 121 + src/xmlpatterns/type/qbuiltinatomictype.cpp | 94 + src/xmlpatterns/type/qbuiltinatomictype_p.h | 130 + src/xmlpatterns/type/qbuiltinatomictypes.cpp | 226 + src/xmlpatterns/type/qbuiltinatomictypes_p.h | 789 + src/xmlpatterns/type/qbuiltinnodetype.cpp | 165 + src/xmlpatterns/type/qbuiltinnodetype_p.h | 110 + src/xmlpatterns/type/qbuiltintypes.cpp | 161 + src/xmlpatterns/type/qbuiltintypes_p.h | 174 + src/xmlpatterns/type/qcardinality.cpp | 102 + src/xmlpatterns/type/qcardinality_p.h | 544 + src/xmlpatterns/type/qcommonsequencetypes.cpp | 132 + src/xmlpatterns/type/qcommonsequencetypes_p.h | 414 + src/xmlpatterns/type/qebvtype.cpp | 123 + src/xmlpatterns/type/qebvtype_p.h | 135 + src/xmlpatterns/type/qemptysequencetype.cpp | 101 + src/xmlpatterns/type/qemptysequencetype_p.h | 124 + src/xmlpatterns/type/qgenericsequencetype.cpp | 72 + src/xmlpatterns/type/qgenericsequencetype_p.h | 115 + src/xmlpatterns/type/qitemtype.cpp | 103 + src/xmlpatterns/type/qitemtype_p.h | 286 + src/xmlpatterns/type/qlocalnametest.cpp | 99 + src/xmlpatterns/type/qlocalnametest_p.h | 102 + src/xmlpatterns/type/qmultiitemtype.cpp | 140 + src/xmlpatterns/type/qmultiitemtype_p.h | 146 + src/xmlpatterns/type/qnamespacenametest.cpp | 95 + src/xmlpatterns/type/qnamespacenametest_p.h | 101 + src/xmlpatterns/type/qnonetype.cpp | 104 + src/xmlpatterns/type/qnonetype_p.h | 155 + src/xmlpatterns/type/qnumerictype.cpp | 142 + src/xmlpatterns/type/qnumerictype_p.h | 174 + src/xmlpatterns/type/qprimitives_p.h | 202 + src/xmlpatterns/type/qqnametest.cpp | 99 + src/xmlpatterns/type/qqnametest_p.h | 103 + src/xmlpatterns/type/qschemacomponent.cpp | 56 + src/xmlpatterns/type/qschemacomponent_p.h | 85 + src/xmlpatterns/type/qschematype.cpp | 75 + src/xmlpatterns/type/qschematype_p.h | 222 + src/xmlpatterns/type/qschematypefactory.cpp | 56 + src/xmlpatterns/type/qschematypefactory_p.h | 102 + src/xmlpatterns/type/qsequencetype.cpp | 65 + src/xmlpatterns/type/qsequencetype_p.h | 138 + src/xmlpatterns/type/qtypechecker.cpp | 296 + src/xmlpatterns/type/qtypechecker_p.h | 185 + src/xmlpatterns/type/quntyped.cpp | 79 + src/xmlpatterns/type/quntyped_p.h | 112 + src/xmlpatterns/type/qxsltnodetest.cpp | 72 + src/xmlpatterns/type/qxsltnodetest_p.h | 100 + src/xmlpatterns/type/type.pri | 70 + src/xmlpatterns/utils/qautoptr.cpp | 50 + src/xmlpatterns/utils/qautoptr_p.h | 177 + src/xmlpatterns/utils/qcommonnamespaces_p.h | 152 + src/xmlpatterns/utils/qcppcastinghelper_p.h | 161 + src/xmlpatterns/utils/qdebug_p.h | 107 + .../utils/qdelegatingnamespaceresolver.cpp | 92 + .../utils/qdelegatingnamespaceresolver_p.h | 96 + .../utils/qgenericnamespaceresolver.cpp | 96 + .../utils/qgenericnamespaceresolver_p.h | 113 + src/xmlpatterns/utils/qnamepool.cpp | 418 + src/xmlpatterns/utils/qnamepool_p.h | 556 + src/xmlpatterns/utils/qnamespacebinding_p.h | 143 + src/xmlpatterns/utils/qnamespaceresolver.cpp | 57 + src/xmlpatterns/utils/qnamespaceresolver_p.h | 119 + src/xmlpatterns/utils/qnodenamespaceresolver.cpp | 83 + src/xmlpatterns/utils/qnodenamespaceresolver_p.h | 91 + src/xmlpatterns/utils/qoutputvalidator.cpp | 162 + src/xmlpatterns/utils/qoutputvalidator_p.h | 127 + src/xmlpatterns/utils/qpatternistlocale.cpp | 91 + src/xmlpatterns/utils/qpatternistlocale_p.h | 273 + src/xmlpatterns/utils/qxpathhelper.cpp | 128 + src/xmlpatterns/utils/qxpathhelper_p.h | 174 + src/xmlpatterns/utils/utils.pri | 21 + src/xmlpatterns/xmlpatterns.pro | 35 + tests/README | 18 + tests/arthur/.gitattributes | 2 + tests/arthur/README | 84 + tests/arthur/arthurtester.pri | 21 + tests/arthur/arthurtester.pro | 6 + tests/arthur/common/common.pri | 18 + tests/arthur/common/common.pro | 20 + tests/arthur/common/framework.cpp | 130 + tests/arthur/common/framework.h | 76 + tests/arthur/common/images.qrc | 33 + tests/arthur/common/images/alpha.png | Bin 0 -> 2422 bytes tests/arthur/common/images/alpha2x2.png | Bin 0 -> 169 bytes tests/arthur/common/images/bitmap.png | Bin 0 -> 254 bytes tests/arthur/common/images/border.png | Bin 0 -> 182 bytes tests/arthur/common/images/dome_argb32.png | Bin 0 -> 18234 bytes tests/arthur/common/images/dome_indexed.png | Bin 0 -> 7946 bytes tests/arthur/common/images/dome_indexed_mask.png | Bin 0 -> 5411 bytes tests/arthur/common/images/dome_mono.png | Bin 0 -> 1391 bytes tests/arthur/common/images/dome_mono_128.png | Bin 0 -> 2649 bytes tests/arthur/common/images/dome_mono_palette.png | Bin 0 -> 1404 bytes tests/arthur/common/images/dome_rgb32.png | Bin 0 -> 17890 bytes tests/arthur/common/images/dot.png | Bin 0 -> 287 bytes tests/arthur/common/images/face.png | Bin 0 -> 2414 bytes tests/arthur/common/images/gam030.png | Bin 0 -> 213 bytes tests/arthur/common/images/gam045.png | Bin 0 -> 216 bytes tests/arthur/common/images/gam056.png | Bin 0 -> 216 bytes tests/arthur/common/images/gam100.png | Bin 0 -> 205 bytes tests/arthur/common/images/gam200.png | Bin 0 -> 187 bytes tests/arthur/common/images/image.png | Bin 0 -> 169554 bytes tests/arthur/common/images/mask.png | Bin 0 -> 274 bytes tests/arthur/common/images/mask_100.png | Bin 0 -> 319 bytes tests/arthur/common/images/masked.png | Bin 0 -> 788 bytes tests/arthur/common/images/sign.png | Bin 0 -> 10647 bytes tests/arthur/common/images/solid.png | Bin 0 -> 607 bytes tests/arthur/common/images/solid2x2.png | Bin 0 -> 169 bytes tests/arthur/common/images/struct-image-01.jpg | Bin 0 -> 4751 bytes tests/arthur/common/images/struct-image-01.png | Bin 0 -> 63238 bytes tests/arthur/common/images/zebra.png | Bin 0 -> 426 bytes tests/arthur/common/paintcommands.cpp | 2657 + tests/arthur/common/paintcommands.h | 332 + tests/arthur/common/qengines.cpp | 733 + tests/arthur/common/qengines.h | 240 + tests/arthur/common/xmldata.cpp | 110 + tests/arthur/common/xmldata.h | 153 + tests/arthur/data/1.1/color-prop-03-t.svg | 101 + tests/arthur/data/1.1/coords-trans-01-b.svg | 240 + tests/arthur/data/1.1/coords-trans-02-t.svg | 178 + tests/arthur/data/1.1/coords-trans-03-t.svg | 100 + tests/arthur/data/1.1/coords-trans-04-t.svg | 69 + tests/arthur/data/1.1/coords-trans-05-t.svg | 89 + tests/arthur/data/1.1/coords-trans-06-t.svg | 83 + tests/arthur/data/1.1/fonts-elem-01-t.svg | 103 + tests/arthur/data/1.1/fonts-elem-02-t.svg | 107 + tests/arthur/data/1.1/interact-zoom-01-t.svg | 71 + tests/arthur/data/1.1/linking-a-04-t.svg | 124 + tests/arthur/data/1.1/linking-uri-03-t.svg | 74 + tests/arthur/data/1.1/metadata-example-01-b.svg | 175 + tests/arthur/data/1.1/painting-fill-01-t.svg | 80 + tests/arthur/data/1.1/painting-fill-02-t.svg | 80 + tests/arthur/data/1.1/painting-fill-03-t.svg | 77 + tests/arthur/data/1.1/painting-fill-04-t.svg | 57 + tests/arthur/data/1.1/painting-stroke-01-t.svg | 55 + tests/arthur/data/1.1/painting-stroke-02-t.svg | 56 + tests/arthur/data/1.1/painting-stroke-03-t.svg | 57 + tests/arthur/data/1.1/painting-stroke-04-t.svg | 71 + tests/arthur/data/1.1/paths-data-01-t.svg | 158 + tests/arthur/data/1.1/paths-data-02-t.svg | 132 + tests/arthur/data/1.1/paths-data-04-t.svg | 92 + tests/arthur/data/1.1/paths-data-05-t.svg | 89 + tests/arthur/data/1.1/paths-data-06-t.svg | 72 + tests/arthur/data/1.1/paths-data-07-t.svg | 72 + tests/arthur/data/1.1/pservers-grad-07-b.svg | 74 + tests/arthur/data/1.1/pservers-grad-11-b.svg | 100 + tests/arthur/data/1.1/render-elems-01-t.svg | 54 + tests/arthur/data/1.1/render-elems-02-t.svg | 75 + tests/arthur/data/1.1/render-elems-03-t.svg | 57 + tests/arthur/data/1.1/render-elems-06-t.svg | 75 + tests/arthur/data/1.1/render-elems-07-t.svg | 76 + tests/arthur/data/1.1/render-elems-08-t.svg | 78 + tests/arthur/data/1.1/render-groups-03-t.svg | 117 + tests/arthur/data/1.1/shapes-circle-01-t.svg | 56 + tests/arthur/data/1.1/shapes-ellipse-01-t.svg | 72 + tests/arthur/data/1.1/shapes-line-01-t.svg | 80 + tests/arthur/data/1.1/shapes-polygon-01-t.svg | 73 + tests/arthur/data/1.1/shapes-polyline-01-t.svg | 84 + tests/arthur/data/1.1/shapes-rect-01-t.svg | 72 + tests/arthur/data/1.1/struct-cond-01-t.svg | 75 + tests/arthur/data/1.1/struct-cond-02-t.svg | 574 + tests/arthur/data/1.1/struct-defs-01-t.svg | 85 + tests/arthur/data/1.1/struct-group-01-t.svg | 71 + tests/arthur/data/1.1/struct-image-01-t.svg | 65 + tests/arthur/data/1.1/struct-image-03-t.svg | 54 + tests/arthur/data/1.1/struct-image-04-t.svg | 126 + tests/arthur/data/1.1/styling-pres-01-t.svg | 38 + tests/arthur/data/1.1/text-fonts-01-t.svg | 98 + tests/arthur/data/1.1/text-fonts-02-t.svg | 73 + tests/arthur/data/1.1/text-intro-01-t.svg | 69 + tests/arthur/data/1.1/text-intro-04-t.svg | 68 + tests/arthur/data/1.1/text-ws-01-t.svg | 99 + tests/arthur/data/1.1/text-ws-02-t.svg | 104 + tests/arthur/data/1.2/07_07.svg | 40 + tests/arthur/data/1.2/07_12.svg | 21 + tests/arthur/data/1.2/08_02.svg | 26 + tests/arthur/data/1.2/08_03.svg | 28 + tests/arthur/data/1.2/08_04.svg | 19 + tests/arthur/data/1.2/09_02.svg | 14 + tests/arthur/data/1.2/09_03.svg | 10 + tests/arthur/data/1.2/09_04.svg | 15 + tests/arthur/data/1.2/09_05.svg | 20 + tests/arthur/data/1.2/09_06.svg | 16 + tests/arthur/data/1.2/09_07.svg | 15 + tests/arthur/data/1.2/10_03.svg | 15 + tests/arthur/data/1.2/10_04.svg | 20 + tests/arthur/data/1.2/10_05.svg | 21 + tests/arthur/data/1.2/10_06.svg | 20 + tests/arthur/data/1.2/10_07.svg | 20 + tests/arthur/data/1.2/10_08.svg | 23 + tests/arthur/data/1.2/10_09.svg | 30 + tests/arthur/data/1.2/10_10.svg | 23 + tests/arthur/data/1.2/10_11.svg | 24 + tests/arthur/data/1.2/11_01.svg | 20 + tests/arthur/data/1.2/11_02.svg | 9 + tests/arthur/data/1.2/11_03.svg | 11 + tests/arthur/data/1.2/13_01.svg | 20 + tests/arthur/data/1.2/13_02.svg | 22 + tests/arthur/data/1.2/19_01.svg | 51 + tests/arthur/data/1.2/19_02.svg | 25 + tests/arthur/data/1.2/animation.svg | 11 + tests/arthur/data/1.2/cubic02.svg | 77 + tests/arthur/data/1.2/fillrule-evenodd.svg | 38 + tests/arthur/data/1.2/fillrule-nonzero.svg | 38 + tests/arthur/data/1.2/linecap.svg | 32 + tests/arthur/data/1.2/linejoin.svg | 29 + tests/arthur/data/1.2/media01.svg | 20 + tests/arthur/data/1.2/media02.svg | 13 + tests/arthur/data/1.2/media03.svg | 13 + tests/arthur/data/1.2/media04.svg | 24 + tests/arthur/data/1.2/media05.svg | 27 + tests/arthur/data/1.2/mpath01.svg | 10 + tests/arthur/data/1.2/non-scaling-stroke.svg | 15 + tests/arthur/data/1.2/noonoo.svg | 13 + tests/arthur/data/1.2/referencedRect.svg | 9 + tests/arthur/data/1.2/referencedRect2.svg | 9 + tests/arthur/data/1.2/solidcolor.svg | 16 + tests/arthur/data/1.2/textArea01.svg | 10 + tests/arthur/data/1.2/timed-lyrics.svg | 22 + tests/arthur/data/1.2/use.svg | 22 + tests/arthur/data/bugs/.gitattributes | 2 + tests/arthur/data/bugs/gradient-defaults.svg | 18 + tests/arthur/data/bugs/gradient_pen_fill.svg | 32 + tests/arthur/data/bugs/openglcurve.svg | 35 + tests/arthur/data/bugs/org_module.svg | 389 + tests/arthur/data/bugs/resolve_linear.svg | 29 + tests/arthur/data/bugs/resolve_radial.svg | 36 + tests/arthur/data/bugs/text_pens.svg | 7 + tests/arthur/data/framework.ini | 22 + tests/arthur/data/images/alpha.png | Bin 0 -> 2422 bytes tests/arthur/data/images/bitmap.png | Bin 0 -> 254 bytes tests/arthur/data/images/border.png | Bin 0 -> 182 bytes tests/arthur/data/images/dome_argb32.png | Bin 0 -> 18234 bytes tests/arthur/data/images/dome_indexed.png | Bin 0 -> 7946 bytes tests/arthur/data/images/dome_indexed_mask.png | Bin 0 -> 5411 bytes tests/arthur/data/images/dome_mono.png | Bin 0 -> 1391 bytes tests/arthur/data/images/dome_mono_128.png | Bin 0 -> 2649 bytes tests/arthur/data/images/dome_mono_palette.png | Bin 0 -> 1404 bytes tests/arthur/data/images/dome_rgb32.png | Bin 0 -> 17890 bytes tests/arthur/data/images/dot.png | Bin 0 -> 287 bytes tests/arthur/data/images/face.png | Bin 0 -> 2414 bytes tests/arthur/data/images/gam030.png | Bin 0 -> 213 bytes tests/arthur/data/images/gam045.png | Bin 0 -> 216 bytes tests/arthur/data/images/gam056.png | Bin 0 -> 216 bytes tests/arthur/data/images/gam100.png | Bin 0 -> 205 bytes tests/arthur/data/images/gam200.png | Bin 0 -> 187 bytes tests/arthur/data/images/image.png | Bin 0 -> 169554 bytes tests/arthur/data/images/mask.png | Bin 0 -> 274 bytes tests/arthur/data/images/mask_100.png | Bin 0 -> 319 bytes tests/arthur/data/images/masked.png | Bin 0 -> 788 bytes tests/arthur/data/images/paths.qps | 32 + tests/arthur/data/images/pens.qps | 96 + tests/arthur/data/images/sign.png | Bin 0 -> 10647 bytes tests/arthur/data/images/solid.png | Bin 0 -> 607 bytes tests/arthur/data/images/struct-image-01.jpg | Bin 0 -> 4751 bytes tests/arthur/data/images/struct-image-01.png | Bin 0 -> 63238 bytes tests/arthur/data/qps/alphas.qps | 63 + tests/arthur/data/qps/alphas_qps.png | Bin 0 -> 45840 bytes tests/arthur/data/qps/arcs.qps | 65 + tests/arthur/data/qps/arcs2.qps | 44 + tests/arthur/data/qps/arcs2_qps.png | Bin 0 -> 9136 bytes tests/arthur/data/qps/arcs_qps.png | Bin 0 -> 110658 bytes tests/arthur/data/qps/background.qps | 133 + tests/arthur/data/qps/background_brush.qps | 2 + tests/arthur/data/qps/background_brush_qps.png | Bin 0 -> 62149 bytes tests/arthur/data/qps/background_qps.png | Bin 0 -> 53461 bytes tests/arthur/data/qps/beziers.qps | 144 + tests/arthur/data/qps/beziers_qps.png | Bin 0 -> 57610 bytes tests/arthur/data/qps/bitmaps.qps | 163 + tests/arthur/data/qps/bitmaps_qps.png | Bin 0 -> 89888 bytes tests/arthur/data/qps/brush_pens.qps | 101 + tests/arthur/data/qps/brush_pens_qps.png | Bin 0 -> 77823 bytes tests/arthur/data/qps/brushes.qps | 77 + tests/arthur/data/qps/brushes_qps.png | Bin 0 -> 134906 bytes tests/arthur/data/qps/clippaths.qps | 58 + tests/arthur/data/qps/clippaths_qps.png | Bin 0 -> 6484 bytes tests/arthur/data/qps/clipping.qps | 179 + tests/arthur/data/qps/clipping_qps.png | Bin 0 -> 14424 bytes tests/arthur/data/qps/clipping_state.qps | 57 + tests/arthur/data/qps/clipping_state_qps.png | Bin 0 -> 5089 bytes tests/arthur/data/qps/cliprects.qps | 57 + tests/arthur/data/qps/cliprects_qps.png | Bin 0 -> 6484 bytes tests/arthur/data/qps/conical_gradients.qps | 82 + .../data/qps/conical_gradients_perspectives.qps | 61 + .../qps/conical_gradients_perspectives_qps.png | Bin 0 -> 115264 bytes tests/arthur/data/qps/conical_gradients_qps.png | Bin 0 -> 108982 bytes tests/arthur/data/qps/dashes.qps | 265 + tests/arthur/data/qps/dashes_qps.png | Bin 0 -> 48344 bytes tests/arthur/data/qps/degeneratebeziers.qps | 7 + tests/arthur/data/qps/degeneratebeziers_qps.png | Bin 0 -> 5503 bytes tests/arthur/data/qps/deviceclipping.qps | 45 + tests/arthur/data/qps/deviceclipping_qps.png | Bin 0 -> 12919 bytes tests/arthur/data/qps/drawpoints.qps | 98 + tests/arthur/data/qps/drawpoints_qps.png | Bin 0 -> 8224 bytes tests/arthur/data/qps/drawtext.qps | 85 + tests/arthur/data/qps/drawtext_qps.png | Bin 0 -> 55646 bytes tests/arthur/data/qps/ellipses.qps | 83 + tests/arthur/data/qps/ellipses_qps.png | Bin 0 -> 36197 bytes tests/arthur/data/qps/filltest.qps | 410 + tests/arthur/data/qps/filltest_qps.png | Bin 0 -> 22602 bytes tests/arthur/data/qps/fonts.qps | 64 + tests/arthur/data/qps/fonts_qps.png | Bin 0 -> 75853 bytes tests/arthur/data/qps/gradients.qps | 41 + tests/arthur/data/qps/gradients_qps.png | Bin 0 -> 41596 bytes tests/arthur/data/qps/image_formats.qps | 78 + tests/arthur/data/qps/image_formats_qps.png | Bin 0 -> 275242 bytes tests/arthur/data/qps/images.qps | 103 + tests/arthur/data/qps/images2.qps | 143 + tests/arthur/data/qps/images2_qps.png | Bin 0 -> 182146 bytes tests/arthur/data/qps/images_qps.png | Bin 0 -> 322000 bytes tests/arthur/data/qps/join_cap_styles.qps | 60 + .../join_cap_styles_duplicate_control_points.qps | 65 + ...oin_cap_styles_duplicate_control_points_qps.png | Bin 0 -> 42237 bytes tests/arthur/data/qps/join_cap_styles_qps.png | Bin 0 -> 37518 bytes tests/arthur/data/qps/linear_gradients.qps | 141 + .../data/qps/linear_gradients_perspectives.qps | 60 + .../data/qps/linear_gradients_perspectives_qps.png | Bin 0 -> 78017 bytes tests/arthur/data/qps/linear_gradients_qps.png | Bin 0 -> 82119 bytes .../arthur/data/qps/linear_resolving_gradients.qps | 75 + .../data/qps/linear_resolving_gradients_qps.png | Bin 0 -> 76697 bytes tests/arthur/data/qps/lineconsistency.qps | 70 + tests/arthur/data/qps/lineconsistency_qps.png | Bin 0 -> 12500 bytes tests/arthur/data/qps/linedashes.qps | 92 + tests/arthur/data/qps/linedashes2.qps | 151 + tests/arthur/data/qps/linedashes2_aa.qps | 2 + tests/arthur/data/qps/linedashes2_aa_qps.png | Bin 0 -> 28956 bytes tests/arthur/data/qps/linedashes2_qps.png | Bin 0 -> 12182 bytes tests/arthur/data/qps/linedashes_qps.png | Bin 0 -> 11801 bytes tests/arthur/data/qps/lines.qps | 555 + tests/arthur/data/qps/lines2.qps | 176 + tests/arthur/data/qps/lines2_qps.png | Bin 0 -> 36623 bytes tests/arthur/data/qps/lines_qps.png | Bin 0 -> 113575 bytes tests/arthur/data/qps/object_bounding_mode.qps | 35 + tests/arthur/data/qps/object_bounding_mode_qps.png | Bin 0 -> 85460 bytes tests/arthur/data/qps/pathfill.qps | 35 + tests/arthur/data/qps/pathfill_qps.png | Bin 0 -> 198538 bytes tests/arthur/data/qps/paths.qps | 32 + tests/arthur/data/qps/paths_aa.qps | 2 + tests/arthur/data/qps/paths_aa_qps.png | Bin 0 -> 92711 bytes tests/arthur/data/qps/paths_qps.png | Bin 0 -> 20637 bytes tests/arthur/data/qps/pens.qps | 130 + tests/arthur/data/qps/pens_aa.qps | 3 + tests/arthur/data/qps/pens_aa_qps.png | Bin 0 -> 30813 bytes tests/arthur/data/qps/pens_cosmetic.qps | 107 + tests/arthur/data/qps/pens_cosmetic_qps.png | Bin 0 -> 47487 bytes tests/arthur/data/qps/pens_qps.png | Bin 0 -> 11822 bytes tests/arthur/data/qps/perspectives.qps | 70 + tests/arthur/data/qps/perspectives2.qps | 307 + tests/arthur/data/qps/perspectives2_qps.png | Bin 0 -> 234054 bytes tests/arthur/data/qps/perspectives_qps.png | Bin 0 -> 491494 bytes tests/arthur/data/qps/pixmap_rotation.qps | 27 + tests/arthur/data/qps/pixmap_rotation_qps.png | Bin 0 -> 8141 bytes tests/arthur/data/qps/pixmap_scaling.qps | 219 + tests/arthur/data/qps/pixmap_subpixel.qps | 115 + tests/arthur/data/qps/pixmap_subpixel_qps.png | Bin 0 -> 5317 bytes tests/arthur/data/qps/pixmaps.qps | 103 + tests/arthur/data/qps/pixmaps_qps.png | Bin 0 -> 321685 bytes tests/arthur/data/qps/porter_duff.qps | 248 + tests/arthur/data/qps/porter_duff2.qps | 256 + tests/arthur/data/qps/porter_duff2_qps.png | Bin 0 -> 99167 bytes tests/arthur/data/qps/porter_duff_qps.png | Bin 0 -> 39375 bytes tests/arthur/data/qps/primitives.qps | 179 + tests/arthur/data/qps/primitives_qps.png | Bin 0 -> 104235 bytes tests/arthur/data/qps/radial_gradients.qps | 96 + .../data/qps/radial_gradients_perspectives.qps | 60 + .../data/qps/radial_gradients_perspectives_qps.png | Bin 0 -> 133150 bytes tests/arthur/data/qps/radial_gradients_qps.png | Bin 0 -> 156036 bytes tests/arthur/data/qps/rasterops.qps | 83 + tests/arthur/data/qps/rasterops_qps.png | Bin 0 -> 20400 bytes tests/arthur/data/qps/sizes.qps | 147 + tests/arthur/data/qps/sizes_qps.png | Bin 0 -> 42355 bytes tests/arthur/data/qps/text.qps | 122 + tests/arthur/data/qps/text_perspectives.qps | 100 + tests/arthur/data/qps/text_perspectives_qps.png | Bin 0 -> 112750 bytes tests/arthur/data/qps/text_qps.png | Bin 0 -> 72027 bytes tests/arthur/data/qps/tiled_pixmap.qps | 82 + tests/arthur/data/qps/tiled_pixmap_qps.png | Bin 0 -> 376370 bytes tests/arthur/data/random/arcs02.svg | 59 + tests/arthur/data/random/atop.svg | 55 + tests/arthur/data/random/clinton.svg | 370 + tests/arthur/data/random/cowboy.svg | 4110 + tests/arthur/data/random/gear_is_rising.svg | 702 + tests/arthur/data/random/gearflowers.svg | 8342 ++ tests/arthur/data/random/kde-look.svg | 16674 ++++ tests/arthur/data/random/linear_grad_transform.svg | 51 + tests/arthur/data/random/longhorn.svg | 1595 + tests/arthur/data/random/multiply.svg | 48 + tests/arthur/data/random/picasso.svg | 2842 + tests/arthur/data/random/porterduff.svg | 298 + tests/arthur/data/random/radial_grad_transform.svg | 59 + tests/arthur/data/random/solidcolor.svg | 15 + tests/arthur/data/random/spiral.svg | 536 + tests/arthur/data/random/tests.svg | 36 + tests/arthur/data/random/tests2.svg | 12 + tests/arthur/data/random/tiger.svg | 728 + tests/arthur/data/random/uluru.png | Bin 0 -> 11749 bytes tests/arthur/data/random/worldcup.svg | 14668 ++++ tests/arthur/datagenerator/datagenerator.cpp | 481 + tests/arthur/datagenerator/datagenerator.h | 103 + tests/arthur/datagenerator/datagenerator.pri | 2 + tests/arthur/datagenerator/datagenerator.pro | 20 + tests/arthur/datagenerator/main.cpp | 54 + tests/arthur/datagenerator/xmlgenerator.cpp | 262 + tests/arthur/datagenerator/xmlgenerator.h | 73 + tests/arthur/htmlgenerator/htmlgenerator.cpp | 518 + tests/arthur/htmlgenerator/htmlgenerator.h | 126 + tests/arthur/htmlgenerator/htmlgenerator.pro | 18 + tests/arthur/htmlgenerator/main.cpp | 54 + tests/arthur/lance/enum.png | Bin 0 -> 4619 bytes tests/arthur/lance/icons.qrc | 6 + tests/arthur/lance/interactivewidget.cpp | 202 + tests/arthur/lance/interactivewidget.h | 80 + tests/arthur/lance/lance.pro | 17 + tests/arthur/lance/main.cpp | 682 + tests/arthur/lance/tools.png | Bin 0 -> 4424 bytes tests/arthur/lance/widgets.h | 211 + tests/arthur/performancediff/main.cpp | 54 + tests/arthur/performancediff/performancediff.cpp | 219 + tests/arthur/performancediff/performancediff.h | 73 + tests/arthur/performancediff/performancediff.pro | 18 + tests/arthur/shower/main.cpp | 99 + tests/arthur/shower/shower.cpp | 125 + tests/arthur/shower/shower.h | 73 + tests/arthur/shower/shower.pro | 16 + tests/auto/atwrapper/.gitignore | 1 + tests/auto/atwrapper/TODO | 17 + tests/auto/atwrapper/atWrapper.cpp | 648 + tests/auto/atwrapper/atWrapper.h | 93 + tests/auto/atwrapper/atWrapper.pro | 25 + tests/auto/atwrapper/atWrapperAutotest.cpp | 78 + tests/auto/atwrapper/desert.ini | 14 + tests/auto/atwrapper/ephron.ini | 14 + tests/auto/atwrapper/gullgubben.ini | 12 + tests/auto/atwrapper/honshu.ini | 16 + tests/auto/atwrapper/kramer.ini | 12 + tests/auto/atwrapper/scruffy.ini | 15 + tests/auto/atwrapper/spareribs.ini | 14 + tests/auto/atwrapper/titan.ini | 13 + tests/auto/auto.pro | 441 + tests/auto/bic/.gitignore | 3 + tests/auto/bic/bic.pro | 4 + .../bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt | 19881 +++++ .../bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt | 20531 +++++ .../bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt | 20531 +++++ .../bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt | 20531 +++++ .../bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt | 20565 +++++ .../bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt | 21355 +++++ .../bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt | 21360 +++++ .../bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt | 21364 +++++ .../bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt | 21374 +++++ .../bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt | 21652 +++++ .../bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt | 23700 +++++ .../bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt | 23690 +++++ .../bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt | 23733 +++++ .../bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt | 23748 +++++ .../bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt | 24014 +++++ .../bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt | 24704 ++++++ .../bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt | 24704 ++++++ .../bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt | 24704 ++++++ .../auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt | 2044 + .../auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt | 2074 + .../auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt | 2074 + .../auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt | 4324 + .../auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt | 2089 + .../auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt | 2267 + .../auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt | 2272 + tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt | 2257 + .../auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt | 2267 + .../auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt | 2103 + .../auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt | 2615 + .../auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt | 2605 + tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt | 2590 + .../auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt | 2605 + .../auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt | 2436 + .../auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt | 2661 + .../auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt | 2661 + .../auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt | 2661 + .../auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt | 1127 + .../auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt | 1127 + tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt | 1187 + .../auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt | 1187 + .../auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt | 1122 + .../auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt | 1192 + .../auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt | 1192 + .../auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt | 1192 + .../bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt | 2987 + .../bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt | 3216 + .../bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt | 3216 + .../bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt | 3216 + .../auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt | 11603 +++ .../auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt | 12019 +++ tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt | 12019 +++ .../auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt | 11870 +++ tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt | 12053 +++ tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt | 12480 +++ .../auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt | 12485 +++ tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt | 12489 +++ tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt | 12499 +++ tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt | 12609 +++ tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt | 14616 ++++ .../auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt | 14606 ++++ tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt | 14649 ++++ tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt | 14664 ++++ tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt | 14754 ++++ tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt | 15523 ++++ tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt | 15523 ++++ tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt | 15523 ++++ .../bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt | 2336 + .../bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt | 2379 + .../bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt | 2379 + .../bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt | 2283 + .../bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt | 2394 + .../bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt | 2577 + .../bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt | 2582 + .../bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt | 2567 + .../bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt | 2577 + .../bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt | 2413 + .../bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt | 2950 + .../bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt | 2940 + .../bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt | 2925 + .../bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt | 2940 + .../bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt | 2771 + .../bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt | 3093 + .../bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt | 3093 + .../bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt | 3093 + .../bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt | 11725 +++ .../bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt | 12147 +++ .../bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt | 12147 +++ .../bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt | 11998 +++ .../bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt | 12180 +++ .../bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt | 12626 +++ .../bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt | 12631 +++ .../auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt | 12634 +++ .../bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt | 12644 +++ .../bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt | 19390 +++++ .../bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt | 14785 ++++ .../bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt | 14775 ++++ .../auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt | 14817 ++++ .../bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt | 14832 ++++ .../bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt | 21560 +++++ .../bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt | 15697 ++++ .../bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt | 15697 ++++ .../bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt | 15697 ++++ .../bic/data/QtScript.4.3.0.linux-gcc-ia32.txt | 2780 + .../auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt | 2835 + .../auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt | 2433 + .../auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt | 2481 + tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt | 2481 + .../auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt | 2385 + tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt | 2496 + tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt | 2674 + .../auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt | 2679 + tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt | 2664 + tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt | 2674 + tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt | 2510 + tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt | 3022 + .../auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt | 3012 + tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt | 2997 + tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt | 3012 + tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt | 2843 + tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt | 3068 + tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt | 3068 + tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt | 3068 + tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt | 12598 +++ tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt | 12716 +++ tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt | 14788 ++++ .../auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt | 14778 ++++ tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt | 14821 ++++ tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt | 14836 ++++ tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt | 14930 ++++ tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt | 15713 ++++ tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt | 15713 ++++ tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt | 15713 ++++ .../auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt | 2388 + .../auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt | 2209 + .../auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt | 2716 + .../auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt | 2706 + tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt | 2691 + .../auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt | 2706 + .../auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt | 2537 + .../auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt | 2762 + .../auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt | 2762 + .../auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt | 2762 + .../auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt | 2468 + .../auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt | 2534 + tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt | 2534 + .../auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt | 2438 + tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt | 2549 + tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt | 2727 + .../auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt | 2732 + tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt | 2717 + tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt | 2727 + tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt | 2563 + tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt | 3075 + .../auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt | 3065 + tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt | 3050 + tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt | 3065 + tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt | 2896 + tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt | 3192 + tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt | 3192 + tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt | 3192 + .../data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt | 6300 ++ tests/auto/bic/gen.sh | 22 + tests/auto/bic/qbic.cpp | 246 + tests/auto/bic/qbic.h | 91 + tests/auto/bic/tst_bic.cpp | 388 + tests/auto/checkxmlfiles/.gitignore | 1 + tests/auto/checkxmlfiles/checkxmlfiles.pro | 19 + tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp | 126 + tests/auto/collections/.gitignore | 1 + tests/auto/collections/collections.pro | 7 + tests/auto/collections/tst_collections.cpp | 3483 + tests/auto/compile/.gitignore | 1 + tests/auto/compile/baseclass.cpp | 51 + tests/auto/compile/baseclass.h | 60 + tests/auto/compile/compile.pro | 7 + tests/auto/compile/derivedclass.cpp | 48 + tests/auto/compile/derivedclass.h | 52 + tests/auto/compile/tst_compile.cpp | 656 + tests/auto/compilerwarnings/.gitignore | 1 + tests/auto/compilerwarnings/compilerwarnings.pro | 5 + tests/auto/compilerwarnings/compilerwarnings.qrc | 5 + tests/auto/compilerwarnings/test.cpp | 67 + .../auto/compilerwarnings/tst_compilerwarnings.cpp | 253 + tests/auto/exceptionsafety/.gitignore | 1 + tests/auto/exceptionsafety/exceptionsafety.pro | 3 + tests/auto/exceptionsafety/tst_exceptionsafety.cpp | 91 + tests/auto/headers/.gitignore | 1 + tests/auto/headers/headers.pro | 5 + tests/auto/headers/tst_headers.cpp | 219 + tests/auto/languagechange/.gitignore | 1 + tests/auto/languagechange/languagechange.pro | 3 + tests/auto/languagechange/tst_languagechange.cpp | 288 + tests/auto/macgui/.gitignore | 1 + tests/auto/macgui/guitest.cpp | 350 + tests/auto/macgui/guitest.h | 186 + tests/auto/macgui/macgui.pro | 15 + tests/auto/macgui/tst_gui.cpp | 282 + tests/auto/macplist/app/app.pro | 11 + tests/auto/macplist/app/main.cpp | 50 + tests/auto/macplist/macplist.pro | 7 + tests/auto/macplist/test/test.pro | 11 + tests/auto/macplist/tst_macplist.cpp | 195 + tests/auto/mediaobject/.gitignore | 1 + tests/auto/mediaobject/media/sax.mp3 | Bin 0 -> 417844 bytes tests/auto/mediaobject/media/sax.ogg | Bin 0 -> 358374 bytes tests/auto/mediaobject/media/sax.wav | Bin 0 -> 756236 bytes tests/auto/mediaobject/mediaobject.pro | 16 + tests/auto/mediaobject/mediaobject.qrc | 7 + tests/auto/mediaobject/qtesthelper.h | 223 + tests/auto/mediaobject/tst_mediaobject.cpp | 932 + tests/auto/mediaobject_wince_ds9/dummy.cpp | 44 + .../mediaobject_wince_ds9.pro | 18 + tests/auto/moc/.gitattributes | 1 + tests/auto/moc/.gitignore | 1 + tests/auto/moc/Header | 6 + .../moc/Test.framework/Headers/testinterface.h | 55 + tests/auto/moc/assign-namespace.h | 52 + tests/auto/moc/backslash-newlines.h | 63 + tests/auto/moc/c-comments.h | 55 + tests/auto/moc/cstyle-enums.h | 50 + tests/auto/moc/dir-in-include-path.h | 47 + tests/auto/moc/escapes-in-string-literals.h | 49 + tests/auto/moc/extraqualification.h | 57 + tests/auto/moc/forgotten-qinterface.h | 53 + tests/auto/moc/gadgetwithnoenums.h | 62 + tests/auto/moc/interface-from-framework.h | 55 + tests/auto/moc/macro-on-cmdline.h | 50 + tests/auto/moc/moc.pro | 30 + tests/auto/moc/namespaced-flags.h | 75 + tests/auto/moc/no-keywords.h | 88 + tests/auto/moc/oldstyle-casts.h | 56 + tests/auto/moc/os9-newlines.h | 1 + tests/auto/moc/parse-boost.h | 126 + tests/auto/moc/pure-virtual-signals.h | 60 + tests/auto/moc/qinvokable.h | 57 + tests/auto/moc/qprivateslots.h | 60 + tests/auto/moc/single_function_keyword.h | 75 + tests/auto/moc/slots-with-void-template.h | 59 + tests/auto/moc/task189996.h | 58 + tests/auto/moc/task192552.h | 55 + tests/auto/moc/task234909.h | 73 + tests/auto/moc/task240368.h | 72 + tests/auto/moc/task71021/dummy | 0 tests/auto/moc/task87883.h | 57 + tests/auto/moc/template-gtgt.h | 60 + tests/auto/moc/testproject/Plugin/Plugin.h | 50 + tests/auto/moc/testproject/include/Plugin | 1 + tests/auto/moc/trigraphs.h | 63 + tests/auto/moc/tst_moc.cpp | 1205 + tests/auto/moc/using-namespaces.h | 56 + .../auto/moc/warn-on-multiple-qobject-subclasses.h | 55 + tests/auto/moc/warn-on-property-without-read.h | 48 + tests/auto/moc/win-newlines.h | 49 + tests/auto/modeltest/modeltest.cpp | 566 + tests/auto/modeltest/modeltest.h | 94 + tests/auto/modeltest/modeltest.pro | 6 + tests/auto/modeltest/tst_modeltest.cpp | 150 + tests/auto/network-settings.h | 66 + tests/auto/patternistexamplefiletree/.gitignore | 1 + .../patternistexamplefiletree.pro | 4 + .../tst_patternistexamplefiletree.cpp | 74 + tests/auto/patternistexamples/.gitignore | 1 + .../auto/patternistexamples/patternistexamples.pro | 22 + .../patternistexamples/tst_patternistexamples.cpp | 373 + tests/auto/patternistheaders/.gitignore | 1 + tests/auto/patternistheaders/patternistheaders.pro | 4 + .../patternistheaders/tst_patternistheaders.cpp | 135 + tests/auto/q3accel/.gitignore | 1 + tests/auto/q3accel/q3accel.pro | 8 + tests/auto/q3accel/tst_q3accel.cpp | 1053 + tests/auto/q3action/.gitignore | 1 + tests/auto/q3action/q3action.pro | 3 + tests/auto/q3action/tst_q3action.cpp | 138 + tests/auto/q3actiongroup/.gitignore | 1 + tests/auto/q3actiongroup/q3actiongroup.pro | 5 + tests/auto/q3actiongroup/tst_q3actiongroup.cpp | 238 + tests/auto/q3buttongroup/.gitignore | 3 + tests/auto/q3buttongroup/clickLock/clickLock.pro | 14 + tests/auto/q3buttongroup/clickLock/main.cpp | 70 + tests/auto/q3buttongroup/q3buttongroup.pro | 3 + tests/auto/q3buttongroup/tst_q3buttongroup.cpp | 314 + tests/auto/q3buttongroup/tst_q3buttongroup.pro | 7 + tests/auto/q3canvas/.gitignore | 1 + tests/auto/q3canvas/backgroundrect.png | Bin 0 -> 409 bytes tests/auto/q3canvas/q3canvas.pro | 7 + tests/auto/q3canvas/tst_q3canvas.cpp | 239 + tests/auto/q3checklistitem/.gitignore | 1 + tests/auto/q3checklistitem/q3checklistitem.pro | 7 + tests/auto/q3checklistitem/tst_q3checklistitem.cpp | 371 + tests/auto/q3combobox/.gitignore | 1 + tests/auto/q3combobox/q3combobox.pro | 3 + tests/auto/q3combobox/tst_q3combobox.cpp | 1041 + tests/auto/q3cstring/.gitignore | 2 + tests/auto/q3cstring/q3cstring.pro | 7 + tests/auto/q3cstring/tst_q3cstring.cpp | 885 + tests/auto/q3databrowser/.gitignore | 1 + tests/auto/q3databrowser/q3databrowser.pro | 6 + tests/auto/q3databrowser/tst_q3databrowser.cpp | 85 + tests/auto/q3dateedit/.gitignore | 1 + tests/auto/q3dateedit/q3dateedit.pro | 6 + tests/auto/q3dateedit/tst_q3dateedit.cpp | 186 + tests/auto/q3datetimeedit/.gitignore | 1 + tests/auto/q3datetimeedit/q3datetimeedit.pro | 10 + tests/auto/q3datetimeedit/tst_q3datetimeedit.cpp | 89 + tests/auto/q3deepcopy/.gitignore | 1 + tests/auto/q3deepcopy/q3deepcopy.pro | 7 + tests/auto/q3deepcopy/tst_q3deepcopy.cpp | 243 + tests/auto/q3dict/.gitignore | 1 + tests/auto/q3dict/q3dict.pro | 7 + tests/auto/q3dict/tst_q3dict.cpp | 169 + tests/auto/q3dns/.gitignore | 1 + tests/auto/q3dns/q3dns.pro | 7 + tests/auto/q3dns/tst_q3dns.cpp | 227 + tests/auto/q3dockwindow/.gitignore | 1 + tests/auto/q3dockwindow/q3dockwindow.pro | 8 + tests/auto/q3dockwindow/tst_q3dockwindow.cpp | 170 + tests/auto/q3filedialog/.gitignore | 1 + tests/auto/q3filedialog/q3filedialog.pro | 10 + tests/auto/q3filedialog/tst_q3filedialog.cpp | 128 + tests/auto/q3frame/.gitignore | 1 + tests/auto/q3frame/q3frame.pro | 4 + tests/auto/q3frame/tst_q3frame.cpp | 146 + tests/auto/q3groupbox/.gitignore | 1 + tests/auto/q3groupbox/q3groupbox.pro | 7 + tests/auto/q3groupbox/tst_q3groupbox.cpp | 118 + tests/auto/q3hbox/.gitignore | 1 + tests/auto/q3hbox/q3hbox.pro | 7 + tests/auto/q3hbox/tst_q3hbox.cpp | 91 + tests/auto/q3header/.gitignore | 1 + tests/auto/q3header/q3header.pro | 7 + tests/auto/q3header/tst_q3header.cpp | 130 + tests/auto/q3iconview/.gitignore | 1 + tests/auto/q3iconview/q3iconview.pro | 7 + tests/auto/q3iconview/tst_q3iconview.cpp | 83 + tests/auto/q3listbox/q3listbox.pro | 7 + tests/auto/q3listbox/tst_qlistbox.cpp | 676 + tests/auto/q3listview/.gitignore | 1 + tests/auto/q3listview/q3listview.pro | 5 + tests/auto/q3listview/tst_q3listview.cpp | 1276 + tests/auto/q3listviewitemiterator/.gitignore | 1 + .../q3listviewitemiterator.pro | 7 + .../tst_q3listviewitemiterator.cpp | 567 + tests/auto/q3mainwindow/.gitignore | 1 + tests/auto/q3mainwindow/q3mainwindow.pro | 8 + tests/auto/q3mainwindow/tst_q3mainwindow.cpp | 298 + tests/auto/q3popupmenu/.gitignore | 1 + tests/auto/q3popupmenu/q3popupmenu.pro | 8 + tests/auto/q3popupmenu/tst_q3popupmenu.cpp | 362 + tests/auto/q3process/.gitignore | 5 + tests/auto/q3process/cat/cat.pro | 12 + tests/auto/q3process/cat/main.cpp | 89 + tests/auto/q3process/echo/echo.pro | 9 + tests/auto/q3process/echo/main.cpp | 57 + tests/auto/q3process/q3process.pro | 12 + tests/auto/q3process/tst/tst.pro | 16 + tests/auto/q3process/tst_q3process.cpp | 448 + tests/auto/q3progressbar/.gitignore | 1 + tests/auto/q3progressbar/q3progressbar.pro | 10 + tests/auto/q3progressbar/tst_q3progressbar.cpp | 125 + tests/auto/q3progressdialog/.gitignore | 1 + tests/auto/q3progressdialog/q3progressdialog.pro | 10 + .../auto/q3progressdialog/tst_q3progressdialog.cpp | 113 + tests/auto/q3ptrlist/.gitignore | 1 + tests/auto/q3ptrlist/q3ptrlist.pro | 6 + tests/auto/q3ptrlist/tst_q3ptrlist.cpp | 219 + tests/auto/q3richtext/.gitignore | 1 + tests/auto/q3richtext/q3richtext.pro | 8 + tests/auto/q3richtext/tst_q3richtext.cpp | 467 + tests/auto/q3scrollview/q3scrollview.pro | 7 + .../testdata/center/pix_Motif-32x96x96_0.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Motif-32x96x96_1.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Motif-32x96x96_2.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-16x96x96_0.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-16x96x96_1.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-16x96x96_2.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-32x96x96_0.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-32x96x96_1.png | Bin 0 -> 120451 bytes .../testdata/center/pix_Windows-32x96x96_2.png | Bin 0 -> 120451 bytes .../res_Motif-32x96x96_win32_data0.png | Bin 0 -> 120451 bytes .../res_Motif-32x96x96_win32_data1.png | Bin 0 -> 120451 bytes .../res_Windows-16x96x96_win32_data0.png | Bin 0 -> 120451 bytes .../res_Windows-16x96x96_win32_data1.png | Bin 0 -> 120451 bytes .../res_Windows-32x96x96_win32_data0.png | Bin 0 -> 120451 bytes .../res_Windows-32x96x96_win32_data1.png | Bin 0 -> 120451 bytes tests/auto/q3scrollview/tst_qscrollview.cpp | 594 + tests/auto/q3semaphore/.gitignore | 1 + tests/auto/q3semaphore/q3semaphore.pro | 5 + tests/auto/q3semaphore/tst_q3semaphore.cpp | 162 + tests/auto/q3serversocket/.gitignore | 1 + tests/auto/q3serversocket/q3serversocket.pro | 7 + tests/auto/q3serversocket/tst_q3serversocket.cpp | 153 + tests/auto/q3socket/.gitignore | 1 + tests/auto/q3socket/q3socket.pro | 6 + tests/auto/q3socket/tst_qsocket.cpp | 286 + tests/auto/q3socketdevice/.gitignore | 1 + tests/auto/q3socketdevice/q3socketdevice.pro | 6 + tests/auto/q3socketdevice/tst_q3socketdevice.cpp | 142 + tests/auto/q3sqlcursor/.gitignore | 1 + tests/auto/q3sqlcursor/q3sqlcursor.pro | 9 + tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp | 779 + tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro | 9 + .../q3sqlselectcursor/tst_q3sqlselectcursor.cpp | 207 + tests/auto/q3stylesheet/.gitignore | 1 + tests/auto/q3stylesheet/q3stylesheet.pro | 10 + tests/auto/q3stylesheet/tst_q3stylesheet.cpp | 178 + tests/auto/q3tabdialog/.gitignore | 1 + tests/auto/q3tabdialog/q3tabdialog.pro | 10 + tests/auto/q3tabdialog/tst_q3tabdialog.cpp | 99 + tests/auto/q3table/.gitignore | 1 + tests/auto/q3table/q3table.pro | 6 + tests/auto/q3table/tst_q3table.cpp | 1559 + tests/auto/q3textbrowser/.gitignore | 1 + tests/auto/q3textbrowser/anchor.html | 8 + tests/auto/q3textbrowser/q3textbrowser.pro | 8 + tests/auto/q3textbrowser/tst_q3textbrowser.cpp | 107 + tests/auto/q3textedit/.gitignore | 1 + tests/auto/q3textedit/q3textedit.pro | 8 + tests/auto/q3textedit/tst_q3textedit.cpp | 1118 + tests/auto/q3textstream/.gitignore | 2 + tests/auto/q3textstream/q3textstream.pro | 6 + tests/auto/q3textstream/tst_q3textstream.cpp | 1347 + tests/auto/q3timeedit/.gitignore | 1 + tests/auto/q3timeedit/q3timeedit.pro | 6 + tests/auto/q3timeedit/tst_q3timeedit.cpp | 939 + tests/auto/q3toolbar/.gitignore | 1 + tests/auto/q3toolbar/q3toolbar.pro | 6 + tests/auto/q3toolbar/tst_q3toolbar.cpp | 168 + tests/auto/q3uridrag/q3uridrag.pro | 7 + tests/auto/q3uridrag/tst_q3uridrag.cpp | 248 + tests/auto/q3urloperator/.gitattributes | 3 + tests/auto/q3urloperator/.gitignore | 2 + tests/auto/q3urloperator/copy.res/rfc3252.txt | 899 + tests/auto/q3urloperator/listData/executable.exe | 0 tests/auto/q3urloperator/listData/readOnly | 0 .../auto/q3urloperator/listData/readWriteExec.exe | 0 tests/auto/q3urloperator/q3urloperator.pro | 9 + tests/auto/q3urloperator/stop/bigfile | 17980 ++++ tests/auto/q3urloperator/tst_q3urloperator.cpp | 783 + tests/auto/q3valuelist/.gitignore | 1 + tests/auto/q3valuelist/q3valuelist.pro | 7 + tests/auto/q3valuelist/tst_q3valuelist.cpp | 903 + tests/auto/q3valuevector/.gitignore | 1 + tests/auto/q3valuevector/q3valuevector.pro | 7 + tests/auto/q3valuevector/tst_q3valuevector.cpp | 662 + tests/auto/q3widgetstack/q3widgetstack.pro | 7 + tests/auto/q3widgetstack/tst_q3widgetstack.cpp | 257 + tests/auto/q_func_info/.gitignore | 1 + tests/auto/q_func_info/q_func_info.pro | 3 + tests/auto/q_func_info/tst_q_func_info.cpp | 145 + tests/auto/qabstractbutton/.gitignore | 1 + tests/auto/qabstractbutton/qabstractbutton.pro | 4 + tests/auto/qabstractbutton/tst_qabstractbutton.cpp | 718 + tests/auto/qabstractitemmodel/.gitignore | 1 + .../auto/qabstractitemmodel/qabstractitemmodel.pro | 6 + .../qabstractitemmodel/tst_qabstractitemmodel.cpp | 824 + tests/auto/qabstractitemview/.gitignore | 1 + tests/auto/qabstractitemview/qabstractitemview.pro | 4 + .../qabstractitemview/tst_qabstractitemview.cpp | 1187 + tests/auto/qabstractmessagehandler/.gitignore | 1 + .../qabstractmessagehandler.pro | 4 + .../tst_qabstractmessagehandler.cpp | 192 + tests/auto/qabstractnetworkcache/.gitignore | 1 + .../qabstractnetworkcache.pro | 10 + .../tests/httpcachetest_cachecontrol-expire.cgi | 7 + .../tests/httpcachetest_cachecontrol.cgi | 13 + .../tests/httpcachetest_etag200.cgi | 5 + .../tests/httpcachetest_etag304.cgi | 11 + .../tests/httpcachetest_expires200.cgi | 5 + .../tests/httpcachetest_expires304.cgi | 11 + .../tests/httpcachetest_expires500.cgi | 11 + .../tests/httpcachetest_lastModified200.cgi | 5 + .../tests/httpcachetest_lastModified304.cgi | 11 + .../tst_qabstractnetworkcache.cpp | 275 + tests/auto/qabstractprintdialog/.gitignore | 1 + .../qabstractprintdialog/qabstractprintdialog.pro | 9 + .../tst_qabstractprintdialog.cpp | 143 + tests/auto/qabstractproxymodel/.gitignore | 1 + .../qabstractproxymodel/qabstractproxymodel.pro | 2 + .../tst_qabstractproxymodel.cpp | 367 + tests/auto/qabstractscrollarea/.gitignore | 1 + .../qabstractscrollarea/qabstractscrollarea.pro | 9 + .../tst_qabstractscrollarea.cpp | 354 + tests/auto/qabstractslider/.gitignore | 1 + tests/auto/qabstractslider/qabstractslider.pro | 4 + tests/auto/qabstractslider/tst_qabstractslider.cpp | 1235 + tests/auto/qabstractsocket/.gitignore | 1 + tests/auto/qabstractsocket/qabstractsocket.pro | 10 + tests/auto/qabstractsocket/tst_qabstractsocket.cpp | 109 + tests/auto/qabstractspinbox/.gitignore | 1 + tests/auto/qabstractspinbox/qabstractspinbox.pro | 9 + .../auto/qabstractspinbox/tst_qabstractspinbox.cpp | 163 + tests/auto/qabstracttextdocumentlayout/.gitignore | 1 + .../qabstracttextdocumentlayout.pro | 9 + .../tst_qabstracttextdocumentlayout.cpp | 159 + tests/auto/qabstracturiresolver/.gitignore | 1 + tests/auto/qabstracturiresolver/TestURIResolver.h | 70 + .../qabstracturiresolver/qabstracturiresolver.pro | 5 + .../tst_qabstracturiresolver.cpp | 132 + tests/auto/qabstractxmlforwarditerator/.gitignore | 1 + .../qabstractxmlforwarditerator.pro | 4 + .../tst_qabstractxmlforwarditerator.cpp | 87 + tests/auto/qabstractxmlnodemodel/.gitignore | 1 + tests/auto/qabstractxmlnodemodel/LoadingModel.cpp | 360 + tests/auto/qabstractxmlnodemodel/LoadingModel.h | 99 + tests/auto/qabstractxmlnodemodel/TestNodeModel.h | 139 + .../qabstractxmlnodemodel.pro | 14 + tests/auto/qabstractxmlnodemodel/tree.xml | 15 + .../tst_qabstractxmlnodemodel.cpp | 399 + tests/auto/qabstractxmlreceiver/.gitignore | 1 + .../qabstractxmlreceiver/TestAbstractXmlReceiver.h | 138 + .../qabstractxmlreceiver/qabstractxmlreceiver.pro | 4 + .../tst_qabstractxmlreceiver.cpp | 95 + tests/auto/qaccessibility/.gitignore | 1 + tests/auto/qaccessibility/qaccessibility.pro | 11 + tests/auto/qaccessibility/tst_qaccessibility.cpp | 4058 + tests/auto/qaccessibility_mac/.gitignore | 1 + tests/auto/qaccessibility_mac/buttons.ui | 83 + tests/auto/qaccessibility_mac/combobox.ui | 50 + tests/auto/qaccessibility_mac/form.ui | 22 + tests/auto/qaccessibility_mac/groups.ui | 100 + tests/auto/qaccessibility_mac/label.ui | 35 + tests/auto/qaccessibility_mac/lineedit.ui | 35 + tests/auto/qaccessibility_mac/listview.ui | 89 + .../auto/qaccessibility_mac/qaccessibility_mac.pro | 24 + .../auto/qaccessibility_mac/qaccessibility_mac.qrc | 15 + tests/auto/qaccessibility_mac/radiobutton.ui | 38 + tests/auto/qaccessibility_mac/scrollbar.ui | 38 + tests/auto/qaccessibility_mac/splitters.ui | 52 + tests/auto/qaccessibility_mac/tableview.ui | 114 + tests/auto/qaccessibility_mac/tabs.ui | 68 + tests/auto/qaccessibility_mac/textBrowser.ui | 40 + .../qaccessibility_mac/tst_qaccessibility_mac.cpp | 1960 + tests/auto/qaction/.gitignore | 1 + tests/auto/qaction/qaction.pro | 4 + tests/auto/qaction/tst_qaction.cpp | 326 + tests/auto/qactiongroup/.gitignore | 1 + tests/auto/qactiongroup/qactiongroup.pro | 4 + tests/auto/qactiongroup/tst_qactiongroup.cpp | 274 + tests/auto/qalgorithms/.gitignore | 1 + tests/auto/qalgorithms/qalgorithms.pro | 5 + tests/auto/qalgorithms/tst_qalgorithms.cpp | 1193 + tests/auto/qanimationgroup/qanimationgroup.pro | 5 + tests/auto/qanimationgroup/tst_qanimationgroup.cpp | 347 + tests/auto/qanimationstate/qanimationstate.pro | 5 + tests/auto/qanimationstate/tst_qanimationstate.cpp | 625 + tests/auto/qapplication/.gitignore | 3 + .../desktopsettingsaware/desktopsettingsaware.pro | 15 + .../qapplication/desktopsettingsaware/main.cpp | 54 + tests/auto/qapplication/qapplication.pro | 6 + tests/auto/qapplication/test/test.pro | 22 + tests/auto/qapplication/tmp/README | 3 + tests/auto/qapplication/tst_qapplication.cpp | 1784 + tests/auto/qapplication/wincmdline/main.cpp | 53 + tests/auto/qapplication/wincmdline/wincmdline.pro | 7 + tests/auto/qapplicationargumentparser/.gitignore | 3 + .../qapplicationargumentparser.pro | 6 + .../tst_qapplicationargumentparser.cpp | 160 + tests/auto/qatomicint/.gitignore | 1 + tests/auto/qatomicint/qatomicint.pro | 6 + tests/auto/qatomicint/tst_qatomicint.cpp | 748 + tests/auto/qatomicpointer/.gitignore | 1 + tests/auto/qatomicpointer/qatomicpointer.pro | 5 + tests/auto/qatomicpointer/tst_qatomicpointer.cpp | 627 + tests/auto/qautoptr/.gitignore | 1 + tests/auto/qautoptr/qautoptr.pro | 4 + tests/auto/qautoptr/tst_qautoptr.cpp | 339 + tests/auto/qbitarray/.gitignore | 1 + tests/auto/qbitarray/qbitarray.pro | 7 + tests/auto/qbitarray/tst_qbitarray.cpp | 644 + tests/auto/qboxlayout/.gitignore | 1 + tests/auto/qboxlayout/qboxlayout.pro | 4 + tests/auto/qboxlayout/tst_qboxlayout.cpp | 174 + tests/auto/qbrush/.gitignore | 1 + tests/auto/qbrush/qbrush.pro | 5 + tests/auto/qbrush/tst_qbrush.cpp | 383 + tests/auto/qbuffer/.gitignore | 1 + tests/auto/qbuffer/qbuffer.pro | 7 + tests/auto/qbuffer/tst_qbuffer.cpp | 533 + tests/auto/qbuttongroup/.gitignore | 1 + tests/auto/qbuttongroup/qbuttongroup.pro | 5 + tests/auto/qbuttongroup/tst_qbuttongroup.cpp | 494 + tests/auto/qbytearray/.gitignore | 1 + tests/auto/qbytearray/qbytearray.pro | 14 + tests/auto/qbytearray/rfc3252.txt | 899 + tests/auto/qbytearray/tst_qbytearray.cpp | 1424 + tests/auto/qcache/.gitignore | 1 + tests/auto/qcache/qcache.pro | 7 + tests/auto/qcache/tst_qcache.cpp | 441 + tests/auto/qcalendarwidget/.gitignore | 1 + tests/auto/qcalendarwidget/qcalendarwidget.pro | 4 + tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp | 244 + tests/auto/qchar/.gitignore | 1 + tests/auto/qchar/NormalizationTest.txt | 17650 ++++ tests/auto/qchar/qchar.pro | 10 + tests/auto/qchar/tst_qchar.cpp | 643 + tests/auto/qcheckbox/.gitignore | 1 + tests/auto/qcheckbox/qcheckbox.pro | 5 + tests/auto/qcheckbox/tst_qcheckbox.cpp | 433 + tests/auto/qclipboard/.gitignore | 5 + tests/auto/qclipboard/copier/copier.pro | 9 + tests/auto/qclipboard/copier/main.cpp | 54 + tests/auto/qclipboard/paster/main.cpp | 54 + tests/auto/qclipboard/paster/paster.pro | 11 + tests/auto/qclipboard/qclipboard.pro | 4 + tests/auto/qclipboard/test/test.pro | 19 + tests/auto/qclipboard/tst_qclipboard.cpp | 336 + tests/auto/qcolor/.gitignore | 1 + tests/auto/qcolor/qcolor.pro | 5 + tests/auto/qcolor/tst_qcolor.cpp | 1305 + tests/auto/qcolordialog/.gitignore | 1 + tests/auto/qcolordialog/qcolordialog.pro | 5 + tests/auto/qcolordialog/tst_qcolordialog.cpp | 165 + tests/auto/qcolumnview/.gitignore | 1 + tests/auto/qcolumnview/qcolumnview.pro | 8 + tests/auto/qcolumnview/tst_qcolumnview.cpp | 1008 + tests/auto/qcombobox/.gitignore | 1 + tests/auto/qcombobox/qcombobox.pro | 6 + tests/auto/qcombobox/tst_qcombobox.cpp | 2139 + tests/auto/qcommandlinkbutton/.gitignore | 1 + .../auto/qcommandlinkbutton/qcommandlinkbutton.pro | 5 + .../qcommandlinkbutton/tst_qcommandlinkbutton.cpp | 564 + tests/auto/qcompleter/.gitignore | 1 + tests/auto/qcompleter/qcompleter.pro | 16 + tests/auto/qcompleter/tst_qcompleter.cpp | 1097 + tests/auto/qcomplextext/.gitignore | 1 + tests/auto/qcomplextext/bidireorderstring.h | 150 + tests/auto/qcomplextext/qcomplextext.pro | 5 + tests/auto/qcomplextext/tst_qcomplextext.cpp | 167 + tests/auto/qcopchannel/.gitignore | 2 + tests/auto/qcopchannel/qcopchannel.pro | 6 + tests/auto/qcopchannel/test/test.pro | 14 + tests/auto/qcopchannel/testSend/main.cpp | 64 + tests/auto/qcopchannel/testSend/testSend.pro | 5 + tests/auto/qcopchannel/tst_qcopchannel.cpp | 173 + tests/auto/qcoreapplication/.gitignore | 1 + tests/auto/qcoreapplication/qcoreapplication.pro | 6 + .../auto/qcoreapplication/tst_qcoreapplication.cpp | 475 + tests/auto/qcryptographichash/.gitignore | 1 + .../auto/qcryptographichash/qcryptographichash.pro | 6 + .../qcryptographichash/tst_qcryptographichash.cpp | 154 + tests/auto/qcssparser/.gitignore | 1 + tests/auto/qcssparser/qcssparser.pro | 11 + .../qcssparser/testdata/scanner/comments/input | 1 + .../qcssparser/testdata/scanner/comments/output | 4 + .../qcssparser/testdata/scanner/comments2/input | 1 + .../qcssparser/testdata/scanner/comments2/output | 12 + .../qcssparser/testdata/scanner/comments3/input | 1 + .../qcssparser/testdata/scanner/comments3/output | 4 + .../qcssparser/testdata/scanner/comments4/input | 1 + .../qcssparser/testdata/scanner/comments4/output | 3 + .../qcssparser/testdata/scanner/quotedstring/input | 1 + .../testdata/scanner/quotedstring/output | 5 + .../auto/qcssparser/testdata/scanner/simple/input | 1 + .../auto/qcssparser/testdata/scanner/simple/output | 9 + .../auto/qcssparser/testdata/scanner/unicode/input | 1 + .../qcssparser/testdata/scanner/unicode/output | 3 + tests/auto/qcssparser/tst_cssparser.cpp | 1615 + tests/auto/qdatastream/.gitignore | 2 + tests/auto/qdatastream/datastream.q42 | Bin 0 -> 668 bytes tests/auto/qdatastream/gearflowers.svg | 8342 ++ tests/auto/qdatastream/qdatastream.pro | 20 + tests/auto/qdatastream/tests2.svg | 12 + tests/auto/qdatastream/tst_qdatastream.cpp | 3345 + tests/auto/qdatawidgetmapper/.gitignore | 1 + tests/auto/qdatawidgetmapper/qdatawidgetmapper.pro | 4 + .../qdatawidgetmapper/tst_qdatawidgetmapper.cpp | 410 + tests/auto/qdate/.gitignore | 1 + tests/auto/qdate/qdate.pro | 7 + tests/auto/qdate/tst_qdate.cpp | 909 + tests/auto/qdatetime/.gitignore | 1 + tests/auto/qdatetime/qdatetime.pro | 14 + tests/auto/qdatetime/tst_qdatetime.cpp | 1511 + tests/auto/qdatetimeedit/.gitignore | 1 + tests/auto/qdatetimeedit/qdatetimeedit.pro | 7 + tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp | 3429 + tests/auto/qdbusabstractadaptor/.gitignore | 1 + .../qdbusabstractadaptor/qdbusabstractadaptor.pro | 10 + .../tst_qdbusabstractadaptor.cpp | 1440 + tests/auto/qdbusconnection/.gitignore | 1 + tests/auto/qdbusconnection/qdbusconnection.pro | 11 + tests/auto/qdbusconnection/tst_qdbusconnection.cpp | 542 + tests/auto/qdbuscontext/.gitignore | 1 + tests/auto/qdbuscontext/qdbuscontext.pro | 11 + tests/auto/qdbuscontext/tst_qdbuscontext.cpp | 93 + tests/auto/qdbusinterface/.gitignore | 1 + tests/auto/qdbusinterface/qdbusinterface.pro | 10 + tests/auto/qdbusinterface/tst_qdbusinterface.cpp | 328 + tests/auto/qdbuslocalcalls/.gitignore | 1 + tests/auto/qdbuslocalcalls/qdbuslocalcalls.pro | 11 + tests/auto/qdbuslocalcalls/tst_qdbuslocalcalls.cpp | 277 + tests/auto/qdbusmarshall/.gitignore | 2 + tests/auto/qdbusmarshall/common.h | 651 + tests/auto/qdbusmarshall/dummy.cpp | 44 + tests/auto/qdbusmarshall/qdbusmarshall.pro | 10 + tests/auto/qdbusmarshall/qpong/qpong.cpp | 81 + tests/auto/qdbusmarshall/qpong/qpong.pro | 6 + tests/auto/qdbusmarshall/test/test.pro | 8 + tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp | 786 + tests/auto/qdbusmetaobject/.gitignore | 1 + tests/auto/qdbusmetaobject/qdbusmetaobject.pro | 10 + tests/auto/qdbusmetaobject/tst_qdbusmetaobject.cpp | 688 + tests/auto/qdbusmetatype/.gitignore | 1 + tests/auto/qdbusmetatype/qdbusmetatype.pro | 10 + tests/auto/qdbusmetatype/tst_qdbusmetatype.cpp | 383 + tests/auto/qdbuspendingcall/.gitignore | 1 + tests/auto/qdbuspendingcall/qdbuspendingcall.pro | 4 + .../auto/qdbuspendingcall/tst_qdbuspendingcall.cpp | 430 + tests/auto/qdbuspendingreply/.gitignore | 1 + tests/auto/qdbuspendingreply/qdbuspendingreply.pro | 4 + .../qdbuspendingreply/tst_qdbuspendingreply.cpp | 572 + tests/auto/qdbusperformance/.gitignore | 2 + tests/auto/qdbusperformance/qdbusperformance.pro | 8 + tests/auto/qdbusperformance/server/server.cpp | 64 + tests/auto/qdbusperformance/server/server.pro | 5 + tests/auto/qdbusperformance/serverobject.h | 115 + tests/auto/qdbusperformance/test/test.pro | 7 + .../auto/qdbusperformance/tst_qdbusperformance.cpp | 234 + tests/auto/qdbusreply/.gitignore | 1 + tests/auto/qdbusreply/qdbusreply.pro | 10 + tests/auto/qdbusreply/tst_qdbusreply.cpp | 361 + tests/auto/qdbusserver/.gitignore | 1 + tests/auto/qdbusserver/qdbusserver.pro | 11 + tests/auto/qdbusserver/server.cpp | 49 + tests/auto/qdbusserver/tst_qdbusserver.cpp | 78 + tests/auto/qdbusthreading/.gitignore | 1 + tests/auto/qdbusthreading/qdbusthreading.pro | 11 + tests/auto/qdbusthreading/tst_qdbusthreading.cpp | 608 + tests/auto/qdbusxmlparser/.gitignore | 1 + tests/auto/qdbusxmlparser/qdbusxmlparser.pro | 10 + tests/auto/qdbusxmlparser/tst_qdbusxmlparser.cpp | 599 + tests/auto/qdebug/.gitignore | 1 + tests/auto/qdebug/qdebug.pro | 7 + tests/auto/qdebug/tst_qdebug.cpp | 158 + tests/auto/qdesktopservices/.gitignore | 1 + tests/auto/qdesktopservices/qdesktopservices.pro | 8 + .../auto/qdesktopservices/tst_qdesktopservices.cpp | 176 + tests/auto/qdesktopwidget/.gitignore | 1 + tests/auto/qdesktopwidget/qdesktopwidget.pro | 5 + tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp | 155 + tests/auto/qdial/.gitignore | 1 + tests/auto/qdial/qdial.pro | 4 + tests/auto/qdial/tst_qdial.cpp | 147 + tests/auto/qdialog/.gitignore | 1 + tests/auto/qdialog/qdialog.pro | 5 + tests/auto/qdialog/tst_qdialog.cpp | 600 + tests/auto/qdialogbuttonbox/.gitignore | 1 + tests/auto/qdialogbuttonbox/qdialogbuttonbox.pro | 6 + .../auto/qdialogbuttonbox/tst_qdialogbuttonbox.cpp | 761 + tests/auto/qdir/.gitignore | 1 + tests/auto/qdir/entrylist/directory/dummy | 0 tests/auto/qdir/entrylist/file | 0 tests/auto/qdir/qdir.pro | 16 + tests/auto/qdir/qdir.qrc | 5 + tests/auto/qdir/resources/entryList/file1.data | 0 tests/auto/qdir/resources/entryList/file2.data | 0 tests/auto/qdir/resources/entryList/file3.data | 0 tests/auto/qdir/resources/entryList/file4.nothing | 0 tests/auto/qdir/searchdir/subdir1/picker.png | 1 + tests/auto/qdir/searchdir/subdir2/picker.png | 1 + tests/auto/qdir/testData/empty | 1 + tests/auto/qdir/testdir/dir/Makefile | 6 + tests/auto/qdir/testdir/dir/qdir.pro | 2 + tests/auto/qdir/testdir/dir/qrc_qdir.cpp | 42 + tests/auto/qdir/testdir/dir/tmp/empty | 0 tests/auto/qdir/testdir/dir/tst_qdir.cpp | 42 + tests/auto/qdir/testdir/spaces/foo. bar | 0 tests/auto/qdir/testdir/spaces/foo.bar | 0 tests/auto/qdir/tst_qdir.cpp | 1327 + tests/auto/qdir/types/a | 0 tests/auto/qdir/types/a.a | 1 + tests/auto/qdir/types/a.b | 1 + tests/auto/qdir/types/a.c | 1 + tests/auto/qdir/types/b | 0 tests/auto/qdir/types/b.a | 1 + tests/auto/qdir/types/b.b | 1 + tests/auto/qdir/types/b.c | 1 + tests/auto/qdir/types/c | 0 tests/auto/qdir/types/c.a | 1 + tests/auto/qdir/types/c.b | 1 + tests/auto/qdir/types/c.c | 1 + tests/auto/qdir/types/d.a/dummy | 0 tests/auto/qdir/types/d.b/dummy | 0 tests/auto/qdir/types/d.c/dummy | 0 tests/auto/qdir/types/d/dummy | 0 tests/auto/qdir/types/e.a/dummy | 0 tests/auto/qdir/types/e.b/dummy | 0 tests/auto/qdir/types/e.c/dummy | 0 tests/auto/qdir/types/e/dummy | 0 tests/auto/qdir/types/f.a/dummy | 0 tests/auto/qdir/types/f.b/dummy | 0 tests/auto/qdir/types/f.c/dummy | 0 tests/auto/qdir/types/f/dummy | 0 tests/auto/qdirectpainter/.gitignore | 2 + tests/auto/qdirectpainter/qdirectpainter.pro | 7 + .../auto/qdirectpainter/runDirectPainter/main.cpp | 81 + .../runDirectPainter/runDirectPainter.pro | 5 + tests/auto/qdirectpainter/test/test.pro | 14 + tests/auto/qdirectpainter/tst_qdirectpainter.cpp | 247 + tests/auto/qdiriterator/.gitignore | 1 + tests/auto/qdiriterator/entrylist/directory/dummy | 0 tests/auto/qdiriterator/entrylist/file | 0 tests/auto/qdiriterator/foo/bar/readme.txt | 0 tests/auto/qdiriterator/qdiriterator.pro | 12 + tests/auto/qdiriterator/qdiriterator.qrc | 6 + .../qdiriterator/recursiveDirs/dir1/aPage.html | 8 + .../qdiriterator/recursiveDirs/dir1/textFileB.txt | 1 + .../auto/qdiriterator/recursiveDirs/textFileA.txt | 1 + tests/auto/qdiriterator/tst_qdiriterator.cpp | 427 + tests/auto/qdirmodel/.gitignore | 1 + tests/auto/qdirmodel/dirtest/test1/dummy | 1 + tests/auto/qdirmodel/dirtest/test1/test | 0 tests/auto/qdirmodel/qdirmodel.pro | 16 + tests/auto/qdirmodel/test/file01.tst | 0 tests/auto/qdirmodel/test/file02.tst | 0 tests/auto/qdirmodel/test/file03.tst | 0 tests/auto/qdirmodel/test/file04.tst | 0 tests/auto/qdirmodel/tst_qdirmodel.cpp | 669 + tests/auto/qdockwidget/.gitignore | 1 + tests/auto/qdockwidget/qdockwidget.pro | 5 + tests/auto/qdockwidget/tst_qdockwidget.cpp | 787 + tests/auto/qdom/.gitattributes | 4 + tests/auto/qdom/.gitignore | 1 + tests/auto/qdom/doubleNamespaces.xml | 1 + tests/auto/qdom/qdom.pro | 13 + tests/auto/qdom/testdata/excludedCodecs.txt | 135 + tests/auto/qdom/testdata/toString_01/doc01.xml | 1 + tests/auto/qdom/testdata/toString_01/doc02.xml | 1 + tests/auto/qdom/testdata/toString_01/doc03.xml | 6 + tests/auto/qdom/testdata/toString_01/doc04.xml | 510 + tests/auto/qdom/testdata/toString_01/doc05.xml | 3554 + .../auto/qdom/testdata/toString_01/doc_euc-jp.xml | 78 + .../qdom/testdata/toString_01/doc_iso-2022-jp.xml | 78 + .../testdata/toString_01/doc_little-endian.xml | Bin 0 -> 3186 bytes .../auto/qdom/testdata/toString_01/doc_utf-16.xml | Bin 0 -> 3186 bytes tests/auto/qdom/testdata/toString_01/doc_utf-8.xml | 77 + tests/auto/qdom/tst_qdom.cpp | 1897 + tests/auto/qdom/umlaut.xml | 2 + tests/auto/qdoublespinbox/.gitignore | 1 + tests/auto/qdoublespinbox/qdoublespinbox.pro | 5 + tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp | 1008 + tests/auto/qdoublevalidator/.gitignore | 1 + tests/auto/qdoublevalidator/qdoublevalidator.pro | 4 + .../auto/qdoublevalidator/tst_qdoublevalidator.cpp | 318 + tests/auto/qdrag/.gitignore | 1 + tests/auto/qdrag/qdrag.pro | 9 + tests/auto/qdrag/tst_qdrag.cpp | 94 + tests/auto/qeasingcurve/qeasingcurve.pro | 3 + tests/auto/qeasingcurve/tst_qeasingcurve.cpp | 488 + tests/auto/qerrormessage/.gitignore | 1 + tests/auto/qerrormessage/qerrormessage.pro | 15 + tests/auto/qerrormessage/tst_qerrormessage.cpp | 158 + tests/auto/qevent/.gitignore | 1 + tests/auto/qevent/qevent.pro | 6 + tests/auto/qevent/tst_qevent.cpp | 92 + tests/auto/qeventloop/.gitignore | 1 + tests/auto/qeventloop/qeventloop.pro | 7 + tests/auto/qeventloop/tst_qeventloop.cpp | 733 + tests/auto/qexplicitlyshareddatapointer/.gitignore | 1 + .../qexplicitlyshareddatapointer.pro | 3 + .../tst_qexplicitlyshareddatapointer.cpp | 239 + tests/auto/qfile/.gitattributes | 2 + tests/auto/qfile/.gitignore | 8 + tests/auto/qfile/dosfile.txt | 14 + tests/auto/qfile/forCopying.txt | 1 + tests/auto/qfile/forRenaming.txt | 7 + tests/auto/qfile/noendofline.txt | 3 + tests/auto/qfile/qfile.pro | 9 + tests/auto/qfile/qfile.qrc | 5 + tests/auto/qfile/resources/file1.ext1 | 1 + tests/auto/qfile/stdinprocess/main.cpp | 72 + tests/auto/qfile/stdinprocess/stdinprocess.pro | 6 + tests/auto/qfile/test/test.pro | 33 + tests/auto/qfile/testfile.txt | 6 + tests/auto/qfile/testlog.txt | 144 + tests/auto/qfile/tst_qfile.cpp | 2532 + tests/auto/qfile/two.dots.file | 1 + tests/auto/qfiledialog/.gitignore | 1 + tests/auto/qfiledialog/qfiledialog.pro | 15 + tests/auto/qfiledialog/tst_qfiledialog.cpp | 1781 + tests/auto/qfileiconprovider/.gitignore | 1 + tests/auto/qfileiconprovider/qfileiconprovider.pro | 4 + .../qfileiconprovider/tst_qfileiconprovider.cpp | 181 + tests/auto/qfileinfo/.gitignore | 1 + tests/auto/qfileinfo/qfileinfo.pro | 15 + tests/auto/qfileinfo/qfileinfo.qrc | 5 + tests/auto/qfileinfo/resources/file1 | 0 tests/auto/qfileinfo/resources/file1.ext1 | 0 tests/auto/qfileinfo/resources/file1.ext1.ext2 | 0 tests/auto/qfileinfo/tst_qfileinfo.cpp | 1108 + tests/auto/qfilesystemmodel/.gitignore | 1 + tests/auto/qfilesystemmodel/qfilesystemmodel.pro | 9 + .../auto/qfilesystemmodel/tst_qfilesystemmodel.cpp | 814 + tests/auto/qfilesystemwatcher/.gitignore | 1 + .../auto/qfilesystemwatcher/qfilesystemwatcher.pro | 5 + .../qfilesystemwatcher/tst_qfilesystemwatcher.cpp | 407 + tests/auto/qflags/.gitignore | 1 + tests/auto/qflags/qflags.pro | 6 + tests/auto/qflags/tst_qflags.cpp | 76 + tests/auto/qfocusevent/.gitignore | 1 + tests/auto/qfocusevent/qfocusevent.pro | 6 + tests/auto/qfocusevent/tst_qfocusevent.cpp | 426 + tests/auto/qfocusframe/.gitignore | 1 + tests/auto/qfocusframe/qfocusframe.pro | 9 + tests/auto/qfocusframe/tst_qfocusframe.cpp | 89 + tests/auto/qfont/.gitignore | 1 + tests/auto/qfont/qfont.pro | 4 + tests/auto/qfont/tst_qfont.cpp | 593 + tests/auto/qfontcombobox/.gitignore | 1 + tests/auto/qfontcombobox/qfontcombobox.pro | 4 + tests/auto/qfontcombobox/tst_qfontcombobox.cpp | 291 + tests/auto/qfontdatabase/.gitignore | 1 + tests/auto/qfontdatabase/FreeMono.ttf | Bin 0 -> 267400 bytes tests/auto/qfontdatabase/qfontdatabase.pro | 10 + tests/auto/qfontdatabase/tst_qfontdatabase.cpp | 248 + tests/auto/qfontdialog/.gitignore | 1 + tests/auto/qfontdialog/qfontdialog.pro | 7 + tests/auto/qfontdialog/tst_qfontdialog.cpp | 156 + .../qfontdialog/tst_qfontdialog_mac_helpers.mm | 26 + tests/auto/qfontmetrics/.gitignore | 1 + tests/auto/qfontmetrics/qfontmetrics.pro | 4 + tests/auto/qfontmetrics/tst_qfontmetrics.cpp | 205 + tests/auto/qformlayout/.gitignore | 1 + tests/auto/qformlayout/qformlayout.pro | 2 + tests/auto/qformlayout/tst_qformlayout.cpp | 910 + tests/auto/qftp/.gitattributes | 1 + tests/auto/qftp/.gitignore | 2 + tests/auto/qftp/qftp.pro | 14 + tests/auto/qftp/rfc3252.txt | 899 + tests/auto/qftp/tst_qftp.cpp | 2045 + tests/auto/qfuture/.gitignore | 1 + tests/auto/qfuture/qfuture.pro | 4 + tests/auto/qfuture/tst_qfuture.cpp | 1440 + tests/auto/qfuture/versioncheck.h | 49 + tests/auto/qfuturewatcher/.gitignore | 1 + tests/auto/qfuturewatcher/qfuturewatcher.pro | 3 + tests/auto/qfuturewatcher/tst_qfuturewatcher.cpp | 893 + tests/auto/qgetputenv/.gitignore | 1 + tests/auto/qgetputenv/qgetputenv.pro | 7 + tests/auto/qgetputenv/tst_qgetputenv.cpp | 84 + tests/auto/qgl/.gitignore | 1 + tests/auto/qgl/qgl.pro | 10 + tests/auto/qgl/tst_qgl.cpp | 408 + tests/auto/qglobal/.gitignore | 1 + tests/auto/qglobal/qglobal.pro | 6 + tests/auto/qglobal/tst_qglobal.cpp | 194 + tests/auto/qgraphicsgridlayout/.gitignore | 1 + .../qgraphicsgridlayout/qgraphicsgridlayout.pro | 4 + .../tst_qgraphicsgridlayout.cpp | 2095 + tests/auto/qgraphicsitem/.gitignore | 1 + .../qgraphicsitem/nestedClipping_reference.png | Bin 0 -> 638 bytes tests/auto/qgraphicsitem/qgraphicsitem.pro | 7 + tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 5884 ++ tests/auto/qgraphicsitemanimation/.gitignore | 1 + .../qgraphicsitemanimation.pro | 5 + .../tst_qgraphicsitemanimation.cpp | 198 + tests/auto/qgraphicslayout/.gitignore | 1 + tests/auto/qgraphicslayout/qgraphicslayout.pro | 8 + tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp | 694 + tests/auto/qgraphicslayoutitem/.gitignore | 1 + .../qgraphicslayoutitem/qgraphicslayoutitem.pro | 4 + .../tst_qgraphicslayoutitem.cpp | 368 + tests/auto/qgraphicslinearlayout/.gitignore | 1 + .../qgraphicslinearlayout.pro | 4 + .../tst_qgraphicslinearlayout.cpp | 1412 + tests/auto/qgraphicspixmapitem/.gitignore | 1 + .../qgraphicspixmapitem/qgraphicspixmapitem.pro | 4 + .../tst_qgraphicspixmapitem.cpp | 427 + tests/auto/qgraphicspolygonitem/.gitignore | 1 + .../qgraphicspolygonitem/qgraphicspolygonitem.pro | 4 + .../tst_qgraphicspolygonitem.cpp | 349 + tests/auto/qgraphicsproxywidget/.gitignore | 1 + .../qgraphicsproxywidget/qgraphicsproxywidget.pro | 4 + .../tst_qgraphicsproxywidget.cpp | 3159 + tests/auto/qgraphicsscene/.gitignore | 1 + tests/auto/qgraphicsscene/Ash_European.jpg | Bin 0 -> 4751 bytes .../qgraphicsscene/graphicsScene_selection.data | Bin 0 -> 854488 bytes tests/auto/qgraphicsscene/images.qrc | 5 + tests/auto/qgraphicsscene/qgraphicsscene.pro | 17 + .../testData/render/all-all-45-deg-left.png | Bin 0 -> 2181 bytes .../testData/render/all-all-45-deg-right.png | Bin 0 -> 1953 bytes .../testData/render/all-all-scale-2x.png | Bin 0 -> 2399 bytes .../testData/render/all-all-translate-0-50.png | Bin 0 -> 1872 bytes .../testData/render/all-all-translate-50-0.png | Bin 0 -> 1884 bytes .../testData/render/all-all-untransformed.png | Bin 0 -> 1896 bytes .../render/all-bottomleft-untransformed.png | Bin 0 -> 1560 bytes .../render/all-bottomright-untransformed.png | Bin 0 -> 1550 bytes .../testData/render/all-topleft-untransformed.png | Bin 0 -> 1566 bytes .../testData/render/all-topright-untransformed.png | Bin 0 -> 1547 bytes .../render/bottom-bottomright-untransformed.png | Bin 0 -> 1172 bytes .../render/bottom-topleft-untransformed.png | Bin 0 -> 1690 bytes .../render/bottomleft-all-untransformed.png | Bin 0 -> 1736 bytes .../render/bottomleft-topleft-untransformed.png | Bin 0 -> 1642 bytes .../render/bottomright-all-untransformed.png | Bin 0 -> 1093 bytes .../render/bottomright-topleft-untransformed.png | Bin 0 -> 1661 bytes .../render/left-bottomright-untransformed.png | Bin 0 -> 1289 bytes .../testData/render/left-topleft-untransformed.png | Bin 0 -> 1823 bytes .../render/right-bottomright-untransformed.png | Bin 0 -> 1236 bytes .../render/right-topleft-untransformed.png | Bin 0 -> 1839 bytes .../render/top-bottomright-untransformed.png | Bin 0 -> 1174 bytes .../testData/render/top-topleft-untransformed.png | Bin 0 -> 1703 bytes .../testData/render/topleft-all-untransformed.png | Bin 0 -> 1973 bytes .../render/topleft-topleft-untransformed.png | Bin 0 -> 1650 bytes .../testData/render/topright-all-untransformed.png | Bin 0 -> 2018 bytes .../render/topright-topleft-untransformed.png | Bin 0 -> 1669 bytes tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 3566 + tests/auto/qgraphicsview/.gitignore | 1 + tests/auto/qgraphicsview/qgraphicsview.pro | 5 + tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 2992 + tests/auto/qgraphicsview/tst_qgraphicsview_2.cpp | 956 + tests/auto/qgraphicswidget/.gitignore | 1 + tests/auto/qgraphicswidget/qgraphicswidget.pro | 4 + tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 1830 + tests/auto/qgridlayout/.gitignore | 1 + tests/auto/qgridlayout/qgridlayout.pro | 6 + tests/auto/qgridlayout/sortdialog.ui | 135 + tests/auto/qgridlayout/tst_qgridlayout.cpp | 1637 + tests/auto/qgroupbox/.gitignore | 1 + tests/auto/qgroupbox/qgroupbox.pro | 5 + tests/auto/qgroupbox/tst_qgroupbox.cpp | 463 + tests/auto/qguivariant/.gitignore | 1 + tests/auto/qguivariant/qguivariant.pro | 5 + tests/auto/qguivariant/tst_qguivariant.cpp | 72 + tests/auto/qhash/.gitignore | 1 + tests/auto/qhash/qhash.pro | 7 + tests/auto/qhash/tst_qhash.cpp | 1233 + tests/auto/qheaderview/.gitignore | 1 + tests/auto/qheaderview/qheaderview.pro | 4 + tests/auto/qheaderview/tst_qheaderview.cpp | 1923 + tests/auto/qhelpcontentmodel/.gitignore | 2 + tests/auto/qhelpcontentmodel/data/collection.qhc | Bin 0 -> 10240 bytes tests/auto/qhelpcontentmodel/data/qmake-3.3.8.qch | Bin 0 -> 61440 bytes tests/auto/qhelpcontentmodel/data/qmake-4.3.0.qch | Bin 0 -> 93184 bytes tests/auto/qhelpcontentmodel/data/test.qch | Bin 0 -> 22528 bytes tests/auto/qhelpcontentmodel/qhelpcontentmodel.pro | 10 + .../qhelpcontentmodel/tst_qhelpcontentmodel.cpp | 182 + .../qhelpcontentmodel/tst_qhelpcontentmodel.pro | 8 + tests/auto/qhelpenginecore/.gitignore | 3 + tests/auto/qhelpenginecore/data/collection.qhc | Bin 0 -> 10240 bytes tests/auto/qhelpenginecore/data/collection1.qhc | Bin 0 -> 10240 bytes tests/auto/qhelpenginecore/data/linguist-3.3.8.qch | Bin 0 -> 131072 bytes tests/auto/qhelpenginecore/data/qmake-3.3.8.qch | Bin 0 -> 61440 bytes tests/auto/qhelpenginecore/data/qmake-4.3.0.qch | Bin 0 -> 93184 bytes tests/auto/qhelpenginecore/data/test.html | 11 + tests/auto/qhelpenginecore/data/test.qch | Bin 0 -> 22528 bytes tests/auto/qhelpenginecore/qhelpenginecore.pro | 10 + tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp | 460 + tests/auto/qhelpenginecore/tst_qhelpenginecore.pro | 8 + tests/auto/qhelpgenerator/.gitignore | 1 + tests/auto/qhelpgenerator/data/cars.html | 11 + tests/auto/qhelpgenerator/data/classic.css | 92 + tests/auto/qhelpgenerator/data/fancy.html | 11 + tests/auto/qhelpgenerator/data/people.html | 11 + tests/auto/qhelpgenerator/data/sub/about.html | 11 + tests/auto/qhelpgenerator/data/test.html | 11 + tests/auto/qhelpgenerator/data/test.qhp | 72 + tests/auto/qhelpgenerator/qhelpgenerator.pro | 10 + tests/auto/qhelpgenerator/tst_qhelpgenerator.cpp | 218 + tests/auto/qhelpgenerator/tst_qhelpgenerator.pro | 9 + tests/auto/qhelpindexmodel/.gitignore | 2 + tests/auto/qhelpindexmodel/data/collection.qhc | Bin 0 -> 10240 bytes tests/auto/qhelpindexmodel/data/collection1.qhc | Bin 0 -> 10240 bytes tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch | Bin 0 -> 131072 bytes tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch | Bin 0 -> 61440 bytes tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch | Bin 0 -> 93184 bytes tests/auto/qhelpindexmodel/data/test.html | 11 + tests/auto/qhelpindexmodel/data/test.qch | Bin 0 -> 22528 bytes tests/auto/qhelpindexmodel/qhelpindexmodel.pro | 10 + tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp | 219 + tests/auto/qhelpindexmodel/tst_qhelpindexmodel.pro | 9 + tests/auto/qhelpprojectdata/.gitignore | 1 + tests/auto/qhelpprojectdata/data/test.qhp | 72 + tests/auto/qhelpprojectdata/qhelpprojectdata.pro | 10 + .../auto/qhelpprojectdata/tst_qhelpprojectdata.cpp | 193 + .../auto/qhelpprojectdata/tst_qhelpprojectdata.pro | 9 + tests/auto/qhostaddress/.gitignore | 1 + tests/auto/qhostaddress/qhostaddress.pro | 14 + tests/auto/qhostaddress/tst_qhostaddress.cpp | 601 + tests/auto/qhostinfo/.gitignore | 1 + tests/auto/qhostinfo/qhostinfo.pro | 13 + tests/auto/qhostinfo/tst_qhostinfo.cpp | 409 + tests/auto/qhttp/.gitattributes | 1 + tests/auto/qhttp/.gitignore | 1 + tests/auto/qhttp/dummyserver.h | 114 + tests/auto/qhttp/qhttp.pro | 18 + tests/auto/qhttp/rfc3252.txt | 899 + tests/auto/qhttp/trolltech | 8 + tests/auto/qhttp/tst_qhttp.cpp | 1530 + .../qhttp/webserver/cgi-bin/retrieve_testfile.cgi | 6 + tests/auto/qhttp/webserver/cgi-bin/rfc.cgi | 5 + .../qhttp/webserver/cgi-bin/store_testfile.cgi | 6 + tests/auto/qhttp/webserver/index.html | 899 + tests/auto/qhttp/webserver/rfc3252 | 899 + tests/auto/qhttp/webserver/rfc3252.txt | 899 + tests/auto/qhttpnetworkconnection/.gitignore | 1 + .../qhttpnetworkconnection.pro | 4 + .../tst_qhttpnetworkconnection.cpp | 763 + tests/auto/qhttpnetworkreply/.gitignore | 1 + tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro | 4 + .../qhttpnetworkreply/tst_qhttpnetworkreply.cpp | 134 + tests/auto/qhttpsocketengine/.gitignore | 1 + tests/auto/qhttpsocketengine/qhttpsocketengine.pro | 12 + .../qhttpsocketengine/tst_qhttpsocketengine.cpp | 747 + tests/auto/qicoimageformat/.gitignore | 1 + .../qicoimageformat/icons/invalid/35floppy.ico | Bin 0 -> 1078 bytes .../auto/qicoimageformat/icons/valid/35FLOPPY.ICO | Bin 0 -> 1078 bytes .../qicoimageformat/icons/valid/AddPerfMon.ico | Bin 0 -> 1078 bytes tests/auto/qicoimageformat/icons/valid/App.ico | Bin 0 -> 318 bytes .../icons/valid/Obj_N2_Internal_Mem.ico | Bin 0 -> 25214 bytes .../qicoimageformat/icons/valid/Status_Play.ico | Bin 0 -> 2862 bytes tests/auto/qicoimageformat/icons/valid/TIMER01.ICO | Bin 0 -> 1078 bytes tests/auto/qicoimageformat/icons/valid/WORLD.ico | Bin 0 -> 3310 bytes tests/auto/qicoimageformat/icons/valid/WORLDH.ico | Bin 0 -> 3310 bytes .../qicoimageformat/icons/valid/abcardWindow.ico | Bin 0 -> 22486 bytes .../icons/valid/semitransparent.ico | Bin 0 -> 25214 bytes .../icons/valid/trolltechlogo_tiny.ico | Bin 0 -> 3006 bytes tests/auto/qicoimageformat/qicoimageformat.pro | 17 + .../auto/qicoimageformat/tst_qticoimageformat.cpp | 305 + tests/auto/qicon/.gitignore | 1 + tests/auto/qicon/heart.svg | 55 + tests/auto/qicon/heart.svgz | Bin 0 -> 1506 bytes tests/auto/qicon/image.png | Bin 0 -> 14743 bytes tests/auto/qicon/image.tga | Bin 0 -> 51708 bytes tests/auto/qicon/qicon.pro | 18 + tests/auto/qicon/rect.png | Bin 0 -> 175 bytes tests/auto/qicon/rect.svg | 76 + tests/auto/qicon/trash.svg | 58 + tests/auto/qicon/tst_qicon.cpp | 614 + tests/auto/qicon/tst_qicon.qrc | 6 + tests/auto/qimage/.gitignore | 1 + tests/auto/qimage/images/image.bmp | Bin 0 -> 306 bytes tests/auto/qimage/images/image.gif | Bin 0 -> 1089 bytes tests/auto/qimage/images/image.ico | Bin 0 -> 10134 bytes tests/auto/qimage/images/image.jpg | Bin 0 -> 696 bytes tests/auto/qimage/images/image.pbm | 8 + tests/auto/qimage/images/image.pgm | 10 + tests/auto/qimage/images/image.png | Bin 0 -> 549 bytes tests/auto/qimage/images/image.ppm | 7 + tests/auto/qimage/images/image.xbm | 5 + tests/auto/qimage/images/image.xpm | 261 + tests/auto/qimage/qimage.pro | 12 + tests/auto/qimage/tst_qimage.cpp | 1766 + tests/auto/qimageiohandler/.gitignore | 1 + tests/auto/qimageiohandler/qimageiohandler.pro | 9 + tests/auto/qimageiohandler/tst_qimageiohandler.cpp | 96 + tests/auto/qimagereader/.gitignore | 2 + tests/auto/qimagereader/images/16bpp.bmp | Bin 0 -> 153654 bytes tests/auto/qimagereader/images/4bpp-rle.bmp | Bin 0 -> 23662 bytes tests/auto/qimagereader/images/YCbCr_cmyk.jpg | Bin 0 -> 3699 bytes tests/auto/qimagereader/images/YCbCr_cmyk.png | Bin 0 -> 230 bytes tests/auto/qimagereader/images/YCbCr_rgb.jpg | Bin 0 -> 2045 bytes tests/auto/qimagereader/images/away.png | Bin 0 -> 753 bytes tests/auto/qimagereader/images/ball.mng | Bin 0 -> 34394 bytes tests/auto/qimagereader/images/bat1.gif | Bin 0 -> 953 bytes tests/auto/qimagereader/images/bat2.gif | Bin 0 -> 980 bytes tests/auto/qimagereader/images/beavis.jpg | Bin 0 -> 20688 bytes tests/auto/qimagereader/images/black.png | Bin 0 -> 697 bytes tests/auto/qimagereader/images/black.xpm | 65 + tests/auto/qimagereader/images/colorful.bmp | Bin 0 -> 65002 bytes tests/auto/qimagereader/images/corrupt-colors.xpm | 26 + tests/auto/qimagereader/images/corrupt-data.tif | Bin 0 -> 8590 bytes tests/auto/qimagereader/images/corrupt-pixels.xpm | 7 + tests/auto/qimagereader/images/corrupt.bmp | Bin 0 -> 116 bytes tests/auto/qimagereader/images/corrupt.gif | Bin 0 -> 2608 bytes tests/auto/qimagereader/images/corrupt.jpg | Bin 0 -> 18 bytes tests/auto/qimagereader/images/corrupt.mng | Bin 0 -> 183 bytes tests/auto/qimagereader/images/corrupt.png | Bin 0 -> 95 bytes tests/auto/qimagereader/images/corrupt.xbm | 5 + .../auto/qimagereader/images/crash-signed-char.bmp | Bin 0 -> 45748 bytes tests/auto/qimagereader/images/earth.gif | Bin 0 -> 51712 bytes tests/auto/qimagereader/images/fire.mng | Bin 0 -> 44430 bytes tests/auto/qimagereader/images/font.bmp | Bin 0 -> 1026 bytes tests/auto/qimagereader/images/gnus.xbm | 622 + tests/auto/qimagereader/images/image.pbm | 8 + tests/auto/qimagereader/images/image.pgm | 10 + tests/auto/qimagereader/images/image.png | Bin 0 -> 549 bytes tests/auto/qimagereader/images/image.ppm | 7 + tests/auto/qimagereader/images/kollada-noext | Bin 0 -> 13907 bytes tests/auto/qimagereader/images/kollada.png | Bin 0 -> 13907 bytes tests/auto/qimagereader/images/marble.xpm | 470 + tests/auto/qimagereader/images/namedcolors.xpm | 18 + tests/auto/qimagereader/images/negativeheight.bmp | Bin 0 -> 24630 bytes tests/auto/qimagereader/images/noclearcode.bmp | Bin 0 -> 326 bytes tests/auto/qimagereader/images/noclearcode.gif | Bin 0 -> 130 bytes tests/auto/qimagereader/images/nontransparent.xpm | 788 + .../qimagereader/images/pngwithcompressedtext.png | Bin 0 -> 757 bytes tests/auto/qimagereader/images/pngwithtext.png | Bin 0 -> 796 bytes .../images/rgba_adobedeflate_littleendian.tif | Bin 0 -> 4784 bytes .../qimagereader/images/rgba_lzw_littleendian.tif | Bin 0 -> 26690 bytes .../images/rgba_nocompression_bigendian.tif | Bin 0 -> 160384 bytes .../images/rgba_nocompression_littleendian.tif | Bin 0 -> 160388 bytes .../images/rgba_packbits_littleendian.tif | Bin 0 -> 161370 bytes .../images/rgba_zipdeflate_littleendian.tif | Bin 0 -> 14728 bytes tests/auto/qimagereader/images/runners.ppm | Bin 0 -> 960016 bytes tests/auto/qimagereader/images/teapot.ppm | 31 + tests/auto/qimagereader/images/test.ppm | 2 + tests/auto/qimagereader/images/test.xpm | 260 + tests/auto/qimagereader/images/transparent.xpm | 788 + tests/auto/qimagereader/images/trolltech.gif | Bin 0 -> 42629 bytes tests/auto/qimagereader/images/tst7.bmp | Bin 0 -> 582 bytes tests/auto/qimagereader/images/tst7.png | Bin 0 -> 167 bytes tests/auto/qimagereader/qimagereader.pro | 26 + tests/auto/qimagereader/qimagereader.qrc | 51 + tests/auto/qimagereader/tst_qimagereader.cpp | 1397 + tests/auto/qimagewriter/.gitignore | 1 + tests/auto/qimagewriter/images/YCbCr_cmyk.jpg | Bin 0 -> 3699 bytes tests/auto/qimagewriter/images/YCbCr_rgb.jpg | Bin 0 -> 2045 bytes tests/auto/qimagewriter/images/beavis.jpg | Bin 0 -> 20688 bytes tests/auto/qimagewriter/images/colorful.bmp | Bin 0 -> 65002 bytes tests/auto/qimagewriter/images/earth.gif | Bin 0 -> 51712 bytes tests/auto/qimagewriter/images/font.bmp | Bin 0 -> 1026 bytes tests/auto/qimagewriter/images/gnus.xbm | 622 + tests/auto/qimagewriter/images/kollada.png | Bin 0 -> 13907 bytes tests/auto/qimagewriter/images/marble.xpm | 329 + tests/auto/qimagewriter/images/ship63.pbm | Bin 0 -> 111 bytes tests/auto/qimagewriter/images/teapot.ppm | 31 + tests/auto/qimagewriter/images/teapot.tiff | Bin 0 -> 262274 bytes tests/auto/qimagewriter/images/trolltech.gif | Bin 0 -> 42629 bytes tests/auto/qimagewriter/qimagewriter.pro | 15 + tests/auto/qimagewriter/tst_qimagewriter.cpp | 586 + tests/auto/qinputdialog/.gitignore | 1 + tests/auto/qinputdialog/qinputdialog.pro | 4 + tests/auto/qinputdialog/tst_qinputdialog.cpp | 372 + tests/auto/qintvalidator/.gitignore | 1 + tests/auto/qintvalidator/qintvalidator.pro | 4 + tests/auto/qintvalidator/tst_qintvalidator.cpp | 198 + tests/auto/qiodevice/.gitignore | 2 + tests/auto/qiodevice/qiodevice.pro | 18 + tests/auto/qiodevice/tst_qiodevice.cpp | 458 + tests/auto/qitemdelegate/.gitignore | 1 + tests/auto/qitemdelegate/qitemdelegate.pro | 5 + tests/auto/qitemdelegate/tst_qitemdelegate.cpp | 1070 + tests/auto/qitemeditorfactory/.gitignore | 1 + .../auto/qitemeditorfactory/qitemeditorfactory.pro | 4 + .../qitemeditorfactory/tst_qitemeditorfactory.cpp | 84 + tests/auto/qitemmodel/.gitignore | 1 + tests/auto/qitemmodel/README | 3 + tests/auto/qitemmodel/modelstotest.cpp | 415 + tests/auto/qitemmodel/qitemmodel.pro | 16 + tests/auto/qitemmodel/tst_qitemmodel.cpp | 1397 + tests/auto/qitemselectionmodel/.gitignore | 1 + .../qitemselectionmodel/qitemselectionmodel.pro | 4 + .../tst_qitemselectionmodel.cpp | 2145 + tests/auto/qitemview/.gitignore | 1 + tests/auto/qitemview/qitemview.pro | 4 + tests/auto/qitemview/tst_qitemview.cpp | 922 + tests/auto/qitemview/viewstotest.cpp | 165 + tests/auto/qkeyevent/.gitignore | 1 + tests/auto/qkeyevent/qkeyevent.pro | 5 + tests/auto/qkeyevent/tst_qkeyevent.cpp | 228 + tests/auto/qkeysequence/.gitignore | 1 + tests/auto/qkeysequence/keys_de.qm | Bin 0 -> 721 bytes tests/auto/qkeysequence/keys_de.ts | 61 + tests/auto/qkeysequence/qkeysequence.pro | 6 + tests/auto/qkeysequence/tst_qkeysequence.cpp | 531 + tests/auto/qlabel/.gitignore | 1 + tests/auto/qlabel/green.png | Bin 0 -> 97 bytes tests/auto/qlabel/qlabel.pro | 16 + tests/auto/qlabel/red.png | Bin 0 -> 105 bytes .../qlabel/testdata/acc_01/res_Windows_data0.qsnap | Bin 0 -> 328 bytes .../testdata/acc_01/res_Windows_win32_data0.qsnap | Bin 0 -> 330 bytes .../setAlignment/alignRes_Motif_data0.qsnap | Bin 0 -> 322 bytes .../setAlignment/alignRes_Motif_data1.qsnap | Bin 0 -> 328 bytes .../setAlignment/alignRes_Motif_data10.qsnap | Bin 0 -> 330 bytes .../setAlignment/alignRes_Motif_data2.qsnap | Bin 0 -> 324 bytes .../setAlignment/alignRes_Motif_data3.qsnap | Bin 0 -> 320 bytes .../setAlignment/alignRes_Motif_data4.qsnap | Bin 0 -> 322 bytes .../setAlignment/alignRes_Motif_data5.qsnap | Bin 0 -> 328 bytes .../setAlignment/alignRes_Motif_data6.qsnap | Bin 0 -> 330 bytes .../setAlignment/alignRes_Motif_data7.qsnap | Bin 0 -> 318 bytes .../setAlignment/alignRes_Motif_data8.qsnap | Bin 0 -> 324 bytes .../setAlignment/alignRes_Motif_data9.qsnap | Bin 0 -> 332 bytes .../setAlignment/alignRes_Windows_data0.qsnap | Bin 0 -> 316 bytes .../setAlignment/alignRes_Windows_data1.qsnap | Bin 0 -> 322 bytes .../setAlignment/alignRes_Windows_data10.qsnap | Bin 0 -> 324 bytes .../setAlignment/alignRes_Windows_data2.qsnap | Bin 0 -> 318 bytes .../setAlignment/alignRes_Windows_data3.qsnap | Bin 0 -> 314 bytes .../setAlignment/alignRes_Windows_data4.qsnap | Bin 0 -> 316 bytes .../setAlignment/alignRes_Windows_data5.qsnap | Bin 0 -> 322 bytes .../setAlignment/alignRes_Windows_data6.qsnap | Bin 0 -> 324 bytes .../setAlignment/alignRes_Windows_data7.qsnap | Bin 0 -> 312 bytes .../setAlignment/alignRes_Windows_data8.qsnap | Bin 0 -> 318 bytes .../setAlignment/alignRes_Windows_data9.qsnap | Bin 0 -> 326 bytes .../alignRes_Windows_win32_data0.qsnap | Bin 0 -> 318 bytes .../alignRes_Windows_win32_data1.qsnap | Bin 0 -> 324 bytes .../alignRes_Windows_win32_data10.qsnap | Bin 0 -> 326 bytes .../alignRes_Windows_win32_data2.qsnap | Bin 0 -> 320 bytes .../alignRes_Windows_win32_data3.qsnap | Bin 0 -> 316 bytes .../alignRes_Windows_win32_data4.qsnap | Bin 0 -> 318 bytes .../alignRes_Windows_win32_data5.qsnap | Bin 0 -> 324 bytes .../alignRes_Windows_win32_data6.qsnap | Bin 0 -> 326 bytes .../alignRes_Windows_win32_data7.qsnap | Bin 0 -> 314 bytes .../alignRes_Windows_win32_data8.qsnap | Bin 0 -> 320 bytes .../alignRes_Windows_win32_data9.qsnap | Bin 0 -> 328 bytes .../testdata/setIndent/indentRes_Motif_data0.qsnap | Bin 0 -> 344 bytes .../testdata/setIndent/indentRes_Motif_data1.qsnap | Bin 0 -> 346 bytes .../testdata/setIndent/indentRes_Motif_data2.qsnap | Bin 0 -> 346 bytes .../setIndent/indentRes_Windows_data0.qsnap | Bin 0 -> 338 bytes .../setIndent/indentRes_Windows_data1.qsnap | Bin 0 -> 340 bytes .../setIndent/indentRes_Windows_data2.qsnap | Bin 0 -> 340 bytes .../setIndent/indentRes_Windows_win32_data0.qsnap | Bin 0 -> 340 bytes .../setIndent/indentRes_Windows_win32_data1.qsnap | Bin 0 -> 342 bytes .../setIndent/indentRes_Windows_win32_data2.qsnap | Bin 0 -> 342 bytes .../testdata/setPixmap/Vpix_Motif_data0.qsnap | Bin 0 -> 405 bytes .../testdata/setPixmap/Vpix_Windows_data0.qsnap | Bin 0 -> 399 bytes .../setPixmap/Vpix_Windows_win32_data0.qsnap | Bin 0 -> 397 bytes .../testdata/setPixmap/empty_Motif_data0.qsnap | Bin 0 -> 257 bytes .../testdata/setPixmap/empty_Windows_data0.qsnap | Bin 0 -> 251 bytes .../setPixmap/empty_Windows_win32_data0.qsnap | Bin 0 -> 249 bytes .../setPixmap/scaledVpix_Motif_data0.qsnap | Bin 0 -> 1040 bytes .../setPixmap/scaledVpix_Windows_data0.qsnap | Bin 0 -> 1034 bytes .../setPixmap/scaledVpix_Windows_win32_data0.qsnap | Bin 0 -> 984 bytes .../qlabel/testdata/setText/res_Motif_data0.qsnap | Bin 0 -> 352 bytes .../qlabel/testdata/setText/res_Motif_data1.qsnap | Bin 0 -> 398 bytes .../qlabel/testdata/setText/res_Motif_data2.qsnap | Bin 0 -> 448 bytes .../qlabel/testdata/setText/res_Motif_data3.qsnap | Bin 0 -> 744 bytes .../testdata/setText/res_Windows_data0.qsnap | Bin 0 -> 346 bytes .../testdata/setText/res_Windows_data1.qsnap | Bin 0 -> 392 bytes .../testdata/setText/res_Windows_data2.qsnap | Bin 0 -> 442 bytes .../testdata/setText/res_Windows_data3.qsnap | Bin 0 -> 738 bytes .../testdata/setText/res_Windows_win32_data0.qsnap | Bin 0 -> 344 bytes .../testdata/setText/res_Windows_win32_data1.qsnap | Bin 0 -> 390 bytes .../testdata/setText/res_Windows_win32_data2.qsnap | Bin 0 -> 440 bytes .../testdata/setText/res_Windows_win32_data3.qsnap | Bin 0 -> 736 bytes tests/auto/qlabel/tst_qlabel.cpp | 451 + tests/auto/qlayout/.gitignore | 1 + tests/auto/qlayout/baseline/smartmaxsize | 1792 + tests/auto/qlayout/qlayout.pro | 14 + tests/auto/qlayout/tst_qlayout.cpp | 337 + tests/auto/qlcdnumber/.gitignore | 1 + tests/auto/qlcdnumber/qlcdnumber.pro | 9 + tests/auto/qlcdnumber/tst_qlcdnumber.cpp | 88 + tests/auto/qlibrary/.gitignore | 10 + tests/auto/qlibrary/lib/lib.pro | 30 + tests/auto/qlibrary/lib/mylib.c | 19 + tests/auto/qlibrary/lib2/lib2.pro | 30 + tests/auto/qlibrary/lib2/mylib.c | 19 + tests/auto/qlibrary/library_path/invalid.so | 1 + tests/auto/qlibrary/qlibrary.pro | 9 + tests/auto/qlibrary/tst/tst.pro | 23 + tests/auto/qlibrary/tst_qlibrary.cpp | 558 + tests/auto/qline/.gitignore | 1 + tests/auto/qline/qline.pro | 6 + tests/auto/qline/tst_qline.cpp | 492 + tests/auto/qlineedit/.gitignore | 1 + tests/auto/qlineedit/qlineedit.pro | 5 + .../testdata/frame/noFrame_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../frame/noFrame_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes .../testdata/frame/useFrame_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../frame/useFrame_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/auto_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/auto_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/hcenter_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/hcenter_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/left_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/left_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/right_Motif-32x96x96_win.png | Bin 0 -> 30154 bytes .../setAlignment/right_Windows-32x96x96_win.png | Bin 0 -> 30154 bytes tests/auto/qlineedit/tst_qlineedit.cpp | 3491 + tests/auto/qlist/.gitignore | 1 + tests/auto/qlist/qlist.pro | 5 + tests/auto/qlist/tst_qlist.cpp | 133 + tests/auto/qlistview/.gitignore | 1 + tests/auto/qlistview/qlistview.pro | 5 + tests/auto/qlistview/tst_qlistview.cpp | 1522 + tests/auto/qlistwidget/.gitignore | 1 + tests/auto/qlistwidget/qlistwidget.pro | 4 + tests/auto/qlistwidget/tst_qlistwidget.cpp | 1502 + tests/auto/qlocale/.gitignore | 3 + tests/auto/qlocale/qlocale.pro | 4 + tests/auto/qlocale/syslocaleapp/syslocaleapp.cpp | 53 + tests/auto/qlocale/syslocaleapp/syslocaleapp.pro | 8 + tests/auto/qlocale/test/test.pro | 31 + tests/auto/qlocale/tst_qlocale.cpp | 1995 + tests/auto/qlocalsocket/.gitignore | 2 + tests/auto/qlocalsocket/example/client/client.pro | 16 + tests/auto/qlocalsocket/example/client/main.cpp | 84 + tests/auto/qlocalsocket/example/example.pro | 3 + tests/auto/qlocalsocket/example/server/main.cpp | 97 + tests/auto/qlocalsocket/example/server/server.pro | 19 + tests/auto/qlocalsocket/lackey/lackey.pro | 18 + tests/auto/qlocalsocket/lackey/main.cpp | 294 + tests/auto/qlocalsocket/lackey/scripts/client.js | 35 + tests/auto/qlocalsocket/lackey/scripts/server.js | 19 + tests/auto/qlocalsocket/qlocalsocket.pro | 3 + tests/auto/qlocalsocket/test/test.pro | 35 + tests/auto/qlocalsocket/tst_qlocalsocket.cpp | 831 + tests/auto/qmacstyle/.gitignore | 1 + tests/auto/qmacstyle/qmacstyle.pro | 4 + tests/auto/qmacstyle/tst_qmacstyle.cpp | 422 + tests/auto/qmainwindow/.gitignore | 1 + tests/auto/qmainwindow/qmainwindow.pro | 5 + tests/auto/qmainwindow/tst_qmainwindow.cpp | 1660 + tests/auto/qmake/.gitignore | 1 + tests/auto/qmake/qmake.pro | 9 + tests/auto/qmake/testcompiler.cpp | 396 + tests/auto/qmake/testcompiler.h | 110 + tests/auto/qmake/testdata/comments/comments.pro | 33 + .../testdata/duplicateLibraryEntries/duplib.pro | 10 + .../export_across_file_boundaries/.qmake.cache | 0 .../features/default_pre.prf | 7 + .../testdata/export_across_file_boundaries/foo.pro | 17 + .../export_across_file_boundaries/oink.pri | 1 + tests/auto/qmake/testdata/findDeps/findDeps.pro | 20 + tests/auto/qmake/testdata/findDeps/main.cpp | 61 + tests/auto/qmake/testdata/findDeps/object1.h | 49 + tests/auto/qmake/testdata/findDeps/object2.h | 49 + tests/auto/qmake/testdata/findDeps/object3.h | 49 + tests/auto/qmake/testdata/findDeps/object4.h | 49 + tests/auto/qmake/testdata/findDeps/object5.h | 49 + tests/auto/qmake/testdata/findDeps/object6.h | 49 + tests/auto/qmake/testdata/findDeps/object7.h | 49 + tests/auto/qmake/testdata/findDeps/object8.h | 49 + tests/auto/qmake/testdata/findDeps/object9.h | 49 + tests/auto/qmake/testdata/findMocs/findMocs.pro | 12 + tests/auto/qmake/testdata/findMocs/main.cpp | 52 + tests/auto/qmake/testdata/findMocs/object1.h | 50 + tests/auto/qmake/testdata/findMocs/object2.h | 49 + tests/auto/qmake/testdata/findMocs/object3.h | 50 + tests/auto/qmake/testdata/findMocs/object4.h | 61 + tests/auto/qmake/testdata/findMocs/object5.h | 48 + tests/auto/qmake/testdata/findMocs/object6.h | 50 + tests/auto/qmake/testdata/findMocs/object7.h | 50 + .../qmake/testdata/func_export/func_export.pro | 22 + .../testdata/func_variables/func_variables.pro | 52 + tests/auto/qmake/testdata/functions/1.cpp | 40 + tests/auto/qmake/testdata/functions/2.cpp | 40 + tests/auto/qmake/testdata/functions/functions.pro | 91 + tests/auto/qmake/testdata/functions/infiletest.pro | 2 + tests/auto/qmake/testdata/functions/one/1.cpp | 40 + tests/auto/qmake/testdata/functions/one/2.cpp | 40 + .../qmake/testdata/functions/three/wildcard21.cpp | 40 + .../qmake/testdata/functions/three/wildcard22.cpp | 40 + tests/auto/qmake/testdata/functions/two/1.cpp | 40 + tests/auto/qmake/testdata/functions/two/2.cpp | 40 + tests/auto/qmake/testdata/functions/wildcard21.cpp | 40 + tests/auto/qmake/testdata/functions/wildcard22.cpp | 40 + tests/auto/qmake/testdata/include_dir/foo.pro | 12 + tests/auto/qmake/testdata/include_dir/main.cpp | 51 + .../auto/qmake/testdata/include_dir/test_file.cpp | 48 + tests/auto/qmake/testdata/include_dir/test_file.h | 52 + tests/auto/qmake/testdata/include_dir/untitled.ui | 22 + tests/auto/qmake/testdata/include_dir_build/README | 1 + tests/auto/qmake/testdata/install_depends/foo.pro | 23 + tests/auto/qmake/testdata/install_depends/main.cpp | 51 + tests/auto/qmake/testdata/install_depends/test1 | 0 tests/auto/qmake/testdata/install_depends/test2 | 0 .../qmake/testdata/install_depends/test_file.cpp | 47 + .../qmake/testdata/install_depends/test_file.h | 50 + tests/auto/qmake/testdata/one_space/main.cpp | 50 + tests/auto/qmake/testdata/one_space/one_space.pro | 10 + tests/auto/qmake/testdata/operators/operators.pro | 24 + tests/auto/qmake/testdata/prompt/prompt.pro | 2 + tests/auto/qmake/testdata/quotedfilenames/main.cpp | 51 + .../testdata/quotedfilenames/quotedfilenames.pro | 22 + .../testdata/quotedfilenames/rc folder/logo.png | Bin 0 -> 16715 bytes .../testdata/quotedfilenames/rc folder/test.qrc | 5 + tests/auto/qmake/testdata/shadow_files/foo.pro | 17 + tests/auto/qmake/testdata/shadow_files/main.cpp | 51 + tests/auto/qmake/testdata/shadow_files/test.txt | 0 .../auto/qmake/testdata/shadow_files/test_file.cpp | 47 + tests/auto/qmake/testdata/shadow_files/test_file.h | 50 + .../auto/qmake/testdata/shadow_files_build/README | 1 + .../auto/qmake/testdata/shadow_files_build/foo.bar | 0 tests/auto/qmake/testdata/simple_app/main.cpp | 52 + .../auto/qmake/testdata/simple_app/simple_app.pro | 12 + tests/auto/qmake/testdata/simple_app/test_file.cpp | 47 + tests/auto/qmake/testdata/simple_app/test_file.h | 50 + tests/auto/qmake/testdata/simple_dll/simple.cpp | 56 + tests/auto/qmake/testdata/simple_dll/simple.h | 59 + .../auto/qmake/testdata/simple_dll/simple_dll.pro | 19 + tests/auto/qmake/testdata/simple_lib/simple.cpp | 56 + tests/auto/qmake/testdata/simple_lib/simple.h | 58 + .../auto/qmake/testdata/simple_lib/simple_lib.pro | 14 + .../qmake/testdata/subdirs/simple_app/main.cpp | 52 + .../testdata/subdirs/simple_app/simple_app.pro | 12 + .../testdata/subdirs/simple_app/test_file.cpp | 47 + .../qmake/testdata/subdirs/simple_app/test_file.h | 50 + .../qmake/testdata/subdirs/simple_dll/simple.cpp | 56 + .../qmake/testdata/subdirs/simple_dll/simple.h | 59 + .../testdata/subdirs/simple_dll/simple_dll.pro | 20 + tests/auto/qmake/testdata/subdirs/subdirs.pro | 6 + tests/auto/qmake/testdata/variables/variables.pro | 14 + tests/auto/qmake/tst_qmake.cpp | 385 + tests/auto/qmap/.gitignore | 1 + tests/auto/qmap/qmap.pro | 8 + tests/auto/qmap/tst_qmap.cpp | 852 + tests/auto/qmdiarea/.gitignore | 1 + tests/auto/qmdiarea/qmdiarea.pro | 9 + tests/auto/qmdiarea/tst_qmdiarea.cpp | 2700 + tests/auto/qmdisubwindow/.gitignore | 1 + tests/auto/qmdisubwindow/qmdisubwindow.pro | 6 + tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp | 2025 + tests/auto/qmenu/.gitignore | 1 + tests/auto/qmenu/qmenu.pro | 7 + tests/auto/qmenu/tst_qmenu.cpp | 683 + tests/auto/qmenubar/.gitignore | 1 + tests/auto/qmenubar/qmenubar.pro | 6 + tests/auto/qmenubar/tst_qmenubar.cpp | 1567 + tests/auto/qmessagebox/.gitignore | 1 + tests/auto/qmessagebox/qmessagebox.pro | 16 + tests/auto/qmessagebox/tst_qmessagebox.cpp | 718 + tests/auto/qmetaobject/.gitignore | 1 + tests/auto/qmetaobject/qmetaobject.pro | 5 + tests/auto/qmetaobject/tst_qmetaobject.cpp | 791 + tests/auto/qmetatype/.gitignore | 1 + tests/auto/qmetatype/qmetatype.pro | 6 + tests/auto/qmetatype/tst_qmetatype.cpp | 314 + tests/auto/qmouseevent/.gitignore | 1 + tests/auto/qmouseevent/qmouseevent.pro | 5 + tests/auto/qmouseevent/tst_qmouseevent.cpp | 291 + tests/auto/qmouseevent_modal/.gitignore | 1 + tests/auto/qmouseevent_modal/qmouseevent_modal.pro | 5 + .../qmouseevent_modal/tst_qmouseevent_modal.cpp | 227 + tests/auto/qmovie/.gitignore | 1 + tests/auto/qmovie/animations/comicsecard.gif | Bin 0 -> 12112 bytes tests/auto/qmovie/animations/dutch.mng | Bin 0 -> 18534 bytes tests/auto/qmovie/animations/trolltech.gif | Bin 0 -> 70228 bytes tests/auto/qmovie/qmovie.pro | 14 + tests/auto/qmovie/tst_qmovie.cpp | 217 + tests/auto/qmultiscreen/.gitignore | 1 + tests/auto/qmultiscreen/qmultiscreen.pro | 5 + tests/auto/qmultiscreen/tst_qmultiscreen.cpp | 172 + tests/auto/qmutex/.gitignore | 1 + tests/auto/qmutex/qmutex.pro | 5 + tests/auto/qmutex/tst_qmutex.cpp | 468 + tests/auto/qmutexlocker/.gitignore | 1 + tests/auto/qmutexlocker/qmutexlocker.pro | 5 + tests/auto/qmutexlocker/tst_qmutexlocker.cpp | 240 + tests/auto/qnativesocketengine/.gitignore | 1 + .../qnativesocketengine/qnativesocketengine.pro | 10 + tests/auto/qnativesocketengine/qsocketengine.pri | 19 + .../tst_qnativesocketengine.cpp | 700 + tests/auto/qnetworkaddressentry/.gitignore | 1 + .../qnetworkaddressentry/qnetworkaddressentry.pro | 4 + .../tst_qnetworkaddressentry.cpp | 185 + tests/auto/qnetworkcachemetadata/.gitignore | 1 + .../qnetworkcachemetadata.pro | 5 + .../tst_qnetworkcachemetadata.cpp | 373 + tests/auto/qnetworkcookie/.gitignore | 1 + tests/auto/qnetworkcookie/qnetworkcookie.pro | 4 + tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp | 434 + tests/auto/qnetworkcookiejar/.gitignore | 1 + tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro | 4 + .../qnetworkcookiejar/tst_qnetworkcookiejar.cpp | 280 + tests/auto/qnetworkdiskcache/.gitignore | 1 + tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro | 5 + .../qnetworkdiskcache/tst_qnetworkdiskcache.cpp | 603 + tests/auto/qnetworkinterface/.gitignore | 1 + tests/auto/qnetworkinterface/qnetworkinterface.pro | 6 + .../qnetworkinterface/tst_qnetworkinterface.cpp | 214 + tests/auto/qnetworkproxy/.gitignore | 1 + tests/auto/qnetworkproxy/qnetworkproxy.pro | 10 + tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp | 85 + tests/auto/qnetworkreply/.gitattributes | 2 + tests/auto/qnetworkreply/.gitignore | 3 + tests/auto/qnetworkreply/bigfile | 17980 ++++ tests/auto/qnetworkreply/echo/echo.pro | 6 + tests/auto/qnetworkreply/echo/main.cpp | 62 + tests/auto/qnetworkreply/empty | 0 tests/auto/qnetworkreply/qnetworkreply.pro | 4 + tests/auto/qnetworkreply/qnetworkreply.qrc | 5 + tests/auto/qnetworkreply/resource | 283 + tests/auto/qnetworkreply/rfc3252.txt | 899 + tests/auto/qnetworkreply/test/test.pro | 22 + tests/auto/qnetworkreply/tst_qnetworkreply.cpp | 2971 + tests/auto/qnetworkrequest/.gitignore | 1 + tests/auto/qnetworkrequest/qnetworkrequest.pro | 4 + tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp | 480 + tests/auto/qnumeric/.gitignore | 1 + tests/auto/qnumeric/qnumeric.pro | 7 + tests/auto/qnumeric/tst_qnumeric.cpp | 119 + tests/auto/qobject/.gitignore | 3 + tests/auto/qobject/qobject.pro | 4 + tests/auto/qobject/signalbug.cpp | 151 + tests/auto/qobject/signalbug.h | 103 + tests/auto/qobject/signalbug.pro | 19 + tests/auto/qobject/tst_qobject.cpp | 2793 + tests/auto/qobject/tst_qobject.pro | 12 + tests/auto/qobjectperformance/.gitignore | 1 + .../auto/qobjectperformance/qobjectperformance.pro | 6 + .../qobjectperformance/tst_qobjectperformance.cpp | 126 + tests/auto/qobjectrace/.gitignore | 1 + tests/auto/qobjectrace/qobjectrace.pro | 6 + tests/auto/qobjectrace/tst_qobjectrace.cpp | 151 + tests/auto/qpaintengine/.gitignore | 1 + tests/auto/qpaintengine/qpaintengine.pro | 9 + tests/auto/qpaintengine/tst_qpaintengine.cpp | 99 + tests/auto/qpainter/.gitignore | 2 + tests/auto/qpainter/drawEllipse/10x10SizeAt0x0.png | Bin 0 -> 243 bytes .../qpainter/drawEllipse/10x10SizeAt100x100.png | Bin 0 -> 245 bytes .../qpainter/drawEllipse/10x10SizeAt200x200.png | Bin 0 -> 195 bytes .../auto/qpainter/drawEllipse/13x100SizeAt0x0.png | Bin 0 -> 461 bytes .../qpainter/drawEllipse/13x100SizeAt100x100.png | Bin 0 -> 470 bytes .../qpainter/drawEllipse/13x100SizeAt200x200.png | Bin 0 -> 195 bytes .../auto/qpainter/drawEllipse/200x200SizeAt0x0.png | Bin 0 -> 1294 bytes .../qpainter/drawEllipse/200x200SizeAt100x100.png | Bin 0 -> 619 bytes .../qpainter/drawEllipse/200x200SizeAt200x200.png | Bin 0 -> 195 bytes tests/auto/qpainter/drawLine_rop_bitmap/dst.xbm | 6 + .../drawLine_rop_bitmap/res/res_AndNotROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_AndROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_ClearROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_CopyROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NandROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NopROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NorROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NotAndROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NotCopyROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NotOrROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NotROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_NotXorROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_OrNotROP.xbm | 6 + .../qpainter/drawLine_rop_bitmap/res/res_OrROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_SetROP.xbm | 6 + .../drawLine_rop_bitmap/res/res_XorROP.xbm | 6 + tests/auto/qpainter/drawPixmap_rop/dst1.png | Bin 0 -> 184 bytes tests/auto/qpainter/drawPixmap_rop/dst2.png | Bin 0 -> 184 bytes tests/auto/qpainter/drawPixmap_rop/dst3.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP0.png | Bin 0 -> 214 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP1.png | Bin 0 -> 247 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP2.png | Bin 0 -> 258 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP3.png | Bin 0 -> 253 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP4.png | Bin 0 -> 237 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP5.png | Bin 0 -> 260 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP6.png | Bin 0 -> 258 bytes .../qpainter/drawPixmap_rop/res/res_AndNotROP7.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_AndROP0.png | Bin 0 -> 173 bytes .../qpainter/drawPixmap_rop/res/res_AndROP1.png | Bin 0 -> 203 bytes .../qpainter/drawPixmap_rop/res/res_AndROP2.png | Bin 0 -> 217 bytes .../qpainter/drawPixmap_rop/res/res_AndROP3.png | Bin 0 -> 207 bytes .../qpainter/drawPixmap_rop/res/res_AndROP4.png | Bin 0 -> 196 bytes .../qpainter/drawPixmap_rop/res/res_AndROP5.png | Bin 0 -> 213 bytes .../qpainter/drawPixmap_rop/res/res_AndROP6.png | Bin 0 -> 218 bytes .../qpainter/drawPixmap_rop/res/res_AndROP7.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP0.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP1.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP2.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP3.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP4.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP5.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP6.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_ClearROP7.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP0.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP1.png | Bin 0 -> 176 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP2.png | Bin 0 -> 175 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP3.png | Bin 0 -> 177 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP4.png | Bin 0 -> 176 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP5.png | Bin 0 -> 176 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP6.png | Bin 0 -> 176 bytes .../qpainter/drawPixmap_rop/res/res_CopyROP7.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_NandROP0.png | Bin 0 -> 217 bytes .../qpainter/drawPixmap_rop/res/res_NandROP1.png | Bin 0 -> 242 bytes .../qpainter/drawPixmap_rop/res/res_NandROP2.png | Bin 0 -> 249 bytes .../qpainter/drawPixmap_rop/res/res_NandROP3.png | Bin 0 -> 244 bytes .../qpainter/drawPixmap_rop/res/res_NandROP4.png | Bin 0 -> 234 bytes .../qpainter/drawPixmap_rop/res/res_NandROP5.png | Bin 0 -> 254 bytes .../qpainter/drawPixmap_rop/res/res_NandROP6.png | Bin 0 -> 251 bytes .../qpainter/drawPixmap_rop/res/res_NandROP7.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NopROP0.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP1.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP2.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP3.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP4.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP5.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP6.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NopROP7.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NorROP0.png | Bin 0 -> 211 bytes .../qpainter/drawPixmap_rop/res/res_NorROP1.png | Bin 0 -> 208 bytes .../qpainter/drawPixmap_rop/res/res_NorROP2.png | Bin 0 -> 215 bytes .../qpainter/drawPixmap_rop/res/res_NorROP3.png | Bin 0 -> 187 bytes .../qpainter/drawPixmap_rop/res/res_NorROP4.png | Bin 0 -> 213 bytes .../qpainter/drawPixmap_rop/res/res_NorROP5.png | Bin 0 -> 204 bytes .../qpainter/drawPixmap_rop/res/res_NorROP6.png | Bin 0 -> 198 bytes .../qpainter/drawPixmap_rop/res/res_NorROP7.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP0.png | Bin 0 -> 177 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP1.png | Bin 0 -> 198 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP2.png | Bin 0 -> 195 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP3.png | Bin 0 -> 185 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP4.png | Bin 0 -> 188 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP5.png | Bin 0 -> 198 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP6.png | Bin 0 -> 185 bytes .../qpainter/drawPixmap_rop/res/res_NotAndROP7.png | Bin 0 -> 155 bytes .../drawPixmap_rop/res/res_NotCopyROP0.png | Bin 0 -> 168 bytes .../drawPixmap_rop/res/res_NotCopyROP1.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP2.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP3.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP4.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP5.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP6.png | Bin 0 -> 167 bytes .../drawPixmap_rop/res/res_NotCopyROP7.png | Bin 0 -> 155 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP0.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP1.png | Bin 0 -> 224 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP2.png | Bin 0 -> 229 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP3.png | Bin 0 -> 224 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP4.png | Bin 0 -> 198 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP5.png | Bin 0 -> 229 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP6.png | Bin 0 -> 227 bytes .../qpainter/drawPixmap_rop/res/res_NotOrROP7.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_NotROP0.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP1.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP2.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP3.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP4.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP5.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP6.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotROP7.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP0.png | Bin 0 -> 239 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP1.png | Bin 0 -> 237 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP2.png | Bin 0 -> 243 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP3.png | Bin 0 -> 226 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP4.png | Bin 0 -> 235 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP5.png | Bin 0 -> 230 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP6.png | Bin 0 -> 232 bytes .../qpainter/drawPixmap_rop/res/res_NotXorROP7.png | Bin 0 -> 184 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP0.png | Bin 0 -> 217 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP1.png | Bin 0 -> 213 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP2.png | Bin 0 -> 222 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP3.png | Bin 0 -> 194 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP4.png | Bin 0 -> 219 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP5.png | Bin 0 -> 215 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP6.png | Bin 0 -> 212 bytes .../qpainter/drawPixmap_rop/res/res_OrNotROP7.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_OrROP0.png | Bin 0 -> 186 bytes .../qpainter/drawPixmap_rop/res/res_OrROP1.png | Bin 0 -> 212 bytes .../qpainter/drawPixmap_rop/res/res_OrROP2.png | Bin 0 -> 216 bytes .../qpainter/drawPixmap_rop/res/res_OrROP3.png | Bin 0 -> 194 bytes .../qpainter/drawPixmap_rop/res/res_OrROP4.png | Bin 0 -> 207 bytes .../qpainter/drawPixmap_rop/res/res_OrROP5.png | Bin 0 -> 214 bytes .../qpainter/drawPixmap_rop/res/res_OrROP6.png | Bin 0 -> 208 bytes .../qpainter/drawPixmap_rop/res/res_OrROP7.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP0.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP1.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP2.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP3.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP4.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP5.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP6.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_SetROP7.png | Bin 0 -> 169 bytes .../qpainter/drawPixmap_rop/res/res_XorROP0.png | Bin 0 -> 228 bytes .../qpainter/drawPixmap_rop/res/res_XorROP1.png | Bin 0 -> 255 bytes .../qpainter/drawPixmap_rop/res/res_XorROP2.png | Bin 0 -> 260 bytes .../qpainter/drawPixmap_rop/res/res_XorROP3.png | Bin 0 -> 251 bytes .../qpainter/drawPixmap_rop/res/res_XorROP4.png | Bin 0 -> 251 bytes .../qpainter/drawPixmap_rop/res/res_XorROP5.png | Bin 0 -> 261 bytes .../qpainter/drawPixmap_rop/res/res_XorROP6.png | Bin 0 -> 264 bytes .../qpainter/drawPixmap_rop/res/res_XorROP7.png | Bin 0 -> 228 bytes tests/auto/qpainter/drawPixmap_rop/src1.xbm | 12 + tests/auto/qpainter/drawPixmap_rop/src2-mask.xbm | 16 + tests/auto/qpainter/drawPixmap_rop/src2.xbm | 16 + tests/auto/qpainter/drawPixmap_rop/src3.xbm | 12 + tests/auto/qpainter/drawPixmap_rop_bitmap/dst.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_AndNotROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_AndROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_ClearROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_CopyROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NandROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NopROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NorROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NotAndROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NotCopyROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NotOrROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NotROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_NotXorROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_OrNotROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_OrROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_SetROP.xbm | 6 + .../drawPixmap_rop_bitmap/res/res_XorROP.xbm | 6 + .../qpainter/drawPixmap_rop_bitmap/src1-mask.xbm | 6 + tests/auto/qpainter/drawPixmap_rop_bitmap/src1.xbm | 6 + tests/auto/qpainter/drawPixmap_rop_bitmap/src2.xbm | 5 + tests/auto/qpainter/qpainter.pro | 13 + tests/auto/qpainter/task217400.png | Bin 0 -> 526 bytes tests/auto/qpainter/tst_qpainter.cpp | 4073 + .../qpainter/utils/createImages/createImages.pro | 11 + tests/auto/qpainter/utils/createImages/main.cpp | 194 + tests/auto/qpainterpath/.gitignore | 2 + tests/auto/qpainterpath/qpainterpath.pro | 5 + tests/auto/qpainterpath/tst_qpainterpath.cpp | 1177 + tests/auto/qpainterpathstroker/.gitignore | 1 + .../qpainterpathstroker/qpainterpathstroker.pro | 5 + .../tst_qpainterpathstroker.cpp | 75 + tests/auto/qpalette/.gitignore | 1 + tests/auto/qpalette/qpalette.pro | 5 + tests/auto/qpalette/tst_qpalette.cpp | 132 + .../qparallelanimationgroup.pro | 5 + .../tst_qparallelanimationgroup.cpp | 834 + tests/auto/qpathclipper/.gitignore | 1 + tests/auto/qpathclipper/paths.cpp | 734 + tests/auto/qpathclipper/paths.h | 95 + tests/auto/qpathclipper/qpathclipper.pro | 8 + tests/auto/qpathclipper/tst_qpathclipper.cpp | 1403 + tests/auto/qpen/.gitignore | 1 + tests/auto/qpen/qpen.pro | 5 + tests/auto/qpen/tst_qpen.cpp | 218 + tests/auto/qpicture/.gitignore | 1 + tests/auto/qpicture/qpicture.pro | 5 + tests/auto/qpicture/tst_qpicture.cpp | 240 + tests/auto/qpixmap/.gitignore | 1 + .../qpixmap/convertFromImage/task31722_0/img1.png | Bin 0 -> 26622 bytes .../qpixmap/convertFromImage/task31722_0/img2.png | Bin 0 -> 149 bytes .../qpixmap/convertFromImage/task31722_1/img1.png | Bin 0 -> 26532 bytes .../qpixmap/convertFromImage/task31722_1/img2.png | Bin 0 -> 160 bytes tests/auto/qpixmap/qpixmap.pro | 17 + tests/auto/qpixmap/tst_qpixmap.cpp | 1019 + tests/auto/qpixmapcache/.gitignore | 1 + tests/auto/qpixmapcache/qpixmapcache.pro | 5 + tests/auto/qpixmapcache/tst_qpixmapcache.cpp | 220 + tests/auto/qpixmapfilter/noise.png | Bin 0 -> 7517 bytes tests/auto/qpixmapfilter/qpixmapfilter.pro | 9 + tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp | 382 + tests/auto/qplaintextedit/.gitignore | 1 + tests/auto/qplaintextedit/qplaintextedit.pro | 7 + tests/auto/qplaintextedit/tst_qplaintextedit.cpp | 1475 + tests/auto/qplugin/.gitignore | 2 + tests/auto/qplugin/debugplugin/debugplugin.pro | 7 + tests/auto/qplugin/debugplugin/main.cpp | 43 + tests/auto/qplugin/qplugin.pro | 26 + tests/auto/qplugin/releaseplugin/main.cpp | 43 + tests/auto/qplugin/releaseplugin/releaseplugin.pro | 7 + tests/auto/qplugin/tst_qplugin.cpp | 120 + tests/auto/qplugin/tst_qplugin.pro | 10 + tests/auto/qpluginloader/.gitignore | 2 + .../qpluginloader/almostplugin/almostplugin.cpp | 51 + .../auto/qpluginloader/almostplugin/almostplugin.h | 57 + .../qpluginloader/almostplugin/almostplugin.pro | 7 + tests/auto/qpluginloader/lib/lib.pro | 15 + tests/auto/qpluginloader/lib/mylib.c | 19 + tests/auto/qpluginloader/qpluginloader.pro | 12 + .../auto/qpluginloader/theplugin/plugininterface.h | 51 + tests/auto/qpluginloader/theplugin/theplugin.cpp | 51 + tests/auto/qpluginloader/theplugin/theplugin.h | 57 + tests/auto/qpluginloader/theplugin/theplugin.pro | 7 + tests/auto/qpluginloader/tst/tst.pro | 20 + tests/auto/qpluginloader/tst_qpluginloader.cpp | 291 + tests/auto/qpoint/.gitignore | 1 + tests/auto/qpoint/qpoint.pro | 10 + tests/auto/qpoint/tst_qpoint.cpp | 131 + tests/auto/qpointarray/.gitignore | 1 + tests/auto/qpointarray/qpointarray.pro | 6 + tests/auto/qpointarray/tst_qpointarray.cpp | 95 + tests/auto/qpointer/.gitignore | 1 + tests/auto/qpointer/qpointer.pro | 4 + tests/auto/qpointer/tst_qpointer.cpp | 349 + tests/auto/qprinter/.gitignore | 4 + tests/auto/qprinter/qprinter.pro | 8 + tests/auto/qprinter/tst_qprinter.cpp | 964 + tests/auto/qprinterinfo/.gitignore | 1 + tests/auto/qprinterinfo/qprinterinfo.pro | 7 + tests/auto/qprinterinfo/tst_qprinterinfo.cpp | 398 + tests/auto/qprocess/.gitignore | 22 + .../fileWriterProcess/fileWriterProcess.pro | 10 + tests/auto/qprocess/fileWriterProcess/main.cpp | 59 + tests/auto/qprocess/qprocess.pro | 27 + tests/auto/qprocess/test/test.pro | 49 + tests/auto/qprocess/testBatFiles/simple.bat | 2 + tests/auto/qprocess/testBatFiles/with space.bat | 2 + tests/auto/qprocess/testDetached/main.cpp | 84 + tests/auto/qprocess/testDetached/testDetached.pro | 7 + tests/auto/qprocess/testExitCodes/main.cpp | 48 + .../auto/qprocess/testExitCodes/testExitCodes.pro | 5 + tests/auto/qprocess/testGuiProcess/main.cpp | 57 + .../qprocess/testGuiProcess/testGuiProcess.pro | 4 + tests/auto/qprocess/testProcessCrash/main.cpp | 53 + .../qprocess/testProcessCrash/testProcessCrash.pro | 8 + .../qprocess/testProcessDeadWhileReading/main.cpp | 52 + .../testProcessDeadWhileReading.pro | 10 + tests/auto/qprocess/testProcessEOF/main.cpp | 58 + .../qprocess/testProcessEOF/testProcessEOF.pro | 9 + tests/auto/qprocess/testProcessEcho/main.cpp | 59 + .../qprocess/testProcessEcho/testProcessEcho.pro | 8 + tests/auto/qprocess/testProcessEcho2/main.cpp | 58 + .../qprocess/testProcessEcho2/testProcessEcho2.pro | 10 + tests/auto/qprocess/testProcessEcho3/main.cpp | 61 + .../qprocess/testProcessEcho3/testProcessEcho3.pro | 9 + .../auto/qprocess/testProcessEchoGui/main_win.cpp | 67 + .../testProcessEchoGui/testProcessEchoGui.pro | 13 + tests/auto/qprocess/testProcessLoopback/main.cpp | 57 + .../testProcessLoopback/testProcessLoopback.pro | 8 + tests/auto/qprocess/testProcessNormal/main.cpp | 46 + .../testProcessNormal/testProcessNormal.pro | 9 + tests/auto/qprocess/testProcessOutput/main.cpp | 56 + .../testProcessOutput/testProcessOutput.pro | 9 + tests/auto/qprocess/testProcessSpacesArgs/main.cpp | 54 + .../qprocess/testProcessSpacesArgs/nospace.pro | 9 + .../qprocess/testProcessSpacesArgs/onespace.pro | 11 + .../qprocess/testProcessSpacesArgs/twospaces.pro | 12 + .../auto/qprocess/testSetWorkingDirectory/main.cpp | 51 + .../testSetWorkingDirectory.pro | 7 + tests/auto/qprocess/testSoftExit/main_unix.cpp | 62 + tests/auto/qprocess/testSoftExit/main_win.cpp | 58 + tests/auto/qprocess/testSoftExit/testSoftExit.pro | 16 + tests/auto/qprocess/testSpaceInName/main.cpp | 56 + .../qprocess/testSpaceInName/testSpaceInName.pro | 13 + tests/auto/qprocess/tst_qprocess.cpp | 2004 + tests/auto/qprogressbar/.gitignore | 1 + tests/auto/qprogressbar/qprogressbar.pro | 5 + tests/auto/qprogressbar/tst_qprogressbar.cpp | 244 + tests/auto/qprogressdialog/.gitignore | 1 + tests/auto/qprogressdialog/qprogressdialog.pro | 9 + tests/auto/qprogressdialog/tst_qprogressdialog.cpp | 157 + .../auto/qpropertyanimation/qpropertyanimation.pro | 5 + .../qpropertyanimation/tst_qpropertyanimation.cpp | 831 + tests/auto/qpushbutton/.gitignore | 1 + tests/auto/qpushbutton/qpushbutton.pro | 5 + .../setEnabled/disabled_Windows_win32_data0.qsnap | Bin 0 -> 890 bytes .../testdata/setEnabled/enabled_Motif_data0.qsnap | Bin 0 -> 758 bytes .../setEnabled/enabled_Windows_data0.qsnap | Bin 0 -> 725 bytes .../setEnabled/enabled_Windows_win32_data0.qsnap | Bin 0 -> 735 bytes .../testdata/setPixmap/Vpix_Motif_data0.qsnap | Bin 0 -> 829 bytes .../testdata/setPixmap/Vpix_Windows_data0.qsnap | Bin 0 -> 796 bytes .../setPixmap/Vpix_Windows_win32_data0.qsnap | Bin 0 -> 796 bytes .../testdata/setText/simple_Motif_data0.qsnap | Bin 0 -> 742 bytes .../testdata/setText/simple_Windows_data0.qsnap | Bin 0 -> 709 bytes .../setText/simple_Windows_win32_data0.qsnap | Bin 0 -> 719 bytes tests/auto/qpushbutton/tst_qpushbutton.cpp | 598 + tests/auto/qqueue/.gitignore | 1 + tests/auto/qqueue/qqueue.pro | 7 + tests/auto/qqueue/tst_qqueue.cpp | 100 + tests/auto/qradiobutton/.gitignore | 1 + tests/auto/qradiobutton/qradiobutton.pro | 5 + tests/auto/qradiobutton/tst_qradiobutton.cpp | 102 + tests/auto/qrand/.gitignore | 1 + tests/auto/qrand/qrand.pro | 5 + tests/auto/qrand/tst_qrand.cpp | 87 + tests/auto/qreadlocker/.gitignore | 1 + tests/auto/qreadlocker/qreadlocker.pro | 5 + tests/auto/qreadlocker/tst_qreadlocker.cpp | 235 + tests/auto/qreadwritelock/.gitignore | 1 + tests/auto/qreadwritelock/qreadwritelock.pro | 5 + tests/auto/qreadwritelock/tst_qreadwritelock.cpp | 1125 + tests/auto/qrect/.gitignore | 1 + tests/auto/qrect/qrect.pro | 5 + tests/auto/qrect/tst_qrect.cpp | 4470 + tests/auto/qregexp/.gitignore | 1 + tests/auto/qregexp/qregexp.pro | 8 + tests/auto/qregexp/tst_qregexp.cpp | 1282 + tests/auto/qregexpvalidator/.gitignore | 1 + tests/auto/qregexpvalidator/qregexpvalidator.pro | 4 + .../auto/qregexpvalidator/tst_qregexpvalidator.cpp | 124 + tests/auto/qregion/.gitignore | 1 + tests/auto/qregion/qregion.pro | 5 + tests/auto/qregion/tst_qregion.cpp | 1021 + tests/auto/qresourceengine/.gitattributes | 1 + tests/auto/qresourceengine/.gitignore | 1 + tests/auto/qresourceengine/parentdir.txt | 1 + tests/auto/qresourceengine/qresourceengine.pro | 40 + .../qresourceengine/testqrc/aliasdir/aliasdir.txt | 1 + .../testqrc/aliasdir/compressme.txt | 322 + tests/auto/qresourceengine/testqrc/blahblah.txt | 1 + tests/auto/qresourceengine/testqrc/currentdir.txt | 1 + tests/auto/qresourceengine/testqrc/currentdir2.txt | 1 + .../qresourceengine/testqrc/otherdir/otherdir.txt | 1 + tests/auto/qresourceengine/testqrc/search_file.txt | 1 + .../testqrc/searchpath1/search_file.txt | 1 + .../testqrc/searchpath2/search_file.txt | 1 + .../auto/qresourceengine/testqrc/subdir/subdir.txt | 1 + tests/auto/qresourceengine/testqrc/test.qrc | 30 + tests/auto/qresourceengine/testqrc/test/german.txt | 1 + .../qresourceengine/testqrc/test/test/test1.txt | 1 + .../qresourceengine/testqrc/test/test/test2.txt | 1 + .../auto/qresourceengine/testqrc/test/testdir.txt | 1 + .../auto/qresourceengine/testqrc/test/testdir2.txt | 1 + tests/auto/qresourceengine/tst_resourceengine.cpp | 461 + tests/auto/qscriptable/.gitignore | 1 + tests/auto/qscriptable/qscriptable.pro | 5 + tests/auto/qscriptable/tst_qscriptable.cpp | 373 + tests/auto/qscriptclass/.gitignore | 1 + tests/auto/qscriptclass/qscriptclass.pro | 3 + tests/auto/qscriptclass/tst_qscriptclass.cpp | 838 + tests/auto/qscriptcontext/.gitignore | 1 + tests/auto/qscriptcontext/qscriptcontext.pro | 5 + tests/auto/qscriptcontext/tst_qscriptcontext.cpp | 691 + tests/auto/qscriptcontextinfo/.gitignore | 1 + .../auto/qscriptcontextinfo/qscriptcontextinfo.pro | 5 + .../qscriptcontextinfo/tst_qscriptcontextinfo.cpp | 557 + tests/auto/qscriptengine/.gitignore | 1 + tests/auto/qscriptengine/qscriptengine.pro | 10 + tests/auto/qscriptengine/script/com/__init__.js | 5 + .../qscriptengine/script/com/trolltech/__init__.js | 5 + .../script/com/trolltech/recursive/__init__.js | 1 + .../script/com/trolltech/syntaxerror/__init__.js | 5 + tests/auto/qscriptengine/tst_qscriptengine.cpp | 3379 + tests/auto/qscriptengineagent/.gitignore | 1 + .../auto/qscriptengineagent/qscriptengineagent.pro | 5 + .../qscriptengineagent/tst_qscriptengineagent.cpp | 1819 + tests/auto/qscriptenginedebugger/.gitignore | 1 + .../qscriptenginedebugger.pro | 3 + .../tst_qscriptenginedebugger.cpp | 744 + tests/auto/qscriptjstestsuite/.gitignore | 1 + .../auto/qscriptjstestsuite/qscriptjstestsuite.pro | 11 + .../qscriptjstestsuite/tests/ecma/Array/15.4-1.js | 135 + .../qscriptjstestsuite/tests/ecma/Array/15.4-2.js | 114 + .../tests/ecma/Array/15.4.1.1.js | 111 + .../tests/ecma/Array/15.4.1.2.js | 162 + .../tests/ecma/Array/15.4.1.3.js | 84 + .../qscriptjstestsuite/tests/ecma/Array/15.4.1.js | 132 + .../tests/ecma/Array/15.4.2.1-1.js | 112 + .../tests/ecma/Array/15.4.2.1-2.js | 101 + .../tests/ecma/Array/15.4.2.1-3.js | 137 + .../tests/ecma/Array/15.4.2.2-1.js | 183 + .../tests/ecma/Array/15.4.2.2-2.js | 118 + .../tests/ecma/Array/15.4.2.3.js | 101 + .../tests/ecma/Array/15.4.3.1-2.js | 81 + .../tests/ecma/Array/15.4.3.2.js | 62 + .../tests/ecma/Array/15.4.4.1.js | 63 + .../tests/ecma/Array/15.4.4.2.js | 120 + .../tests/ecma/Array/15.4.4.3-1.js | 163 + .../tests/ecma/Array/15.4.4.4-1.js | 294 + .../tests/ecma/Array/15.4.4.4-2.js | 169 + .../tests/ecma/Array/15.4.4.5-1.js | 225 + .../tests/ecma/Array/15.4.4.5-2.js | 227 + .../tests/ecma/Array/15.4.4.5-3.js | 182 + .../qscriptjstestsuite/tests/ecma/Array/15.4.4.js | 74 + .../tests/ecma/Array/15.4.5.1-1.js | 170 + .../tests/ecma/Array/15.4.5.1-2.js | 152 + .../tests/ecma/Array/15.4.5.2-1.js | 86 + .../tests/ecma/Array/15.4.5.2-2.js | 127 + .../qscriptjstestsuite/tests/ecma/Array/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Array/shell.js | 1 + .../tests/ecma/Boolean/15.6.1.js | 96 + .../tests/ecma/Boolean/15.6.2.js | 161 + .../tests/ecma/Boolean/15.6.3.1-1.js | 72 + .../tests/ecma/Boolean/15.6.3.1-2.js | 71 + .../tests/ecma/Boolean/15.6.3.1-3.js | 71 + .../tests/ecma/Boolean/15.6.3.1-4.js | 75 + .../tests/ecma/Boolean/15.6.3.1.js | 69 + .../tests/ecma/Boolean/15.6.4-1.js | 72 + .../tests/ecma/Boolean/15.6.4.1.js | 62 + .../tests/ecma/Boolean/15.6.4.2-1.js | 97 + .../tests/ecma/Boolean/15.6.4.2-2.js | 73 + .../tests/ecma/Boolean/15.6.4.2-3.js | 65 + .../tests/ecma/Boolean/15.6.4.2-4-n.js | 69 + .../tests/ecma/Boolean/15.6.4.3-1.js | 88 + .../tests/ecma/Boolean/15.6.4.3-2.js | 67 + .../tests/ecma/Boolean/15.6.4.3-3.js | 66 + .../tests/ecma/Boolean/15.6.4.3-4-n.js | 69 + .../tests/ecma/Boolean/15.6.4.3.js | 83 + .../tests/ecma/Boolean/15.6.4.js | 80 + .../tests/ecma/Boolean/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Boolean/shell.js | 1 + .../tests/ecma/Date/15.9.1.1-1.js | 96 + .../tests/ecma/Date/15.9.1.1-2.js | 91 + .../tests/ecma/Date/15.9.1.13-1.js | 79 + .../qscriptjstestsuite/tests/ecma/Date/15.9.2.1.js | 104 + .../tests/ecma/Date/15.9.2.2-1.js | 69 + .../tests/ecma/Date/15.9.2.2-2.js | 69 + .../tests/ecma/Date/15.9.2.2-3.js | 69 + .../tests/ecma/Date/15.9.2.2-4.js | 68 + .../tests/ecma/Date/15.9.2.2-5.js | 68 + .../tests/ecma/Date/15.9.2.2-6.js | 67 + .../tests/ecma/Date/15.9.3.1-1.js | 239 + .../tests/ecma/Date/15.9.3.1-2.js | 152 + .../tests/ecma/Date/15.9.3.1-3.js | 141 + .../tests/ecma/Date/15.9.3.1-4.js | 151 + .../tests/ecma/Date/15.9.3.1-5.js | 140 + .../tests/ecma/Date/15.9.3.2-1.js | 151 + .../tests/ecma/Date/15.9.3.2-2.js | 142 + .../tests/ecma/Date/15.9.3.2-3.js | 146 + .../tests/ecma/Date/15.9.3.2-4.js | 143 + .../tests/ecma/Date/15.9.3.2-5.js | 140 + .../tests/ecma/Date/15.9.3.8-1.js | 155 + .../tests/ecma/Date/15.9.3.8-2.js | 153 + .../tests/ecma/Date/15.9.3.8-3.js | 160 + .../tests/ecma/Date/15.9.3.8-4.js | 161 + .../tests/ecma/Date/15.9.3.8-5.js | 161 + .../tests/ecma/Date/15.9.4.2-1.js | 81 + .../qscriptjstestsuite/tests/ecma/Date/15.9.4.2.js | 191 + .../qscriptjstestsuite/tests/ecma/Date/15.9.4.3.js | 186 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.1.js | 63 + .../tests/ecma/Date/15.9.5.10-1.js | 85 + .../tests/ecma/Date/15.9.5.10-10.js | 89 + .../tests/ecma/Date/15.9.5.10-11.js | 89 + .../tests/ecma/Date/15.9.5.10-12.js | 89 + .../tests/ecma/Date/15.9.5.10-13.js | 89 + .../tests/ecma/Date/15.9.5.10-2.js | 87 + .../tests/ecma/Date/15.9.5.10-3.js | 85 + .../tests/ecma/Date/15.9.5.10-4.js | 85 + .../tests/ecma/Date/15.9.5.10-5.js | 85 + .../tests/ecma/Date/15.9.5.10-6.js | 85 + .../tests/ecma/Date/15.9.5.10-7.js | 85 + .../tests/ecma/Date/15.9.5.10-8.js | 89 + .../tests/ecma/Date/15.9.5.10-9.js | 89 + .../tests/ecma/Date/15.9.5.11-1.js | 76 + .../tests/ecma/Date/15.9.5.11-2.js | 76 + .../tests/ecma/Date/15.9.5.11-3.js | 76 + .../tests/ecma/Date/15.9.5.11-4.js | 76 + .../tests/ecma/Date/15.9.5.11-5.js | 76 + .../tests/ecma/Date/15.9.5.11-6.js | 76 + .../tests/ecma/Date/15.9.5.11-7.js | 76 + .../tests/ecma/Date/15.9.5.12-1.js | 77 + .../tests/ecma/Date/15.9.5.12-2.js | 77 + .../tests/ecma/Date/15.9.5.12-3.js | 77 + .../tests/ecma/Date/15.9.5.12-4.js | 77 + .../tests/ecma/Date/15.9.5.12-5.js | 77 + .../tests/ecma/Date/15.9.5.12-6.js | 77 + .../tests/ecma/Date/15.9.5.12-7.js | 77 + .../tests/ecma/Date/15.9.5.12-8.js | 71 + .../tests/ecma/Date/15.9.5.13-1.js | 79 + .../tests/ecma/Date/15.9.5.13-2.js | 76 + .../tests/ecma/Date/15.9.5.13-3.js | 77 + .../tests/ecma/Date/15.9.5.13-4.js | 77 + .../tests/ecma/Date/15.9.5.13-5.js | 77 + .../tests/ecma/Date/15.9.5.13-6.js | 77 + .../tests/ecma/Date/15.9.5.13-7.js | 76 + .../tests/ecma/Date/15.9.5.13-8.js | 71 + .../tests/ecma/Date/15.9.5.14.js | 87 + .../tests/ecma/Date/15.9.5.15.js | 88 + .../tests/ecma/Date/15.9.5.16.js | 87 + .../tests/ecma/Date/15.9.5.17.js | 88 + .../tests/ecma/Date/15.9.5.18.js | 88 + .../tests/ecma/Date/15.9.5.19.js | 88 + .../tests/ecma/Date/15.9.5.2-1.js | 151 + .../tests/ecma/Date/15.9.5.2-2-n.js | 84 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.2.js | 151 + .../tests/ecma/Date/15.9.5.20.js | 88 + .../tests/ecma/Date/15.9.5.21-1.js | 70 + .../tests/ecma/Date/15.9.5.21-2.js | 70 + .../tests/ecma/Date/15.9.5.21-3.js | 70 + .../tests/ecma/Date/15.9.5.21-4.js | 70 + .../tests/ecma/Date/15.9.5.21-5.js | 70 + .../tests/ecma/Date/15.9.5.21-6.js | 70 + .../tests/ecma/Date/15.9.5.21-7.js | 70 + .../tests/ecma/Date/15.9.5.21-8.js | 71 + .../tests/ecma/Date/15.9.5.22-1.js | 89 + .../tests/ecma/Date/15.9.5.22-2.js | 74 + .../tests/ecma/Date/15.9.5.22-3.js | 74 + .../tests/ecma/Date/15.9.5.22-4.js | 74 + .../tests/ecma/Date/15.9.5.22-5.js | 74 + .../tests/ecma/Date/15.9.5.22-6.js | 74 + .../tests/ecma/Date/15.9.5.22-7.js | 74 + .../tests/ecma/Date/15.9.5.22-8.js | 72 + .../tests/ecma/Date/15.9.5.23-1.js | 139 + .../tests/ecma/Date/15.9.5.23-10.js | 139 + .../tests/ecma/Date/15.9.5.23-11.js | 140 + .../tests/ecma/Date/15.9.5.23-12.js | 137 + .../tests/ecma/Date/15.9.5.23-13.js | 137 + .../tests/ecma/Date/15.9.5.23-14.js | 137 + .../tests/ecma/Date/15.9.5.23-15.js | 137 + .../tests/ecma/Date/15.9.5.23-16.js | 137 + .../tests/ecma/Date/15.9.5.23-17.js | 137 + .../tests/ecma/Date/15.9.5.23-18.js | 137 + .../tests/ecma/Date/15.9.5.23-2.js | 109 + .../tests/ecma/Date/15.9.5.23-3-n.js | 79 + .../tests/ecma/Date/15.9.5.23-4.js | 112 + .../tests/ecma/Date/15.9.5.23-5.js | 113 + .../tests/ecma/Date/15.9.5.23-6.js | 112 + .../tests/ecma/Date/15.9.5.23-7.js | 113 + .../tests/ecma/Date/15.9.5.23-8.js | 103 + .../tests/ecma/Date/15.9.5.23-9.js | 103 + .../tests/ecma/Date/15.9.5.24-1.js | 134 + .../tests/ecma/Date/15.9.5.24-2.js | 134 + .../tests/ecma/Date/15.9.5.24-3.js | 134 + .../tests/ecma/Date/15.9.5.24-4.js | 134 + .../tests/ecma/Date/15.9.5.24-5.js | 134 + .../tests/ecma/Date/15.9.5.24-6.js | 134 + .../tests/ecma/Date/15.9.5.24-7.js | 134 + .../tests/ecma/Date/15.9.5.24-8.js | 133 + .../tests/ecma/Date/15.9.5.25-1.js | 174 + .../tests/ecma/Date/15.9.5.26-1.js | 183 + .../tests/ecma/Date/15.9.5.27-1.js | 183 + .../tests/ecma/Date/15.9.5.28-1.js | 196 + .../tests/ecma/Date/15.9.5.29-1.js | 191 + .../tests/ecma/Date/15.9.5.3-1-n.js | 80 + .../tests/ecma/Date/15.9.5.3-2.js | 104 + .../tests/ecma/Date/15.9.5.30-1.js | 192 + .../tests/ecma/Date/15.9.5.31-1.js | 221 + .../tests/ecma/Date/15.9.5.32-1.js | 141 + .../tests/ecma/Date/15.9.5.33-1.js | 145 + .../tests/ecma/Date/15.9.5.34-1.js | 182 + .../tests/ecma/Date/15.9.5.35-1.js | 139 + .../tests/ecma/Date/15.9.5.36-1.js | 165 + .../tests/ecma/Date/15.9.5.36-2.js | 164 + .../tests/ecma/Date/15.9.5.36-3.js | 163 + .../tests/ecma/Date/15.9.5.36-4.js | 163 + .../tests/ecma/Date/15.9.5.36-5.js | 163 + .../tests/ecma/Date/15.9.5.36-6.js | 163 + .../tests/ecma/Date/15.9.5.36-7.js | 163 + .../tests/ecma/Date/15.9.5.37-1.js | 173 + .../tests/ecma/Date/15.9.5.37-2.js | 161 + .../tests/ecma/Date/15.9.5.37-3.js | 164 + .../tests/ecma/Date/15.9.5.37-4.js | 163 + .../tests/ecma/Date/15.9.5.37-5.js | 159 + .../tests/ecma/Date/15.9.5.4-1.js | 93 + .../tests/ecma/Date/15.9.5.4-2-n.js | 76 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.5.js | 112 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.6.js | 104 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.7.js | 105 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.8.js | 113 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.9.js | 113 + .../qscriptjstestsuite/tests/ecma/Date/15.9.5.js | 83 + .../qscriptjstestsuite/tests/ecma/Date/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Date/shell.js | 1 + .../tests/ecma/ExecutionContexts/10.1.3-1.js | 107 + .../tests/ecma/ExecutionContexts/10.1.3-2.js | 73 + .../tests/ecma/ExecutionContexts/10.1.3.js | 170 + .../tests/ecma/ExecutionContexts/10.1.4-1.js | 111 + .../tests/ecma/ExecutionContexts/10.1.4-10.js | 105 + .../tests/ecma/ExecutionContexts/10.1.4-2.js | 113 + .../tests/ecma/ExecutionContexts/10.1.4-3.js | 111 + .../tests/ecma/ExecutionContexts/10.1.4-4.js | 113 + .../tests/ecma/ExecutionContexts/10.1.4-5.js | 112 + .../tests/ecma/ExecutionContexts/10.1.4-6.js | 100 + .../tests/ecma/ExecutionContexts/10.1.4-7.js | 112 + .../tests/ecma/ExecutionContexts/10.1.4-8.js | 113 + .../tests/ecma/ExecutionContexts/10.1.5-1.js | 118 + .../tests/ecma/ExecutionContexts/10.1.5-2.js | 100 + .../tests/ecma/ExecutionContexts/10.1.5-3.js | 130 + .../tests/ecma/ExecutionContexts/10.1.5-4.js | 91 + .../tests/ecma/ExecutionContexts/10.1.8-2.js | 120 + .../tests/ecma/ExecutionContexts/10.1.8-3.js | 66 + .../tests/ecma/ExecutionContexts/10.2.1.js | 85 + .../tests/ecma/ExecutionContexts/10.2.2-1.js | 122 + .../tests/ecma/ExecutionContexts/10.2.2-2.js | 133 + .../tests/ecma/ExecutionContexts/10.2.3-1.js | 86 + .../tests/ecma/ExecutionContexts/10.2.3-2.js | 92 + .../tests/ecma/ExecutionContexts/browser.js | 0 .../tests/ecma/ExecutionContexts/shell.js | 1 + .../tests/ecma/Expressions/11.1.1.js | 137 + .../tests/ecma/Expressions/11.10-1.js | 270 + .../tests/ecma/Expressions/11.10-2.js | 269 + .../tests/ecma/Expressions/11.10-3.js | 268 + .../tests/ecma/Expressions/11.12-1.js | 110 + .../tests/ecma/Expressions/11.12-2-n.js | 74 + .../tests/ecma/Expressions/11.12-3.js | 71 + .../tests/ecma/Expressions/11.12-4.js | 71 + .../tests/ecma/Expressions/11.13.1.js | 72 + .../tests/ecma/Expressions/11.13.2-1.js | 231 + .../tests/ecma/Expressions/11.13.2-2.js | 253 + .../tests/ecma/Expressions/11.13.2-3.js | 300 + .../tests/ecma/Expressions/11.13.2-4.js | 137 + .../tests/ecma/Expressions/11.13.2-5.js | 137 + .../tests/ecma/Expressions/11.13.js | 86 + .../tests/ecma/Expressions/11.14-1.js | 73 + .../tests/ecma/Expressions/11.2.1-1.js | 272 + .../tests/ecma/Expressions/11.2.1-2.js | 128 + .../tests/ecma/Expressions/11.2.1-3-n.js | 128 + .../tests/ecma/Expressions/11.2.1-4-n.js | 128 + .../tests/ecma/Expressions/11.2.1-5.js | 128 + .../tests/ecma/Expressions/11.2.2-1-n.js | 104 + .../tests/ecma/Expressions/11.2.2-1.js | 100 + .../tests/ecma/Expressions/11.2.2-10-n.js | 102 + .../tests/ecma/Expressions/11.2.2-11.js | 104 + .../tests/ecma/Expressions/11.2.2-2-n.js | 104 + .../tests/ecma/Expressions/11.2.2-3-n.js | 100 + .../tests/ecma/Expressions/11.2.2-4-n.js | 104 + .../tests/ecma/Expressions/11.2.2-5-n.js | 104 + .../tests/ecma/Expressions/11.2.2-6-n.js | 103 + .../tests/ecma/Expressions/11.2.2-7-n.js | 104 + .../tests/ecma/Expressions/11.2.2-8-n.js | 104 + .../tests/ecma/Expressions/11.2.2-9-n.js | 104 + .../tests/ecma/Expressions/11.2.3-1.js | 125 + .../tests/ecma/Expressions/11.2.3-2-n.js | 94 + .../tests/ecma/Expressions/11.2.3-3-n.js | 91 + .../tests/ecma/Expressions/11.2.3-4-n.js | 91 + .../tests/ecma/Expressions/11.2.3-5.js | 85 + .../tests/ecma/Expressions/11.3.1.js | 153 + .../tests/ecma/Expressions/11.3.2.js | 153 + .../tests/ecma/Expressions/11.4.1.js | 92 + .../tests/ecma/Expressions/11.4.2.js | 83 + .../tests/ecma/Expressions/11.4.3.js | 111 + .../tests/ecma/Expressions/11.4.4.js | 156 + .../tests/ecma/Expressions/11.4.5.js | 154 + .../tests/ecma/Expressions/11.4.6.js | 299 + .../tests/ecma/Expressions/11.4.7-01.js | 299 + .../tests/ecma/Expressions/11.4.7-02.js | 87 + .../tests/ecma/Expressions/11.4.8.js | 215 + .../tests/ecma/Expressions/11.4.9.js | 94 + .../tests/ecma/Expressions/11.5.1.js | 115 + .../tests/ecma/Expressions/11.5.2.js | 154 + .../tests/ecma/Expressions/11.5.3.js | 161 + .../tests/ecma/Expressions/11.6.1-1.js | 160 + .../tests/ecma/Expressions/11.6.1-2.js | 164 + .../tests/ecma/Expressions/11.6.1-3.js | 150 + .../tests/ecma/Expressions/11.6.2-1.js | 165 + .../tests/ecma/Expressions/11.6.3.js | 115 + .../tests/ecma/Expressions/11.7.1.js | 228 + .../tests/ecma/Expressions/11.7.2.js | 246 + .../tests/ecma/Expressions/11.7.3.js | 230 + .../tests/ecma/Expressions/11.8.1.js | 121 + .../tests/ecma/Expressions/11.8.2.js | 121 + .../tests/ecma/Expressions/11.8.3.js | 120 + .../tests/ecma/Expressions/11.8.4.js | 121 + .../tests/ecma/Expressions/11.9.1.js | 159 + .../tests/ecma/Expressions/11.9.2.js | 159 + .../tests/ecma/Expressions/11.9.3.js | 159 + .../tests/ecma/Expressions/browser.js | 0 .../tests/ecma/Expressions/shell.js | 1 + .../tests/ecma/FunctionObjects/15.3.1.1-1.js | 136 + .../tests/ecma/FunctionObjects/15.3.1.1-2.js | 183 + .../tests/ecma/FunctionObjects/15.3.1.1-3.js | 99 + .../tests/ecma/FunctionObjects/15.3.2.1-1.js | 132 + .../tests/ecma/FunctionObjects/15.3.2.1-2.js | 107 + .../tests/ecma/FunctionObjects/15.3.2.1-3.js | 95 + .../tests/ecma/FunctionObjects/15.3.3.1-2.js | 70 + .../tests/ecma/FunctionObjects/15.3.3.1-3.js | 79 + .../tests/ecma/FunctionObjects/15.3.3.1-4.js | 70 + .../tests/ecma/FunctionObjects/15.3.3.2.js | 62 + .../tests/ecma/FunctionObjects/15.3.4-1.js | 94 + .../tests/ecma/FunctionObjects/15.3.4.1.js | 61 + .../tests/ecma/FunctionObjects/15.3.4.js | 81 + .../tests/ecma/FunctionObjects/15.3.5-1.js | 117 + .../tests/ecma/FunctionObjects/15.3.5-2.js | 90 + .../tests/ecma/FunctionObjects/15.3.5.1.js | 83 + .../tests/ecma/FunctionObjects/15.3.5.3.js | 72 + .../tests/ecma/FunctionObjects/browser.js | 0 .../tests/ecma/FunctionObjects/shell.js | 1 + .../tests/ecma/GlobalObject/15.1-1-n.js | 70 + .../tests/ecma/GlobalObject/15.1-2-n.js | 67 + .../tests/ecma/GlobalObject/15.1.1.1.js | 63 + .../tests/ecma/GlobalObject/15.1.1.2.js | 62 + .../tests/ecma/GlobalObject/15.1.2.1-2.js | 66 + .../tests/ecma/GlobalObject/15.1.2.2-1.js | 410 + .../tests/ecma/GlobalObject/15.1.2.2-2.js | 238 + .../tests/ecma/GlobalObject/15.1.2.3-1.js | 441 + .../tests/ecma/GlobalObject/15.1.2.3-2.js | 291 + .../tests/ecma/GlobalObject/15.1.2.4.js | 205 + .../tests/ecma/GlobalObject/15.1.2.5-1.js | 206 + .../tests/ecma/GlobalObject/15.1.2.5-2.js | 183 + .../tests/ecma/GlobalObject/15.1.2.5-3.js | 207 + .../tests/ecma/GlobalObject/15.1.2.6.js | 125 + .../tests/ecma/GlobalObject/15.1.2.7.js | 130 + .../tests/ecma/GlobalObject/browser.js | 0 .../tests/ecma/GlobalObject/shell.js | 1 + .../tests/ecma/LexicalConventions/7.1-1.js | 82 + .../tests/ecma/LexicalConventions/7.1-2.js | 73 + .../tests/ecma/LexicalConventions/7.1-3.js | 89 + .../tests/ecma/LexicalConventions/7.2-1.js | 73 + .../tests/ecma/LexicalConventions/7.2-2-n.js | 74 + .../tests/ecma/LexicalConventions/7.2-3-n.js | 74 + .../tests/ecma/LexicalConventions/7.2-4-n.js | 73 + .../tests/ecma/LexicalConventions/7.2-5-n.js | 72 + .../tests/ecma/LexicalConventions/7.2-6.js | 68 + .../tests/ecma/LexicalConventions/7.3-1.js | 92 + .../tests/ecma/LexicalConventions/7.3-10.js | 65 + .../tests/ecma/LexicalConventions/7.3-11.js | 66 + .../tests/ecma/LexicalConventions/7.3-12.js | 64 + .../tests/ecma/LexicalConventions/7.3-13-n.js | 66 + .../tests/ecma/LexicalConventions/7.3-2.js | 65 + .../tests/ecma/LexicalConventions/7.3-3.js | 65 + .../tests/ecma/LexicalConventions/7.3-4.js | 65 + .../tests/ecma/LexicalConventions/7.3-5.js | 65 + .../tests/ecma/LexicalConventions/7.3-6.js | 65 + .../tests/ecma/LexicalConventions/7.3-7.js | 66 + .../tests/ecma/LexicalConventions/7.3-8.js | 65 + .../tests/ecma/LexicalConventions/7.3-9.js | 65 + .../tests/ecma/LexicalConventions/7.4.1-1-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.1-2-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.1-3-n.js | 69 + .../tests/ecma/LexicalConventions/7.4.2-1-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-10-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-11-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-12-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-13-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-14-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-15-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-16-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-2-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-3-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-4-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-5-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-6-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.2-7-n.js | 75 + .../tests/ecma/LexicalConventions/7.4.2-8-n.js | 76 + .../tests/ecma/LexicalConventions/7.4.2-9-n.js | 77 + .../tests/ecma/LexicalConventions/7.4.3-1-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-10-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-11-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-12-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-13-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-14-n.js | 97 + .../tests/ecma/LexicalConventions/7.4.3-15-n.js | 97 + .../tests/ecma/LexicalConventions/7.4.3-16-n.js | 88 + .../tests/ecma/LexicalConventions/7.4.3-2-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-3-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-4-n.js | 96 + .../tests/ecma/LexicalConventions/7.4.3-5-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-6-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-7-n.js | 97 + .../tests/ecma/LexicalConventions/7.4.3-8-n.js | 71 + .../tests/ecma/LexicalConventions/7.4.3-9-n.js | 98 + .../tests/ecma/LexicalConventions/7.5-1.js | 62 + .../tests/ecma/LexicalConventions/7.5-10-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-2-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-3-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-4-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-5-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-6.js | 61 + .../tests/ecma/LexicalConventions/7.5-7.js | 61 + .../tests/ecma/LexicalConventions/7.5-8-n.js | 64 + .../tests/ecma/LexicalConventions/7.5-9-n.js | 64 + .../tests/ecma/LexicalConventions/7.6.js | 313 + .../tests/ecma/LexicalConventions/7.7.1.js | 64 + .../tests/ecma/LexicalConventions/7.7.2.js | 71 + .../tests/ecma/LexicalConventions/7.7.3-1.js | 198 + .../tests/ecma/LexicalConventions/7.7.3-2.js | 93 + .../tests/ecma/LexicalConventions/7.7.3.js | 331 + .../tests/ecma/LexicalConventions/7.7.4.js | 269 + .../tests/ecma/LexicalConventions/7.8.2-n.js | 63 + .../tests/ecma/LexicalConventions/browser.js | 0 .../tests/ecma/LexicalConventions/shell.js | 1 + .../qscriptjstestsuite/tests/ecma/Math/15.8-2-n.js | 82 + .../qscriptjstestsuite/tests/ecma/Math/15.8-3-n.js | 81 + .../tests/ecma/Math/15.8.1.1-1.js | 64 + .../tests/ecma/Math/15.8.1.1-2.js | 69 + .../tests/ecma/Math/15.8.1.2-1.js | 64 + .../tests/ecma/Math/15.8.1.2-2.js | 70 + .../tests/ecma/Math/15.8.1.3-1.js | 65 + .../tests/ecma/Math/15.8.1.3-2.js | 72 + .../tests/ecma/Math/15.8.1.4-1.js | 65 + .../tests/ecma/Math/15.8.1.4-2.js | 69 + .../tests/ecma/Math/15.8.1.5-1.js | 66 + .../tests/ecma/Math/15.8.1.5-2.js | 70 + .../tests/ecma/Math/15.8.1.6-1.js | 65 + .../tests/ecma/Math/15.8.1.6-2.js | 70 + .../tests/ecma/Math/15.8.1.7-1.js | 65 + .../tests/ecma/Math/15.8.1.7-2.js | 70 + .../tests/ecma/Math/15.8.1.8-1.js | 65 + .../tests/ecma/Math/15.8.1.8-2.js | 69 + .../tests/ecma/Math/15.8.1.8-3.js | 63 + .../qscriptjstestsuite/tests/ecma/Math/15.8.1.js | 149 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.1.js | 226 + .../tests/ecma/Math/15.8.2.10.js | 153 + .../tests/ecma/Math/15.8.2.11.js | 200 + .../tests/ecma/Math/15.8.2.12.js | 177 + .../tests/ecma/Math/15.8.2.13.js | 385 + .../tests/ecma/Math/15.8.2.14.js | 79 + .../tests/ecma/Math/15.8.2.15.js | 202 + .../tests/ecma/Math/15.8.2.16.js | 132 + .../tests/ecma/Math/15.8.2.17.js | 217 + .../tests/ecma/Math/15.8.2.18.js | 165 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.2.js | 151 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.3.js | 158 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.4.js | 156 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.5.js | 244 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.6.js | 232 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.7.js | 283 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.8.js | 134 + .../qscriptjstestsuite/tests/ecma/Math/15.8.2.9.js | 191 + .../qscriptjstestsuite/tests/ecma/Math/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Math/shell.js | 1 + .../tests/ecma/NativeObjects/browser.js | 0 .../tests/ecma/NativeObjects/shell.js | 1 + .../qscriptjstestsuite/tests/ecma/Number/15.7.1.js | 88 + .../qscriptjstestsuite/tests/ecma/Number/15.7.2.js | 168 + .../tests/ecma/Number/15.7.3.1-1.js | 71 + .../tests/ecma/Number/15.7.3.1-2.js | 71 + .../tests/ecma/Number/15.7.3.1-3.js | 67 + .../tests/ecma/Number/15.7.3.2-1.js | 65 + .../tests/ecma/Number/15.7.3.2-2.js | 70 + .../tests/ecma/Number/15.7.3.2-3.js | 67 + .../tests/ecma/Number/15.7.3.2-4.js | 64 + .../tests/ecma/Number/15.7.3.3-1.js | 68 + .../tests/ecma/Number/15.7.3.3-2.js | 73 + .../tests/ecma/Number/15.7.3.3-3.js | 64 + .../tests/ecma/Number/15.7.3.3-4.js | 66 + .../tests/ecma/Number/15.7.3.4-1.js | 66 + .../tests/ecma/Number/15.7.3.4-2.js | 71 + .../tests/ecma/Number/15.7.3.4-3.js | 65 + .../tests/ecma/Number/15.7.3.4-4.js | 66 + .../tests/ecma/Number/15.7.3.5-1.js | 64 + .../tests/ecma/Number/15.7.3.5-2.js | 70 + .../tests/ecma/Number/15.7.3.5-3.js | 65 + .../tests/ecma/Number/15.7.3.5-4.js | 66 + .../tests/ecma/Number/15.7.3.6-1.js | 65 + .../tests/ecma/Number/15.7.3.6-2.js | 69 + .../tests/ecma/Number/15.7.3.6-3.js | 65 + .../tests/ecma/Number/15.7.3.6-4.js | 66 + .../qscriptjstestsuite/tests/ecma/Number/15.7.3.js | 69 + .../tests/ecma/Number/15.7.4-1.js | 60 + .../tests/ecma/Number/15.7.4.1.js | 62 + .../tests/ecma/Number/15.7.4.2-1.js | 111 + .../tests/ecma/Number/15.7.4.2-2-n.js | 76 + .../tests/ecma/Number/15.7.4.2-3-n.js | 73 + .../tests/ecma/Number/15.7.4.2-4.js | 70 + .../tests/ecma/Number/15.7.4.3-1.js | 97 + .../tests/ecma/Number/15.7.4.3-2.js | 65 + .../tests/ecma/Number/15.7.4.3-3-n.js | 72 + .../tests/ecma/Number/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Number/shell.js | 1 + .../tests/ecma/ObjectObjects/15.2.1.1.js | 146 + .../tests/ecma/ObjectObjects/15.2.1.2.js | 81 + .../tests/ecma/ObjectObjects/15.2.2.1.js | 138 + .../tests/ecma/ObjectObjects/15.2.2.2.js | 74 + .../tests/ecma/ObjectObjects/15.2.3-1.js | 64 + .../tests/ecma/ObjectObjects/15.2.3.1-1.js | 69 + .../tests/ecma/ObjectObjects/15.2.3.1-2.js | 70 + .../tests/ecma/ObjectObjects/15.2.3.1-3.js | 70 + .../tests/ecma/ObjectObjects/15.2.3.1-4.js | 70 + .../tests/ecma/ObjectObjects/15.2.3.js | 67 + .../tests/ecma/ObjectObjects/15.2.4.1.js | 64 + .../tests/ecma/ObjectObjects/15.2.4.2.js | 130 + .../tests/ecma/ObjectObjects/15.2.4.3.js | 117 + .../tests/ecma/ObjectObjects/browser.js | 0 .../tests/ecma/ObjectObjects/shell.js | 1 + tests/auto/qscriptjstestsuite/tests/ecma/README | 1 + .../tests/ecma/SourceText/6-1.js | 128 + .../tests/ecma/SourceText/6-2.js | 131 + .../tests/ecma/SourceText/browser.js | 0 .../tests/ecma/SourceText/shell.js | 1 + .../tests/ecma/Statements/12.10-1.js | 151 + .../tests/ecma/Statements/12.10.js | 61 + .../tests/ecma/Statements/12.2-1.js | 74 + .../tests/ecma/Statements/12.5-1.js | 102 + .../tests/ecma/Statements/12.5-2.js | 99 + .../tests/ecma/Statements/12.6.1-1.js | 74 + .../tests/ecma/Statements/12.6.2-1.js | 75 + .../tests/ecma/Statements/12.6.2-2.js | 76 + .../tests/ecma/Statements/12.6.2-3.js | 72 + .../tests/ecma/Statements/12.6.2-4.js | 72 + .../tests/ecma/Statements/12.6.2-5.js | 73 + .../tests/ecma/Statements/12.6.2-6.js | 75 + .../tests/ecma/Statements/12.6.2-7.js | 73 + .../tests/ecma/Statements/12.6.2-8.js | 71 + .../tests/ecma/Statements/12.6.2-9-n.js | 76 + .../tests/ecma/Statements/12.6.3-1.js | 63 + .../tests/ecma/Statements/12.6.3-10.js | 115 + .../tests/ecma/Statements/12.6.3-11.js | 98 + .../tests/ecma/Statements/12.6.3-12.js | 103 + .../tests/ecma/Statements/12.6.3-19.js | 117 + .../tests/ecma/Statements/12.6.3-2.js | 63 + .../tests/ecma/Statements/12.6.3-3.js | 73 + .../tests/ecma/Statements/12.6.3-4.js | 202 + .../tests/ecma/Statements/12.6.3-5-n.js | 110 + .../tests/ecma/Statements/12.6.3-6-n.js | 109 + .../tests/ecma/Statements/12.6.3-7-n.js | 110 + .../tests/ecma/Statements/12.6.3-8-n.js | 110 + .../tests/ecma/Statements/12.6.3-9-n.js | 109 + .../tests/ecma/Statements/12.7-1-n.js | 64 + .../tests/ecma/Statements/12.8-1-n.js | 67 + .../tests/ecma/Statements/12.9-1-n.js | 63 + .../tests/ecma/Statements/browser.js | 0 .../tests/ecma/Statements/shell.js | 1 + .../qscriptjstestsuite/tests/ecma/String/15.5.1.js | 134 + .../qscriptjstestsuite/tests/ecma/String/15.5.2.js | 110 + .../tests/ecma/String/15.5.3.1-1.js | 71 + .../tests/ecma/String/15.5.3.1-2.js | 69 + .../tests/ecma/String/15.5.3.1-3.js | 66 + .../tests/ecma/String/15.5.3.1-4.js | 66 + .../tests/ecma/String/15.5.3.2-1.js | 190 + .../tests/ecma/String/15.5.3.2-2.js | 77 + .../tests/ecma/String/15.5.3.2-3.js | 121 + .../qscriptjstestsuite/tests/ecma/String/15.5.3.js | 66 + .../tests/ecma/String/15.5.4.1.js | 63 + .../tests/ecma/String/15.5.4.10-1.js | 217 + .../tests/ecma/String/15.5.4.11-1.js | 518 + .../tests/ecma/String/15.5.4.11-2.js | 515 + .../tests/ecma/String/15.5.4.11-3.js | 514 + .../tests/ecma/String/15.5.4.11-4.js | 507 + .../tests/ecma/String/15.5.4.11-5.js | 520 + .../tests/ecma/String/15.5.4.11-6.js | 516 + .../tests/ecma/String/15.5.4.12-1.js | 520 + .../tests/ecma/String/15.5.4.12-2.js | 518 + .../tests/ecma/String/15.5.4.12-3.js | 559 + .../tests/ecma/String/15.5.4.12-4.js | 515 + .../tests/ecma/String/15.5.4.12-5.js | 515 + .../tests/ecma/String/15.5.4.2-1.js | 72 + .../tests/ecma/String/15.5.4.2-2-n.js | 73 + .../tests/ecma/String/15.5.4.2-3.js | 83 + .../tests/ecma/String/15.5.4.2.js | 87 + .../tests/ecma/String/15.5.4.3-1.js | 72 + .../tests/ecma/String/15.5.4.3-2.js | 90 + .../tests/ecma/String/15.5.4.3-3-n.js | 72 + .../tests/ecma/String/15.5.4.4-1.js | 92 + .../tests/ecma/String/15.5.4.4-2.js | 136 + .../tests/ecma/String/15.5.4.4-3.js | 112 + .../tests/ecma/String/15.5.4.4-4.js | 124 + .../tests/ecma/String/15.5.4.5-1.js | 87 + .../tests/ecma/String/15.5.4.5-2.js | 121 + .../tests/ecma/String/15.5.4.5-3.js | 131 + .../tests/ecma/String/15.5.4.5-4.js | 75 + .../tests/ecma/String/15.5.4.5-5.js | 106 + .../tests/ecma/String/15.5.4.6-1.js | 155 + .../tests/ecma/String/15.5.4.6-2.js | 259 + .../tests/ecma/String/15.5.4.7-1.js | 219 + .../tests/ecma/String/15.5.4.7-2.js | 217 + .../tests/ecma/String/15.5.4.8-1.js | 232 + .../tests/ecma/String/15.5.4.8-2.js | 247 + .../tests/ecma/String/15.5.4.8-3.js | 204 + .../tests/ecma/String/15.5.4.9-1.js | 202 + .../qscriptjstestsuite/tests/ecma/String/15.5.4.js | 108 + .../tests/ecma/String/15.5.5.1.js | 88 + .../tests/ecma/String/browser.js | 0 .../qscriptjstestsuite/tests/ecma/String/shell.js | 1 + .../tests/ecma/TypeConversion/9.2.js | 138 + .../tests/ecma/TypeConversion/9.3-1.js | 100 + .../tests/ecma/TypeConversion/9.3.1-1.js | 323 + .../tests/ecma/TypeConversion/9.3.1-2.js | 87 + .../tests/ecma/TypeConversion/9.3.1-3.js | 743 + .../tests/ecma/TypeConversion/9.3.js | 87 + .../tests/ecma/TypeConversion/9.4-1.js | 112 + .../tests/ecma/TypeConversion/9.4-2.js | 112 + .../tests/ecma/TypeConversion/9.5-2.js | 173 + .../tests/ecma/TypeConversion/9.6.js | 140 + .../tests/ecma/TypeConversion/9.7.js | 160 + .../tests/ecma/TypeConversion/9.8.1.js | 167 + .../tests/ecma/TypeConversion/9.9-1.js | 119 + .../tests/ecma/TypeConversion/browser.js | 0 .../tests/ecma/TypeConversion/shell.js | 1 + .../qscriptjstestsuite/tests/ecma/Types/8.1.js | 75 + .../qscriptjstestsuite/tests/ecma/Types/8.4.js | 130 + .../tests/ecma/Types/8.6.2.1-1.js | 78 + .../qscriptjstestsuite/tests/ecma/Types/browser.js | 0 .../qscriptjstestsuite/tests/ecma/Types/shell.js | 1 + .../auto/qscriptjstestsuite/tests/ecma/browser.js | 62 + .../tests/ecma/extensions/10.1.4-9.js | 110 + .../tests/ecma/extensions/10.1.6.js | 127 + .../tests/ecma/extensions/10.1.8-1.js | 135 + .../tests/ecma/extensions/11.6.1-1.js | 145 + .../tests/ecma/extensions/11.6.1-2.js | 136 + .../tests/ecma/extensions/11.6.1-3.js | 137 + .../tests/ecma/extensions/11.6.2-1.js | 124 + .../tests/ecma/extensions/15-1.js | 94 + .../tests/ecma/extensions/15-2.js | 77 + .../tests/ecma/extensions/15.1.2.1-1.js | 88 + .../tests/ecma/extensions/15.2.1.1.js | 82 + .../tests/ecma/extensions/15.2.3-1.js | 64 + .../tests/ecma/extensions/15.2.4.js | 66 + .../tests/ecma/extensions/15.3.1.1-1.js | 82 + .../tests/ecma/extensions/15.3.1.1-2.js | 82 + .../tests/ecma/extensions/15.3.2.1-1.js | 72 + .../tests/ecma/extensions/15.3.2.1-2.js | 72 + .../tests/ecma/extensions/15.3.3.1-1.js | 67 + .../tests/ecma/extensions/15.4.3.js | 63 + .../tests/ecma/extensions/15.5.3.js | 66 + .../tests/ecma/extensions/15.5.4.2.js | 59 + .../tests/ecma/extensions/15.5.4.4-4.js | 107 + .../tests/ecma/extensions/15.5.4.5-6.js | 94 + .../tests/ecma/extensions/15.5.4.7-3.js | 161 + .../tests/ecma/extensions/15.6.3.1-5.js | 58 + .../tests/ecma/extensions/15.6.3.js | 65 + .../tests/ecma/extensions/15.6.4-2.js | 66 + .../tests/ecma/extensions/15.7.3.js | 69 + .../tests/ecma/extensions/15.7.4.js | 90 + .../tests/ecma/extensions/15.8-1.js | 84 + .../tests/ecma/extensions/15.9.5.js | 76 + .../tests/ecma/extensions/8.6.2.1-1.js | 98 + .../tests/ecma/extensions/9.9-1.js | 102 + .../tests/ecma/extensions/browser.js | 0 .../tests/ecma/extensions/shell.js | 1 + tests/auto/qscriptjstestsuite/tests/ecma/jsref.js | 634 + tests/auto/qscriptjstestsuite/tests/ecma/shell.js | 577 + .../auto/qscriptjstestsuite/tests/ecma/template.js | 70 + .../tests/ecma_2/Exceptions/boolean-001.js | 80 + .../tests/ecma_2/Exceptions/boolean-002.js | 84 + .../tests/ecma_2/Exceptions/browser.js | 0 .../tests/ecma_2/Exceptions/date-001.js | 93 + .../tests/ecma_2/Exceptions/date-002.js | 87 + .../tests/ecma_2/Exceptions/date-003.js | 89 + .../tests/ecma_2/Exceptions/date-004.js | 83 + .../tests/ecma_2/Exceptions/exception-001.js | 78 + .../tests/ecma_2/Exceptions/exception-002.js | 78 + .../tests/ecma_2/Exceptions/exception-003.js | 82 + .../tests/ecma_2/Exceptions/exception-004.js | 78 + .../tests/ecma_2/Exceptions/exception-005.js | 78 + .../tests/ecma_2/Exceptions/exception-006.js | 89 + .../tests/ecma_2/Exceptions/exception-007.js | 90 + .../tests/ecma_2/Exceptions/exception-008.js | 77 + .../tests/ecma_2/Exceptions/exception-009.js | 86 + .../tests/ecma_2/Exceptions/exception-010-n.js | 61 + .../tests/ecma_2/Exceptions/exception-011-n.js | 62 + .../tests/ecma_2/Exceptions/expression-001.js | 83 + .../tests/ecma_2/Exceptions/expression-002.js | 93 + .../tests/ecma_2/Exceptions/expression-003.js | 88 + .../tests/ecma_2/Exceptions/expression-004.js | 82 + .../tests/ecma_2/Exceptions/expression-005.js | 74 + .../tests/ecma_2/Exceptions/expression-006.js | 79 + .../tests/ecma_2/Exceptions/expression-007.js | 77 + .../tests/ecma_2/Exceptions/expression-008.js | 74 + .../tests/ecma_2/Exceptions/expression-009.js | 75 + .../tests/ecma_2/Exceptions/expression-010.js | 76 + .../tests/ecma_2/Exceptions/expression-011.js | 76 + .../tests/ecma_2/Exceptions/expression-012.js | 77 + .../tests/ecma_2/Exceptions/expression-013.js | 77 + .../tests/ecma_2/Exceptions/expression-014.js | 79 + .../tests/ecma_2/Exceptions/expression-015.js | 73 + .../tests/ecma_2/Exceptions/expression-016.js | 73 + .../tests/ecma_2/Exceptions/expression-017.js | 73 + .../tests/ecma_2/Exceptions/expression-019.js | 77 + .../tests/ecma_2/Exceptions/function-001.js | 86 + .../tests/ecma_2/Exceptions/global-001.js | 78 + .../tests/ecma_2/Exceptions/global-002.js | 78 + .../tests/ecma_2/Exceptions/lexical-001.js | 85 + .../tests/ecma_2/Exceptions/lexical-002.js | 85 + .../tests/ecma_2/Exceptions/lexical-003.js | 76 + .../tests/ecma_2/Exceptions/lexical-004.js | 85 + .../tests/ecma_2/Exceptions/lexical-005.js | 85 + .../tests/ecma_2/Exceptions/lexical-006.js | 91 + .../tests/ecma_2/Exceptions/lexical-007.js | 84 + .../tests/ecma_2/Exceptions/lexical-008.js | 86 + .../tests/ecma_2/Exceptions/lexical-009.js | 86 + .../tests/ecma_2/Exceptions/lexical-010.js | 84 + .../tests/ecma_2/Exceptions/lexical-011.js | 95 + .../tests/ecma_2/Exceptions/lexical-012.js | 86 + .../tests/ecma_2/Exceptions/lexical-013.js | 86 + .../tests/ecma_2/Exceptions/lexical-014.js | 95 + .../tests/ecma_2/Exceptions/lexical-015.js | 86 + .../tests/ecma_2/Exceptions/lexical-016.js | 95 + .../tests/ecma_2/Exceptions/lexical-017.js | 87 + .../tests/ecma_2/Exceptions/lexical-018.js | 86 + .../tests/ecma_2/Exceptions/lexical-019.js | 86 + .../tests/ecma_2/Exceptions/lexical-020.js | 86 + .../tests/ecma_2/Exceptions/lexical-021.js | 95 + .../tests/ecma_2/Exceptions/lexical-022.js | 86 + .../tests/ecma_2/Exceptions/lexical-023.js | 85 + .../tests/ecma_2/Exceptions/lexical-024.js | 92 + .../tests/ecma_2/Exceptions/lexical-025.js | 92 + .../tests/ecma_2/Exceptions/lexical-026.js | 92 + .../tests/ecma_2/Exceptions/lexical-027.js | 94 + .../tests/ecma_2/Exceptions/lexical-028.js | 92 + .../tests/ecma_2/Exceptions/lexical-029.js | 92 + .../tests/ecma_2/Exceptions/lexical-030.js | 92 + .../tests/ecma_2/Exceptions/lexical-031.js | 92 + .../tests/ecma_2/Exceptions/lexical-032.js | 92 + .../tests/ecma_2/Exceptions/lexical-033.js | 92 + .../tests/ecma_2/Exceptions/lexical-034.js | 91 + .../tests/ecma_2/Exceptions/lexical-035.js | 92 + .../tests/ecma_2/Exceptions/lexical-036.js | 92 + .../tests/ecma_2/Exceptions/lexical-037.js | 92 + .../tests/ecma_2/Exceptions/lexical-038.js | 92 + .../tests/ecma_2/Exceptions/lexical-039.js | 79 + .../tests/ecma_2/Exceptions/lexical-040.js | 79 + .../tests/ecma_2/Exceptions/lexical-041.js | 81 + .../tests/ecma_2/Exceptions/lexical-042.js | 82 + .../tests/ecma_2/Exceptions/lexical-047.js | 83 + .../tests/ecma_2/Exceptions/lexical-048.js | 77 + .../tests/ecma_2/Exceptions/lexical-049.js | 82 + .../tests/ecma_2/Exceptions/lexical-050.js | 78 + .../tests/ecma_2/Exceptions/lexical-051.js | 78 + .../tests/ecma_2/Exceptions/lexical-052.js | 80 + .../tests/ecma_2/Exceptions/lexical-053.js | 78 + .../tests/ecma_2/Exceptions/lexical-054.js | 79 + .../tests/ecma_2/Exceptions/number-001.js | 86 + .../tests/ecma_2/Exceptions/number-002.js | 81 + .../tests/ecma_2/Exceptions/number-003.js | 83 + .../tests/ecma_2/Exceptions/shell.js | 1 + .../tests/ecma_2/Exceptions/statement-001.js | 80 + .../tests/ecma_2/Exceptions/statement-002.js | 102 + .../tests/ecma_2/Exceptions/statement-003.js | 113 + .../tests/ecma_2/Exceptions/statement-004.js | 85 + .../tests/ecma_2/Exceptions/statement-005.js | 84 + .../tests/ecma_2/Exceptions/statement-006.js | 84 + .../tests/ecma_2/Exceptions/statement-007.js | 75 + .../tests/ecma_2/Exceptions/statement-008.js | 75 + .../tests/ecma_2/Exceptions/statement-009.js | 74 + .../tests/ecma_2/Exceptions/string-001.js | 86 + .../tests/ecma_2/Exceptions/string-002.js | 85 + .../tests/ecma_2/Expressions/StrictEquality-001.js | 106 + .../tests/ecma_2/Expressions/browser.js | 0 .../tests/ecma_2/Expressions/shell.js | 1 + .../tests/ecma_2/FunctionObjects/apply-001-n.js | 65 + .../tests/ecma_2/FunctionObjects/browser.js | 0 .../tests/ecma_2/FunctionObjects/call-1.js | 75 + .../tests/ecma_2/FunctionObjects/shell.js | 1 + .../tests/ecma_2/LexicalConventions/browser.js | 0 .../ecma_2/LexicalConventions/keywords-001.js | 81 + .../LexicalConventions/regexp-literals-001.js | 77 + .../LexicalConventions/regexp-literals-002.js | 61 + .../tests/ecma_2/LexicalConventions/shell.js | 1 + tests/auto/qscriptjstestsuite/tests/ecma_2/README | 1 + .../tests/ecma_2/RegExp/browser.js | 0 .../tests/ecma_2/RegExp/constructor-001.js | 99 + .../tests/ecma_2/RegExp/exec-001.js | 73 + .../tests/ecma_2/RegExp/exec-002.js | 221 + .../tests/ecma_2/RegExp/function-001.js | 99 + .../tests/ecma_2/RegExp/hex-001.js | 102 + .../tests/ecma_2/RegExp/multiline-001.js | 101 + .../tests/ecma_2/RegExp/octal-001.js | 111 + .../tests/ecma_2/RegExp/octal-002.js | 126 + .../tests/ecma_2/RegExp/octal-003.js | 120 + .../tests/ecma_2/RegExp/properties-001.js | 124 + .../tests/ecma_2/RegExp/properties-002.js | 162 + .../tests/ecma_2/RegExp/regexp-enumerate-001.js | 121 + .../tests/ecma_2/RegExp/regress-001.js | 78 + .../tests/ecma_2/RegExp/shell.js | 1 + .../tests/ecma_2/RegExp/unicode-001.js | 92 + .../tests/ecma_2/Statements/browser.js | 0 .../tests/ecma_2/Statements/dowhile-001.js | 77 + .../tests/ecma_2/Statements/dowhile-002.js | 104 + .../tests/ecma_2/Statements/dowhile-003.js | 96 + .../tests/ecma_2/Statements/dowhile-004.js | 100 + .../tests/ecma_2/Statements/dowhile-005.js | 106 + .../tests/ecma_2/Statements/dowhile-006.js | 122 + .../tests/ecma_2/Statements/dowhile-007.js | 130 + .../tests/ecma_2/Statements/forin-001.js | 330 + .../tests/ecma_2/Statements/forin-002.js | 109 + .../tests/ecma_2/Statements/if-001.js | 75 + .../tests/ecma_2/Statements/label-001.js | 75 + .../tests/ecma_2/Statements/label-002.js | 89 + .../tests/ecma_2/Statements/shell.js | 1 + .../tests/ecma_2/Statements/switch-001.js | 98 + .../tests/ecma_2/Statements/switch-002.js | 96 + .../tests/ecma_2/Statements/switch-003.js | 90 + .../tests/ecma_2/Statements/switch-004.js | 127 + .../tests/ecma_2/Statements/try-001.js | 118 + .../tests/ecma_2/Statements/try-003.js | 115 + .../tests/ecma_2/Statements/try-004.js | 87 + .../tests/ecma_2/Statements/try-005.js | 90 + .../tests/ecma_2/Statements/try-006.js | 120 + .../tests/ecma_2/Statements/try-007.js | 125 + .../tests/ecma_2/Statements/try-008.js | 92 + .../tests/ecma_2/Statements/try-009.js | 99 + .../tests/ecma_2/Statements/try-010.js | 106 + .../tests/ecma_2/Statements/try-012.js | 128 + .../tests/ecma_2/Statements/while-001.js | 75 + .../tests/ecma_2/Statements/while-002.js | 119 + .../tests/ecma_2/Statements/while-003.js | 120 + .../tests/ecma_2/Statements/while-004.js | 250 + .../tests/ecma_2/String/browser.js | 0 .../tests/ecma_2/String/match-001.js | 139 + .../tests/ecma_2/String/match-002.js | 207 + .../tests/ecma_2/String/match-003.js | 165 + .../tests/ecma_2/String/match-004.js | 206 + .../tests/ecma_2/String/replace-001.js | 99 + .../tests/ecma_2/String/shell.js | 1 + .../tests/ecma_2/String/split-001.js | 145 + .../tests/ecma_2/String/split-002.js | 303 + .../tests/ecma_2/String/split-003.js | 156 + .../qscriptjstestsuite/tests/ecma_2/browser.js | 37 + .../tests/ecma_2/extensions/browser.js | 0 .../tests/ecma_2/extensions/constructor-001.js | 74 + .../tests/ecma_2/extensions/function-001.js | 74 + .../tests/ecma_2/extensions/instanceof-001.js | 144 + .../tests/ecma_2/extensions/instanceof-002.js | 160 + .../tests/ecma_2/extensions/instanceof-003-n.js | 121 + .../tests/ecma_2/extensions/instanceof-004-n.js | 121 + .../tests/ecma_2/extensions/instanceof-005-n.js | 122 + .../tests/ecma_2/extensions/instanceof-006.js | 119 + .../tests/ecma_2/extensions/shell.js | 1 + .../tests/ecma_2/instanceof/browser.js | 0 .../tests/ecma_2/instanceof/instanceof-001.js | 67 + .../tests/ecma_2/instanceof/instanceof-002.js | 84 + .../tests/ecma_2/instanceof/instanceof-003.js | 98 + .../tests/ecma_2/instanceof/regress-7635.js | 88 + .../tests/ecma_2/instanceof/shell.js | 1 + .../auto/qscriptjstestsuite/tests/ecma_2/jsref.js | 591 + .../auto/qscriptjstestsuite/tests/ecma_2/shell.js | 51 + .../qscriptjstestsuite/tests/ecma_2/template.js | 57 + .../tests/ecma_3/Array/15.4.4.11-01.js | 61 + .../tests/ecma_3/Array/15.4.4.3-1.js | 88 + .../tests/ecma_3/Array/15.4.4.4-001.js | 153 + .../tests/ecma_3/Array/15.4.5.1-01.js | 93 + .../tests/ecma_3/Array/browser.js | 0 .../tests/ecma_3/Array/regress-101488.js | 172 + .../tests/ecma_3/Array/regress-130451.js | 219 + .../tests/ecma_3/Array/regress-322135-01.js | 73 + .../tests/ecma_3/Array/regress-322135-02.js | 65 + .../tests/ecma_3/Array/regress-322135-03.js | 73 + .../tests/ecma_3/Array/regress-322135-04.js | 71 + .../tests/ecma_3/Array/regress-387501.js | 94 + .../tests/ecma_3/Array/regress-421325.js | 67 + .../tests/ecma_3/Array/regress-430717.js | 65 + .../qscriptjstestsuite/tests/ecma_3/Array/shell.js | 1 + .../tests/ecma_3/Date/15.9.1.2-01.js | 62 + .../tests/ecma_3/Date/15.9.3.2-1.js | 91 + .../tests/ecma_3/Date/15.9.4.3.js | 233 + .../tests/ecma_3/Date/15.9.5.3.js | 152 + .../tests/ecma_3/Date/15.9.5.4.js | 185 + .../tests/ecma_3/Date/15.9.5.5-02.js | 88 + .../tests/ecma_3/Date/15.9.5.5.js | 144 + .../tests/ecma_3/Date/15.9.5.6.js | 153 + .../tests/ecma_3/Date/15.9.5.7.js | 142 + .../tests/ecma_3/Date/browser.js | 37 + .../qscriptjstestsuite/tests/ecma_3/Date/shell.js | 564 + .../tests/ecma_3/Exceptions/15.11.1.1.js | 137 + .../tests/ecma_3/Exceptions/15.11.4.4-1.js | 174 + .../tests/ecma_3/Exceptions/15.11.7.6-001.js | 130 + .../tests/ecma_3/Exceptions/15.11.7.6-002.js | 132 + .../tests/ecma_3/Exceptions/15.11.7.6-003.js | 132 + .../tests/ecma_3/Exceptions/binding-001.js | 128 + .../tests/ecma_3/Exceptions/browser.js | 0 .../tests/ecma_3/Exceptions/regress-181654.js | 155 + .../tests/ecma_3/Exceptions/regress-181914.js | 194 + .../tests/ecma_3/Exceptions/regress-58946.js | 71 + .../tests/ecma_3/Exceptions/regress-95101.js | 118 + .../tests/ecma_3/Exceptions/shell.js | 1 + .../tests/ecma_3/ExecutionContexts/10.1.3-1.js | 201 + .../tests/ecma_3/ExecutionContexts/10.1.3-2.js | 70 + .../tests/ecma_3/ExecutionContexts/10.1.3.js | 73 + .../tests/ecma_3/ExecutionContexts/10.1.4-1.js | 85 + .../tests/ecma_3/ExecutionContexts/10.6.1-01.js | 136 + .../tests/ecma_3/ExecutionContexts/browser.js | 0 .../ecma_3/ExecutionContexts/regress-23346.js | 71 + .../ecma_3/ExecutionContexts/regress-448595-01.js | 91 + .../tests/ecma_3/ExecutionContexts/shell.js | 1 + .../tests/ecma_3/Expressions/11.10-01.js | 76 + .../tests/ecma_3/Expressions/11.10-02.js | 76 + .../tests/ecma_3/Expressions/11.10-03.js | 76 + .../tests/ecma_3/Expressions/11.6.1-1.js | 176 + .../tests/ecma_3/Expressions/11.7.1-01.js | 76 + .../tests/ecma_3/Expressions/11.7.2-01.js | 76 + .../tests/ecma_3/Expressions/11.7.3-01.js | 76 + .../tests/ecma_3/Expressions/11.9.6-1.js | 213 + .../tests/ecma_3/Expressions/browser.js | 0 .../tests/ecma_3/Expressions/shell.js | 1 + .../tests/ecma_3/FunExpr/browser.js | 0 .../tests/ecma_3/FunExpr/fe-001-n.js | 58 + .../tests/ecma_3/FunExpr/fe-001.js | 57 + .../tests/ecma_3/FunExpr/fe-002.js | 61 + .../tests/ecma_3/FunExpr/shell.js | 1 + .../tests/ecma_3/Function/15.3.4.3-1.js | 210 + .../tests/ecma_3/Function/15.3.4.4-1.js | 185 + .../tests/ecma_3/Function/arguments-001.js | 169 + .../tests/ecma_3/Function/arguments-002.js | 73 + .../tests/ecma_3/Function/browser.js | 0 .../tests/ecma_3/Function/call-001.js | 153 + .../tests/ecma_3/Function/regress-131964.js | 196 + .../tests/ecma_3/Function/regress-137181.js | 113 + .../tests/ecma_3/Function/regress-193555.js | 136 + .../tests/ecma_3/Function/regress-313570.js | 63 + .../tests/ecma_3/Function/regress-49286.js | 137 + .../tests/ecma_3/Function/regress-58274.js | 226 + .../tests/ecma_3/Function/regress-85880.js | 173 + .../tests/ecma_3/Function/regress-94506.js | 163 + .../tests/ecma_3/Function/regress-97921.js | 152 + .../tests/ecma_3/Function/scope-001.js | 265 + .../tests/ecma_3/Function/scope-002.js | 245 + .../tests/ecma_3/Function/shell.js | 1 + .../tests/ecma_3/LexicalConventions/7.9.1.js | 157 + .../tests/ecma_3/LexicalConventions/browser.js | 0 .../tests/ecma_3/LexicalConventions/shell.js | 1 + .../tests/ecma_3/Number/15.7.4.2-01.js | 77 + .../tests/ecma_3/Number/15.7.4.3-01.js | 69 + .../tests/ecma_3/Number/15.7.4.3-02.js | 53 + .../tests/ecma_3/Number/15.7.4.5-1.js | 145 + .../tests/ecma_3/Number/15.7.4.6-1.js | 134 + .../tests/ecma_3/Number/15.7.4.7-1.js | 139 + .../tests/ecma_3/Number/15.7.4.7-2.js | 72 + .../tests/ecma_3/Number/browser.js | 0 .../tests/ecma_3/Number/regress-442242-01.js | 62 + .../tests/ecma_3/Number/shell.js | 1 + .../tests/ecma_3/NumberFormatting/browser.js | 0 .../tests/ecma_3/NumberFormatting/shell.js | 1 + .../tests/ecma_3/NumberFormatting/tostring-001.js | 60 + .../tests/ecma_3/Object/8.6.1-01.js | 113 + .../tests/ecma_3/Object/8.6.2.6-001.js | 113 + .../tests/ecma_3/Object/browser.js | 7 + .../tests/ecma_3/Object/class-001.js | 156 + .../tests/ecma_3/Object/class-002.js | 146 + .../tests/ecma_3/Object/class-003.js | 139 + .../tests/ecma_3/Object/class-004.js | 139 + .../tests/ecma_3/Object/class-005.js | 124 + .../tests/ecma_3/Object/regress-361274.js | 66 + .../tests/ecma_3/Object/regress-385393-07.js | 67 + .../tests/ecma_3/Object/regress-72773.js | 97 + .../tests/ecma_3/Object/regress-79129-001.js | 80 + .../tests/ecma_3/Object/shell.js | 105 + .../tests/ecma_3/Operators/11.13.1-001.js | 152 + .../tests/ecma_3/Operators/11.13.1-002.js | 57 + .../tests/ecma_3/Operators/11.4.1-001.js | 120 + .../tests/ecma_3/Operators/11.4.1-002.js | 72 + .../tests/ecma_3/Operators/browser.js | 0 .../tests/ecma_3/Operators/order-01.js | 108 + .../tests/ecma_3/Operators/shell.js | 1 + tests/auto/qscriptjstestsuite/tests/ecma_3/README | 1 + .../tests/ecma_3/RegExp/15.10.2-1.js | 181 + .../tests/ecma_3/RegExp/15.10.2.12.js | 63 + .../tests/ecma_3/RegExp/15.10.3.1-1.js | 136 + .../tests/ecma_3/RegExp/15.10.3.1-2.js | 144 + .../tests/ecma_3/RegExp/15.10.4.1-1.js | 127 + .../tests/ecma_3/RegExp/15.10.4.1-2.js | 133 + .../tests/ecma_3/RegExp/15.10.4.1-3.js | 139 + .../tests/ecma_3/RegExp/15.10.4.1-4.js | 146 + .../tests/ecma_3/RegExp/15.10.4.1-5-n.js | 139 + .../tests/ecma_3/RegExp/15.10.6.2-1.js | 140 + .../tests/ecma_3/RegExp/15.10.6.2-2.js | 367 + .../tests/ecma_3/RegExp/browser.js | 0 .../tests/ecma_3/RegExp/octal-001.js | 136 + .../tests/ecma_3/RegExp/octal-002.js | 218 + .../tests/ecma_3/RegExp/perlstress-001.js | 3230 + .../tests/ecma_3/RegExp/perlstress-002.js | 1842 + .../tests/ecma_3/RegExp/regress-100199.js | 307 + .../tests/ecma_3/RegExp/regress-105972.js | 157 + .../tests/ecma_3/RegExp/regress-119909.js | 92 + .../tests/ecma_3/RegExp/regress-122076.js | 110 + .../tests/ecma_3/RegExp/regress-123437.js | 112 + .../tests/ecma_3/RegExp/regress-165353.js | 122 + .../tests/ecma_3/RegExp/regress-169497.js | 105 + .../tests/ecma_3/RegExp/regress-169534.js | 95 + .../tests/ecma_3/RegExp/regress-187133.js | 142 + .../tests/ecma_3/RegExp/regress-188206.js | 219 + .../tests/ecma_3/RegExp/regress-191479.js | 198 + .../tests/ecma_3/RegExp/regress-202564.js | 101 + .../tests/ecma_3/RegExp/regress-209067.js | 1106 + .../tests/ecma_3/RegExp/regress-209919.js | 174 + .../tests/ecma_3/RegExp/regress-216591.js | 117 + .../tests/ecma_3/RegExp/regress-220367-001.js | 104 + .../tests/ecma_3/RegExp/regress-223273.js | 279 + .../tests/ecma_3/RegExp/regress-223535.js | 133 + .../tests/ecma_3/RegExp/regress-224676.js | 232 + .../tests/ecma_3/RegExp/regress-225289.js | 176 + .../tests/ecma_3/RegExp/regress-225343.js | 125 + .../tests/ecma_3/RegExp/regress-24712.js | 59 + .../tests/ecma_3/RegExp/regress-285219.js | 51 + .../tests/ecma_3/RegExp/regress-28686.js | 57 + .../tests/ecma_3/RegExp/regress-289669.js | 88 + .../tests/ecma_3/RegExp/regress-307456.js | 54 + .../tests/ecma_3/RegExp/regress-309840.js | 58 + .../tests/ecma_3/RegExp/regress-311414.js | 101 + .../tests/ecma_3/RegExp/regress-312351.js | 50 + .../tests/ecma_3/RegExp/regress-31316.js | 96 + .../tests/ecma_3/RegExp/regress-330684.js | 53 + .../tests/ecma_3/RegExp/regress-334158.js | 58 + .../tests/ecma_3/RegExp/regress-346090.js | 63 + .../tests/ecma_3/RegExp/regress-367888.js | 62 + .../tests/ecma_3/RegExp/regress-375642.js | 61 + .../tests/ecma_3/RegExp/regress-375711.js | 118 + .../tests/ecma_3/RegExp/regress-375715-01-n.js | 63 + .../tests/ecma_3/RegExp/regress-375715-02.js | 60 + .../tests/ecma_3/RegExp/regress-375715-03.js | 60 + .../tests/ecma_3/RegExp/regress-375715-04.js | 68 + .../tests/ecma_3/RegExp/regress-57572.js | 150 + .../tests/ecma_3/RegExp/regress-57631.js | 152 + .../tests/ecma_3/RegExp/regress-67773.js | 211 + .../tests/ecma_3/RegExp/regress-72964.js | 121 + .../tests/ecma_3/RegExp/regress-76683.js | 114 + .../tests/ecma_3/RegExp/regress-78156.js | 123 + .../tests/ecma_3/RegExp/regress-85721.js | 276 + .../tests/ecma_3/RegExp/regress-87231.js | 145 + .../tests/ecma_3/RegExp/regress-98306.js | 99 + .../tests/ecma_3/RegExp/shell.js | 266 + .../tests/ecma_3/Regress/browser.js | 0 .../tests/ecma_3/Regress/regress-385393-04.js | 66 + .../tests/ecma_3/Regress/regress-419152.js | 90 + .../tests/ecma_3/Regress/regress-420087.js | 64 + .../tests/ecma_3/Regress/regress-420610.js | 50 + .../tests/ecma_3/Regress/regress-441477-01.js | 73 + .../tests/ecma_3/Regress/shell.js | 1 + .../tests/ecma_3/Statements/12.6.3.js | 80 + .../tests/ecma_3/Statements/browser.js | 0 .../tests/ecma_3/Statements/regress-121744.js | 217 + .../tests/ecma_3/Statements/regress-131348.js | 184 + .../tests/ecma_3/Statements/regress-157509.js | 111 + .../tests/ecma_3/Statements/regress-194364.js | 152 + .../tests/ecma_3/Statements/regress-226517.js | 112 + .../tests/ecma_3/Statements/regress-302439.js | 1368 + .../tests/ecma_3/Statements/regress-324650.js | 5461 ++ .../tests/ecma_3/Statements/regress-74474-001.js | 139 + .../tests/ecma_3/Statements/regress-74474-002.js | 9097 ++ .../tests/ecma_3/Statements/regress-74474-003.js | 9099 ++ .../tests/ecma_3/Statements/regress-83532-001.js | 71 + .../tests/ecma_3/Statements/regress-83532-002.js | 74 + .../tests/ecma_3/Statements/shell.js | 1 + .../tests/ecma_3/Statements/switch-001.js | 143 + .../tests/ecma_3/String/15.5.4.11.js | 532 + .../tests/ecma_3/String/15.5.4.14.js | 50 + .../tests/ecma_3/String/browser.js | 0 .../tests/ecma_3/String/regress-104375.js | 116 + .../tests/ecma_3/String/regress-189898.js | 157 + .../tests/ecma_3/String/regress-304376.js | 68 + .../tests/ecma_3/String/regress-313567.js | 56 + .../tests/ecma_3/String/regress-392378.js | 77 + .../tests/ecma_3/String/regress-83293.js | 216 + .../tests/ecma_3/String/shell.js | 1 + .../tests/ecma_3/Unicode/browser.js | 0 .../tests/ecma_3/Unicode/regress-352044-01.js | 72 + .../tests/ecma_3/Unicode/regress-352044-02-n.js | 72 + .../tests/ecma_3/Unicode/shell.js | 1 + .../tests/ecma_3/Unicode/uc-001-n.js | 62 + .../tests/ecma_3/Unicode/uc-001.js | 56 + .../tests/ecma_3/Unicode/uc-002-n.js | 55 + .../tests/ecma_3/Unicode/uc-002.js | 60 + .../tests/ecma_3/Unicode/uc-003.js | 71 + .../tests/ecma_3/Unicode/uc-004.js | 65 + .../tests/ecma_3/Unicode/uc-005.js | 276 + .../qscriptjstestsuite/tests/ecma_3/browser.js | 36 + .../tests/ecma_3/extensions/10.1.3-2.js | 162 + .../tests/ecma_3/extensions/7.9.1.js | 83 + .../tests/ecma_3/extensions/browser.js | 0 .../tests/ecma_3/extensions/regress-103087.js | 178 + .../tests/ecma_3/extensions/regress-188206-01.js | 108 + .../tests/ecma_3/extensions/regress-188206-02.js | 158 + .../tests/ecma_3/extensions/regress-220367-002.js | 112 + .../tests/ecma_3/extensions/regress-228087.js | 352 + .../tests/ecma_3/extensions/regress-274152.js | 83 + .../tests/ecma_3/extensions/regress-320854.js | 53 + .../tests/ecma_3/extensions/regress-327170.js | 58 + .../tests/ecma_3/extensions/regress-368516.js | 78 + .../tests/ecma_3/extensions/regress-385393-03.js | 63 + .../tests/ecma_3/extensions/regress-429248.js | 67 + .../tests/ecma_3/extensions/regress-430740.js | 72 + .../tests/ecma_3/extensions/shell.js | 266 + .../auto/qscriptjstestsuite/tests/ecma_3/shell.js | 40 + .../qscriptjstestsuite/tests/ecma_3/template.js | 59 + tests/auto/qscriptjstestsuite/tests/shell.js | 886 + .../qscriptjstestsuite/tst_qscriptjstestsuite.cpp | 907 + tests/auto/qscriptqobject/.gitignore | 1 + tests/auto/qscriptqobject/qscriptqobject.pro | 5 + tests/auto/qscriptqobject/tst_qscriptqobject.cpp | 2796 + tests/auto/qscriptstring/.gitignore | 1 + tests/auto/qscriptstring/qscriptstring.pro | 3 + tests/auto/qscriptstring/tst_qscriptstring.cpp | 138 + .../auto/qscriptv8testsuite/qscriptv8testsuite.pro | 11 + tests/auto/qscriptv8testsuite/tests/apply.js | 187 + .../tests/arguments-call-apply.js | 41 + .../qscriptv8testsuite/tests/arguments-enum.js | 52 + .../qscriptv8testsuite/tests/arguments-indirect.js | 47 + .../auto/qscriptv8testsuite/tests/arguments-opt.js | 130 + tests/auto/qscriptv8testsuite/tests/arguments.js | 97 + .../auto/qscriptv8testsuite/tests/array-concat.js | 101 + .../tests/array-functions-prototype.js | 159 + .../qscriptv8testsuite/tests/array-indexing.js | 66 + .../qscriptv8testsuite/tests/array-iteration.js | 228 + tests/auto/qscriptv8testsuite/tests/array-join.js | 45 + .../auto/qscriptv8testsuite/tests/array-length.js | 111 + tests/auto/qscriptv8testsuite/tests/array-sort.js | 66 + .../tests/array-splice-webkit.js | 60 + .../auto/qscriptv8testsuite/tests/array-splice.js | 313 + .../auto/qscriptv8testsuite/tests/array_length.js | 53 + .../tests/ascii-regexp-subject.js | 45 + .../tests/binary-operation-overwrite.js | 36 + .../qscriptv8testsuite/tests/body-not-visible.js | 39 + .../tests/call-non-function-call.js | 38 + .../qscriptv8testsuite/tests/call-non-function.js | 54 + tests/auto/qscriptv8testsuite/tests/call.js | 87 + tests/auto/qscriptv8testsuite/tests/char-escape.js | 53 + .../qscriptv8testsuite/tests/class-of-builtins.js | 50 + tests/auto/qscriptv8testsuite/tests/closure.js | 37 + tests/auto/qscriptv8testsuite/tests/compare-nan.js | 44 + .../auto/qscriptv8testsuite/tests/const-redecl.js | 220 + tests/auto/qscriptv8testsuite/tests/const.js | 68 + .../tests/cyclic-array-to-string.js | 65 + tests/auto/qscriptv8testsuite/tests/date-parse.js | 265 + tests/auto/qscriptv8testsuite/tests/date.js | 126 + .../qscriptv8testsuite/tests/declare-locally.js | 43 + .../qscriptv8testsuite/tests/deep-recursion.js | 64 + .../qscriptv8testsuite/tests/delay-syntax-error.js | 41 + .../tests/delete-global-properties.js | 37 + .../qscriptv8testsuite/tests/delete-in-eval.js | 32 + .../qscriptv8testsuite/tests/delete-in-with.js | 34 + .../tests/delete-vars-from-eval.js | 40 + tests/auto/qscriptv8testsuite/tests/delete.js | 163 + .../qscriptv8testsuite/tests/do-not-strip-fc.js | 31 + .../tests/dont-enum-array-holes.js | 35 + .../tests/dont-reinit-global-var.js | 47 + .../auto/qscriptv8testsuite/tests/double-equals.js | 114 + tests/auto/qscriptv8testsuite/tests/dtoa.js | 32 + .../qscriptv8testsuite/tests/enumeration_order.js | 59 + tests/auto/qscriptv8testsuite/tests/escape.js | 118 + .../tests/eval-typeof-non-existing.js | 32 + .../tests/execScript-case-insensitive.js | 34 + .../qscriptv8testsuite/tests/extra-arguments.js | 54 + .../auto/qscriptv8testsuite/tests/extra-commas.js | 46 + .../tests/for-in-null-or-undefined.js | 33 + .../tests/for-in-special-cases.js | 64 + tests/auto/qscriptv8testsuite/tests/for-in.js | 69 + .../qscriptv8testsuite/tests/fun-as-prototype.js | 36 + tests/auto/qscriptv8testsuite/tests/fun_name.js | 34 + .../tests/function-arguments-null.js | 30 + .../qscriptv8testsuite/tests/function-caller.js | 48 + .../qscriptv8testsuite/tests/function-property.js | 29 + .../qscriptv8testsuite/tests/function-prototype.js | 97 + .../qscriptv8testsuite/tests/function-source.js | 49 + tests/auto/qscriptv8testsuite/tests/function.js | 72 + .../qscriptv8testsuite/tests/fuzz-accessors.js | 85 + .../tests/getter-in-value-prototype.js | 35 + .../tests/global-const-var-conflicts.js | 57 + .../qscriptv8testsuite/tests/global-vars-eval.js | 34 + .../qscriptv8testsuite/tests/global-vars-with.js | 43 + .../qscriptv8testsuite/tests/has-own-property.js | 38 + .../auto/qscriptv8testsuite/tests/html-comments.js | 57 + .../qscriptv8testsuite/tests/html-string-funcs.js | 47 + .../qscriptv8testsuite/tests/if-in-undefined.js | 36 + tests/auto/qscriptv8testsuite/tests/in.js | 158 + tests/auto/qscriptv8testsuite/tests/instanceof.js | 32 + .../qscriptv8testsuite/tests/integer-to-string.js | 35 + tests/auto/qscriptv8testsuite/tests/invalid-lhs.js | 68 + tests/auto/qscriptv8testsuite/tests/keyed-ic.js | 207 + .../tests/large-object-literal.js | 49 + tests/auto/qscriptv8testsuite/tests/lazy-load.js | 34 + tests/auto/qscriptv8testsuite/tests/length.js | 78 + .../auto/qscriptv8testsuite/tests/math-min-max.js | 72 + .../tests/megamorphic-callbacks.js | 70 + tests/auto/qscriptv8testsuite/tests/mjsunit.js | 125 + .../qscriptv8testsuite/tests/mul-exhaustive.js | 4511 + tests/auto/qscriptv8testsuite/tests/negate-zero.js | 42 + tests/auto/qscriptv8testsuite/tests/negate.js | 59 + .../tests/nested-repetition-count-overflow.js | 43 + tests/auto/qscriptv8testsuite/tests/new.js | 56 + .../qscriptv8testsuite/tests/newline-in-string.js | 46 + .../tests/no-branch-elimination.js | 36 + .../tests/no-octal-constants-above-256.js | 32 + .../auto/qscriptv8testsuite/tests/no-semicolon.js | 45 + .../qscriptv8testsuite/tests/non-ascii-replace.js | 30 + .../qscriptv8testsuite/tests/nul-characters.js | 38 + .../auto/qscriptv8testsuite/tests/number-limits.js | 43 + .../qscriptv8testsuite/tests/number-tostring.js | 338 + .../auto/qscriptv8testsuite/tests/obj-construct.js | 46 + .../qscriptv8testsuite/tests/parse-int-float.js | 82 + .../tests/property-object-key.js | 36 + tests/auto/qscriptv8testsuite/tests/proto.js | 33 + tests/auto/qscriptv8testsuite/tests/prototype.js | 93 + .../tests/regexp-multiline-stack-trace.js | 114 + .../qscriptv8testsuite/tests/regexp-multiline.js | 112 + .../qscriptv8testsuite/tests/regexp-standalones.js | 78 + .../auto/qscriptv8testsuite/tests/regexp-static.js | 122 + tests/auto/qscriptv8testsuite/tests/regexp.js | 243 + tests/auto/qscriptv8testsuite/tests/scanner.js | 30 + .../qscriptv8testsuite/tests/smi-negative-zero.js | 100 + tests/auto/qscriptv8testsuite/tests/smi-ops.js | 102 + .../tests/sparse-array-reverse.js | 123 + .../auto/qscriptv8testsuite/tests/sparse-array.js | 41 + tests/auto/qscriptv8testsuite/tests/str-to-num.js | 158 + .../qscriptv8testsuite/tests/stress-array-push.js | 34 + .../auto/qscriptv8testsuite/tests/strict-equals.js | 90 + tests/auto/qscriptv8testsuite/tests/string-case.js | 28 + .../auto/qscriptv8testsuite/tests/string-charat.js | 53 + .../qscriptv8testsuite/tests/string-charcodeat.js | 189 + .../qscriptv8testsuite/tests/string-flatten.js | 37 + .../auto/qscriptv8testsuite/tests/string-index.js | 154 + .../qscriptv8testsuite/tests/string-indexof.js | 49 + .../qscriptv8testsuite/tests/string-lastindexof.js | 51 + .../tests/string-localecompare.js | 40 + .../auto/qscriptv8testsuite/tests/string-search.js | 30 + .../auto/qscriptv8testsuite/tests/string-split.js | 126 + tests/auto/qscriptv8testsuite/tests/substr.js | 65 + .../qscriptv8testsuite/tests/this-in-callbacks.js | 47 + tests/auto/qscriptv8testsuite/tests/this.js | 46 + .../tests/throw-exception-for-null-access.js | 37 + .../auto/qscriptv8testsuite/tests/to-precision.js | 82 + tests/auto/qscriptv8testsuite/tests/tobool.js | 36 + tests/auto/qscriptv8testsuite/tests/toint32.js | 80 + tests/auto/qscriptv8testsuite/tests/touint32.js | 72 + .../qscriptv8testsuite/tests/try-finally-nested.js | 46 + tests/auto/qscriptv8testsuite/tests/try.js | 349 + .../qscriptv8testsuite/tests/try_catch_scopes.js | 42 + .../tests/unicode-string-to-number.js | 46 + .../auto/qscriptv8testsuite/tests/unicode-test.js | 9143 ++ .../tests/unusual-constructor.js | 38 + tests/auto/qscriptv8testsuite/tests/uri.js | 78 + .../tests/value-callic-prototype-change.js | 94 + tests/auto/qscriptv8testsuite/tests/var.js | 37 + tests/auto/qscriptv8testsuite/tests/with-leave.js | 61 + .../tests/with-parameter-access.js | 47 + tests/auto/qscriptv8testsuite/tests/with-value.js | 38 + .../qscriptv8testsuite/tst_qscriptv8testsuite.cpp | 340 + tests/auto/qscriptvalue/.gitignore | 1 + tests/auto/qscriptvalue/qscriptvalue.pro | 5 + tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 3134 + tests/auto/qscriptvalueiterator/.gitignore | 1 + .../qscriptvalueiterator/qscriptvalueiterator.pro | 5 + .../tst_qscriptvalueiterator.cpp | 566 + tests/auto/qscrollarea/.gitignore | 1 + tests/auto/qscrollarea/qscrollarea.pro | 9 + tests/auto/qscrollarea/tst_qscrollarea.cpp | 185 + tests/auto/qscrollbar/.gitignore | 1 + tests/auto/qscrollbar/qscrollbar.pro | 4 + tests/auto/qscrollbar/tst_qscrollbar.cpp | 147 + tests/auto/qsemaphore/.gitignore | 1 + tests/auto/qsemaphore/qsemaphore.pro | 5 + tests/auto/qsemaphore/tst_qsemaphore.cpp | 403 + .../qsequentialanimationgroup.pro | 5 + .../tst_qsequentialanimationgroup.cpp | 1649 + tests/auto/qset/.gitignore | 1 + tests/auto/qset/qset.pro | 7 + tests/auto/qset/tst_qset.cpp | 882 + tests/auto/qsettings/.gitignore | 1 + tests/auto/qsettings/qsettings.pro | 7 + tests/auto/qsettings/qsettings.qrc | 9 + tests/auto/qsettings/resourcefile.ini | 46 + tests/auto/qsettings/resourcefile2.ini | 46 + tests/auto/qsettings/resourcefile3.ini | 50 + tests/auto/qsettings/resourcefile4.ini | 2 + tests/auto/qsettings/resourcefile5.ini | 2 + tests/auto/qsettings/tst_qsettings.cpp | 3808 + tests/auto/qsharedmemory/.gitignore | 3 + tests/auto/qsharedmemory/lackey/lackey.pro | 18 + tests/auto/qsharedmemory/lackey/main.cpp | 368 + .../auto/qsharedmemory/lackey/scripts/consumer.js | 41 + .../auto/qsharedmemory/lackey/scripts/producer.js | 36 + .../lackey/scripts/readonly_segfault.js | 4 + .../lackey/scripts/systemlock_read.js | 11 + .../lackey/scripts/systemlock_readwrite.js | 11 + .../lackey/scripts/systemsemaphore_acquire.js | 18 + .../scripts/systemsemaphore_acquirerelease.js | 11 + .../lackey/scripts/systemsemaphore_release.js | 11 + tests/auto/qsharedmemory/qsharedmemory.pro | 4 + .../auto/qsharedmemory/qsystemlock/qsystemlock.pro | 16 + .../qsharedmemory/qsystemlock/tst_qsystemlock.cpp | 222 + tests/auto/qsharedmemory/src/qsystemlock.cpp | 246 + tests/auto/qsharedmemory/src/qsystemlock.h | 135 + tests/auto/qsharedmemory/src/qsystemlock_p.h | 106 + tests/auto/qsharedmemory/src/qsystemlock_unix.cpp | 209 + tests/auto/qsharedmemory/src/qsystemlock_win.cpp | 190 + tests/auto/qsharedmemory/src/src.pri | 10 + tests/auto/qsharedmemory/test/test.pro | 29 + tests/auto/qsharedmemory/tst_qsharedmemory.cpp | 744 + tests/auto/qsharedpointer/.gitignore | 1 + tests/auto/qsharedpointer/externaltests.cpp | 674 + tests/auto/qsharedpointer/externaltests.h | 132 + tests/auto/qsharedpointer/externaltests.pri | 6 + tests/auto/qsharedpointer/qsharedpointer.pro | 7 + tests/auto/qsharedpointer/tst_qsharedpointer.cpp | 915 + tests/auto/qshortcut/.gitignore | 1 + tests/auto/qshortcut/qshortcut.pro | 10 + tests/auto/qshortcut/tst_qshortcut.cpp | 1272 + tests/auto/qsidebar/.gitignore | 1 + tests/auto/qsidebar/qsidebar.pro | 8 + tests/auto/qsidebar/tst_qsidebar.cpp | 199 + tests/auto/qsignalmapper/.gitignore | 1 + tests/auto/qsignalmapper/qsignalmapper.pro | 5 + tests/auto/qsignalmapper/tst_qsignalmapper.cpp | 156 + tests/auto/qsignalspy/.gitignore | 1 + tests/auto/qsignalspy/qsignalspy.pro | 6 + tests/auto/qsignalspy/tst_qsignalspy.cpp | 221 + tests/auto/qsimplexmlnodemodel/.gitignore | 1 + .../auto/qsimplexmlnodemodel/TestSimpleNodeModel.h | 132 + .../qsimplexmlnodemodel/qsimplexmlnodemodel.pro | 4 + .../tst_qsimplexmlnodemodel.cpp | 172 + tests/auto/qsize/.gitignore | 1 + tests/auto/qsize/qsize.pro | 5 + tests/auto/qsize/tst_qsize.cpp | 254 + tests/auto/qsizef/.gitignore | 1 + tests/auto/qsizef/qsizef.pro | 4 + tests/auto/qsizef/tst_qsizef.cpp | 204 + tests/auto/qsizegrip/.gitignore | 1 + tests/auto/qsizegrip/qsizegrip.pro | 5 + tests/auto/qsizegrip/tst_qsizegrip.cpp | 201 + tests/auto/qslider/.gitignore | 1 + tests/auto/qslider/qslider.pro | 9 + tests/auto/qslider/tst_qslider.cpp | 98 + tests/auto/qsocketnotifier/.gitignore | 1 + tests/auto/qsocketnotifier/qsocketnotifier.pro | 8 + tests/auto/qsocketnotifier/tst_qsocketnotifier.cpp | 179 + tests/auto/qsocks5socketengine/.gitignore | 1 + .../qsocks5socketengine/qsocks5socketengine.pro | 13 + .../tst_qsocks5socketengine.cpp | 958 + tests/auto/qsortfilterproxymodel/.gitignore | 1 + .../qsortfilterproxymodel.pro | 6 + .../tst_qsortfilterproxymodel.cpp | 2483 + tests/auto/qsound/.gitignore | 1 + tests/auto/qsound/4.wav | Bin 0 -> 5538 bytes tests/auto/qsound/qsound.pro | 7 + tests/auto/qsound/tst_qsound.cpp | 71 + tests/auto/qsourcelocation/.gitignore | 1 + tests/auto/qsourcelocation/qsourcelocation.pro | 4 + tests/auto/qsourcelocation/tst_qsourcelocation.cpp | 398 + tests/auto/qspinbox/.gitignore | 1 + tests/auto/qspinbox/qspinbox.pro | 5 + tests/auto/qspinbox/tst_qspinbox.cpp | 954 + tests/auto/qsplitter/.gitignore | 1 + tests/auto/qsplitter/extradata.txt | 10067 +++ tests/auto/qsplitter/qsplitter.pro | 11 + tests/auto/qsplitter/setSizes3.dat | 2250 + tests/auto/qsplitter/tst_qsplitter.cpp | 1404 + tests/auto/qsql/.gitignore | 1 + tests/auto/qsql/qsql.pro | 10 + tests/auto/qsql/tst_qsql.cpp | 321 + tests/auto/qsqldatabase/.gitignore | 1 + tests/auto/qsqldatabase/qsqldatabase.pro | 20 + tests/auto/qsqldatabase/testdata/qtest.mdb | Bin 0 -> 65536 bytes tests/auto/qsqldatabase/tst_databases.h | 454 + tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 2312 + tests/auto/qsqlerror/.gitignore | 1 + tests/auto/qsqlerror/qsqlerror.pro | 10 + tests/auto/qsqlerror/tst_qsqlerror.cpp | 129 + tests/auto/qsqlfield/.gitignore | 1 + tests/auto/qsqlfield/qsqlfield.pro | 7 + tests/auto/qsqlfield/tst_qsqlfield.cpp | 360 + tests/auto/qsqlquery/.gitignore | 1 + tests/auto/qsqlquery/qsqlquery.pro | 14 + tests/auto/qsqlquery/tst_qsqlquery.cpp | 2755 + tests/auto/qsqlquerymodel/.gitignore | 1 + tests/auto/qsqlquerymodel/qsqlquerymodel.pro | 11 + tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp | 564 + tests/auto/qsqlrecord/.gitignore | 1 + tests/auto/qsqlrecord/qsqlrecord.pro | 7 + tests/auto/qsqlrecord/tst_qsqlrecord.cpp | 587 + tests/auto/qsqlrelationaltablemodel/.gitignore | 1 + .../qsqlrelationaltablemodel.pro | 16 + .../tst_qsqlrelationaltablemodel.cpp | 810 + tests/auto/qsqltablemodel/.gitignore | 1 + tests/auto/qsqltablemodel/qsqltablemodel.pro | 13 + tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp | 915 + tests/auto/qsqlthread/.gitignore | 1 + tests/auto/qsqlthread/qsqlthread.pro | 14 + tests/auto/qsqlthread/tst_qsqlthread.cpp | 524 + tests/auto/qsslcertificate/.gitignore | 1 + .../auto/qsslcertificate/certificates/ca-cert.pem | 33 + .../certificates/ca-cert.pem.digest-md5 | 1 + .../certificates/ca-cert.pem.digest-sha1 | 1 + .../qsslcertificate/certificates/cert-ss-san.pem | 13 + .../certificates/cert-ss-san.pem.san | 5 + .../auto/qsslcertificate/certificates/cert-ss.der | Bin 0 -> 461 bytes .../certificates/cert-ss.der.pubkey | Bin 0 -> 162 bytes .../auto/qsslcertificate/certificates/cert-ss.pem | 12 + .../certificates/cert-ss.pem.digest-md5 | 1 + .../certificates/cert-ss.pem.digest-sha1 | 1 + .../certificates/cert-ss.pem.pubkey | 6 + tests/auto/qsslcertificate/certificates/cert.der | Bin 0 -> 503 bytes .../qsslcertificate/certificates/cert.der.pubkey | Bin 0 -> 162 bytes tests/auto/qsslcertificate/certificates/cert.pem | 13 + .../certificates/cert.pem.digest-md5 | 1 + .../certificates/cert.pem.digest-sha1 | 1 + .../qsslcertificate/certificates/cert.pem.pubkey | 6 + .../certificates/gencertificates.sh | 54 + tests/auto/qsslcertificate/certificates/san.cnf | 5 + .../more-certificates/trailing-whitespace.pem | 13 + tests/auto/qsslcertificate/qsslcertificate.pro | 26 + tests/auto/qsslcertificate/tst_qsslcertificate.cpp | 695 + tests/auto/qsslcipher/.gitignore | 1 + tests/auto/qsslcipher/qsslcipher.pro | 17 + tests/auto/qsslcipher/tst_qsslcipher.cpp | 101 + tests/auto/qsslerror/.gitignore | 1 + tests/auto/qsslerror/qsslerror.pro | 17 + tests/auto/qsslerror/tst_qsslerror.cpp | 122 + tests/auto/qsslkey/.gitignore | 1 + tests/auto/qsslkey/keys/dsa-pri-1024.der | Bin 0 -> 447 bytes tests/auto/qsslkey/keys/dsa-pri-1024.pem | 12 + tests/auto/qsslkey/keys/dsa-pri-512.der | Bin 0 -> 251 bytes tests/auto/qsslkey/keys/dsa-pri-512.pem | 8 + tests/auto/qsslkey/keys/dsa-pri-576.der | Bin 0 -> 275 bytes tests/auto/qsslkey/keys/dsa-pri-576.pem | 8 + tests/auto/qsslkey/keys/dsa-pri-960.der | Bin 0 -> 419 bytes tests/auto/qsslkey/keys/dsa-pri-960.pem | 11 + tests/auto/qsslkey/keys/dsa-pub-1024.der | Bin 0 -> 442 bytes tests/auto/qsslkey/keys/dsa-pub-1024.pem | 12 + tests/auto/qsslkey/keys/dsa-pub-512.der | Bin 0 -> 244 bytes tests/auto/qsslkey/keys/dsa-pub-512.pem | 8 + tests/auto/qsslkey/keys/dsa-pub-576.der | Bin 0 -> 268 bytes tests/auto/qsslkey/keys/dsa-pub-576.pem | 8 + tests/auto/qsslkey/keys/dsa-pub-960.der | Bin 0 -> 414 bytes tests/auto/qsslkey/keys/dsa-pub-960.pem | 11 + tests/auto/qsslkey/keys/genkeys.sh | 42 + tests/auto/qsslkey/keys/rsa-pri-1023.der | Bin 0 -> 605 bytes tests/auto/qsslkey/keys/rsa-pri-1023.pem | 15 + tests/auto/qsslkey/keys/rsa-pri-1024.der | Bin 0 -> 608 bytes tests/auto/qsslkey/keys/rsa-pri-1024.pem | 15 + tests/auto/qsslkey/keys/rsa-pri-2048.der | Bin 0 -> 1190 bytes tests/auto/qsslkey/keys/rsa-pri-2048.pem | 27 + tests/auto/qsslkey/keys/rsa-pri-40.der | Bin 0 -> 49 bytes tests/auto/qsslkey/keys/rsa-pri-40.pem | 4 + tests/auto/qsslkey/keys/rsa-pri-511.der | Bin 0 -> 316 bytes tests/auto/qsslkey/keys/rsa-pri-511.pem | 9 + tests/auto/qsslkey/keys/rsa-pri-512.der | Bin 0 -> 320 bytes tests/auto/qsslkey/keys/rsa-pri-512.pem | 9 + tests/auto/qsslkey/keys/rsa-pri-999.der | Bin 0 -> 591 bytes tests/auto/qsslkey/keys/rsa-pri-999.pem | 15 + tests/auto/qsslkey/keys/rsa-pub-1023.der | Bin 0 -> 161 bytes tests/auto/qsslkey/keys/rsa-pub-1023.pem | 6 + tests/auto/qsslkey/keys/rsa-pub-1024.der | Bin 0 -> 162 bytes tests/auto/qsslkey/keys/rsa-pub-1024.pem | 6 + tests/auto/qsslkey/keys/rsa-pub-2048.der | Bin 0 -> 294 bytes tests/auto/qsslkey/keys/rsa-pub-2048.pem | 9 + tests/auto/qsslkey/keys/rsa-pub-40.der | Bin 0 -> 35 bytes tests/auto/qsslkey/keys/rsa-pub-40.pem | 3 + tests/auto/qsslkey/keys/rsa-pub-511.der | Bin 0 -> 93 bytes tests/auto/qsslkey/keys/rsa-pub-511.pem | 4 + tests/auto/qsslkey/keys/rsa-pub-512.der | Bin 0 -> 94 bytes tests/auto/qsslkey/keys/rsa-pub-512.pem | 4 + tests/auto/qsslkey/keys/rsa-pub-999.der | Bin 0 -> 157 bytes tests/auto/qsslkey/keys/rsa-pub-999.pem | 6 + tests/auto/qsslkey/qsslkey.pro | 24 + tests/auto/qsslkey/tst_qsslkey.cpp | 371 + tests/auto/qsslsocket/.gitignore | 1 + tests/auto/qsslsocket/certs/fluke.cert | 75 + tests/auto/qsslsocket/certs/fluke.key | 15 + .../qsslsocket/certs/qt-test-server-cacert.pem | 22 + tests/auto/qsslsocket/qsslsocket.pro | 22 + tests/auto/qsslsocket/ssl.tar.gz | Bin 0 -> 36299 bytes tests/auto/qsslsocket/tst_qsslsocket.cpp | 1513 + tests/auto/qstackedlayout/.gitignore | 1 + tests/auto/qstackedlayout/qstackedlayout.pro | 5 + tests/auto/qstackedlayout/tst_qstackedlayout.cpp | 368 + tests/auto/qstackedwidget/.gitignore | 1 + tests/auto/qstackedwidget/qstackedwidget.pro | 9 + tests/auto/qstackedwidget/tst_qstackedwidget.cpp | 124 + tests/auto/qstandarditem/.gitignore | 1 + tests/auto/qstandarditem/qstandarditem.pro | 4 + tests/auto/qstandarditem/tst_qstandarditem.cpp | 1106 + tests/auto/qstandarditemmodel/.gitignore | 1 + .../auto/qstandarditemmodel/qstandarditemmodel.pro | 4 + .../qstandarditemmodel/tst_qstandarditemmodel.cpp | 1623 + tests/auto/qstate/qstate.pro | 5 + tests/auto/qstate/tst_qstate.cpp | 372 + tests/auto/qstatemachine/qstatemachine.pro | 4 + tests/auto/qstatemachine/tst_qstatemachine.cpp | 2177 + tests/auto/qstatusbar/.gitignore | 1 + tests/auto/qstatusbar/qstatusbar.pro | 5 + tests/auto/qstatusbar/tst_qstatusbar.cpp | 263 + tests/auto/qstl/.gitignore | 1 + tests/auto/qstl/qstl.pro | 7 + tests/auto/qstl/tst_qstl.cpp | 98 + tests/auto/qstring/.gitignore | 1 + tests/auto/qstring/double_data.h | 10036 +++ tests/auto/qstring/qstring.pro | 11 + tests/auto/qstring/tst_qstring.cpp | 4670 + tests/auto/qstringlist/.gitignore | 1 + tests/auto/qstringlist/qstringlist.pro | 7 + tests/auto/qstringlist/tst_qstringlist.cpp | 315 + tests/auto/qstringlistmodel/.gitignore | 1 + tests/auto/qstringlistmodel/qmodellistener.h | 75 + tests/auto/qstringlistmodel/qstringlistmodel.pro | 7 + .../auto/qstringlistmodel/tst_qstringlistmodel.cpp | 287 + tests/auto/qstringmatcher/.gitignore | 1 + tests/auto/qstringmatcher/qstringmatcher.pro | 5 + tests/auto/qstringmatcher/tst_qstringmatcher.cpp | 163 + tests/auto/qstyle/.gitignore | 1 + tests/auto/qstyle/images/mac/button.png | Bin 0 -> 1785 bytes tests/auto/qstyle/images/mac/combobox.png | Bin 0 -> 1808 bytes tests/auto/qstyle/images/mac/lineedit.png | Bin 0 -> 953 bytes tests/auto/qstyle/images/mac/mdi.png | Bin 0 -> 3092 bytes tests/auto/qstyle/images/mac/menu.png | Bin 0 -> 1139 bytes tests/auto/qstyle/images/mac/radiobutton.png | Bin 0 -> 1498 bytes tests/auto/qstyle/images/mac/slider.png | Bin 0 -> 1074 bytes tests/auto/qstyle/images/mac/spinbox.png | Bin 0 -> 1299 bytes tests/auto/qstyle/images/vista/button.png | Bin 0 -> 722 bytes tests/auto/qstyle/images/vista/combobox.png | Bin 0 -> 809 bytes tests/auto/qstyle/images/vista/lineedit.png | Bin 0 -> 530 bytes tests/auto/qstyle/images/vista/menu.png | Bin 0 -> 646 bytes tests/auto/qstyle/images/vista/radiobutton.png | Bin 0 -> 844 bytes tests/auto/qstyle/images/vista/slider.png | Bin 0 -> 575 bytes tests/auto/qstyle/images/vista/spinbox.png | Bin 0 -> 583 bytes tests/auto/qstyle/qstyle.pro | 10 + tests/auto/qstyle/task_25863.png | Bin 0 -> 910 bytes tests/auto/qstyle/tst_qstyle.cpp | 685 + tests/auto/qstyleoption/.gitignore | 1 + tests/auto/qstyleoption/qstyleoption.pro | 11 + tests/auto/qstyleoption/tst_qstyleoption.cpp | 164 + tests/auto/qstylesheetstyle/.gitignore | 1 + tests/auto/qstylesheetstyle/images/testimage.png | Bin 0 -> 299 bytes tests/auto/qstylesheetstyle/qstylesheetstyle.pro | 15 + tests/auto/qstylesheetstyle/resources.qrc | 6 + .../auto/qstylesheetstyle/tst_qstylesheetstyle.cpp | 1361 + tests/auto/qsvgdevice/.gitignore | 1 + tests/auto/qsvgdevice/qsvgdevice.pro | 6 + tests/auto/qsvgdevice/tst_qsvgdevice.cpp | 398 + tests/auto/qsvggenerator/.gitignore | 1 + tests/auto/qsvggenerator/qsvggenerator.pro | 17 + .../referenceSvgs/fileName_output.svg | 15 + .../referenceSvgs/radial_gradient.svg | 30 + tests/auto/qsvggenerator/tst_qsvggenerator.cpp | 439 + tests/auto/qsvgrenderer/.gitattributes | 1 + tests/auto/qsvgrenderer/.gitignore | 1 + tests/auto/qsvgrenderer/heart.svgz | Bin 0 -> 1505 bytes tests/auto/qsvgrenderer/large.svg | 462 + tests/auto/qsvgrenderer/large.svgz | Bin 0 -> 5082 bytes tests/auto/qsvgrenderer/qsvgrenderer.pro | 18 + tests/auto/qsvgrenderer/resources.qrc | 5 + tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 649 + tests/auto/qsyntaxhighlighter/.gitignore | 1 + .../auto/qsyntaxhighlighter/qsyntaxhighlighter.pro | 4 + .../qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp | 522 + tests/auto/qsysinfo/.gitignore | 1 + tests/auto/qsysinfo/qsysinfo.pro | 6 + tests/auto/qsysinfo/tst_qsysinfo.cpp | 52 + tests/auto/qsystemsemaphore/.gitignore | 1 + tests/auto/qsystemsemaphore/files.qrc | 7 + tests/auto/qsystemsemaphore/qsystemsemaphore.pro | 4 + tests/auto/qsystemsemaphore/test/test.pro | 29 + .../auto/qsystemsemaphore/tst_qsystemsemaphore.cpp | 293 + tests/auto/qsystemtrayicon/.gitignore | 1 + tests/auto/qsystemtrayicon/icons/icon.png | Bin 0 -> 1086 bytes tests/auto/qsystemtrayicon/qsystemtrayicon.pro | 9 + tests/auto/qsystemtrayicon/tst_qsystemtrayicon.cpp | 153 + tests/auto/qtabbar/.gitignore | 1 + tests/auto/qtabbar/qtabbar.pro | 5 + tests/auto/qtabbar/tst_qtabbar.cpp | 507 + tests/auto/qtableview/.gitignore | 1 + tests/auto/qtableview/qtableview.pro | 4 + tests/auto/qtableview/tst_qtableview.cpp | 3208 + tests/auto/qtablewidget/.gitignore | 1 + tests/auto/qtablewidget/qtablewidget.pro | 4 + tests/auto/qtablewidget/tst_qtablewidget.cpp | 1479 + tests/auto/qtabwidget/.gitignore | 1 + tests/auto/qtabwidget/qtabwidget.pro | 11 + tests/auto/qtabwidget/tst_qtabwidget.cpp | 624 + tests/auto/qtconcurrentfilter/.gitignore | 1 + .../auto/qtconcurrentfilter/qtconcurrentfilter.pro | 4 + .../qtconcurrentfilter/tst_qtconcurrentfilter.cpp | 1546 + tests/auto/qtconcurrentiteratekernel/.gitignore | 1 + .../qtconcurrentiteratekernel.pro | 3 + .../tst_qtconcurrentiteratekernel.cpp | 332 + tests/auto/qtconcurrentmap/.gitignore | 1 + tests/auto/qtconcurrentmap/functions.h | 130 + tests/auto/qtconcurrentmap/qtconcurrentmap.pro | 4 + tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp | 2396 + tests/auto/qtconcurrentrun/.gitignore | 1 + tests/auto/qtconcurrentrun/qtconcurrentrun.pro | 3 + tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp | 413 + tests/auto/qtconcurrentthreadengine/.gitignore | 1 + .../qtconcurrentthreadengine.pro | 3 + .../tst_qtconcurrentthreadengine.cpp | 536 + tests/auto/qtcpserver/.gitignore | 3 + .../qtcpserver/crashingServer/crashingServer.pro | 8 + tests/auto/qtcpserver/crashingServer/main.cpp | 70 + tests/auto/qtcpserver/qtcpserver.pro | 5 + tests/auto/qtcpserver/test/test.pro | 32 + tests/auto/qtcpserver/tst_qtcpserver.cpp | 844 + tests/auto/qtcpsocket/.gitignore | 3 + tests/auto/qtcpsocket/qtcpsocket.pro | 5 + tests/auto/qtcpsocket/stressTest/Test.cpp | 240 + tests/auto/qtcpsocket/stressTest/Test.h | 137 + tests/auto/qtcpsocket/stressTest/main.cpp | 73 + tests/auto/qtcpsocket/stressTest/stressTest.pro | 12 + tests/auto/qtcpsocket/test/test.pro | 27 + tests/auto/qtcpsocket/tst_qtcpsocket.cpp | 2345 + tests/auto/qtemporaryfile/.gitignore | 1 + tests/auto/qtemporaryfile/qtemporaryfile.pro | 6 + tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp | 339 + tests/auto/qtessellator/.gitignore | 1 + tests/auto/qtessellator/XrenderFake.h | 110 + tests/auto/qtessellator/arc.cpp | 49 + tests/auto/qtessellator/arc.data | 2 + tests/auto/qtessellator/arc.h | 48 + tests/auto/qtessellator/datafiles.qrc | 6 + tests/auto/qtessellator/dataparser.cpp | 161 + tests/auto/qtessellator/dataparser.h | 51 + tests/auto/qtessellator/oldtessellator.cpp | 446 + tests/auto/qtessellator/oldtessellator.h | 52 + tests/auto/qtessellator/qnum.h | 145 + tests/auto/qtessellator/qtessellator.pro | 7 + tests/auto/qtessellator/sample_data.h | 51 + tests/auto/qtessellator/simple.cpp | 49 + tests/auto/qtessellator/simple.data | 195 + tests/auto/qtessellator/simple.h | 48 + tests/auto/qtessellator/testtessellator.cpp | 114 + tests/auto/qtessellator/testtessellator.h | 59 + tests/auto/qtessellator/tst_tessellator.cpp | 378 + tests/auto/qtessellator/utils.cpp | 93 + tests/auto/qtessellator/utils.h | 56 + tests/auto/qtextblock/.gitignore | 1 + tests/auto/qtextblock/qtextblock.pro | 5 + tests/auto/qtextblock/tst_qtextblock.cpp | 178 + tests/auto/qtextboundaryfinder/.gitignore | 1 + .../qtextboundaryfinder/data/GraphemeBreakTest.txt | 123 + .../qtextboundaryfinder/data/SentenceBreakTest.txt | 307 + .../qtextboundaryfinder/data/WordBreakTest.txt | 517 + .../qtextboundaryfinder/qtextboundaryfinder.pro | 10 + .../tst_qtextboundaryfinder.cpp | 313 + tests/auto/qtextbrowser.html | 1 + tests/auto/qtextbrowser/.gitignore | 1 + tests/auto/qtextbrowser/anchor.html | 11 + tests/auto/qtextbrowser/bigpage.html | 934 + tests/auto/qtextbrowser/firstpage.html | 2 + tests/auto/qtextbrowser/pagewithbg.html | 1 + tests/auto/qtextbrowser/pagewithimage.html | 1 + tests/auto/qtextbrowser/pagewithoutbg.html | 1 + tests/auto/qtextbrowser/qtextbrowser.pro | 17 + tests/auto/qtextbrowser/secondpage.html | 1 + tests/auto/qtextbrowser/subdir/index.html | 1 + tests/auto/qtextbrowser/thirdpage.html | 1 + tests/auto/qtextbrowser/tst_qtextbrowser.cpp | 663 + tests/auto/qtextcodec/.gitattributes | 1 + tests/auto/qtextcodec/.gitignore | 1 + tests/auto/qtextcodec/QT4-crashtest.txt | Bin 0 -> 34 bytes tests/auto/qtextcodec/echo/echo.pro | 6 + tests/auto/qtextcodec/echo/main.cpp | 60 + tests/auto/qtextcodec/korean.txt | 1 + tests/auto/qtextcodec/qtextcodec.pro | 4 + tests/auto/qtextcodec/test/test.pro | 11 + tests/auto/qtextcodec/tst_qtextcodec.cpp | 1751 + tests/auto/qtextcodec/utf8.txt | 1 + tests/auto/qtextcursor/.gitignore | 1 + tests/auto/qtextcursor/qtextcursor.pro | 5 + tests/auto/qtextcursor/tst_qtextcursor.cpp | 1672 + tests/auto/qtextdocument/.gitignore | 1 + tests/auto/qtextdocument/common.h | 93 + tests/auto/qtextdocument/qtextdocument.pro | 5 + tests/auto/qtextdocument/tst_qtextdocument.cpp | 2518 + tests/auto/qtextdocumentfragment/.gitignore | 1 + .../qtextdocumentfragment.pro | 5 + .../tst_qtextdocumentfragment.cpp | 4025 + tests/auto/qtextdocumentlayout/.gitignore | 1 + .../qtextdocumentlayout/qtextdocumentlayout.pro | 4 + .../tst_qtextdocumentlayout.cpp | 254 + tests/auto/qtextedit/.gitignore | 2 + .../fullWidthSelection/centered-fully-selected.png | Bin 0 -> 1232 bytes .../centered-partly-selected.png | Bin 0 -> 1231 bytes .../fullWidthSelection/last-char-on-line.png | Bin 0 -> 1220 bytes .../fullWidthSelection/last-char-on-parag.png | Bin 0 -> 1222 bytes .../multiple-full-width-lines.png | Bin 0 -> 1236 bytes .../qtextedit/fullWidthSelection/nowrap_long.png | Bin 0 -> 1199 bytes .../fullWidthSelection/single-full-width-line.png | Bin 0 -> 1235 bytes tests/auto/qtextedit/qtextedit.pro | 17 + tests/auto/qtextedit/tst_qtextedit.cpp | 2152 + tests/auto/qtextformat/.gitignore | 1 + tests/auto/qtextformat/qtextformat.pro | 9 + tests/auto/qtextformat/tst_qtextformat.cpp | 377 + tests/auto/qtextlayout/.gitignore | 1 + tests/auto/qtextlayout/qtextlayout.pro | 6 + tests/auto/qtextlayout/tst_qtextlayout.cpp | 1284 + tests/auto/qtextlist/.gitignore | 1 + tests/auto/qtextlist/qtextlist.pro | 6 + tests/auto/qtextlist/tst_qtextlist.cpp | 304 + tests/auto/qtextobject/.gitignore | 1 + tests/auto/qtextobject/qtextobject.pro | 9 + tests/auto/qtextobject/tst_qtextobject.cpp | 109 + tests/auto/qtextodfwriter/.gitignore | 1 + tests/auto/qtextodfwriter/qtextodfwriter.pro | 5 + tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp | 420 + tests/auto/qtextpiecetable/.gitignore | 1 + tests/auto/qtextpiecetable/qtextpiecetable.pro | 8 + tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp | 1174 + tests/auto/qtextscriptengine/.gitignore | 1 + tests/auto/qtextscriptengine/generate/generate.pro | 13 + tests/auto/qtextscriptengine/generate/main.cpp | 129 + tests/auto/qtextscriptengine/qtextscriptengine.pro | 6 + .../qtextscriptengine/tst_qtextscriptengine.cpp | 913 + tests/auto/qtextstream/.gitattributes | 3 + tests/auto/qtextstream/.gitignore | 11 + tests/auto/qtextstream/qtextstream.pro | 5 + tests/auto/qtextstream/qtextstream.qrc | 6 + .../auto/qtextstream/readAllStdinProcess/main.cpp | 50 + .../readAllStdinProcess/readAllStdinProcess.pro | 7 + .../auto/qtextstream/readLineStdinProcess/main.cpp | 57 + .../readLineStdinProcess/readLineStdinProcess.pro | 7 + ...perator_shift_QByteArray_resource_Latin1_0.data | 0 ...perator_shift_QByteArray_resource_Latin1_1.data | 0 ...perator_shift_QByteArray_resource_Latin1_2.data | 1 + ...perator_shift_QByteArray_resource_Latin1_3.data | 2 + ...perator_shift_QByteArray_resource_Latin1_4.data | 1 + ...perator_shift_QByteArray_resource_Locale_0.data | 0 ...perator_shift_QByteArray_resource_Locale_1.data | 0 ...perator_shift_QByteArray_resource_Locale_2.data | 1 + ...perator_shift_QByteArray_resource_Locale_3.data | 2 + ...perator_shift_QByteArray_resource_Locale_4.data | 1 + ...tor_shift_QByteArray_resource_RawUnicode_0.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_1.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...tor_shift_QByteArray_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...tor_shift_QByteArray_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ..._QByteArray_resource_UnicodeNetworkOrder_0.data | 1 + ..._QByteArray_resource_UnicodeNetworkOrder_1.data | 1 + ..._QByteArray_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 8 bytes ..._QByteArray_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 16 bytes ..._QByteArray_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 118 bytes ...shift_QByteArray_resource_UnicodeReverse_0.data | 1 + ...shift_QByteArray_resource_UnicodeReverse_1.data | 1 + ...shift_QByteArray_resource_UnicodeReverse_2.data | Bin 0 -> 8 bytes ...shift_QByteArray_resource_UnicodeReverse_3.data | Bin 0 -> 16 bytes ...shift_QByteArray_resource_UnicodeReverse_4.data | Bin 0 -> 118 bytes ...or_shift_QByteArray_resource_UnicodeUTF8_0.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_1.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_2.data | 1 + ...or_shift_QByteArray_resource_UnicodeUTF8_3.data | 2 + ...or_shift_QByteArray_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_QByteArray_resource_Unicode_0.data | 1 + ...erator_shift_QByteArray_resource_Unicode_1.data | 1 + ...erator_shift_QByteArray_resource_Unicode_2.data | Bin 0 -> 8 bytes ...erator_shift_QByteArray_resource_Unicode_3.data | Bin 0 -> 16 bytes ...erator_shift_QByteArray_resource_Unicode_4.data | Bin 0 -> 118 bytes .../operator_shift_QChar_resource_Latin1_0.data | 1 + .../operator_shift_QChar_resource_Latin1_1.data | 1 + .../operator_shift_QChar_resource_Latin1_2.data | 1 + .../operator_shift_QChar_resource_Latin1_3.data | 1 + .../operator_shift_QChar_resource_Latin1_4.data | 1 + .../operator_shift_QChar_resource_Locale_0.data | 1 + .../operator_shift_QChar_resource_Locale_1.data | 1 + .../operator_shift_QChar_resource_Locale_2.data | 1 + .../operator_shift_QChar_resource_Locale_3.data | 1 + .../operator_shift_QChar_resource_Locale_4.data | 1 + ...operator_shift_QChar_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_0.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_1.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_2.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_3.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_4.data | Bin 0 -> 4 bytes ...perator_shift_QChar_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_QChar_resource_Unicode_0.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_1.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_2.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_3.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_4.data | Bin 0 -> 4 bytes .../operator_shift_QString_resource_Latin1_0.data | 0 .../operator_shift_QString_resource_Latin1_1.data | 0 .../operator_shift_QString_resource_Latin1_2.data | 1 + .../operator_shift_QString_resource_Latin1_3.data | 2 + .../operator_shift_QString_resource_Latin1_4.data | 1 + .../operator_shift_QString_resource_Locale_0.data | 0 .../operator_shift_QString_resource_Locale_1.data | 0 .../operator_shift_QString_resource_Locale_2.data | 1 + .../operator_shift_QString_resource_Locale_3.data | 2 + .../operator_shift_QString_resource_Locale_4.data | 1 + ...erator_shift_QString_resource_RawUnicode_0.data | 0 ...erator_shift_QString_resource_RawUnicode_1.data | 0 ...erator_shift_QString_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...erator_shift_QString_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...erator_shift_QString_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ...ift_QString_resource_UnicodeNetworkOrder_0.data | 1 + ...ift_QString_resource_UnicodeNetworkOrder_1.data | 1 + ...ift_QString_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 8 bytes ...ift_QString_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 16 bytes ...ift_QString_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 118 bytes ...or_shift_QString_resource_UnicodeReverse_0.data | 0 ...or_shift_QString_resource_UnicodeReverse_1.data | 0 ...or_shift_QString_resource_UnicodeReverse_2.data | Bin 0 -> 8 bytes ...or_shift_QString_resource_UnicodeReverse_3.data | Bin 0 -> 16 bytes ...or_shift_QString_resource_UnicodeReverse_4.data | Bin 0 -> 118 bytes ...rator_shift_QString_resource_UnicodeUTF8_0.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_1.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_2.data | 1 + ...rator_shift_QString_resource_UnicodeUTF8_3.data | 2 + ...rator_shift_QString_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_QString_resource_Unicode_0.data | 1 + .../operator_shift_QString_resource_Unicode_1.data | 1 + .../operator_shift_QString_resource_Unicode_2.data | Bin 0 -> 8 bytes .../operator_shift_QString_resource_Unicode_3.data | Bin 0 -> 16 bytes .../operator_shift_QString_resource_Unicode_4.data | Bin 0 -> 118 bytes .../operator_shift_char_resource_Latin1_0.data | 1 + .../operator_shift_char_resource_Latin1_1.data | 1 + .../operator_shift_char_resource_Latin1_2.data | 1 + .../operator_shift_char_resource_Latin1_3.data | 1 + .../operator_shift_char_resource_Latin1_4.data | 1 + .../operator_shift_char_resource_Locale_0.data | 1 + .../operator_shift_char_resource_Locale_1.data | 1 + .../operator_shift_char_resource_Locale_2.data | 1 + .../operator_shift_char_resource_Locale_3.data | 1 + .../operator_shift_char_resource_Locale_4.data | 1 + .../operator_shift_char_resource_RawUnicode_0.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_1.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_2.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_3.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_0.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_1.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_2.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_3.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_4.data | Bin 0 -> 4 bytes ...operator_shift_char_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_char_resource_Unicode_0.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_1.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_2.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_3.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_4.data | Bin 0 -> 4 bytes .../operator_shift_double_resource_Latin1_0.data | 1 + .../operator_shift_double_resource_Latin1_1.data | 1 + .../operator_shift_double_resource_Latin1_2.data | 1 + .../operator_shift_double_resource_Latin1_3.data | 1 + .../operator_shift_double_resource_Latin1_4.data | 1 + .../operator_shift_double_resource_Latin1_5.data | 1 + .../operator_shift_double_resource_Latin1_6.data | 1 + .../operator_shift_double_resource_Locale_0.data | 1 + .../operator_shift_double_resource_Locale_1.data | 1 + .../operator_shift_double_resource_Locale_2.data | 1 + .../operator_shift_double_resource_Locale_3.data | 1 + .../operator_shift_double_resource_Locale_4.data | 1 + .../operator_shift_double_resource_Locale_5.data | 1 + .../operator_shift_double_resource_Locale_6.data | 1 + ...perator_shift_double_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_double_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...perator_shift_double_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...perator_shift_double_resource_RawUnicode_5.data | Bin 0 -> 32 bytes ...perator_shift_double_resource_RawUnicode_6.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...hift_double_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 30 bytes ...hift_double_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 36 bytes ...tor_shift_double_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...tor_shift_double_resource_UnicodeReverse_1.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_2.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_3.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_4.data | Bin 0 -> 30 bytes ...tor_shift_double_resource_UnicodeReverse_5.data | Bin 0 -> 34 bytes ...tor_shift_double_resource_UnicodeReverse_6.data | Bin 0 -> 36 bytes ...erator_shift_double_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_5.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_6.data | 1 + .../operator_shift_double_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_double_resource_Unicode_1.data | Bin 0 -> 26 bytes .../operator_shift_double_resource_Unicode_2.data | Bin 0 -> 28 bytes .../operator_shift_double_resource_Unicode_3.data | Bin 0 -> 28 bytes .../operator_shift_double_resource_Unicode_4.data | Bin 0 -> 30 bytes .../operator_shift_double_resource_Unicode_5.data | Bin 0 -> 34 bytes .../operator_shift_double_resource_Unicode_6.data | Bin 0 -> 36 bytes .../operator_shift_float_resource_Latin1_0.data | 1 + .../operator_shift_float_resource_Latin1_1.data | 1 + .../operator_shift_float_resource_Latin1_2.data | 1 + .../operator_shift_float_resource_Latin1_3.data | 1 + .../operator_shift_float_resource_Latin1_4.data | 1 + .../operator_shift_float_resource_Locale_0.data | 1 + .../operator_shift_float_resource_Locale_1.data | 1 + .../operator_shift_float_resource_Locale_2.data | 1 + .../operator_shift_float_resource_Locale_3.data | 1 + .../operator_shift_float_resource_Locale_4.data | 1 + ...operator_shift_float_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_float_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...operator_shift_float_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_float_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 30 bytes ...ator_shift_float_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_float_resource_UnicodeReverse_1.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_2.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_3.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_4.data | Bin 0 -> 30 bytes ...perator_shift_float_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_float_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_float_resource_Unicode_1.data | Bin 0 -> 26 bytes .../operator_shift_float_resource_Unicode_2.data | Bin 0 -> 28 bytes .../operator_shift_float_resource_Unicode_3.data | Bin 0 -> 28 bytes .../operator_shift_float_resource_Unicode_4.data | Bin 0 -> 30 bytes .../operator_shift_int_resource_Latin1_0.data | 1 + .../operator_shift_int_resource_Latin1_1.data | 1 + .../operator_shift_int_resource_Latin1_2.data | 1 + .../operator_shift_int_resource_Latin1_3.data | 1 + .../operator_shift_int_resource_Latin1_4.data | 1 + .../operator_shift_int_resource_Latin1_5.data | 1 + .../operator_shift_int_resource_Latin1_6.data | 1 + .../operator_shift_int_resource_Latin1_7.data | 1 + .../operator_shift_int_resource_Latin1_8.data | 1 + .../operator_shift_int_resource_Locale_0.data | 1 + .../operator_shift_int_resource_Locale_1.data | 1 + .../operator_shift_int_resource_Locale_2.data | 1 + .../operator_shift_int_resource_Locale_3.data | 1 + .../operator_shift_int_resource_Locale_4.data | 1 + .../operator_shift_int_resource_Locale_5.data | 1 + .../operator_shift_int_resource_Locale_6.data | 1 + .../operator_shift_int_resource_Locale_7.data | 1 + .../operator_shift_int_resource_Locale_8.data | 1 + .../operator_shift_int_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_int_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_int_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_4.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_5.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_RawUnicode_6.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_7.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_RawUnicode_8.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 22 bytes ...r_shift_int_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 22 bytes ...erator_shift_int_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_5.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_6.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_7.data | Bin 0 -> 22 bytes ...erator_shift_int_resource_UnicodeReverse_8.data | Bin 0 -> 22 bytes .../operator_shift_int_resource_UnicodeUTF8_0.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_1.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_2.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_3.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_5.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_6.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_7.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_8.data | 1 + .../operator_shift_int_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_4.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_5.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_Unicode_6.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_7.data | Bin 0 -> 22 bytes .../operator_shift_int_resource_Unicode_8.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_Latin1_0.data | 1 + .../operator_shift_long_resource_Latin1_1.data | 1 + .../operator_shift_long_resource_Latin1_2.data | 1 + .../operator_shift_long_resource_Latin1_3.data | 1 + .../operator_shift_long_resource_Latin1_4.data | 1 + .../operator_shift_long_resource_Latin1_5.data | 1 + .../operator_shift_long_resource_Latin1_6.data | 1 + .../operator_shift_long_resource_Latin1_7.data | 1 + .../operator_shift_long_resource_Latin1_8.data | 1 + .../operator_shift_long_resource_Locale_0.data | 1 + .../operator_shift_long_resource_Locale_1.data | 1 + .../operator_shift_long_resource_Locale_2.data | 1 + .../operator_shift_long_resource_Locale_3.data | 1 + .../operator_shift_long_resource_Locale_4.data | 1 + .../operator_shift_long_resource_Locale_5.data | 1 + .../operator_shift_long_resource_Locale_6.data | 1 + .../operator_shift_long_resource_Locale_7.data | 1 + .../operator_shift_long_resource_Locale_8.data | 1 + .../operator_shift_long_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_long_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_long_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_RawUnicode_4.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_RawUnicode_5.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_RawUnicode_6.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_RawUnicode_7.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_RawUnicode_8.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 22 bytes ..._shift_long_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 26 bytes ...rator_shift_long_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_4.data | Bin 0 -> 24 bytes ...rator_shift_long_resource_UnicodeReverse_5.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_6.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_7.data | Bin 0 -> 22 bytes ...rator_shift_long_resource_UnicodeReverse_8.data | Bin 0 -> 26 bytes ...operator_shift_long_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_4.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_5.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_6.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_7.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_8.data | 1 + .../operator_shift_long_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_Unicode_4.data | Bin 0 -> 24 bytes .../operator_shift_long_resource_Unicode_5.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_Unicode_6.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_Unicode_7.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_Unicode_8.data | Bin 0 -> 26 bytes .../operator_shift_short_resource_Latin1_0.data | 1 + .../operator_shift_short_resource_Latin1_1.data | 1 + .../operator_shift_short_resource_Latin1_2.data | 1 + .../operator_shift_short_resource_Latin1_3.data | 1 + .../operator_shift_short_resource_Latin1_4.data | 1 + .../operator_shift_short_resource_Locale_0.data | 1 + .../operator_shift_short_resource_Locale_1.data | 1 + .../operator_shift_short_resource_Locale_2.data | 1 + .../operator_shift_short_resource_Locale_3.data | 1 + .../operator_shift_short_resource_Locale_4.data | 1 + ...operator_shift_short_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_1.data | Bin 0 -> 16 bytes ...operator_shift_short_resource_RawUnicode_2.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_short_resource_RawUnicode_4.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 18 bytes ...shift_short_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ...ator_shift_short_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_1.data | Bin 0 -> 18 bytes ...ator_shift_short_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...ator_shift_short_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...perator_shift_short_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_short_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_short_resource_Unicode_1.data | Bin 0 -> 18 bytes .../operator_shift_short_resource_Unicode_2.data | Bin 0 -> 16 bytes .../operator_shift_short_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_short_resource_Unicode_4.data | Bin 0 -> 22 bytes .../operator_shift_uint_resource_Latin1_0.data | 1 + .../operator_shift_uint_resource_Latin1_1.data | 1 + .../operator_shift_uint_resource_Latin1_2.data | 1 + .../operator_shift_uint_resource_Latin1_3.data | 1 + .../operator_shift_uint_resource_Latin1_4.data | 1 + .../operator_shift_uint_resource_Locale_0.data | 1 + .../operator_shift_uint_resource_Locale_1.data | 1 + .../operator_shift_uint_resource_Locale_2.data | 1 + .../operator_shift_uint_resource_Locale_3.data | 1 + .../operator_shift_uint_resource_Locale_4.data | 1 + .../operator_shift_uint_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_uint_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_uint_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_uint_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ..._shift_uint_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...rator_shift_uint_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...rator_shift_uint_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...operator_shift_uint_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_uint_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_uint_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_uint_resource_Unicode_4.data | Bin 0 -> 20 bytes .../operator_shift_ulong_resource_Latin1_0.data | 1 + .../operator_shift_ulong_resource_Latin1_1.data | 1 + .../operator_shift_ulong_resource_Latin1_2.data | 1 + .../operator_shift_ulong_resource_Latin1_3.data | 1 + .../operator_shift_ulong_resource_Latin1_4.data | 1 + .../operator_shift_ulong_resource_Locale_0.data | 1 + .../operator_shift_ulong_resource_Locale_1.data | 1 + .../operator_shift_ulong_resource_Locale_2.data | 1 + .../operator_shift_ulong_resource_Locale_3.data | 1 + .../operator_shift_ulong_resource_Locale_4.data | 1 + ...operator_shift_ulong_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...operator_shift_ulong_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_ulong_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ...shift_ulong_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...shift_ulong_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...shift_ulong_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 24 bytes ...ator_shift_ulong_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...ator_shift_ulong_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...ator_shift_ulong_resource_UnicodeReverse_4.data | Bin 0 -> 24 bytes ...perator_shift_ulong_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_ulong_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_ulong_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_ulong_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_ulong_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_ulong_resource_Unicode_4.data | Bin 0 -> 24 bytes .../operator_shift_ushort_resource_Latin1_0.data | 1 + .../operator_shift_ushort_resource_Latin1_1.data | 1 + .../operator_shift_ushort_resource_Latin1_2.data | 1 + .../operator_shift_ushort_resource_Latin1_3.data | 1 + .../operator_shift_ushort_resource_Latin1_4.data | 1 + .../operator_shift_ushort_resource_Locale_0.data | 1 + .../operator_shift_ushort_resource_Locale_1.data | 1 + .../operator_shift_ushort_resource_Locale_2.data | 1 + .../operator_shift_ushort_resource_Locale_3.data | 1 + .../operator_shift_ushort_resource_Locale_4.data | 1 + ...perator_shift_ushort_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...perator_shift_ushort_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...perator_shift_ushort_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...hift_ushort_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...tor_shift_ushort_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...tor_shift_ushort_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...erator_shift_ushort_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_ushort_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_ushort_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_ushort_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_ushort_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_ushort_resource_Unicode_4.data | Bin 0 -> 20 bytes .../big_endian/operator_shiftright_resource0.data | 1 + .../big_endian/operator_shiftright_resource1.data | 1 + .../big_endian/operator_shiftright_resource10.data | 1 + .../big_endian/operator_shiftright_resource11.data | 1 + .../big_endian/operator_shiftright_resource12.data | 1 + .../big_endian/operator_shiftright_resource2.data | 1 + .../big_endian/operator_shiftright_resource20.data | 1 + .../big_endian/operator_shiftright_resource21.data | 1 + .../big_endian/operator_shiftright_resource3.data | 1 + .../big_endian/operator_shiftright_resource4.data | 1 + .../big_endian/operator_shiftright_resource5.data | 1 + .../big_endian/operator_shiftright_resource6.data | 1 + .../big_endian/operator_shiftright_resource7.data | 1 + .../big_endian/operator_shiftright_resource8.data | 1 + .../big_endian/operator_shiftright_resource9.data | 1 + ...perator_shift_QByteArray_resource_Latin1_0.data | 0 ...perator_shift_QByteArray_resource_Latin1_1.data | 0 ...perator_shift_QByteArray_resource_Latin1_2.data | 1 + ...perator_shift_QByteArray_resource_Latin1_3.data | 2 + ...perator_shift_QByteArray_resource_Latin1_4.data | 1 + ...perator_shift_QByteArray_resource_Locale_0.data | 0 ...perator_shift_QByteArray_resource_Locale_1.data | 0 ...perator_shift_QByteArray_resource_Locale_2.data | 1 + ...perator_shift_QByteArray_resource_Locale_3.data | 2 + ...perator_shift_QByteArray_resource_Locale_4.data | 1 + ...tor_shift_QByteArray_resource_RawUnicode_0.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_1.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...tor_shift_QByteArray_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...tor_shift_QByteArray_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ..._QByteArray_resource_UnicodeNetworkOrder_0.data | 0 ..._QByteArray_resource_UnicodeNetworkOrder_1.data | 0 ..._QByteArray_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 6 bytes ..._QByteArray_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 14 bytes ..._QByteArray_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 116 bytes ...shift_QByteArray_resource_UnicodeReverse_0.data | 0 ...shift_QByteArray_resource_UnicodeReverse_1.data | 0 ...shift_QByteArray_resource_UnicodeReverse_2.data | Bin 0 -> 6 bytes ...shift_QByteArray_resource_UnicodeReverse_3.data | Bin 0 -> 14 bytes ...shift_QByteArray_resource_UnicodeReverse_4.data | Bin 0 -> 116 bytes ...or_shift_QByteArray_resource_UnicodeUTF8_0.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_1.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_2.data | 1 + ...or_shift_QByteArray_resource_UnicodeUTF8_3.data | 2 + ...or_shift_QByteArray_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_QByteArray_resource_Unicode_0.data | 0 ...erator_shift_QByteArray_resource_Unicode_1.data | 0 ...erator_shift_QByteArray_resource_Unicode_2.data | Bin 0 -> 8 bytes ...erator_shift_QByteArray_resource_Unicode_3.data | Bin 0 -> 16 bytes ...erator_shift_QByteArray_resource_Unicode_4.data | Bin 0 -> 118 bytes ...qt3_operator_shift_QChar_resource_Latin1_0.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_1.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_2.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_3.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_4.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_0.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_1.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_2.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_3.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_4.data | 1 + ...operator_shift_QChar_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_0.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_1.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_2.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_3.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_4.data | Bin 0 -> 2 bytes ...perator_shift_QChar_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_QChar_resource_Unicode_0.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_1.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_2.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_3.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_4.data | Bin 0 -> 4 bytes ...3_operator_shift_QString_resource_Latin1_0.data | 0 ...3_operator_shift_QString_resource_Latin1_1.data | 0 ...3_operator_shift_QString_resource_Latin1_2.data | 1 + ...3_operator_shift_QString_resource_Latin1_3.data | 2 + ...3_operator_shift_QString_resource_Latin1_4.data | 1 + ...3_operator_shift_QString_resource_Locale_0.data | 0 ...3_operator_shift_QString_resource_Locale_1.data | 0 ...3_operator_shift_QString_resource_Locale_2.data | 1 + ...3_operator_shift_QString_resource_Locale_3.data | 2 + ...3_operator_shift_QString_resource_Locale_4.data | 1 + ...erator_shift_QString_resource_RawUnicode_0.data | 0 ...erator_shift_QString_resource_RawUnicode_1.data | 0 ...erator_shift_QString_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...erator_shift_QString_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...erator_shift_QString_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ...ift_QString_resource_UnicodeNetworkOrder_0.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_1.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 6 bytes ...ift_QString_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 14 bytes ...ift_QString_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 116 bytes ...or_shift_QString_resource_UnicodeReverse_0.data | 0 ...or_shift_QString_resource_UnicodeReverse_1.data | 0 ...or_shift_QString_resource_UnicodeReverse_2.data | Bin 0 -> 6 bytes ...or_shift_QString_resource_UnicodeReverse_3.data | Bin 0 -> 14 bytes ...or_shift_QString_resource_UnicodeReverse_4.data | Bin 0 -> 116 bytes ...rator_shift_QString_resource_UnicodeUTF8_0.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_1.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_2.data | 1 + ...rator_shift_QString_resource_UnicodeUTF8_3.data | 2 + ...rator_shift_QString_resource_UnicodeUTF8_4.data | 1 + ..._operator_shift_QString_resource_Unicode_0.data | 0 ..._operator_shift_QString_resource_Unicode_1.data | 0 ..._operator_shift_QString_resource_Unicode_2.data | Bin 0 -> 8 bytes ..._operator_shift_QString_resource_Unicode_3.data | Bin 0 -> 16 bytes ..._operator_shift_QString_resource_Unicode_4.data | Bin 0 -> 118 bytes .../qt3_operator_shift_char_resource_Latin1_0.data | 1 + .../qt3_operator_shift_char_resource_Latin1_1.data | 1 + .../qt3_operator_shift_char_resource_Latin1_2.data | 1 + .../qt3_operator_shift_char_resource_Latin1_3.data | 1 + .../qt3_operator_shift_char_resource_Latin1_4.data | 1 + .../qt3_operator_shift_char_resource_Locale_0.data | 1 + .../qt3_operator_shift_char_resource_Locale_1.data | 1 + .../qt3_operator_shift_char_resource_Locale_2.data | 1 + .../qt3_operator_shift_char_resource_Locale_3.data | 1 + .../qt3_operator_shift_char_resource_Locale_4.data | 1 + ..._operator_shift_char_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_0.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_1.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_2.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_3.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_4.data | Bin 0 -> 2 bytes ...operator_shift_char_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_4.data | 1 + ...qt3_operator_shift_char_resource_Unicode_0.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_1.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_2.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_3.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_4.data | Bin 0 -> 4 bytes ...t3_operator_shift_double_resource_Latin1_0.data | 1 + ...t3_operator_shift_double_resource_Latin1_1.data | 1 + ...t3_operator_shift_double_resource_Latin1_2.data | 1 + ...t3_operator_shift_double_resource_Latin1_3.data | 1 + ...t3_operator_shift_double_resource_Latin1_4.data | 1 + ...t3_operator_shift_double_resource_Latin1_5.data | 1 + ...t3_operator_shift_double_resource_Latin1_6.data | 1 + ...t3_operator_shift_double_resource_Locale_0.data | 1 + ...t3_operator_shift_double_resource_Locale_1.data | 1 + ...t3_operator_shift_double_resource_Locale_2.data | 1 + ...t3_operator_shift_double_resource_Locale_3.data | 1 + ...t3_operator_shift_double_resource_Locale_4.data | 1 + ...t3_operator_shift_double_resource_Locale_5.data | 1 + ...t3_operator_shift_double_resource_Locale_6.data | 1 + ...perator_shift_double_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_double_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...perator_shift_double_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...perator_shift_double_resource_RawUnicode_5.data | Bin 0 -> 32 bytes ...perator_shift_double_resource_RawUnicode_6.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...hift_double_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 24 bytes ...hift_double_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 32 bytes ...hift_double_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 34 bytes ...tor_shift_double_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...tor_shift_double_resource_UnicodeReverse_1.data | Bin 0 -> 24 bytes ...tor_shift_double_resource_UnicodeReverse_2.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_3.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_4.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_5.data | Bin 0 -> 32 bytes ...tor_shift_double_resource_UnicodeReverse_6.data | Bin 0 -> 34 bytes ...erator_shift_double_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_5.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_6.data | 1 + ...3_operator_shift_double_resource_Unicode_0.data | Bin 0 -> 16 bytes ...3_operator_shift_double_resource_Unicode_1.data | Bin 0 -> 26 bytes ...3_operator_shift_double_resource_Unicode_2.data | Bin 0 -> 28 bytes ...3_operator_shift_double_resource_Unicode_3.data | Bin 0 -> 28 bytes ...3_operator_shift_double_resource_Unicode_4.data | Bin 0 -> 30 bytes ...3_operator_shift_double_resource_Unicode_5.data | Bin 0 -> 34 bytes ...3_operator_shift_double_resource_Unicode_6.data | Bin 0 -> 36 bytes ...qt3_operator_shift_float_resource_Latin1_0.data | 1 + ...qt3_operator_shift_float_resource_Latin1_1.data | 1 + ...qt3_operator_shift_float_resource_Latin1_2.data | 1 + ...qt3_operator_shift_float_resource_Latin1_3.data | 1 + ...qt3_operator_shift_float_resource_Latin1_4.data | 1 + ...qt3_operator_shift_float_resource_Locale_0.data | 1 + ...qt3_operator_shift_float_resource_Locale_1.data | 1 + ...qt3_operator_shift_float_resource_Locale_2.data | 1 + ...qt3_operator_shift_float_resource_Locale_3.data | 1 + ...qt3_operator_shift_float_resource_Locale_4.data | 1 + ...operator_shift_float_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_float_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...operator_shift_float_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_float_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 24 bytes ...shift_float_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_float_resource_UnicodeReverse_1.data | Bin 0 -> 24 bytes ...ator_shift_float_resource_UnicodeReverse_2.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_3.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_4.data | Bin 0 -> 28 bytes ...perator_shift_float_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_float_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_float_resource_Unicode_1.data | Bin 0 -> 26 bytes ...t3_operator_shift_float_resource_Unicode_2.data | Bin 0 -> 28 bytes ...t3_operator_shift_float_resource_Unicode_3.data | Bin 0 -> 28 bytes ...t3_operator_shift_float_resource_Unicode_4.data | Bin 0 -> 30 bytes .../qt3_operator_shift_int_resource_Latin1_0.data | 1 + .../qt3_operator_shift_int_resource_Latin1_1.data | 1 + .../qt3_operator_shift_int_resource_Latin1_2.data | 1 + .../qt3_operator_shift_int_resource_Latin1_3.data | 1 + .../qt3_operator_shift_int_resource_Latin1_4.data | 1 + .../qt3_operator_shift_int_resource_Latin1_5.data | 1 + .../qt3_operator_shift_int_resource_Latin1_6.data | 1 + .../qt3_operator_shift_int_resource_Latin1_7.data | 1 + .../qt3_operator_shift_int_resource_Latin1_8.data | 1 + .../qt3_operator_shift_int_resource_Locale_0.data | 1 + .../qt3_operator_shift_int_resource_Locale_1.data | 1 + .../qt3_operator_shift_int_resource_Locale_2.data | 1 + .../qt3_operator_shift_int_resource_Locale_3.data | 1 + .../qt3_operator_shift_int_resource_Locale_4.data | 1 + .../qt3_operator_shift_int_resource_Locale_5.data | 1 + .../qt3_operator_shift_int_resource_Locale_6.data | 1 + .../qt3_operator_shift_int_resource_Locale_7.data | 1 + .../qt3_operator_shift_int_resource_Locale_8.data | 1 + ...3_operator_shift_int_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...3_operator_shift_int_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...3_operator_shift_int_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...3_operator_shift_int_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_5.data | Bin 0 -> 16 bytes ...3_operator_shift_int_resource_RawUnicode_6.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_7.data | Bin 0 -> 20 bytes ...3_operator_shift_int_resource_RawUnicode_8.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...r_shift_int_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...r_shift_int_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...erator_shift_int_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...erator_shift_int_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_5.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_6.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_7.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_8.data | Bin 0 -> 20 bytes ..._operator_shift_int_resource_UnicodeUTF8_0.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_1.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_2.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_3.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_4.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_5.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_6.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_7.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_8.data | 1 + .../qt3_operator_shift_int_resource_Unicode_0.data | Bin 0 -> 16 bytes .../qt3_operator_shift_int_resource_Unicode_1.data | Bin 0 -> 16 bytes .../qt3_operator_shift_int_resource_Unicode_2.data | Bin 0 -> 18 bytes .../qt3_operator_shift_int_resource_Unicode_3.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_4.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_5.data | Bin 0 -> 18 bytes .../qt3_operator_shift_int_resource_Unicode_6.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_7.data | Bin 0 -> 22 bytes .../qt3_operator_shift_int_resource_Unicode_8.data | Bin 0 -> 22 bytes .../qt3_operator_shift_long_resource_Latin1_0.data | 1 + .../qt3_operator_shift_long_resource_Latin1_1.data | 1 + .../qt3_operator_shift_long_resource_Latin1_2.data | 1 + .../qt3_operator_shift_long_resource_Latin1_3.data | 1 + .../qt3_operator_shift_long_resource_Latin1_4.data | 1 + .../qt3_operator_shift_long_resource_Latin1_5.data | 1 + .../qt3_operator_shift_long_resource_Latin1_6.data | 1 + .../qt3_operator_shift_long_resource_Latin1_7.data | 1 + .../qt3_operator_shift_long_resource_Latin1_8.data | 1 + .../qt3_operator_shift_long_resource_Locale_0.data | 1 + .../qt3_operator_shift_long_resource_Locale_1.data | 1 + .../qt3_operator_shift_long_resource_Locale_2.data | 1 + .../qt3_operator_shift_long_resource_Locale_3.data | 1 + .../qt3_operator_shift_long_resource_Locale_4.data | 1 + .../qt3_operator_shift_long_resource_Locale_5.data | 1 + .../qt3_operator_shift_long_resource_Locale_6.data | 1 + .../qt3_operator_shift_long_resource_Locale_7.data | 1 + .../qt3_operator_shift_long_resource_Locale_8.data | 1 + ..._operator_shift_long_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ..._operator_shift_long_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ..._operator_shift_long_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ..._operator_shift_long_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ..._operator_shift_long_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ..._operator_shift_long_resource_RawUnicode_5.data | Bin 0 -> 16 bytes ..._operator_shift_long_resource_RawUnicode_6.data | Bin 0 -> 18 bytes ..._operator_shift_long_resource_RawUnicode_7.data | Bin 0 -> 20 bytes ..._operator_shift_long_resource_RawUnicode_8.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ..._shift_long_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ..._shift_long_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ..._shift_long_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 24 bytes ...rator_shift_long_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...rator_shift_long_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...rator_shift_long_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...rator_shift_long_resource_UnicodeReverse_5.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_6.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_7.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_8.data | Bin 0 -> 24 bytes ...operator_shift_long_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_4.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_5.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_6.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_7.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_8.data | 1 + ...qt3_operator_shift_long_resource_Unicode_0.data | Bin 0 -> 16 bytes ...qt3_operator_shift_long_resource_Unicode_1.data | Bin 0 -> 16 bytes ...qt3_operator_shift_long_resource_Unicode_2.data | Bin 0 -> 18 bytes ...qt3_operator_shift_long_resource_Unicode_3.data | Bin 0 -> 20 bytes ...qt3_operator_shift_long_resource_Unicode_4.data | Bin 0 -> 24 bytes ...qt3_operator_shift_long_resource_Unicode_5.data | Bin 0 -> 18 bytes ...qt3_operator_shift_long_resource_Unicode_6.data | Bin 0 -> 20 bytes ...qt3_operator_shift_long_resource_Unicode_7.data | Bin 0 -> 22 bytes ...qt3_operator_shift_long_resource_Unicode_8.data | Bin 0 -> 26 bytes ...qt3_operator_shift_short_resource_Latin1_0.data | 1 + ...qt3_operator_shift_short_resource_Latin1_1.data | 1 + ...qt3_operator_shift_short_resource_Latin1_2.data | 1 + ...qt3_operator_shift_short_resource_Latin1_3.data | 1 + ...qt3_operator_shift_short_resource_Latin1_4.data | 1 + ...qt3_operator_shift_short_resource_Locale_0.data | 1 + ...qt3_operator_shift_short_resource_Locale_1.data | 1 + ...qt3_operator_shift_short_resource_Locale_2.data | 1 + ...qt3_operator_shift_short_resource_Locale_3.data | 1 + ...qt3_operator_shift_short_resource_Locale_4.data | 1 + ...operator_shift_short_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_1.data | Bin 0 -> 16 bytes ...operator_shift_short_resource_RawUnicode_2.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_short_resource_RawUnicode_4.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_short_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 14 bytes ...shift_short_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...shift_short_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...ator_shift_short_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_short_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_2.data | Bin 0 -> 14 bytes ...ator_shift_short_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...ator_shift_short_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...perator_shift_short_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_short_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_short_resource_Unicode_1.data | Bin 0 -> 18 bytes ...t3_operator_shift_short_resource_Unicode_2.data | Bin 0 -> 16 bytes ...t3_operator_shift_short_resource_Unicode_3.data | Bin 0 -> 20 bytes ...t3_operator_shift_short_resource_Unicode_4.data | Bin 0 -> 22 bytes .../qt3_operator_shift_uint_resource_Latin1_0.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_1.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_2.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_3.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_4.data | 1 + .../qt3_operator_shift_uint_resource_Locale_0.data | 1 + .../qt3_operator_shift_uint_resource_Locale_1.data | 1 + .../qt3_operator_shift_uint_resource_Locale_2.data | 1 + .../qt3_operator_shift_uint_resource_Locale_3.data | 1 + .../qt3_operator_shift_uint_resource_Locale_4.data | 1 + ..._operator_shift_uint_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ..._operator_shift_uint_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ..._operator_shift_uint_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ..._operator_shift_uint_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ..._operator_shift_uint_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ..._shift_uint_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ..._shift_uint_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...rator_shift_uint_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...rator_shift_uint_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...operator_shift_uint_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_4.data | 1 + ...qt3_operator_shift_uint_resource_Unicode_0.data | Bin 0 -> 16 bytes ...qt3_operator_shift_uint_resource_Unicode_1.data | Bin 0 -> 16 bytes ...qt3_operator_shift_uint_resource_Unicode_2.data | Bin 0 -> 18 bytes ...qt3_operator_shift_uint_resource_Unicode_3.data | Bin 0 -> 20 bytes ...qt3_operator_shift_uint_resource_Unicode_4.data | Bin 0 -> 20 bytes ...qt3_operator_shift_ulong_resource_Latin1_0.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_1.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_2.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_3.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_4.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_0.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_1.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_2.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_3.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_4.data | 1 + ...operator_shift_ulong_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...operator_shift_ulong_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_ulong_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ...shift_ulong_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_ulong_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...shift_ulong_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...shift_ulong_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ...ator_shift_ulong_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_ulong_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...ator_shift_ulong_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...ator_shift_ulong_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...perator_shift_ulong_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_ulong_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_ulong_resource_Unicode_1.data | Bin 0 -> 16 bytes ...t3_operator_shift_ulong_resource_Unicode_2.data | Bin 0 -> 18 bytes ...t3_operator_shift_ulong_resource_Unicode_3.data | Bin 0 -> 20 bytes ...t3_operator_shift_ulong_resource_Unicode_4.data | Bin 0 -> 24 bytes ...t3_operator_shift_ushort_resource_Latin1_0.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_1.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_2.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_3.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_4.data | 1 + ...t3_operator_shift_ushort_resource_Locale_0.data | 1 + ...t3_operator_shift_ushort_resource_Locale_1.data | 1 + ...t3_operator_shift_ushort_resource_Locale_2.data | 1 + ...t3_operator_shift_ushort_resource_Locale_3.data | 1 + ...t3_operator_shift_ushort_resource_Locale_4.data | 1 + ...perator_shift_ushort_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...perator_shift_ushort_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...perator_shift_ushort_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...hift_ushort_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...hift_ushort_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...tor_shift_ushort_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...tor_shift_ushort_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...erator_shift_ushort_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_4.data | 1 + ...3_operator_shift_ushort_resource_Unicode_0.data | Bin 0 -> 16 bytes ...3_operator_shift_ushort_resource_Unicode_1.data | Bin 0 -> 16 bytes ...3_operator_shift_ushort_resource_Unicode_2.data | Bin 0 -> 18 bytes ...3_operator_shift_ushort_resource_Unicode_3.data | Bin 0 -> 20 bytes ...3_operator_shift_ushort_resource_Unicode_4.data | Bin 0 -> 20 bytes ...perator_shift_QByteArray_resource_Latin1_0.data | 0 ...perator_shift_QByteArray_resource_Latin1_1.data | 0 ...perator_shift_QByteArray_resource_Latin1_2.data | 1 + ...perator_shift_QByteArray_resource_Latin1_3.data | 2 + ...perator_shift_QByteArray_resource_Latin1_4.data | 1 + ...perator_shift_QByteArray_resource_Locale_0.data | 0 ...perator_shift_QByteArray_resource_Locale_1.data | 0 ...perator_shift_QByteArray_resource_Locale_2.data | 1 + ...perator_shift_QByteArray_resource_Locale_3.data | 2 + ...perator_shift_QByteArray_resource_Locale_4.data | 1 + ...tor_shift_QByteArray_resource_RawUnicode_0.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_1.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...tor_shift_QByteArray_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...tor_shift_QByteArray_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ..._QByteArray_resource_UnicodeNetworkOrder_0.data | 1 + ..._QByteArray_resource_UnicodeNetworkOrder_1.data | 1 + ..._QByteArray_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 8 bytes ..._QByteArray_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 16 bytes ..._QByteArray_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 118 bytes ...shift_QByteArray_resource_UnicodeReverse_0.data | 1 + ...shift_QByteArray_resource_UnicodeReverse_1.data | 1 + ...shift_QByteArray_resource_UnicodeReverse_2.data | Bin 0 -> 8 bytes ...shift_QByteArray_resource_UnicodeReverse_3.data | Bin 0 -> 16 bytes ...shift_QByteArray_resource_UnicodeReverse_4.data | Bin 0 -> 118 bytes ...or_shift_QByteArray_resource_UnicodeUTF8_0.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_1.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_2.data | 1 + ...or_shift_QByteArray_resource_UnicodeUTF8_3.data | 2 + ...or_shift_QByteArray_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_QByteArray_resource_Unicode_0.data | 1 + ...erator_shift_QByteArray_resource_Unicode_1.data | 1 + ...erator_shift_QByteArray_resource_Unicode_2.data | Bin 0 -> 8 bytes ...erator_shift_QByteArray_resource_Unicode_3.data | Bin 0 -> 16 bytes ...erator_shift_QByteArray_resource_Unicode_4.data | Bin 0 -> 118 bytes .../operator_shift_QChar_resource_Latin1_0.data | 1 + .../operator_shift_QChar_resource_Latin1_1.data | 1 + .../operator_shift_QChar_resource_Latin1_2.data | 1 + .../operator_shift_QChar_resource_Latin1_3.data | 1 + .../operator_shift_QChar_resource_Latin1_4.data | 1 + .../operator_shift_QChar_resource_Locale_0.data | 1 + .../operator_shift_QChar_resource_Locale_1.data | 1 + .../operator_shift_QChar_resource_Locale_2.data | 1 + .../operator_shift_QChar_resource_Locale_3.data | 1 + .../operator_shift_QChar_resource_Locale_4.data | 1 + ...operator_shift_QChar_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 4 bytes ...shift_QChar_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_0.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_1.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_2.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_3.data | Bin 0 -> 4 bytes ...ator_shift_QChar_resource_UnicodeReverse_4.data | Bin 0 -> 4 bytes ...perator_shift_QChar_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_QChar_resource_Unicode_0.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_1.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_2.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_3.data | Bin 0 -> 4 bytes .../operator_shift_QChar_resource_Unicode_4.data | Bin 0 -> 4 bytes .../operator_shift_QString_resource_Latin1_0.data | 0 .../operator_shift_QString_resource_Latin1_1.data | 0 .../operator_shift_QString_resource_Latin1_2.data | 1 + .../operator_shift_QString_resource_Latin1_3.data | 2 + .../operator_shift_QString_resource_Latin1_4.data | 1 + .../operator_shift_QString_resource_Locale_0.data | 0 .../operator_shift_QString_resource_Locale_1.data | 0 .../operator_shift_QString_resource_Locale_2.data | 1 + .../operator_shift_QString_resource_Locale_3.data | 2 + .../operator_shift_QString_resource_Locale_4.data | 1 + ...erator_shift_QString_resource_RawUnicode_0.data | 0 ...erator_shift_QString_resource_RawUnicode_1.data | 0 ...erator_shift_QString_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...erator_shift_QString_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...erator_shift_QString_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ...ift_QString_resource_UnicodeNetworkOrder_0.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_1.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 8 bytes ...ift_QString_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 16 bytes ...ift_QString_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 118 bytes ...or_shift_QString_resource_UnicodeReverse_0.data | 1 + ...or_shift_QString_resource_UnicodeReverse_1.data | 1 + ...or_shift_QString_resource_UnicodeReverse_2.data | Bin 0 -> 8 bytes ...or_shift_QString_resource_UnicodeReverse_3.data | Bin 0 -> 16 bytes ...or_shift_QString_resource_UnicodeReverse_4.data | Bin 0 -> 118 bytes ...rator_shift_QString_resource_UnicodeUTF8_0.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_1.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_2.data | 1 + ...rator_shift_QString_resource_UnicodeUTF8_3.data | 2 + ...rator_shift_QString_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_QString_resource_Unicode_0.data | 1 + .../operator_shift_QString_resource_Unicode_1.data | 1 + .../operator_shift_QString_resource_Unicode_2.data | Bin 0 -> 8 bytes .../operator_shift_QString_resource_Unicode_3.data | Bin 0 -> 16 bytes .../operator_shift_QString_resource_Unicode_4.data | Bin 0 -> 118 bytes .../operator_shift_char_resource_Latin1_0.data | 1 + .../operator_shift_char_resource_Latin1_1.data | 1 + .../operator_shift_char_resource_Latin1_2.data | 1 + .../operator_shift_char_resource_Latin1_3.data | 1 + .../operator_shift_char_resource_Latin1_4.data | 1 + .../operator_shift_char_resource_Locale_0.data | 1 + .../operator_shift_char_resource_Locale_1.data | 1 + .../operator_shift_char_resource_Locale_2.data | 1 + .../operator_shift_char_resource_Locale_3.data | 1 + .../operator_shift_char_resource_Locale_4.data | 1 + .../operator_shift_char_resource_RawUnicode_0.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_1.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_2.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_3.data | Bin 0 -> 2 bytes .../operator_shift_char_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 4 bytes ..._shift_char_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_0.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_1.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_2.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_3.data | Bin 0 -> 4 bytes ...rator_shift_char_resource_UnicodeReverse_4.data | Bin 0 -> 4 bytes ...operator_shift_char_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_char_resource_Unicode_0.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_1.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_2.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_3.data | Bin 0 -> 4 bytes .../operator_shift_char_resource_Unicode_4.data | Bin 0 -> 4 bytes .../operator_shift_double_resource_Latin1_0.data | 1 + .../operator_shift_double_resource_Latin1_1.data | 1 + .../operator_shift_double_resource_Latin1_2.data | 1 + .../operator_shift_double_resource_Latin1_3.data | 1 + .../operator_shift_double_resource_Latin1_4.data | 1 + .../operator_shift_double_resource_Latin1_5.data | 1 + .../operator_shift_double_resource_Latin1_6.data | 1 + .../operator_shift_double_resource_Locale_0.data | 1 + .../operator_shift_double_resource_Locale_1.data | 1 + .../operator_shift_double_resource_Locale_2.data | 1 + .../operator_shift_double_resource_Locale_3.data | 1 + .../operator_shift_double_resource_Locale_4.data | 1 + .../operator_shift_double_resource_Locale_5.data | 1 + .../operator_shift_double_resource_Locale_6.data | 1 + ...perator_shift_double_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_double_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...perator_shift_double_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...perator_shift_double_resource_RawUnicode_5.data | Bin 0 -> 32 bytes ...perator_shift_double_resource_RawUnicode_6.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...hift_double_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 30 bytes ...hift_double_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 36 bytes ...tor_shift_double_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...tor_shift_double_resource_UnicodeReverse_1.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_2.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_3.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_4.data | Bin 0 -> 30 bytes ...tor_shift_double_resource_UnicodeReverse_5.data | Bin 0 -> 34 bytes ...tor_shift_double_resource_UnicodeReverse_6.data | Bin 0 -> 36 bytes ...erator_shift_double_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_5.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_6.data | 1 + .../operator_shift_double_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_double_resource_Unicode_1.data | Bin 0 -> 26 bytes .../operator_shift_double_resource_Unicode_2.data | Bin 0 -> 28 bytes .../operator_shift_double_resource_Unicode_3.data | Bin 0 -> 28 bytes .../operator_shift_double_resource_Unicode_4.data | Bin 0 -> 30 bytes .../operator_shift_double_resource_Unicode_5.data | Bin 0 -> 34 bytes .../operator_shift_double_resource_Unicode_6.data | Bin 0 -> 36 bytes .../operator_shift_float_resource_Latin1_0.data | 1 + .../operator_shift_float_resource_Latin1_1.data | 1 + .../operator_shift_float_resource_Latin1_2.data | 1 + .../operator_shift_float_resource_Latin1_3.data | 1 + .../operator_shift_float_resource_Latin1_4.data | 1 + .../operator_shift_float_resource_Locale_0.data | 1 + .../operator_shift_float_resource_Locale_1.data | 1 + .../operator_shift_float_resource_Locale_2.data | 1 + .../operator_shift_float_resource_Locale_3.data | 1 + .../operator_shift_float_resource_Locale_4.data | 1 + ...operator_shift_float_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_float_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...operator_shift_float_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_float_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 30 bytes ...ator_shift_float_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_float_resource_UnicodeReverse_1.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_2.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_3.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_4.data | Bin 0 -> 30 bytes ...perator_shift_float_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_float_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_float_resource_Unicode_1.data | Bin 0 -> 26 bytes .../operator_shift_float_resource_Unicode_2.data | Bin 0 -> 28 bytes .../operator_shift_float_resource_Unicode_3.data | Bin 0 -> 28 bytes .../operator_shift_float_resource_Unicode_4.data | Bin 0 -> 30 bytes .../operator_shift_int_resource_Latin1_0.data | 1 + .../operator_shift_int_resource_Latin1_1.data | 1 + .../operator_shift_int_resource_Latin1_2.data | 1 + .../operator_shift_int_resource_Latin1_3.data | 1 + .../operator_shift_int_resource_Latin1_4.data | 1 + .../operator_shift_int_resource_Latin1_5.data | 1 + .../operator_shift_int_resource_Latin1_6.data | 1 + .../operator_shift_int_resource_Latin1_7.data | 1 + .../operator_shift_int_resource_Latin1_8.data | 1 + .../operator_shift_int_resource_Locale_0.data | 1 + .../operator_shift_int_resource_Locale_1.data | 1 + .../operator_shift_int_resource_Locale_2.data | 1 + .../operator_shift_int_resource_Locale_3.data | 1 + .../operator_shift_int_resource_Locale_4.data | 1 + .../operator_shift_int_resource_Locale_5.data | 1 + .../operator_shift_int_resource_Locale_6.data | 1 + .../operator_shift_int_resource_Locale_7.data | 1 + .../operator_shift_int_resource_Locale_8.data | 1 + .../operator_shift_int_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_int_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_int_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_4.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_5.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_RawUnicode_6.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_RawUnicode_7.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_RawUnicode_8.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 22 bytes ...r_shift_int_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 22 bytes ...erator_shift_int_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_5.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_6.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_7.data | Bin 0 -> 22 bytes ...erator_shift_int_resource_UnicodeReverse_8.data | Bin 0 -> 22 bytes .../operator_shift_int_resource_UnicodeUTF8_0.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_1.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_2.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_3.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_5.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_6.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_7.data | 1 + .../operator_shift_int_resource_UnicodeUTF8_8.data | 1 + .../operator_shift_int_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_int_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_4.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_5.data | Bin 0 -> 18 bytes .../operator_shift_int_resource_Unicode_6.data | Bin 0 -> 20 bytes .../operator_shift_int_resource_Unicode_7.data | Bin 0 -> 22 bytes .../operator_shift_int_resource_Unicode_8.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_Latin1_0.data | 1 + .../operator_shift_long_resource_Latin1_1.data | 1 + .../operator_shift_long_resource_Latin1_2.data | 1 + .../operator_shift_long_resource_Latin1_3.data | 1 + .../operator_shift_long_resource_Latin1_4.data | 1 + .../operator_shift_long_resource_Latin1_5.data | 1 + .../operator_shift_long_resource_Latin1_6.data | 1 + .../operator_shift_long_resource_Latin1_7.data | 1 + .../operator_shift_long_resource_Latin1_8.data | 1 + .../operator_shift_long_resource_Locale_0.data | 1 + .../operator_shift_long_resource_Locale_1.data | 1 + .../operator_shift_long_resource_Locale_2.data | 1 + .../operator_shift_long_resource_Locale_3.data | 1 + .../operator_shift_long_resource_Locale_4.data | 1 + .../operator_shift_long_resource_Locale_5.data | 1 + .../operator_shift_long_resource_Locale_6.data | 1 + .../operator_shift_long_resource_Locale_7.data | 1 + .../operator_shift_long_resource_Locale_8.data | 1 + .../operator_shift_long_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_long_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_long_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_RawUnicode_4.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_RawUnicode_5.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_RawUnicode_6.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_RawUnicode_7.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_RawUnicode_8.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 22 bytes ..._shift_long_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 26 bytes ...rator_shift_long_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_4.data | Bin 0 -> 24 bytes ...rator_shift_long_resource_UnicodeReverse_5.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_6.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_7.data | Bin 0 -> 22 bytes ...rator_shift_long_resource_UnicodeReverse_8.data | Bin 0 -> 26 bytes ...operator_shift_long_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_4.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_5.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_6.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_7.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_8.data | 1 + .../operator_shift_long_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_long_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_Unicode_4.data | Bin 0 -> 24 bytes .../operator_shift_long_resource_Unicode_5.data | Bin 0 -> 18 bytes .../operator_shift_long_resource_Unicode_6.data | Bin 0 -> 20 bytes .../operator_shift_long_resource_Unicode_7.data | Bin 0 -> 22 bytes .../operator_shift_long_resource_Unicode_8.data | Bin 0 -> 26 bytes .../operator_shift_short_resource_Latin1_0.data | 1 + .../operator_shift_short_resource_Latin1_1.data | 1 + .../operator_shift_short_resource_Latin1_2.data | 1 + .../operator_shift_short_resource_Latin1_3.data | 1 + .../operator_shift_short_resource_Latin1_4.data | 1 + .../operator_shift_short_resource_Locale_0.data | 1 + .../operator_shift_short_resource_Locale_1.data | 1 + .../operator_shift_short_resource_Locale_2.data | 1 + .../operator_shift_short_resource_Locale_3.data | 1 + .../operator_shift_short_resource_Locale_4.data | 1 + ...operator_shift_short_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_1.data | Bin 0 -> 16 bytes ...operator_shift_short_resource_RawUnicode_2.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_short_resource_RawUnicode_4.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 18 bytes ...shift_short_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ...ator_shift_short_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_1.data | Bin 0 -> 18 bytes ...ator_shift_short_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...ator_shift_short_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...perator_shift_short_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_short_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_short_resource_Unicode_1.data | Bin 0 -> 18 bytes .../operator_shift_short_resource_Unicode_2.data | Bin 0 -> 16 bytes .../operator_shift_short_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_short_resource_Unicode_4.data | Bin 0 -> 22 bytes .../operator_shift_uint_resource_Latin1_0.data | 1 + .../operator_shift_uint_resource_Latin1_1.data | 1 + .../operator_shift_uint_resource_Latin1_2.data | 1 + .../operator_shift_uint_resource_Latin1_3.data | 1 + .../operator_shift_uint_resource_Latin1_4.data | 1 + .../operator_shift_uint_resource_Locale_0.data | 1 + .../operator_shift_uint_resource_Locale_1.data | 1 + .../operator_shift_uint_resource_Locale_2.data | 1 + .../operator_shift_uint_resource_Locale_3.data | 1 + .../operator_shift_uint_resource_Locale_4.data | 1 + .../operator_shift_uint_resource_RawUnicode_0.data | Bin 0 -> 14 bytes .../operator_shift_uint_resource_RawUnicode_1.data | Bin 0 -> 14 bytes .../operator_shift_uint_resource_RawUnicode_2.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_RawUnicode_3.data | Bin 0 -> 18 bytes .../operator_shift_uint_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ..._shift_uint_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...rator_shift_uint_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...rator_shift_uint_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...operator_shift_uint_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_uint_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_uint_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_uint_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_uint_resource_Unicode_4.data | Bin 0 -> 20 bytes .../operator_shift_ulong_resource_Latin1_0.data | 1 + .../operator_shift_ulong_resource_Latin1_1.data | 1 + .../operator_shift_ulong_resource_Latin1_2.data | 1 + .../operator_shift_ulong_resource_Latin1_3.data | 1 + .../operator_shift_ulong_resource_Latin1_4.data | 1 + .../operator_shift_ulong_resource_Locale_0.data | 1 + .../operator_shift_ulong_resource_Locale_1.data | 1 + .../operator_shift_ulong_resource_Locale_2.data | 1 + .../operator_shift_ulong_resource_Locale_3.data | 1 + .../operator_shift_ulong_resource_Locale_4.data | 1 + ...operator_shift_ulong_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...operator_shift_ulong_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_ulong_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ...shift_ulong_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...shift_ulong_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...shift_ulong_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 24 bytes ...ator_shift_ulong_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...ator_shift_ulong_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...ator_shift_ulong_resource_UnicodeReverse_4.data | Bin 0 -> 24 bytes ...perator_shift_ulong_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_ulong_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_ulong_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_ulong_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_ulong_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_ulong_resource_Unicode_4.data | Bin 0 -> 24 bytes .../operator_shift_ushort_resource_Latin1_0.data | 1 + .../operator_shift_ushort_resource_Latin1_1.data | 1 + .../operator_shift_ushort_resource_Latin1_2.data | 1 + .../operator_shift_ushort_resource_Latin1_3.data | 1 + .../operator_shift_ushort_resource_Latin1_4.data | 1 + .../operator_shift_ushort_resource_Locale_0.data | 1 + .../operator_shift_ushort_resource_Locale_1.data | 1 + .../operator_shift_ushort_resource_Locale_2.data | 1 + .../operator_shift_ushort_resource_Locale_3.data | 1 + .../operator_shift_ushort_resource_Locale_4.data | 1 + ...perator_shift_ushort_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...perator_shift_ushort_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...perator_shift_ushort_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 20 bytes ...hift_ushort_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...tor_shift_ushort_resource_UnicodeReverse_0.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_2.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_3.data | Bin 0 -> 20 bytes ...tor_shift_ushort_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...erator_shift_ushort_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_4.data | 1 + .../operator_shift_ushort_resource_Unicode_0.data | Bin 0 -> 16 bytes .../operator_shift_ushort_resource_Unicode_1.data | Bin 0 -> 16 bytes .../operator_shift_ushort_resource_Unicode_2.data | Bin 0 -> 18 bytes .../operator_shift_ushort_resource_Unicode_3.data | Bin 0 -> 20 bytes .../operator_shift_ushort_resource_Unicode_4.data | Bin 0 -> 20 bytes .../operator_shiftright_resource0.data | 1 + .../operator_shiftright_resource1.data | 1 + .../operator_shiftright_resource10.data | 1 + .../operator_shiftright_resource11.data | 1 + .../operator_shiftright_resource12.data | 1 + .../operator_shiftright_resource2.data | 1 + .../operator_shiftright_resource20.data | 1 + .../operator_shiftright_resource21.data | 1 + .../operator_shiftright_resource3.data | 1 + .../operator_shiftright_resource4.data | 1 + .../operator_shiftright_resource5.data | 1 + .../operator_shiftright_resource6.data | 1 + .../operator_shiftright_resource7.data | 1 + .../operator_shiftright_resource8.data | 1 + .../operator_shiftright_resource9.data | 1 + ...perator_shift_QByteArray_resource_Latin1_0.data | 0 ...perator_shift_QByteArray_resource_Latin1_1.data | 0 ...perator_shift_QByteArray_resource_Latin1_2.data | 1 + ...perator_shift_QByteArray_resource_Latin1_3.data | 2 + ...perator_shift_QByteArray_resource_Latin1_4.data | 1 + ...perator_shift_QByteArray_resource_Locale_0.data | 0 ...perator_shift_QByteArray_resource_Locale_1.data | 0 ...perator_shift_QByteArray_resource_Locale_2.data | 1 + ...perator_shift_QByteArray_resource_Locale_3.data | 2 + ...perator_shift_QByteArray_resource_Locale_4.data | 1 + ...tor_shift_QByteArray_resource_RawUnicode_0.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_1.data | 0 ...tor_shift_QByteArray_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...tor_shift_QByteArray_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...tor_shift_QByteArray_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ..._QByteArray_resource_UnicodeNetworkOrder_0.data | 0 ..._QByteArray_resource_UnicodeNetworkOrder_1.data | 0 ..._QByteArray_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 6 bytes ..._QByteArray_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 14 bytes ..._QByteArray_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 116 bytes ...shift_QByteArray_resource_UnicodeReverse_0.data | 0 ...shift_QByteArray_resource_UnicodeReverse_1.data | 0 ...shift_QByteArray_resource_UnicodeReverse_2.data | Bin 0 -> 6 bytes ...shift_QByteArray_resource_UnicodeReverse_3.data | Bin 0 -> 14 bytes ...shift_QByteArray_resource_UnicodeReverse_4.data | Bin 0 -> 116 bytes ...or_shift_QByteArray_resource_UnicodeUTF8_0.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_1.data | 0 ...or_shift_QByteArray_resource_UnicodeUTF8_2.data | 1 + ...or_shift_QByteArray_resource_UnicodeUTF8_3.data | 2 + ...or_shift_QByteArray_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_QByteArray_resource_Unicode_0.data | 0 ...erator_shift_QByteArray_resource_Unicode_1.data | 0 ...erator_shift_QByteArray_resource_Unicode_2.data | Bin 0 -> 8 bytes ...erator_shift_QByteArray_resource_Unicode_3.data | Bin 0 -> 16 bytes ...erator_shift_QByteArray_resource_Unicode_4.data | Bin 0 -> 118 bytes ...qt3_operator_shift_QChar_resource_Latin1_0.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_1.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_2.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_3.data | 1 + ...qt3_operator_shift_QChar_resource_Latin1_4.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_0.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_1.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_2.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_3.data | 1 + ...qt3_operator_shift_QChar_resource_Locale_4.data | 1 + ...operator_shift_QChar_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ...operator_shift_QChar_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 2 bytes ...shift_QChar_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_0.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_1.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_2.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_3.data | Bin 0 -> 2 bytes ...ator_shift_QChar_resource_UnicodeReverse_4.data | Bin 0 -> 2 bytes ...perator_shift_QChar_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_QChar_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_QChar_resource_Unicode_0.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_1.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_2.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_3.data | Bin 0 -> 4 bytes ...t3_operator_shift_QChar_resource_Unicode_4.data | Bin 0 -> 4 bytes ...3_operator_shift_QString_resource_Latin1_0.data | 0 ...3_operator_shift_QString_resource_Latin1_1.data | 0 ...3_operator_shift_QString_resource_Latin1_2.data | 1 + ...3_operator_shift_QString_resource_Latin1_3.data | 2 + ...3_operator_shift_QString_resource_Latin1_4.data | 1 + ...3_operator_shift_QString_resource_Locale_0.data | 0 ...3_operator_shift_QString_resource_Locale_1.data | 0 ...3_operator_shift_QString_resource_Locale_2.data | 1 + ...3_operator_shift_QString_resource_Locale_3.data | 2 + ...3_operator_shift_QString_resource_Locale_4.data | 1 + ...erator_shift_QString_resource_RawUnicode_0.data | 0 ...erator_shift_QString_resource_RawUnicode_1.data | 0 ...erator_shift_QString_resource_RawUnicode_2.data | Bin 0 -> 6 bytes ...erator_shift_QString_resource_RawUnicode_3.data | Bin 0 -> 14 bytes ...erator_shift_QString_resource_RawUnicode_4.data | Bin 0 -> 116 bytes ...ift_QString_resource_UnicodeNetworkOrder_0.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_1.data | 0 ...ift_QString_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 6 bytes ...ift_QString_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 14 bytes ...ift_QString_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 116 bytes ...or_shift_QString_resource_UnicodeReverse_0.data | 0 ...or_shift_QString_resource_UnicodeReverse_1.data | 0 ...or_shift_QString_resource_UnicodeReverse_2.data | Bin 0 -> 6 bytes ...or_shift_QString_resource_UnicodeReverse_3.data | Bin 0 -> 14 bytes ...or_shift_QString_resource_UnicodeReverse_4.data | Bin 0 -> 116 bytes ...rator_shift_QString_resource_UnicodeUTF8_0.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_1.data | 0 ...rator_shift_QString_resource_UnicodeUTF8_2.data | 1 + ...rator_shift_QString_resource_UnicodeUTF8_3.data | 2 + ...rator_shift_QString_resource_UnicodeUTF8_4.data | 1 + ..._operator_shift_QString_resource_Unicode_0.data | 0 ..._operator_shift_QString_resource_Unicode_1.data | 0 ..._operator_shift_QString_resource_Unicode_2.data | Bin 0 -> 8 bytes ..._operator_shift_QString_resource_Unicode_3.data | Bin 0 -> 16 bytes ..._operator_shift_QString_resource_Unicode_4.data | Bin 0 -> 118 bytes .../qt3_operator_shift_char_resource_Latin1_0.data | 1 + .../qt3_operator_shift_char_resource_Latin1_1.data | 1 + .../qt3_operator_shift_char_resource_Latin1_2.data | 1 + .../qt3_operator_shift_char_resource_Latin1_3.data | 1 + .../qt3_operator_shift_char_resource_Latin1_4.data | 1 + .../qt3_operator_shift_char_resource_Locale_0.data | 1 + .../qt3_operator_shift_char_resource_Locale_1.data | 1 + .../qt3_operator_shift_char_resource_Locale_2.data | 1 + .../qt3_operator_shift_char_resource_Locale_3.data | 1 + .../qt3_operator_shift_char_resource_Locale_4.data | 1 + ..._operator_shift_char_resource_RawUnicode_0.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_1.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_2.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_3.data | Bin 0 -> 2 bytes ..._operator_shift_char_resource_RawUnicode_4.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 2 bytes ..._shift_char_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_0.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_1.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_2.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_3.data | Bin 0 -> 2 bytes ...rator_shift_char_resource_UnicodeReverse_4.data | Bin 0 -> 2 bytes ...operator_shift_char_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_char_resource_UnicodeUTF8_4.data | 1 + ...qt3_operator_shift_char_resource_Unicode_0.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_1.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_2.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_3.data | Bin 0 -> 4 bytes ...qt3_operator_shift_char_resource_Unicode_4.data | Bin 0 -> 4 bytes ...t3_operator_shift_double_resource_Latin1_0.data | 1 + ...t3_operator_shift_double_resource_Latin1_1.data | 1 + ...t3_operator_shift_double_resource_Latin1_2.data | 1 + ...t3_operator_shift_double_resource_Latin1_3.data | 1 + ...t3_operator_shift_double_resource_Latin1_4.data | 1 + ...t3_operator_shift_double_resource_Latin1_5.data | 1 + ...t3_operator_shift_double_resource_Latin1_6.data | 1 + ...t3_operator_shift_double_resource_Locale_0.data | 1 + ...t3_operator_shift_double_resource_Locale_1.data | 1 + ...t3_operator_shift_double_resource_Locale_2.data | 1 + ...t3_operator_shift_double_resource_Locale_3.data | 1 + ...t3_operator_shift_double_resource_Locale_4.data | 1 + ...t3_operator_shift_double_resource_Locale_5.data | 1 + ...t3_operator_shift_double_resource_Locale_6.data | 1 + ...perator_shift_double_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_double_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...perator_shift_double_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...perator_shift_double_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...perator_shift_double_resource_RawUnicode_5.data | Bin 0 -> 32 bytes ...perator_shift_double_resource_RawUnicode_6.data | Bin 0 -> 34 bytes ...hift_double_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...hift_double_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 24 bytes ...hift_double_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 26 bytes ...hift_double_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 28 bytes ...hift_double_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 32 bytes ...hift_double_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 34 bytes ...tor_shift_double_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...tor_shift_double_resource_UnicodeReverse_1.data | Bin 0 -> 24 bytes ...tor_shift_double_resource_UnicodeReverse_2.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_3.data | Bin 0 -> 26 bytes ...tor_shift_double_resource_UnicodeReverse_4.data | Bin 0 -> 28 bytes ...tor_shift_double_resource_UnicodeReverse_5.data | Bin 0 -> 32 bytes ...tor_shift_double_resource_UnicodeReverse_6.data | Bin 0 -> 34 bytes ...erator_shift_double_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_4.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_5.data | 1 + ...erator_shift_double_resource_UnicodeUTF8_6.data | 1 + ...3_operator_shift_double_resource_Unicode_0.data | Bin 0 -> 16 bytes ...3_operator_shift_double_resource_Unicode_1.data | Bin 0 -> 26 bytes ...3_operator_shift_double_resource_Unicode_2.data | Bin 0 -> 28 bytes ...3_operator_shift_double_resource_Unicode_3.data | Bin 0 -> 28 bytes ...3_operator_shift_double_resource_Unicode_4.data | Bin 0 -> 30 bytes ...3_operator_shift_double_resource_Unicode_5.data | Bin 0 -> 34 bytes ...3_operator_shift_double_resource_Unicode_6.data | Bin 0 -> 36 bytes ...qt3_operator_shift_float_resource_Latin1_0.data | 1 + ...qt3_operator_shift_float_resource_Latin1_1.data | 1 + ...qt3_operator_shift_float_resource_Latin1_2.data | 1 + ...qt3_operator_shift_float_resource_Latin1_3.data | 1 + ...qt3_operator_shift_float_resource_Latin1_4.data | 1 + ...qt3_operator_shift_float_resource_Locale_0.data | 1 + ...qt3_operator_shift_float_resource_Locale_1.data | 1 + ...qt3_operator_shift_float_resource_Locale_2.data | 1 + ...qt3_operator_shift_float_resource_Locale_3.data | 1 + ...qt3_operator_shift_float_resource_Locale_4.data | 1 + ...operator_shift_float_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_float_resource_RawUnicode_1.data | Bin 0 -> 24 bytes ...operator_shift_float_resource_RawUnicode_2.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_3.data | Bin 0 -> 26 bytes ...operator_shift_float_resource_RawUnicode_4.data | Bin 0 -> 28 bytes ...shift_float_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_float_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 24 bytes ...shift_float_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 26 bytes ...shift_float_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 28 bytes ...ator_shift_float_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_float_resource_UnicodeReverse_1.data | Bin 0 -> 24 bytes ...ator_shift_float_resource_UnicodeReverse_2.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_3.data | Bin 0 -> 26 bytes ...ator_shift_float_resource_UnicodeReverse_4.data | Bin 0 -> 28 bytes ...perator_shift_float_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_float_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_float_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_float_resource_Unicode_1.data | Bin 0 -> 26 bytes ...t3_operator_shift_float_resource_Unicode_2.data | Bin 0 -> 28 bytes ...t3_operator_shift_float_resource_Unicode_3.data | Bin 0 -> 28 bytes ...t3_operator_shift_float_resource_Unicode_4.data | Bin 0 -> 30 bytes .../qt3_operator_shift_int_resource_Latin1_0.data | 1 + .../qt3_operator_shift_int_resource_Latin1_1.data | 1 + .../qt3_operator_shift_int_resource_Latin1_2.data | 1 + .../qt3_operator_shift_int_resource_Latin1_3.data | 1 + .../qt3_operator_shift_int_resource_Latin1_4.data | 1 + .../qt3_operator_shift_int_resource_Latin1_5.data | 1 + .../qt3_operator_shift_int_resource_Latin1_6.data | 1 + .../qt3_operator_shift_int_resource_Latin1_7.data | 1 + .../qt3_operator_shift_int_resource_Latin1_8.data | 1 + .../qt3_operator_shift_int_resource_Locale_0.data | 1 + .../qt3_operator_shift_int_resource_Locale_1.data | 1 + .../qt3_operator_shift_int_resource_Locale_2.data | 1 + .../qt3_operator_shift_int_resource_Locale_3.data | 1 + .../qt3_operator_shift_int_resource_Locale_4.data | 1 + .../qt3_operator_shift_int_resource_Locale_5.data | 1 + .../qt3_operator_shift_int_resource_Locale_6.data | 1 + .../qt3_operator_shift_int_resource_Locale_7.data | 1 + .../qt3_operator_shift_int_resource_Locale_8.data | 1 + ...3_operator_shift_int_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...3_operator_shift_int_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...3_operator_shift_int_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...3_operator_shift_int_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_5.data | Bin 0 -> 16 bytes ...3_operator_shift_int_resource_RawUnicode_6.data | Bin 0 -> 18 bytes ...3_operator_shift_int_resource_RawUnicode_7.data | Bin 0 -> 20 bytes ...3_operator_shift_int_resource_RawUnicode_8.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...r_shift_int_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...r_shift_int_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 16 bytes ...r_shift_int_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 18 bytes ...r_shift_int_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 20 bytes ...r_shift_int_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...erator_shift_int_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...erator_shift_int_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_5.data | Bin 0 -> 16 bytes ...erator_shift_int_resource_UnicodeReverse_6.data | Bin 0 -> 18 bytes ...erator_shift_int_resource_UnicodeReverse_7.data | Bin 0 -> 20 bytes ...erator_shift_int_resource_UnicodeReverse_8.data | Bin 0 -> 20 bytes ..._operator_shift_int_resource_UnicodeUTF8_0.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_1.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_2.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_3.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_4.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_5.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_6.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_7.data | 1 + ..._operator_shift_int_resource_UnicodeUTF8_8.data | 1 + .../qt3_operator_shift_int_resource_Unicode_0.data | Bin 0 -> 16 bytes .../qt3_operator_shift_int_resource_Unicode_1.data | Bin 0 -> 16 bytes .../qt3_operator_shift_int_resource_Unicode_2.data | Bin 0 -> 18 bytes .../qt3_operator_shift_int_resource_Unicode_3.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_4.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_5.data | Bin 0 -> 18 bytes .../qt3_operator_shift_int_resource_Unicode_6.data | Bin 0 -> 20 bytes .../qt3_operator_shift_int_resource_Unicode_7.data | Bin 0 -> 22 bytes .../qt3_operator_shift_int_resource_Unicode_8.data | Bin 0 -> 22 bytes .../qt3_operator_shift_long_resource_Latin1_0.data | 1 + .../qt3_operator_shift_long_resource_Latin1_1.data | 1 + .../qt3_operator_shift_long_resource_Latin1_2.data | 1 + .../qt3_operator_shift_long_resource_Latin1_3.data | 1 + .../qt3_operator_shift_long_resource_Latin1_4.data | 1 + .../qt3_operator_shift_long_resource_Latin1_5.data | 1 + .../qt3_operator_shift_long_resource_Latin1_6.data | 1 + .../qt3_operator_shift_long_resource_Latin1_7.data | 1 + .../qt3_operator_shift_long_resource_Latin1_8.data | 1 + .../qt3_operator_shift_long_resource_Locale_0.data | 1 + .../qt3_operator_shift_long_resource_Locale_1.data | 1 + .../qt3_operator_shift_long_resource_Locale_2.data | 1 + .../qt3_operator_shift_long_resource_Locale_3.data | 1 + .../qt3_operator_shift_long_resource_Locale_4.data | 1 + .../qt3_operator_shift_long_resource_Locale_5.data | 1 + .../qt3_operator_shift_long_resource_Locale_6.data | 1 + .../qt3_operator_shift_long_resource_Locale_7.data | 1 + .../qt3_operator_shift_long_resource_Locale_8.data | 1 + ..._operator_shift_long_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ..._operator_shift_long_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ..._operator_shift_long_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ..._operator_shift_long_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ..._operator_shift_long_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ..._operator_shift_long_resource_RawUnicode_5.data | Bin 0 -> 16 bytes ..._operator_shift_long_resource_RawUnicode_6.data | Bin 0 -> 18 bytes ..._operator_shift_long_resource_RawUnicode_7.data | Bin 0 -> 20 bytes ..._operator_shift_long_resource_RawUnicode_8.data | Bin 0 -> 24 bytes ..._shift_long_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ..._shift_long_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ..._shift_long_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ..._shift_long_resource_UnicodeNetworkOrder_5.data | Bin 0 -> 16 bytes ..._shift_long_resource_UnicodeNetworkOrder_6.data | Bin 0 -> 18 bytes ..._shift_long_resource_UnicodeNetworkOrder_7.data | Bin 0 -> 20 bytes ..._shift_long_resource_UnicodeNetworkOrder_8.data | Bin 0 -> 24 bytes ...rator_shift_long_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...rator_shift_long_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...rator_shift_long_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...rator_shift_long_resource_UnicodeReverse_5.data | Bin 0 -> 16 bytes ...rator_shift_long_resource_UnicodeReverse_6.data | Bin 0 -> 18 bytes ...rator_shift_long_resource_UnicodeReverse_7.data | Bin 0 -> 20 bytes ...rator_shift_long_resource_UnicodeReverse_8.data | Bin 0 -> 24 bytes ...operator_shift_long_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_4.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_5.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_6.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_7.data | 1 + ...operator_shift_long_resource_UnicodeUTF8_8.data | 1 + ...qt3_operator_shift_long_resource_Unicode_0.data | Bin 0 -> 16 bytes ...qt3_operator_shift_long_resource_Unicode_1.data | Bin 0 -> 16 bytes ...qt3_operator_shift_long_resource_Unicode_2.data | Bin 0 -> 18 bytes ...qt3_operator_shift_long_resource_Unicode_3.data | Bin 0 -> 20 bytes ...qt3_operator_shift_long_resource_Unicode_4.data | Bin 0 -> 24 bytes ...qt3_operator_shift_long_resource_Unicode_5.data | Bin 0 -> 18 bytes ...qt3_operator_shift_long_resource_Unicode_6.data | Bin 0 -> 20 bytes ...qt3_operator_shift_long_resource_Unicode_7.data | Bin 0 -> 22 bytes ...qt3_operator_shift_long_resource_Unicode_8.data | Bin 0 -> 26 bytes ...qt3_operator_shift_short_resource_Latin1_0.data | 1 + ...qt3_operator_shift_short_resource_Latin1_1.data | 1 + ...qt3_operator_shift_short_resource_Latin1_2.data | 1 + ...qt3_operator_shift_short_resource_Latin1_3.data | 1 + ...qt3_operator_shift_short_resource_Latin1_4.data | 1 + ...qt3_operator_shift_short_resource_Locale_0.data | 1 + ...qt3_operator_shift_short_resource_Locale_1.data | 1 + ...qt3_operator_shift_short_resource_Locale_2.data | 1 + ...qt3_operator_shift_short_resource_Locale_3.data | 1 + ...qt3_operator_shift_short_resource_Locale_4.data | 1 + ...operator_shift_short_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_1.data | Bin 0 -> 16 bytes ...operator_shift_short_resource_RawUnicode_2.data | Bin 0 -> 14 bytes ...operator_shift_short_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_short_resource_RawUnicode_4.data | Bin 0 -> 20 bytes ...shift_short_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_short_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 16 bytes ...shift_short_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 14 bytes ...shift_short_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...shift_short_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 20 bytes ...ator_shift_short_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_short_resource_UnicodeReverse_1.data | Bin 0 -> 16 bytes ...ator_shift_short_resource_UnicodeReverse_2.data | Bin 0 -> 14 bytes ...ator_shift_short_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...ator_shift_short_resource_UnicodeReverse_4.data | Bin 0 -> 20 bytes ...perator_shift_short_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_short_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_short_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_short_resource_Unicode_1.data | Bin 0 -> 18 bytes ...t3_operator_shift_short_resource_Unicode_2.data | Bin 0 -> 16 bytes ...t3_operator_shift_short_resource_Unicode_3.data | Bin 0 -> 20 bytes ...t3_operator_shift_short_resource_Unicode_4.data | Bin 0 -> 22 bytes .../qt3_operator_shift_uint_resource_Latin1_0.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_1.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_2.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_3.data | 1 + .../qt3_operator_shift_uint_resource_Latin1_4.data | 1 + .../qt3_operator_shift_uint_resource_Locale_0.data | 1 + .../qt3_operator_shift_uint_resource_Locale_1.data | 1 + .../qt3_operator_shift_uint_resource_Locale_2.data | 1 + .../qt3_operator_shift_uint_resource_Locale_3.data | 1 + .../qt3_operator_shift_uint_resource_Locale_4.data | 1 + ..._operator_shift_uint_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ..._operator_shift_uint_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ..._operator_shift_uint_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ..._operator_shift_uint_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ..._operator_shift_uint_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ..._shift_uint_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ..._shift_uint_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ..._shift_uint_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ..._shift_uint_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...rator_shift_uint_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...rator_shift_uint_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...rator_shift_uint_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...rator_shift_uint_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...operator_shift_uint_resource_UnicodeUTF8_0.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_1.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_2.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_3.data | 1 + ...operator_shift_uint_resource_UnicodeUTF8_4.data | 1 + ...qt3_operator_shift_uint_resource_Unicode_0.data | Bin 0 -> 16 bytes ...qt3_operator_shift_uint_resource_Unicode_1.data | Bin 0 -> 16 bytes ...qt3_operator_shift_uint_resource_Unicode_2.data | Bin 0 -> 18 bytes ...qt3_operator_shift_uint_resource_Unicode_3.data | Bin 0 -> 20 bytes ...qt3_operator_shift_uint_resource_Unicode_4.data | Bin 0 -> 20 bytes ...qt3_operator_shift_ulong_resource_Latin1_0.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_1.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_2.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_3.data | 1 + ...qt3_operator_shift_ulong_resource_Latin1_4.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_0.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_1.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_2.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_3.data | 1 + ...qt3_operator_shift_ulong_resource_Locale_4.data | 1 + ...operator_shift_ulong_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...operator_shift_ulong_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...operator_shift_ulong_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...operator_shift_ulong_resource_RawUnicode_4.data | Bin 0 -> 22 bytes ...shift_ulong_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...shift_ulong_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...shift_ulong_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...shift_ulong_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...shift_ulong_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 22 bytes ...ator_shift_ulong_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...ator_shift_ulong_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...ator_shift_ulong_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...ator_shift_ulong_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...ator_shift_ulong_resource_UnicodeReverse_4.data | Bin 0 -> 22 bytes ...perator_shift_ulong_resource_UnicodeUTF8_0.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_1.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_2.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_3.data | 1 + ...perator_shift_ulong_resource_UnicodeUTF8_4.data | 1 + ...t3_operator_shift_ulong_resource_Unicode_0.data | Bin 0 -> 16 bytes ...t3_operator_shift_ulong_resource_Unicode_1.data | Bin 0 -> 16 bytes ...t3_operator_shift_ulong_resource_Unicode_2.data | Bin 0 -> 18 bytes ...t3_operator_shift_ulong_resource_Unicode_3.data | Bin 0 -> 20 bytes ...t3_operator_shift_ulong_resource_Unicode_4.data | Bin 0 -> 24 bytes ...t3_operator_shift_ushort_resource_Latin1_0.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_1.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_2.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_3.data | 1 + ...t3_operator_shift_ushort_resource_Latin1_4.data | 1 + ...t3_operator_shift_ushort_resource_Locale_0.data | 1 + ...t3_operator_shift_ushort_resource_Locale_1.data | 1 + ...t3_operator_shift_ushort_resource_Locale_2.data | 1 + ...t3_operator_shift_ushort_resource_Locale_3.data | 1 + ...t3_operator_shift_ushort_resource_Locale_4.data | 1 + ...perator_shift_ushort_resource_RawUnicode_0.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_1.data | Bin 0 -> 14 bytes ...perator_shift_ushort_resource_RawUnicode_2.data | Bin 0 -> 16 bytes ...perator_shift_ushort_resource_RawUnicode_3.data | Bin 0 -> 18 bytes ...perator_shift_ushort_resource_RawUnicode_4.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_0.data | Bin 0 -> 14 bytes ...hift_ushort_resource_UnicodeNetworkOrder_1.data | Bin 0 -> 14 bytes ...hift_ushort_resource_UnicodeNetworkOrder_2.data | Bin 0 -> 16 bytes ...hift_ushort_resource_UnicodeNetworkOrder_3.data | Bin 0 -> 18 bytes ...hift_ushort_resource_UnicodeNetworkOrder_4.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_0.data | Bin 0 -> 14 bytes ...tor_shift_ushort_resource_UnicodeReverse_1.data | Bin 0 -> 14 bytes ...tor_shift_ushort_resource_UnicodeReverse_2.data | Bin 0 -> 16 bytes ...tor_shift_ushort_resource_UnicodeReverse_3.data | Bin 0 -> 18 bytes ...tor_shift_ushort_resource_UnicodeReverse_4.data | Bin 0 -> 18 bytes ...erator_shift_ushort_resource_UnicodeUTF8_0.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_1.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_2.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_3.data | 1 + ...erator_shift_ushort_resource_UnicodeUTF8_4.data | 1 + ...3_operator_shift_ushort_resource_Unicode_0.data | Bin 0 -> 16 bytes ...3_operator_shift_ushort_resource_Unicode_1.data | Bin 0 -> 16 bytes ...3_operator_shift_ushort_resource_Unicode_2.data | Bin 0 -> 18 bytes ...3_operator_shift_ushort_resource_Unicode_3.data | Bin 0 -> 20 bytes ...3_operator_shift_ushort_resource_Unicode_4.data | Bin 0 -> 20 bytes tests/auto/qtextstream/rfc3261.txt | 15067 ++++ tests/auto/qtextstream/shift-jis.txt | 764 + tests/auto/qtextstream/stdinProcess/main.cpp | 55 + .../auto/qtextstream/stdinProcess/stdinProcess.pro | 7 + tests/auto/qtextstream/task113817.txt | 1095 + tests/auto/qtextstream/test/test.pro | 31 + tests/auto/qtextstream/tst_qtextstream.cpp | 4294 + tests/auto/qtexttable/.gitignore | 1 + tests/auto/qtexttable/qtexttable.pro | 5 + tests/auto/qtexttable/tst_qtexttable.cpp | 935 + tests/auto/qthread/.gitignore | 1 + tests/auto/qthread/qthread.pro | 5 + tests/auto/qthread/tst_qthread.cpp | 906 + tests/auto/qthreadonce/.gitignore | 1 + tests/auto/qthreadonce/qthreadonce.cpp | 121 + tests/auto/qthreadonce/qthreadonce.h | 114 + tests/auto/qthreadonce/qthreadonce.pro | 12 + tests/auto/qthreadonce/tst_qthreadonce.cpp | 234 + tests/auto/qthreadpool/.gitignore | 1 + tests/auto/qthreadpool/qthreadpool.pro | 3 + tests/auto/qthreadpool/tst_qthreadpool.cpp | 841 + tests/auto/qthreadstorage/.gitignore | 1 + tests/auto/qthreadstorage/qthreadstorage.pro | 5 + tests/auto/qthreadstorage/tst_qthreadstorage.cpp | 297 + tests/auto/qtime/.gitignore | 1 + tests/auto/qtime/qtime.pro | 6 + tests/auto/qtime/tst_qtime.cpp | 703 + tests/auto/qtimeline/.gitignore | 1 + tests/auto/qtimeline/qtimeline.pro | 5 + tests/auto/qtimeline/tst_qtimeline.cpp | 709 + tests/auto/qtimer/.gitignore | 1 + tests/auto/qtimer/qtimer.pro | 5 + tests/auto/qtimer/tst_qtimer.cpp | 390 + tests/auto/qtmd5/.gitignore | 1 + tests/auto/qtmd5/qtmd5.pro | 14 + tests/auto/qtmd5/tst_qtmd5.cpp | 84 + tests/auto/qtokenautomaton/.gitignore | 4 + tests/auto/qtokenautomaton/generateTokenizers.sh | 9 + tests/auto/qtokenautomaton/qtokenautomaton.pro | 17 + .../qtokenautomaton/tokenizers/basic/basic.cpp | 480 + .../auto/qtokenautomaton/tokenizers/basic/basic.h | 101 + .../qtokenautomaton/tokenizers/basic/basic.xml | 25 + .../tokenizers/basicNamespace/basicNamespace.cpp | 386 + .../tokenizers/basicNamespace/basicNamespace.h | 99 + .../tokenizers/basicNamespace/basicNamespace.xml | 23 + .../tokenizers/boilerplate/boilerplate.cpp | 386 + .../tokenizers/boilerplate/boilerplate.h | 98 + .../tokenizers/boilerplate/boilerplate.xml | 67 + .../tokenizers/noNamespace/noNamespace.cpp | 449 + .../tokenizers/noNamespace/noNamespace.h | 99 + .../tokenizers/noNamespace/noNamespace.xml | 24 + .../tokenizers/noToString/noToString.cpp | 251 + .../tokenizers/noToString/noToString.h | 98 + .../tokenizers/noToString/noToString.xml | 23 + .../tokenizers/withNamespace/withNamespace.cpp | 451 + .../tokenizers/withNamespace/withNamespace.h | 102 + .../tokenizers/withNamespace/withNamespace.xml | 25 + tests/auto/qtokenautomaton/tst_qtokenautomaton.cpp | 134 + tests/auto/qtoolbar/.gitignore | 1 + tests/auto/qtoolbar/qtoolbar.pro | 5 + tests/auto/qtoolbar/tst_qtoolbar.cpp | 1034 + tests/auto/qtoolbox/.gitignore | 1 + tests/auto/qtoolbox/qtoolbox.pro | 5 + tests/auto/qtoolbox/tst_qtoolbox.cpp | 338 + tests/auto/qtoolbutton/.gitignore | 1 + tests/auto/qtoolbutton/qtoolbutton.pro | 11 + tests/auto/qtoolbutton/tst_qtoolbutton.cpp | 189 + tests/auto/qtooltip/.gitignore | 1 + tests/auto/qtooltip/qtooltip.pro | 2 + tests/auto/qtooltip/tst_qtooltip.cpp | 159 + tests/auto/qtransform/.gitignore | 1 + tests/auto/qtransform/qtransform.pro | 7 + tests/auto/qtransform/tst_qtransform.cpp | 777 + tests/auto/qtransformedscreen/.gitignore | 1 + .../auto/qtransformedscreen/qtransformedscreen.pro | 7 + .../qtransformedscreen/tst_qtransformedscreen.cpp | 194 + tests/auto/qtranslator/.gitignore | 1 + tests/auto/qtranslator/hellotr_la.qm | Bin 0 -> 230 bytes tests/auto/qtranslator/hellotr_la.ts | 16 + tests/auto/qtranslator/msgfmt_from_po.qm | Bin 0 -> 176988 bytes tests/auto/qtranslator/qtranslator.pro | 11 + tests/auto/qtranslator/tst_qtranslator.cpp | 241 + tests/auto/qtreeview/.gitignore | 1 + tests/auto/qtreeview/qtreeview.pro | 4 + tests/auto/qtreeview/tst_qtreeview.cpp | 3197 + tests/auto/qtreewidget/.gitignore | 1 + tests/auto/qtreewidget/qtreewidget.pro | 4 + tests/auto/qtreewidget/tst_qtreewidget.cpp | 3037 + tests/auto/qtreewidgetitemiterator/.gitignore | 1 + .../qtreewidgetitemiterator.pro | 4 + .../tst_qtreewidgetitemiterator.cpp | 1251 + tests/auto/qtwidgets/.gitignore | 1 + tests/auto/qtwidgets/advanced.ui | 319 + tests/auto/qtwidgets/icons/big.png | Bin 0 -> 1323 bytes tests/auto/qtwidgets/icons/folder.png | Bin 0 -> 4069 bytes tests/auto/qtwidgets/icons/icon.bmp | Bin 0 -> 246 bytes tests/auto/qtwidgets/icons/icon.png | Bin 0 -> 344 bytes tests/auto/qtwidgets/mainwindow.cpp | 314 + tests/auto/qtwidgets/mainwindow.h | 80 + tests/auto/qtwidgets/qtstyles.qrc | 8 + tests/auto/qtwidgets/qtwidgets.pro | 9 + tests/auto/qtwidgets/standard.ui | 1207 + tests/auto/qtwidgets/system.ui | 658 + tests/auto/qtwidgets/tst_qtwidgets.cpp | 96 + tests/auto/qudpsocket/.gitignore | 2 + .../auto/qudpsocket/clientserver/clientserver.pro | 8 + tests/auto/qudpsocket/clientserver/main.cpp | 170 + tests/auto/qudpsocket/qudpsocket.pro | 5 + tests/auto/qudpsocket/test/test.pro | 26 + tests/auto/qudpsocket/tst_qudpsocket.cpp | 787 + tests/auto/qudpsocket/udpServer/main.cpp | 90 + tests/auto/qudpsocket/udpServer/udpServer.pro | 6 + tests/auto/qundogroup/.gitignore | 1 + tests/auto/qundogroup/qundogroup.pro | 5 + tests/auto/qundogroup/tst_qundogroup.cpp | 626 + tests/auto/qundostack/.gitignore | 1 + tests/auto/qundostack/qundostack.pro | 5 + tests/auto/qundostack/tst_qundostack.cpp | 2940 + tests/auto/qurl/.gitignore | 1 + tests/auto/qurl/idna-test.c | 158 + tests/auto/qurl/qurl.pro | 6 + tests/auto/qurl/tst_qurl.cpp | 3672 + tests/auto/quuid/.gitignore | 1 + tests/auto/quuid/quuid.pro | 6 + tests/auto/quuid/tst_quuid.cpp | 174 + tests/auto/qvariant/.gitignore | 1 + tests/auto/qvariant/qvariant.pro | 6 + tests/auto/qvariant/tst_qvariant.cpp | 2917 + tests/auto/qvarlengtharray/.gitignore | 1 + tests/auto/qvarlengtharray/qvarlengtharray.pro | 5 + tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp | 252 + tests/auto/qvector/.gitignore | 1 + tests/auto/qvector/qvector.pro | 6 + tests/auto/qvector/tst_qvector.cpp | 224 + tests/auto/qwaitcondition/.gitignore | 1 + tests/auto/qwaitcondition/qwaitcondition.pro | 5 + tests/auto/qwaitcondition/tst_qwaitcondition.cpp | 846 + tests/auto/qwebframe/.gitignore | 1 + tests/auto/qwebframe/dummy.cpp | 44 + tests/auto/qwebframe/qwebframe.pro | 13 + tests/auto/qwebpage/.gitignore | 1 + tests/auto/qwebpage/dummy.cpp | 44 + tests/auto/qwebpage/qwebpage.pro | 14 + tests/auto/qwidget/.gitignore | 1 + tests/auto/qwidget/geometry-fullscreen.dat | Bin 0 -> 46 bytes tests/auto/qwidget/geometry-maximized.dat | Bin 0 -> 46 bytes tests/auto/qwidget/geometry.dat | Bin 0 -> 46 bytes tests/auto/qwidget/qwidget.pro | 17 + tests/auto/qwidget/qwidget.qrc | 7 + .../testdata/paintEvent/res_Motif_data0.qsnap | Bin 0 -> 722 bytes .../testdata/paintEvent/res_Motif_data1.qsnap | Bin 0 -> 1509 bytes .../testdata/paintEvent/res_Motif_data2.qsnap | Bin 0 -> 7965 bytes .../testdata/paintEvent/res_Motif_data3.qsnap | Bin 0 -> 8265 bytes .../testdata/paintEvent/res_Windows_data0.qsnap | Bin 0 -> 710 bytes .../testdata/paintEvent/res_Windows_data1.qsnap | Bin 0 -> 1497 bytes .../testdata/paintEvent/res_Windows_data2.qsnap | Bin 0 -> 7953 bytes .../testdata/paintEvent/res_Windows_data3.qsnap | Bin 0 -> 8253 bytes tests/auto/qwidget/tst_qwidget.cpp | 8731 ++ tests/auto/qwidget/tst_qwidget_mac_helpers.h | 47 + tests/auto/qwidget/tst_qwidget_mac_helpers.mm | 33 + tests/auto/qwidget_window/.gitignore | 1 + tests/auto/qwidget_window/qwidget_window.pro | 4 + tests/auto/qwidget_window/tst_qwidget_window.cpp | 304 + tests/auto/qwidgetaction/.gitignore | 1 + tests/auto/qwidgetaction/qwidgetaction.pro | 4 + tests/auto/qwidgetaction/tst_qwidgetaction.cpp | 401 + tests/auto/qwindowsurface/.gitignore | 1 + tests/auto/qwindowsurface/qwindowsurface.pro | 5 + tests/auto/qwindowsurface/tst_qwindowsurface.cpp | 269 + tests/auto/qwineventnotifier/.gitignore | 1 + tests/auto/qwineventnotifier/qwineventnotifier.pro | 6 + .../qwineventnotifier/tst_qwineventnotifier.cpp | 149 + tests/auto/qwizard/.gitignore | 1 + tests/auto/qwizard/images/background.png | Bin 0 -> 22932 bytes tests/auto/qwizard/images/banner.png | Bin 0 -> 4230 bytes tests/auto/qwizard/images/logo.png | Bin 0 -> 1661 bytes tests/auto/qwizard/images/watermark.png | Bin 0 -> 15788 bytes tests/auto/qwizard/qwizard.pro | 9 + tests/auto/qwizard/qwizard.qrc | 8 + tests/auto/qwizard/tst_qwizard.cpp | 2485 + tests/auto/qwmatrix/.gitignore | 1 + tests/auto/qwmatrix/qwmatrix.pro | 6 + tests/auto/qwmatrix/tst_qwmatrix.cpp | 449 + tests/auto/qworkspace/.gitignore | 1 + tests/auto/qworkspace/qworkspace.pro | 6 + tests/auto/qworkspace/tst_qworkspace.cpp | 734 + tests/auto/qwritelocker/.gitignore | 1 + tests/auto/qwritelocker/qwritelocker.pro | 5 + tests/auto/qwritelocker/tst_qwritelocker.cpp | 235 + tests/auto/qwsembedwidget/.gitignore | 1 + tests/auto/qwsembedwidget/qwsembedwidget.pro | 5 + tests/auto/qwsembedwidget/tst_qwsembedwidget.cpp | 106 + tests/auto/qwsinputmethod/.gitignore | 1 + tests/auto/qwsinputmethod/qwsinputmethod.pro | 5 + tests/auto/qwsinputmethod/tst_qwsinputmethod.cpp | 92 + tests/auto/qwswindowsystem/.gitignore | 1 + tests/auto/qwswindowsystem/qwswindowsystem.pro | 5 + tests/auto/qwswindowsystem/tst_qwswindowsystem.cpp | 653 + tests/auto/qx11info/.gitignore | 1 + tests/auto/qx11info/qx11info.pro | 4 + tests/auto/qx11info/tst_qx11info.cpp | 122 + tests/auto/qxml/.gitignore | 1 + tests/auto/qxml/0x010D.xml | 1 + tests/auto/qxml/qxml.pro | 12 + tests/auto/qxml/tst_qxml.cpp | 217 + tests/auto/qxmlformatter/.gitignore | 1 + tests/auto/qxmlformatter/baselines/.gitattributes | 1 + .../baselines/K2-DirectConElemContent-46.xml | 1 + .../auto/qxmlformatter/baselines/adjacentNodes.xml | 16 + .../auto/qxmlformatter/baselines/classExample.xml | 5 + .../baselines/documentElementWithWS.xml | 1 + .../auto/qxmlformatter/baselines/documentNodes.xml | 3 + .../qxmlformatter/baselines/elementsWithWS.xml | 8 + .../auto/qxmlformatter/baselines/emptySequence.xml | 1 + .../baselines/indentedAdjacentNodes.xml | 16 + .../baselines/indentedMixedContent.xml | 20 + .../auto/qxmlformatter/baselines/mixedContent.xml | 17 + .../baselines/mixedTopLevelContent.xml | 1 + .../baselines/nodesAndWhitespaceAtomics.xml | 4 + .../qxmlformatter/baselines/onlyDocumentNode.xml | 1 + tests/auto/qxmlformatter/baselines/prolog.xml | 17 + .../qxmlformatter/baselines/simpleDocument.xml | 3 + .../auto/qxmlformatter/baselines/singleElement.xml | 1 + .../qxmlformatter/baselines/singleTextNode.xml | 1 + .../baselines/textNodeAtomicValue.xml | 1 + .../auto/qxmlformatter/baselines/threeAtomics.xml | 1 + .../input/K2-DirectConElemContent-46.xq | 1 + tests/auto/qxmlformatter/input/adjacentNodes.xml | 16 + tests/auto/qxmlformatter/input/adjacentNodes.xq | 1 + tests/auto/qxmlformatter/input/classExample.xml | 1 + tests/auto/qxmlformatter/input/classExample.xq | 1 + .../qxmlformatter/input/documentElementWithWS.xml | 2 + .../qxmlformatter/input/documentElementWithWS.xq | 1 + tests/auto/qxmlformatter/input/documentNodes.xq | 7 + tests/auto/qxmlformatter/input/elementsWithWS.xml | 12 + tests/auto/qxmlformatter/input/elementsWithWS.xq | 1 + tests/auto/qxmlformatter/input/emptySequence.xq | 2 + .../qxmlformatter/input/indentedAdjacentNodes.xml | 16 + .../qxmlformatter/input/indentedAdjacentNodes.xq | 1 + .../qxmlformatter/input/indentedMixedContent.xml | 16 + .../qxmlformatter/input/indentedMixedContent.xq | 1 + tests/auto/qxmlformatter/input/mixedContent.xml | 1 + tests/auto/qxmlformatter/input/mixedContent.xq | 1 + .../qxmlformatter/input/mixedTopLevelContent.xq | 16 + .../input/nodesAndWhitespaceAtomics.xq | 13 + tests/auto/qxmlformatter/input/onlyDocumentNode.xq | 1 + tests/auto/qxmlformatter/input/prolog.xml | 17 + tests/auto/qxmlformatter/input/prolog.xq | 1 + tests/auto/qxmlformatter/input/simpleDocument.xml | 4 + tests/auto/qxmlformatter/input/simpleDocument.xq | 1 + tests/auto/qxmlformatter/input/singleElement.xml | 1 + tests/auto/qxmlformatter/input/singleElement.xq | 1 + tests/auto/qxmlformatter/input/singleTextNode.xq | 1 + .../qxmlformatter/input/textNodeAtomicValue.xq | 1 + tests/auto/qxmlformatter/input/threeAtomics.xq | 1 + tests/auto/qxmlformatter/qxmlformatter.pro | 10 + tests/auto/qxmlformatter/tst_qxmlformatter.cpp | 205 + tests/auto/qxmlinputsource/.gitignore | 1 + tests/auto/qxmlinputsource/qxmlinputsource.pro | 6 + tests/auto/qxmlinputsource/tst_qxmlinputsource.cpp | 212 + tests/auto/qxmlitem/.gitignore | 1 + tests/auto/qxmlitem/qxmlitem.pro | 4 + tests/auto/qxmlitem/tst_qxmlitem.cpp | 373 + tests/auto/qxmlname/.gitignore | 1 + tests/auto/qxmlname/qxmlname.pro | 4 + tests/auto/qxmlname/tst_qxmlname.cpp | 565 + tests/auto/qxmlnamepool/.gitignore | 1 + tests/auto/qxmlnamepool/qxmlnamepool.pro | 4 + tests/auto/qxmlnamepool/tst_qxmlnamepool.cpp | 90 + tests/auto/qxmlnodemodelindex/.gitignore | 1 + .../auto/qxmlnodemodelindex/qxmlnodemodelindex.pro | 4 + .../qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp | 197 + tests/auto/qxmlquery/.gitignore | 1 + tests/auto/qxmlquery/MessageSilencer.h | 84 + tests/auto/qxmlquery/MessageValidator.cpp | 102 + tests/auto/qxmlquery/MessageValidator.h | 83 + tests/auto/qxmlquery/NetworkOverrider.h | 98 + tests/auto/qxmlquery/PushBaseliner.h | 149 + tests/auto/qxmlquery/TestFundament.cpp | 91 + tests/auto/qxmlquery/TestFundament.h | 67 + tests/auto/qxmlquery/data/notWellformed.xml | 1 + tests/auto/qxmlquery/data/oneElement.xml | 1 + tests/auto/qxmlquery/input.qrc | 9 + tests/auto/qxmlquery/input.xml | 2 + tests/auto/qxmlquery/pushBaselines/allAtomics.ref | 45 + tests/auto/qxmlquery/pushBaselines/concat.ref | 3 + .../auto/qxmlquery/pushBaselines/emptySequence.ref | 2 + .../auto/qxmlquery/pushBaselines/errorFunction.ref | 1 + .../auto/qxmlquery/pushBaselines/nodeSequence.ref | 81 + tests/auto/qxmlquery/pushBaselines/oneElement.ref | 5 + tests/auto/qxmlquery/pushBaselines/onePlusOne.ref | 3 + .../qxmlquery/pushBaselines/onlyDocumentNode.ref | 4 + .../auto/qxmlquery/pushBaselines/openDocument.ref | 22 + tests/auto/qxmlquery/qxmlquery.pro | 23 + tests/auto/qxmlquery/tst_qxmlquery.cpp | 3230 + tests/auto/qxmlresultitems/.gitignore | 1 + tests/auto/qxmlresultitems/qxmlresultitems.pro | 4 + tests/auto/qxmlresultitems/tst_qxmlresultitems.cpp | 240 + tests/auto/qxmlserializer/.gitignore | 1 + tests/auto/qxmlserializer/qxmlserializer.pro | 4 + tests/auto/qxmlserializer/tst_qxmlserializer.cpp | 198 + tests/auto/qxmlsimplereader/.gitattributes | 8 + tests/auto/qxmlsimplereader/.gitignore | 1 + .../auto/qxmlsimplereader/encodings/doc_euc-jp.xml | 78 + .../encodings/doc_iso-2022-jp.xml.ref | 4 + .../encodings/doc_little-endian.xml | Bin 0 -> 3186 bytes .../auto/qxmlsimplereader/encodings/doc_utf-16.xml | Bin 0 -> 3186 bytes .../auto/qxmlsimplereader/encodings/doc_utf-8.xml | 77 + tests/auto/qxmlsimplereader/generate_ref_files.sh | 3 + tests/auto/qxmlsimplereader/parser/main.cpp | 122 + tests/auto/qxmlsimplereader/parser/parser.cpp | 455 + tests/auto/qxmlsimplereader/parser/parser.h | 64 + tests/auto/qxmlsimplereader/parser/parser.pro | 15 + tests/auto/qxmlsimplereader/qxmlsimplereader.pro | 19 + .../auto/qxmlsimplereader/tst_qxmlsimplereader.cpp | 767 + .../qxmlsimplereader/xmldocs/not-wf/sa/001.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/001.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/002.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/002.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/003.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/003.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/004.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/004.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/005.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/005.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/006.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/006.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/007.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/007.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/008.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/008.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/009.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/009.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/010.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/010.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/011.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/011.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/012.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/012.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/013.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/013.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/014.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/014.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/015.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/015.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/016.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/016.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/017.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/017.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/018.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/018.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/019.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/019.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/020.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/020.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/021.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/021.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/022.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/022.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/023.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/023.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/024.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/024.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/025.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/025.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/026.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/026.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/027.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/027.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/028.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/028.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/029.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/029.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/030.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/030.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/031.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/031.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/032.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/032.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/033.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/033.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/034.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/034.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/035.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/035.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/036.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/036.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/037.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/037.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/038.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/038.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/039.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/039.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/040.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/040.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/041.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/041.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/042.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/042.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/043.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/043.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/044.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/044.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/045.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/045.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/046.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/046.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/047.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/047.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/048.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/048.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/049.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/049.xml.ref | 14 + .../qxmlsimplereader/xmldocs/not-wf/sa/050.xml | 0 .../qxmlsimplereader/xmldocs/not-wf/sa/050.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/051.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/051.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/052.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/052.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/053.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/053.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/054.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/054.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/055.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/055.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/056.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/056.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/057.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/057.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/058.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/058.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/059.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/059.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/060.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/060.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/061.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/061.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/062.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/062.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/063.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/063.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/064.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/064.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/065.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/065.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/066.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/066.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/067.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/067.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/068.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/068.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/069.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/069.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/070.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/070.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/071.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/071.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/072.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/072.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/073.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/073.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/074.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/074.xml.ref | 14 + .../qxmlsimplereader/xmldocs/not-wf/sa/075.xml | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/075.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/076.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/076.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/077.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/077.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/078.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/078.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/079.xml | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/079.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/080.xml | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/080.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/081.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/081.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/082.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/082.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/083.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/083.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/084.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/084.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/085.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/085.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/086.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/086.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/087.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/087.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/088.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/088.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/089.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/089.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/090.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/090.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/091.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/091.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/092.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/092.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/093.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/093.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/094.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/094.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/095.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/095.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/096.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/096.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/097.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/097.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/098.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/098.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/099.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/099.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/100.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/100.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/101.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/101.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/102.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/102.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/103.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/103.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/104.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/104.xml.ref | 10 + .../qxmlsimplereader/xmldocs/not-wf/sa/105.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/105.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/106.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/106.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/107.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/107.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/108.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/108.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/109.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/109.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/110.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/110.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/111.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/111.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/112.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/112.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/113.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/113.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/114.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/114.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/115.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/115.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/116.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/116.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/117.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/117.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/118.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/118.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/119.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/119.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/120.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/120.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/121.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/121.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/122.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/122.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/123.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/123.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/124.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/124.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/125.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/125.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/126.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/126.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/127.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/127.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/128.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/128.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/129.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/129.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/130.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/130.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/131.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/131.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/132.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/132.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/133.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/133.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/134.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/134.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/135.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/135.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/136.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/136.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/137.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/137.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/138.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/138.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/139.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/139.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/140.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/140.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/141.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/141.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/142.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/142.xml.ref | Bin 0 -> 309 bytes .../qxmlsimplereader/xmldocs/not-wf/sa/143.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/143.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/144.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/144.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/145.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/145.xml.ref | 8 + .../qxmlsimplereader/xmldocs/not-wf/sa/146.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/146.xml.ref | Bin 0 -> 309 bytes .../qxmlsimplereader/xmldocs/not-wf/sa/147.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/147.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/148.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/148.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/149.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/149.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/150.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/150.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/151.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/151.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/152.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/152.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/153.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/153.xml.ref | 7 + .../qxmlsimplereader/xmldocs/not-wf/sa/154.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/154.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/155.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/155.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/156.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/156.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/157.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/157.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/158.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/158.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/159.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/159.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/160.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/160.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/161.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/161.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/162.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/162.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/163.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/163.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/164.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/164.xml.ref | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/165.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/165.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/166.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/166.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/167.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/167.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/168.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/168.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/169.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/169.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/170.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/170.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/171.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/171.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/172.xml | 2 + .../qxmlsimplereader/xmldocs/not-wf/sa/172.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/173.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/173.xml.ref | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/174.xml | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/174.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/175.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/175.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/176.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/176.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/177.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/177.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/178.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/178.xml.ref | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/179.xml | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/179.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/180.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/180.xml.ref | 10 + .../qxmlsimplereader/xmldocs/not-wf/sa/181.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/181.xml.ref | 11 + .../qxmlsimplereader/xmldocs/not-wf/sa/182.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/182.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/183.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/183.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/184.xml | 6 + .../qxmlsimplereader/xmldocs/not-wf/sa/184.xml.ref | 4 + .../qxmlsimplereader/xmldocs/not-wf/sa/185.ent | 1 + .../qxmlsimplereader/xmldocs/not-wf/sa/185.xml | 3 + .../qxmlsimplereader/xmldocs/not-wf/sa/185.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/186.xml | 5 + .../qxmlsimplereader/xmldocs/not-wf/sa/186.xml.ref | 9 + .../qxmlsimplereader/xmldocs/not-wf/sa/null.ent | 0 .../qxmlsimplereader/xmldocs/valid/ext-sa/001.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/001.xml | 5 + .../xmldocs/valid/ext-sa/001.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/002.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/002.xml | 5 + .../xmldocs/valid/ext-sa/002.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/003.ent | 0 .../qxmlsimplereader/xmldocs/valid/ext-sa/003.xml | 5 + .../xmldocs/valid/ext-sa/003.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/004.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/004.xml | 5 + .../xmldocs/valid/ext-sa/004.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/005.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/005.xml | 6 + .../xmldocs/valid/ext-sa/005.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/006.ent | 4 + .../qxmlsimplereader/xmldocs/valid/ext-sa/006.xml | 6 + .../xmldocs/valid/ext-sa/006.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/007.ent | Bin 0 -> 4 bytes .../qxmlsimplereader/xmldocs/valid/ext-sa/007.xml | 5 + .../xmldocs/valid/ext-sa/007.xml.ref | 11 + .../qxmlsimplereader/xmldocs/valid/ext-sa/008.ent | Bin 0 -> 54 bytes .../qxmlsimplereader/xmldocs/valid/ext-sa/008.xml | 5 + .../xmldocs/valid/ext-sa/008.xml.ref | 11 + .../qxmlsimplereader/xmldocs/valid/ext-sa/009.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/009.xml | 5 + .../xmldocs/valid/ext-sa/009.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/010.ent | 0 .../qxmlsimplereader/xmldocs/valid/ext-sa/010.xml | 5 + .../xmldocs/valid/ext-sa/010.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/011.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/011.xml | 5 + .../xmldocs/valid/ext-sa/011.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/ext-sa/012.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/012.xml | 9 + .../xmldocs/valid/ext-sa/012.xml.ref | 14 + .../qxmlsimplereader/xmldocs/valid/ext-sa/013.ent | 1 + .../qxmlsimplereader/xmldocs/valid/ext-sa/013.xml | 10 + .../xmldocs/valid/ext-sa/013.xml.ref | 12 + .../qxmlsimplereader/xmldocs/valid/ext-sa/014.ent | Bin 0 -> 12 bytes .../qxmlsimplereader/xmldocs/valid/ext-sa/014.xml | 5 + .../xmldocs/valid/ext-sa/014.xml.ref | 10 + .../xmldocs/valid/ext-sa/undef_entity_1.xml | 13 + .../xmldocs/valid/ext-sa/undef_entity_1.xml.ref | 47 + .../xmldocs/valid/ext-sa/undef_entity_2.xml | 14 + .../xmldocs/valid/ext-sa/undef_entity_2.xml.ref | 47 + .../xmldocs/valid/ext-sa/undef_entity_3.xml | 9 + .../xmldocs/valid/ext-sa/undef_entity_3.xml.ref | 16 + .../qxmlsimplereader/xmldocs/valid/not-sa/001.ent | 0 .../qxmlsimplereader/xmldocs/valid/not-sa/001.xml | 4 + .../xmldocs/valid/not-sa/001.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/002.ent | 1 + .../qxmlsimplereader/xmldocs/valid/not-sa/002.xml | 4 + .../xmldocs/valid/not-sa/002.xml.ref | 7 + .../xmldocs/valid/not-sa/003-1.ent | 3 + .../xmldocs/valid/not-sa/003-2.ent | 0 .../qxmlsimplereader/xmldocs/valid/not-sa/003.xml | 2 + .../xmldocs/valid/not-sa/003.xml.ref | 7 + .../xmldocs/valid/not-sa/004-1.ent | 4 + .../xmldocs/valid/not-sa/004-2.ent | 1 + .../qxmlsimplereader/xmldocs/valid/not-sa/004.xml | 2 + .../xmldocs/valid/not-sa/004.xml.ref | 7 + .../xmldocs/valid/not-sa/005-1.ent | 3 + .../xmldocs/valid/not-sa/005-2.ent | 1 + .../qxmlsimplereader/xmldocs/valid/not-sa/005.xml | 2 + .../xmldocs/valid/not-sa/005.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/006.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/006.xml | 4 + .../xmldocs/valid/not-sa/006.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/007.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/007.xml | 2 + .../xmldocs/valid/not-sa/007.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/008.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/008.xml | 2 + .../xmldocs/valid/not-sa/008.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/009.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/009.xml | 4 + .../xmldocs/valid/not-sa/009.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/010.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/010.xml | 4 + .../xmldocs/valid/not-sa/010.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/011.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/011.xml | 5 + .../xmldocs/valid/not-sa/011.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/not-sa/012.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/012.xml | 5 + .../xmldocs/valid/not-sa/012.xml.ref | 10 + .../qxmlsimplereader/xmldocs/valid/not-sa/013.ent | 4 + .../qxmlsimplereader/xmldocs/valid/not-sa/013.xml | 2 + .../xmldocs/valid/not-sa/013.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/014.ent | 4 + .../qxmlsimplereader/xmldocs/valid/not-sa/014.xml | 4 + .../xmldocs/valid/not-sa/014.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/015.ent | 5 + .../qxmlsimplereader/xmldocs/valid/not-sa/015.xml | 4 + .../xmldocs/valid/not-sa/015.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/016.ent | 4 + .../qxmlsimplereader/xmldocs/valid/not-sa/016.xml | 4 + .../xmldocs/valid/not-sa/016.xml.ref | 8 + .../qxmlsimplereader/xmldocs/valid/not-sa/017.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/017.xml | 2 + .../xmldocs/valid/not-sa/017.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/018.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/018.xml | 2 + .../xmldocs/valid/not-sa/018.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/019.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/019.xml | 2 + .../xmldocs/valid/not-sa/019.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/020.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/020.xml | 2 + .../xmldocs/valid/not-sa/020.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/021.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/021.xml | 2 + .../xmldocs/valid/not-sa/021.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/022.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/022.xml | 2 + .../xmldocs/valid/not-sa/022.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/023.ent | 5 + .../qxmlsimplereader/xmldocs/valid/not-sa/023.xml | 2 + .../xmldocs/valid/not-sa/023.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/024.ent | 4 + .../qxmlsimplereader/xmldocs/valid/not-sa/024.xml | 2 + .../xmldocs/valid/not-sa/024.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/025.ent | 5 + .../qxmlsimplereader/xmldocs/valid/not-sa/025.xml | 2 + .../xmldocs/valid/not-sa/025.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/026.ent | 1 + .../qxmlsimplereader/xmldocs/valid/not-sa/026.xml | 7 + .../xmldocs/valid/not-sa/026.xml.ref | 12 + .../qxmlsimplereader/xmldocs/valid/not-sa/027.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/027.xml | 2 + .../xmldocs/valid/not-sa/027.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/028.ent | 2 + .../qxmlsimplereader/xmldocs/valid/not-sa/028.xml | 2 + .../xmldocs/valid/not-sa/028.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/029.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/029.xml | 2 + .../xmldocs/valid/not-sa/029.xml.ref | 7 + .../qxmlsimplereader/xmldocs/valid/not-sa/030.ent | 3 + .../qxmlsimplereader/xmldocs/valid/not-sa/030.xml | 2 + .../xmldocs/valid/not-sa/030.xml.ref | 7 + .../xmldocs/valid/not-sa/031-1.ent | 3 + .../xmldocs/valid/not-sa/031-2.ent | 1 + .../qxmlsimplereader/xmldocs/valid/not-sa/031.xml | 2 + .../xmldocs/valid/not-sa/031.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/001.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/001.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/002.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/002.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/003.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/003.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/004.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/004.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/005.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/005.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/006.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/006.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/007.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/007.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/008.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/008.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/009.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/009.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/010.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/010.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/011.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/011.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/012.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/012.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/013.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/013.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/014.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/014.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/015.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/015.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/016.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/016.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/017.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/017.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/018.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/018.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/019.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/019.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/020.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/020.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/021.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/021.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/022.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/022.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/023.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/023.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/024.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/024.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/025.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/025.xml.ref | 11 + .../auto/qxmlsimplereader/xmldocs/valid/sa/026.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/026.xml.ref | 11 + .../auto/qxmlsimplereader/xmldocs/valid/sa/027.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/027.xml.ref | 11 + .../auto/qxmlsimplereader/xmldocs/valid/sa/028.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/028.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/029.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/029.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/030.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/030.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/031.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/031.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/032.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/032.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/033.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/033.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/034.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/034.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/035.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/035.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/036.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/036.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/037.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/037.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/038.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/038.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/039.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/039.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/040.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/040.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/041.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/041.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/042.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/042.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/043.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/043.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/044.xml | 10 + .../qxmlsimplereader/xmldocs/valid/sa/044.xml.ref | 20 + .../auto/qxmlsimplereader/xmldocs/valid/sa/045.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/045.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/046.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/046.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/047.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/047.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/048.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/048.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/049.xml | Bin 0 -> 124 bytes .../qxmlsimplereader/xmldocs/valid/sa/049.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/050.xml | Bin 0 -> 132 bytes .../qxmlsimplereader/xmldocs/valid/sa/050.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/051.xml | Bin 0 -> 140 bytes .../qxmlsimplereader/xmldocs/valid/sa/051.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/052.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/052.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/053.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/053.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/054.xml | 10 + .../qxmlsimplereader/xmldocs/valid/sa/054.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/055.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/055.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/056.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/056.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/057.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/057.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/058.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/058.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/059.xml | 10 + .../qxmlsimplereader/xmldocs/valid/sa/059.xml.ref | 20 + .../auto/qxmlsimplereader/xmldocs/valid/sa/060.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/060.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/061.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/061.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/062.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/062.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/063.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/063.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/064.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/064.xml.ref | Bin 0 -> 312 bytes .../auto/qxmlsimplereader/xmldocs/valid/sa/065.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/065.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/066.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/066.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/067.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/067.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/068.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/068.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/069.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/069.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/070.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/070.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/071.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/071.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/072.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/072.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/073.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/073.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/074.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/074.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/075.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/075.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/076.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/076.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/077.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/077.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/078.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/078.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/079.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/079.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/080.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/080.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/081.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/081.xml.ref | 15 + .../auto/qxmlsimplereader/xmldocs/valid/sa/082.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/082.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/083.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/083.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/084.xml | 1 + .../qxmlsimplereader/xmldocs/valid/sa/084.xml.ref | 7 + .../auto/qxmlsimplereader/xmldocs/valid/sa/085.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/085.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/086.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/086.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/087.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/087.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/088.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/088.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/089.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/089.xml.bak | 5 + .../qxmlsimplereader/xmldocs/valid/sa/089.xml.ref | Bin 0 -> 381 bytes .../auto/qxmlsimplereader/xmldocs/valid/sa/090.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/090.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/091.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/091.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/092.xml | 10 + .../qxmlsimplereader/xmldocs/valid/sa/092.xml.ref | 17 + .../auto/qxmlsimplereader/xmldocs/valid/sa/093.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/093.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/094.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/094.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/095.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/095.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/096.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/096.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/097.ent | 1 + .../auto/qxmlsimplereader/xmldocs/valid/sa/097.xml | 8 + .../qxmlsimplereader/xmldocs/valid/sa/097.xml.ref | 12 + .../auto/qxmlsimplereader/xmldocs/valid/sa/098.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/098.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/099.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/099.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/100.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/100.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/101.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/101.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/102.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/102.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/103.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/103.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/104.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/104.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/105.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/105.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/106.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/106.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/107.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/107.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/108.xml | 7 + .../qxmlsimplereader/xmldocs/valid/sa/108.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/109.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/109.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/110.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/110.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/111.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/111.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/112.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/112.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/113.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/113.xml.ref | 8 + .../auto/qxmlsimplereader/xmldocs/valid/sa/114.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/114.xml.ref | 11 + .../auto/qxmlsimplereader/xmldocs/valid/sa/115.xml | 6 + .../qxmlsimplereader/xmldocs/valid/sa/115.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/116.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/116.xml.ref | 10 + .../auto/qxmlsimplereader/xmldocs/valid/sa/117.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/117.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/118.xml | 5 + .../qxmlsimplereader/xmldocs/valid/sa/118.xml.ref | 9 + .../auto/qxmlsimplereader/xmldocs/valid/sa/119.xml | 4 + .../qxmlsimplereader/xmldocs/valid/sa/119.xml.ref | 8 + tests/auto/qxmlstream/.gitattributes | 10 + tests/auto/qxmlstream/.gitignore | 1 + tests/auto/qxmlstream/XML-Test-Suite/CVS/Entries | 2 + .../auto/qxmlstream/XML-Test-Suite/CVS/Repository | 1 + tests/auto/qxmlstream/XML-Test-Suite/CVS/Root | 1 + tests/auto/qxmlstream/XML-Test-Suite/matrix.html | 4597 + .../qxmlstream/XML-Test-Suite/xmlconf/CVS/Entries | 17 + .../XML-Test-Suite/xmlconf/CVS/Repository | 1 + .../qxmlstream/XML-Test-Suite/xmlconf/CVS/Root | 1 + .../qxmlstream/XML-Test-Suite/xmlconf/changes.html | 384 + .../XML-Test-Suite/xmlconf/eduni/CVS/Entries | 4 + .../XML-Test-Suite/xmlconf/eduni/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/eduni/CVS/Root | 1 + .../xmlconf/eduni/errata-2e/CVS/Entries | 46 + .../xmlconf/eduni/errata-2e/CVS/Repository | 1 + .../xmlconf/eduni/errata-2e/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E14.dtd | 3 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E14.xml | 2 + .../xmlconf/eduni/errata-2e/E15a.xml | 6 + .../xmlconf/eduni/errata-2e/E15b.xml | 4 + .../xmlconf/eduni/errata-2e/E15c.xml | 4 + .../xmlconf/eduni/errata-2e/E15d.xml | 4 + .../xmlconf/eduni/errata-2e/E15e.xml | 5 + .../xmlconf/eduni/errata-2e/E15f.xml | 5 + .../xmlconf/eduni/errata-2e/E15g.xml | 4 + .../xmlconf/eduni/errata-2e/E15h.xml | 5 + .../xmlconf/eduni/errata-2e/E15i.xml | 4 + .../xmlconf/eduni/errata-2e/E15j.xml | 4 + .../xmlconf/eduni/errata-2e/E15k.xml | 4 + .../xmlconf/eduni/errata-2e/E15l.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E18-ent | 1 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E18.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E19.dtd | 6 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E19.xml | 2 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E20.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E22.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E24.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E27.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E29.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E2a.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E2b.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E34.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E36.dtd | 2 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E36.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E38.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E38.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E41.xml | 5 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E48.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E50.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E55.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E57.xml | 1 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E60.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E60.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E61.xml | 2 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E9a.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-2e/E9b.xml | 7 + .../xmlconf/eduni/errata-2e/errata2e.xml | 222 + .../xmlconf/eduni/errata-2e/out/CVS/Entries | 4 + .../xmlconf/eduni/errata-2e/out/CVS/Repository | 1 + .../xmlconf/eduni/errata-2e/out/CVS/Root | 1 + .../xmlconf/eduni/errata-2e/out/E18.xml | 1 + .../xmlconf/eduni/errata-2e/out/E19.xml | 1 + .../xmlconf/eduni/errata-2e/out/E24.xml | 1 + .../xmlconf/eduni/errata-2e/subdir1/CVS/Entries | 3 + .../xmlconf/eduni/errata-2e/subdir1/CVS/Repository | 1 + .../xmlconf/eduni/errata-2e/subdir1/CVS/Root | 1 + .../xmlconf/eduni/errata-2e/subdir1/E18-ent | 1 + .../xmlconf/eduni/errata-2e/subdir1/E18-pe | 2 + .../xmlconf/eduni/errata-2e/subdir2/CVS/Entries | 3 + .../xmlconf/eduni/errata-2e/subdir2/CVS/Repository | 1 + .../xmlconf/eduni/errata-2e/subdir2/CVS/Root | 1 + .../xmlconf/eduni/errata-2e/subdir2/E18-ent | 1 + .../xmlconf/eduni/errata-2e/subdir2/E18-extpe | 1 + .../xmlconf/eduni/errata-2e/testcases.dtd | 103 + .../xmlconf/eduni/errata-2e/xmlconf.xml | 16 + .../xmlconf/eduni/errata-3e/CVS/Entries | 17 + .../xmlconf/eduni/errata-3e/CVS/Repository | 1 + .../xmlconf/eduni/errata-3e/CVS/Root | 1 + .../xmlconf/eduni/errata-3e/E05a.xml | 5 + .../xmlconf/eduni/errata-3e/E05b.xml | 9 + .../xmlconf/eduni/errata-3e/E06a.xml | 7 + .../xmlconf/eduni/errata-3e/E06b.xml | 8 + .../xmlconf/eduni/errata-3e/E06c.xml | 7 + .../xmlconf/eduni/errata-3e/E06d.xml | 8 + .../xmlconf/eduni/errata-3e/E06e.xml | 6 + .../xmlconf/eduni/errata-3e/E06f.xml | 6 + .../xmlconf/eduni/errata-3e/E06g.xml | 8 + .../xmlconf/eduni/errata-3e/E06h.xml | 6 + .../xmlconf/eduni/errata-3e/E06i.xml | 12 + .../XML-Test-Suite/xmlconf/eduni/errata-3e/E12.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/errata-3e/E13.xml | 7 + .../xmlconf/eduni/errata-3e/errata3e.xml | 67 + .../xmlconf/eduni/errata-3e/testcases.dtd | 103 + .../xmlconf/eduni/errata-3e/xmlconf.xml | 16 + .../xmlconf/eduni/namespaces/1.0/001.xml | 7 + .../xmlconf/eduni/namespaces/1.0/002.xml | 8 + .../xmlconf/eduni/namespaces/1.0/003.xml | 7 + .../xmlconf/eduni/namespaces/1.0/004.xml | 7 + .../xmlconf/eduni/namespaces/1.0/005.xml | 7 + .../xmlconf/eduni/namespaces/1.0/006.xml | 7 + .../xmlconf/eduni/namespaces/1.0/007.xml | 20 + .../xmlconf/eduni/namespaces/1.0/008.xml | 20 + .../xmlconf/eduni/namespaces/1.0/009.xml | 19 + .../xmlconf/eduni/namespaces/1.0/010.xml | 19 + .../xmlconf/eduni/namespaces/1.0/011.xml | 20 + .../xmlconf/eduni/namespaces/1.0/012.xml | 19 + .../xmlconf/eduni/namespaces/1.0/013.xml | 5 + .../xmlconf/eduni/namespaces/1.0/014.xml | 3 + .../xmlconf/eduni/namespaces/1.0/015.xml | 3 + .../xmlconf/eduni/namespaces/1.0/016.xml | 3 + .../xmlconf/eduni/namespaces/1.0/017.xml | 3 + .../xmlconf/eduni/namespaces/1.0/018.xml | 3 + .../xmlconf/eduni/namespaces/1.0/019.xml | 3 + .../xmlconf/eduni/namespaces/1.0/020.xml | 3 + .../xmlconf/eduni/namespaces/1.0/021.xml | 6 + .../xmlconf/eduni/namespaces/1.0/022.xml | 6 + .../xmlconf/eduni/namespaces/1.0/023.xml | 6 + .../xmlconf/eduni/namespaces/1.0/024.xml | 6 + .../xmlconf/eduni/namespaces/1.0/025.xml | 3 + .../xmlconf/eduni/namespaces/1.0/026.xml | 3 + .../xmlconf/eduni/namespaces/1.0/027.xml | 3 + .../xmlconf/eduni/namespaces/1.0/028.xml | 3 + .../xmlconf/eduni/namespaces/1.0/029.xml | 4 + .../xmlconf/eduni/namespaces/1.0/030.xml | 4 + .../xmlconf/eduni/namespaces/1.0/031.xml | 4 + .../xmlconf/eduni/namespaces/1.0/032.xml | 5 + .../xmlconf/eduni/namespaces/1.0/033.xml | 4 + .../xmlconf/eduni/namespaces/1.0/034.xml | 3 + .../xmlconf/eduni/namespaces/1.0/035.xml | 8 + .../xmlconf/eduni/namespaces/1.0/036.xml | 8 + .../xmlconf/eduni/namespaces/1.0/037.xml | 8 + .../xmlconf/eduni/namespaces/1.0/038.xml | 8 + .../xmlconf/eduni/namespaces/1.0/039.xml | 10 + .../xmlconf/eduni/namespaces/1.0/040.xml | 9 + .../xmlconf/eduni/namespaces/1.0/041.xml | 8 + .../xmlconf/eduni/namespaces/1.0/042.xml | 4 + .../xmlconf/eduni/namespaces/1.0/043.xml | 7 + .../xmlconf/eduni/namespaces/1.0/044.xml | 7 + .../xmlconf/eduni/namespaces/1.0/045.xml | 7 + .../xmlconf/eduni/namespaces/1.0/046.xml | 10 + .../xmlconf/eduni/namespaces/1.0/CVS/Entries | 48 + .../xmlconf/eduni/namespaces/1.0/CVS/Repository | 1 + .../xmlconf/eduni/namespaces/1.0/CVS/Root | 1 + .../xmlconf/eduni/namespaces/1.0/rmt-ns10.xml | 151 + .../xmlconf/eduni/namespaces/1.1/001.xml | 7 + .../xmlconf/eduni/namespaces/1.1/002.xml | 20 + .../xmlconf/eduni/namespaces/1.1/003.xml | 5 + .../xmlconf/eduni/namespaces/1.1/004.xml | 7 + .../xmlconf/eduni/namespaces/1.1/005.xml | 5 + .../xmlconf/eduni/namespaces/1.1/006.xml | 20 + .../xmlconf/eduni/namespaces/1.1/CVS/Entries | 8 + .../xmlconf/eduni/namespaces/1.1/CVS/Repository | 1 + .../xmlconf/eduni/namespaces/1.1/CVS/Root | 1 + .../xmlconf/eduni/namespaces/1.1/rmt-ns11.xml | 23 + .../xmlconf/eduni/namespaces/CVS/Entries | 3 + .../xmlconf/eduni/namespaces/CVS/Entries.Log | 3 + .../xmlconf/eduni/namespaces/CVS/Repository | 1 + .../xmlconf/eduni/namespaces/CVS/Root | 1 + .../xmlconf/eduni/namespaces/errata-1e/CVS/Entries | 7 + .../eduni/namespaces/errata-1e/CVS/Repository | 1 + .../xmlconf/eduni/namespaces/errata-1e/CVS/Root | 1 + .../xmlconf/eduni/namespaces/errata-1e/NE13a.xml | 7 + .../xmlconf/eduni/namespaces/errata-1e/NE13b.xml | 7 + .../xmlconf/eduni/namespaces/errata-1e/NE13c.xml | 6 + .../eduni/namespaces/errata-1e/errata1e.xml | 18 + .../eduni/namespaces/errata-1e/testcases.dtd | 103 + .../xmlconf/eduni/namespaces/errata-1e/xmlconf.xml | 16 + .../xmlconf/eduni/namespaces/testcases.dtd | 103 + .../xmlconf/eduni/namespaces/xmlconf.xml | 20 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/001.dtd | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/001.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/002.pe | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/002.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/003.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/003.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/004.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/004.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/005.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/005_1.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/005_2.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/006.xml | 9 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/006_1.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/006_2.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/007.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/008.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/009.ent | 2 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/009.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/010.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/011.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/012.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/013.xml | 6 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/014.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/015.xml | 3 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/016.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/017.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/018.xml | 3 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/019.xml | 3 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/020.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/021.xml | 4 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/022.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/023.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/024.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/025.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/026.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/027.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/028.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/029.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/030.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/031.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/032.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/033.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/034.xml | 10 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/035.xml | 10 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/036.xml | 11 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/037.xml | 11 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/038.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/039.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/040.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/041.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/042.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/043.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/044.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/045.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/046.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/047.xml | 7 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/048.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/049.xml | 8 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/050.xml | 9 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/051.xml | 9 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/052.xml | 10 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/053.xml | 10 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/054.xml | 12 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/055.xml | 3 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/056.xml | 3 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/057.xml | 3 + .../xmlconf/eduni/xml-1.1/CVS/Entries | 70 + .../xmlconf/eduni/xml-1.1/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/CVS/Root | 1 + .../xmlconf/eduni/xml-1.1/out/006.xml | 1 + .../xmlconf/eduni/xml-1.1/out/007.xml | 1 + .../xmlconf/eduni/xml-1.1/out/010.xml | 1 + .../xmlconf/eduni/xml-1.1/out/012.xml | 1 + .../xmlconf/eduni/xml-1.1/out/015.xml | 1 + .../xmlconf/eduni/xml-1.1/out/017.xml | 1 + .../xmlconf/eduni/xml-1.1/out/018.xml | 1 + .../xmlconf/eduni/xml-1.1/out/022.xml | 1 + .../xmlconf/eduni/xml-1.1/out/023.xml | 1 + .../xmlconf/eduni/xml-1.1/out/024.xml | 1 + .../xmlconf/eduni/xml-1.1/out/025.xml | 1 + .../xmlconf/eduni/xml-1.1/out/026.xml | 1 + .../xmlconf/eduni/xml-1.1/out/027.xml | 1 + .../xmlconf/eduni/xml-1.1/out/028.xml | 1 + .../xmlconf/eduni/xml-1.1/out/029.xml | 1 + .../xmlconf/eduni/xml-1.1/out/030.xml | 1 + .../xmlconf/eduni/xml-1.1/out/031.xml | 1 + .../xmlconf/eduni/xml-1.1/out/032.xml | 1 + .../xmlconf/eduni/xml-1.1/out/033.xml | 1 + .../xmlconf/eduni/xml-1.1/out/034.xml | 1 + .../xmlconf/eduni/xml-1.1/out/035.xml | 1 + .../xmlconf/eduni/xml-1.1/out/036.xml | 1 + .../xmlconf/eduni/xml-1.1/out/037.xml | 1 + .../xmlconf/eduni/xml-1.1/out/040.xml | 1 + .../xmlconf/eduni/xml-1.1/out/043.xml | 1 + .../xmlconf/eduni/xml-1.1/out/044.xml | 1 + .../xmlconf/eduni/xml-1.1/out/045.xml | 1 + .../xmlconf/eduni/xml-1.1/out/046.xml | 1 + .../xmlconf/eduni/xml-1.1/out/047.xml | 1 + .../xmlconf/eduni/xml-1.1/out/048.xml | 1 + .../xmlconf/eduni/xml-1.1/out/049.xml | 1 + .../xmlconf/eduni/xml-1.1/out/050.xml | 1 + .../xmlconf/eduni/xml-1.1/out/051.xml | 1 + .../xmlconf/eduni/xml-1.1/out/052.xml | 1 + .../xmlconf/eduni/xml-1.1/out/053.xml | 1 + .../xmlconf/eduni/xml-1.1/out/054.xml | 1 + .../xmlconf/eduni/xml-1.1/out/CVS/Entries | 37 + .../xmlconf/eduni/xml-1.1/out/CVS/Repository | 1 + .../xmlconf/eduni/xml-1.1/out/CVS/Root | 1 + .../xmlconf/eduni/xml-1.1/testcases.dtd | 103 + .../XML-Test-Suite/xmlconf/eduni/xml-1.1/xml11.xml | 286 + .../xmlconf/eduni/xml-1.1/xmlconf.xml | 16 + .../XML-Test-Suite/xmlconf/files/CVS/Entries | 4 + .../XML-Test-Suite/xmlconf/files/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/files/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/files/a_oasis-logo.gif | Bin 0 -> 9383 bytes .../XML-Test-Suite/xmlconf/files/committee.css | 63 + .../XML-Test-Suite/xmlconf/files/top3.jpe | Bin 0 -> 22775 bytes .../XML-Test-Suite/xmlconf/finalCatalog.xml | 8741 ++ .../XML-Test-Suite/xmlconf/ibm/CVS/Entries | 8 + .../XML-Test-Suite/xmlconf/ibm/CVS/Repository | 1 + .../qxmlstream/XML-Test-Suite/xmlconf/ibm/CVS/Root | 1 + .../xmlconf/ibm/ibm_oasis_invalid.xml | 283 + .../xmlconf/ibm/ibm_oasis_not-wf.xml | 3125 + .../xmlconf/ibm/ibm_oasis_readme.txt | 43 + .../XML-Test-Suite/xmlconf/ibm/ibm_oasis_valid.xml | 743 + .../XML-Test-Suite/xmlconf/ibm/invalid/CVS/Entries | 15 + .../xmlconf/ibm/invalid/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/invalid/CVS/Root | 1 + .../xmlconf/ibm/invalid/P28/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P28/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P28/CVS/Root | 1 + .../xmlconf/ibm/invalid/P28/ibm28i01.xml | 7 + .../xmlconf/ibm/invalid/P28/out/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P28/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P28/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P28/out/ibm28i01.xml | 1 + .../xmlconf/ibm/invalid/P32/CVS/Entries | 7 + .../xmlconf/ibm/invalid/P32/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P32/CVS/Root | 1 + .../xmlconf/ibm/invalid/P32/ibm32i01.dtd | 1 + .../xmlconf/ibm/invalid/P32/ibm32i01.xml | 10 + .../xmlconf/ibm/invalid/P32/ibm32i03.dtd | 1 + .../xmlconf/ibm/invalid/P32/ibm32i03.xml | 13 + .../xmlconf/ibm/invalid/P32/ibm32i04.dtd | 4 + .../xmlconf/ibm/invalid/P32/ibm32i04.xml | 15 + .../xmlconf/ibm/invalid/P32/out/CVS/Entries | 4 + .../xmlconf/ibm/invalid/P32/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P32/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P32/out/ibm32i01.xml | 1 + .../xmlconf/ibm/invalid/P32/out/ibm32i03.xml | 1 + .../xmlconf/ibm/invalid/P32/out/ibm32i04.xml | 1 + .../xmlconf/ibm/invalid/P39/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P39/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P39/CVS/Root | 1 + .../xmlconf/ibm/invalid/P39/ibm39i01.xml | 14 + .../xmlconf/ibm/invalid/P39/ibm39i02.xml | 16 + .../xmlconf/ibm/invalid/P39/ibm39i03.xml | 15 + .../xmlconf/ibm/invalid/P39/ibm39i04.xml | 17 + .../xmlconf/ibm/invalid/P39/out/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P39/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P39/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P39/out/ibm39i01.xml | 1 + .../xmlconf/ibm/invalid/P39/out/ibm39i02.xml | 1 + .../xmlconf/ibm/invalid/P39/out/ibm39i03.xml | 1 + .../xmlconf/ibm/invalid/P39/out/ibm39i04.xml | 1 + .../xmlconf/ibm/invalid/P41/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P41/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P41/CVS/Root | 1 + .../xmlconf/ibm/invalid/P41/ibm41i01.xml | 11 + .../xmlconf/ibm/invalid/P41/ibm41i02.xml | 12 + .../xmlconf/ibm/invalid/P41/out/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P41/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P41/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P41/out/ibm41i01.xml | 1 + .../xmlconf/ibm/invalid/P41/out/ibm41i02.xml | 1 + .../xmlconf/ibm/invalid/P45/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P45/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P45/CVS/Root | 1 + .../xmlconf/ibm/invalid/P45/ibm45i01.xml | 19 + .../xmlconf/ibm/invalid/P45/out/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P45/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P45/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P45/out/ibm45i01.xml | 1 + .../xmlconf/ibm/invalid/P49/CVS/Entries | 4 + .../xmlconf/ibm/invalid/P49/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P49/CVS/Root | 1 + .../xmlconf/ibm/invalid/P49/ibm49i01.dtd | 11 + .../xmlconf/ibm/invalid/P49/ibm49i01.xml | 9 + .../xmlconf/ibm/invalid/P49/ibm49i02.xml | 9 + .../xmlconf/ibm/invalid/P49/out/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P49/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P49/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P49/out/ibm49i01.xml | 1 + .../xmlconf/ibm/invalid/P49/out/ibm49i02.xml | 0 .../xmlconf/ibm/invalid/P50/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P50/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P50/CVS/Root | 1 + .../xmlconf/ibm/invalid/P50/ibm50i01.dtd | 10 + .../xmlconf/ibm/invalid/P50/ibm50i01.xml | 9 + .../xmlconf/ibm/invalid/P50/out/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P50/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P50/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P50/out/ibm50i01.xml | 1 + .../xmlconf/ibm/invalid/P51/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P51/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P51/CVS/Root | 1 + .../xmlconf/ibm/invalid/P51/ibm51i01.dtd | 16 + .../xmlconf/ibm/invalid/P51/ibm51i01.xml | 9 + .../xmlconf/ibm/invalid/P51/ibm51i03.dtd | 5 + .../xmlconf/ibm/invalid/P51/ibm51i03.xml | 15 + .../xmlconf/ibm/invalid/P51/out/CVS/Entries | 4 + .../xmlconf/ibm/invalid/P51/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P51/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P51/out/ibm51i01.xml | 1 + .../xmlconf/ibm/invalid/P51/out/ibm51i02.xml | 1 + .../xmlconf/ibm/invalid/P51/out/ibm51i03.xml | 1 + .../xmlconf/ibm/invalid/P56/CVS/Entries | 18 + .../xmlconf/ibm/invalid/P56/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P56/CVS/Root | 1 + .../xmlconf/ibm/invalid/P56/ibm56i01.xml | 11 + .../xmlconf/ibm/invalid/P56/ibm56i02.xml | 14 + .../xmlconf/ibm/invalid/P56/ibm56i03.xml | 11 + .../xmlconf/ibm/invalid/P56/ibm56i05.xml | 11 + .../xmlconf/ibm/invalid/P56/ibm56i06.xml | 15 + .../xmlconf/ibm/invalid/P56/ibm56i07.xml | 16 + .../xmlconf/ibm/invalid/P56/ibm56i08.xml | 18 + .../xmlconf/ibm/invalid/P56/ibm56i09.xml | 19 + .../xmlconf/ibm/invalid/P56/ibm56i10.xml | 21 + .../xmlconf/ibm/invalid/P56/ibm56i11.xml | 13 + .../xmlconf/ibm/invalid/P56/ibm56i12.xml | 14 + .../xmlconf/ibm/invalid/P56/ibm56i13.xml | 14 + .../xmlconf/ibm/invalid/P56/ibm56i14.xml | 14 + .../xmlconf/ibm/invalid/P56/ibm56i15.xml | 15 + .../xmlconf/ibm/invalid/P56/ibm56i16.xml | 15 + .../xmlconf/ibm/invalid/P56/ibm56i17.xml | 12 + .../xmlconf/ibm/invalid/P56/ibm56i18.xml | 12 + .../xmlconf/ibm/invalid/P56/out/CVS/Entries | 18 + .../xmlconf/ibm/invalid/P56/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P56/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i01.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i02.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i03.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i05.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i06.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i07.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i08.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i09.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i10.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i11.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i12.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i13.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i14.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i15.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i16.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i17.xml | 1 + .../xmlconf/ibm/invalid/P56/out/ibm56i18.xml | 1 + .../xmlconf/ibm/invalid/P58/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P58/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P58/CVS/Root | 1 + .../xmlconf/ibm/invalid/P58/ibm58i01.xml | 16 + .../xmlconf/ibm/invalid/P58/ibm58i02.xml | 15 + .../xmlconf/ibm/invalid/P58/out/CVS/Entries | 3 + .../xmlconf/ibm/invalid/P58/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P58/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P58/out/ibm58i01.xml | 6 + .../xmlconf/ibm/invalid/P58/out/ibm58i02.xml | 5 + .../xmlconf/ibm/invalid/P59/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P59/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P59/CVS/Root | 1 + .../xmlconf/ibm/invalid/P59/ibm59i01.xml | 15 + .../xmlconf/ibm/invalid/P59/out/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P59/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P59/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P59/out/ibm59i01.xml | 1 + .../xmlconf/ibm/invalid/P60/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P60/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P60/CVS/Root | 1 + .../xmlconf/ibm/invalid/P60/ibm60i01.xml | 17 + .../xmlconf/ibm/invalid/P60/ibm60i02.xml | 15 + .../xmlconf/ibm/invalid/P60/ibm60i03.xml | 21 + .../xmlconf/ibm/invalid/P60/ibm60i04.xml | 13 + .../xmlconf/ibm/invalid/P60/out/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P60/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P60/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P60/out/ibm60i01.xml | 1 + .../xmlconf/ibm/invalid/P60/out/ibm60i02.xml | 1 + .../xmlconf/ibm/invalid/P60/out/ibm60i03.xml | 1 + .../xmlconf/ibm/invalid/P60/out/ibm60i04.xml | 1 + .../xmlconf/ibm/invalid/P68/CVS/Entries | 9 + .../xmlconf/ibm/invalid/P68/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P68/CVS/Root | 1 + .../xmlconf/ibm/invalid/P68/ibm68i01.dtd | 4 + .../xmlconf/ibm/invalid/P68/ibm68i01.xml | 10 + .../xmlconf/ibm/invalid/P68/ibm68i02.dtd | 4 + .../xmlconf/ibm/invalid/P68/ibm68i02.xml | 10 + .../xmlconf/ibm/invalid/P68/ibm68i03.ent | 4 + .../xmlconf/ibm/invalid/P68/ibm68i03.xml | 10 + .../xmlconf/ibm/invalid/P68/ibm68i04.ent | 4 + .../xmlconf/ibm/invalid/P68/ibm68i04.xml | 10 + .../xmlconf/ibm/invalid/P68/out/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P68/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P68/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P68/out/ibm68i01.xml | 1 + .../xmlconf/ibm/invalid/P68/out/ibm68i02.xml | 1 + .../xmlconf/ibm/invalid/P68/out/ibm68i03.xml | 1 + .../xmlconf/ibm/invalid/P68/out/ibm68i04.xml | 1 + .../xmlconf/ibm/invalid/P69/CVS/Entries | 9 + .../xmlconf/ibm/invalid/P69/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P69/CVS/Root | 1 + .../xmlconf/ibm/invalid/P69/ibm69i01.dtd | 6 + .../xmlconf/ibm/invalid/P69/ibm69i01.xml | 10 + .../xmlconf/ibm/invalid/P69/ibm69i02.dtd | 6 + .../xmlconf/ibm/invalid/P69/ibm69i02.xml | 10 + .../xmlconf/ibm/invalid/P69/ibm69i03.ent | 7 + .../xmlconf/ibm/invalid/P69/ibm69i03.xml | 10 + .../xmlconf/ibm/invalid/P69/ibm69i04.ent | 8 + .../xmlconf/ibm/invalid/P69/ibm69i04.xml | 10 + .../xmlconf/ibm/invalid/P69/out/CVS/Entries | 5 + .../xmlconf/ibm/invalid/P69/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P69/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P69/out/ibm69i01.xml | 1 + .../xmlconf/ibm/invalid/P69/out/ibm69i02.xml | 1 + .../xmlconf/ibm/invalid/P69/out/ibm69i03.xml | 1 + .../xmlconf/ibm/invalid/P69/out/ibm69i04.xml | 1 + .../xmlconf/ibm/invalid/P76/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P76/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P76/CVS/Root | 1 + .../xmlconf/ibm/invalid/P76/ibm76i01.xml | 16 + .../xmlconf/ibm/invalid/P76/out/CVS/Entries | 2 + .../xmlconf/ibm/invalid/P76/out/CVS/Repository | 1 + .../xmlconf/ibm/invalid/P76/out/CVS/Root | 1 + .../xmlconf/ibm/invalid/P76/out/ibm76i01.xml | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/CVS/Entries | 79 + .../xmlconf/ibm/not-wf/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P01/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P01/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P01/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P01/ibm01n01.xml | 5 + .../xmlconf/ibm/not-wf/P01/ibm01n02.xml | 5 + .../xmlconf/ibm/not-wf/P01/ibm01n03.xml | 9 + .../xmlconf/ibm/not-wf/P02/CVS/Entries | 34 + .../xmlconf/ibm/not-wf/P02/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P02/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P02/ibm02n01.xml | Bin 0 -> 91 bytes .../xmlconf/ibm/not-wf/P02/ibm02n02.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n03.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n04.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n05.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n06.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n07.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n08.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n09.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n10.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n11.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n12.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n13.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n14.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n15.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n16.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n17.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n18.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n19.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n20.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n21.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n22.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n23.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n24.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n25.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n26.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n27.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n28.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n29.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n30.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n31.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n32.xml | 6 + .../xmlconf/ibm/not-wf/P02/ibm02n33.xml | 6 + .../xmlconf/ibm/not-wf/P03/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P03/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P03/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P03/ibm03n01.xml | 6 + .../xmlconf/ibm/not-wf/P04/CVS/Entries | 19 + .../xmlconf/ibm/not-wf/P04/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P04/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P04/ibm04n01.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n02.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n03.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n04.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n05.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n06.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n07.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n08.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n09.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n10.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n11.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n12.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n13.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n14.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n15.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n16.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n17.xml | 5 + .../xmlconf/ibm/not-wf/P04/ibm04n18.xml | 5 + .../xmlconf/ibm/not-wf/P05/CVS/Entries | 6 + .../xmlconf/ibm/not-wf/P05/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P05/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P05/ibm05n01.xml | 4 + .../xmlconf/ibm/not-wf/P05/ibm05n02.xml | 4 + .../xmlconf/ibm/not-wf/P05/ibm05n03.xml | 4 + .../xmlconf/ibm/not-wf/P05/ibm05n04.xml | 5 + .../xmlconf/ibm/not-wf/P05/ibm05n05.xml | 5 + .../xmlconf/ibm/not-wf/P09/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P09/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P09/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P09/ibm09n01.xml | 21 + .../xmlconf/ibm/not-wf/P09/ibm09n02.xml | 8 + .../xmlconf/ibm/not-wf/P09/ibm09n03.xml | 8 + .../xmlconf/ibm/not-wf/P09/ibm09n04.xml | 8 + .../xmlconf/ibm/not-wf/P10/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P10/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P10/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P10/ibm10n01.xml | 19 + .../xmlconf/ibm/not-wf/P10/ibm10n02.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n03.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n04.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n05.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n06.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n07.xml | 14 + .../xmlconf/ibm/not-wf/P10/ibm10n08.xml | 14 + .../xmlconf/ibm/not-wf/P11/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P11/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P11/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P11/ibm11n01.xml | 18 + .../xmlconf/ibm/not-wf/P11/ibm11n02.xml | 7 + .../xmlconf/ibm/not-wf/P11/ibm11n03.xml | 7 + .../xmlconf/ibm/not-wf/P11/ibm11n04.xml | 7 + .../xmlconf/ibm/not-wf/P12/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P12/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P12/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P12/ibm12n01.xml | 18 + .../xmlconf/ibm/not-wf/P12/ibm12n02.xml | 8 + .../xmlconf/ibm/not-wf/P12/ibm12n03.xml | 8 + .../xmlconf/ibm/not-wf/P13/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P13/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P13/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P13/ibm13n01.xml | 12 + .../xmlconf/ibm/not-wf/P13/ibm13n02.xml | 7 + .../xmlconf/ibm/not-wf/P13/ibm13n03.xml | 8 + .../xmlconf/ibm/not-wf/P13/student.dtd | 3 + .../xmlconf/ibm/not-wf/P14/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P14/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P14/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P14/ibm14n01.xml | 11 + .../xmlconf/ibm/not-wf/P14/ibm14n02.xml | 9 + .../xmlconf/ibm/not-wf/P14/ibm14n03.xml | 9 + .../xmlconf/ibm/not-wf/P15/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P15/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P15/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P15/ibm15n01.xml | 15 + .../xmlconf/ibm/not-wf/P15/ibm15n02.xml | 8 + .../xmlconf/ibm/not-wf/P15/ibm15n03.xml | 8 + .../xmlconf/ibm/not-wf/P15/ibm15n04.xml | 8 + .../xmlconf/ibm/not-wf/P16/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P16/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P16/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P16/ibm16n01.xml | 10 + .../xmlconf/ibm/not-wf/P16/ibm16n02.xml | 9 + .../xmlconf/ibm/not-wf/P16/ibm16n03.xml | 9 + .../xmlconf/ibm/not-wf/P16/ibm16n04.xml | 9 + .../xmlconf/ibm/not-wf/P17/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P17/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P17/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P17/ibm17n01.xml | 11 + .../xmlconf/ibm/not-wf/P17/ibm17n02.xml | 8 + .../xmlconf/ibm/not-wf/P17/ibm17n03.xml | 8 + .../xmlconf/ibm/not-wf/P17/ibm17n04.xml | 8 + .../xmlconf/ibm/not-wf/P18/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P18/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P18/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P18/ibm18n01.xml | 9 + .../xmlconf/ibm/not-wf/P18/ibm18n02.xml | 7 + .../xmlconf/ibm/not-wf/P19/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P19/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P19/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P19/ibm19n01.xml | 8 + .../xmlconf/ibm/not-wf/P19/ibm19n02.xml | 10 + .../xmlconf/ibm/not-wf/P19/ibm19n03.xml | 8 + .../xmlconf/ibm/not-wf/P20/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P20/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P20/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P20/ibm20n01.xml | 8 + .../xmlconf/ibm/not-wf/P21/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P21/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P21/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P21/ibm21n01.xml | 10 + .../xmlconf/ibm/not-wf/P21/ibm21n02.xml | 8 + .../xmlconf/ibm/not-wf/P21/ibm21n03.xml | 8 + .../xmlconf/ibm/not-wf/P22/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P22/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P22/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P22/ibm22n01.xml | 6 + .../xmlconf/ibm/not-wf/P22/ibm22n02.xml | 6 + .../xmlconf/ibm/not-wf/P22/ibm22n03.xml | 7 + .../xmlconf/ibm/not-wf/P23/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P23/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P23/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P23/ibm23n01.xml | 6 + .../xmlconf/ibm/not-wf/P23/ibm23n02.xml | 6 + .../xmlconf/ibm/not-wf/P23/ibm23n03.xml | 6 + .../xmlconf/ibm/not-wf/P23/ibm23n04.xml | 6 + .../xmlconf/ibm/not-wf/P23/ibm23n05.xml | 6 + .../xmlconf/ibm/not-wf/P23/ibm23n06.xml | 6 + .../xmlconf/ibm/not-wf/P24/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P24/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P24/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P24/ibm24n01.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n02.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n03.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n04.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n05.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n06.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n07.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n08.xml | 6 + .../xmlconf/ibm/not-wf/P24/ibm24n09.xml | 6 + .../xmlconf/ibm/not-wf/P25/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P25/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P25/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P25/ibm25n01.xml | 6 + .../xmlconf/ibm/not-wf/P25/ibm25n02.xml | 6 + .../xmlconf/ibm/not-wf/P26/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P26/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P26/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P26/ibm26n01.xml | 6 + .../xmlconf/ibm/not-wf/P27/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P27/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P27/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P27/ibm27n01.xml | 6 + .../xmlconf/ibm/not-wf/P28/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P28/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P28/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P28/ibm28n01.dtd | 1 + .../xmlconf/ibm/not-wf/P28/ibm28n01.xml | 4 + .../xmlconf/ibm/not-wf/P28/ibm28n02.xml | 6 + .../xmlconf/ibm/not-wf/P28/ibm28n03.xml | 6 + .../xmlconf/ibm/not-wf/P28/ibm28n04.xml | 11 + .../xmlconf/ibm/not-wf/P28/ibm28n05.xml | 6 + .../xmlconf/ibm/not-wf/P28/ibm28n06.xml | 6 + .../xmlconf/ibm/not-wf/P28/ibm28n07.xml | 6 + .../xmlconf/ibm/not-wf/P28/ibm28n08.xml | 6 + .../xmlconf/ibm/not-wf/P29/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P29/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P29/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P29/cat.txt | 1 + .../xmlconf/ibm/not-wf/P29/ibm29n01.xml | 20 + .../xmlconf/ibm/not-wf/P29/ibm29n02.xml | 8 + .../xmlconf/ibm/not-wf/P29/ibm29n03.xml | 8 + .../xmlconf/ibm/not-wf/P29/ibm29n04.xml | 8 + .../xmlconf/ibm/not-wf/P29/ibm29n05.xml | 8 + .../xmlconf/ibm/not-wf/P29/ibm29n06.xml | 8 + .../xmlconf/ibm/not-wf/P29/ibm29n07.xml | 8 + .../xmlconf/ibm/not-wf/P30/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P30/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P30/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P30/ibm30n01.dtd | 3 + .../xmlconf/ibm/not-wf/P30/ibm30n01.xml | 3 + .../xmlconf/ibm/not-wf/P31/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P31/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P31/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P31/ibm31n01.dtd | 5 + .../xmlconf/ibm/not-wf/P31/ibm31n01.xml | 3 + .../xmlconf/ibm/not-wf/P32/CVS/Entries | 12 + .../xmlconf/ibm/not-wf/P32/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P32/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P32/ibm32n01.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n02.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n03.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n04.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n05.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n06.dtd | 1 + .../xmlconf/ibm/not-wf/P32/ibm32n06.xml | 4 + .../xmlconf/ibm/not-wf/P32/ibm32n07.xml | 4 + .../xmlconf/ibm/not-wf/P32/ibm32n08.xml | 6 + .../xmlconf/ibm/not-wf/P32/ibm32n09.dtd | 1 + .../xmlconf/ibm/not-wf/P32/ibm32n09.xml | 9 + .../xmlconf/ibm/not-wf/P39/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P39/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P39/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P39/ibm39n01.xml | 6 + .../xmlconf/ibm/not-wf/P39/ibm39n02.xml | 5 + .../xmlconf/ibm/not-wf/P39/ibm39n03.xml | 6 + .../xmlconf/ibm/not-wf/P39/ibm39n04.xml | 8 + .../xmlconf/ibm/not-wf/P39/ibm39n05.xml | 5 + .../xmlconf/ibm/not-wf/P39/ibm39n06.xml | 5 + .../xmlconf/ibm/not-wf/P40/CVS/Entries | 6 + .../xmlconf/ibm/not-wf/P40/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P40/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P40/ibm40n01.xml | 10 + .../xmlconf/ibm/not-wf/P40/ibm40n02.xml | 7 + .../xmlconf/ibm/not-wf/P40/ibm40n03.xml | 7 + .../xmlconf/ibm/not-wf/P40/ibm40n04.xml | 7 + .../xmlconf/ibm/not-wf/P40/ibm40n05.xml | 9 + .../xmlconf/ibm/not-wf/P41/CVS/Entries | 18 + .../xmlconf/ibm/not-wf/P41/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P41/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P41/ibm41n.ent | 2 + .../xmlconf/ibm/not-wf/P41/ibm41n01.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n02.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n03.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n04.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n05.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n06.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n07.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n08.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n09.xml | 7 + .../xmlconf/ibm/not-wf/P41/ibm41n10.ent | 2 + .../xmlconf/ibm/not-wf/P41/ibm41n10.xml | 8 + .../xmlconf/ibm/not-wf/P41/ibm41n11.ent | 2 + .../xmlconf/ibm/not-wf/P41/ibm41n11.xml | 9 + .../xmlconf/ibm/not-wf/P41/ibm41n12.xml | 10 + .../xmlconf/ibm/not-wf/P41/ibm41n13.xml | 8 + .../xmlconf/ibm/not-wf/P41/ibm41n14.xml | 9 + .../xmlconf/ibm/not-wf/P42/CVS/Entries | 6 + .../xmlconf/ibm/not-wf/P42/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P42/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P42/ibm42n01.xml | 6 + .../xmlconf/ibm/not-wf/P42/ibm42n02.xml | 6 + .../xmlconf/ibm/not-wf/P42/ibm42n03.xml | 6 + .../xmlconf/ibm/not-wf/P42/ibm42n04.xml | 6 + .../xmlconf/ibm/not-wf/P42/ibm42n05.xml | 6 + .../xmlconf/ibm/not-wf/P43/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P43/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P43/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P43/ibm43n01.xml | 10 + .../xmlconf/ibm/not-wf/P43/ibm43n02.xml | 10 + .../xmlconf/ibm/not-wf/P43/ibm43n04.xml | 10 + .../xmlconf/ibm/not-wf/P43/ibm43n05.xml | 10 + .../xmlconf/ibm/not-wf/P44/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P44/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P44/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P44/ibm44n01.xml | 8 + .../xmlconf/ibm/not-wf/P44/ibm44n02.xml | 8 + .../xmlconf/ibm/not-wf/P44/ibm44n03.xml | 12 + .../xmlconf/ibm/not-wf/P44/ibm44n04.xml | 8 + .../xmlconf/ibm/not-wf/P45/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P45/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P45/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P45/ibm45n01.xml | 9 + .../xmlconf/ibm/not-wf/P45/ibm45n02.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n03.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n04.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n05.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n06.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n07.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n08.xml | 7 + .../xmlconf/ibm/not-wf/P45/ibm45n09.xml | 7 + .../xmlconf/ibm/not-wf/P46/CVS/Entries | 6 + .../xmlconf/ibm/not-wf/P46/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P46/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P46/ibm46n01.xml | 8 + .../xmlconf/ibm/not-wf/P46/ibm46n02.xml | 7 + .../xmlconf/ibm/not-wf/P46/ibm46n03.xml | 7 + .../xmlconf/ibm/not-wf/P46/ibm46n04.xml | 7 + .../xmlconf/ibm/not-wf/P46/ibm46n05.xml | 7 + .../xmlconf/ibm/not-wf/P47/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P47/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P47/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P47/ibm47n01.xml | 7 + .../xmlconf/ibm/not-wf/P47/ibm47n02.xml | 7 + .../xmlconf/ibm/not-wf/P47/ibm47n03.xml | 7 + .../xmlconf/ibm/not-wf/P47/ibm47n04.xml | 10 + .../xmlconf/ibm/not-wf/P47/ibm47n05.xml | 9 + .../xmlconf/ibm/not-wf/P47/ibm47n06.xml | 8 + .../xmlconf/ibm/not-wf/P48/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P48/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P48/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P48/ibm48n01.xml | 10 + .../xmlconf/ibm/not-wf/P48/ibm48n02.xml | 8 + .../xmlconf/ibm/not-wf/P48/ibm48n03.xml | 8 + .../xmlconf/ibm/not-wf/P48/ibm48n04.xml | 8 + .../xmlconf/ibm/not-wf/P48/ibm48n05.xml | 9 + .../xmlconf/ibm/not-wf/P48/ibm48n06.xml | 9 + .../xmlconf/ibm/not-wf/P48/ibm48n07.xml | 8 + .../xmlconf/ibm/not-wf/P49/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P49/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P49/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P49/ibm49n01.xml | 8 + .../xmlconf/ibm/not-wf/P49/ibm49n02.xml | 9 + .../xmlconf/ibm/not-wf/P49/ibm49n03.xml | 9 + .../xmlconf/ibm/not-wf/P49/ibm49n04.xml | 9 + .../xmlconf/ibm/not-wf/P49/ibm49n05.xml | 9 + .../xmlconf/ibm/not-wf/P49/ibm49n06.xml | 10 + .../xmlconf/ibm/not-wf/P50/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P50/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P50/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P50/ibm50n01.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n02.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n03.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n04.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n05.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n06.xml | 9 + .../xmlconf/ibm/not-wf/P50/ibm50n07.xml | 9 + .../xmlconf/ibm/not-wf/P51/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P51/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P51/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P51/ibm51n01.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n02.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n03.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n04.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n05.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n06.xml | 9 + .../xmlconf/ibm/not-wf/P51/ibm51n07.xml | 9 + .../xmlconf/ibm/not-wf/P52/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P52/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P52/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P52/ibm52n01.xml | 8 + .../xmlconf/ibm/not-wf/P52/ibm52n02.xml | 8 + .../xmlconf/ibm/not-wf/P52/ibm52n03.xml | 8 + .../xmlconf/ibm/not-wf/P52/ibm52n04.xml | 8 + .../xmlconf/ibm/not-wf/P52/ibm52n05.xml | 9 + .../xmlconf/ibm/not-wf/P52/ibm52n06.xml | 8 + .../xmlconf/ibm/not-wf/P53/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P53/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P53/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P53/ibm53n01.xml | 10 + .../xmlconf/ibm/not-wf/P53/ibm53n02.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n03.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n04.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n05.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n06.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n07.xml | 8 + .../xmlconf/ibm/not-wf/P53/ibm53n08.xml | 8 + .../xmlconf/ibm/not-wf/P54/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P54/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P54/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P54/ibm54n01.xml | 11 + .../xmlconf/ibm/not-wf/P54/ibm54n02.xml | 12 + .../xmlconf/ibm/not-wf/P55/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/P55/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P55/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P55/ibm55n01.xml | 11 + .../xmlconf/ibm/not-wf/P55/ibm55n02.xml | 11 + .../xmlconf/ibm/not-wf/P55/ibm55n03.xml | 11 + .../xmlconf/ibm/not-wf/P56/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P56/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P56/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P56/ibm56n01.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n02.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n03.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n04.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n05.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n06.xml | 11 + .../xmlconf/ibm/not-wf/P56/ibm56n07.xml | 11 + .../xmlconf/ibm/not-wf/P57/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P57/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P57/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P57/ibm57n01.xml | 10 + .../xmlconf/ibm/not-wf/P58/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P58/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P58/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P58/ibm58n01.xml | 13 + .../xmlconf/ibm/not-wf/P58/ibm58n02.xml | 13 + .../xmlconf/ibm/not-wf/P58/ibm58n03.xml | 13 + .../xmlconf/ibm/not-wf/P58/ibm58n04.xml | 13 + .../xmlconf/ibm/not-wf/P58/ibm58n05.xml | 13 + .../xmlconf/ibm/not-wf/P58/ibm58n06.xml | 15 + .../xmlconf/ibm/not-wf/P58/ibm58n07.xml | 14 + .../xmlconf/ibm/not-wf/P58/ibm58n08.xml | 14 + .../xmlconf/ibm/not-wf/P59/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P59/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P59/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P59/ibm59n01.xml | 13 + .../xmlconf/ibm/not-wf/P59/ibm59n02.xml | 13 + .../xmlconf/ibm/not-wf/P59/ibm59n03.xml | 14 + .../xmlconf/ibm/not-wf/P59/ibm59n04.xml | 13 + .../xmlconf/ibm/not-wf/P59/ibm59n05.xml | 13 + .../xmlconf/ibm/not-wf/P59/ibm59n06.xml | 13 + .../xmlconf/ibm/not-wf/P60/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P60/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P60/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P60/ibm60n01.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n02.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n03.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n04.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n05.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n06.xml | 12 + .../xmlconf/ibm/not-wf/P60/ibm60n07.xml | 15 + .../xmlconf/ibm/not-wf/P60/ibm60n08.xml | 12 + .../xmlconf/ibm/not-wf/P61/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P61/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P61/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P61/ibm61n01.dtd | 6 + .../xmlconf/ibm/not-wf/P61/ibm61n01.xml | 6 + .../xmlconf/ibm/not-wf/P62/CVS/Entries | 17 + .../xmlconf/ibm/not-wf/P62/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P62/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P62/ibm62n01.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n01.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n02.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n02.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n03.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n03.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n04.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n04.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n05.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n05.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n06.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n06.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n07.dtd | 8 + .../xmlconf/ibm/not-wf/P62/ibm62n07.xml | 7 + .../xmlconf/ibm/not-wf/P62/ibm62n08.dtd | 9 + .../xmlconf/ibm/not-wf/P62/ibm62n08.xml | 7 + .../xmlconf/ibm/not-wf/P63/CVS/Entries | 15 + .../xmlconf/ibm/not-wf/P63/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P63/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P63/ibm63n01.dtd | 6 + .../xmlconf/ibm/not-wf/P63/ibm63n01.xml | 11 + .../xmlconf/ibm/not-wf/P63/ibm63n02.dtd | 8 + .../xmlconf/ibm/not-wf/P63/ibm63n02.xml | 9 + .../xmlconf/ibm/not-wf/P63/ibm63n03.dtd | 6 + .../xmlconf/ibm/not-wf/P63/ibm63n03.xml | 11 + .../xmlconf/ibm/not-wf/P63/ibm63n04.dtd | 6 + .../xmlconf/ibm/not-wf/P63/ibm63n04.xml | 11 + .../xmlconf/ibm/not-wf/P63/ibm63n05.dtd | 6 + .../xmlconf/ibm/not-wf/P63/ibm63n05.xml | 11 + .../xmlconf/ibm/not-wf/P63/ibm63n06.dtd | 9 + .../xmlconf/ibm/not-wf/P63/ibm63n06.xml | 9 + .../xmlconf/ibm/not-wf/P63/ibm63n07.dtd | 8 + .../xmlconf/ibm/not-wf/P63/ibm63n07.xml | 11 + .../xmlconf/ibm/not-wf/P64/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P64/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P64/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P64/ibm64n01.dtd | 10 + .../xmlconf/ibm/not-wf/P64/ibm64n01.xml | 9 + .../xmlconf/ibm/not-wf/P64/ibm64n02.dtd | 10 + .../xmlconf/ibm/not-wf/P64/ibm64n02.xml | 9 + .../xmlconf/ibm/not-wf/P64/ibm64n03.dtd | 10 + .../xmlconf/ibm/not-wf/P64/ibm64n03.xml | 9 + .../xmlconf/ibm/not-wf/P65/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P65/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P65/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P65/ibm65n01.dtd | 12 + .../xmlconf/ibm/not-wf/P65/ibm65n01.xml | 9 + .../xmlconf/ibm/not-wf/P65/ibm65n02.dtd | 13 + .../xmlconf/ibm/not-wf/P65/ibm65n02.xml | 9 + .../xmlconf/ibm/not-wf/P66/CVS/Entries | 16 + .../xmlconf/ibm/not-wf/P66/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P66/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P66/ibm66n01.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n02.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n03.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n04.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n05.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n06.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n07.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n08.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n09.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n10.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n11.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n12.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n13.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n14.xml | 7 + .../xmlconf/ibm/not-wf/P66/ibm66n15.xml | 7 + .../xmlconf/ibm/not-wf/P68/CVS/Entries | 12 + .../xmlconf/ibm/not-wf/P68/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P68/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P68/ibm68n01.xml | 7 + .../xmlconf/ibm/not-wf/P68/ibm68n02.xml | 7 + .../xmlconf/ibm/not-wf/P68/ibm68n03.xml | 9 + .../xmlconf/ibm/not-wf/P68/ibm68n04.xml | 7 + .../xmlconf/ibm/not-wf/P68/ibm68n05.xml | 6 + .../xmlconf/ibm/not-wf/P68/ibm68n06.dtd | 2 + .../xmlconf/ibm/not-wf/P68/ibm68n06.xml | 8 + .../xmlconf/ibm/not-wf/P68/ibm68n07.xml | 9 + .../xmlconf/ibm/not-wf/P68/ibm68n08.xml | 9 + .../xmlconf/ibm/not-wf/P68/ibm68n09.xml | 10 + .../xmlconf/ibm/not-wf/P68/ibm68n10.xml | 14 + .../xmlconf/ibm/not-wf/P69/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P69/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P69/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P69/ibm69n01.xml | 9 + .../xmlconf/ibm/not-wf/P69/ibm69n02.xml | 9 + .../xmlconf/ibm/not-wf/P69/ibm69n03.xml | 12 + .../xmlconf/ibm/not-wf/P69/ibm69n04.xml | 9 + .../xmlconf/ibm/not-wf/P69/ibm69n05.xml | 10 + .../xmlconf/ibm/not-wf/P69/ibm69n06.xml | 8 + .../xmlconf/ibm/not-wf/P69/ibm69n07.xml | 12 + .../xmlconf/ibm/not-wf/P71/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P71/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P71/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P71/ibm70n01.xml | 10 + .../xmlconf/ibm/not-wf/P71/ibm71n01.xml | 10 + .../xmlconf/ibm/not-wf/P71/ibm71n02.xml | 9 + .../xmlconf/ibm/not-wf/P71/ibm71n03.xml | 9 + .../xmlconf/ibm/not-wf/P71/ibm71n04.xml | 9 + .../xmlconf/ibm/not-wf/P71/ibm71n05.xml | 8 + .../xmlconf/ibm/not-wf/P71/ibm71n06.xml | 8 + .../xmlconf/ibm/not-wf/P71/ibm71n07.xml | 9 + .../xmlconf/ibm/not-wf/P71/ibm71n08.xml | 9 + .../xmlconf/ibm/not-wf/P72/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P72/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P72/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P72/ibm72n01.xml | 14 + .../xmlconf/ibm/not-wf/P72/ibm72n02.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n03.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n04.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n05.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n06.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n07.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n08.xml | 9 + .../xmlconf/ibm/not-wf/P72/ibm72n09.xml | 9 + .../xmlconf/ibm/not-wf/P73/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/P73/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P73/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P73/ibm73n01.xml | 9 + .../xmlconf/ibm/not-wf/P73/ibm73n03.xml | 9 + .../xmlconf/ibm/not-wf/P74/CVS/Entries | 2 + .../xmlconf/ibm/not-wf/P74/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P74/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P74/ibm74n01.xml | 9 + .../xmlconf/ibm/not-wf/P75/CVS/Entries | 15 + .../xmlconf/ibm/not-wf/P75/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P75/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P75/empty.dtd | 1 + .../xmlconf/ibm/not-wf/P75/ibm75n01.xml | 8 + .../xmlconf/ibm/not-wf/P75/ibm75n02.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n03.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n04.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n05.xml | 8 + .../xmlconf/ibm/not-wf/P75/ibm75n06.xml | 8 + .../xmlconf/ibm/not-wf/P75/ibm75n07.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n08.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n09.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n10.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n11.xml | 9 + .../xmlconf/ibm/not-wf/P75/ibm75n12.xml | 8 + .../xmlconf/ibm/not-wf/P75/ibm75n13.xml | 9 + .../xmlconf/ibm/not-wf/P76/CVS/Entries | 8 + .../xmlconf/ibm/not-wf/P76/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P76/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P76/ibm76n01.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n02.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n03.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n04.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n05.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n06.xml | 10 + .../xmlconf/ibm/not-wf/P76/ibm76n07.xml | 10 + .../xmlconf/ibm/not-wf/P77/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P77/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P77/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P77/ibm77n01.ent | 3 + .../xmlconf/ibm/not-wf/P77/ibm77n01.xml | 8 + .../xmlconf/ibm/not-wf/P77/ibm77n02.ent | 3 + .../xmlconf/ibm/not-wf/P77/ibm77n02.xml | 8 + .../xmlconf/ibm/not-wf/P77/ibm77n03.ent | 2 + .../xmlconf/ibm/not-wf/P77/ibm77n03.xml | 9 + .../xmlconf/ibm/not-wf/P77/ibm77n04.ent | 3 + .../xmlconf/ibm/not-wf/P77/ibm77n04.xml | 9 + .../xmlconf/ibm/not-wf/P78/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P78/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P78/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P78/ibm78n01.ent | 4 + .../xmlconf/ibm/not-wf/P78/ibm78n01.xml | 11 + .../xmlconf/ibm/not-wf/P78/ibm78n02.ent | 4 + .../xmlconf/ibm/not-wf/P78/ibm78n02.xml | 8 + .../xmlconf/ibm/not-wf/P79/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P79/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P79/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P79/ibm79n01.ent | 3 + .../xmlconf/ibm/not-wf/P79/ibm79n01.xml | 9 + .../xmlconf/ibm/not-wf/P79/ibm79n02.ent | 4 + .../xmlconf/ibm/not-wf/P79/ibm79n02.xml | 9 + .../xmlconf/ibm/not-wf/P80/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P80/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P80/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P80/ibm80n01.xml | 8 + .../xmlconf/ibm/not-wf/P80/ibm80n02.xml | 8 + .../xmlconf/ibm/not-wf/P80/ibm80n03.xml | 8 + .../xmlconf/ibm/not-wf/P80/ibm80n04.xml | 8 + .../xmlconf/ibm/not-wf/P80/ibm80n05.xml | 8 + .../xmlconf/ibm/not-wf/P80/ibm80n06.xml | 8 + .../xmlconf/ibm/not-wf/P81/CVS/Entries | 10 + .../xmlconf/ibm/not-wf/P81/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P81/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P81/ibm81n01.xml | 9 + .../xmlconf/ibm/not-wf/P81/ibm81n02.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n03.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n04.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n05.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n06.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n07.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n08.xml | 8 + .../xmlconf/ibm/not-wf/P81/ibm81n09.xml | 8 + .../xmlconf/ibm/not-wf/P82/CVS/Entries | 9 + .../xmlconf/ibm/not-wf/P82/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P82/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P82/ibm82n01.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n02.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n03.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n04.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n05.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n06.xml | 10 + .../xmlconf/ibm/not-wf/P82/ibm82n07.xml | 18 + .../xmlconf/ibm/not-wf/P82/ibm82n08.xml | 10 + .../xmlconf/ibm/not-wf/P83/CVS/Entries | 7 + .../xmlconf/ibm/not-wf/P83/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P83/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P83/ibm83n01.xml | 11 + .../xmlconf/ibm/not-wf/P83/ibm83n02.xml | 10 + .../xmlconf/ibm/not-wf/P83/ibm83n03.xml | 10 + .../xmlconf/ibm/not-wf/P83/ibm83n04.xml | 10 + .../xmlconf/ibm/not-wf/P83/ibm83n05.xml | 10 + .../xmlconf/ibm/not-wf/P83/ibm83n06.xml | 10 + .../xmlconf/ibm/not-wf/P85/CVS/Entries | 199 + .../xmlconf/ibm/not-wf/P85/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P85/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P85/ibm85n01.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n02.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n03.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n04.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n05.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n06.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n07.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n08.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n09.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n10.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n100.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n101.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n102.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n103.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n104.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n105.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n106.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n107.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n108.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n109.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n11.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n110.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n111.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n112.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n113.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n114.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n115.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n116.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n117.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n118.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n119.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n12.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n120.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n121.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n122.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n123.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n124.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n125.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n126.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n127.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n128.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n129.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n13.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n130.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n131.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n132.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n133.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n134.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n135.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n136.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n137.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n138.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n139.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n14.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n140.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n141.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n142.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n143.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n144.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n145.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n146.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n147.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n148.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n149.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n15.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n150.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n151.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n152.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n153.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n154.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n155.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n156.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n157.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n158.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n159.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n16.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n160.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n161.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n162.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n163.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n164.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n165.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n166.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n167.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n168.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n169.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n17.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n170.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n171.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n172.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n173.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n174.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n175.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n176.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n177.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n178.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n179.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n18.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n180.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n181.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n182.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n183.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n184.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n185.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n186.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n187.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n188.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n189.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n19.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n190.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n191.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n192.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n193.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n194.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n195.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n196.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n197.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n198.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n20.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n21.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n22.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n23.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n24.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n25.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n26.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n27.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n28.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n29.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n30.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n31.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n32.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n33.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n34.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n35.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n36.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n37.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n38.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n39.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n40.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n41.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n42.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n43.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n44.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n45.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n46.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n47.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n48.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n49.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n50.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n51.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n52.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n53.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n54.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n55.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n56.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n57.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n58.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n59.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n60.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n61.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n62.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n63.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n64.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n65.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n66.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n67.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n68.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n69.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n70.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n71.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n72.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n73.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n74.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n75.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n76.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n77.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n78.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n79.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n80.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n81.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n82.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n83.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n84.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n85.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n86.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n87.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n88.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n89.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n90.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n91.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n92.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n93.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n94.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n95.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n96.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n97.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n98.xml | 6 + .../xmlconf/ibm/not-wf/P85/ibm85n99.xml | 6 + .../xmlconf/ibm/not-wf/P86/CVS/Entries | 5 + .../xmlconf/ibm/not-wf/P86/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P86/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P86/ibm86n01.xml | 6 + .../xmlconf/ibm/not-wf/P86/ibm86n02.xml | 6 + .../xmlconf/ibm/not-wf/P86/ibm86n03.xml | 6 + .../xmlconf/ibm/not-wf/P86/ibm86n04.xml | 6 + .../xmlconf/ibm/not-wf/P87/CVS/Entries | 85 + .../xmlconf/ibm/not-wf/P87/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P87/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P87/ibm87n01.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n02.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n03.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n04.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n05.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n06.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n07.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n08.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n09.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n10.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n11.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n12.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n13.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n14.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n15.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n16.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n17.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n18.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n19.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n20.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n21.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n22.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n23.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n24.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n25.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n26.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n27.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n28.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n29.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n30.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n31.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n32.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n33.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n34.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n35.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n36.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n37.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n38.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n39.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n40.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n41.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n42.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n43.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n44.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n45.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n46.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n47.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n48.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n49.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n50.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n51.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n52.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n53.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n54.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n55.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n56.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n57.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n58.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n59.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n60.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n61.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n62.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n63.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n64.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n66.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n67.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n68.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n69.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n70.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n71.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n72.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n73.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n74.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n75.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n76.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n77.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n78.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n79.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n80.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n81.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n82.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n83.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n84.xml | 6 + .../xmlconf/ibm/not-wf/P87/ibm87n85.xml | 6 + .../xmlconf/ibm/not-wf/P88/CVS/Entries | 16 + .../xmlconf/ibm/not-wf/P88/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P88/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P88/ibm88n01.xml | 5 + .../xmlconf/ibm/not-wf/P88/ibm88n02.xml | 5 + .../xmlconf/ibm/not-wf/P88/ibm88n03.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n04.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n05.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n06.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n08.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n09.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n10.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n11.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n12.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n13.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n14.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n15.xml | 6 + .../xmlconf/ibm/not-wf/P88/ibm88n16.xml | 6 + .../xmlconf/ibm/not-wf/P89/CVS/Entries | 13 + .../xmlconf/ibm/not-wf/P89/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/not-wf/P89/CVS/Root | 1 + .../xmlconf/ibm/not-wf/P89/ibm89n01.xml | 5 + .../xmlconf/ibm/not-wf/P89/ibm89n02.xml | 5 + .../xmlconf/ibm/not-wf/P89/ibm89n03.xml | 5 + .../xmlconf/ibm/not-wf/P89/ibm89n04.xml | 5 + .../xmlconf/ibm/not-wf/P89/ibm89n05.xml | 5 + .../xmlconf/ibm/not-wf/P89/ibm89n06.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n07.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n08.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n09.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n10.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n11.xml | 6 + .../xmlconf/ibm/not-wf/P89/ibm89n12.xml | 6 + .../xmlconf/ibm/not-wf/misc/432gewf.xml | 12 + .../xmlconf/ibm/not-wf/misc/CVS/Entries | 4 + .../xmlconf/ibm/not-wf/misc/CVS/Repository | 1 + .../xmlconf/ibm/not-wf/misc/CVS/Root | 1 + .../xmlconf/ibm/not-wf/misc/ltinentval.xml | 11 + .../xmlconf/ibm/not-wf/misc/simpleltinentval.xml | 14 + .../xmlconf/ibm/not-wf/p28a/CVS/Entries | 3 + .../xmlconf/ibm/not-wf/p28a/CVS/Repository | 1 + .../xmlconf/ibm/not-wf/p28a/CVS/Root | 1 + .../xmlconf/ibm/not-wf/p28a/ibm28an01.dtd | 6 + .../xmlconf/ibm/not-wf/p28a/ibm28an01.xml | 22 + .../XML-Test-Suite/xmlconf/ibm/valid/CVS/Entries | 70 + .../xmlconf/ibm/valid/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/CVS/Root | 1 + .../xmlconf/ibm/valid/P01/CVS/Entries | 2 + .../xmlconf/ibm/valid/P01/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P01/CVS/Root | 1 + .../xmlconf/ibm/valid/P01/ibm01v01.xml | 24 + .../xmlconf/ibm/valid/P01/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P01/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P01/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P01/out/ibm01v01.xml | 1 + .../xmlconf/ibm/valid/P02/CVS/Entries | 2 + .../xmlconf/ibm/valid/P02/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P02/CVS/Root | 1 + .../xmlconf/ibm/valid/P02/ibm02v01.xml | 10 + .../xmlconf/ibm/valid/P02/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P02/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P02/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P02/out/ibm02v01.xml | 4 + .../xmlconf/ibm/valid/P03/CVS/Entries | 2 + .../xmlconf/ibm/valid/P03/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P03/CVS/Root | 1 + .../xmlconf/ibm/valid/P03/ibm03v01.xml | 9 + .../xmlconf/ibm/valid/P03/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P03/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P03/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P03/out/ibm03v01.xml | 4 + .../xmlconf/ibm/valid/P09/CVS/Entries | 8 + .../xmlconf/ibm/valid/P09/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P09/CVS/Root | 1 + .../xmlconf/ibm/valid/P09/ibm09v01.xml | 21 + .../xmlconf/ibm/valid/P09/ibm09v02.xml | 7 + .../xmlconf/ibm/valid/P09/ibm09v03.dtd | 4 + .../xmlconf/ibm/valid/P09/ibm09v03.xml | 3 + .../xmlconf/ibm/valid/P09/ibm09v04.xml | 9 + .../xmlconf/ibm/valid/P09/ibm09v05.xml | 13 + .../xmlconf/ibm/valid/P09/out/CVS/Entries | 6 + .../xmlconf/ibm/valid/P09/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P09/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P09/out/ibm09v01.xml | 1 + .../xmlconf/ibm/valid/P09/out/ibm09v02.xml | 1 + .../xmlconf/ibm/valid/P09/out/ibm09v03.xml | 1 + .../xmlconf/ibm/valid/P09/out/ibm09v04.xml | 1 + .../xmlconf/ibm/valid/P09/out/ibm09v05.xml | 1 + .../xmlconf/ibm/valid/P09/student.dtd | 4 + .../xmlconf/ibm/valid/P10/CVS/Entries | 9 + .../xmlconf/ibm/valid/P10/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P10/CVS/Root | 1 + .../xmlconf/ibm/valid/P10/ibm10v01.xml | 19 + .../xmlconf/ibm/valid/P10/ibm10v02.xml | 14 + .../xmlconf/ibm/valid/P10/ibm10v03.xml | 13 + .../xmlconf/ibm/valid/P10/ibm10v04.xml | 14 + .../xmlconf/ibm/valid/P10/ibm10v05.xml | 14 + .../xmlconf/ibm/valid/P10/ibm10v06.xml | 14 + .../xmlconf/ibm/valid/P10/ibm10v07.xml | 13 + .../xmlconf/ibm/valid/P10/ibm10v08.xml | 14 + .../xmlconf/ibm/valid/P10/out/CVS/Entries | 9 + .../xmlconf/ibm/valid/P10/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P10/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v01.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v02.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v03.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v04.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v05.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v06.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v07.xml | 1 + .../xmlconf/ibm/valid/P10/out/ibm10v08.xml | 1 + .../xmlconf/ibm/valid/P11/CVS/Entries | 6 + .../xmlconf/ibm/valid/P11/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P11/CVS/Root | 1 + .../xmlconf/ibm/valid/P11/ibm11v01.xml | 17 + .../xmlconf/ibm/valid/P11/ibm11v02.xml | 8 + .../xmlconf/ibm/valid/P11/ibm11v03.xml | 5 + .../xmlconf/ibm/valid/P11/ibm11v04.xml | 7 + .../xmlconf/ibm/valid/P11/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P11/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P11/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P11/out/ibm11v01.xml | 1 + .../xmlconf/ibm/valid/P11/out/ibm11v02.xml | 1 + .../xmlconf/ibm/valid/P11/out/ibm11v03.xml | 1 + .../xmlconf/ibm/valid/P11/out/ibm11v04.xml | 1 + .../xmlconf/ibm/valid/P11/student.dtd | 3 + .../xmlconf/ibm/valid/P12/CVS/Entries | 6 + .../xmlconf/ibm/valid/P12/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P12/CVS/Root | 1 + .../xmlconf/ibm/valid/P12/ibm12v01.xml | 14 + .../xmlconf/ibm/valid/P12/ibm12v02.xml | 6 + .../xmlconf/ibm/valid/P12/ibm12v03.xml | 6 + .../xmlconf/ibm/valid/P12/ibm12v04.xml | 6 + .../xmlconf/ibm/valid/P12/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P12/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P12/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P12/out/ibm12v01.xml | 1 + .../xmlconf/ibm/valid/P12/out/ibm12v02.xml | 1 + .../xmlconf/ibm/valid/P12/out/ibm12v03.xml | 1 + .../xmlconf/ibm/valid/P12/out/ibm12v04.xml | 1 + .../xmlconf/ibm/valid/P12/student.dtd | 3 + .../xmlconf/ibm/valid/P13/CVS/Entries | 3 + .../xmlconf/ibm/valid/P13/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P13/CVS/Root | 1 + .../xmlconf/ibm/valid/P13/ibm13v01.xml | 15 + .../xmlconf/ibm/valid/P13/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P13/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P13/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P13/out/ibm13v01.xml | 1 + .../xmlconf/ibm/valid/P13/student.dtd | 3 + .../xmlconf/ibm/valid/P14/CVS/Entries | 4 + .../xmlconf/ibm/valid/P14/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P14/CVS/Root | 1 + .../xmlconf/ibm/valid/P14/ibm14v01.xml | 11 + .../xmlconf/ibm/valid/P14/ibm14v02.xml | 11 + .../xmlconf/ibm/valid/P14/ibm14v03.xml | 9 + .../xmlconf/ibm/valid/P14/out/CVS/Entries | 4 + .../xmlconf/ibm/valid/P14/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P14/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P14/out/ibm14v01.xml | 1 + .../xmlconf/ibm/valid/P14/out/ibm14v02.xml | 1 + .../xmlconf/ibm/valid/P14/out/ibm14v03.xml | 1 + .../xmlconf/ibm/valid/P15/CVS/Entries | 5 + .../xmlconf/ibm/valid/P15/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P15/CVS/Root | 1 + .../xmlconf/ibm/valid/P15/ibm15v01.xml | 9 + .../xmlconf/ibm/valid/P15/ibm15v02.xml | 7 + .../xmlconf/ibm/valid/P15/ibm15v03.xml | 7 + .../xmlconf/ibm/valid/P15/ibm15v04.xml | 7 + .../xmlconf/ibm/valid/P15/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P15/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P15/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P15/out/ibm15v01.xml | 1 + .../xmlconf/ibm/valid/P15/out/ibm15v02.xml | 1 + .../xmlconf/ibm/valid/P15/out/ibm15v03.xml | 1 + .../xmlconf/ibm/valid/P15/out/ibm15v04.xml | 1 + .../xmlconf/ibm/valid/P16/CVS/Entries | 4 + .../xmlconf/ibm/valid/P16/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P16/CVS/Root | 1 + .../xmlconf/ibm/valid/P16/ibm16v01.xml | 9 + .../xmlconf/ibm/valid/P16/ibm16v02.xml | 7 + .../xmlconf/ibm/valid/P16/ibm16v03.xml | 7 + .../xmlconf/ibm/valid/P16/out/CVS/Entries | 4 + .../xmlconf/ibm/valid/P16/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P16/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P16/out/ibm16v01.xml | 1 + .../xmlconf/ibm/valid/P16/out/ibm16v02.xml | 1 + .../xmlconf/ibm/valid/P16/out/ibm16v03.xml | 1 + .../xmlconf/ibm/valid/P17/CVS/Entries | 2 + .../xmlconf/ibm/valid/P17/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P17/CVS/Root | 1 + .../xmlconf/ibm/valid/P17/ibm17v01.xml | 9 + .../xmlconf/ibm/valid/P17/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P17/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P17/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P17/out/ibm17v01.xml | 1 + .../xmlconf/ibm/valid/P18/CVS/Entries | 2 + .../xmlconf/ibm/valid/P18/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P18/CVS/Root | 1 + .../xmlconf/ibm/valid/P18/ibm18v01.xml | 9 + .../xmlconf/ibm/valid/P18/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P18/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P18/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P18/out/ibm18v01.xml | 1 + .../xmlconf/ibm/valid/P19/CVS/Entries | 2 + .../xmlconf/ibm/valid/P19/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P19/CVS/Root | 1 + .../xmlconf/ibm/valid/P19/ibm19v01.xml | 9 + .../xmlconf/ibm/valid/P19/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P19/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P19/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P19/out/ibm19v01.xml | 1 + .../xmlconf/ibm/valid/P20/CVS/Entries | 3 + .../xmlconf/ibm/valid/P20/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P20/CVS/Root | 1 + .../xmlconf/ibm/valid/P20/ibm20v01.xml | 10 + .../xmlconf/ibm/valid/P20/ibm20v02.xml | 8 + .../xmlconf/ibm/valid/P20/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P20/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P20/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P20/out/ibm20v01.xml | 1 + .../xmlconf/ibm/valid/P20/out/ibm20v02.xml | 1 + .../xmlconf/ibm/valid/P21/CVS/Entries | 2 + .../xmlconf/ibm/valid/P21/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P21/CVS/Root | 1 + .../xmlconf/ibm/valid/P21/ibm21v01.xml | 10 + .../xmlconf/ibm/valid/P21/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P21/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P21/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P21/out/ibm21v01.xml | 1 + .../xmlconf/ibm/valid/P22/CVS/Entries | 8 + .../xmlconf/ibm/valid/P22/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P22/CVS/Root | 1 + .../xmlconf/ibm/valid/P22/ibm22v01.xml | 5 + .../xmlconf/ibm/valid/P22/ibm22v02.xml | 4 + .../xmlconf/ibm/valid/P22/ibm22v03.xml | 5 + .../xmlconf/ibm/valid/P22/ibm22v04.xml | 5 + .../xmlconf/ibm/valid/P22/ibm22v05.xml | 6 + .../xmlconf/ibm/valid/P22/ibm22v06.xml | 6 + .../xmlconf/ibm/valid/P22/ibm22v07.xml | 7 + .../xmlconf/ibm/valid/P22/out/CVS/Entries | 8 + .../xmlconf/ibm/valid/P22/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P22/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v01.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v02.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v03.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v04.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v05.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v06.xml | 1 + .../xmlconf/ibm/valid/P22/out/ibm22v07.xml | 1 + .../xmlconf/ibm/valid/P23/CVS/Entries | 7 + .../xmlconf/ibm/valid/P23/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P23/CVS/Root | 1 + .../xmlconf/ibm/valid/P23/ibm23v01.xml | 5 + .../xmlconf/ibm/valid/P23/ibm23v02.xml | 5 + .../xmlconf/ibm/valid/P23/ibm23v03.xml | 5 + .../xmlconf/ibm/valid/P23/ibm23v04.xml | 5 + .../xmlconf/ibm/valid/P23/ibm23v05.xml | 5 + .../xmlconf/ibm/valid/P23/ibm23v06.xml | 5 + .../xmlconf/ibm/valid/P23/out/CVS/Entries | 7 + .../xmlconf/ibm/valid/P23/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P23/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v01.xml | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v02.xml | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v03.xml | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v04.xml | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v05.xml | 1 + .../xmlconf/ibm/valid/P23/out/ibm23v06.xml | 1 + .../xmlconf/ibm/valid/P24/CVS/Entries | 3 + .../xmlconf/ibm/valid/P24/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P24/CVS/Root | 1 + .../xmlconf/ibm/valid/P24/ibm24v01.xml | 5 + .../xmlconf/ibm/valid/P24/ibm24v02.xml | 5 + .../xmlconf/ibm/valid/P24/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P24/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P24/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P24/out/ibm24v01.xml | 1 + .../xmlconf/ibm/valid/P24/out/ibm24v02.xml | 1 + .../xmlconf/ibm/valid/P25/CVS/Entries | 5 + .../xmlconf/ibm/valid/P25/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P25/CVS/Root | 1 + .../xmlconf/ibm/valid/P25/ibm25v01.xml | 5 + .../xmlconf/ibm/valid/P25/ibm25v02.xml | 5 + .../xmlconf/ibm/valid/P25/ibm25v03.xml | 5 + .../xmlconf/ibm/valid/P25/ibm25v04.xml | 5 + .../xmlconf/ibm/valid/P25/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P25/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P25/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P25/out/ibm25v01.xml | 1 + .../xmlconf/ibm/valid/P25/out/ibm25v02.xml | 1 + .../xmlconf/ibm/valid/P25/out/ibm25v03.xml | 1 + .../xmlconf/ibm/valid/P25/out/ibm25v04.xml | 1 + .../xmlconf/ibm/valid/P26/CVS/Entries | 2 + .../xmlconf/ibm/valid/P26/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P26/CVS/Root | 1 + .../xmlconf/ibm/valid/P26/ibm26v01.xml | 5 + .../xmlconf/ibm/valid/P26/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P26/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P26/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P26/out/ibm26v01.xml | 1 + .../xmlconf/ibm/valid/P27/CVS/Entries | 4 + .../xmlconf/ibm/valid/P27/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P27/CVS/Root | 1 + .../xmlconf/ibm/valid/P27/ibm27v01.xml | 6 + .../xmlconf/ibm/valid/P27/ibm27v02.xml | 6 + .../xmlconf/ibm/valid/P27/ibm27v03.xml | 5 + .../xmlconf/ibm/valid/P27/out/CVS/Entries | 4 + .../xmlconf/ibm/valid/P27/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P27/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P27/out/ibm27v01.xml | 1 + .../xmlconf/ibm/valid/P27/out/ibm27v02.xml | 1 + .../xmlconf/ibm/valid/P27/out/ibm27v03.xml | 1 + .../xmlconf/ibm/valid/P28/CVS/Entries | 5 + .../xmlconf/ibm/valid/P28/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P28/CVS/Root | 1 + .../xmlconf/ibm/valid/P28/ibm28v01.xml | 6 + .../xmlconf/ibm/valid/P28/ibm28v02.dtd | 1 + .../xmlconf/ibm/valid/P28/ibm28v02.txt | 1 + .../xmlconf/ibm/valid/P28/ibm28v02.xml | 26 + .../xmlconf/ibm/valid/P28/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P28/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P28/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P28/out/ibm28v01.xml | 1 + .../xmlconf/ibm/valid/P28/out/ibm28v02.xml | 4 + .../xmlconf/ibm/valid/P29/CVS/Entries | 4 + .../xmlconf/ibm/valid/P29/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P29/CVS/Root | 1 + .../xmlconf/ibm/valid/P29/ibm29v01.txt | 1 + .../xmlconf/ibm/valid/P29/ibm29v01.xml | 24 + .../xmlconf/ibm/valid/P29/ibm29v02.xml | 25 + .../xmlconf/ibm/valid/P29/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P29/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P29/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P29/out/ibm29v01.xml | 4 + .../xmlconf/ibm/valid/P29/out/ibm29v02.xml | 4 + .../xmlconf/ibm/valid/P30/CVS/Entries | 5 + .../xmlconf/ibm/valid/P30/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P30/CVS/Root | 1 + .../xmlconf/ibm/valid/P30/ibm30v01.dtd | 1 + .../xmlconf/ibm/valid/P30/ibm30v01.xml | 3 + .../xmlconf/ibm/valid/P30/ibm30v02.dtd | 2 + .../xmlconf/ibm/valid/P30/ibm30v02.xml | 3 + .../xmlconf/ibm/valid/P30/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P30/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P30/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P30/out/ibm30v01.xml | 1 + .../xmlconf/ibm/valid/P30/out/ibm30v02.xml | 1 + .../xmlconf/ibm/valid/P31/CVS/Entries | 3 + .../xmlconf/ibm/valid/P31/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P31/CVS/Root | 1 + .../xmlconf/ibm/valid/P31/ibm31v01.dtd | 15 + .../xmlconf/ibm/valid/P31/ibm31v01.xml | 5 + .../xmlconf/ibm/valid/P31/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P31/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P31/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P31/out/ibm31v01.xml | 1 + .../xmlconf/ibm/valid/P32/CVS/Entries | 9 + .../xmlconf/ibm/valid/P32/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P32/CVS/Root | 1 + .../xmlconf/ibm/valid/P32/ibm32v01.dtd | 2 + .../xmlconf/ibm/valid/P32/ibm32v01.xml | 4 + .../xmlconf/ibm/valid/P32/ibm32v02.dtd | 2 + .../xmlconf/ibm/valid/P32/ibm32v02.xml | 4 + .../xmlconf/ibm/valid/P32/ibm32v03.dtd | 2 + .../xmlconf/ibm/valid/P32/ibm32v03.xml | 4 + .../xmlconf/ibm/valid/P32/ibm32v04.dtd | 3 + .../xmlconf/ibm/valid/P32/ibm32v04.xml | 7 + .../xmlconf/ibm/valid/P32/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P32/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P32/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P32/out/ibm32v01.xml | 1 + .../xmlconf/ibm/valid/P32/out/ibm32v02.xml | 1 + .../xmlconf/ibm/valid/P32/out/ibm32v03.xml | 1 + .../xmlconf/ibm/valid/P32/out/ibm32v04.xml | 1 + .../xmlconf/ibm/valid/P33/CVS/Entries | 2 + .../xmlconf/ibm/valid/P33/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P33/CVS/Root | 1 + .../xmlconf/ibm/valid/P33/ibm33v01.xml | 6 + .../xmlconf/ibm/valid/P33/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P33/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P33/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P33/out/ibm33v01.xml | 1 + .../xmlconf/ibm/valid/P34/CVS/Entries | 2 + .../xmlconf/ibm/valid/P34/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P34/CVS/Root | 1 + .../xmlconf/ibm/valid/P34/ibm34v01.xml | 5 + .../xmlconf/ibm/valid/P34/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P34/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P34/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P34/out/ibm34v01.xml | 1 + .../xmlconf/ibm/valid/P35/CVS/Entries | 2 + .../xmlconf/ibm/valid/P35/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P35/CVS/Root | 1 + .../xmlconf/ibm/valid/P35/ibm35v01.xml | 5 + .../xmlconf/ibm/valid/P35/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P35/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P35/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P35/out/ibm35v01.xml | 1 + .../xmlconf/ibm/valid/P36/CVS/Entries | 2 + .../xmlconf/ibm/valid/P36/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P36/CVS/Root | 1 + .../xmlconf/ibm/valid/P36/ibm36v01.xml | 5 + .../xmlconf/ibm/valid/P36/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P36/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P36/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P36/out/ibm36v01.xml | 1 + .../xmlconf/ibm/valid/P37/CVS/Entries | 2 + .../xmlconf/ibm/valid/P37/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P37/CVS/Root | 1 + .../xmlconf/ibm/valid/P37/ibm37v01.xml | 5 + .../xmlconf/ibm/valid/P37/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P37/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P37/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P37/out/ibm37v01.xml | 1 + .../xmlconf/ibm/valid/P38/CVS/Entries | 2 + .../xmlconf/ibm/valid/P38/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P38/CVS/Root | 1 + .../xmlconf/ibm/valid/P38/ibm38v01.xml | 5 + .../xmlconf/ibm/valid/P38/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P38/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P38/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P38/out/ibm38v01.xml | 1 + .../xmlconf/ibm/valid/P39/CVS/Entries | 2 + .../xmlconf/ibm/valid/P39/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P39/CVS/Root | 1 + .../xmlconf/ibm/valid/P39/ibm39v01.xml | 18 + .../xmlconf/ibm/valid/P39/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P39/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P39/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P39/out/ibm39v01.xml | 1 + .../xmlconf/ibm/valid/P40/CVS/Entries | 2 + .../xmlconf/ibm/valid/P40/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P40/CVS/Root | 1 + .../xmlconf/ibm/valid/P40/ibm40v01.xml | 15 + .../xmlconf/ibm/valid/P40/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P40/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P40/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P40/out/ibm40v01.xml | 1 + .../xmlconf/ibm/valid/P41/CVS/Entries | 2 + .../xmlconf/ibm/valid/P41/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P41/CVS/Root | 1 + .../xmlconf/ibm/valid/P41/ibm41v01.xml | 12 + .../xmlconf/ibm/valid/P41/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P41/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P41/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P41/out/ibm41v01.xml | 1 + .../xmlconf/ibm/valid/P42/CVS/Entries | 2 + .../xmlconf/ibm/valid/P42/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P42/CVS/Root | 1 + .../xmlconf/ibm/valid/P42/ibm42v01.xml | 13 + .../xmlconf/ibm/valid/P42/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P42/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P42/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P42/out/ibm42v01.xml | 1 + .../xmlconf/ibm/valid/P43/CVS/Entries | 2 + .../xmlconf/ibm/valid/P43/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P43/CVS/Root | 1 + .../xmlconf/ibm/valid/P43/ibm43v01.xml | 24 + .../xmlconf/ibm/valid/P43/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P43/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P43/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P43/out/ibm43v01.xml | 1 + .../xmlconf/ibm/valid/P44/CVS/Entries | 2 + .../xmlconf/ibm/valid/P44/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P44/CVS/Root | 1 + .../xmlconf/ibm/valid/P44/ibm44v01.xml | 18 + .../xmlconf/ibm/valid/P44/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P44/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P44/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P44/out/ibm44v01.xml | 1 + .../xmlconf/ibm/valid/P45/CVS/Entries | 2 + .../xmlconf/ibm/valid/P45/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P45/CVS/Root | 1 + .../xmlconf/ibm/valid/P45/ibm45v01.xml | 21 + .../xmlconf/ibm/valid/P45/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P45/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P45/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P45/out/ibm45v01.xml | 1 + .../xmlconf/ibm/valid/P47/CVS/Entries | 2 + .../xmlconf/ibm/valid/P47/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P47/CVS/Root | 1 + .../xmlconf/ibm/valid/P47/ibm47v01.xml | 27 + .../xmlconf/ibm/valid/P47/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P47/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P47/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P47/out/ibm47v01.xml | 1 + .../xmlconf/ibm/valid/P49/CVS/Entries | 3 + .../xmlconf/ibm/valid/P49/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P49/CVS/Root | 1 + .../xmlconf/ibm/valid/P49/ibm49v01.dtd | 13 + .../xmlconf/ibm/valid/P49/ibm49v01.xml | 12 + .../xmlconf/ibm/valid/P49/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P49/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P49/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P49/out/ibm49v01.xml | 1 + .../xmlconf/ibm/valid/P50/CVS/Entries | 3 + .../xmlconf/ibm/valid/P50/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P50/CVS/Root | 1 + .../xmlconf/ibm/valid/P50/ibm50v01.dtd | 13 + .../xmlconf/ibm/valid/P50/ibm50v01.xml | 10 + .../xmlconf/ibm/valid/P50/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P50/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P50/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P50/out/ibm50v01.xml | 1 + .../xmlconf/ibm/valid/P51/CVS/Entries | 4 + .../xmlconf/ibm/valid/P51/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P51/CVS/Root | 1 + .../xmlconf/ibm/valid/P51/ibm51v01.xml | 22 + .../xmlconf/ibm/valid/P51/ibm51v02.dtd | 20 + .../xmlconf/ibm/valid/P51/ibm51v02.xml | 12 + .../xmlconf/ibm/valid/P51/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P51/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P51/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P51/out/ibm51v01.xml | 1 + .../xmlconf/ibm/valid/P51/out/ibm51v02.xml | 1 + .../xmlconf/ibm/valid/P52/CVS/Entries | 2 + .../xmlconf/ibm/valid/P52/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P52/CVS/Root | 1 + .../xmlconf/ibm/valid/P52/ibm52v01.xml | 17 + .../xmlconf/ibm/valid/P52/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P52/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P52/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P52/out/ibm52v01.xml | 1 + .../xmlconf/ibm/valid/P54/CVS/Entries | 6 + .../xmlconf/ibm/valid/P54/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P54/CVS/Root | 1 + .../xmlconf/ibm/valid/P54/ibm54v01.xml | 50 + .../xmlconf/ibm/valid/P54/ibm54v02.xml | 16 + .../xmlconf/ibm/valid/P54/ibm54v03.xml | 12 + .../xmlconf/ibm/valid/P54/ibmlogo.gif | Bin 0 -> 1082 bytes .../xmlconf/ibm/valid/P54/out/CVS/Entries | 4 + .../xmlconf/ibm/valid/P54/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P54/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P54/out/ibm54v01.xml | 5 + .../xmlconf/ibm/valid/P54/out/ibm54v02.xml | 1 + .../xmlconf/ibm/valid/P54/out/ibm54v03.xml | 1 + .../xmlconf/ibm/valid/P54/xmltech.gif | Bin 0 -> 4070 bytes .../xmlconf/ibm/valid/P55/CVS/Entries | 2 + .../xmlconf/ibm/valid/P55/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P55/CVS/Root | 1 + .../xmlconf/ibm/valid/P55/ibm55v01.xml | 12 + .../xmlconf/ibm/valid/P55/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P55/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P55/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P55/out/ibm55v01.xml | 1 + .../xmlconf/ibm/valid/P56/CVS/Entries | 11 + .../xmlconf/ibm/valid/P56/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P56/CVS/Root | 1 + .../xmlconf/ibm/valid/P56/ibm56v01.xml | 21 + .../xmlconf/ibm/valid/P56/ibm56v02.xml | 11 + .../xmlconf/ibm/valid/P56/ibm56v03.xml | 11 + .../xmlconf/ibm/valid/P56/ibm56v04.xml | 14 + .../xmlconf/ibm/valid/P56/ibm56v05.xml | 16 + .../xmlconf/ibm/valid/P56/ibm56v06.xml | 18 + .../xmlconf/ibm/valid/P56/ibm56v07.xml | 21 + .../xmlconf/ibm/valid/P56/ibm56v08.xml | 15 + .../xmlconf/ibm/valid/P56/ibm56v09.xml | 12 + .../xmlconf/ibm/valid/P56/ibm56v10.xml | 12 + .../xmlconf/ibm/valid/P56/out/CVS/Entries | 11 + .../xmlconf/ibm/valid/P56/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P56/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v01.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v02.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v03.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v04.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v05.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v06.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v07.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v08.xml | 4 + .../xmlconf/ibm/valid/P56/out/ibm56v09.xml | 1 + .../xmlconf/ibm/valid/P56/out/ibm56v10.xml | 1 + .../xmlconf/ibm/valid/P57/CVS/Entries | 2 + .../xmlconf/ibm/valid/P57/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P57/CVS/Root | 1 + .../xmlconf/ibm/valid/P57/ibm57v01.xml | 16 + .../xmlconf/ibm/valid/P57/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P57/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P57/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P57/out/ibm57v01.xml | 5 + .../xmlconf/ibm/valid/P58/CVS/Entries | 3 + .../xmlconf/ibm/valid/P58/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P58/CVS/Root | 1 + .../xmlconf/ibm/valid/P58/ibm58v01.xml | 21 + .../xmlconf/ibm/valid/P58/ibm58v02.xml | 16 + .../xmlconf/ibm/valid/P58/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P58/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P58/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P58/out/ibm58v01.xml | 5 + .../xmlconf/ibm/valid/P58/out/ibm58v02.xml | 6 + .../xmlconf/ibm/valid/P59/CVS/Entries | 3 + .../xmlconf/ibm/valid/P59/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P59/CVS/Root | 1 + .../xmlconf/ibm/valid/P59/ibm59v01.xml | 18 + .../xmlconf/ibm/valid/P59/ibm59v02.xml | 15 + .../xmlconf/ibm/valid/P59/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P59/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P59/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P59/out/ibm59v01.xml | 1 + .../xmlconf/ibm/valid/P59/out/ibm59v02.xml | 1 + .../xmlconf/ibm/valid/P60/CVS/Entries | 5 + .../xmlconf/ibm/valid/P60/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P60/CVS/Root | 1 + .../xmlconf/ibm/valid/P60/ibm60v01.xml | 19 + .../xmlconf/ibm/valid/P60/ibm60v02.xml | 16 + .../xmlconf/ibm/valid/P60/ibm60v03.xml | 14 + .../xmlconf/ibm/valid/P60/ibm60v04.xml | 17 + .../xmlconf/ibm/valid/P60/out/CVS/Entries | 5 + .../xmlconf/ibm/valid/P60/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P60/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P60/out/ibm60v01.xml | 1 + .../xmlconf/ibm/valid/P60/out/ibm60v02.xml | 1 + .../xmlconf/ibm/valid/P60/out/ibm60v03.xml | 1 + .../xmlconf/ibm/valid/P60/out/ibm60v04.xml | 1 + .../xmlconf/ibm/valid/P61/CVS/Entries | 5 + .../xmlconf/ibm/valid/P61/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P61/CVS/Root | 1 + .../xmlconf/ibm/valid/P61/ibm61v01.dtd | 7 + .../xmlconf/ibm/valid/P61/ibm61v01.xml | 7 + .../xmlconf/ibm/valid/P61/ibm61v02.dtd | 5 + .../xmlconf/ibm/valid/P61/ibm61v02.xml | 9 + .../xmlconf/ibm/valid/P61/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P61/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P61/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P61/out/ibm61v01.xml | 1 + .../xmlconf/ibm/valid/P61/out/ibm61v02.xml | 1 + .../xmlconf/ibm/valid/P62/CVS/Entries | 11 + .../xmlconf/ibm/valid/P62/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P62/CVS/Root | 1 + .../xmlconf/ibm/valid/P62/ibm62v01.dtd | 8 + .../xmlconf/ibm/valid/P62/ibm62v01.xml | 8 + .../xmlconf/ibm/valid/P62/ibm62v02.dtd | 8 + .../xmlconf/ibm/valid/P62/ibm62v02.xml | 8 + .../xmlconf/ibm/valid/P62/ibm62v03.dtd | 8 + .../xmlconf/ibm/valid/P62/ibm62v03.xml | 8 + .../xmlconf/ibm/valid/P62/ibm62v04.dtd | 8 + .../xmlconf/ibm/valid/P62/ibm62v04.xml | 8 + .../xmlconf/ibm/valid/P62/ibm62v05.dtd | 7 + .../xmlconf/ibm/valid/P62/ibm62v05.xml | 12 + .../xmlconf/ibm/valid/P62/out/CVS/Entries | 6 + .../xmlconf/ibm/valid/P62/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P62/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P62/out/ibm62v01.xml | 1 + .../xmlconf/ibm/valid/P62/out/ibm62v02.xml | 1 + .../xmlconf/ibm/valid/P62/out/ibm62v03.xml | 1 + .../xmlconf/ibm/valid/P62/out/ibm62v04.xml | 1 + .../xmlconf/ibm/valid/P62/out/ibm62v05.xml | 1 + .../xmlconf/ibm/valid/P63/CVS/Entries | 11 + .../xmlconf/ibm/valid/P63/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P63/CVS/Root | 1 + .../xmlconf/ibm/valid/P63/ibm63v01.dtd | 6 + .../xmlconf/ibm/valid/P63/ibm63v01.xml | 11 + .../xmlconf/ibm/valid/P63/ibm63v02.dtd | 6 + .../xmlconf/ibm/valid/P63/ibm63v02.xml | 11 + .../xmlconf/ibm/valid/P63/ibm63v03.dtd | 6 + .../xmlconf/ibm/valid/P63/ibm63v03.xml | 11 + .../xmlconf/ibm/valid/P63/ibm63v04.dtd | 8 + .../xmlconf/ibm/valid/P63/ibm63v04.xml | 11 + .../xmlconf/ibm/valid/P63/ibm63v05.dtd | 8 + .../xmlconf/ibm/valid/P63/ibm63v05.xml | 11 + .../xmlconf/ibm/valid/P63/out/CVS/Entries | 6 + .../xmlconf/ibm/valid/P63/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P63/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P63/out/ibm63v01.xml | 1 + .../xmlconf/ibm/valid/P63/out/ibm63v02.xml | 1 + .../xmlconf/ibm/valid/P63/out/ibm63v03.xml | 1 + .../xmlconf/ibm/valid/P63/out/ibm63v04.xml | 1 + .../xmlconf/ibm/valid/P63/out/ibm63v05.xml | 1 + .../xmlconf/ibm/valid/P64/CVS/Entries | 7 + .../xmlconf/ibm/valid/P64/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P64/CVS/Root | 1 + .../xmlconf/ibm/valid/P64/ibm64v01.dtd | 8 + .../xmlconf/ibm/valid/P64/ibm64v01.xml | 9 + .../xmlconf/ibm/valid/P64/ibm64v02.dtd | 10 + .../xmlconf/ibm/valid/P64/ibm64v02.xml | 9 + .../xmlconf/ibm/valid/P64/ibm64v03.dtd | 20 + .../xmlconf/ibm/valid/P64/ibm64v03.xml | 9 + .../xmlconf/ibm/valid/P64/out/CVS/Entries | 4 + .../xmlconf/ibm/valid/P64/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P64/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P64/out/ibm64v01.xml | 1 + .../xmlconf/ibm/valid/P64/out/ibm64v02.xml | 1 + .../xmlconf/ibm/valid/P64/out/ibm64v03.xml | 1 + .../xmlconf/ibm/valid/P65/CVS/Entries | 5 + .../xmlconf/ibm/valid/P65/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P65/CVS/Root | 1 + .../xmlconf/ibm/valid/P65/ibm65v01.dtd | 10 + .../xmlconf/ibm/valid/P65/ibm65v01.xml | 9 + .../xmlconf/ibm/valid/P65/ibm65v02.dtd | 10 + .../xmlconf/ibm/valid/P65/ibm65v02.xml | 9 + .../xmlconf/ibm/valid/P65/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P65/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P65/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P65/out/ibm65v01.xml | 1 + .../xmlconf/ibm/valid/P65/out/ibm65v02.xml | 1 + .../xmlconf/ibm/valid/P66/CVS/Entries | 2 + .../xmlconf/ibm/valid/P66/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P66/CVS/Root | 1 + .../xmlconf/ibm/valid/P66/ibm66v01.xml | 16 + .../xmlconf/ibm/valid/P66/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P66/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P66/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P66/out/ibm66v01.xml | 1 + .../xmlconf/ibm/valid/P67/CVS/Entries | 2 + .../xmlconf/ibm/valid/P67/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P67/CVS/Root | 1 + .../xmlconf/ibm/valid/P67/ibm67v01.xml | 10 + .../xmlconf/ibm/valid/P67/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P67/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P67/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P67/out/ibm67v01.xml | 1 + .../xmlconf/ibm/valid/P68/CVS/Entries | 5 + .../xmlconf/ibm/valid/P68/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P68/CVS/Root | 1 + .../xmlconf/ibm/valid/P68/ibm68v01.dtd | 4 + .../xmlconf/ibm/valid/P68/ibm68v01.xml | 9 + .../xmlconf/ibm/valid/P68/ibm68v02.ent | 3 + .../xmlconf/ibm/valid/P68/ibm68v02.xml | 10 + .../xmlconf/ibm/valid/P68/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P68/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P68/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P68/out/ibm68v01.xml | 1 + .../xmlconf/ibm/valid/P68/out/ibm68v02.xml | 1 + .../xmlconf/ibm/valid/P69/CVS/Entries | 5 + .../xmlconf/ibm/valid/P69/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P69/CVS/Root | 1 + .../xmlconf/ibm/valid/P69/ibm69v01.dtd | 4 + .../xmlconf/ibm/valid/P69/ibm69v01.xml | 11 + .../xmlconf/ibm/valid/P69/ibm69v02.ent | 6 + .../xmlconf/ibm/valid/P69/ibm69v02.xml | 10 + .../xmlconf/ibm/valid/P69/out/CVS/Entries | 3 + .../xmlconf/ibm/valid/P69/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P69/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P69/out/ibm69v01.xml | 1 + .../xmlconf/ibm/valid/P69/out/ibm69v02.xml | 1 + .../xmlconf/ibm/valid/P70/CVS/Entries | 3 + .../xmlconf/ibm/valid/P70/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P70/CVS/Root | 1 + .../xmlconf/ibm/valid/P70/ibm70v01.ent | 1 + .../xmlconf/ibm/valid/P70/ibm70v01.xml | 17 + .../xmlconf/ibm/valid/P70/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P70/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P70/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P70/out/ibm70v01.xml | 4 + .../xmlconf/ibm/valid/P78/CVS/Entries | 5 + .../xmlconf/ibm/valid/P78/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P78/CVS/Root | 1 + .../xmlconf/ibm/valid/P78/ibm78v01.ent | 3 + .../xmlconf/ibm/valid/P78/ibm78v01.xml | 14 + .../xmlconf/ibm/valid/P78/ibm78v02.ent | 3 + .../xmlconf/ibm/valid/P78/ibm78v03.ent | 2 + .../xmlconf/ibm/valid/P78/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P78/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P78/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P78/out/ibm78v01.xml | 1 + .../xmlconf/ibm/valid/P79/CVS/Entries | 3 + .../xmlconf/ibm/valid/P79/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P79/CVS/Root | 1 + .../xmlconf/ibm/valid/P79/ibm79v01.ent | 2 + .../xmlconf/ibm/valid/P79/ibm79v01.xml | 11 + .../xmlconf/ibm/valid/P79/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P79/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P79/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P79/out/ibm79v01.xml | 1 + .../xmlconf/ibm/valid/P82/CVS/Entries | 2 + .../xmlconf/ibm/valid/P82/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P82/CVS/Root | 1 + .../xmlconf/ibm/valid/P82/ibm82v01.xml | 13 + .../xmlconf/ibm/valid/P82/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P82/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P82/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P82/out/ibm82v01.xml | 4 + .../xmlconf/ibm/valid/P85/CVS/Entries | 2 + .../xmlconf/ibm/valid/P85/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P85/CVS/Root | 1 + .../xmlconf/ibm/valid/P85/ibm85v01.xml | 8 + .../xmlconf/ibm/valid/P85/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P85/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P85/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P85/out/ibm85v01.xml | 1 + .../xmlconf/ibm/valid/P86/CVS/Entries | 2 + .../xmlconf/ibm/valid/P86/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P86/CVS/Root | 1 + .../xmlconf/ibm/valid/P86/ibm86v01.xml | 8 + .../xmlconf/ibm/valid/P86/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P86/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P86/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P86/out/ibm86v01.xml | 1 + .../xmlconf/ibm/valid/P87/CVS/Entries | 2 + .../xmlconf/ibm/valid/P87/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P87/CVS/Root | 1 + .../xmlconf/ibm/valid/P87/ibm87v01.xml | 8 + .../xmlconf/ibm/valid/P87/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P87/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P87/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P87/out/ibm87v01.xml | 1 + .../xmlconf/ibm/valid/P88/CVS/Entries | 2 + .../xmlconf/ibm/valid/P88/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P88/CVS/Root | 1 + .../xmlconf/ibm/valid/P88/ibm88v01.xml | 8 + .../xmlconf/ibm/valid/P88/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P88/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P88/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P88/out/ibm88v01.xml | 1 + .../xmlconf/ibm/valid/P89/CVS/Entries | 2 + .../xmlconf/ibm/valid/P89/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/valid/P89/CVS/Root | 1 + .../xmlconf/ibm/valid/P89/ibm89v01.xml | 8 + .../xmlconf/ibm/valid/P89/out/CVS/Entries | 2 + .../xmlconf/ibm/valid/P89/out/CVS/Repository | 1 + .../xmlconf/ibm/valid/P89/out/CVS/Root | 1 + .../xmlconf/ibm/valid/P89/out/ibm89v01.xml | 1 + .../XML-Test-Suite/xmlconf/ibm/xml-1.1/CVS/Entries | 6 + .../xmlconf/ibm/xml-1.1/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/ibm/xml-1.1/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/ibm_invalid.xml | 35 + .../xmlconf/ibm/xml-1.1/ibm_not-wf.xml | 700 + .../xmlconf/ibm/xml-1.1/ibm_valid.xml | 332 + .../xmlconf/ibm/xml-1.1/invalid/CVS/Entries | 1 + .../xmlconf/ibm/xml-1.1/invalid/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/invalid/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/invalid/P46/CVS/Entries | 3 + .../xmlconf/ibm/xml-1.1/invalid/P46/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/invalid/P46/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/invalid/P46/ibm46i01.xml | 11 + .../xmlconf/ibm/xml-1.1/invalid/P46/ibm46i02.xml | 11 + .../xmlconf/ibm/xml-1.1/not-wf/CVS/Entries | 5 + .../xmlconf/ibm/xml-1.1/not-wf/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Entries | 75 + .../xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n01.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n02.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n03.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n04.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n05.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n06.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n07.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n08.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n09.xml | Bin 0 -> 121 bytes .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n10.xml | 7 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n11.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n12.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n13.xml | 8 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n14.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n15.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n16.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n17.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n18.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n19.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n20.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n21.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n22.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n23.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n24.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n25.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n26.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n27.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n28.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n29.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n30.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n31.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n32.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n33.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n34.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n35.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n36.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n37.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n38.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n39.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n40.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n41.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n42.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n43.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n44.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n45.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n46.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n47.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n48.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n49.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n50.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n51.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n52.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n53.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n54.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n55.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n56.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n57.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n58.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n59.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n60.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n61.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n62.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n63.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n64.ent | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n64.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n65.ent | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n65.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n66.ent | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n66.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n67.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n68.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n69.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n70.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n71.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Entries | 29 + .../xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n01.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n02.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n03.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n04.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n05.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n06.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n07.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n08.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n09.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n10.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n11.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n12.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n13.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n14.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n15.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n16.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n17.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n18.xml | 7 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n19.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n20.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n21.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n22.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n23.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n24.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n25.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n26.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n27.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n28.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Entries | 29 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an01.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an02.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an03.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an04.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an05.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an06.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an07.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an08.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an09.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an10.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an11.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an12.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an13.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an14.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an15.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an16.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an17.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an18.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an19.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an20.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an21.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an22.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an23.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an24.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an25.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an26.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an27.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an28.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Entries | 7 + .../xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n01.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n02.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n03.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n04.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n05.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n06.xml | 9 + .../xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Entries | 48 + .../xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n01.dtd | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n01.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n02.dtd | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n02.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n03.dtd | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n03.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n04.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n04.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n05.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n05.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n06.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n06.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n07.dtd | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n07.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n08.dtd | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n08.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n09.dtd | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n09.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n10.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n10.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n11.ent | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n11.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n12.ent | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n12.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.dtd | 5 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n14.dtd | 5 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n14.xml | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.dtd | 5 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.ent | 4 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n16.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n16.xml | 7 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n17.ent | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n17.xml | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n18.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n18.xml | 7 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.dtd | 5 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.ent | 1 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.dtd | 6 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.xml | 3 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.dtd | 5 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.ent | 2 + .../xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/CVS/Entries | 7 + .../xmlconf/ibm/xml-1.1/valid/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P02/CVS/Entries | 8 + .../xmlconf/ibm/xml-1.1/valid/P02/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P02/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v01.xml | 22 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v02.xml | 17 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v03.xml | 11 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v04.xml | 12 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v05.xml | 31 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v06.ent | 17 + .../xmlconf/ibm/xml-1.1/valid/P02/ibm02v06.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P03/CVS/Entries | 15 + .../xmlconf/ibm/xml-1.1/valid/P03/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v01.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v01.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v02.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v02.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v03.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v03.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v04.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v04.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v05.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v06.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v07.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v08.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v09.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/ibm03v09.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P03/out/CVS/Entries | 10 + .../ibm/xml-1.1/valid/P03/out/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v01.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v02.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v03.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v04.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v05.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v06.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v07.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v08.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v09.xml | 1 + .../xmlconf/ibm/xml-1.1/valid/P04/CVS/Entries | 2 + .../xmlconf/ibm/xml-1.1/valid/P04/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P04/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P04/ibm04v01.xml | 66 + .../xmlconf/ibm/xml-1.1/valid/P04a/CVS/Entries | 2 + .../xmlconf/ibm/xml-1.1/valid/P04a/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P04a/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P04a/ibm04av01.xml | 97 + .../xmlconf/ibm/xml-1.1/valid/P05/CVS/Entries | 6 + .../xmlconf/ibm/xml-1.1/valid/P05/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P05/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P05/ibm05v01.xml | 103 + .../xmlconf/ibm/xml-1.1/valid/P05/ibm05v02.xml | 55 + .../xmlconf/ibm/xml-1.1/valid/P05/ibm05v03.xml | 103 + .../xmlconf/ibm/xml-1.1/valid/P05/ibm05v04.xml | 199 + .../xmlconf/ibm/xml-1.1/valid/P05/ibm05v05.xml | 183 + .../xmlconf/ibm/xml-1.1/valid/P07/CVS/Entries | 2 + .../xmlconf/ibm/xml-1.1/valid/P07/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P07/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P07/ibm07v01.xml | 82 + .../xmlconf/ibm/xml-1.1/valid/P77/CVS/Entries | 61 + .../xmlconf/ibm/xml-1.1/valid/P77/CVS/Repository | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/CVS/Root | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v01.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v01.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v02.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v02.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v03.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v03.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v04.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v04.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v05.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v05.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v06.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v06.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v07.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v07.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v08.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v08.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v09.dtd | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v09.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v10.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v10.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v11.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v11.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v12.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v12.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v13.dtd | 4 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v13.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v14.dtd | 4 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v14.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v15.dtd | 4 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v15.xml | 5 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v16.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v16.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v17.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v17.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v18.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v18.xml | 7 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v19.dtd | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v19.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v20.dtd | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v20.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v21.dtd | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v21.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v22.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v22.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v23.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v23.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v24.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v24.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v25.dtd | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v25.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v26.dtd | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v26.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v27.dtd | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v27.xml | 3 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v28.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v28.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v29.ent | 1 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v29.xml | 6 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v30.ent | 2 + .../xmlconf/ibm/xml-1.1/valid/P77/ibm77v30.xml | 6 + .../XML-Test-Suite/xmlconf/japanese/CVS/Entries | 20 + .../XML-Test-Suite/xmlconf/japanese/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/japanese/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/japanese/japanese.xml | 88 + .../xmlconf/japanese/pr-xml-euc-jp.xml | 3549 + .../xmlconf/japanese/pr-xml-iso-2022-jp.xml | 3549 + .../xmlconf/japanese/pr-xml-little-endian.xml | Bin 0 -> 313076 bytes .../xmlconf/japanese/pr-xml-shift_jis.xml | 3549 + .../xmlconf/japanese/pr-xml-utf-16.xml | Bin 0 -> 313074 bytes .../xmlconf/japanese/pr-xml-utf-8.xml | 3548 + .../XML-Test-Suite/xmlconf/japanese/spec.dtd | 975 + .../xmlconf/japanese/weekly-euc-jp.dtd | 72 + .../xmlconf/japanese/weekly-euc-jp.xml | 78 + .../xmlconf/japanese/weekly-iso-2022-jp.dtd | 72 + .../xmlconf/japanese/weekly-iso-2022-jp.xml | 78 + .../xmlconf/japanese/weekly-little-endian.xml | Bin 0 -> 3186 bytes .../xmlconf/japanese/weekly-shift_jis.dtd | 72 + .../xmlconf/japanese/weekly-shift_jis.xml | 78 + .../xmlconf/japanese/weekly-utf-16.dtd | Bin 0 -> 5222 bytes .../xmlconf/japanese/weekly-utf-16.xml | Bin 0 -> 3186 bytes .../xmlconf/japanese/weekly-utf-8.dtd | 71 + .../xmlconf/japanese/weekly-utf-8.xml | 78 + .../XML-Test-Suite/xmlconf/oasis/CVS/Entries | 373 + .../XML-Test-Suite/xmlconf/oasis/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/oasis/CVS/Root | 1 + .../qxmlstream/XML-Test-Suite/xmlconf/oasis/e2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/oasis.xml | 1637 + .../XML-Test-Suite/xmlconf/oasis/p01fail1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p01fail2.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p01fail3.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p01fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p01pass1.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p01pass2.xml | 23 + .../XML-Test-Suite/xmlconf/oasis/p01pass3.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p02fail1.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail10.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail11.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail12.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail13.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail14.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail15.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail16.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail17.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail18.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail19.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail2.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail20.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail21.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail22.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail23.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail24.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail25.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail26.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail27.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail28.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail29.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail3.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail30.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail31.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail4.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail5.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail6.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail7.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail8.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p02fail9.xml | Bin 0 -> 26 bytes .../XML-Test-Suite/xmlconf/oasis/p03fail1.xml | Bin 0 -> 7 bytes .../XML-Test-Suite/xmlconf/oasis/p03fail10.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail11.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail12.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail13.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail14.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail15.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail16.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail17.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail18.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail19.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail20.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail21.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail22.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail23.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail24.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail25.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail26.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail27.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail28.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail29.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail5.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail7.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail8.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03fail9.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p03pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p04fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p04fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p04fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p04pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p05fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p05fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p05fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p05fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p05fail5.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p05pass1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p06fail1.xml | 13 + .../XML-Test-Suite/xmlconf/oasis/p06pass1.xml | 15 + .../XML-Test-Suite/xmlconf/oasis/p07pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p08fail1.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p08fail2.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p08pass1.xml | 12 + .../XML-Test-Suite/xmlconf/oasis/p09fail1.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p09fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p09fail2.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p09fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p09fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p09fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p09fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p09pass1.dtd | 5 + .../XML-Test-Suite/xmlconf/oasis/p09pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p10fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p10fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p10fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p10pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p11fail1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p11fail2.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p11pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p12fail1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12fail2.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12fail3.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p12fail4.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12fail5.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12fail6.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12fail7.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p12pass1.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p14fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p14fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p14fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p14pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p15fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p15fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p15fail3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p15pass1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p16fail1.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p16fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p16fail3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p16pass1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p16pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p16pass3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p18fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p18fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p18fail3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p18pass1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p22fail1.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p22fail2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p22pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p22pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p22pass3.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p22pass4.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p22pass5.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p22pass6.xml | 4 + .../XML-Test-Suite/xmlconf/oasis/p23fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23fail3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23fail4.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23fail5.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23pass3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p23pass4.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p24fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p24fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p24pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p24pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p24pass3.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p24pass4.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p25fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p25pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p25pass2.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p26fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p26fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p26pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p27fail1.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p27pass1.xml | 4 + .../XML-Test-Suite/xmlconf/oasis/p27pass2.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p27pass3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p27pass4.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p28fail1.xml | 4 + .../XML-Test-Suite/xmlconf/oasis/p28pass1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p28pass2.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p28pass3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p28pass4.dtd | 1 + .../XML-Test-Suite/xmlconf/oasis/p28pass4.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p28pass5.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p28pass5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p29fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p29pass1.xml | 12 + .../XML-Test-Suite/xmlconf/oasis/p30fail1.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p30fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p30pass1.dtd | 3 + .../XML-Test-Suite/xmlconf/oasis/p30pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p30pass2.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p30pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p31fail1.dtd | 4 + .../XML-Test-Suite/xmlconf/oasis/p31fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p31pass1.dtd | 0 .../XML-Test-Suite/xmlconf/oasis/p31pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p31pass2.dtd | 11 + .../XML-Test-Suite/xmlconf/oasis/p31pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32fail3.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32fail4.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32fail5.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p32pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p39fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p39fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p39fail3.xml | 0 .../XML-Test-Suite/xmlconf/oasis/p39fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p39fail5.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p39pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p39pass2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40pass2.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p40pass3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p40pass4.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p41fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p41fail2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p41fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p41pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p41pass2.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p42fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p42fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p42fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p42pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p42pass2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p43fail1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p43fail2.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p43fail3.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p43pass1.xml | 27 + .../XML-Test-Suite/xmlconf/oasis/p44fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44fail5.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44pass1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44pass2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p44pass3.xml | 4 + .../XML-Test-Suite/xmlconf/oasis/p44pass4.xml | 3 + .../XML-Test-Suite/xmlconf/oasis/p44pass5.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p45fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p45fail2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p45fail3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p45fail4.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p45pass1.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p46fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46fail6.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p46pass1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p47fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p47fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p47fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p47fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p47pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p48fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p48fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p48pass1.xml | 14 + .../XML-Test-Suite/xmlconf/oasis/p49fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p49pass1.xml | 15 + .../XML-Test-Suite/xmlconf/oasis/p50fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p50pass1.xml | 15 + .../XML-Test-Suite/xmlconf/oasis/p51fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p51fail2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p51fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p51fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p51fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p51fail6.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p51fail7.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p51pass1.xml | 16 + .../XML-Test-Suite/xmlconf/oasis/p52fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p52fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p52pass1.xml | 23 + .../XML-Test-Suite/xmlconf/oasis/p53fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p53fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p53fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p53fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p53fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p53pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p54fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p54pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p55fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p55pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p56pass1.xml | 19 + .../XML-Test-Suite/xmlconf/oasis/p57fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p57pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p58fail1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p58fail2.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p58fail3.xml | 12 + .../XML-Test-Suite/xmlconf/oasis/p58fail4.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p58fail5.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p58fail6.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p58fail7.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p58fail8.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p58pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p59fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p59fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p59fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p59pass1.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p60fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p60fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p60fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p60fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p60fail5.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p60pass1.xml | 13 + .../XML-Test-Suite/xmlconf/oasis/p61fail1.dtd | 4 + .../XML-Test-Suite/xmlconf/oasis/p61fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p61pass1.dtd | 6 + .../XML-Test-Suite/xmlconf/oasis/p61pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p62fail1.dtd | 3 + .../XML-Test-Suite/xmlconf/oasis/p62fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p62fail2.dtd | 3 + .../XML-Test-Suite/xmlconf/oasis/p62fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p62pass1.dtd | 12 + .../XML-Test-Suite/xmlconf/oasis/p62pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p63fail1.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p63fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p63fail2.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p63fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p63pass1.dtd | 13 + .../XML-Test-Suite/xmlconf/oasis/p63pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p64fail1.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p64fail1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p64fail2.dtd | 2 + .../XML-Test-Suite/xmlconf/oasis/p64fail2.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p64pass1.dtd | 13 + .../XML-Test-Suite/xmlconf/oasis/p64pass1.xml | 2 + .../XML-Test-Suite/xmlconf/oasis/p66fail1.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66fail2.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66fail3.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66fail4.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66fail5.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66fail6.xml | 1 + .../XML-Test-Suite/xmlconf/oasis/p66pass1.xml | 4 + .../XML-Test-Suite/xmlconf/oasis/p68fail1.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p68fail2.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p68fail3.xml | 8 + .../XML-Test-Suite/xmlconf/oasis/p68pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p69fail1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p69fail2.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p69fail3.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p69pass1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p70fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p70pass1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p71fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p71fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p71fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p71fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p71pass1.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p72fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p72fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p72fail3.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p72fail4.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p72pass1.xml | 11 + .../XML-Test-Suite/xmlconf/oasis/p73fail1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p73fail2.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p73fail3.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p73fail4.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p73fail5.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p73pass1.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p74fail1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p74fail2.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p74fail3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p74pass1.xml | 6 + .../XML-Test-Suite/xmlconf/oasis/p75fail1.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75fail2.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75fail3.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75fail4.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75fail5.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75fail6.xml | 5 + .../XML-Test-Suite/xmlconf/oasis/p75pass1.xml | 10 + .../XML-Test-Suite/xmlconf/oasis/p76fail1.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p76fail2.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p76fail3.xml | 7 + .../XML-Test-Suite/xmlconf/oasis/p76fail4.xml | 9 + .../XML-Test-Suite/xmlconf/oasis/p76pass1.xml | 11 + .../qxmlstream/XML-Test-Suite/xmlconf/readme.html | 201 + .../XML-Test-Suite/xmlconf/sun/CVS/Entries | 8 + .../XML-Test-Suite/xmlconf/sun/CVS/Repository | 1 + .../qxmlstream/XML-Test-Suite/xmlconf/sun/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/sun/cxml.html | 155 + .../XML-Test-Suite/xmlconf/sun/invalid/CVS/Entries | 76 + .../xmlconf/sun/invalid/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/sun/invalid/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/sun/invalid/attr01.xml | 9 + .../XML-Test-Suite/xmlconf/sun/invalid/attr02.xml | 12 + .../XML-Test-Suite/xmlconf/sun/invalid/attr03.xml | 17 + .../XML-Test-Suite/xmlconf/sun/invalid/attr04.xml | 12 + .../XML-Test-Suite/xmlconf/sun/invalid/attr05.xml | 9 + .../XML-Test-Suite/xmlconf/sun/invalid/attr06.xml | 9 + .../XML-Test-Suite/xmlconf/sun/invalid/attr07.xml | 10 + .../XML-Test-Suite/xmlconf/sun/invalid/attr08.xml | 9 + .../XML-Test-Suite/xmlconf/sun/invalid/attr09.xml | 20 + .../XML-Test-Suite/xmlconf/sun/invalid/attr10.xml | 20 + .../XML-Test-Suite/xmlconf/sun/invalid/attr11.xml | 15 + .../XML-Test-Suite/xmlconf/sun/invalid/attr12.xml | 15 + .../XML-Test-Suite/xmlconf/sun/invalid/attr13.xml | 11 + .../XML-Test-Suite/xmlconf/sun/invalid/attr14.xml | 12 + .../XML-Test-Suite/xmlconf/sun/invalid/attr15.xml | 14 + .../XML-Test-Suite/xmlconf/sun/invalid/attr16.xml | 10 + .../XML-Test-Suite/xmlconf/sun/invalid/dtd01.xml | 7 + .../XML-Test-Suite/xmlconf/sun/invalid/dtd02.xml | 5 + .../XML-Test-Suite/xmlconf/sun/invalid/dtd03.xml | 14 + .../XML-Test-Suite/xmlconf/sun/invalid/dtd06.xml | 6 + .../XML-Test-Suite/xmlconf/sun/invalid/el01.xml | 5 + .../XML-Test-Suite/xmlconf/sun/invalid/el02.xml | 4 + .../XML-Test-Suite/xmlconf/sun/invalid/el03.xml | 5 + .../XML-Test-Suite/xmlconf/sun/invalid/el04.xml | 6 + .../XML-Test-Suite/xmlconf/sun/invalid/el05.xml | 5 + .../XML-Test-Suite/xmlconf/sun/invalid/el06.xml | 6 + .../XML-Test-Suite/xmlconf/sun/invalid/empty.xml | 22 + .../XML-Test-Suite/xmlconf/sun/invalid/id01.xml | 7 + .../XML-Test-Suite/xmlconf/sun/invalid/id02.xml | 9 + .../XML-Test-Suite/xmlconf/sun/invalid/id03.xml | 10 + .../XML-Test-Suite/xmlconf/sun/invalid/id04.xml | 12 + .../XML-Test-Suite/xmlconf/sun/invalid/id05.xml | 14 + .../XML-Test-Suite/xmlconf/sun/invalid/id06.xml | 14 + .../XML-Test-Suite/xmlconf/sun/invalid/id07.xml | 16 + .../XML-Test-Suite/xmlconf/sun/invalid/id08.xml | 14 + .../XML-Test-Suite/xmlconf/sun/invalid/id09.xml | 17 + .../xmlconf/sun/invalid/not-sa01.xml | 10 + .../xmlconf/sun/invalid/not-sa02.xml | 31 + .../xmlconf/sun/invalid/not-sa04.xml | 11 + .../xmlconf/sun/invalid/not-sa05.xml | 11 + .../xmlconf/sun/invalid/not-sa06.xml | 13 + .../xmlconf/sun/invalid/not-sa07.xml | 12 + .../xmlconf/sun/invalid/not-sa08.xml | 12 + .../xmlconf/sun/invalid/not-sa09.xml | 12 + .../xmlconf/sun/invalid/not-sa10.xml | 14 + .../xmlconf/sun/invalid/not-sa11.xml | 14 + .../xmlconf/sun/invalid/not-sa12.xml | 12 + .../xmlconf/sun/invalid/not-sa13.xml | 16 + .../xmlconf/sun/invalid/not-sa14.xml | 11 + .../xmlconf/sun/invalid/optional01.xml | 4 + .../xmlconf/sun/invalid/optional02.xml | 5 + .../xmlconf/sun/invalid/optional03.xml | 5 + .../xmlconf/sun/invalid/optional04.xml | 5 + .../xmlconf/sun/invalid/optional05.xml | 5 + .../xmlconf/sun/invalid/optional06.xml | 6 + .../xmlconf/sun/invalid/optional07.xml | 6 + .../xmlconf/sun/invalid/optional08.xml | 6 + .../xmlconf/sun/invalid/optional09.xml | 6 + .../xmlconf/sun/invalid/optional10.xml | 6 + .../xmlconf/sun/invalid/optional11.xml | 7 + .../xmlconf/sun/invalid/optional12.xml | 7 + .../xmlconf/sun/invalid/optional13.xml | 7 + .../xmlconf/sun/invalid/optional14.xml | 7 + .../xmlconf/sun/invalid/optional20.xml | 4 + .../xmlconf/sun/invalid/optional21.xml | 5 + .../xmlconf/sun/invalid/optional22.xml | 5 + .../xmlconf/sun/invalid/optional23.xml | 5 + .../xmlconf/sun/invalid/optional24.xml | 5 + .../xmlconf/sun/invalid/optional25.xml | 5 + .../xmlconf/sun/invalid/required00.xml | 10 + .../xmlconf/sun/invalid/required01.xml | 7 + .../xmlconf/sun/invalid/required02.xml | 8 + .../XML-Test-Suite/xmlconf/sun/invalid/root.xml | 7 + .../XML-Test-Suite/xmlconf/sun/invalid/utf16b.xml | Bin 0 -> 98 bytes .../XML-Test-Suite/xmlconf/sun/invalid/utf16l.xml | Bin 0 -> 98 bytes .../XML-Test-Suite/xmlconf/sun/not-wf/CVS/Entries | 61 + .../xmlconf/sun/not-wf/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/sun/not-wf/CVS/Root | 1 + .../xmlconf/sun/not-wf/attlist01.xml | 12 + .../xmlconf/sun/not-wf/attlist02.xml | 13 + .../xmlconf/sun/not-wf/attlist03.xml | 13 + .../xmlconf/sun/not-wf/attlist04.xml | 13 + .../xmlconf/sun/not-wf/attlist05.xml | 13 + .../xmlconf/sun/not-wf/attlist06.xml | 13 + .../xmlconf/sun/not-wf/attlist07.xml | 13 + .../xmlconf/sun/not-wf/attlist08.xml | 12 + .../xmlconf/sun/not-wf/attlist09.xml | 11 + .../xmlconf/sun/not-wf/attlist10.xml | 8 + .../xmlconf/sun/not-wf/attlist11.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/cond.dtd | 3 + .../XML-Test-Suite/xmlconf/sun/not-wf/cond01.xml | 5 + .../XML-Test-Suite/xmlconf/sun/not-wf/cond02.xml | 6 + .../xmlconf/sun/not-wf/content01.xml | 5 + .../xmlconf/sun/not-wf/content02.xml | 6 + .../xmlconf/sun/not-wf/content03.xml | 6 + .../XML-Test-Suite/xmlconf/sun/not-wf/decl01.ent | 2 + .../XML-Test-Suite/xmlconf/sun/not-wf/decl01.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd00.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd01.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd02.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd03.xml | 9 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd04.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd05.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd07.dtd | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/dtd07.xml | 4 + .../xmlconf/sun/not-wf/element00.xml | 3 + .../xmlconf/sun/not-wf/element01.xml | 3 + .../xmlconf/sun/not-wf/element02.xml | 4 + .../xmlconf/sun/not-wf/element03.xml | 5 + .../xmlconf/sun/not-wf/element04.xml | 4 + .../xmlconf/sun/not-wf/encoding01.xml | 2 + .../xmlconf/sun/not-wf/encoding02.xml | 3 + .../xmlconf/sun/not-wf/encoding03.xml | 3 + .../xmlconf/sun/not-wf/encoding04.xml | 3 + .../xmlconf/sun/not-wf/encoding05.xml | 3 + .../xmlconf/sun/not-wf/encoding06.xml | 5 + .../xmlconf/sun/not-wf/encoding07.xml | 10 + .../XML-Test-Suite/xmlconf/sun/not-wf/not-sa03.xml | 12 + .../XML-Test-Suite/xmlconf/sun/not-wf/pi.xml | 6 + .../XML-Test-Suite/xmlconf/sun/not-wf/pubid01.xml | 9 + .../XML-Test-Suite/xmlconf/sun/not-wf/pubid02.xml | 10 + .../XML-Test-Suite/xmlconf/sun/not-wf/pubid03.xml | 10 + .../XML-Test-Suite/xmlconf/sun/not-wf/pubid04.xml | 10 + .../XML-Test-Suite/xmlconf/sun/not-wf/pubid05.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml01.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml02.xml | 4 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml03.xml | 4 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml04.xml | 12 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml05.xml | 12 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml06.xml | 11 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml07.xml | 6 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml08.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml09.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml10.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml11.xml | 7 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml12.xml | 8 + .../XML-Test-Suite/xmlconf/sun/not-wf/sgml13.xml | 11 + .../XML-Test-Suite/xmlconf/sun/not-wf/uri01.xml | 6 + .../XML-Test-Suite/xmlconf/sun/sun-error.xml | 10 + .../XML-Test-Suite/xmlconf/sun/sun-invalid.xml | 359 + .../XML-Test-Suite/xmlconf/sun/sun-not-wf.xml | 179 + .../XML-Test-Suite/xmlconf/sun/sun-valid.xml | 147 + .../XML-Test-Suite/xmlconf/sun/valid/CVS/Entries | 37 + .../xmlconf/sun/valid/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/sun/valid/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/sun/valid/dtd00.xml | 7 + .../XML-Test-Suite/xmlconf/sun/valid/dtd01.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/dtdtest.dtd | 43 + .../XML-Test-Suite/xmlconf/sun/valid/element.xml | 38 + .../XML-Test-Suite/xmlconf/sun/valid/ext01.ent | 7 + .../XML-Test-Suite/xmlconf/sun/valid/ext01.xml | 9 + .../XML-Test-Suite/xmlconf/sun/valid/ext02.xml | 8 + .../XML-Test-Suite/xmlconf/sun/valid/not-sa01.xml | 10 + .../XML-Test-Suite/xmlconf/sun/valid/not-sa02.xml | 30 + .../XML-Test-Suite/xmlconf/sun/valid/not-sa03.xml | 25 + .../XML-Test-Suite/xmlconf/sun/valid/not-sa04.xml | 30 + .../xmlconf/sun/valid/notation01.dtd | 8 + .../xmlconf/sun/valid/notation01.xml | 5 + .../XML-Test-Suite/xmlconf/sun/valid/null.ent | 0 .../XML-Test-Suite/xmlconf/sun/valid/optional.xml | 50 + .../xmlconf/sun/valid/out/CVS/Entries | 28 + .../xmlconf/sun/valid/out/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/dtd00.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/dtd01.xml | 1 + .../xmlconf/sun/valid/out/element.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/ext01.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/ext02.xml | 1 + .../xmlconf/sun/valid/out/not-sa01.xml | 6 + .../xmlconf/sun/valid/out/not-sa02.xml | 6 + .../xmlconf/sun/valid/out/not-sa03.xml | 6 + .../xmlconf/sun/valid/out/not-sa04.xml | 6 + .../xmlconf/sun/valid/out/notation01.xml | 4 + .../xmlconf/sun/valid/out/optional.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/pe00.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/pe02.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/pe03.xml | 1 + .../xmlconf/sun/valid/out/required00.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/sa01.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/out/sa02.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/out/sa03.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/out/sa04.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/out/sa05.xml | 6 + .../xmlconf/sun/valid/out/sgml01.xml | 1 + .../xmlconf/sun/valid/out/v-lang01.xml | 1 + .../xmlconf/sun/valid/out/v-lang02.xml | 1 + .../xmlconf/sun/valid/out/v-lang03.xml | 1 + .../xmlconf/sun/valid/out/v-lang04.xml | 1 + .../xmlconf/sun/valid/out/v-lang05.xml | 1 + .../xmlconf/sun/valid/out/v-lang06.xml | 1 + .../XML-Test-Suite/xmlconf/sun/valid/pe00.dtd | 6 + .../XML-Test-Suite/xmlconf/sun/valid/pe00.xml | 2 + .../XML-Test-Suite/xmlconf/sun/valid/pe01.dtd | 6 + .../XML-Test-Suite/xmlconf/sun/valid/pe01.ent | 2 + .../XML-Test-Suite/xmlconf/sun/valid/pe01.xml | 2 + .../XML-Test-Suite/xmlconf/sun/valid/pe02.xml | 9 + .../XML-Test-Suite/xmlconf/sun/valid/pe03.xml | 8 + .../xmlconf/sun/valid/required00.xml | 8 + .../XML-Test-Suite/xmlconf/sun/valid/sa.dtd | 39 + .../XML-Test-Suite/xmlconf/sun/valid/sa01.xml | 13 + .../XML-Test-Suite/xmlconf/sun/valid/sa02.xml | 52 + .../XML-Test-Suite/xmlconf/sun/valid/sa03.xml | 28 + .../XML-Test-Suite/xmlconf/sun/valid/sa04.xml | 38 + .../XML-Test-Suite/xmlconf/sun/valid/sa05.xml | 7 + .../XML-Test-Suite/xmlconf/sun/valid/sgml01.xml | 14 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang01.xml | 5 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang02.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang03.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang04.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang05.xml | 6 + .../XML-Test-Suite/xmlconf/sun/valid/v-lang06.xml | 6 + .../XML-Test-Suite/xmlconf/testcases.dtd | 140 + .../XML-Test-Suite/xmlconf/xmlconf-20010315.htm | 39994 +++++++++ .../XML-Test-Suite/xmlconf/xmlconf-20010315.xml | 54 + .../XML-Test-Suite/xmlconf/xmlconf-20020521.htm | 39943 +++++++++ .../XML-Test-Suite/xmlconf/xmlconf-20031030.htm | 54207 ++++++++++++ .../qxmlstream/XML-Test-Suite/xmlconf/xmlconf.xml | 94 + .../XML-Test-Suite/xmlconf/xmlconformance.msxsl | 527 + .../XML-Test-Suite/xmlconf/xmlconformance.xsl | 512 + .../XML-Test-Suite/xmlconf/xmltest/CVS/Entries | 6 + .../XML-Test-Suite/xmlconf/xmltest/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/xmltest/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/xmltest/canonxml.html | 44 + .../XML-Test-Suite/xmlconf/xmltest/invalid/002.ent | 2 + .../XML-Test-Suite/xmlconf/xmltest/invalid/002.xml | 2 + .../XML-Test-Suite/xmlconf/xmltest/invalid/005.ent | 2 + .../XML-Test-Suite/xmlconf/xmltest/invalid/005.xml | 2 + .../XML-Test-Suite/xmlconf/xmltest/invalid/006.ent | 2 + .../XML-Test-Suite/xmlconf/xmltest/invalid/006.xml | 2 + .../xmlconf/xmltest/invalid/CVS/Entries | 7 + .../xmlconf/xmltest/invalid/CVS/Repository | 1 + .../xmlconf/xmltest/invalid/CVS/Root | 1 + .../xmlconf/xmltest/invalid/not-sa/022.ent | 3 + .../xmlconf/xmltest/invalid/not-sa/022.xml | 2 + .../xmlconf/xmltest/invalid/not-sa/CVS/Entries | 3 + .../xmlconf/xmltest/invalid/not-sa/CVS/Repository | 1 + .../xmlconf/xmltest/invalid/not-sa/CVS/Root | 1 + .../xmlconf/xmltest/invalid/not-sa/out/022.xml | 1 + .../xmlconf/xmltest/invalid/not-sa/out/CVS/Entries | 2 + .../xmltest/invalid/not-sa/out/CVS/Repository | 1 + .../xmlconf/xmltest/invalid/not-sa/out/CVS/Root | 1 + .../xmlconf/xmltest/not-wf/CVS/Entries | 1 + .../xmlconf/xmltest/not-wf/CVS/Entries.Log | 3 + .../xmlconf/xmltest/not-wf/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root | 1 + .../xmlconf/xmltest/not-wf/ext-sa/001.ent | 1 + .../xmlconf/xmltest/not-wf/ext-sa/001.xml | 4 + .../xmlconf/xmltest/not-wf/ext-sa/002.ent | 3 + .../xmlconf/xmltest/not-wf/ext-sa/002.xml | 5 + .../xmlconf/xmltest/not-wf/ext-sa/003.ent | 2 + .../xmlconf/xmltest/not-wf/ext-sa/003.xml | 5 + .../xmlconf/xmltest/not-wf/ext-sa/CVS/Entries | 7 + .../xmlconf/xmltest/not-wf/ext-sa/CVS/Repository | 1 + .../xmlconf/xmltest/not-wf/ext-sa/CVS/Root | 1 + .../xmlconf/xmltest/not-wf/not-sa/001.ent | 3 + .../xmlconf/xmltest/not-wf/not-sa/001.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/002.xml | 6 + .../xmlconf/xmltest/not-wf/not-sa/003.ent | 2 + .../xmlconf/xmltest/not-wf/not-sa/003.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/004.ent | 2 + .../xmlconf/xmltest/not-wf/not-sa/004.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/005.ent | 2 + .../xmlconf/xmltest/not-wf/not-sa/005.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/006.ent | 3 + .../xmlconf/xmltest/not-wf/not-sa/006.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/007.ent | 3 + .../xmlconf/xmltest/not-wf/not-sa/007.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/008.ent | 2 + .../xmlconf/xmltest/not-wf/not-sa/008.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/009.ent | 3 + .../xmlconf/xmltest/not-wf/not-sa/009.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/010.ent | 2 + .../xmlconf/xmltest/not-wf/not-sa/010.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/011.ent | 3 + .../xmlconf/xmltest/not-wf/not-sa/011.xml | 2 + .../xmlconf/xmltest/not-wf/not-sa/CVS/Entries | 22 + .../xmlconf/xmltest/not-wf/not-sa/CVS/Repository | 1 + .../xmlconf/xmltest/not-wf/not-sa/CVS/Root | 1 + .../xmlconf/xmltest/not-wf/sa/001.xml | 5 + .../xmlconf/xmltest/not-wf/sa/002.xml | 4 + .../xmlconf/xmltest/not-wf/sa/003.xml | 1 + .../xmlconf/xmltest/not-wf/sa/004.xml | 1 + .../xmlconf/xmltest/not-wf/sa/005.xml | 1 + .../xmlconf/xmltest/not-wf/sa/006.xml | 1 + .../xmlconf/xmltest/not-wf/sa/007.xml | 1 + .../xmlconf/xmltest/not-wf/sa/008.xml | 1 + .../xmlconf/xmltest/not-wf/sa/009.xml | 1 + .../xmlconf/xmltest/not-wf/sa/010.xml | 1 + .../xmlconf/xmltest/not-wf/sa/011.xml | 1 + .../xmlconf/xmltest/not-wf/sa/012.xml | 1 + .../xmlconf/xmltest/not-wf/sa/013.xml | 1 + .../xmlconf/xmltest/not-wf/sa/014.xml | 1 + .../xmlconf/xmltest/not-wf/sa/015.xml | 1 + .../xmlconf/xmltest/not-wf/sa/016.xml | 1 + .../xmlconf/xmltest/not-wf/sa/017.xml | 1 + .../xmlconf/xmltest/not-wf/sa/018.xml | 1 + .../xmlconf/xmltest/not-wf/sa/019.xml | 1 + .../xmlconf/xmltest/not-wf/sa/020.xml | 1 + .../xmlconf/xmltest/not-wf/sa/021.xml | 1 + .../xmlconf/xmltest/not-wf/sa/022.xml | 1 + .../xmlconf/xmltest/not-wf/sa/023.xml | 1 + .../xmlconf/xmltest/not-wf/sa/024.xml | 3 + .../xmlconf/xmltest/not-wf/sa/025.xml | 1 + .../xmlconf/xmltest/not-wf/sa/026.xml | 1 + .../xmlconf/xmltest/not-wf/sa/027.xml | 3 + .../xmlconf/xmltest/not-wf/sa/028.xml | 4 + .../xmlconf/xmltest/not-wf/sa/029.xml | 1 + .../xmlconf/xmltest/not-wf/sa/030.xml | 1 + .../xmlconf/xmltest/not-wf/sa/031.xml | 1 + .../xmlconf/xmltest/not-wf/sa/032.xml | 1 + .../xmlconf/xmltest/not-wf/sa/033.xml | 1 + .../xmlconf/xmltest/not-wf/sa/034.xml | 1 + .../xmlconf/xmltest/not-wf/sa/035.xml | 1 + .../xmlconf/xmltest/not-wf/sa/036.xml | 2 + .../xmlconf/xmltest/not-wf/sa/037.xml | 2 + .../xmlconf/xmltest/not-wf/sa/038.xml | 1 + .../xmlconf/xmltest/not-wf/sa/039.xml | 1 + .../xmlconf/xmltest/not-wf/sa/040.xml | 2 + .../xmlconf/xmltest/not-wf/sa/041.xml | 2 + .../xmlconf/xmltest/not-wf/sa/042.xml | 1 + .../xmlconf/xmltest/not-wf/sa/043.xml | 2 + .../xmlconf/xmltest/not-wf/sa/044.xml | 1 + .../xmlconf/xmltest/not-wf/sa/045.xml | 4 + .../xmlconf/xmltest/not-wf/sa/046.xml | 3 + .../xmlconf/xmltest/not-wf/sa/047.xml | 3 + .../xmlconf/xmltest/not-wf/sa/048.xml | 3 + .../xmlconf/xmltest/not-wf/sa/049.xml | 4 + .../xmlconf/xmltest/not-wf/sa/050.xml | 0 .../xmlconf/xmltest/not-wf/sa/051.xml | 3 + .../xmlconf/xmltest/not-wf/sa/052.xml | 3 + .../xmlconf/xmltest/not-wf/sa/053.xml | 1 + .../xmlconf/xmltest/not-wf/sa/054.xml | 4 + .../xmlconf/xmltest/not-wf/sa/055.xml | 2 + .../xmlconf/xmltest/not-wf/sa/056.xml | 2 + .../xmlconf/xmltest/not-wf/sa/057.xml | 4 + .../xmlconf/xmltest/not-wf/sa/058.xml | 5 + .../xmlconf/xmltest/not-wf/sa/059.xml | 5 + .../xmlconf/xmltest/not-wf/sa/060.xml | 5 + .../xmlconf/xmltest/not-wf/sa/061.xml | 4 + .../xmlconf/xmltest/not-wf/sa/062.xml | 4 + .../xmlconf/xmltest/not-wf/sa/063.xml | 4 + .../xmlconf/xmltest/not-wf/sa/064.xml | 5 + .../xmlconf/xmltest/not-wf/sa/065.xml | 5 + .../xmlconf/xmltest/not-wf/sa/066.xml | 5 + .../xmlconf/xmltest/not-wf/sa/067.xml | 5 + .../xmlconf/xmltest/not-wf/sa/068.xml | 5 + .../xmlconf/xmltest/not-wf/sa/069.xml | 6 + .../xmlconf/xmltest/not-wf/sa/070.xml | 2 + .../xmlconf/xmltest/not-wf/sa/071.xml | 6 + .../xmlconf/xmltest/not-wf/sa/072.xml | 1 + .../xmlconf/xmltest/not-wf/sa/073.xml | 4 + .../xmlconf/xmltest/not-wf/sa/074.xml | 6 + .../xmlconf/xmltest/not-wf/sa/075.xml | 7 + .../xmlconf/xmltest/not-wf/sa/076.xml | 1 + .../xmlconf/xmltest/not-wf/sa/077.xml | 4 + .../xmlconf/xmltest/not-wf/sa/078.xml | 5 + .../xmlconf/xmltest/not-wf/sa/079.xml | 8 + .../xmlconf/xmltest/not-wf/sa/080.xml | 8 + .../xmlconf/xmltest/not-wf/sa/081.xml | 4 + .../xmlconf/xmltest/not-wf/sa/082.xml | 6 + .../xmlconf/xmltest/not-wf/sa/083.xml | 4 + .../xmlconf/xmltest/not-wf/sa/084.xml | 6 + .../xmlconf/xmltest/not-wf/sa/085.xml | 2 + .../xmlconf/xmltest/not-wf/sa/086.xml | 4 + .../xmlconf/xmltest/not-wf/sa/087.xml | 4 + .../xmlconf/xmltest/not-wf/sa/088.xml | 6 + .../xmlconf/xmltest/not-wf/sa/089.xml | 4 + .../xmlconf/xmltest/not-wf/sa/090.xml | 4 + .../xmlconf/xmltest/not-wf/sa/091.xml | 5 + .../xmlconf/xmltest/not-wf/sa/092.xml | 4 + .../xmlconf/xmltest/not-wf/sa/093.xml | 1 + .../xmlconf/xmltest/not-wf/sa/094.xml | 2 + .../xmlconf/xmltest/not-wf/sa/095.xml | 2 + .../xmlconf/xmltest/not-wf/sa/096.xml | 2 + .../xmlconf/xmltest/not-wf/sa/097.xml | 2 + .../xmlconf/xmltest/not-wf/sa/098.xml | 2 + .../xmlconf/xmltest/not-wf/sa/099.xml | 2 + .../xmlconf/xmltest/not-wf/sa/100.xml | 2 + .../xmlconf/xmltest/not-wf/sa/101.xml | 2 + .../xmlconf/xmltest/not-wf/sa/102.xml | 2 + .../xmlconf/xmltest/not-wf/sa/103.xml | 4 + .../xmlconf/xmltest/not-wf/sa/104.xml | 4 + .../xmlconf/xmltest/not-wf/sa/105.xml | 4 + .../xmlconf/xmltest/not-wf/sa/106.xml | 2 + .../xmlconf/xmltest/not-wf/sa/107.xml | 4 + .../xmlconf/xmltest/not-wf/sa/108.xml | 3 + .../xmlconf/xmltest/not-wf/sa/109.xml | 4 + .../xmlconf/xmltest/not-wf/sa/110.xml | 5 + .../xmlconf/xmltest/not-wf/sa/111.xml | 4 + .../xmlconf/xmltest/not-wf/sa/112.xml | 3 + .../xmlconf/xmltest/not-wf/sa/113.xml | 4 + .../xmlconf/xmltest/not-wf/sa/114.xml | 4 + .../xmlconf/xmltest/not-wf/sa/115.xml | 4 + .../xmlconf/xmltest/not-wf/sa/116.xml | 4 + .../xmlconf/xmltest/not-wf/sa/117.xml | 4 + .../xmlconf/xmltest/not-wf/sa/118.xml | 4 + .../xmlconf/xmltest/not-wf/sa/119.xml | 6 + .../xmlconf/xmltest/not-wf/sa/120.xml | 6 + .../xmlconf/xmltest/not-wf/sa/121.xml | 4 + .../xmlconf/xmltest/not-wf/sa/122.xml | 4 + .../xmlconf/xmltest/not-wf/sa/123.xml | 4 + .../xmlconf/xmltest/not-wf/sa/124.xml | 4 + .../xmlconf/xmltest/not-wf/sa/125.xml | 4 + .../xmlconf/xmltest/not-wf/sa/126.xml | 4 + .../xmlconf/xmltest/not-wf/sa/127.xml | 4 + .../xmlconf/xmltest/not-wf/sa/128.xml | 4 + .../xmlconf/xmltest/not-wf/sa/129.xml | 4 + .../xmlconf/xmltest/not-wf/sa/130.xml | 4 + .../xmlconf/xmltest/not-wf/sa/131.xml | 4 + .../xmlconf/xmltest/not-wf/sa/132.xml | 4 + .../xmlconf/xmltest/not-wf/sa/133.xml | 4 + .../xmlconf/xmltest/not-wf/sa/134.xml | 4 + .../xmlconf/xmltest/not-wf/sa/135.xml | 4 + .../xmlconf/xmltest/not-wf/sa/136.xml | 4 + .../xmlconf/xmltest/not-wf/sa/137.xml | 4 + .../xmlconf/xmltest/not-wf/sa/138.xml | 4 + .../xmlconf/xmltest/not-wf/sa/139.xml | 4 + .../xmlconf/xmltest/not-wf/sa/140.xml | 4 + .../xmlconf/xmltest/not-wf/sa/141.xml | 4 + .../xmlconf/xmltest/not-wf/sa/142.xml | 4 + .../xmlconf/xmltest/not-wf/sa/143.xml | 4 + .../xmlconf/xmltest/not-wf/sa/144.xml | 4 + .../xmlconf/xmltest/not-wf/sa/145.xml | 4 + .../xmlconf/xmltest/not-wf/sa/146.xml | 4 + .../xmlconf/xmltest/not-wf/sa/147.xml | 3 + .../xmlconf/xmltest/not-wf/sa/148.xml | 3 + .../xmlconf/xmltest/not-wf/sa/149.xml | 5 + .../xmlconf/xmltest/not-wf/sa/150.xml | 3 + .../xmlconf/xmltest/not-wf/sa/151.xml | 3 + .../xmlconf/xmltest/not-wf/sa/152.xml | 2 + .../xmlconf/xmltest/not-wf/sa/153.xml | 5 + .../xmlconf/xmltest/not-wf/sa/154.xml | 2 + .../xmlconf/xmltest/not-wf/sa/155.xml | 2 + .../xmlconf/xmltest/not-wf/sa/156.xml | 3 + .../xmlconf/xmltest/not-wf/sa/157.xml | 3 + .../xmlconf/xmltest/not-wf/sa/158.xml | 6 + .../xmlconf/xmltest/not-wf/sa/159.xml | 5 + .../xmlconf/xmltest/not-wf/sa/160.xml | 6 + .../xmlconf/xmltest/not-wf/sa/161.xml | 5 + .../xmlconf/xmltest/not-wf/sa/162.xml | 6 + .../xmlconf/xmltest/not-wf/sa/163.xml | 6 + .../xmlconf/xmltest/not-wf/sa/164.xml | 5 + .../xmlconf/xmltest/not-wf/sa/165.xml | 5 + .../xmlconf/xmltest/not-wf/sa/166.xml | 1 + .../xmlconf/xmltest/not-wf/sa/167.xml | 1 + .../xmlconf/xmltest/not-wf/sa/168.xml | 1 + .../xmlconf/xmltest/not-wf/sa/169.xml | 1 + .../xmlconf/xmltest/not-wf/sa/170.xml | 1 + .../xmlconf/xmltest/not-wf/sa/171.xml | 2 + .../xmlconf/xmltest/not-wf/sa/172.xml | 2 + .../xmlconf/xmltest/not-wf/sa/173.xml | 1 + .../xmlconf/xmltest/not-wf/sa/174.xml | 1 + .../xmlconf/xmltest/not-wf/sa/175.xml | 5 + .../xmlconf/xmltest/not-wf/sa/176.xml | 4 + .../xmlconf/xmltest/not-wf/sa/177.xml | 4 + .../xmlconf/xmltest/not-wf/sa/178.xml | 5 + .../xmlconf/xmltest/not-wf/sa/179.xml | 4 + .../xmlconf/xmltest/not-wf/sa/180.xml | 6 + .../xmlconf/xmltest/not-wf/sa/181.xml | 5 + .../xmlconf/xmltest/not-wf/sa/182.xml | 5 + .../xmlconf/xmltest/not-wf/sa/183.xml | 5 + .../xmlconf/xmltest/not-wf/sa/184.xml | 6 + .../xmlconf/xmltest/not-wf/sa/185.ent | 1 + .../xmlconf/xmltest/not-wf/sa/185.xml | 3 + .../xmlconf/xmltest/not-wf/sa/186.xml | 5 + .../xmlconf/xmltest/not-wf/sa/CVS/Entries | 189 + .../xmlconf/xmltest/not-wf/sa/CVS/Repository | 1 + .../xmlconf/xmltest/not-wf/sa/CVS/Root | 1 + .../xmlconf/xmltest/not-wf/sa/null.ent | 0 .../XML-Test-Suite/xmlconf/xmltest/readme.html | 60 + .../xmlconf/xmltest/valid/CVS/Entries | 1 + .../xmlconf/xmltest/valid/CVS/Entries.Log | 3 + .../xmlconf/xmltest/valid/CVS/Repository | 1 + .../XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root | 1 + .../xmlconf/xmltest/valid/ext-sa/001.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/001.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/002.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/002.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/003.ent | 0 .../xmlconf/xmltest/valid/ext-sa/003.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/004.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/004.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/005.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/005.xml | 6 + .../xmlconf/xmltest/valid/ext-sa/006.ent | 4 + .../xmlconf/xmltest/valid/ext-sa/006.xml | 6 + .../xmlconf/xmltest/valid/ext-sa/007.ent | Bin 0 -> 4 bytes .../xmlconf/xmltest/valid/ext-sa/007.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/008.ent | Bin 0 -> 54 bytes .../xmlconf/xmltest/valid/ext-sa/008.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/009.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/009.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/010.ent | 0 .../xmlconf/xmltest/valid/ext-sa/010.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/011.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/011.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/012.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/012.xml | 9 + .../xmlconf/xmltest/valid/ext-sa/013.ent | 1 + .../xmlconf/xmltest/valid/ext-sa/013.xml | 10 + .../xmlconf/xmltest/valid/ext-sa/014.ent | Bin 0 -> 12 bytes .../xmlconf/xmltest/valid/ext-sa/014.xml | 5 + .../xmlconf/xmltest/valid/ext-sa/CVS/Entries | 29 + .../xmlconf/xmltest/valid/ext-sa/CVS/Repository | 1 + .../xmlconf/xmltest/valid/ext-sa/CVS/Root | 1 + .../xmlconf/xmltest/valid/ext-sa/out/001.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/002.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/003.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/004.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/005.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/006.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/007.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/008.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/009.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/010.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/011.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/012.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/013.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/014.xml | 1 + .../xmlconf/xmltest/valid/ext-sa/out/CVS/Entries | 15 + .../xmltest/valid/ext-sa/out/CVS/Repository | 1 + .../xmlconf/xmltest/valid/ext-sa/out/CVS/Root | 1 + .../xmlconf/xmltest/valid/not-sa/001.ent | 0 .../xmlconf/xmltest/valid/not-sa/001.xml | 4 + .../xmlconf/xmltest/valid/not-sa/002.ent | 1 + .../xmlconf/xmltest/valid/not-sa/002.xml | 4 + .../xmlconf/xmltest/valid/not-sa/003-1.ent | 3 + .../xmlconf/xmltest/valid/not-sa/003-2.ent | 0 .../xmlconf/xmltest/valid/not-sa/003.xml | 2 + .../xmlconf/xmltest/valid/not-sa/004-1.ent | 4 + .../xmlconf/xmltest/valid/not-sa/004-2.ent | 1 + .../xmlconf/xmltest/valid/not-sa/004.xml | 2 + .../xmlconf/xmltest/valid/not-sa/005-1.ent | 3 + .../xmlconf/xmltest/valid/not-sa/005-2.ent | 1 + .../xmlconf/xmltest/valid/not-sa/005.xml | 2 + .../xmlconf/xmltest/valid/not-sa/006.ent | 2 + .../xmlconf/xmltest/valid/not-sa/006.xml | 4 + .../xmlconf/xmltest/valid/not-sa/007.ent | 2 + .../xmlconf/xmltest/valid/not-sa/007.xml | 2 + .../xmlconf/xmltest/valid/not-sa/008.ent | 2 + .../xmlconf/xmltest/valid/not-sa/008.xml | 2 + .../xmlconf/xmltest/valid/not-sa/009.ent | 2 + .../xmlconf/xmltest/valid/not-sa/009.xml | 4 + .../xmlconf/xmltest/valid/not-sa/010.ent | 2 + .../xmlconf/xmltest/valid/not-sa/010.xml | 4 + .../xmlconf/xmltest/valid/not-sa/011.ent | 2 + .../xmlconf/xmltest/valid/not-sa/011.xml | 5 + .../xmlconf/xmltest/valid/not-sa/012.ent | 3 + .../xmlconf/xmltest/valid/not-sa/012.xml | 5 + .../xmlconf/xmltest/valid/not-sa/013.ent | 4 + .../xmlconf/xmltest/valid/not-sa/013.xml | 2 + .../xmlconf/xmltest/valid/not-sa/014.ent | 4 + .../xmlconf/xmltest/valid/not-sa/014.xml | 4 + .../xmlconf/xmltest/valid/not-sa/015.ent | 5 + .../xmlconf/xmltest/valid/not-sa/015.xml | 4 + .../xmlconf/xmltest/valid/not-sa/016.ent | 4 + .../xmlconf/xmltest/valid/not-sa/016.xml | 4 + .../xmlconf/xmltest/valid/not-sa/017.ent | 3 + .../xmlconf/xmltest/valid/not-sa/017.xml | 2 + .../xmlconf/xmltest/valid/not-sa/018.ent | 3 + .../xmlconf/xmltest/valid/not-sa/018.xml | 2 + .../xmlconf/xmltest/valid/not-sa/019.ent | 3 + .../xmlconf/xmltest/valid/not-sa/019.xml | 2 + .../xmlconf/xmltest/valid/not-sa/020.ent | 3 + .../xmlconf/xmltest/valid/not-sa/020.xml | 2 + .../xmlconf/xmltest/valid/not-sa/021.ent | 3 + .../xmlconf/xmltest/valid/not-sa/021.xml | 2 + .../xmlconf/xmltest/valid/not-sa/023.ent | 5 + .../xmlconf/xmltest/valid/not-sa/023.xml | 2 + .../xmlconf/xmltest/valid/not-sa/024.ent | 4 + .../xmlconf/xmltest/valid/not-sa/024.xml | 2 + .../xmlconf/xmltest/valid/not-sa/025.ent | 5 + .../xmlconf/xmltest/valid/not-sa/025.xml | 2 + .../xmlconf/xmltest/valid/not-sa/026.ent | 1 + .../xmlconf/xmltest/valid/not-sa/026.xml | 7 + .../xmlconf/xmltest/valid/not-sa/027.ent | 2 + .../xmlconf/xmltest/valid/not-sa/027.xml | 2 + .../xmlconf/xmltest/valid/not-sa/028.ent | 2 + .../xmlconf/xmltest/valid/not-sa/028.xml | 2 + .../xmlconf/xmltest/valid/not-sa/029.ent | 3 + .../xmlconf/xmltest/valid/not-sa/029.xml | 2 + .../xmlconf/xmltest/valid/not-sa/030.ent | 3 + .../xmlconf/xmltest/valid/not-sa/030.xml | 2 + .../xmlconf/xmltest/valid/not-sa/031-1.ent | 3 + .../xmlconf/xmltest/valid/not-sa/031-2.ent | 1 + .../xmlconf/xmltest/valid/not-sa/031.xml | 2 + .../xmlconf/xmltest/valid/not-sa/CVS/Entries | 65 + .../xmlconf/xmltest/valid/not-sa/CVS/Repository | 1 + .../xmlconf/xmltest/valid/not-sa/CVS/Root | 1 + .../xmlconf/xmltest/valid/not-sa/out/001.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/002.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/003.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/004.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/005.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/006.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/007.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/008.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/009.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/010.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/011.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/012.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/013.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/014.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/015.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/016.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/017.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/018.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/019.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/020.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/021.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/022.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/023.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/024.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/025.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/026.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/027.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/028.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/029.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/030.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/031.xml | 1 + .../xmlconf/xmltest/valid/not-sa/out/CVS/Entries | 32 + .../xmltest/valid/not-sa/out/CVS/Repository | 1 + .../xmlconf/xmltest/valid/not-sa/out/CVS/Root | 1 + .../xmlconf/xmltest/valid/sa/001.xml | 4 + .../xmlconf/xmltest/valid/sa/002.xml | 4 + .../xmlconf/xmltest/valid/sa/003.xml | 4 + .../xmlconf/xmltest/valid/sa/004.xml | 5 + .../xmlconf/xmltest/valid/sa/005.xml | 5 + .../xmlconf/xmltest/valid/sa/006.xml | 5 + .../xmlconf/xmltest/valid/sa/007.xml | 4 + .../xmlconf/xmltest/valid/sa/008.xml | 4 + .../xmlconf/xmltest/valid/sa/009.xml | 4 + .../xmlconf/xmltest/valid/sa/010.xml | 5 + .../xmlconf/xmltest/valid/sa/011.xml | 5 + .../xmlconf/xmltest/valid/sa/012.xml | 5 + .../xmlconf/xmltest/valid/sa/013.xml | 5 + .../xmlconf/xmltest/valid/sa/014.xml | 5 + .../xmlconf/xmltest/valid/sa/015.xml | 5 + .../xmlconf/xmltest/valid/sa/016.xml | 4 + .../xmlconf/xmltest/valid/sa/017.xml | 4 + .../xmlconf/xmltest/valid/sa/018.xml | 4 + .../xmlconf/xmltest/valid/sa/019.xml | 4 + .../xmlconf/xmltest/valid/sa/020.xml | 4 + .../xmlconf/xmltest/valid/sa/021.xml | 4 + .../xmlconf/xmltest/valid/sa/022.xml | 4 + .../xmlconf/xmltest/valid/sa/023.xml | 5 + .../xmlconf/xmltest/valid/sa/024.xml | 6 + .../xmlconf/xmltest/valid/sa/025.xml | 5 + .../xmlconf/xmltest/valid/sa/026.xml | 5 + .../xmlconf/xmltest/valid/sa/027.xml | 5 + .../xmlconf/xmltest/valid/sa/028.xml | 5 + .../xmlconf/xmltest/valid/sa/029.xml | 5 + .../xmlconf/xmltest/valid/sa/030.xml | 5 + .../xmlconf/xmltest/valid/sa/031.xml | 5 + .../xmlconf/xmltest/valid/sa/032.xml | 5 + .../xmlconf/xmltest/valid/sa/033.xml | 5 + .../xmlconf/xmltest/valid/sa/034.xml | 4 + .../xmlconf/xmltest/valid/sa/035.xml | 4 + .../xmlconf/xmltest/valid/sa/036.xml | 5 + .../xmlconf/xmltest/valid/sa/037.xml | 6 + .../xmlconf/xmltest/valid/sa/038.xml | 6 + .../xmlconf/xmltest/valid/sa/039.xml | 5 + .../xmlconf/xmltest/valid/sa/040.xml | 5 + .../xmlconf/xmltest/valid/sa/041.xml | 5 + .../xmlconf/xmltest/valid/sa/042.xml | 4 + .../xmlconf/xmltest/valid/sa/043.xml | 6 + .../xmlconf/xmltest/valid/sa/044.xml | 10 + .../xmlconf/xmltest/valid/sa/045.xml | 6 + .../xmlconf/xmltest/valid/sa/046.xml | 6 + .../xmlconf/xmltest/valid/sa/047.xml | 5 + .../xmlconf/xmltest/valid/sa/048.xml | 4 + .../xmlconf/xmltest/valid/sa/049.xml | Bin 0 -> 124 bytes .../xmlconf/xmltest/valid/sa/050.xml | Bin 0 -> 132 bytes .../xmlconf/xmltest/valid/sa/051.xml | Bin 0 -> 140 bytes .../xmlconf/xmltest/valid/sa/052.xml | 4 + .../xmlconf/xmltest/valid/sa/053.xml | 6 + .../xmlconf/xmltest/valid/sa/054.xml | 10 + .../xmlconf/xmltest/valid/sa/055.xml | 5 + .../xmlconf/xmltest/valid/sa/056.xml | 4 + .../xmlconf/xmltest/valid/sa/057.xml | 4 + .../xmlconf/xmltest/valid/sa/058.xml | 5 + .../xmlconf/xmltest/valid/sa/059.xml | 10 + .../xmlconf/xmltest/valid/sa/060.xml | 4 + .../xmlconf/xmltest/valid/sa/061.xml | 4 + .../xmlconf/xmltest/valid/sa/062.xml | 4 + .../xmlconf/xmltest/valid/sa/063.xml | 4 + .../xmlconf/xmltest/valid/sa/064.xml | 4 + .../xmlconf/xmltest/valid/sa/065.xml | 5 + .../xmlconf/xmltest/valid/sa/066.xml | 7 + .../xmlconf/xmltest/valid/sa/067.xml | 4 + .../xmlconf/xmltest/valid/sa/068.xml | 5 + .../xmlconf/xmltest/valid/sa/069.xml | 5 + .../xmlconf/xmltest/valid/sa/070.xml | 5 + .../xmlconf/xmltest/valid/sa/071.xml | 5 + .../xmlconf/xmltest/valid/sa/072.xml | 5 + .../xmlconf/xmltest/valid/sa/073.xml | 5 + .../xmlconf/xmltest/valid/sa/074.xml | 5 + .../xmlconf/xmltest/valid/sa/075.xml | 5 + .../xmlconf/xmltest/valid/sa/076.xml | 7 + .../xmlconf/xmltest/valid/sa/077.xml | 5 + .../xmlconf/xmltest/valid/sa/078.xml | 5 + .../xmlconf/xmltest/valid/sa/079.xml | 5 + .../xmlconf/xmltest/valid/sa/080.xml | 5 + .../xmlconf/xmltest/valid/sa/081.xml | 7 + .../xmlconf/xmltest/valid/sa/082.xml | 5 + .../xmlconf/xmltest/valid/sa/083.xml | 5 + .../xmlconf/xmltest/valid/sa/084.xml | 1 + .../xmlconf/xmltest/valid/sa/085.xml | 6 + .../xmlconf/xmltest/valid/sa/086.xml | 6 + .../xmlconf/xmltest/valid/sa/087.xml | 6 + .../xmlconf/xmltest/valid/sa/088.xml | 5 + .../xmlconf/xmltest/valid/sa/089.xml | 5 + .../xmlconf/xmltest/valid/sa/090.xml | 7 + .../xmlconf/xmltest/valid/sa/091.xml | 7 + .../xmlconf/xmltest/valid/sa/092.xml | 10 + .../xmlconf/xmltest/valid/sa/093.xml | 7 + .../xmlconf/xmltest/valid/sa/094.xml | 6 + .../xmlconf/xmltest/valid/sa/095.xml | 6 + .../xmlconf/xmltest/valid/sa/096.xml | 5 + .../xmlconf/xmltest/valid/sa/097.ent | 1 + .../xmlconf/xmltest/valid/sa/097.xml | 8 + .../xmlconf/xmltest/valid/sa/098.xml | 5 + .../xmlconf/xmltest/valid/sa/099.xml | 5 + .../xmlconf/xmltest/valid/sa/100.xml | 5 + .../xmlconf/xmltest/valid/sa/101.xml | 5 + .../xmlconf/xmltest/valid/sa/102.xml | 5 + .../xmlconf/xmltest/valid/sa/103.xml | 4 + .../xmlconf/xmltest/valid/sa/104.xml | 5 + .../xmlconf/xmltest/valid/sa/105.xml | 5 + .../xmlconf/xmltest/valid/sa/106.xml | 5 + .../xmlconf/xmltest/valid/sa/107.xml | 5 + .../xmlconf/xmltest/valid/sa/108.xml | 7 + .../xmlconf/xmltest/valid/sa/109.xml | 5 + .../xmlconf/xmltest/valid/sa/110.xml | 6 + .../xmlconf/xmltest/valid/sa/111.xml | 5 + .../xmlconf/xmltest/valid/sa/112.xml | 5 + .../xmlconf/xmltest/valid/sa/113.xml | 5 + .../xmlconf/xmltest/valid/sa/114.xml | 5 + .../xmlconf/xmltest/valid/sa/115.xml | 6 + .../xmlconf/xmltest/valid/sa/116.xml | 5 + .../xmlconf/xmltest/valid/sa/117.xml | 5 + .../xmlconf/xmltest/valid/sa/118.xml | 5 + .../xmlconf/xmltest/valid/sa/119.xml | 4 + .../xmlconf/xmltest/valid/sa/CVS/Entries | 121 + .../xmlconf/xmltest/valid/sa/CVS/Repository | 1 + .../xmlconf/xmltest/valid/sa/CVS/Root | 1 + .../xmlconf/xmltest/valid/sa/out/001.xml | 1 + .../xmlconf/xmltest/valid/sa/out/002.xml | 1 + .../xmlconf/xmltest/valid/sa/out/003.xml | 1 + .../xmlconf/xmltest/valid/sa/out/004.xml | 1 + .../xmlconf/xmltest/valid/sa/out/005.xml | 1 + .../xmlconf/xmltest/valid/sa/out/006.xml | 1 + .../xmlconf/xmltest/valid/sa/out/007.xml | 1 + .../xmlconf/xmltest/valid/sa/out/008.xml | 1 + .../xmlconf/xmltest/valid/sa/out/009.xml | 1 + .../xmlconf/xmltest/valid/sa/out/010.xml | 1 + .../xmlconf/xmltest/valid/sa/out/011.xml | 1 + .../xmlconf/xmltest/valid/sa/out/012.xml | 1 + .../xmlconf/xmltest/valid/sa/out/013.xml | 1 + .../xmlconf/xmltest/valid/sa/out/014.xml | 1 + .../xmlconf/xmltest/valid/sa/out/015.xml | 1 + .../xmlconf/xmltest/valid/sa/out/016.xml | 1 + .../xmlconf/xmltest/valid/sa/out/017.xml | 1 + .../xmlconf/xmltest/valid/sa/out/018.xml | 1 + .../xmlconf/xmltest/valid/sa/out/019.xml | 1 + .../xmlconf/xmltest/valid/sa/out/020.xml | 1 + .../xmlconf/xmltest/valid/sa/out/021.xml | 1 + .../xmlconf/xmltest/valid/sa/out/022.xml | 1 + .../xmlconf/xmltest/valid/sa/out/023.xml | 1 + .../xmlconf/xmltest/valid/sa/out/024.xml | 1 + .../xmlconf/xmltest/valid/sa/out/025.xml | 1 + .../xmlconf/xmltest/valid/sa/out/026.xml | 1 + .../xmlconf/xmltest/valid/sa/out/027.xml | 1 + .../xmlconf/xmltest/valid/sa/out/028.xml | 1 + .../xmlconf/xmltest/valid/sa/out/029.xml | 1 + .../xmlconf/xmltest/valid/sa/out/030.xml | 1 + .../xmlconf/xmltest/valid/sa/out/031.xml | 1 + .../xmlconf/xmltest/valid/sa/out/032.xml | 1 + .../xmlconf/xmltest/valid/sa/out/033.xml | 1 + .../xmlconf/xmltest/valid/sa/out/034.xml | 1 + .../xmlconf/xmltest/valid/sa/out/035.xml | 1 + .../xmlconf/xmltest/valid/sa/out/036.xml | 1 + .../xmlconf/xmltest/valid/sa/out/037.xml | 1 + .../xmlconf/xmltest/valid/sa/out/038.xml | 1 + .../xmlconf/xmltest/valid/sa/out/039.xml | 1 + .../xmlconf/xmltest/valid/sa/out/040.xml | 1 + .../xmlconf/xmltest/valid/sa/out/041.xml | 1 + .../xmlconf/xmltest/valid/sa/out/042.xml | 1 + .../xmlconf/xmltest/valid/sa/out/043.xml | 1 + .../xmlconf/xmltest/valid/sa/out/044.xml | 1 + .../xmlconf/xmltest/valid/sa/out/045.xml | 1 + .../xmlconf/xmltest/valid/sa/out/046.xml | 1 + .../xmlconf/xmltest/valid/sa/out/047.xml | 1 + .../xmlconf/xmltest/valid/sa/out/048.xml | 1 + .../xmlconf/xmltest/valid/sa/out/049.xml | 1 + .../xmlconf/xmltest/valid/sa/out/050.xml | 1 + .../xmlconf/xmltest/valid/sa/out/051.xml | 1 + .../xmlconf/xmltest/valid/sa/out/052.xml | 1 + .../xmlconf/xmltest/valid/sa/out/053.xml | 1 + .../xmlconf/xmltest/valid/sa/out/054.xml | 1 + .../xmlconf/xmltest/valid/sa/out/055.xml | 1 + .../xmlconf/xmltest/valid/sa/out/056.xml | 1 + .../xmlconf/xmltest/valid/sa/out/057.xml | 1 + .../xmlconf/xmltest/valid/sa/out/058.xml | 1 + .../xmlconf/xmltest/valid/sa/out/059.xml | 1 + .../xmlconf/xmltest/valid/sa/out/060.xml | 1 + .../xmlconf/xmltest/valid/sa/out/061.xml | 1 + .../xmlconf/xmltest/valid/sa/out/062.xml | 1 + .../xmlconf/xmltest/valid/sa/out/063.xml | 1 + .../xmlconf/xmltest/valid/sa/out/064.xml | 1 + .../xmlconf/xmltest/valid/sa/out/065.xml | 1 + .../xmlconf/xmltest/valid/sa/out/066.xml | 1 + .../xmlconf/xmltest/valid/sa/out/067.xml | 1 + .../xmlconf/xmltest/valid/sa/out/068.xml | 1 + .../xmlconf/xmltest/valid/sa/out/069.xml | 4 + .../xmlconf/xmltest/valid/sa/out/070.xml | 1 + .../xmlconf/xmltest/valid/sa/out/071.xml | 1 + .../xmlconf/xmltest/valid/sa/out/072.xml | 1 + .../xmlconf/xmltest/valid/sa/out/073.xml | 1 + .../xmlconf/xmltest/valid/sa/out/074.xml | 1 + .../xmlconf/xmltest/valid/sa/out/075.xml | 1 + .../xmlconf/xmltest/valid/sa/out/076.xml | 5 + .../xmlconf/xmltest/valid/sa/out/077.xml | 1 + .../xmlconf/xmltest/valid/sa/out/078.xml | 1 + .../xmlconf/xmltest/valid/sa/out/079.xml | 1 + .../xmlconf/xmltest/valid/sa/out/080.xml | 1 + .../xmlconf/xmltest/valid/sa/out/081.xml | 1 + .../xmlconf/xmltest/valid/sa/out/082.xml | 1 + .../xmlconf/xmltest/valid/sa/out/083.xml | 1 + .../xmlconf/xmltest/valid/sa/out/084.xml | 1 + .../xmlconf/xmltest/valid/sa/out/085.xml | 1 + .../xmlconf/xmltest/valid/sa/out/086.xml | 1 + .../xmlconf/xmltest/valid/sa/out/087.xml | 1 + .../xmlconf/xmltest/valid/sa/out/088.xml | 1 + .../xmlconf/xmltest/valid/sa/out/089.xml | 1 + .../xmlconf/xmltest/valid/sa/out/090.xml | 4 + .../xmlconf/xmltest/valid/sa/out/091.xml | 4 + .../xmlconf/xmltest/valid/sa/out/092.xml | 1 + .../xmlconf/xmltest/valid/sa/out/093.xml | 1 + .../xmlconf/xmltest/valid/sa/out/094.xml | 1 + .../xmlconf/xmltest/valid/sa/out/095.xml | 1 + .../xmlconf/xmltest/valid/sa/out/096.xml | 1 + .../xmlconf/xmltest/valid/sa/out/097.xml | 1 + .../xmlconf/xmltest/valid/sa/out/098.xml | 2 + .../xmlconf/xmltest/valid/sa/out/099.xml | 1 + .../xmlconf/xmltest/valid/sa/out/100.xml | 1 + .../xmlconf/xmltest/valid/sa/out/101.xml | 1 + .../xmlconf/xmltest/valid/sa/out/102.xml | 1 + .../xmlconf/xmltest/valid/sa/out/103.xml | 1 + .../xmlconf/xmltest/valid/sa/out/104.xml | 1 + .../xmlconf/xmltest/valid/sa/out/105.xml | 1 + .../xmlconf/xmltest/valid/sa/out/106.xml | 1 + .../xmlconf/xmltest/valid/sa/out/107.xml | 1 + .../xmlconf/xmltest/valid/sa/out/108.xml | 1 + .../xmlconf/xmltest/valid/sa/out/109.xml | 1 + .../xmlconf/xmltest/valid/sa/out/110.xml | 1 + .../xmlconf/xmltest/valid/sa/out/111.xml | 1 + .../xmlconf/xmltest/valid/sa/out/112.xml | 1 + .../xmlconf/xmltest/valid/sa/out/113.xml | 1 + .../xmlconf/xmltest/valid/sa/out/114.xml | 1 + .../xmlconf/xmltest/valid/sa/out/115.xml | 1 + .../xmlconf/xmltest/valid/sa/out/116.xml | 1 + .../xmlconf/xmltest/valid/sa/out/117.xml | 1 + .../xmlconf/xmltest/valid/sa/out/118.xml | 1 + .../xmlconf/xmltest/valid/sa/out/119.xml | 1 + .../xmlconf/xmltest/valid/sa/out/CVS/Entries | 120 + .../xmlconf/xmltest/valid/sa/out/CVS/Repository | 1 + .../xmlconf/xmltest/valid/sa/out/CVS/Root | 1 + .../XML-Test-Suite/xmlconf/xmltest/xmltest.xml | 1433 + tests/auto/qxmlstream/data/001.ref | 12 + tests/auto/qxmlstream/data/001.xml | 7 + tests/auto/qxmlstream/data/002.ref | 13 + tests/auto/qxmlstream/data/002.xml | 8 + tests/auto/qxmlstream/data/003.ref | 12 + tests/auto/qxmlstream/data/003.xml | 7 + tests/auto/qxmlstream/data/004.ref | 12 + tests/auto/qxmlstream/data/004.xml | 7 + tests/auto/qxmlstream/data/005.ref | 12 + tests/auto/qxmlstream/data/005.xml | 7 + tests/auto/qxmlstream/data/006.ref | 12 + tests/auto/qxmlstream/data/006.xml | 7 + tests/auto/qxmlstream/data/007.ref | 36 + tests/auto/qxmlstream/data/007.xml | 20 + tests/auto/qxmlstream/data/008.ref | 36 + tests/auto/qxmlstream/data/008.xml | 20 + tests/auto/qxmlstream/data/009.ref | 27 + tests/auto/qxmlstream/data/009.xml | 19 + tests/auto/qxmlstream/data/010.ref | 27 + tests/auto/qxmlstream/data/010.xml | 19 + tests/auto/qxmlstream/data/011.ref | 30 + tests/auto/qxmlstream/data/011.xml | 20 + tests/auto/qxmlstream/data/012.ref | 27 + tests/auto/qxmlstream/data/012.xml | 19 + tests/auto/qxmlstream/data/013.ref | 7 + tests/auto/qxmlstream/data/013.xml | 5 + tests/auto/qxmlstream/data/014.ref | 4 + tests/auto/qxmlstream/data/014.xml | 3 + tests/auto/qxmlstream/data/015.ref | 4 + tests/auto/qxmlstream/data/015.xml | 3 + tests/auto/qxmlstream/data/016.ref | 4 + tests/auto/qxmlstream/data/016.xml | 3 + tests/auto/qxmlstream/data/017.ref | 5 + tests/auto/qxmlstream/data/017.xml | 3 + tests/auto/qxmlstream/data/018.ref | 7 + tests/auto/qxmlstream/data/018.xml | 3 + tests/auto/qxmlstream/data/019.ref | 7 + tests/auto/qxmlstream/data/019.xml | 3 + tests/auto/qxmlstream/data/020.ref | 9 + tests/auto/qxmlstream/data/020.xml | 3 + tests/auto/qxmlstream/data/021.ref | 15 + tests/auto/qxmlstream/data/021.xml | 6 + tests/auto/qxmlstream/data/022.ref | 15 + tests/auto/qxmlstream/data/022.xml | 6 + tests/auto/qxmlstream/data/023.ref | 9 + tests/auto/qxmlstream/data/023.xml | 6 + tests/auto/qxmlstream/data/024.ref | 15 + tests/auto/qxmlstream/data/024.xml | 6 + tests/auto/qxmlstream/data/025.ref | 4 + tests/auto/qxmlstream/data/025.xml | 3 + tests/auto/qxmlstream/data/026.ref | 6 + tests/auto/qxmlstream/data/026.xml | 3 + tests/auto/qxmlstream/data/027.ref | 7 + tests/auto/qxmlstream/data/027.xml | 3 + tests/auto/qxmlstream/data/028.ref | 7 + tests/auto/qxmlstream/data/028.xml | 3 + tests/auto/qxmlstream/data/029.ref | 4 + tests/auto/qxmlstream/data/029.xml | 4 + tests/auto/qxmlstream/data/030.ref | 5 + tests/auto/qxmlstream/data/030.xml | 4 + tests/auto/qxmlstream/data/031.ref | 5 + tests/auto/qxmlstream/data/031.xml | 4 + tests/auto/qxmlstream/data/032.ref | 5 + tests/auto/qxmlstream/data/032.xml | 5 + tests/auto/qxmlstream/data/033.ref | 5 + tests/auto/qxmlstream/data/033.xml | 4 + tests/auto/qxmlstream/data/034.ref | 7 + tests/auto/qxmlstream/data/034.xml | 3 + tests/auto/qxmlstream/data/035.ref | 16 + tests/auto/qxmlstream/data/035.xml | 8 + tests/auto/qxmlstream/data/036.ref | 16 + tests/auto/qxmlstream/data/036.xml | 8 + tests/auto/qxmlstream/data/037.ref | 21 + tests/auto/qxmlstream/data/037.xml | 8 + tests/auto/qxmlstream/data/038.ref | 20 + tests/auto/qxmlstream/data/038.xml | 8 + tests/auto/qxmlstream/data/039.ref | 24 + tests/auto/qxmlstream/data/039.xml | 10 + tests/auto/qxmlstream/data/040.ref | 22 + tests/auto/qxmlstream/data/040.xml | 9 + tests/auto/qxmlstream/data/041.ref | 20 + tests/auto/qxmlstream/data/041.xml | 8 + tests/auto/qxmlstream/data/042.ref | 4 + tests/auto/qxmlstream/data/042.xml | 4 + tests/auto/qxmlstream/data/043.ref | 4 + tests/auto/qxmlstream/data/043.xml | 7 + tests/auto/qxmlstream/data/044.ref | 4 + tests/auto/qxmlstream/data/044.xml | 7 + tests/auto/qxmlstream/data/045.ref | 12 + tests/auto/qxmlstream/data/045.xml | 7 + tests/auto/qxmlstream/data/046.ref | 21 + tests/auto/qxmlstream/data/046.xml | 10 + tests/auto/qxmlstream/data/047.ref | 5 + tests/auto/qxmlstream/data/047.xml | 2 + tests/auto/qxmlstream/data/048.ref | 4 + tests/auto/qxmlstream/data/048.xml | 2 + tests/auto/qxmlstream/data/051reduced.ref | 4 + tests/auto/qxmlstream/data/051reduced.xml | Bin 0 -> 22 bytes tests/auto/qxmlstream/data/1.ref | 8 + tests/auto/qxmlstream/data/1.xml | 1 + tests/auto/qxmlstream/data/10.ref | 6 + tests/auto/qxmlstream/data/10.xml | 2 + tests/auto/qxmlstream/data/11.ref | 6 + tests/auto/qxmlstream/data/11.xml | 1 + tests/auto/qxmlstream/data/12.ref | 19 + tests/auto/qxmlstream/data/12.xml | 8 + tests/auto/qxmlstream/data/13.ref | 14 + tests/auto/qxmlstream/data/13.xml | 6 + tests/auto/qxmlstream/data/14.ref | 18 + tests/auto/qxmlstream/data/14.xml | 8 + tests/auto/qxmlstream/data/15.ref | 67 + tests/auto/qxmlstream/data/15.xml | 15 + tests/auto/qxmlstream/data/16.ref | 6 + tests/auto/qxmlstream/data/16.xml | 3 + tests/auto/qxmlstream/data/2.ref | 9 + tests/auto/qxmlstream/data/2.xml | 1 + tests/auto/qxmlstream/data/20.ref | 21 + tests/auto/qxmlstream/data/20.xml | 2 + tests/auto/qxmlstream/data/21.ref | 56 + tests/auto/qxmlstream/data/21.xml | 26 + tests/auto/qxmlstream/data/22.ref | 4 + tests/auto/qxmlstream/data/22.xml | 2 + tests/auto/qxmlstream/data/3.ref | 6 + tests/auto/qxmlstream/data/3.xml | 4 + tests/auto/qxmlstream/data/4.ref | 21 + tests/auto/qxmlstream/data/4.xml | 9 + tests/auto/qxmlstream/data/5.ref | 19 + tests/auto/qxmlstream/data/5.xml | 9 + tests/auto/qxmlstream/data/6.ref | 13 + tests/auto/qxmlstream/data/6.xml | 1 + tests/auto/qxmlstream/data/7.ref | 7 + tests/auto/qxmlstream/data/7.xml | 1 + tests/auto/qxmlstream/data/8.ref | 3 + tests/auto/qxmlstream/data/8.xml | 3 + tests/auto/qxmlstream/data/9.ref | 2 + tests/auto/qxmlstream/data/9.xml | 2 + tests/auto/qxmlstream/data/books.ref | 18 + tests/auto/qxmlstream/data/books.xml | 5 + tests/auto/qxmlstream/data/colonInPI.ref | 7 + tests/auto/qxmlstream/data/colonInPI.xml | 4 + tests/auto/qxmlstream/data/mixedContent.ref | 207 + tests/auto/qxmlstream/data/mixedContent.xml | 35 + tests/auto/qxmlstream/data/namespaceCDATA.ref | 22 + tests/auto/qxmlstream/data/namespaceCDATA.xml | 8 + tests/auto/qxmlstream/data/namespaces | 151 + tests/auto/qxmlstream/data/org_module.ref | 2780 + tests/auto/qxmlstream/data/org_module.xml | 389 + tests/auto/qxmlstream/data/spaceBracket.ref | 5 + tests/auto/qxmlstream/data/spaceBracket.xml | 1 + tests/auto/qxmlstream/qc14n.h | 210 + tests/auto/qxmlstream/qxmlstream.pro | 11 + tests/auto/qxmlstream/setupSuite.sh | 20 + tests/auto/qxmlstream/tst_qxmlstream.cpp | 1396 + tests/auto/qzip/.gitignore | 1 + tests/auto/qzip/qzip.pro | 11 + tests/auto/qzip/testdata/symlink.zip | Bin 0 -> 289 bytes tests/auto/qzip/testdata/test.zip | Bin 0 -> 286 bytes tests/auto/qzip/tst_qzip.cpp | 152 + tests/auto/rcc/.gitignore | 1 + tests/auto/rcc/data/images.bin.expected | Bin 0 -> 663 bytes tests/auto/rcc/data/images.expected | 126 + tests/auto/rcc/data/images.qrc | 7 + tests/auto/rcc/data/images/circle.png | Bin 0 -> 165 bytes tests/auto/rcc/data/images/square.png | Bin 0 -> 94 bytes tests/auto/rcc/data/images/subdir/triangle.png | Bin 0 -> 170 bytes tests/auto/rcc/rcc.pro | 6 + tests/auto/rcc/tst_rcc.cpp | 173 + tests/auto/runQtXmlPatternsTests.sh | 59 + tests/auto/selftests/.gitignore | 26 + tests/auto/selftests/README | 5 + tests/auto/selftests/alive/.gitignore | 1 + tests/auto/selftests/alive/alive.pro | 7 + tests/auto/selftests/alive/qtestalive.cpp | 159 + tests/auto/selftests/alive/tst_alive.cpp | 174 + tests/auto/selftests/assert/assert.pro | 10 + tests/auto/selftests/assert/tst_assert.cpp | 71 + .../benchlibcallgrind/benchlibcallgrind.pro | 8 + .../benchlibcallgrind/tst_benchlibcallgrind.cpp | 97 + .../benchlibeventcounter/benchlibeventcounter.pro | 8 + .../tst_benchlibeventcounter.cpp | 111 + .../selftests/benchliboptions/benchliboptions.pro | 8 + .../benchliboptions/tst_benchliboptions.cpp | 130 + .../benchlibtickcounter/benchlibtickcounter.pro | 8 + .../tst_benchlibtickcounter.cpp | 80 + .../benchlibwalltime/benchlibwalltime.pro | 8 + .../benchlibwalltime/tst_benchlibwalltime.cpp | 71 + tests/auto/selftests/cmptest/cmptest.pro | 8 + tests/auto/selftests/cmptest/tst_cmptest.cpp | 81 + .../selftests/commandlinedata/commandlinedata.pro | 8 + .../commandlinedata/tst_commandlinedata.cpp | 81 + tests/auto/selftests/crashes/crashes.pro | 9 + tests/auto/selftests/crashes/tst_crashes.cpp | 70 + tests/auto/selftests/datatable/datatable.pro | 8 + tests/auto/selftests/datatable/tst_datatable.cpp | 189 + tests/auto/selftests/datetime/datetime.pro | 8 + tests/auto/selftests/datetime/tst_datetime.cpp | 90 + .../auto/selftests/differentexec/differentexec.pro | 8 + .../selftests/differentexec/tst_differentexec.cpp | 92 + tests/auto/selftests/exception/exception.pro | 8 + tests/auto/selftests/exception/tst_exception.cpp | 69 + tests/auto/selftests/expected_alive.txt | 33 + tests/auto/selftests/expected_assert.txt | 9 + .../auto/selftests/expected_benchlibcallgrind.txt | 9 + .../selftests/expected_benchlibeventcounter.txt | 21 + tests/auto/selftests/expected_benchliboptions.txt | 27 + .../selftests/expected_benchlibtickcounter.txt | 9 + tests/auto/selftests/expected_benchlibwalltime.txt | 12 + tests/auto/selftests/expected_cmptest.txt | 8 + tests/auto/selftests/expected_commandlinedata.txt | 24 + tests/auto/selftests/expected_crashes_1.txt | 3 + tests/auto/selftests/expected_crashes_2.txt | 7 + tests/auto/selftests/expected_datatable.txt | 35 + tests/auto/selftests/expected_datetime.txt | 18 + tests/auto/selftests/expected_differentexec.txt | 21 + tests/auto/selftests/expected_exception.txt | 7 + tests/auto/selftests/expected_expectfail.txt | 20 + tests/auto/selftests/expected_failinit.txt | 7 + tests/auto/selftests/expected_failinitdata.txt | 6 + tests/auto/selftests/expected_fatal.txt | 6 + tests/auto/selftests/expected_fetchbogus.txt | 8 + tests/auto/selftests/expected_globaldata.txt | 45 + tests/auto/selftests/expected_maxwarnings.txt | 2009 + tests/auto/selftests/expected_multiexec.txt | 35 + tests/auto/selftests/expected_qexecstringlist.txt | 46 + tests/auto/selftests/expected_singleskip.txt | 8 + tests/auto/selftests/expected_skip.txt | 14 + tests/auto/selftests/expected_skipglobal.txt | 6 + tests/auto/selftests/expected_skipinit.txt | 7 + tests/auto/selftests/expected_skipinitdata.txt | 6 + tests/auto/selftests/expected_sleep.txt | 7 + tests/auto/selftests/expected_strcmp.txt | 33 + tests/auto/selftests/expected_subtest.txt | 81 + tests/auto/selftests/expected_waitwithoutgui.txt | 2 + tests/auto/selftests/expected_warnings.txt | 24 + tests/auto/selftests/expectfail/expectfail.pro | 8 + tests/auto/selftests/expectfail/tst_expectfail.cpp | 85 + tests/auto/selftests/failinit/failinit.pro | 8 + tests/auto/selftests/failinit/tst_failinit.cpp | 68 + tests/auto/selftests/failinitdata/failinitdata.pro | 8 + .../selftests/failinitdata/tst_failinitdata.cpp | 77 + tests/auto/selftests/fetchbogus/fetchbogus.pro | 8 + tests/auto/selftests/fetchbogus/tst_fetchbogus.cpp | 68 + tests/auto/selftests/globaldata/globaldata.pro | 8 + tests/auto/selftests/globaldata/tst_globaldata.cpp | 153 + tests/auto/selftests/maxwarnings/maxwarnings.cpp | 60 + tests/auto/selftests/maxwarnings/maxwarnings.pro | 8 + tests/auto/selftests/multiexec/multiexec.pro | 8 + tests/auto/selftests/multiexec/tst_multiexec.cpp | 60 + .../selftests/qexecstringlist/qexecstringlist.pro | 8 + .../qexecstringlist/tst_qexecstringlist.cpp | 96 + tests/auto/selftests/selftests.pro | 14 + tests/auto/selftests/selftests.qrc | 38 + tests/auto/selftests/singleskip/singleskip.pro | 8 + tests/auto/selftests/singleskip/tst_singleskip.cpp | 61 + tests/auto/selftests/skip/skip.pro | 8 + tests/auto/selftests/skip/tst_skip.cpp | 103 + tests/auto/selftests/skipglobal/skipglobal.pro | 8 + tests/auto/selftests/skipglobal/tst_skipglobal.cpp | 113 + tests/auto/selftests/skipinit/skipinit.pro | 8 + tests/auto/selftests/skipinit/tst_skipinit.cpp | 68 + tests/auto/selftests/skipinitdata/skipinitdata.pro | 8 + .../selftests/skipinitdata/tst_skipinitdata.cpp | 73 + tests/auto/selftests/sleep/sleep.pro | 8 + tests/auto/selftests/sleep/tst_sleep.cpp | 71 + tests/auto/selftests/strcmp/strcmp.pro | 8 + tests/auto/selftests/strcmp/tst_strcmp.cpp | 138 + tests/auto/selftests/subtest/subtest.pro | 8 + tests/auto/selftests/subtest/tst_subtest.cpp | 219 + tests/auto/selftests/test/test.pro | 17 + tests/auto/selftests/tst_selftests.cpp | 437 + tests/auto/selftests/updateBaselines.sh | 34 + .../waitwithoutgui/tst_waitwithoutgui.cpp | 62 + .../selftests/waitwithoutgui/waitwithoutgui.pro | 8 + tests/auto/selftests/warnings/tst_warnings.cpp | 96 + tests/auto/selftests/warnings/warnings.pro | 8 + tests/auto/solutions.pri | 16 + tests/auto/symbols/.gitignore | 1 + tests/auto/symbols/symbols.pro | 7 + tests/auto/symbols/tst_symbols.cpp | 433 + tests/auto/test.pl | 191 + tests/auto/tests.xml | 805 + tests/auto/uic/.gitignore | 1 + tests/auto/uic/baseline/.gitattributes | 1 + .../uic/baseline/Dialog_with_Buttons_Bottom.ui | 71 + .../uic/baseline/Dialog_with_Buttons_Bottom.ui.h | 60 + .../auto/uic/baseline/Dialog_with_Buttons_Right.ui | 71 + .../uic/baseline/Dialog_with_Buttons_Right.ui.h | 60 + tests/auto/uic/baseline/Dialog_without_Buttons.ui | 18 + .../auto/uic/baseline/Dialog_without_Buttons.ui.h | 51 + tests/auto/uic/baseline/Main_Window.ui | 27 + tests/auto/uic/baseline/Main_Window.ui.h | 66 + tests/auto/uic/baseline/Widget.ui | 44 + tests/auto/uic/baseline/Widget.ui.h | 82 + tests/auto/uic/baseline/addlinkdialog.ui | 112 + tests/auto/uic/baseline/addlinkdialog.ui.h | 118 + tests/auto/uic/baseline/addtorrentform.ui | 266 + tests/auto/uic/baseline/addtorrentform.ui.h | 242 + tests/auto/uic/baseline/authenticationdialog.ui | 129 + tests/auto/uic/baseline/authenticationdialog.ui.h | 127 + tests/auto/uic/baseline/backside.ui | 208 + tests/auto/uic/baseline/backside.ui.h | 197 + tests/auto/uic/baseline/batchtranslation.ui | 235 + tests/auto/uic/baseline/batchtranslation.ui.h | 253 + tests/auto/uic/baseline/bookmarkdialog.ui | 161 + tests/auto/uic/baseline/bookmarkdialog.ui.h | 172 + tests/auto/uic/baseline/bookwindow.ui | 149 + tests/auto/uic/baseline/bookwindow.ui.h | 183 + tests/auto/uic/baseline/browserwidget.ui | 199 + tests/auto/uic/baseline/browserwidget.ui.h | 183 + tests/auto/uic/baseline/calculator.ui | 406 + tests/auto/uic/baseline/calculator.ui.h | 202 + tests/auto/uic/baseline/calculatorform.ui | 303 + tests/auto/uic/baseline/calculatorform.ui.h | 195 + tests/auto/uic/baseline/certificateinfo.ui | 85 + tests/auto/uic/baseline/certificateinfo.ui.h | 111 + tests/auto/uic/baseline/chatdialog.ui | 79 + tests/auto/uic/baseline/chatdialog.ui.h | 117 + tests/auto/uic/baseline/chatmainwindow.ui | 185 + tests/auto/uic/baseline/chatmainwindow.ui.h | 182 + tests/auto/uic/baseline/chatsetnickname.ui | 149 + tests/auto/uic/baseline/chatsetnickname.ui.h | 134 + tests/auto/uic/baseline/config.ui | 2527 + tests/auto/uic/baseline/config.ui.h | 773 + tests/auto/uic/baseline/connectdialog.ui | 150 + tests/auto/uic/baseline/connectdialog.ui.h | 150 + tests/auto/uic/baseline/controller.ui | 64 + tests/auto/uic/baseline/controller.ui.h | 99 + tests/auto/uic/baseline/cookies.ui | 106 + tests/auto/uic/baseline/cookies.ui.h | 111 + tests/auto/uic/baseline/cookiesexceptions.ui | 184 + tests/auto/uic/baseline/cookiesexceptions.ui.h | 184 + tests/auto/uic/baseline/default.ui | 329 + tests/auto/uic/baseline/default.ui.h | 315 + tests/auto/uic/baseline/dialog.ui | 47 + tests/auto/uic/baseline/dialog.ui.h | 80 + tests/auto/uic/baseline/downloaditem.ui | 134 + tests/auto/uic/baseline/downloaditem.ui.h | 149 + tests/auto/uic/baseline/downloads.ui | 83 + tests/auto/uic/baseline/downloads.ui.h | 99 + tests/auto/uic/baseline/embeddeddialog.ui | 87 + tests/auto/uic/baseline/embeddeddialog.ui.h | 123 + tests/auto/uic/baseline/filespage.ui | 79 + tests/auto/uic/baseline/filespage.ui.h | 102 + tests/auto/uic/baseline/filternamedialog.ui | 67 + tests/auto/uic/baseline/filternamedialog.ui.h | 96 + tests/auto/uic/baseline/filterpage.ui | 125 + tests/auto/uic/baseline/filterpage.ui.h | 128 + tests/auto/uic/baseline/finddialog.ui | 264 + tests/auto/uic/baseline/finddialog.ui.h | 255 + tests/auto/uic/baseline/form.ui | 162 + tests/auto/uic/baseline/form.ui.h | 144 + tests/auto/uic/baseline/formwindowsettings.ui | 310 + tests/auto/uic/baseline/formwindowsettings.ui.h | 312 + tests/auto/uic/baseline/generalpage.ui | 69 + tests/auto/uic/baseline/generalpage.ui.h | 94 + tests/auto/uic/baseline/gridpanel.ui | 144 + tests/auto/uic/baseline/gridpanel.ui.h | 162 + tests/auto/uic/baseline/helpdialog.ui | 403 + tests/auto/uic/baseline/helpdialog.ui.h | 396 + tests/auto/uic/baseline/history.ui | 106 + tests/auto/uic/baseline/history.ui.h | 111 + tests/auto/uic/baseline/identifierpage.ui | 132 + tests/auto/uic/baseline/identifierpage.ui.h | 111 + tests/auto/uic/baseline/imagedialog.ui | 389 + tests/auto/uic/baseline/imagedialog.ui.h | 222 + tests/auto/uic/baseline/inputpage.ui | 79 + tests/auto/uic/baseline/inputpage.ui.h | 102 + tests/auto/uic/baseline/installdialog.ui | 118 + tests/auto/uic/baseline/installdialog.ui.h | 145 + tests/auto/uic/baseline/languagesdialog.ui | 160 + tests/auto/uic/baseline/languagesdialog.ui.h | 157 + tests/auto/uic/baseline/listwidgeteditor.ui | 225 + tests/auto/uic/baseline/listwidgeteditor.ui.h | 228 + tests/auto/uic/baseline/mainwindow.ui | 502 + tests/auto/uic/baseline/mainwindow.ui.h | 401 + tests/auto/uic/baseline/mainwindowbase.ui | 1213 + tests/auto/uic/baseline/mainwindowbase.ui.h | 968 + tests/auto/uic/baseline/mydialog.ui | 47 + tests/auto/uic/baseline/mydialog.ui.h | 79 + tests/auto/uic/baseline/myform.ui | 130 + tests/auto/uic/baseline/myform.ui.h | 149 + tests/auto/uic/baseline/newactiondialog.ui | 201 + tests/auto/uic/baseline/newactiondialog.ui.h | 197 + .../auto/uic/baseline/newdynamicpropertydialog.ui | 106 + .../uic/baseline/newdynamicpropertydialog.ui.h | 133 + tests/auto/uic/baseline/newform.ui | 152 + tests/auto/uic/baseline/newform.ui.h | 166 + tests/auto/uic/baseline/orderdialog.ui | 197 + tests/auto/uic/baseline/orderdialog.ui.h | 172 + tests/auto/uic/baseline/outputpage.ui | 95 + tests/auto/uic/baseline/outputpage.ui.h | 108 + tests/auto/uic/baseline/pagefold.ui | 349 + tests/auto/uic/baseline/pagefold.ui.h | 329 + tests/auto/uic/baseline/paletteeditor.ui | 263 + tests/auto/uic/baseline/paletteeditor.ui.h | 240 + .../auto/uic/baseline/paletteeditoradvancedbase.ui | 616 + .../uic/baseline/paletteeditoradvancedbase.ui.h | 484 + tests/auto/uic/baseline/passworddialog.ui | 111 + tests/auto/uic/baseline/passworddialog.ui.h | 121 + tests/auto/uic/baseline/pathpage.ui | 114 + tests/auto/uic/baseline/pathpage.ui.h | 127 + tests/auto/uic/baseline/phrasebookbox.ui | 210 + tests/auto/uic/baseline/phrasebookbox.ui.h | 245 + tests/auto/uic/baseline/plugindialog.ui | 152 + tests/auto/uic/baseline/plugindialog.ui.h | 145 + tests/auto/uic/baseline/preferencesdialog.ui | 165 + tests/auto/uic/baseline/preferencesdialog.ui.h | 173 + .../uic/baseline/previewconfigurationwidget.ui | 91 + .../uic/baseline/previewconfigurationwidget.ui.h | 134 + tests/auto/uic/baseline/previewdialogbase.ui | 224 + tests/auto/uic/baseline/previewdialogbase.ui.h | 192 + tests/auto/uic/baseline/previewwidget.ui | 237 + tests/auto/uic/baseline/previewwidget.ui.h | 282 + tests/auto/uic/baseline/previewwidgetbase.ui | 339 + tests/auto/uic/baseline/previewwidgetbase.ui.h | 316 + tests/auto/uic/baseline/proxy.ui | 104 + tests/auto/uic/baseline/proxy.ui.h | 110 + tests/auto/uic/baseline/qfiledialog.ui | 319 + tests/auto/uic/baseline/qfiledialog.ui.h | 320 + tests/auto/uic/baseline/qpagesetupwidget.ui | 353 + tests/auto/uic/baseline/qpagesetupwidget.ui.h | 320 + tests/auto/uic/baseline/qprintpropertieswidget.ui | 70 + .../auto/uic/baseline/qprintpropertieswidget.ui.h | 99 + tests/auto/uic/baseline/qprintsettingsoutput.ui | 371 + tests/auto/uic/baseline/qprintsettingsoutput.ui.h | 313 + tests/auto/uic/baseline/qprintwidget.ui | 116 + tests/auto/uic/baseline/qprintwidget.ui.h | 167 + tests/auto/uic/baseline/qsqlconnectiondialog.ui | 224 + tests/auto/uic/baseline/qsqlconnectiondialog.ui.h | 234 + tests/auto/uic/baseline/qtgradientdialog.ui | 120 + tests/auto/uic/baseline/qtgradientdialog.ui.h | 120 + tests/auto/uic/baseline/qtgradienteditor.ui | 1376 + tests/auto/uic/baseline/qtgradienteditor.ui.h | 726 + tests/auto/uic/baseline/qtgradientview.ui | 135 + tests/auto/uic/baseline/qtgradientview.ui.h | 128 + tests/auto/uic/baseline/qtgradientviewdialog.ui | 120 + tests/auto/uic/baseline/qtgradientviewdialog.ui.h | 120 + tests/auto/uic/baseline/qtresourceeditordialog.ui | 180 + .../auto/uic/baseline/qtresourceeditordialog.ui.h | 177 + tests/auto/uic/baseline/qttoolbardialog.ui | 207 + tests/auto/uic/baseline/qttoolbardialog.ui.h | 229 + tests/auto/uic/baseline/querywidget.ui | 163 + tests/auto/uic/baseline/querywidget.ui.h | 175 + tests/auto/uic/baseline/remotecontrol.ui | 228 + tests/auto/uic/baseline/remotecontrol.ui.h | 253 + tests/auto/uic/baseline/saveformastemplate.ui | 165 + tests/auto/uic/baseline/saveformastemplate.ui.h | 165 + tests/auto/uic/baseline/settings.ui | 262 + tests/auto/uic/baseline/settings.ui.h | 207 + tests/auto/uic/baseline/signalslotdialog.ui | 129 + tests/auto/uic/baseline/signalslotdialog.ui.h | 170 + tests/auto/uic/baseline/sslclient.ui | 190 + tests/auto/uic/baseline/sslclient.ui.h | 185 + tests/auto/uic/baseline/sslerrors.ui | 110 + tests/auto/uic/baseline/sslerrors.ui.h | 112 + tests/auto/uic/baseline/statistics.ui | 241 + tests/auto/uic/baseline/statistics.ui.h | 222 + tests/auto/uic/baseline/stringlisteditor.ui | 264 + tests/auto/uic/baseline/stringlisteditor.ui.h | 267 + tests/auto/uic/baseline/stylesheeteditor.ui | 171 + tests/auto/uic/baseline/stylesheeteditor.ui.h | 155 + tests/auto/uic/baseline/tabbedbrowser.ui | 232 + tests/auto/uic/baseline/tabbedbrowser.ui.h | 218 + tests/auto/uic/baseline/tablewidgeteditor.ui | 402 + tests/auto/uic/baseline/tablewidgeteditor.ui.h | 392 + tests/auto/uic/baseline/tetrixwindow.ui | 164 + tests/auto/uic/baseline/tetrixwindow.ui.h | 174 + tests/auto/uic/baseline/textfinder.ui | 89 + tests/auto/uic/baseline/textfinder.ui.h | 114 + tests/auto/uic/baseline/topicchooser.ui | 116 + tests/auto/uic/baseline/topicchooser.ui.h | 120 + tests/auto/uic/baseline/translatedialog.ui | 300 + tests/auto/uic/baseline/translatedialog.ui.h | 261 + tests/auto/uic/baseline/translationsettings.ui | 107 + tests/auto/uic/baseline/translationsettings.ui.h | 121 + tests/auto/uic/baseline/treewidgeteditor.ui | 378 + tests/auto/uic/baseline/treewidgeteditor.ui.h | 366 + tests/auto/uic/baseline/trpreviewtool.ui | 188 + tests/auto/uic/baseline/trpreviewtool.ui.h | 203 + tests/auto/uic/baseline/validators.ui | 467 + tests/auto/uic/baseline/validators.ui.h | 409 + tests/auto/uic/baseline/wateringconfigdialog.ui | 446 + tests/auto/uic/baseline/wateringconfigdialog.ui.h | 290 + tests/auto/uic/generated_ui/placeholder | 0 tests/auto/uic/tst_uic.cpp | 225 + tests/auto/uic/uic.pro | 8 + tests/auto/uic3/.gitattributes | 2 + tests/auto/uic3/.gitignore | 1 + tests/auto/uic3/baseline/Configuration_Dialog.ui | 162 + tests/auto/uic3/baseline/Configuration_Dialog.ui.4 | 143 + .../auto/uic3/baseline/Configuration_Dialog.ui.err | 0 .../uic3/baseline/Dialog_with_Buttons_(Bottom).ui | 122 + .../baseline/Dialog_with_Buttons_(Bottom).ui.4 | 114 + .../baseline/Dialog_with_Buttons_(Bottom).ui.err | 0 .../uic3/baseline/Dialog_with_Buttons_(Right).ui | 122 + .../uic3/baseline/Dialog_with_Buttons_(Right).ui.4 | 114 + .../baseline/Dialog_with_Buttons_(Right).ui.err | 0 tests/auto/uic3/baseline/Tab_Dialog.ui | 146 + tests/auto/uic3/baseline/Tab_Dialog.ui.4 | 128 + tests/auto/uic3/baseline/Tab_Dialog.ui.err | 0 tests/auto/uic3/baseline/about.ui | 222 + tests/auto/uic3/baseline/about.ui.4 | 209 + tests/auto/uic3/baseline/about.ui.err | 1 + tests/auto/uic3/baseline/actioneditor.ui | 230 + tests/auto/uic3/baseline/actioneditor.ui.4 | 197 + tests/auto/uic3/baseline/actioneditor.ui.err | 0 tests/auto/uic3/baseline/addressbook.ui | 324 + tests/auto/uic3/baseline/addressbook.ui.4 | 304 + tests/auto/uic3/baseline/addressbook.ui.err | 0 tests/auto/uic3/baseline/addressdetails.ui | 243 + tests/auto/uic3/baseline/addressdetails.ui.4 | 215 + tests/auto/uic3/baseline/addressdetails.ui.err | 0 tests/auto/uic3/baseline/ambientproperties.ui | 319 + tests/auto/uic3/baseline/ambientproperties.ui.4 | 292 + tests/auto/uic3/baseline/ambientproperties.ui.err | 0 tests/auto/uic3/baseline/archivedialog.ui | 137 + tests/auto/uic3/baseline/archivedialog.ui.4 | 100 + tests/auto/uic3/baseline/archivedialog.ui.err | 0 tests/auto/uic3/baseline/book.ui | 189 + tests/auto/uic3/baseline/book.ui.4 | 165 + tests/auto/uic3/baseline/book.ui.err | 5 + tests/auto/uic3/baseline/buildpage.ui | 92 + tests/auto/uic3/baseline/buildpage.ui.4 | 76 + tests/auto/uic3/baseline/buildpage.ui.err | 0 tests/auto/uic3/baseline/changeproperties.ui | 259 + tests/auto/uic3/baseline/changeproperties.ui.4 | 213 + tests/auto/uic3/baseline/changeproperties.ui.err | 0 tests/auto/uic3/baseline/clientbase.ui | 276 + tests/auto/uic3/baseline/clientbase.ui.4 | 242 + tests/auto/uic3/baseline/clientbase.ui.err | 0 tests/auto/uic3/baseline/colornameform.ui | 155 + tests/auto/uic3/baseline/colornameform.ui.4 | 125 + tests/auto/uic3/baseline/colornameform.ui.err | 0 tests/auto/uic3/baseline/config.ui | 1684 + tests/auto/uic3/baseline/config.ui.4 | 1629 + tests/auto/uic3/baseline/config.ui.err | 0 tests/auto/uic3/baseline/configdialog.ui | 195 + tests/auto/uic3/baseline/configdialog.ui.4 | 171 + tests/auto/uic3/baseline/configdialog.ui.err | 0 tests/auto/uic3/baseline/configpage.ui | 474 + tests/auto/uic3/baseline/configpage.ui.4 | 447 + tests/auto/uic3/baseline/configpage.ui.err | 0 tests/auto/uic3/baseline/configtoolboxdialog.ui | 329 + tests/auto/uic3/baseline/configtoolboxdialog.ui.4 | 282 + .../auto/uic3/baseline/configtoolboxdialog.ui.err | 0 tests/auto/uic3/baseline/configuration.ui | 268 + tests/auto/uic3/baseline/configuration.ui.4 | 243 + tests/auto/uic3/baseline/configuration.ui.err | 1 + tests/auto/uic3/baseline/connect.ui | 244 + tests/auto/uic3/baseline/connect.ui.4 | 225 + tests/auto/uic3/baseline/connect.ui.err | 0 tests/auto/uic3/baseline/connectdialog.ui | 244 + tests/auto/uic3/baseline/connectdialog.ui.4 | 226 + tests/auto/uic3/baseline/connectdialog.ui.err | 0 tests/auto/uic3/baseline/connectiondialog.ui | 226 + tests/auto/uic3/baseline/connectiondialog.ui.4 | 196 + tests/auto/uic3/baseline/connectiondialog.ui.err | 0 tests/auto/uic3/baseline/controlinfo.ui | 128 + tests/auto/uic3/baseline/controlinfo.ui.4 | 112 + tests/auto/uic3/baseline/controlinfo.ui.err | 0 tests/auto/uic3/baseline/createtemplate.ui | 236 + tests/auto/uic3/baseline/createtemplate.ui.4 | 188 + tests/auto/uic3/baseline/createtemplate.ui.err | 0 tests/auto/uic3/baseline/creditformbase.ui | 212 + tests/auto/uic3/baseline/creditformbase.ui.4 | 189 + tests/auto/uic3/baseline/creditformbase.ui.err | 1 + tests/auto/uic3/baseline/customize.ui | 312 + tests/auto/uic3/baseline/customize.ui.4 | 274 + tests/auto/uic3/baseline/customize.ui.err | 1 + tests/auto/uic3/baseline/customwidgeteditor.ui | 1385 + tests/auto/uic3/baseline/customwidgeteditor.ui.4 | 1269 + tests/auto/uic3/baseline/customwidgeteditor.ui.err | 34 + tests/auto/uic3/baseline/dbconnection.ui | 229 + tests/auto/uic3/baseline/dbconnection.ui.4 | 228 + tests/auto/uic3/baseline/dbconnection.ui.err | 0 tests/auto/uic3/baseline/dbconnectioneditor.ui | 154 + tests/auto/uic3/baseline/dbconnectioneditor.ui.4 | 142 + tests/auto/uic3/baseline/dbconnectioneditor.ui.err | 0 tests/auto/uic3/baseline/dbconnections.ui | 328 + tests/auto/uic3/baseline/dbconnections.ui.4 | 290 + tests/auto/uic3/baseline/dbconnections.ui.err | 5 + tests/auto/uic3/baseline/demo.ui | 182 + tests/auto/uic3/baseline/demo.ui.4 | 158 + tests/auto/uic3/baseline/demo.ui.err | 0 tests/auto/uic3/baseline/destination.ui | 222 + tests/auto/uic3/baseline/destination.ui.4 | 186 + tests/auto/uic3/baseline/destination.ui.err | 1 + tests/auto/uic3/baseline/dialogform.ui | 206 + tests/auto/uic3/baseline/dialogform.ui.4 | 153 + tests/auto/uic3/baseline/dialogform.ui.err | 0 tests/auto/uic3/baseline/diffdialog.ui | 122 + tests/auto/uic3/baseline/diffdialog.ui.4 | 86 + tests/auto/uic3/baseline/diffdialog.ui.err | 0 tests/auto/uic3/baseline/distributor.ui | 427 + tests/auto/uic3/baseline/distributor.ui.4 | 389 + tests/auto/uic3/baseline/distributor.ui.err | 3 + tests/auto/uic3/baseline/dndbase.ui | 355 + tests/auto/uic3/baseline/dndbase.ui.4 | 325 + tests/auto/uic3/baseline/dndbase.ui.err | 0 tests/auto/uic3/baseline/editbook.ui | 386 + tests/auto/uic3/baseline/editbook.ui.4 | 346 + tests/auto/uic3/baseline/editbook.ui.err | 5 + tests/auto/uic3/baseline/editfunctions.ui | 721 + tests/auto/uic3/baseline/editfunctions.ui.4 | 665 + tests/auto/uic3/baseline/editfunctions.ui.err | 1 + tests/auto/uic3/baseline/extension.ui | 114 + tests/auto/uic3/baseline/extension.ui.4 | 90 + tests/auto/uic3/baseline/extension.ui.err | 0 tests/auto/uic3/baseline/finddialog.ui | 281 + tests/auto/uic3/baseline/finddialog.ui.4 | 234 + tests/auto/uic3/baseline/finddialog.ui.err | 0 tests/auto/uic3/baseline/findform.ui | 123 + tests/auto/uic3/baseline/findform.ui.4 | 95 + tests/auto/uic3/baseline/findform.ui.err | 0 tests/auto/uic3/baseline/finishpage.ui | 63 + tests/auto/uic3/baseline/finishpage.ui.4 | 53 + tests/auto/uic3/baseline/finishpage.ui.err | 0 tests/auto/uic3/baseline/folderdlg.ui | 184 + tests/auto/uic3/baseline/folderdlg.ui.4 | 161 + tests/auto/uic3/baseline/folderdlg.ui.err | 3 + tests/auto/uic3/baseline/folderspage.ui | 259 + tests/auto/uic3/baseline/folderspage.ui.4 | 227 + tests/auto/uic3/baseline/folderspage.ui.err | 2 + tests/auto/uic3/baseline/form.ui | 85 + tests/auto/uic3/baseline/form.ui.4 | 55 + tests/auto/uic3/baseline/form.ui.err | 1 + tests/auto/uic3/baseline/form1.ui | 204 + tests/auto/uic3/baseline/form1.ui.4 | 186 + tests/auto/uic3/baseline/form1.ui.err | 1 + tests/auto/uic3/baseline/form2.ui | 274 + tests/auto/uic3/baseline/form2.ui.4 | 303 + tests/auto/uic3/baseline/form2.ui.err | 9 + tests/auto/uic3/baseline/formbase.ui | 798 + tests/auto/uic3/baseline/formbase.ui.4 | 652 + tests/auto/uic3/baseline/formbase.ui.err | 8 + tests/auto/uic3/baseline/formsettings.ui | 556 + tests/auto/uic3/baseline/formsettings.ui.4 | 557 + tests/auto/uic3/baseline/formsettings.ui.err | 0 tests/auto/uic3/baseline/ftpmainwindow.ui | 280 + tests/auto/uic3/baseline/ftpmainwindow.ui.4 | 244 + tests/auto/uic3/baseline/ftpmainwindow.ui.err | 0 tests/auto/uic3/baseline/gllandscapeviewer.ui | 623 + tests/auto/uic3/baseline/gllandscapeviewer.ui.4 | 537 + tests/auto/uic3/baseline/gllandscapeviewer.ui.err | 4 + tests/auto/uic3/baseline/gotolinedialog.ui | 176 + tests/auto/uic3/baseline/gotolinedialog.ui.4 | 157 + tests/auto/uic3/baseline/gotolinedialog.ui.err | 1 + tests/auto/uic3/baseline/helpdemobase.ui | 239 + tests/auto/uic3/baseline/helpdemobase.ui.4 | 213 + tests/auto/uic3/baseline/helpdemobase.ui.err | 0 tests/auto/uic3/baseline/helpdialog.ui | 506 + tests/auto/uic3/baseline/helpdialog.ui.4 | 437 + tests/auto/uic3/baseline/helpdialog.ui.err | 0 tests/auto/uic3/baseline/iconvieweditor.ui | 464 + tests/auto/uic3/baseline/iconvieweditor.ui.4 | 414 + tests/auto/uic3/baseline/iconvieweditor.ui.err | 0 tests/auto/uic3/baseline/install.ui | 178 + tests/auto/uic3/baseline/install.ui.4 | 147 + tests/auto/uic3/baseline/install.ui.err | 3 + tests/auto/uic3/baseline/installationwizard.ui | 195 + tests/auto/uic3/baseline/installationwizard.ui.4 | 168 + tests/auto/uic3/baseline/installationwizard.ui.err | 0 tests/auto/uic3/baseline/invokemethod.ui | 313 + tests/auto/uic3/baseline/invokemethod.ui.4 | 275 + tests/auto/uic3/baseline/invokemethod.ui.err | 0 tests/auto/uic3/baseline/license.ui | 200 + tests/auto/uic3/baseline/license.ui.4 | 176 + tests/auto/uic3/baseline/license.ui.err | 1 + tests/auto/uic3/baseline/licenseagreementpage.ui | 202 + tests/auto/uic3/baseline/licenseagreementpage.ui.4 | 173 + .../auto/uic3/baseline/licenseagreementpage.ui.err | 0 tests/auto/uic3/baseline/licensedlg.ui | 134 + tests/auto/uic3/baseline/licensedlg.ui.4 | 123 + tests/auto/uic3/baseline/licensedlg.ui.err | 0 tests/auto/uic3/baseline/licensepage.ui | 264 + tests/auto/uic3/baseline/licensepage.ui.4 | 273 + tests/auto/uic3/baseline/licensepage.ui.err | 1 + tests/auto/uic3/baseline/listboxeditor.ui | 461 + tests/auto/uic3/baseline/listboxeditor.ui.4 | 425 + tests/auto/uic3/baseline/listboxeditor.ui.err | 0 tests/auto/uic3/baseline/listeditor.ui | 182 + tests/auto/uic3/baseline/listeditor.ui.4 | 158 + tests/auto/uic3/baseline/listeditor.ui.err | 0 tests/auto/uic3/baseline/listvieweditor.ui | 938 + tests/auto/uic3/baseline/listvieweditor.ui.4 | 858 + tests/auto/uic3/baseline/listvieweditor.ui.err | 0 tests/auto/uic3/baseline/maindialog.ui | 165 + tests/auto/uic3/baseline/maindialog.ui.4 | 157 + tests/auto/uic3/baseline/maindialog.ui.err | 2 + tests/auto/uic3/baseline/mainfilesettings.ui | 211 + tests/auto/uic3/baseline/mainfilesettings.ui.4 | 187 + tests/auto/uic3/baseline/mainfilesettings.ui.err | 0 tests/auto/uic3/baseline/mainform.ui | 74 + tests/auto/uic3/baseline/mainform.ui.4 | 52 + tests/auto/uic3/baseline/mainform.ui.err | 0 tests/auto/uic3/baseline/mainformbase.ui | 395 + tests/auto/uic3/baseline/mainformbase.ui.4 | 343 + tests/auto/uic3/baseline/mainformbase.ui.err | 0 tests/auto/uic3/baseline/mainview.ui | 877 + tests/auto/uic3/baseline/mainview.ui.4 | 725 + tests/auto/uic3/baseline/mainview.ui.err | 9 + tests/auto/uic3/baseline/mainwindow.ui | 84 + tests/auto/uic3/baseline/mainwindow.ui.4 | 81 + tests/auto/uic3/baseline/mainwindow.ui.err | 0 tests/auto/uic3/baseline/mainwindowbase.ui | 1827 + tests/auto/uic3/baseline/mainwindowbase.ui.4 | 1650 + tests/auto/uic3/baseline/mainwindowbase.ui.err | 1 + tests/auto/uic3/baseline/mainwindowwizard.ui | 757 + tests/auto/uic3/baseline/mainwindowwizard.ui.4 | 686 + tests/auto/uic3/baseline/mainwindowwizard.ui.err | 12 + tests/auto/uic3/baseline/masterchildwindow.ui | 111 + tests/auto/uic3/baseline/masterchildwindow.ui.4 | 109 + tests/auto/uic3/baseline/masterchildwindow.ui.err | 0 tests/auto/uic3/baseline/metric.ui | 366 + tests/auto/uic3/baseline/metric.ui.4 | 332 + tests/auto/uic3/baseline/metric.ui.err | 1 + tests/auto/uic3/baseline/multiclip.ui | 206 + tests/auto/uic3/baseline/multiclip.ui.4 | 178 + tests/auto/uic3/baseline/multiclip.ui.err | 3 + tests/auto/uic3/baseline/multilineeditor.ui | 188 + tests/auto/uic3/baseline/multilineeditor.ui.4 | 160 + tests/auto/uic3/baseline/multilineeditor.ui.err | 0 tests/auto/uic3/baseline/mydialog.ui | 32 + tests/auto/uic3/baseline/mydialog.ui.4 | 35 + tests/auto/uic3/baseline/mydialog.ui.err | 0 tests/auto/uic3/baseline/newform.ui | 245 + tests/auto/uic3/baseline/newform.ui.4 | 227 + tests/auto/uic3/baseline/newform.ui.err | 0 tests/auto/uic3/baseline/options.ui | 587 + tests/auto/uic3/baseline/options.ui.4 | 519 + tests/auto/uic3/baseline/options.ui.err | 0 tests/auto/uic3/baseline/optionsform.ui | 207 + tests/auto/uic3/baseline/optionsform.ui.4 | 167 + tests/auto/uic3/baseline/optionsform.ui.err | 0 tests/auto/uic3/baseline/optionspage.ui | 508 + tests/auto/uic3/baseline/optionspage.ui.4 | 439 + tests/auto/uic3/baseline/optionspage.ui.err | 2 + tests/auto/uic3/baseline/oramonitor.ui | 206 + tests/auto/uic3/baseline/oramonitor.ui.4 | 191 + tests/auto/uic3/baseline/oramonitor.ui.err | 0 tests/auto/uic3/baseline/pageeditdialog.ui | 143 + tests/auto/uic3/baseline/pageeditdialog.ui.4 | 133 + tests/auto/uic3/baseline/pageeditdialog.ui.err | 0 tests/auto/uic3/baseline/paletteeditor.ui | 503 + tests/auto/uic3/baseline/paletteeditor.ui.4 | 469 + tests/auto/uic3/baseline/paletteeditor.ui.err | 9 + tests/auto/uic3/baseline/paletteeditoradvanced.ui | 755 + .../auto/uic3/baseline/paletteeditoradvanced.ui.4 | 686 + .../uic3/baseline/paletteeditoradvanced.ui.err | 12 + .../uic3/baseline/paletteeditoradvancedbase.ui | 682 + .../uic3/baseline/paletteeditoradvancedbase.ui.4 | 614 + .../uic3/baseline/paletteeditoradvancedbase.ui.err | 10 + tests/auto/uic3/baseline/pixmapcollectioneditor.ui | 225 + .../auto/uic3/baseline/pixmapcollectioneditor.ui.4 | 185 + .../uic3/baseline/pixmapcollectioneditor.ui.err | 0 tests/auto/uic3/baseline/pixmapfunction.ui | 937 + tests/auto/uic3/baseline/pixmapfunction.ui.4 | 873 + tests/auto/uic3/baseline/pixmapfunction.ui.err | 0 tests/auto/uic3/baseline/preferences.ui | 670 + tests/auto/uic3/baseline/preferences.ui.4 | 599 + tests/auto/uic3/baseline/preferences.ui.err | 0 tests/auto/uic3/baseline/previewwidget.ui | 311 + tests/auto/uic3/baseline/previewwidget.ui.4 | 258 + tests/auto/uic3/baseline/previewwidget.ui.err | 0 tests/auto/uic3/baseline/previewwidgetbase.ui | 311 + tests/auto/uic3/baseline/previewwidgetbase.ui.4 | 258 + tests/auto/uic3/baseline/previewwidgetbase.ui.err | 0 tests/auto/uic3/baseline/printpreview.ui | 277 + tests/auto/uic3/baseline/printpreview.ui.4 | 246 + tests/auto/uic3/baseline/printpreview.ui.err | 0 tests/auto/uic3/baseline/progressbarwidget.ui | 246 + tests/auto/uic3/baseline/progressbarwidget.ui.4 | 221 + tests/auto/uic3/baseline/progressbarwidget.ui.err | 0 tests/auto/uic3/baseline/progresspage.ui | 78 + tests/auto/uic3/baseline/progresspage.ui.4 | 69 + tests/auto/uic3/baseline/progresspage.ui.err | 0 tests/auto/uic3/baseline/projectsettings.ui | 308 + tests/auto/uic3/baseline/projectsettings.ui.4 | 272 + tests/auto/uic3/baseline/projectsettings.ui.err | 0 tests/auto/uic3/baseline/qactivexselect.ui | 194 + tests/auto/uic3/baseline/qactivexselect.ui.4 | 158 + tests/auto/uic3/baseline/qactivexselect.ui.err | 0 tests/auto/uic3/baseline/quuidbase.ui | 300 + tests/auto/uic3/baseline/quuidbase.ui.4 | 266 + tests/auto/uic3/baseline/quuidbase.ui.err | 8 + tests/auto/uic3/baseline/remotectrl.ui | 145 + tests/auto/uic3/baseline/remotectrl.ui.4 | 124 + tests/auto/uic3/baseline/remotectrl.ui.err | 0 tests/auto/uic3/baseline/replacedialog.ui | 325 + tests/auto/uic3/baseline/replacedialog.ui.4 | 277 + tests/auto/uic3/baseline/replacedialog.ui.err | 0 tests/auto/uic3/baseline/review.ui | 167 + tests/auto/uic3/baseline/review.ui.4 | 140 + tests/auto/uic3/baseline/review.ui.err | 1 + tests/auto/uic3/baseline/richedit.ui | 612 + tests/auto/uic3/baseline/richedit.ui.4 | 584 + tests/auto/uic3/baseline/richedit.ui.err | 11 + tests/auto/uic3/baseline/richtextfontdialog.ui | 354 + tests/auto/uic3/baseline/richtextfontdialog.ui.4 | 310 + tests/auto/uic3/baseline/richtextfontdialog.ui.err | 1 + tests/auto/uic3/baseline/search.ui | 136 + tests/auto/uic3/baseline/search.ui.4 | 110 + tests/auto/uic3/baseline/search.ui.err | 0 tests/auto/uic3/baseline/searchbase.ui | 480 + tests/auto/uic3/baseline/searchbase.ui.4 | 414 + tests/auto/uic3/baseline/searchbase.ui.err | 2 + tests/auto/uic3/baseline/serverbase.ui | 117 + tests/auto/uic3/baseline/serverbase.ui.4 | 108 + tests/auto/uic3/baseline/serverbase.ui.err | 0 tests/auto/uic3/baseline/settingsdialog.ui | 516 + tests/auto/uic3/baseline/settingsdialog.ui.4 | 446 + tests/auto/uic3/baseline/settingsdialog.ui.err | 1 + tests/auto/uic3/baseline/sidedecoration.ui | 108 + tests/auto/uic3/baseline/sidedecoration.ui.4 | 104 + tests/auto/uic3/baseline/sidedecoration.ui.err | 0 tests/auto/uic3/baseline/small_dialog.ui | 197 + tests/auto/uic3/baseline/small_dialog.ui.4 | 180 + tests/auto/uic3/baseline/small_dialog.ui.err | 0 tests/auto/uic3/baseline/sqlbrowsewindow.ui | 143 + tests/auto/uic3/baseline/sqlbrowsewindow.ui.4 | 125 + tests/auto/uic3/baseline/sqlbrowsewindow.ui.err | 0 tests/auto/uic3/baseline/sqlex.ui | 337 + tests/auto/uic3/baseline/sqlex.ui.4 | 279 + tests/auto/uic3/baseline/sqlex.ui.err | 1 + tests/auto/uic3/baseline/sqlformwizard.ui | 1776 + tests/auto/uic3/baseline/sqlformwizard.ui.4 | 1617 + tests/auto/uic3/baseline/sqlformwizard.ui.err | 0 tests/auto/uic3/baseline/startdialog.ui | 331 + tests/auto/uic3/baseline/startdialog.ui.4 | 293 + tests/auto/uic3/baseline/startdialog.ui.err | 0 tests/auto/uic3/baseline/statistics.ui | 259 + tests/auto/uic3/baseline/statistics.ui.4 | 252 + tests/auto/uic3/baseline/statistics.ui.err | 0 tests/auto/uic3/baseline/submitdialog.ui | 259 + tests/auto/uic3/baseline/submitdialog.ui.4 | 199 + tests/auto/uic3/baseline/submitdialog.ui.err | 0 tests/auto/uic3/baseline/tabbedbrowser.ui | 141 + tests/auto/uic3/baseline/tabbedbrowser.ui.4 | 74 + tests/auto/uic3/baseline/tabbedbrowser.ui.err | 0 tests/auto/uic3/baseline/tableeditor.ui | 831 + tests/auto/uic3/baseline/tableeditor.ui.4 | 746 + tests/auto/uic3/baseline/tableeditor.ui.err | 0 tests/auto/uic3/baseline/tabletstatsbase.ui | 298 + tests/auto/uic3/baseline/tabletstatsbase.ui.4 | 276 + tests/auto/uic3/baseline/tabletstatsbase.ui.err | 1 + tests/auto/uic3/baseline/topicchooser.ui | 182 + tests/auto/uic3/baseline/topicchooser.ui.4 | 168 + tests/auto/uic3/baseline/topicchooser.ui.err | 0 tests/auto/uic3/baseline/uninstall.ui | 167 + tests/auto/uic3/baseline/uninstall.ui.4 | 147 + tests/auto/uic3/baseline/uninstall.ui.err | 0 tests/auto/uic3/baseline/unpackdlg.ui | 330 + tests/auto/uic3/baseline/unpackdlg.ui.4 | 275 + tests/auto/uic3/baseline/unpackdlg.ui.err | 1 + tests/auto/uic3/baseline/variabledialog.ui | 301 + tests/auto/uic3/baseline/variabledialog.ui.4 | 281 + tests/auto/uic3/baseline/variabledialog.ui.err | 0 tests/auto/uic3/baseline/welcome.ui | 155 + tests/auto/uic3/baseline/welcome.ui.4 | 144 + tests/auto/uic3/baseline/welcome.ui.err | 2 + tests/auto/uic3/baseline/widget.ui | 1466 + tests/auto/uic3/baseline/widget.ui.4 | 1356 + tests/auto/uic3/baseline/widget.ui.err | 14 + tests/auto/uic3/baseline/widgetsbase.ui | 1269 + tests/auto/uic3/baseline/widgetsbase.ui.4 | 1176 + tests/auto/uic3/baseline/widgetsbase.ui.err | 2 + tests/auto/uic3/baseline/widgetsbase_pro.ui | 1158 + tests/auto/uic3/baseline/widgetsbase_pro.ui.4 | 1079 + tests/auto/uic3/baseline/widgetsbase_pro.ui.err | 2 + tests/auto/uic3/baseline/winintropage.ui | 39 + tests/auto/uic3/baseline/winintropage.ui.4 | 37 + tests/auto/uic3/baseline/winintropage.ui.err | 0 tests/auto/uic3/baseline/wizardeditor.ui | 345 + tests/auto/uic3/baseline/wizardeditor.ui.4 | 294 + tests/auto/uic3/baseline/wizardeditor.ui.err | 0 tests/auto/uic3/generated/placeholder | 0 tests/auto/uic3/tst_uic3.cpp | 190 + tests/auto/uic3/uic3.pro | 8 + tests/auto/uiloader/.gitignore | 1 + tests/auto/uiloader/README.TXT | 93 + tests/auto/uiloader/WTC0090dca226c8.ini | 11 + .../baseline/Dialog_with_Buttons_Bottom.ui | 71 + .../uiloader/baseline/Dialog_with_Buttons_Right.ui | 71 + .../uiloader/baseline/Dialog_without_Buttons.ui | 18 + tests/auto/uiloader/baseline/Main_Window.ui | 27 + tests/auto/uiloader/baseline/Widget.ui | 41 + tests/auto/uiloader/baseline/addlinkdialog.ui | 112 + tests/auto/uiloader/baseline/addtorrentform.ui | 266 + .../auto/uiloader/baseline/authenticationdialog.ui | 129 + tests/auto/uiloader/baseline/backside.ui | 208 + tests/auto/uiloader/baseline/batchtranslation.ui | 235 + tests/auto/uiloader/baseline/bookmarkdialog.ui | 161 + tests/auto/uiloader/baseline/bookwindow.ui | 149 + tests/auto/uiloader/baseline/browserwidget.ui | 199 + tests/auto/uiloader/baseline/calculator.ui | 406 + tests/auto/uiloader/baseline/calculatorform.ui | 303 + tests/auto/uiloader/baseline/certificateinfo.ui | 85 + tests/auto/uiloader/baseline/chatdialog.ui | 79 + tests/auto/uiloader/baseline/chatmainwindow.ui | 185 + tests/auto/uiloader/baseline/chatsetnickname.ui | 149 + tests/auto/uiloader/baseline/config.ui | 2527 + tests/auto/uiloader/baseline/connectdialog.ui | 150 + tests/auto/uiloader/baseline/controller.ui | 64 + tests/auto/uiloader/baseline/cookies.ui | 106 + tests/auto/uiloader/baseline/cookiesexceptions.ui | 184 + .../uiloader/baseline/css_buttons_background.ui | 232 + .../uiloader/baseline/css_combobox_background.ui | 306 + tests/auto/uiloader/baseline/css_exemple_coffee.ui | 469 + .../auto/uiloader/baseline/css_exemple_pagefold.ui | 656 + tests/auto/uiloader/baseline/css_exemple_usage.ui | 91 + tests/auto/uiloader/baseline/css_frames.ui | 308 + tests/auto/uiloader/baseline/css_groupboxes.ui | 150 + tests/auto/uiloader/baseline/css_qprogressbar.ui | 125 + tests/auto/uiloader/baseline/css_qtabwidget.ui | 224 + tests/auto/uiloader/baseline/css_scroll.ui | 599 + tests/auto/uiloader/baseline/css_tab_task213374.ui | 306 + tests/auto/uiloader/baseline/default.ui | 329 + tests/auto/uiloader/baseline/dialog.ui | 47 + tests/auto/uiloader/baseline/downloaditem.ui | 134 + tests/auto/uiloader/baseline/downloads.ui | 83 + tests/auto/uiloader/baseline/embeddeddialog.ui | 87 + tests/auto/uiloader/baseline/filespage.ui | 79 + tests/auto/uiloader/baseline/filternamedialog.ui | 67 + tests/auto/uiloader/baseline/filterpage.ui | 125 + tests/auto/uiloader/baseline/finddialog.ui | 264 + tests/auto/uiloader/baseline/formwindowsettings.ui | 310 + tests/auto/uiloader/baseline/generalpage.ui | 69 + tests/auto/uiloader/baseline/gridpanel.ui | 144 + tests/auto/uiloader/baseline/helpdialog.ui | 403 + tests/auto/uiloader/baseline/history.ui | 106 + tests/auto/uiloader/baseline/identifierpage.ui | 132 + tests/auto/uiloader/baseline/imagedialog.ui | 389 + .../uiloader/baseline/images/checkbox_checked.png | Bin 0 -> 263 bytes .../baseline/images/checkbox_checked_hover.png | Bin 0 -> 266 bytes .../baseline/images/checkbox_checked_pressed.png | Bin 0 -> 425 bytes .../baseline/images/checkbox_unchecked.png | Bin 0 -> 159 bytes .../baseline/images/checkbox_unchecked_hover.png | Bin 0 -> 159 bytes .../baseline/images/checkbox_unchecked_pressed.png | Bin 0 -> 320 bytes tests/auto/uiloader/baseline/images/down_arrow.png | Bin 0 -> 175 bytes .../baseline/images/down_arrow_disabled.png | Bin 0 -> 174 bytes tests/auto/uiloader/baseline/images/frame.png | Bin 0 -> 253 bytes tests/auto/uiloader/baseline/images/pagefold.png | Bin 0 -> 1545 bytes tests/auto/uiloader/baseline/images/pushbutton.png | Bin 0 -> 533 bytes .../uiloader/baseline/images/pushbutton_hover.png | Bin 0 -> 525 bytes .../baseline/images/pushbutton_pressed.png | Bin 0 -> 513 bytes .../baseline/images/radiobutton_checked.png | Bin 0 -> 355 bytes .../baseline/images/radiobutton_checked_hover.png | Bin 0 -> 532 bytes .../images/radiobutton_checked_pressed.png | Bin 0 -> 599 bytes .../baseline/images/radiobutton_unchecked.png | Bin 0 -> 240 bytes .../images/radiobutton_unchecked_hover.png | Bin 0 -> 492 bytes .../images/radiobutton_unchecked_pressed.png | Bin 0 -> 556 bytes tests/auto/uiloader/baseline/images/sizegrip.png | Bin 0 -> 129 bytes tests/auto/uiloader/baseline/images/spindown.png | Bin 0 -> 276 bytes .../uiloader/baseline/images/spindown_hover.png | Bin 0 -> 268 bytes .../auto/uiloader/baseline/images/spindown_off.png | Bin 0 -> 249 bytes .../uiloader/baseline/images/spindown_pressed.png | Bin 0 -> 264 bytes tests/auto/uiloader/baseline/images/spinup.png | Bin 0 -> 283 bytes .../auto/uiloader/baseline/images/spinup_hover.png | Bin 0 -> 277 bytes tests/auto/uiloader/baseline/images/spinup_off.png | Bin 0 -> 274 bytes .../uiloader/baseline/images/spinup_pressed.png | Bin 0 -> 277 bytes tests/auto/uiloader/baseline/images/up_arrow.png | Bin 0 -> 197 bytes .../uiloader/baseline/images/up_arrow_disabled.png | Bin 0 -> 172 bytes tests/auto/uiloader/baseline/inputpage.ui | 79 + tests/auto/uiloader/baseline/installdialog.ui | 118 + tests/auto/uiloader/baseline/languagesdialog.ui | 160 + tests/auto/uiloader/baseline/listwidgeteditor.ui | 225 + tests/auto/uiloader/baseline/mainwindow.ui | 502 + tests/auto/uiloader/baseline/mainwindowbase.ui | 1213 + tests/auto/uiloader/baseline/mydialog.ui | 47 + tests/auto/uiloader/baseline/myform.ui | 130 + tests/auto/uiloader/baseline/newactiondialog.ui | 201 + .../uiloader/baseline/newdynamicpropertydialog.ui | 106 + tests/auto/uiloader/baseline/newform.ui | 152 + tests/auto/uiloader/baseline/orderdialog.ui | 197 + tests/auto/uiloader/baseline/outputpage.ui | 95 + tests/auto/uiloader/baseline/pagefold.ui | 349 + tests/auto/uiloader/baseline/paletteeditor.ui | 263 + .../uiloader/baseline/paletteeditoradvancedbase.ui | 616 + tests/auto/uiloader/baseline/passworddialog.ui | 111 + tests/auto/uiloader/baseline/pathpage.ui | 114 + tests/auto/uiloader/baseline/phrasebookbox.ui | 210 + tests/auto/uiloader/baseline/plugindialog.ui | 152 + tests/auto/uiloader/baseline/preferencesdialog.ui | 165 + .../baseline/previewconfigurationwidget.ui | 91 + tests/auto/uiloader/baseline/previewdialogbase.ui | 224 + tests/auto/uiloader/baseline/previewwidget.ui | 237 + tests/auto/uiloader/baseline/previewwidgetbase.ui | 339 + tests/auto/uiloader/baseline/proxy.ui | 104 + tests/auto/uiloader/baseline/qfiledialog.ui | 319 + tests/auto/uiloader/baseline/qpagesetupwidget.ui | 353 + .../uiloader/baseline/qprintpropertieswidget.ui | 70 + .../auto/uiloader/baseline/qprintsettingsoutput.ui | 371 + tests/auto/uiloader/baseline/qprintwidget.ui | 116 + .../auto/uiloader/baseline/qsqlconnectiondialog.ui | 224 + tests/auto/uiloader/baseline/qtgradientdialog.ui | 120 + tests/auto/uiloader/baseline/qtgradienteditor.ui | 1376 + tests/auto/uiloader/baseline/qtgradientview.ui | 135 + .../auto/uiloader/baseline/qtgradientviewdialog.ui | 120 + .../uiloader/baseline/qtresourceeditordialog.ui | 180 + tests/auto/uiloader/baseline/qttoolbardialog.ui | 207 + tests/auto/uiloader/baseline/querywidget.ui | 163 + tests/auto/uiloader/baseline/remotecontrol.ui | 228 + tests/auto/uiloader/baseline/saveformastemplate.ui | 165 + tests/auto/uiloader/baseline/settings.ui | 262 + tests/auto/uiloader/baseline/signalslotdialog.ui | 129 + tests/auto/uiloader/baseline/sslclient.ui | 190 + tests/auto/uiloader/baseline/sslerrors.ui | 110 + tests/auto/uiloader/baseline/statistics.ui | 241 + tests/auto/uiloader/baseline/stringlisteditor.ui | 264 + tests/auto/uiloader/baseline/stylesheeteditor.ui | 171 + tests/auto/uiloader/baseline/tabbedbrowser.ui | 232 + tests/auto/uiloader/baseline/tablewidgeteditor.ui | 402 + tests/auto/uiloader/baseline/tetrixwindow.ui | 164 + tests/auto/uiloader/baseline/textfinder.ui | 89 + tests/auto/uiloader/baseline/topicchooser.ui | 116 + tests/auto/uiloader/baseline/translatedialog.ui | 300 + .../auto/uiloader/baseline/translationsettings.ui | 107 + tests/auto/uiloader/baseline/treewidgeteditor.ui | 378 + tests/auto/uiloader/baseline/trpreviewtool.ui | 188 + tests/auto/uiloader/baseline/validators.ui | 467 + .../auto/uiloader/baseline/wateringconfigdialog.ui | 446 + tests/auto/uiloader/desert.ini | 11 + tests/auto/uiloader/dole.ini | 11 + tests/auto/uiloader/gravlaks.ini | 11 + tests/auto/uiloader/jackychan.ini | 11 + tests/auto/uiloader/jeunehomme.ini | 11 + tests/auto/uiloader/kangaroo.ini | 11 + tests/auto/uiloader/kayak.ini | 11 + tests/auto/uiloader/scruffy.ini | 11 + tests/auto/uiloader/troll15.ini | 11 + tests/auto/uiloader/tst_screenshot/README.TXT | 13 + tests/auto/uiloader/tst_screenshot/main.cpp | 209 + .../uiloader/tst_screenshot/tst_screenshot.pro | 8 + tests/auto/uiloader/tundra.ini | 11 + tests/auto/uiloader/uiloader.pro | 3 + tests/auto/uiloader/uiloader/tst_uiloader.cpp | 104 + tests/auto/uiloader/uiloader/uiloader.cpp | 814 + tests/auto/uiloader/uiloader/uiloader.h | 109 + tests/auto/uiloader/uiloader/uiloader.pro | 31 + tests/auto/uiloader/wartburg.ini | 11 + tests/auto/xmlpatterns.pri | 21 + tests/auto/xmlpatterns/.gitattributes | 3 + tests/auto/xmlpatterns/.gitignore | 5 + tests/auto/xmlpatterns/XSLTTODO | 1450 + tests/auto/xmlpatterns/baselines/globals.xml | 12 + tests/auto/xmlpatterns/queries/README | 4 + tests/auto/xmlpatterns/queries/allAtomics.xq | 50 + .../xmlpatterns/queries/allAtomicsExternally.xq | 33 + .../xmlpatterns/queries/completelyEmptyQuery.xq | 0 tests/auto/xmlpatterns/queries/concat.xq | 1 + tests/auto/xmlpatterns/queries/emptySequence.xq | 2 + tests/auto/xmlpatterns/queries/errorFunction.xq | 1 + .../xmlpatterns/queries/externalStringVariable.xq | 1 + tests/auto/xmlpatterns/queries/externalVariable.xq | 2 + .../queries/externalVariableUsedTwice.xq | 1 + tests/auto/xmlpatterns/queries/flwor.xq | 4 + tests/auto/xmlpatterns/queries/globals.gccxml | 33 + tests/auto/xmlpatterns/queries/invalidRegexp.xq | 1 + .../auto/xmlpatterns/queries/invalidRegexpFlag.xq | 1 + tests/auto/xmlpatterns/queries/nodeSequence.xq | 31 + .../xmlpatterns/queries/nonexistingCollection.xq | 1 + tests/auto/xmlpatterns/queries/oneElement.xq | 1 + tests/auto/xmlpatterns/queries/onePlusOne.xq | 1 + tests/auto/xmlpatterns/queries/onlyDocumentNode.xq | 1 + tests/auto/xmlpatterns/queries/openDocument.xq | 1 + tests/auto/xmlpatterns/queries/reportGlobals.xq | 101 + tests/auto/xmlpatterns/queries/simpleDocument.xml | 1 + .../xmlpatterns/queries/simpleLibraryModule.xq | 5 + tests/auto/xmlpatterns/queries/staticBaseURI.xq | 3 + tests/auto/xmlpatterns/queries/staticError.xq | 1 + tests/auto/xmlpatterns/queries/syntaxError.xq | 1 + tests/auto/xmlpatterns/queries/threeVariables.xq | 1 + tests/auto/xmlpatterns/queries/twoVariables.xq | 1 + tests/auto/xmlpatterns/queries/typeError.xq | 1 + .../queries/unavailableExternalVariable.xq | 2 + .../xmlpatterns/queries/unsupportedCollation.xq | 2 + tests/auto/xmlpatterns/queries/wrongArity.xq | 1 + tests/auto/xmlpatterns/queries/zeroDivision.xq | 1 + .../stderrBaselines/Anunboundexternalvariable.txt | 1 + .../stderrBaselines/Asimplemathquery.txt | 0 .../stderrBaselines/Asingledashthatsinvalid.txt | 2 + .../Asinglequerythatdoesnotexist.txt | 1 + .../stderrBaselines/Basicuseofoutputqueryfirst.txt | 0 .../stderrBaselines/Basicuseofoutputquerylast.txt | 0 .../stderrBaselines/Bindanexternalvariable.txt | 0 .../Bindanexternalvariablequeryappearinglast.txt | 0 .../Callanamedtemplateandusenofocus..txt | 0 .../xmlpatterns/stderrBaselines/Callfnerror.txt | 1 + .../Ensureisuricanappearafterthequeryfilename.txt | 0 .../stderrBaselines/Evaluatealibrarymodule.txt | 1 + .../Evaluateastylesheetwithnocontextdocument.txt | 1 + .../stderrBaselines/Invalidtemplatename.txt | 1 + .../Invokeatemplateandusepassparameters..txt | 0 .../xmlpatterns/stderrBaselines/Invokeversion.txt | 1 + .../Invokewithcoloninvariablename..txt | 1 + .../Invokewithinvalidparamvalue..txt | 1 + .../Invokewithmissingnameinparamarg..txt | 1 + .../Invokewithparamthathasnovalue..txt | 0 ...nvokewithparamthathastwoadjacentequalsigns..txt | 0 .../stderrBaselines/LoadqueryviaFTP.txt | 0 .../stderrBaselines/LoadqueryviaHTTP.txt | 0 .../stderrBaselines/Loadqueryviadatascheme.txt | 0 ...vedagainstCWDnotthelocationoftheexecutable..txt | 0 ...dinstancedocumentcausescrashincoloringcode..txt | 1 + ...lformedstylesheetcausescrashincoloringcode..txt | 1 + .../stderrBaselines/Openannonexistentfile.txt | 1 + .../Openanonexistingcollection..txt | 1 + .../auto/xmlpatterns/stderrBaselines/Passhelp.txt | 31 + ...inanexternalvariablebutthequerydoesntuseit..txt | 0 ...stylesheetfileandafocusfilewhichdoesntexist.txt | 1 + ...inastylesheetfilewhichcontainsanXQueryquery.txt | 1 + ...astylsheetfileandafocusfilewhichdoesntexist.txt | 15 + ...sinastylsheetfilewhichcontainsanXQueryquery.txt | 16 + .../Passingasingledashisinsufficient.txt | 2 + ...ingtwodashesthelastisinterpretedasafilename.txt | 1 + .../stderrBaselines/PassininvalidURI.txt | 1 + ...hetwolastgetsinterpretedastwoqueryarguments.txt | 2 + ...Theavailableflagsareformattedinacomplexway..txt | 5 + ...aluatestoasingledocumentnodewithnochildren..txt | 0 .../Runaquerywhichevaluatestotheemptysequence..txt | 0 .../Specifyanamedtemplatethatdoesnotexists.txt | 0 .../Specifyanamedtemplatethatexists.txt | 0 .../stderrBaselines/Specifynoargumentsatall..txt | 2 + ...Specifythesameparametertwicedifferentvalues.txt | 1 + .../Specifythesameparametertwicesamevalues.txt | 1 + .../Specifytwodifferentquerynames.txt | 2 + .../Specifytwoidenticalquerynames.txt | 2 + ...t.ThequerynaturallycontainsanerrorXPTY0004..txt | 2 + ...orOutput.ThequerynaturallycontainsXPST0003..txt | 1 + .../stderrBaselines/Triggerastaticerror..txt | 1 + .../xmlpatterns/stderrBaselines/Unknownswitchd.txt | 2 + .../stderrBaselines/Unknownswitchunknownswitch.txt | 2 + .../xmlpatterns/stderrBaselines/Useanativepath.txt | 0 .../Useanexternalvariablemultipletimes..txt | 0 .../Useasimplifiedstylesheetmodule.txt | 0 .../auto/xmlpatterns/stderrBaselines/Usefndoc.txt | 0 .../Usefndoctogetherwithnoformatfirst.txt | 0 .../Usefndoctogetherwithnoformatlast.txt | 0 ...surewetruncatenotappendthecontentweproduce..txt | 0 .../xmlpatterns/stderrBaselines/Useoutputtwice.txt | 2 + .../xmlpatterns/stderrBaselines/Useparamthrice.txt | 0 .../xmlpatterns/stderrBaselines/Useparamtwice.txt | 0 .../Wedontsupportformatanylonger.txt | 2 + .../XQuerydataXQuerykeywordmessagemarkups.txt | 1 + .../XQueryexpressionmessagemarkups.txt | 1 + .../XQueryfunctionmessagemarkups.txt | 1 + .../stderrBaselines/XQuerytypemessagemarkups.txt | 1 + .../stderrBaselines/XQueryurimessagemarkups.txt | 1 + .../initialtemplatedoesntworkwithXQueries..txt | 1 + .../initialtemplatemustbefollowedbyavalue.txt | 1 + .../initialtemplatemustbefollowedbyavalue2.txt | 2 + .../onequeryandaterminatingdashattheend.txt | 0 .../stderrBaselines/onequerywithaprecedingdash.txt | 0 .../xmlpatterns/stderrBaselines/onlynoformat.txt | 2 + .../stderrBaselines/outputwithanonwritablefile.txt | 1 + .../paramismissingsomultiplequeriesappear.txt | 1 + tests/auto/xmlpatterns/stylesheets/bool070.xml | 1 + tests/auto/xmlpatterns/stylesheets/bool070.xsl | 6 + .../xmlpatterns/stylesheets/copyWholeDocument.xsl | 9 + .../xmlpatterns/stylesheets/documentElement.xml | 1 + .../stylesheets/namedAndRootTemplate.xsl | 5 + .../auto/xmlpatterns/stylesheets/namedTemplate.xsl | 8 + .../auto/xmlpatterns/stylesheets/notWellformed.xsl | 9 + .../xmlpatterns/stylesheets/onlyRootTemplate.xsl | 9 + tests/auto/xmlpatterns/stylesheets/parameters.xsl | 41 + .../xmlpatterns/stylesheets/queryAsStylesheet.xsl | 1 + .../stylesheets/simplifiedStylesheetModule.xml | 1 + .../stylesheets/simplifiedStylesheetModule.xsl | 4 + .../auto/xmlpatterns/stylesheets/useParameters.xsl | 16 + tests/auto/xmlpatterns/tst_xmlpatterns.cpp | 1011 + tests/auto/xmlpatterns/xmlpatterns.pro | 5 + tests/auto/xmlpatternsdiagnosticsts/.gitattributes | 6 + tests/auto/xmlpatternsdiagnosticsts/.gitignore | 2 + tests/auto/xmlpatternsdiagnosticsts/Baseline.xml | 2 + .../TestSuite/DiagnosticsCatalog.xml | 1046 + .../ExpectedTestResults/ShouldFail/fail-1.txt | 1 + .../ExpectedTestResults/ShouldFail/fail-2.txt | 1 + .../ExpectedTestResults/ShouldFail/fail-3.txt | 1 + .../ExpectedTestResults/ShouldFail/succeed-10.txt | 1 + .../ShouldFail/succeed-11-1.txt | 1 + .../ShouldFail/succeed-11-2.txt | 1 + .../ShouldFail/succeed-12-1.txt | 1 + .../ShouldFail/succeed-12-2.txt | 1 + .../ExpectedTestResults/ShouldFail/succeed-9-1.txt | 1 + .../ExpectedTestResults/ShouldFail/succeed-9-2.txt | 1 + .../ExpectedTestResults/ShouldFail/succeed-9-3.txt | 1 + .../ShouldSucceed/succeed-1.txt | 1 + .../ShouldSucceed/succeed-11.txt | 1 + .../ShouldSucceed/succeed-13.txt | 1 + .../ShouldSucceed/succeed-14.txt | 3 + .../ShouldSucceed/succeed-2-1.txt | 1 + .../ShouldSucceed/succeed-2-2.txt | 1 + .../ShouldSucceed/succeed-2-3.txt | 1 + .../ShouldSucceed/succeed-2-4.txt | 1 + .../ShouldSucceed/succeed-2-5.txt | 1 + .../ShouldSucceed/succeed-2-6.txt | 1 + .../ShouldSucceed/succeed-6-1.txt | 1 + .../ShouldSucceed/succeed-6-2.txt | 1 + .../ShouldSucceed/succeed-7-1.txt | 1 + .../ShouldSucceed/succeed-7-2.txt | 1 + .../ShouldSucceed/succeed-8.txt | 1 + .../ShouldSucceed/succeed-9.txt | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-1.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-10.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-11.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-12.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-14.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-15.xq | 2 + .../TestSuite/Queries/XQuery/ShouldFail/fail-16.xq | 2 + .../TestSuite/Queries/XQuery/ShouldFail/fail-17.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-18.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-2.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-3.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-4.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-5.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-6.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-7.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-8.xq | 1 + .../TestSuite/Queries/XQuery/ShouldFail/fail-9.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-1.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-10.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-11.xq | 3 + .../Queries/XQuery/ShouldSucceed/succeed-12.xq | 2 + .../Queries/XQuery/ShouldSucceed/succeed-13.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-14.xq | 2 + .../Queries/XQuery/ShouldSucceed/succeed-2.xq | 2 + .../Queries/XQuery/ShouldSucceed/succeed-3.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-4.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-5.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-6.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-7.xq | 1 + .../Queries/XQuery/ShouldSucceed/succeed-8.xq | 2 + .../Queries/XQuery/ShouldSucceed/succeed-9.xq | 1 + .../TestSuite/TestSources/bib2.xml | 40 + .../TestSuite/TestSources/emptydoc.xml | 1 + .../xmlpatternsdiagnosticsts/TestSuite/validate.sh | 3 + tests/auto/xmlpatternsdiagnosticsts/test/test.pro | 32 + .../test/tst_xmlpatternsdiagnosticsts.cpp | 80 + .../xmlpatternsdiagnosticsts.pro | 4 + tests/auto/xmlpatternsview/.gitignore | 1 + tests/auto/xmlpatternsview/test/test.pro | 17 + .../xmlpatternsview/test/tst_xmlpatternsview.cpp | 74 + .../view/FunctionSignaturesView.cpp | 101 + .../xmlpatternsview/view/FunctionSignaturesView.h | 116 + tests/auto/xmlpatternsview/view/MainWindow.cpp | 531 + tests/auto/xmlpatternsview/view/MainWindow.h | 215 + tests/auto/xmlpatternsview/view/TestCaseView.cpp | 220 + tests/auto/xmlpatternsview/view/TestCaseView.h | 132 + tests/auto/xmlpatternsview/view/TestResultView.cpp | 204 + tests/auto/xmlpatternsview/view/TestResultView.h | 127 + tests/auto/xmlpatternsview/view/TreeSortFilter.cpp | 163 + tests/auto/xmlpatternsview/view/TreeSortFilter.h | 139 + tests/auto/xmlpatternsview/view/UserTestCase.cpp | 200 + tests/auto/xmlpatternsview/view/UserTestCase.h | 167 + tests/auto/xmlpatternsview/view/XDTItemItem.cpp | 160 + tests/auto/xmlpatternsview/view/XDTItemItem.h | 133 + tests/auto/xmlpatternsview/view/main.cpp | 103 + tests/auto/xmlpatternsview/view/ui_BaseLinePage.ui | 48 + .../view/ui_FunctionSignaturesView.ui | 70 + tests/auto/xmlpatternsview/view/ui_MainWindow.ui | 310 + tests/auto/xmlpatternsview/view/ui_TestCaseView.ui | 224 + .../auto/xmlpatternsview/view/ui_TestResultView.ui | 239 + tests/auto/xmlpatternsview/view/view.pro | 35 + tests/auto/xmlpatternsview/xmlpatternsview.pro | 8 + tests/auto/xmlpatternsxqts/.gitattributes | 1 + tests/auto/xmlpatternsxqts/.gitignore | 3 + tests/auto/xmlpatternsxqts/Baseline.xml | 2 + tests/auto/xmlpatternsxqts/TODO | 241 + tests/auto/xmlpatternsxqts/lib/ASTItem.cpp | 202 + tests/auto/xmlpatternsxqts/lib/ASTItem.h | 156 + .../xmlpatternsxqts/lib/DebugExpressionFactory.cpp | 305 + .../xmlpatternsxqts/lib/DebugExpressionFactory.h | 169 + tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp | 207 + tests/auto/xmlpatternsxqts/lib/ErrorHandler.h | 190 + tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp | 183 + tests/auto/xmlpatternsxqts/lib/ErrorItem.h | 135 + tests/auto/xmlpatternsxqts/lib/ExitCode.h | 146 + tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp | 95 + tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h | 121 + tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp | 357 + tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h | 322 + .../xmlpatternsxqts/lib/ExternalSourceLoader.cpp | 181 + .../xmlpatternsxqts/lib/ExternalSourceLoader.h | 178 + tests/auto/xmlpatternsxqts/lib/Global.cpp | 124 + tests/auto/xmlpatternsxqts/lib/Global.h | 169 + tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp | 117 + tests/auto/xmlpatternsxqts/lib/ResultThreader.h | 151 + tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp | 545 + tests/auto/xmlpatternsxqts/lib/TestBaseLine.h | 246 + tests/auto/xmlpatternsxqts/lib/TestCase.cpp | 480 + tests/auto/xmlpatternsxqts/lib/TestCase.h | 297 + tests/auto/xmlpatternsxqts/lib/TestContainer.cpp | 192 + tests/auto/xmlpatternsxqts/lib/TestContainer.h | 164 + tests/auto/xmlpatternsxqts/lib/TestGroup.cpp | 180 + tests/auto/xmlpatternsxqts/lib/TestGroup.h | 134 + tests/auto/xmlpatternsxqts/lib/TestItem.h | 174 + tests/auto/xmlpatternsxqts/lib/TestResult.cpp | 199 + tests/auto/xmlpatternsxqts/lib/TestResult.h | 220 + .../auto/xmlpatternsxqts/lib/TestResultHandler.cpp | 139 + tests/auto/xmlpatternsxqts/lib/TestResultHandler.h | 156 + tests/auto/xmlpatternsxqts/lib/TestSuite.cpp | 302 + tests/auto/xmlpatternsxqts/lib/TestSuite.h | 191 + .../auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp | 353 + tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h | 210 + tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp | 214 + tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h | 134 + tests/auto/xmlpatternsxqts/lib/TreeItem.cpp | 103 + tests/auto/xmlpatternsxqts/lib/TreeItem.h | 155 + tests/auto/xmlpatternsxqts/lib/TreeModel.cpp | 220 + tests/auto/xmlpatternsxqts/lib/TreeModel.h | 151 + tests/auto/xmlpatternsxqts/lib/Worker.cpp | 299 + tests/auto/xmlpatternsxqts/lib/Worker.h | 141 + tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp | 710 + tests/auto/xmlpatternsxqts/lib/XMLWriter.h | 444 + tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp | 327 + tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h | 190 + .../xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp | 275 + .../xmlpatternsxqts/lib/XSLTTestSuiteHandler.h | 199 + .../lib/docs/XMLIndenterExample.cpp | 63 + .../lib/docs/XMLIndenterExampleResult.xml | 3 + .../xmlpatternsxqts/lib/docs/XMLWriterExample.cpp | 63 + .../lib/docs/XMLWriterExampleResult.xml | 3 + tests/auto/xmlpatternsxqts/lib/lib.pro | 78 + .../xmlpatternsxqts/lib/tests/XMLWriterTest.cpp | 227 + .../auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h | 118 + tests/auto/xmlpatternsxqts/summarizeBaseline.sh | 10 + tests/auto/xmlpatternsxqts/summarizeBaseline.xsl | 25 + tests/auto/xmlpatternsxqts/test/test.pro | 28 + tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp | 166 + tests/auto/xmlpatternsxqts/test/tst_suitetest.h | 99 + .../xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp | 106 + tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro | 11 + tests/auto/xmlpatternsxslts/.gitignore | 4 + tests/auto/xmlpatternsxslts/Baseline.xml | 2 + tests/auto/xmlpatternsxslts/XSLTS/.gitignore | 8 + tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh | 18 + .../auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp | 80 + tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro | 25 + tests/benchmarks/benchmarks.pro | 20 + tests/benchmarks/blendbench/blendbench.pro | 8 + tests/benchmarks/blendbench/main.cpp | 152 + .../containers-associative.pro | 8 + tests/benchmarks/containers-associative/main.cpp | 143 + .../containers-sequential.pro | 8 + tests/benchmarks/containers-sequential/main.cpp | 258 + tests/benchmarks/events/events.pro | 7 + tests/benchmarks/events/main.cpp | 176 + tests/benchmarks/opengl/main.cpp | 379 + tests/benchmarks/opengl/opengl.pro | 10 + tests/benchmarks/qanimation/dummyanimation.cpp | 20 + tests/benchmarks/qanimation/dummyanimation.h | 19 + tests/benchmarks/qanimation/dummyobject.cpp | 25 + tests/benchmarks/qanimation/dummyobject.h | 23 + tests/benchmarks/qanimation/main.cpp | 173 + tests/benchmarks/qanimation/qanimation.pro | 18 + tests/benchmarks/qanimation/rectanimation.cpp | 58 + tests/benchmarks/qanimation/rectanimation.h | 30 + tests/benchmarks/qapplication/main.cpp | 87 + tests/benchmarks/qapplication/qapplication.pro | 10 + tests/benchmarks/qbytearray/main.cpp | 87 + tests/benchmarks/qbytearray/qbytearray.pro | 12 + tests/benchmarks/qdiriterator/main.cpp | 251 + tests/benchmarks/qdiriterator/qdiriterator.pro | 23 + .../qdiriterator/qfilesystemiterator.cpp | 689 + .../benchmarks/qdiriterator/qfilesystemiterator.h | 99 + tests/benchmarks/qfile/main.cpp | 650 + tests/benchmarks/qfile/qfile.pro | 7 + tests/benchmarks/qgraphicsscene/qgraphicsscene.pro | 6 + .../qgraphicsscene/tst_qgraphicsscene.cpp | 226 + .../qgraphicsview/benchapps/chipTest/chip.cpp | 176 + .../qgraphicsview/benchapps/chipTest/chip.debug | Bin 0 -> 863805 bytes .../qgraphicsview/benchapps/chipTest/chip.h | 68 + .../qgraphicsview/benchapps/chipTest/chip.pro | 19 + .../qgraphicsview/benchapps/chipTest/fileprint.png | Bin 0 -> 1456 bytes .../qgraphicsview/benchapps/chipTest/images.qrc | 10 + .../qgraphicsview/benchapps/chipTest/main.cpp | 57 + .../benchapps/chipTest/mainwindow.cpp | 87 + .../qgraphicsview/benchapps/chipTest/mainwindow.h | 66 + .../qgraphicsview/benchapps/chipTest/qt4logo.png | Bin 0 -> 48333 bytes .../benchapps/chipTest/rotateleft.png | Bin 0 -> 1754 bytes .../benchapps/chipTest/rotateright.png | Bin 0 -> 1732 bytes .../qgraphicsview/benchapps/chipTest/view.cpp | 257 + .../qgraphicsview/benchapps/chipTest/view.h | 86 + .../qgraphicsview/benchapps/chipTest/zoomin.png | Bin 0 -> 1622 bytes .../qgraphicsview/benchapps/chipTest/zoomout.png | Bin 0 -> 1601 bytes .../qgraphicsview/benchapps/moveItems/main.cpp | 106 + .../benchapps/moveItems/moveItems.pro | 1 + .../qgraphicsview/benchapps/scrolltest/main.cpp | 146 + .../benchapps/scrolltest/scrolltest.pro | 1 + tests/benchmarks/qgraphicsview/chiptester/chip.cpp | 182 + tests/benchmarks/qgraphicsview/chiptester/chip.h | 68 + .../qgraphicsview/chiptester/chiptester.cpp | 144 + .../qgraphicsview/chiptester/chiptester.h | 85 + .../qgraphicsview/chiptester/chiptester.pri | 12 + .../benchmarks/qgraphicsview/chiptester/images.qrc | 5 + .../qgraphicsview/chiptester/qt4logo.png | Bin 0 -> 48333 bytes tests/benchmarks/qgraphicsview/images/designer.png | Bin 0 -> 4205 bytes tests/benchmarks/qgraphicsview/qgraphicsview.pro | 8 + tests/benchmarks/qgraphicsview/qgraphicsview.qrc | 7 + tests/benchmarks/qgraphicsview/random.data | Bin 0 -> 800 bytes .../benchmarks/qgraphicsview/tst_qgraphicsview.cpp | 692 + tests/benchmarks/qimagereader/images/16bpp.bmp | Bin 0 -> 153654 bytes tests/benchmarks/qimagereader/images/4bpp-rle.bmp | Bin 0 -> 23662 bytes .../benchmarks/qimagereader/images/YCbCr_cmyk.jpg | Bin 0 -> 3699 bytes .../benchmarks/qimagereader/images/YCbCr_cmyk.png | Bin 0 -> 230 bytes tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg | Bin 0 -> 2045 bytes tests/benchmarks/qimagereader/images/away.png | Bin 0 -> 753 bytes tests/benchmarks/qimagereader/images/ball.mng | Bin 0 -> 34394 bytes tests/benchmarks/qimagereader/images/bat1.gif | Bin 0 -> 953 bytes tests/benchmarks/qimagereader/images/bat2.gif | Bin 0 -> 980 bytes tests/benchmarks/qimagereader/images/beavis.jpg | Bin 0 -> 20688 bytes tests/benchmarks/qimagereader/images/black.png | Bin 0 -> 697 bytes tests/benchmarks/qimagereader/images/black.xpm | 65 + tests/benchmarks/qimagereader/images/colorful.bmp | Bin 0 -> 65002 bytes .../qimagereader/images/corrupt-colors.xpm | 26 + .../qimagereader/images/corrupt-data.tif | Bin 0 -> 8590 bytes .../qimagereader/images/corrupt-pixels.xpm | 7 + tests/benchmarks/qimagereader/images/corrupt.bmp | Bin 0 -> 116 bytes tests/benchmarks/qimagereader/images/corrupt.gif | Bin 0 -> 2608 bytes tests/benchmarks/qimagereader/images/corrupt.jpg | Bin 0 -> 18 bytes tests/benchmarks/qimagereader/images/corrupt.mng | Bin 0 -> 183 bytes tests/benchmarks/qimagereader/images/corrupt.png | Bin 0 -> 95 bytes tests/benchmarks/qimagereader/images/corrupt.xbm | 5 + .../qimagereader/images/crash-signed-char.bmp | Bin 0 -> 45748 bytes tests/benchmarks/qimagereader/images/earth.gif | Bin 0 -> 51712 bytes tests/benchmarks/qimagereader/images/fire.mng | Bin 0 -> 44430 bytes tests/benchmarks/qimagereader/images/font.bmp | Bin 0 -> 1026 bytes tests/benchmarks/qimagereader/images/gnus.xbm | 622 + tests/benchmarks/qimagereader/images/image.pbm | 8 + tests/benchmarks/qimagereader/images/image.pgm | 10 + tests/benchmarks/qimagereader/images/image.png | Bin 0 -> 549 bytes tests/benchmarks/qimagereader/images/image.ppm | 7 + tests/benchmarks/qimagereader/images/kollada-noext | Bin 0 -> 13907 bytes tests/benchmarks/qimagereader/images/kollada.png | Bin 0 -> 13907 bytes tests/benchmarks/qimagereader/images/marble.xpm | 470 + .../benchmarks/qimagereader/images/namedcolors.xpm | 18 + .../qimagereader/images/negativeheight.bmp | Bin 0 -> 24630 bytes .../benchmarks/qimagereader/images/noclearcode.bmp | Bin 0 -> 326 bytes .../benchmarks/qimagereader/images/noclearcode.gif | Bin 0 -> 130 bytes .../qimagereader/images/nontransparent.xpm | 788 + .../qimagereader/images/pngwithcompressedtext.png | Bin 0 -> 757 bytes .../benchmarks/qimagereader/images/pngwithtext.png | Bin 0 -> 796 bytes .../images/rgba_adobedeflate_littleendian.tif | Bin 0 -> 4784 bytes .../qimagereader/images/rgba_lzw_littleendian.tif | Bin 0 -> 26690 bytes .../images/rgba_nocompression_bigendian.tif | Bin 0 -> 160384 bytes .../images/rgba_nocompression_littleendian.tif | Bin 0 -> 160388 bytes .../images/rgba_packbits_littleendian.tif | Bin 0 -> 161370 bytes .../images/rgba_zipdeflate_littleendian.tif | Bin 0 -> 14728 bytes tests/benchmarks/qimagereader/images/runners.ppm | Bin 0 -> 960016 bytes .../benchmarks/qimagereader/images/task210380.jpg | Bin 0 -> 975535 bytes tests/benchmarks/qimagereader/images/teapot.ppm | 31 + tests/benchmarks/qimagereader/images/test.ppm | 2 + tests/benchmarks/qimagereader/images/test.xpm | 260 + .../benchmarks/qimagereader/images/transparent.xpm | 788 + tests/benchmarks/qimagereader/images/trolltech.gif | Bin 0 -> 42629 bytes tests/benchmarks/qimagereader/images/tst7.bmp | Bin 0 -> 582 bytes tests/benchmarks/qimagereader/images/tst7.png | Bin 0 -> 167 bytes tests/benchmarks/qimagereader/qimagereader.pro | 27 + tests/benchmarks/qimagereader/tst_qimagereader.cpp | 246 + tests/benchmarks/qiodevice/main.cpp | 105 + tests/benchmarks/qiodevice/qiodevice.pro | 12 + tests/benchmarks/qmetaobject/main.cpp | 159 + tests/benchmarks/qmetaobject/qmetaobject.pro | 5 + tests/benchmarks/qobject/main.cpp | 190 + tests/benchmarks/qobject/object.cpp | 65 + tests/benchmarks/qobject/object.h | 75 + tests/benchmarks/qobject/qobject.pro | 9 + tests/benchmarks/qpainter/qpainter.pro | 5 + tests/benchmarks/qpainter/tst_qpainter.cpp | 1136 + tests/benchmarks/qpixmap/qpixmap.pro | 5 + tests/benchmarks/qpixmap/tst_qpixmap.cpp | 227 + tests/benchmarks/qrect/main.cpp | 329 + tests/benchmarks/qrect/qrect.pro | 12 + tests/benchmarks/qregexp/main.cpp | 290 + tests/benchmarks/qregexp/qregexp.pro | 12 + tests/benchmarks/qregion/main.cpp | 89 + tests/benchmarks/qregion/qregion.pro | 10 + tests/benchmarks/qstringlist/.gitignore | 1 + tests/benchmarks/qstringlist/main.cpp | 101 + tests/benchmarks/qstringlist/qstringlist.pro | 4 + tests/benchmarks/qstylesheetstyle/main.cpp | 185 + .../qstylesheetstyle/qstylesheetstyle.pro | 11 + tests/benchmarks/qtemporaryfile/main.cpp | 103 + tests/benchmarks/qtemporaryfile/qtemporaryfile.pro | 12 + tests/benchmarks/qtestlib-simple/main.cpp | 117 + .../benchmarks/qtestlib-simple/qtestlib-simple.pro | 8 + tests/benchmarks/qtransform/qtransform.pro | 6 + tests/benchmarks/qtransform/tst_qtransform.cpp | 592 + tests/benchmarks/qtwidgets/advanced.ui | 319 + tests/benchmarks/qtwidgets/icons/big.png | Bin 0 -> 1323 bytes tests/benchmarks/qtwidgets/icons/folder.png | Bin 0 -> 4069 bytes tests/benchmarks/qtwidgets/icons/icon.bmp | Bin 0 -> 246 bytes tests/benchmarks/qtwidgets/icons/icon.png | Bin 0 -> 344 bytes tests/benchmarks/qtwidgets/mainwindow.cpp | 313 + tests/benchmarks/qtwidgets/mainwindow.h | 80 + tests/benchmarks/qtwidgets/qtstyles.qrc | 8 + tests/benchmarks/qtwidgets/qtwidgets.pro | 9 + tests/benchmarks/qtwidgets/standard.ui | 1207 + tests/benchmarks/qtwidgets/system.ui | 658 + tests/benchmarks/qtwidgets/tst_qtwidgets.cpp | 67 + tests/benchmarks/qvariant/qvariant.pro | 11 + tests/benchmarks/qvariant/tst_qvariant.cpp | 180 + tests/benchmarks/qwidget/qwidget.pro | 4 + tests/benchmarks/qwidget/tst_qwidget.cpp | 332 + tests/shared/util.h | 70 + tests/tests.pro | 2 + tools/activeqt/activeqt.pro | 11 + tools/activeqt/dumpcpp/dumpcpp.pro | 6 + tools/activeqt/dumpcpp/main.cpp | 1502 + tools/activeqt/dumpdoc/dumpdoc.pro | 5 + tools/activeqt/dumpdoc/main.cpp | 146 + tools/activeqt/testcon/ambientproperties.cpp | 125 + tools/activeqt/testcon/ambientproperties.h | 71 + tools/activeqt/testcon/ambientproperties.ui | 299 + tools/activeqt/testcon/changeproperties.cpp | 286 + tools/activeqt/testcon/changeproperties.h | 74 + tools/activeqt/testcon/changeproperties.ui | 211 + tools/activeqt/testcon/controlinfo.cpp | 122 + tools/activeqt/testcon/controlinfo.h | 61 + tools/activeqt/testcon/controlinfo.ui | 134 + tools/activeqt/testcon/docuwindow.cpp | 161 + tools/activeqt/testcon/docuwindow.h | 67 + tools/activeqt/testcon/invokemethod.cpp | 170 + tools/activeqt/testcon/invokemethod.h | 73 + tools/activeqt/testcon/invokemethod.ui | 270 + tools/activeqt/testcon/main.cpp | 64 + tools/activeqt/testcon/mainwindow.cpp | 461 + tools/activeqt/testcon/mainwindow.h | 106 + tools/activeqt/testcon/mainwindow.ui | 682 + tools/activeqt/testcon/scripts/javascript.js | 25 + tools/activeqt/testcon/scripts/perlscript.pl | 24 + tools/activeqt/testcon/scripts/pythonscript.py | 15 + tools/activeqt/testcon/scripts/vbscript.vbs | 20 + tools/activeqt/testcon/testcon.idl | 44 + tools/activeqt/testcon/testcon.pro | 21 + tools/activeqt/testcon/testcon.rc | 35 + tools/assistant/assistant.pro | 8 + tools/assistant/compat/Info_mac.plist | 18 + tools/assistant/compat/LICENSE.GPL | 280 + tools/assistant/compat/assistant.icns | Bin 0 -> 162568 bytes tools/assistant/compat/assistant.ico | Bin 0 -> 355574 bytes tools/assistant/compat/assistant.pro | 84 + tools/assistant/compat/assistant.qrc | 37 + tools/assistant/compat/assistant.rc | 1 + tools/assistant/compat/compat.pro | 84 + tools/assistant/compat/config.cpp | 438 + tools/assistant/compat/config.h | 165 + tools/assistant/compat/docuparser.cpp | 433 + tools/assistant/compat/docuparser.h | 166 + tools/assistant/compat/fontsettingsdialog.cpp | 137 + tools/assistant/compat/fontsettingsdialog.h | 77 + tools/assistant/compat/helpdialog.cpp | 1331 + tools/assistant/compat/helpdialog.h | 184 + tools/assistant/compat/helpdialog.ui | 404 + tools/assistant/compat/helpwindow.cpp | 247 + tools/assistant/compat/helpwindow.h | 100 + tools/assistant/compat/images/assistant-128.png | Bin 0 -> 6448 bytes tools/assistant/compat/images/assistant.png | Bin 0 -> 2034 bytes tools/assistant/compat/images/close.png | Bin 0 -> 406 bytes tools/assistant/compat/images/designer.png | Bin 0 -> 1282 bytes tools/assistant/compat/images/linguist.png | Bin 0 -> 1382 bytes tools/assistant/compat/images/mac/addtab.png | Bin 0 -> 469 bytes tools/assistant/compat/images/mac/book.png | Bin 0 -> 1477 bytes tools/assistant/compat/images/mac/closetab.png | Bin 0 -> 516 bytes tools/assistant/compat/images/mac/editcopy.png | Bin 0 -> 1468 bytes tools/assistant/compat/images/mac/find.png | Bin 0 -> 1836 bytes tools/assistant/compat/images/mac/home.png | Bin 0 -> 1807 bytes tools/assistant/compat/images/mac/next.png | Bin 0 -> 1310 bytes tools/assistant/compat/images/mac/prev.png | Bin 0 -> 1080 bytes tools/assistant/compat/images/mac/print.png | Bin 0 -> 2087 bytes tools/assistant/compat/images/mac/synctoc.png | Bin 0 -> 1838 bytes tools/assistant/compat/images/mac/whatsthis.png | Bin 0 -> 1586 bytes tools/assistant/compat/images/mac/zoomin.png | Bin 0 -> 1696 bytes tools/assistant/compat/images/mac/zoomout.png | Bin 0 -> 1662 bytes tools/assistant/compat/images/qt.png | Bin 0 -> 1422 bytes tools/assistant/compat/images/win/addtab.png | Bin 0 -> 314 bytes tools/assistant/compat/images/win/book.png | Bin 0 -> 1109 bytes tools/assistant/compat/images/win/closetab.png | Bin 0 -> 375 bytes tools/assistant/compat/images/win/editcopy.png | Bin 0 -> 1325 bytes tools/assistant/compat/images/win/find.png | Bin 0 -> 1944 bytes tools/assistant/compat/images/win/home.png | Bin 0 -> 1414 bytes tools/assistant/compat/images/win/next.png | Bin 0 -> 1038 bytes tools/assistant/compat/images/win/previous.png | Bin 0 -> 898 bytes tools/assistant/compat/images/win/print.png | Bin 0 -> 1456 bytes tools/assistant/compat/images/win/synctoc.png | Bin 0 -> 1235 bytes tools/assistant/compat/images/win/whatsthis.png | Bin 0 -> 1040 bytes tools/assistant/compat/images/win/zoomin.png | Bin 0 -> 1208 bytes tools/assistant/compat/images/win/zoomout.png | Bin 0 -> 1226 bytes tools/assistant/compat/images/wrap.png | Bin 0 -> 500 bytes tools/assistant/compat/index.cpp | 581 + tools/assistant/compat/index.h | 133 + tools/assistant/compat/lib/lib.pro | 78 + tools/assistant/compat/lib/qassistantclient.cpp | 447 + tools/assistant/compat/lib/qassistantclient.h | 100 + .../assistant/compat/lib/qassistantclient_global.h | 63 + tools/assistant/compat/main.cpp | 465 + tools/assistant/compat/mainwindow.cpp | 901 + tools/assistant/compat/mainwindow.h | 137 + tools/assistant/compat/mainwindow.ui | 459 + tools/assistant/compat/profile.cpp | 196 + tools/assistant/compat/profile.h | 95 + tools/assistant/compat/tabbedbrowser.cpp | 530 + tools/assistant/compat/tabbedbrowser.h | 122 + tools/assistant/compat/tabbedbrowser.ui | 233 + tools/assistant/compat/topicchooser.cpp | 101 + tools/assistant/compat/topicchooser.h | 77 + tools/assistant/compat/topicchooser.ui | 162 + .../assistant/compat/translations/translations.pro | 34 + .../lib/fulltextsearch/fulltextsearch.pri | 161 + .../lib/fulltextsearch/fulltextsearch.pro | 50 + tools/assistant/lib/fulltextsearch/license.txt | 503 + tools/assistant/lib/fulltextsearch/qanalyzer.cpp | 201 + tools/assistant/lib/fulltextsearch/qanalyzer_p.h | 145 + .../lib/fulltextsearch/qclucene-config_p.h | 552 + .../lib/fulltextsearch/qclucene_global_p.h | 127 + tools/assistant/lib/fulltextsearch/qdocument.cpp | 172 + tools/assistant/lib/fulltextsearch/qdocument_p.h | 93 + tools/assistant/lib/fulltextsearch/qfield.cpp | 163 + tools/assistant/lib/fulltextsearch/qfield_p.h | 112 + tools/assistant/lib/fulltextsearch/qfilter.cpp | 49 + tools/assistant/lib/fulltextsearch/qfilter_p.h | 68 + tools/assistant/lib/fulltextsearch/qhits.cpp | 86 + tools/assistant/lib/fulltextsearch/qhits_p.h | 79 + .../assistant/lib/fulltextsearch/qindexreader.cpp | 161 + .../assistant/lib/fulltextsearch/qindexreader_p.h | 108 + .../assistant/lib/fulltextsearch/qindexwriter.cpp | 183 + .../assistant/lib/fulltextsearch/qindexwriter_p.h | 117 + tools/assistant/lib/fulltextsearch/qquery.cpp | 350 + tools/assistant/lib/fulltextsearch/qquery_p.h | 181 + .../assistant/lib/fulltextsearch/qqueryparser.cpp | 168 + .../assistant/lib/fulltextsearch/qqueryparser_p.h | 102 + tools/assistant/lib/fulltextsearch/qreader.cpp | 94 + tools/assistant/lib/fulltextsearch/qreader_p.h | 97 + tools/assistant/lib/fulltextsearch/qsearchable.cpp | 195 + tools/assistant/lib/fulltextsearch/qsearchable_p.h | 128 + tools/assistant/lib/fulltextsearch/qsort.cpp | 89 + tools/assistant/lib/fulltextsearch/qsort_p.h | 77 + tools/assistant/lib/fulltextsearch/qterm.cpp | 126 + tools/assistant/lib/fulltextsearch/qterm_p.h | 93 + tools/assistant/lib/fulltextsearch/qtoken.cpp | 142 + tools/assistant/lib/fulltextsearch/qtoken_p.h | 105 + tools/assistant/lib/fulltextsearch/qtokenizer.cpp | 110 + tools/assistant/lib/fulltextsearch/qtokenizer_p.h | 90 + .../assistant/lib/fulltextsearch/qtokenstream.cpp | 59 + .../assistant/lib/fulltextsearch/qtokenstream_p.h | 88 + tools/assistant/lib/helpsystem.qrc | 8 + tools/assistant/lib/images/1leftarrow.png | Bin 0 -> 669 bytes tools/assistant/lib/images/1rightarrow.png | Bin 0 -> 706 bytes tools/assistant/lib/images/3leftarrow.png | Bin 0 -> 832 bytes tools/assistant/lib/images/3rightarrow.png | Bin 0 -> 820 bytes tools/assistant/lib/lib.pro | 65 + tools/assistant/lib/qhelp_global.h | 124 + tools/assistant/lib/qhelpcollectionhandler.cpp | 595 + tools/assistant/lib/qhelpcollectionhandler_p.h | 123 + tools/assistant/lib/qhelpcontentwidget.cpp | 585 + tools/assistant/lib/qhelpcontentwidget.h | 146 + tools/assistant/lib/qhelpdatainterface.cpp | 273 + tools/assistant/lib/qhelpdatainterface_p.h | 155 + tools/assistant/lib/qhelpdbreader.cpp | 580 + tools/assistant/lib/qhelpdbreader_p.h | 128 + tools/assistant/lib/qhelpengine.cpp | 212 + tools/assistant/lib/qhelpengine.h | 84 + tools/assistant/lib/qhelpengine_p.h | 144 + tools/assistant/lib/qhelpenginecore.cpp | 727 + tools/assistant/lib/qhelpenginecore.h | 136 + tools/assistant/lib/qhelpgenerator.cpp | 823 + tools/assistant/lib/qhelpgenerator_p.h | 117 + tools/assistant/lib/qhelpindexwidget.cpp | 445 + tools/assistant/lib/qhelpindexwidget.h | 114 + tools/assistant/lib/qhelpprojectdata.cpp | 374 + tools/assistant/lib/qhelpprojectdata_p.h | 89 + tools/assistant/lib/qhelpsearchengine.cpp | 445 + tools/assistant/lib/qhelpsearchengine.h | 121 + tools/assistant/lib/qhelpsearchindex_default.cpp | 60 + tools/assistant/lib/qhelpsearchindex_default_p.h | 149 + .../lib/qhelpsearchindexreader_clucene.cpp | 392 + .../lib/qhelpsearchindexreader_clucene_p.h | 121 + .../lib/qhelpsearchindexreader_default.cpp | 653 + .../lib/qhelpsearchindexreader_default_p.h | 165 + .../lib/qhelpsearchindexwriter_clucene.cpp | 481 + .../lib/qhelpsearchindexwriter_clucene_p.h | 123 + .../lib/qhelpsearchindexwriter_default.cpp | 385 + .../lib/qhelpsearchindexwriter_default_p.h | 132 + tools/assistant/lib/qhelpsearchquerywidget.cpp | 353 + tools/assistant/lib/qhelpsearchquerywidget.h | 87 + tools/assistant/lib/qhelpsearchresultwidget.cpp | 439 + tools/assistant/lib/qhelpsearchresultwidget.h | 84 + tools/assistant/tools/assistant/Info_mac.plist | 18 + tools/assistant/tools/assistant/aboutdialog.cpp | 171 + tools/assistant/tools/assistant/aboutdialog.h | 91 + tools/assistant/tools/assistant/assistant.icns | Bin 0 -> 162568 bytes tools/assistant/tools/assistant/assistant.ico | Bin 0 -> 355574 bytes tools/assistant/tools/assistant/assistant.pro | 89 + tools/assistant/tools/assistant/assistant.qch | Bin 0 -> 366592 bytes tools/assistant/tools/assistant/assistant.qrc | 5 + tools/assistant/tools/assistant/assistant.rc | 1 + .../assistant/tools/assistant/assistant_images.qrc | 36 + tools/assistant/tools/assistant/bookmarkdialog.ui | 146 + .../assistant/tools/assistant/bookmarkmanager.cpp | 874 + tools/assistant/tools/assistant/bookmarkmanager.h | 205 + tools/assistant/tools/assistant/centralwidget.cpp | 1080 + tools/assistant/tools/assistant/centralwidget.h | 194 + tools/assistant/tools/assistant/cmdlineparser.cpp | 320 + tools/assistant/tools/assistant/cmdlineparser.h | 99 + tools/assistant/tools/assistant/contentwindow.cpp | 173 + tools/assistant/tools/assistant/contentwindow.h | 86 + tools/assistant/tools/assistant/doc/HOWTO | 17 + tools/assistant/tools/assistant/doc/assistant.qdoc | 434 + .../tools/assistant/doc/assistant.qdocconf | 17 + tools/assistant/tools/assistant/doc/assistant.qhp | 22 + tools/assistant/tools/assistant/doc/classic.css | 92 + .../doc/images/assistant-address-toolbar.png | Bin 0 -> 2899 bytes .../assistant/doc/images/assistant-assistant.png | Bin 0 -> 105954 bytes .../assistant/doc/images/assistant-dockwidgets.png | Bin 0 -> 50554 bytes .../assistant/doc/images/assistant-docwindow.png | Bin 0 -> 55582 bytes .../assistant/doc/images/assistant-examples.png | Bin 0 -> 9799 bytes .../doc/images/assistant-filter-toolbar.png | Bin 0 -> 1767 bytes .../images/assistant-preferences-documentation.png | Bin 0 -> 13417 bytes .../doc/images/assistant-preferences-filters.png | Bin 0 -> 15561 bytes .../doc/images/assistant-preferences-fonts.png | Bin 0 -> 13139 bytes .../doc/images/assistant-preferences-options.png | Bin 0 -> 14255 bytes .../assistant/doc/images/assistant-search.png | Bin 0 -> 59254 bytes .../assistant/doc/images/assistant-toolbar.png | Bin 0 -> 6532 bytes .../assistant/tools/assistant/filternamedialog.cpp | 73 + tools/assistant/tools/assistant/filternamedialog.h | 67 + .../assistant/tools/assistant/filternamedialog.ui | 67 + tools/assistant/tools/assistant/helpviewer.cpp | 556 + tools/assistant/tools/assistant/helpviewer.h | 169 + .../tools/assistant/images/assistant-128.png | Bin 0 -> 6448 bytes .../assistant/tools/assistant/images/assistant.png | Bin 0 -> 2034 bytes .../tools/assistant/images/mac/addtab.png | Bin 0 -> 469 bytes .../assistant/tools/assistant/images/mac/book.png | Bin 0 -> 1477 bytes .../tools/assistant/images/mac/closetab.png | Bin 0 -> 516 bytes .../tools/assistant/images/mac/editcopy.png | Bin 0 -> 1468 bytes .../assistant/tools/assistant/images/mac/find.png | Bin 0 -> 1836 bytes .../assistant/tools/assistant/images/mac/home.png | Bin 0 -> 1807 bytes .../assistant/tools/assistant/images/mac/next.png | Bin 0 -> 1310 bytes .../tools/assistant/images/mac/previous.png | Bin 0 -> 1080 bytes .../assistant/tools/assistant/images/mac/print.png | Bin 0 -> 2087 bytes .../tools/assistant/images/mac/resetzoom.png | Bin 0 -> 1567 bytes .../tools/assistant/images/mac/synctoc.png | Bin 0 -> 1838 bytes .../tools/assistant/images/mac/zoomin.png | Bin 0 -> 1696 bytes .../tools/assistant/images/mac/zoomout.png | Bin 0 -> 1662 bytes .../tools/assistant/images/trolltech-logo.png | Bin 0 -> 10096 bytes .../tools/assistant/images/win/addtab.png | Bin 0 -> 314 bytes .../assistant/tools/assistant/images/win/book.png | Bin 0 -> 1109 bytes .../tools/assistant/images/win/closetab.png | Bin 0 -> 375 bytes .../tools/assistant/images/win/editcopy.png | Bin 0 -> 1325 bytes .../assistant/tools/assistant/images/win/find.png | Bin 0 -> 1944 bytes .../assistant/tools/assistant/images/win/home.png | Bin 0 -> 1414 bytes .../assistant/tools/assistant/images/win/next.png | Bin 0 -> 1038 bytes .../tools/assistant/images/win/previous.png | Bin 0 -> 898 bytes .../assistant/tools/assistant/images/win/print.png | Bin 0 -> 1456 bytes .../tools/assistant/images/win/resetzoom.png | Bin 0 -> 1134 bytes .../tools/assistant/images/win/synctoc.png | Bin 0 -> 1235 bytes .../tools/assistant/images/win/zoomin.png | Bin 0 -> 1208 bytes .../tools/assistant/images/win/zoomout.png | Bin 0 -> 1226 bytes tools/assistant/tools/assistant/images/wrap.png | Bin 0 -> 500 bytes tools/assistant/tools/assistant/indexwindow.cpp | 216 + tools/assistant/tools/assistant/indexwindow.h | 90 + tools/assistant/tools/assistant/installdialog.cpp | 338 + tools/assistant/tools/assistant/installdialog.h | 101 + tools/assistant/tools/assistant/installdialog.ui | 118 + tools/assistant/tools/assistant/main.cpp | 318 + tools/assistant/tools/assistant/mainwindow.cpp | 1008 + tools/assistant/tools/assistant/mainwindow.h | 172 + .../tools/assistant/preferencesdialog.cpp | 453 + .../assistant/tools/assistant/preferencesdialog.h | 106 + .../assistant/tools/assistant/preferencesdialog.ui | 310 + tools/assistant/tools/assistant/qtdocinstaller.cpp | 151 + tools/assistant/tools/assistant/qtdocinstaller.h | 77 + tools/assistant/tools/assistant/remotecontrol.cpp | 283 + tools/assistant/tools/assistant/remotecontrol.h | 84 + .../assistant/tools/assistant/remotecontrol_win.h | 68 + tools/assistant/tools/assistant/searchwidget.cpp | 246 + tools/assistant/tools/assistant/searchwidget.h | 90 + tools/assistant/tools/assistant/topicchooser.cpp | 86 + tools/assistant/tools/assistant/topicchooser.h | 72 + tools/assistant/tools/assistant/topicchooser.ui | 116 + .../assistant/tools/qcollectiongenerator/main.cpp | 559 + .../qcollectiongenerator/qcollectiongenerator.pro | 14 + tools/assistant/tools/qhelpconverter/adpreader.cpp | 171 + tools/assistant/tools/qhelpconverter/adpreader.h | 90 + .../tools/qhelpconverter/assistant-128.png | Bin 0 -> 6448 bytes tools/assistant/tools/qhelpconverter/assistant.png | Bin 0 -> 2034 bytes .../tools/qhelpconverter/conversionwizard.cpp | 265 + .../tools/qhelpconverter/conversionwizard.h | 96 + .../tools/qhelpconverter/doc/filespage.html | 8 + .../tools/qhelpconverter/doc/filterpage.html | 13 + .../tools/qhelpconverter/doc/generalpage.html | 10 + .../tools/qhelpconverter/doc/identifierpage.html | 17 + .../tools/qhelpconverter/doc/inputpage.html | 7 + .../tools/qhelpconverter/doc/outputpage.html | 7 + .../tools/qhelpconverter/doc/pathpage.html | 8 + tools/assistant/tools/qhelpconverter/filespage.cpp | 112 + tools/assistant/tools/qhelpconverter/filespage.h | 73 + tools/assistant/tools/qhelpconverter/filespage.ui | 79 + .../assistant/tools/qhelpconverter/filterpage.cpp | 147 + tools/assistant/tools/qhelpconverter/filterpage.h | 79 + tools/assistant/tools/qhelpconverter/filterpage.ui | 125 + .../assistant/tools/qhelpconverter/finishpage.cpp | 76 + tools/assistant/tools/qhelpconverter/finishpage.h | 65 + .../assistant/tools/qhelpconverter/generalpage.cpp | 92 + tools/assistant/tools/qhelpconverter/generalpage.h | 66 + .../assistant/tools/qhelpconverter/generalpage.ui | 69 + .../assistant/tools/qhelpconverter/helpwindow.cpp | 84 + tools/assistant/tools/qhelpconverter/helpwindow.h | 65 + .../tools/qhelpconverter/identifierpage.cpp | 71 + .../tools/qhelpconverter/identifierpage.h | 66 + .../tools/qhelpconverter/identifierpage.ui | 132 + tools/assistant/tools/qhelpconverter/inputpage.cpp | 103 + tools/assistant/tools/qhelpconverter/inputpage.h | 71 + tools/assistant/tools/qhelpconverter/inputpage.ui | 79 + tools/assistant/tools/qhelpconverter/main.cpp | 62 + .../assistant/tools/qhelpconverter/outputpage.cpp | 110 + tools/assistant/tools/qhelpconverter/outputpage.h | 71 + tools/assistant/tools/qhelpconverter/outputpage.ui | 95 + tools/assistant/tools/qhelpconverter/pathpage.cpp | 112 + tools/assistant/tools/qhelpconverter/pathpage.h | 71 + tools/assistant/tools/qhelpconverter/pathpage.ui | 114 + .../assistant/tools/qhelpconverter/qhcpwriter.cpp | 145 + tools/assistant/tools/qhelpconverter/qhcpwriter.h | 70 + .../tools/qhelpconverter/qhelpconverter.pro | 47 + .../tools/qhelpconverter/qhelpconverter.qrc | 13 + tools/assistant/tools/qhelpconverter/qhpwriter.cpp | 184 + tools/assistant/tools/qhelpconverter/qhpwriter.h | 85 + tools/assistant/tools/qhelpgenerator/main.cpp | 144 + .../tools/qhelpgenerator/qhelpgenerator.pro | 14 + tools/assistant/tools/shared/helpgenerator.cpp | 79 + tools/assistant/tools/shared/helpgenerator.h | 72 + tools/assistant/tools/tools.pro | 8 + tools/assistant/translations/qt_help.pro | 49 + tools/assistant/translations/translations.pro | 49 + tools/assistant/translations/translations_adp.pro | 41 + tools/checksdk/README | 3 + tools/checksdk/cesdkhandler.cpp | 131 + tools/checksdk/cesdkhandler.h | 111 + tools/checksdk/checksdk.pro | 71 + tools/checksdk/main.cpp | 159 + tools/configure/configure.pro | 106 + tools/configure/configure_pch.h | 74 + tools/configure/configureapp.cpp | 3586 + tools/configure/configureapp.h | 185 + tools/configure/environment.cpp | 686 + tools/configure/environment.h | 84 + tools/configure/main.cpp | 114 + tools/configure/tools.cpp | 172 + tools/configure/tools.h | 17 + tools/designer/data/generate_header.xsl | 465 + tools/designer/data/generate_impl.xsl | 1161 + tools/designer/data/generate_shared.xsl | 331 + tools/designer/data/ui3.xsd | 353 + tools/designer/data/ui4.xsd | 574 + tools/designer/designer.pro | 5 + .../src/components/buddyeditor/buddyeditor.cpp | 447 + .../src/components/buddyeditor/buddyeditor.h | 92 + .../src/components/buddyeditor/buddyeditor.pri | 16 + .../components/buddyeditor/buddyeditor_global.h | 57 + .../buddyeditor/buddyeditor_instance.cpp | 50 + .../components/buddyeditor/buddyeditor_plugin.cpp | 136 + .../components/buddyeditor/buddyeditor_plugin.h | 93 + .../components/buddyeditor/buddyeditor_tool.cpp | 115 + .../src/components/buddyeditor/buddyeditor_tool.h | 89 + tools/designer/src/components/component.pri | 2 + tools/designer/src/components/components.pro | 3 + .../components/formeditor/brushmanagerproxy.cpp | 305 + .../src/components/formeditor/brushmanagerproxy.h | 77 + .../formeditor/default_actionprovider.cpp | 208 + .../components/formeditor/default_actionprovider.h | 131 + .../components/formeditor/default_container.cpp | 173 + .../src/components/formeditor/default_container.h | 213 + .../formeditor/default_layoutdecoration.cpp | 79 + .../formeditor/default_layoutdecoration.h | 69 + .../src/components/formeditor/defaultbrushes.xml | 542 + .../components/formeditor/deviceprofiledialog.cpp | 203 + .../components/formeditor/deviceprofiledialog.h | 104 + .../components/formeditor/deviceprofiledialog.ui | 100 + .../src/components/formeditor/dpi_chooser.cpp | 207 + .../src/components/formeditor/dpi_chooser.h | 94 + .../components/formeditor/embeddedoptionspage.cpp | 457 + .../components/formeditor/embeddedoptionspage.h | 103 + .../src/components/formeditor/formeditor.cpp | 203 + .../src/components/formeditor/formeditor.h | 69 + .../src/components/formeditor/formeditor.pri | 75 + .../src/components/formeditor/formeditor.qrc | 173 + .../src/components/formeditor/formeditor_global.h | 57 + .../formeditor/formeditor_optionspage.cpp | 189 + .../components/formeditor/formeditor_optionspage.h | 79 + .../src/components/formeditor/formwindow.cpp | 2921 + .../src/components/formeditor/formwindow.h | 385 + .../components/formeditor/formwindow_dnditem.cpp | 116 + .../src/components/formeditor/formwindow_dnditem.h | 65 + .../formeditor/formwindow_widgetstack.cpp | 213 + .../components/formeditor/formwindow_widgetstack.h | 103 + .../src/components/formeditor/formwindowcursor.cpp | 215 + .../src/components/formeditor/formwindowcursor.h | 93 + .../components/formeditor/formwindowmanager.cpp | 1020 + .../src/components/formeditor/formwindowmanager.h | 200 + .../components/formeditor/formwindowsettings.cpp | 282 + .../src/components/formeditor/formwindowsettings.h | 85 + .../components/formeditor/formwindowsettings.ui | 328 + .../src/components/formeditor/iconcache.cpp | 121 + .../designer/src/components/formeditor/iconcache.h | 78 + .../src/components/formeditor/images/color.png | Bin 0 -> 117 bytes .../src/components/formeditor/images/configure.png | Bin 0 -> 1016 bytes .../components/formeditor/images/cursors/arrow.png | Bin 0 -> 171 bytes .../components/formeditor/images/cursors/busy.png | Bin 0 -> 201 bytes .../formeditor/images/cursors/closedhand.png | Bin 0 -> 147 bytes .../components/formeditor/images/cursors/cross.png | Bin 0 -> 130 bytes .../components/formeditor/images/cursors/hand.png | Bin 0 -> 159 bytes .../formeditor/images/cursors/hsplit.png | Bin 0 -> 155 bytes .../components/formeditor/images/cursors/ibeam.png | Bin 0 -> 124 bytes .../components/formeditor/images/cursors/no.png | Bin 0 -> 199 bytes .../formeditor/images/cursors/openhand.png | Bin 0 -> 160 bytes .../formeditor/images/cursors/sizeall.png | Bin 0 -> 174 bytes .../components/formeditor/images/cursors/sizeb.png | Bin 0 -> 161 bytes .../components/formeditor/images/cursors/sizef.png | Bin 0 -> 161 bytes .../components/formeditor/images/cursors/sizeh.png | Bin 0 -> 145 bytes .../components/formeditor/images/cursors/sizev.png | Bin 0 -> 141 bytes .../formeditor/images/cursors/uparrow.png | Bin 0 -> 132 bytes .../formeditor/images/cursors/vsplit.png | Bin 0 -> 161 bytes .../components/formeditor/images/cursors/wait.png | Bin 0 -> 172 bytes .../formeditor/images/cursors/whatsthis.png | Bin 0 -> 191 bytes .../src/components/formeditor/images/downplus.png | Bin 0 -> 562 bytes .../formeditor/images/dropdownbutton.png | Bin 0 -> 527 bytes .../src/components/formeditor/images/edit.png | Bin 0 -> 929 bytes .../components/formeditor/images/editdelete-16.png | Bin 0 -> 553 bytes .../src/components/formeditor/images/emptyicon.png | Bin 0 -> 108 bytes .../components/formeditor/images/filenew-16.png | Bin 0 -> 454 bytes .../components/formeditor/images/fileopen-16.png | Bin 0 -> 549 bytes .../src/components/formeditor/images/leveldown.png | Bin 0 -> 557 bytes .../src/components/formeditor/images/levelup.png | Bin 0 -> 564 bytes .../formeditor/images/mac/adjustsize.png | Bin 0 -> 1929 bytes .../src/components/formeditor/images/mac/back.png | Bin 0 -> 678 bytes .../components/formeditor/images/mac/buddytool.png | Bin 0 -> 2046 bytes .../src/components/formeditor/images/mac/down.png | Bin 0 -> 594 bytes .../formeditor/images/mac/editbreaklayout.png | Bin 0 -> 2067 bytes .../components/formeditor/images/mac/editcopy.png | Bin 0 -> 1468 bytes .../components/formeditor/images/mac/editcut.png | Bin 0 -> 1512 bytes .../formeditor/images/mac/editdelete.png | Bin 0 -> 1097 bytes .../components/formeditor/images/mac/editform.png | Bin 0 -> 621 bytes .../components/formeditor/images/mac/editgrid.png | Bin 0 -> 751 bytes .../formeditor/images/mac/edithlayout.png | Bin 0 -> 1395 bytes .../formeditor/images/mac/edithlayoutsplit.png | Bin 0 -> 1188 bytes .../components/formeditor/images/mac/editlower.png | Bin 0 -> 595 bytes .../components/formeditor/images/mac/editpaste.png | Bin 0 -> 1906 bytes .../components/formeditor/images/mac/editraise.png | Bin 0 -> 1213 bytes .../formeditor/images/mac/editvlayout.png | Bin 0 -> 586 bytes .../formeditor/images/mac/editvlayoutsplit.png | Bin 0 -> 872 bytes .../components/formeditor/images/mac/filenew.png | Bin 0 -> 772 bytes .../components/formeditor/images/mac/fileopen.png | Bin 0 -> 904 bytes .../components/formeditor/images/mac/filesave.png | Bin 0 -> 1206 bytes .../components/formeditor/images/mac/forward.png | Bin 0 -> 655 bytes .../formeditor/images/mac/insertimage.png | Bin 0 -> 1280 bytes .../src/components/formeditor/images/mac/minus.png | Bin 0 -> 488 bytes .../src/components/formeditor/images/mac/plus.png | Bin 0 -> 810 bytes .../src/components/formeditor/images/mac/redo.png | Bin 0 -> 1752 bytes .../formeditor/images/mac/resetproperty.png | Bin 0 -> 169 bytes .../formeditor/images/mac/resourceeditortool.png | Bin 0 -> 2171 bytes .../formeditor/images/mac/signalslottool.png | Bin 0 -> 1989 bytes .../formeditor/images/mac/tabordertool.png | Bin 0 -> 1963 bytes .../formeditor/images/mac/textanchor.png | Bin 0 -> 2543 bytes .../components/formeditor/images/mac/textbold.png | Bin 0 -> 1611 bytes .../formeditor/images/mac/textcenter.png | Bin 0 -> 1404 bytes .../formeditor/images/mac/textitalic.png | Bin 0 -> 1164 bytes .../formeditor/images/mac/textjustify.png | Bin 0 -> 1257 bytes .../components/formeditor/images/mac/textleft.png | Bin 0 -> 1235 bytes .../components/formeditor/images/mac/textright.png | Bin 0 -> 1406 bytes .../formeditor/images/mac/textsubscript.png | Bin 0 -> 1054 bytes .../formeditor/images/mac/textsuperscript.png | Bin 0 -> 1109 bytes .../components/formeditor/images/mac/textunder.png | Bin 0 -> 1183 bytes .../src/components/formeditor/images/mac/undo.png | Bin 0 -> 1746 bytes .../src/components/formeditor/images/mac/up.png | Bin 0 -> 692 bytes .../formeditor/images/mac/widgettool.png | Bin 0 -> 1874 bytes .../src/components/formeditor/images/minus-16.png | Bin 0 -> 296 bytes .../src/components/formeditor/images/plus-16.png | Bin 0 -> 383 bytes .../components/formeditor/images/prefix-add.png | Bin 0 -> 411 bytes .../src/components/formeditor/images/qt3logo.png | Bin 0 -> 1101 bytes .../src/components/formeditor/images/qtlogo.png | Bin 0 -> 825 bytes .../src/components/formeditor/images/reload.png | Bin 0 -> 1363 bytes .../components/formeditor/images/resetproperty.png | Bin 0 -> 169 bytes .../src/components/formeditor/images/sort.png | Bin 0 -> 563 bytes .../src/components/formeditor/images/submenu.png | Bin 0 -> 179 bytes .../formeditor/images/widgets/calendarwidget.png | Bin 0 -> 968 bytes .../formeditor/images/widgets/checkbox.png | Bin 0 -> 817 bytes .../formeditor/images/widgets/columnview.png | Bin 0 -> 518 bytes .../formeditor/images/widgets/combobox.png | Bin 0 -> 853 bytes .../images/widgets/commandlinkbutton.png | Bin 0 -> 1208 bytes .../formeditor/images/widgets/dateedit.png | Bin 0 -> 672 bytes .../formeditor/images/widgets/datetimeedit.png | Bin 0 -> 1132 bytes .../components/formeditor/images/widgets/dial.png | Bin 0 -> 978 bytes .../formeditor/images/widgets/dialogbuttonbox.png | Bin 0 -> 1003 bytes .../formeditor/images/widgets/dockwidget.png | Bin 0 -> 638 bytes .../formeditor/images/widgets/doublespinbox.png | Bin 0 -> 749 bytes .../formeditor/images/widgets/fontcombobox.png | Bin 0 -> 966 bytes .../components/formeditor/images/widgets/frame.png | Bin 0 -> 721 bytes .../formeditor/images/widgets/graphicsview.png | Bin 0 -> 1182 bytes .../formeditor/images/widgets/groupbox.png | Bin 0 -> 439 bytes .../images/widgets/groupboxcollapsible.png | Bin 0 -> 702 bytes .../formeditor/images/widgets/hscrollbar.png | Bin 0 -> 408 bytes .../formeditor/images/widgets/hslider.png | Bin 0 -> 729 bytes .../formeditor/images/widgets/hsplit.png | Bin 0 -> 164 bytes .../components/formeditor/images/widgets/label.png | Bin 0 -> 953 bytes .../formeditor/images/widgets/lcdnumber.png | Bin 0 -> 555 bytes .../components/formeditor/images/widgets/line.png | Bin 0 -> 287 bytes .../formeditor/images/widgets/lineedit.png | Bin 0 -> 405 bytes .../formeditor/images/widgets/listbox.png | Bin 0 -> 797 bytes .../formeditor/images/widgets/listview.png | Bin 0 -> 756 bytes .../formeditor/images/widgets/mdiarea.png | Bin 0 -> 643 bytes .../formeditor/images/widgets/plaintextedit.png | Bin 0 -> 807 bytes .../formeditor/images/widgets/progress.png | Bin 0 -> 559 bytes .../formeditor/images/widgets/pushbutton.png | Bin 0 -> 408 bytes .../formeditor/images/widgets/radiobutton.png | Bin 0 -> 586 bytes .../formeditor/images/widgets/scrollarea.png | Bin 0 -> 548 bytes .../formeditor/images/widgets/spacer.png | Bin 0 -> 686 bytes .../formeditor/images/widgets/spinbox.png | Bin 0 -> 680 bytes .../formeditor/images/widgets/tabbar.png | Bin 0 -> 623 bytes .../components/formeditor/images/widgets/table.png | Bin 0 -> 483 bytes .../formeditor/images/widgets/tabwidget.png | Bin 0 -> 572 bytes .../formeditor/images/widgets/textedit.png | Bin 0 -> 823 bytes .../formeditor/images/widgets/timeedit.png | Bin 0 -> 1353 bytes .../formeditor/images/widgets/toolbox.png | Bin 0 -> 783 bytes .../formeditor/images/widgets/toolbutton.png | Bin 0 -> 1167 bytes .../components/formeditor/images/widgets/vline.png | Bin 0 -> 314 bytes .../formeditor/images/widgets/vscrollbar.png | Bin 0 -> 415 bytes .../formeditor/images/widgets/vslider.png | Bin 0 -> 726 bytes .../formeditor/images/widgets/vspacer.png | Bin 0 -> 677 bytes .../formeditor/images/widgets/widget.png | Bin 0 -> 716 bytes .../formeditor/images/widgets/widgetstack.png | Bin 0 -> 828 bytes .../formeditor/images/widgets/wizard.png | Bin 0 -> 898 bytes .../formeditor/images/win/adjustsize.png | Bin 0 -> 1262 bytes .../src/components/formeditor/images/win/back.png | Bin 0 -> 678 bytes .../components/formeditor/images/win/buddytool.png | Bin 0 -> 997 bytes .../src/components/formeditor/images/win/down.png | Bin 0 -> 594 bytes .../formeditor/images/win/editbreaklayout.png | Bin 0 -> 1321 bytes .../components/formeditor/images/win/editcopy.png | Bin 0 -> 1325 bytes .../components/formeditor/images/win/editcut.png | Bin 0 -> 1384 bytes .../formeditor/images/win/editdelete.png | Bin 0 -> 850 bytes .../components/formeditor/images/win/editform.png | Bin 0 -> 349 bytes .../components/formeditor/images/win/editgrid.png | Bin 0 -> 349 bytes .../formeditor/images/win/edithlayout.png | Bin 0 -> 455 bytes .../formeditor/images/win/edithlayoutsplit.png | Bin 0 -> 860 bytes .../components/formeditor/images/win/editlower.png | Bin 0 -> 1038 bytes .../components/formeditor/images/win/editpaste.png | Bin 0 -> 1482 bytes .../components/formeditor/images/win/editraise.png | Bin 0 -> 1045 bytes .../formeditor/images/win/editvlayout.png | Bin 0 -> 340 bytes .../formeditor/images/win/editvlayoutsplit.png | Bin 0 -> 740 bytes .../components/formeditor/images/win/filenew.png | Bin 0 -> 768 bytes .../components/formeditor/images/win/fileopen.png | Bin 0 -> 1662 bytes .../components/formeditor/images/win/filesave.png | Bin 0 -> 1205 bytes .../components/formeditor/images/win/forward.png | Bin 0 -> 655 bytes .../formeditor/images/win/insertimage.png | Bin 0 -> 885 bytes .../src/components/formeditor/images/win/minus.png | Bin 0 -> 429 bytes .../src/components/formeditor/images/win/plus.png | Bin 0 -> 709 bytes .../src/components/formeditor/images/win/redo.png | Bin 0 -> 1212 bytes .../formeditor/images/win/resourceeditortool.png | Bin 0 -> 1429 bytes .../formeditor/images/win/signalslottool.png | Bin 0 -> 1128 bytes .../formeditor/images/win/tabordertool.png | Bin 0 -> 1205 bytes .../formeditor/images/win/textanchor.png | Bin 0 -> 1581 bytes .../components/formeditor/images/win/textbold.png | Bin 0 -> 1134 bytes .../formeditor/images/win/textcenter.png | Bin 0 -> 627 bytes .../formeditor/images/win/textitalic.png | Bin 0 -> 829 bytes .../formeditor/images/win/textjustify.png | Bin 0 -> 695 bytes .../components/formeditor/images/win/textleft.png | Bin 0 -> 673 bytes .../components/formeditor/images/win/textright.png | Bin 0 -> 677 bytes .../formeditor/images/win/textsubscript.png | Bin 0 -> 897 bytes .../formeditor/images/win/textsuperscript.png | Bin 0 -> 864 bytes .../components/formeditor/images/win/textunder.png | Bin 0 -> 971 bytes .../src/components/formeditor/images/win/undo.png | Bin 0 -> 1181 bytes .../src/components/formeditor/images/win/up.png | Bin 0 -> 692 bytes .../formeditor/images/win/widgettool.png | Bin 0 -> 1039 bytes .../formeditor/itemview_propertysheet.cpp | 291 + .../components/formeditor/itemview_propertysheet.h | 88 + .../components/formeditor/layout_propertysheet.cpp | 546 + .../components/formeditor/layout_propertysheet.h | 82 + .../components/formeditor/line_propertysheet.cpp | 86 + .../src/components/formeditor/line_propertysheet.h | 71 + .../components/formeditor/previewactiongroup.cpp | 149 + .../src/components/formeditor/previewactiongroup.h | 90 + .../components/formeditor/qdesigner_resource.cpp | 2665 + .../src/components/formeditor/qdesigner_resource.h | 182 + .../formeditor/qlayoutwidget_propertysheet.cpp | 83 + .../formeditor/qlayoutwidget_propertysheet.h | 72 + .../formeditor/qmainwindow_container.cpp | 199 + .../components/formeditor/qmainwindow_container.h | 81 + .../components/formeditor/qmdiarea_container.cpp | 280 + .../src/components/formeditor/qmdiarea_container.h | 119 + .../src/components/formeditor/qtbrushmanager.cpp | 143 + .../src/components/formeditor/qtbrushmanager.h | 89 + .../components/formeditor/qwizard_container.cpp | 226 + .../src/components/formeditor/qwizard_container.h | 123 + .../components/formeditor/qworkspace_container.cpp | 100 + .../components/formeditor/qworkspace_container.h | 79 + .../components/formeditor/spacer_propertysheet.cpp | 82 + .../components/formeditor/spacer_propertysheet.h | 72 + .../components/formeditor/templateoptionspage.cpp | 183 + .../components/formeditor/templateoptionspage.h | 110 + .../components/formeditor/templateoptionspage.ui | 59 + .../components/formeditor/tool_widgeteditor.cpp | 367 + .../src/components/formeditor/tool_widgeteditor.h | 107 + .../src/components/formeditor/widgetselection.cpp | 746 + .../src/components/formeditor/widgetselection.h | 145 + tools/designer/src/components/lib/lib.pro | 74 + tools/designer/src/components/lib/lib_pch.h | 43 + .../src/components/lib/qdesigner_components.cpp | 277 + .../components/objectinspector/objectinspector.cpp | 839 + .../components/objectinspector/objectinspector.h | 95 + .../components/objectinspector/objectinspector.pri | 10 + .../objectinspector/objectinspector_global.h | 61 + .../objectinspector/objectinspectormodel.cpp | 517 + .../objectinspector/objectinspectormodel_p.h | 168 + .../propertyeditor/brushpropertymanager.cpp | 288 + .../propertyeditor/brushpropertymanager.h | 105 + .../src/components/propertyeditor/defs.cpp | 107 + .../designer/src/components/propertyeditor/defs.h | 60 + .../propertyeditor/designerpropertymanager.cpp | 2604 + .../propertyeditor/designerpropertymanager.h | 312 + .../src/components/propertyeditor/fontmapping.xml | 73 + .../propertyeditor/fontpropertymanager.cpp | 377 + .../propertyeditor/fontpropertymanager.h | 124 + .../propertyeditor/newdynamicpropertydialog.cpp | 170 + .../propertyeditor/newdynamicpropertydialog.h | 104 + .../propertyeditor/newdynamicpropertydialog.ui | 106 + .../components/propertyeditor/paletteeditor.cpp | 623 + .../src/components/propertyeditor/paletteeditor.h | 204 + .../src/components/propertyeditor/paletteeditor.ui | 264 + .../propertyeditor/paletteeditorbutton.cpp | 92 + .../propertyeditor/paletteeditorbutton.h | 86 + .../src/components/propertyeditor/previewframe.cpp | 123 + .../src/components/propertyeditor/previewframe.h | 76 + .../components/propertyeditor/previewwidget.cpp | 59 + .../src/components/propertyeditor/previewwidget.h | 66 + .../src/components/propertyeditor/previewwidget.ui | 238 + .../components/propertyeditor/propertyeditor.cpp | 1245 + .../src/components/propertyeditor/propertyeditor.h | 208 + .../components/propertyeditor/propertyeditor.pri | 47 + .../components/propertyeditor/propertyeditor.qrc | 5 + .../propertyeditor/propertyeditor_global.h | 61 + .../propertyeditor/qlonglongvalidator.cpp | 153 + .../components/propertyeditor/qlonglongvalidator.h | 110 + .../components/propertyeditor/stringlisteditor.cpp | 212 + .../components/propertyeditor/stringlisteditor.h | 92 + .../components/propertyeditor/stringlisteditor.ui | 265 + .../propertyeditor/stringlisteditorbutton.cpp | 85 + .../propertyeditor/stringlisteditorbutton.h | 81 + .../components/signalsloteditor/connectdialog.cpp | 335 + .../components/signalsloteditor/connectdialog.ui | 150 + .../components/signalsloteditor/connectdialog_p.h | 109 + .../signalsloteditor/signalslot_utils.cpp | 331 + .../signalsloteditor/signalslot_utils_p.h | 104 + .../signalsloteditor/signalsloteditor.cpp | 528 + .../components/signalsloteditor/signalsloteditor.h | 98 + .../signalsloteditor/signalsloteditor.pri | 21 + .../signalsloteditor/signalsloteditor_global.h | 57 + .../signalsloteditor/signalsloteditor_instance.cpp | 50 + .../signalsloteditor/signalsloteditor_p.h | 138 + .../signalsloteditor/signalsloteditor_plugin.cpp | 136 + .../signalsloteditor/signalsloteditor_plugin.h | 92 + .../signalsloteditor/signalsloteditor_tool.cpp | 127 + .../signalsloteditor/signalsloteditor_tool.h | 93 + .../signalsloteditor/signalsloteditorwindow.cpp | 859 + .../signalsloteditor/signalsloteditorwindow.h | 94 + .../components/tabordereditor/tabordereditor.cpp | 433 + .../src/components/tabordereditor/tabordereditor.h | 109 + .../components/tabordereditor/tabordereditor.pri | 16 + .../tabordereditor/tabordereditor_global.h | 57 + .../tabordereditor/tabordereditor_instance.cpp | 49 + .../tabordereditor/tabordereditor_plugin.cpp | 135 + .../tabordereditor/tabordereditor_plugin.h | 93 + .../tabordereditor/tabordereditor_tool.cpp | 118 + .../tabordereditor/tabordereditor_tool.h | 89 + .../src/components/taskmenu/button_taskmenu.cpp | 713 + .../src/components/taskmenu/button_taskmenu.h | 170 + .../src/components/taskmenu/combobox_taskmenu.cpp | 137 + .../src/components/taskmenu/combobox_taskmenu.h | 94 + .../taskmenu/containerwidget_taskmenu.cpp | 353 + .../components/taskmenu/containerwidget_taskmenu.h | 157 + .../src/components/taskmenu/groupbox_taskmenu.cpp | 109 + .../src/components/taskmenu/groupbox_taskmenu.h | 77 + .../src/components/taskmenu/inplace_editor.cpp | 136 + .../src/components/taskmenu/inplace_editor.h | 110 + .../components/taskmenu/inplace_widget_helper.cpp | 120 + .../components/taskmenu/inplace_widget_helper.h | 88 + .../src/components/taskmenu/itemlisteditor.cpp | 489 + .../src/components/taskmenu/itemlisteditor.h | 163 + .../src/components/taskmenu/itemlisteditor.ui | 156 + .../src/components/taskmenu/label_taskmenu.cpp | 121 + .../src/components/taskmenu/label_taskmenu.h | 81 + .../src/components/taskmenu/layouttaskmenu.cpp | 97 + .../src/components/taskmenu/layouttaskmenu.h | 93 + .../src/components/taskmenu/lineedit_taskmenu.cpp | 107 + .../src/components/taskmenu/lineedit_taskmenu.h | 74 + .../components/taskmenu/listwidget_taskmenu.cpp | 121 + .../src/components/taskmenu/listwidget_taskmenu.h | 85 + .../src/components/taskmenu/listwidgeteditor.cpp | 142 + .../src/components/taskmenu/listwidgeteditor.h | 78 + .../src/components/taskmenu/menutaskmenu.cpp | 111 + .../src/components/taskmenu/menutaskmenu.h | 106 + .../components/taskmenu/tablewidget_taskmenu.cpp | 119 + .../src/components/taskmenu/tablewidget_taskmenu.h | 85 + .../src/components/taskmenu/tablewidgeteditor.cpp | 407 + .../src/components/taskmenu/tablewidgeteditor.h | 114 + .../src/components/taskmenu/tablewidgeteditor.ui | 157 + .../designer/src/components/taskmenu/taskmenu.pri | 50 + .../src/components/taskmenu/taskmenu_component.cpp | 106 + .../src/components/taskmenu/taskmenu_component.h | 73 + .../src/components/taskmenu/taskmenu_global.h | 57 + .../src/components/taskmenu/textedit_taskmenu.cpp | 109 + .../src/components/taskmenu/textedit_taskmenu.h | 89 + .../src/components/taskmenu/toolbar_taskmenu.cpp | 115 + .../src/components/taskmenu/toolbar_taskmenu.h | 99 + .../components/taskmenu/treewidget_taskmenu.cpp | 118 + .../src/components/taskmenu/treewidget_taskmenu.h | 85 + .../src/components/taskmenu/treewidgeteditor.cpp | 607 + .../src/components/taskmenu/treewidgeteditor.h | 113 + .../src/components/taskmenu/treewidgeteditor.ui | 257 + .../src/components/widgetbox/widgetbox.cpp | 232 + .../designer/src/components/widgetbox/widgetbox.h | 103 + .../src/components/widgetbox/widgetbox.pri | 14 + .../src/components/widgetbox/widgetbox.qrc | 5 + .../src/components/widgetbox/widgetbox.xml | 932 + .../src/components/widgetbox/widgetbox_dnditem.cpp | 215 + .../src/components/widgetbox/widgetbox_dnditem.h | 67 + .../src/components/widgetbox/widgetbox_global.h | 57 + .../widgetbox/widgetboxcategorylistview.cpp | 494 + .../widgetbox/widgetboxcategorylistview.h | 118 + .../components/widgetbox/widgetboxtreewidget.cpp | 998 + .../src/components/widgetbox/widgetboxtreewidget.h | 150 + tools/designer/src/designer/Info_mac.plist | 35 + tools/designer/src/designer/appfontdialog.cpp | 429 + tools/designer/src/designer/appfontdialog.h | 101 + tools/designer/src/designer/assistantclient.cpp | 175 + tools/designer/src/designer/assistantclient.h | 83 + tools/designer/src/designer/designer.icns | Bin 0 -> 154893 bytes tools/designer/src/designer/designer.ico | Bin 0 -> 355574 bytes tools/designer/src/designer/designer.pro | 89 + tools/designer/src/designer/designer.qrc | 5 + tools/designer/src/designer/designer.rc | 2 + tools/designer/src/designer/designer_enums.h | 52 + tools/designer/src/designer/images/designer.png | Bin 0 -> 4205 bytes tools/designer/src/designer/images/mdi.png | Bin 0 -> 59505 bytes tools/designer/src/designer/images/sdi.png | Bin 0 -> 61037 bytes tools/designer/src/designer/images/workbench.png | Bin 0 -> 2085 bytes tools/designer/src/designer/main.cpp | 72 + tools/designer/src/designer/mainwindow.cpp | 401 + tools/designer/src/designer/mainwindow.h | 187 + tools/designer/src/designer/newform.cpp | 227 + tools/designer/src/designer/newform.h | 104 + tools/designer/src/designer/preferencesdialog.cpp | 118 + tools/designer/src/designer/preferencesdialog.h | 82 + tools/designer/src/designer/preferencesdialog.ui | 91 + tools/designer/src/designer/qdesigner.cpp | 320 + tools/designer/src/designer/qdesigner.h | 102 + tools/designer/src/designer/qdesigner_actions.cpp | 1406 + tools/designer/src/designer/qdesigner_actions.h | 227 + .../src/designer/qdesigner_appearanceoptions.cpp | 167 + .../src/designer/qdesigner_appearanceoptions.h | 136 + .../src/designer/qdesigner_appearanceoptions.ui | 57 + .../designer/src/designer/qdesigner_formwindow.cpp | 289 + tools/designer/src/designer/qdesigner_formwindow.h | 97 + tools/designer/src/designer/qdesigner_pch.h | 59 + tools/designer/src/designer/qdesigner_server.cpp | 158 + tools/designer/src/designer/qdesigner_server.h | 89 + tools/designer/src/designer/qdesigner_settings.cpp | 250 + tools/designer/src/designer/qdesigner_settings.h | 94 + .../designer/src/designer/qdesigner_toolwindow.cpp | 438 + tools/designer/src/designer/qdesigner_toolwindow.h | 123 + .../designer/src/designer/qdesigner_workbench.cpp | 1096 + tools/designer/src/designer/qdesigner_workbench.h | 215 + tools/designer/src/designer/saveformastemplate.cpp | 173 + tools/designer/src/designer/saveformastemplate.h | 77 + tools/designer/src/designer/saveformastemplate.ui | 166 + tools/designer/src/designer/versiondialog.cpp | 218 + tools/designer/src/designer/versiondialog.h | 58 + .../src/lib/components/qdesigner_components.h | 82 + .../lib/components/qdesigner_components_global.h | 66 + .../src/lib/extension/default_extensionfactory.cpp | 178 + .../src/lib/extension/default_extensionfactory.h | 86 + tools/designer/src/lib/extension/extension.cpp | 186 + tools/designer/src/lib/extension/extension.h | 109 + tools/designer/src/lib/extension/extension.pri | 12 + .../designer/src/lib/extension/extension_global.h | 64 + .../src/lib/extension/qextensionmanager.cpp | 174 + .../designer/src/lib/extension/qextensionmanager.h | 79 + tools/designer/src/lib/lib.pro | 78 + tools/designer/src/lib/lib_pch.h | 65 + .../designer/src/lib/sdk/abstractactioneditor.cpp | 123 + tools/designer/src/lib/sdk/abstractactioneditor.h | 76 + tools/designer/src/lib/sdk/abstractbrushmanager.h | 83 + tools/designer/src/lib/sdk/abstractdialoggui.cpp | 161 + tools/designer/src/lib/sdk/abstractdialoggui_p.h | 107 + tools/designer/src/lib/sdk/abstractdnditem.h | 75 + tools/designer/src/lib/sdk/abstractformeditor.cpp | 621 + tools/designer/src/lib/sdk/abstractformeditor.h | 159 + .../src/lib/sdk/abstractformeditorplugin.cpp | 86 + .../src/lib/sdk/abstractformeditorplugin.h | 73 + tools/designer/src/lib/sdk/abstractformwindow.cpp | 814 + tools/designer/src/lib/sdk/abstractformwindow.h | 183 + .../src/lib/sdk/abstractformwindowcursor.cpp | 252 + .../src/lib/sdk/abstractformwindowcursor.h | 109 + .../src/lib/sdk/abstractformwindowmanager.cpp | 502 + .../src/lib/sdk/abstractformwindowmanager.h | 122 + .../src/lib/sdk/abstractformwindowtool.cpp | 106 + .../designer/src/lib/sdk/abstractformwindowtool.h | 85 + tools/designer/src/lib/sdk/abstracticoncache.h | 83 + tools/designer/src/lib/sdk/abstractintegration.cpp | 54 + tools/designer/src/lib/sdk/abstractintegration.h | 76 + .../designer/src/lib/sdk/abstractintrospection.cpp | 548 + .../designer/src/lib/sdk/abstractintrospection_p.h | 174 + tools/designer/src/lib/sdk/abstractlanguage.h | 100 + .../designer/src/lib/sdk/abstractmetadatabase.cpp | 170 + tools/designer/src/lib/sdk/abstractmetadatabase.h | 99 + .../designer/src/lib/sdk/abstractnewformwidget.cpp | 117 + .../designer/src/lib/sdk/abstractnewformwidget_p.h | 88 + .../src/lib/sdk/abstractobjectinspector.cpp | 110 + .../designer/src/lib/sdk/abstractobjectinspector.h | 73 + tools/designer/src/lib/sdk/abstractoptionspage_p.h | 79 + .../src/lib/sdk/abstractpromotioninterface.cpp | 113 + .../src/lib/sdk/abstractpromotioninterface.h | 91 + .../src/lib/sdk/abstractpropertyeditor.cpp | 193 + .../designer/src/lib/sdk/abstractpropertyeditor.h | 84 + .../src/lib/sdk/abstractresourcebrowser.cpp | 57 + .../designer/src/lib/sdk/abstractresourcebrowser.h | 75 + tools/designer/src/lib/sdk/abstractsettings_p.h | 87 + tools/designer/src/lib/sdk/abstractwidgetbox.cpp | 340 + tools/designer/src/lib/sdk/abstractwidgetbox.h | 142 + .../src/lib/sdk/abstractwidgetdatabase.cpp | 360 + .../designer/src/lib/sdk/abstractwidgetdatabase.h | 137 + .../designer/src/lib/sdk/abstractwidgetfactory.cpp | 112 + tools/designer/src/lib/sdk/abstractwidgetfactory.h | 79 + tools/designer/src/lib/sdk/dynamicpropertysheet.h | 81 + tools/designer/src/lib/sdk/extrainfo.cpp | 116 + tools/designer/src/lib/sdk/extrainfo.h | 84 + tools/designer/src/lib/sdk/layoutdecoration.h | 99 + tools/designer/src/lib/sdk/membersheet.h | 89 + tools/designer/src/lib/sdk/propertysheet.h | 90 + tools/designer/src/lib/sdk/script.cpp | 109 + tools/designer/src/lib/sdk/script_p.h | 83 + tools/designer/src/lib/sdk/sdk.pri | 58 + tools/designer/src/lib/sdk/sdk_global.h | 64 + tools/designer/src/lib/sdk/taskmenu.h | 72 + tools/designer/src/lib/shared/actioneditor.cpp | 822 + tools/designer/src/lib/shared/actioneditor_p.h | 168 + tools/designer/src/lib/shared/actionprovider_p.h | 108 + tools/designer/src/lib/shared/actionrepository.cpp | 659 + tools/designer/src/lib/shared/actionrepository_p.h | 257 + tools/designer/src/lib/shared/addlinkdialog.ui | 112 + tools/designer/src/lib/shared/codedialog.cpp | 266 + tools/designer/src/lib/shared/codedialog_p.h | 100 + tools/designer/src/lib/shared/connectionedit.cpp | 1612 + tools/designer/src/lib/shared/connectionedit_p.h | 324 + tools/designer/src/lib/shared/csshighlighter.cpp | 192 + tools/designer/src/lib/shared/csshighlighter_p.h | 82 + tools/designer/src/lib/shared/defaultgradients.xml | 498 + tools/designer/src/lib/shared/deviceprofile.cpp | 467 + tools/designer/src/lib/shared/deviceprofile_p.h | 152 + tools/designer/src/lib/shared/dialoggui.cpp | 265 + tools/designer/src/lib/shared/dialoggui_p.h | 107 + tools/designer/src/lib/shared/extensionfactory_p.h | 120 + tools/designer/src/lib/shared/filterwidget.cpp | 237 + tools/designer/src/lib/shared/filterwidget_p.h | 152 + tools/designer/src/lib/shared/formlayoutmenu.cpp | 534 + tools/designer/src/lib/shared/formlayoutmenu_p.h | 100 + .../designer/src/lib/shared/formlayoutrowdialog.ui | 166 + tools/designer/src/lib/shared/formwindowbase.cpp | 487 + tools/designer/src/lib/shared/formwindowbase_p.h | 202 + tools/designer/src/lib/shared/grid.cpp | 186 + tools/designer/src/lib/shared/grid_p.h | 118 + tools/designer/src/lib/shared/gridpanel.cpp | 121 + tools/designer/src/lib/shared/gridpanel.ui | 144 + tools/designer/src/lib/shared/gridpanel_p.h | 101 + tools/designer/src/lib/shared/htmlhighlighter.cpp | 198 + tools/designer/src/lib/shared/htmlhighlighter_p.h | 101 + tools/designer/src/lib/shared/iconloader.cpp | 80 + tools/designer/src/lib/shared/iconloader_p.h | 72 + tools/designer/src/lib/shared/iconselector.cpp | 546 + tools/designer/src/lib/shared/iconselector_p.h | 142 + tools/designer/src/lib/shared/invisible_widget.cpp | 57 + tools/designer/src/lib/shared/invisible_widget_p.h | 75 + tools/designer/src/lib/shared/layout.cpp | 1326 + tools/designer/src/lib/shared/layout_p.h | 152 + tools/designer/src/lib/shared/layoutinfo.cpp | 312 + tools/designer/src/lib/shared/layoutinfo_p.h | 114 + tools/designer/src/lib/shared/metadatabase.cpp | 295 + tools/designer/src/lib/shared/metadatabase_p.h | 142 + tools/designer/src/lib/shared/morphmenu.cpp | 635 + tools/designer/src/lib/shared/morphmenu_p.h | 97 + tools/designer/src/lib/shared/newactiondialog.cpp | 197 + tools/designer/src/lib/shared/newactiondialog.ui | 277 + tools/designer/src/lib/shared/newactiondialog_p.h | 124 + tools/designer/src/lib/shared/newformwidget.cpp | 587 + tools/designer/src/lib/shared/newformwidget.ui | 192 + tools/designer/src/lib/shared/newformwidget_p.h | 143 + tools/designer/src/lib/shared/orderdialog.cpp | 192 + tools/designer/src/lib/shared/orderdialog.ui | 198 + tools/designer/src/lib/shared/orderdialog_p.h | 114 + tools/designer/src/lib/shared/plaintexteditor.cpp | 123 + tools/designer/src/lib/shared/plaintexteditor_p.h | 89 + tools/designer/src/lib/shared/plugindialog.cpp | 207 + tools/designer/src/lib/shared/plugindialog.ui | 136 + tools/designer/src/lib/shared/plugindialog_p.h | 81 + tools/designer/src/lib/shared/pluginmanager.cpp | 670 + tools/designer/src/lib/shared/pluginmanager_p.h | 151 + .../src/lib/shared/previewconfigurationwidget.cpp | 382 + .../src/lib/shared/previewconfigurationwidget.ui | 91 + .../src/lib/shared/previewconfigurationwidget_p.h | 96 + tools/designer/src/lib/shared/previewmanager.cpp | 815 + tools/designer/src/lib/shared/previewmanager_p.h | 184 + tools/designer/src/lib/shared/promotionmodel.cpp | 224 + tools/designer/src/lib/shared/promotionmodel_p.h | 98 + .../designer/src/lib/shared/promotiontaskmenu.cpp | 361 + .../designer/src/lib/shared/promotiontaskmenu_p.h | 151 + tools/designer/src/lib/shared/propertylineedit.cpp | 96 + tools/designer/src/lib/shared/propertylineedit_p.h | 85 + .../designer/src/lib/shared/qdesigner_command.cpp | 2968 + .../designer/src/lib/shared/qdesigner_command2.cpp | 159 + .../designer/src/lib/shared/qdesigner_command2_p.h | 101 + .../designer/src/lib/shared/qdesigner_command_p.h | 1136 + .../designer/src/lib/shared/qdesigner_dnditem.cpp | 300 + .../designer/src/lib/shared/qdesigner_dnditem_p.h | 147 + .../src/lib/shared/qdesigner_dockwidget.cpp | 140 + .../src/lib/shared/qdesigner_dockwidget_p.h | 87 + .../src/lib/shared/qdesigner_formbuilder.cpp | 478 + .../src/lib/shared/qdesigner_formbuilder_p.h | 166 + .../src/lib/shared/qdesigner_formeditorcommand.cpp | 64 + .../src/lib/shared/qdesigner_formeditorcommand_p.h | 83 + .../src/lib/shared/qdesigner_formwindowcommand.cpp | 149 + .../src/lib/shared/qdesigner_formwindowcommand_p.h | 96 + .../src/lib/shared/qdesigner_formwindowmanager.cpp | 167 + .../src/lib/shared/qdesigner_formwindowmanager_p.h | 99 + .../src/lib/shared/qdesigner_integration.cpp | 496 + .../src/lib/shared/qdesigner_integration_p.h | 152 + .../src/lib/shared/qdesigner_introspection.cpp | 372 + .../src/lib/shared/qdesigner_introspection_p.h | 84 + .../src/lib/shared/qdesigner_membersheet.cpp | 371 + .../src/lib/shared/qdesigner_membersheet_p.h | 120 + tools/designer/src/lib/shared/qdesigner_menu.cpp | 1355 + tools/designer/src/lib/shared/qdesigner_menu_p.h | 203 + .../designer/src/lib/shared/qdesigner_menubar.cpp | 955 + .../designer/src/lib/shared/qdesigner_menubar_p.h | 177 + .../src/lib/shared/qdesigner_objectinspector.cpp | 80 + .../src/lib/shared/qdesigner_objectinspector_p.h | 103 + .../src/lib/shared/qdesigner_promotion.cpp | 373 + .../src/lib/shared/qdesigner_promotion_p.h | 98 + .../src/lib/shared/qdesigner_promotiondialog.cpp | 452 + .../src/lib/shared/qdesigner_promotiondialog_p.h | 161 + .../src/lib/shared/qdesigner_propertycommand.cpp | 1479 + .../src/lib/shared/qdesigner_propertycommand_p.h | 301 + .../src/lib/shared/qdesigner_propertyeditor.cpp | 131 + .../src/lib/shared/qdesigner_propertyeditor_p.h | 106 + .../src/lib/shared/qdesigner_propertysheet.cpp | 1601 + .../src/lib/shared/qdesigner_propertysheet_p.h | 265 + .../src/lib/shared/qdesigner_qsettings.cpp | 94 + .../src/lib/shared/qdesigner_qsettings_p.h | 88 + .../src/lib/shared/qdesigner_stackedbox.cpp | 396 + .../src/lib/shared/qdesigner_stackedbox_p.h | 164 + .../src/lib/shared/qdesigner_tabwidget.cpp | 567 + .../src/lib/shared/qdesigner_tabwidget_p.h | 153 + .../designer/src/lib/shared/qdesigner_taskmenu.cpp | 781 + .../designer/src/lib/shared/qdesigner_taskmenu_p.h | 132 + .../designer/src/lib/shared/qdesigner_toolbar.cpp | 486 + .../designer/src/lib/shared/qdesigner_toolbar_p.h | 135 + .../designer/src/lib/shared/qdesigner_toolbox.cpp | 437 + .../designer/src/lib/shared/qdesigner_toolbox_p.h | 140 + tools/designer/src/lib/shared/qdesigner_utils.cpp | 734 + tools/designer/src/lib/shared/qdesigner_utils_p.h | 482 + tools/designer/src/lib/shared/qdesigner_widget.cpp | 108 + tools/designer/src/lib/shared/qdesigner_widget_p.h | 122 + .../src/lib/shared/qdesigner_widgetbox.cpp | 185 + .../src/lib/shared/qdesigner_widgetbox_p.h | 101 + .../src/lib/shared/qdesigner_widgetitem.cpp | 345 + .../src/lib/shared/qdesigner_widgetitem_p.h | 147 + tools/designer/src/lib/shared/qlayout_widget.cpp | 2103 + tools/designer/src/lib/shared/qlayout_widget_p.h | 292 + .../designer/src/lib/shared/qscripthighlighter.cpp | 468 + .../designer/src/lib/shared/qscripthighlighter_p.h | 84 + tools/designer/src/lib/shared/qsimpleresource.cpp | 283 + tools/designer/src/lib/shared/qsimpleresource_p.h | 147 + .../src/lib/shared/qtresourceeditordialog.cpp | 2226 + .../src/lib/shared/qtresourceeditordialog.ui | 177 + .../src/lib/shared/qtresourceeditordialog_p.h | 129 + tools/designer/src/lib/shared/qtresourcemodel.cpp | 648 + tools/designer/src/lib/shared/qtresourcemodel_p.h | 144 + tools/designer/src/lib/shared/qtresourceview.cpp | 766 + tools/designer/src/lib/shared/qtresourceview_p.h | 140 + tools/designer/src/lib/shared/richtexteditor.cpp | 762 + tools/designer/src/lib/shared/richtexteditor_p.h | 102 + tools/designer/src/lib/shared/scriptcommand.cpp | 103 + tools/designer/src/lib/shared/scriptcommand_p.h | 93 + tools/designer/src/lib/shared/scriptdialog.cpp | 128 + tools/designer/src/lib/shared/scriptdialog_p.h | 90 + .../designer/src/lib/shared/scripterrordialog.cpp | 112 + .../designer/src/lib/shared/scripterrordialog_p.h | 83 + .../designer/src/lib/shared/selectsignaldialog.ui | 93 + tools/designer/src/lib/shared/shared.pri | 189 + tools/designer/src/lib/shared/shared.qrc | 20 + tools/designer/src/lib/shared/shared_enums_p.h | 99 + tools/designer/src/lib/shared/shared_global_p.h | 76 + tools/designer/src/lib/shared/shared_settings.cpp | 321 + tools/designer/src/lib/shared/shared_settings_p.h | 142 + tools/designer/src/lib/shared/sheet_delegate.cpp | 112 + tools/designer/src/lib/shared/sheet_delegate_p.h | 85 + tools/designer/src/lib/shared/signalslotdialog.cpp | 526 + tools/designer/src/lib/shared/signalslotdialog.ui | 129 + tools/designer/src/lib/shared/signalslotdialog_p.h | 173 + tools/designer/src/lib/shared/spacer_widget.cpp | 280 + tools/designer/src/lib/shared/spacer_widget_p.h | 117 + tools/designer/src/lib/shared/stylesheeteditor.cpp | 415 + tools/designer/src/lib/shared/stylesheeteditor_p.h | 144 + .../forms/240x320/Dialog_with_Buttons_Bottom.ui | 67 + .../forms/240x320/Dialog_with_Buttons_Right.ui | 67 + .../forms/320x240/Dialog_with_Buttons_Bottom.ui | 67 + .../forms/320x240/Dialog_with_Buttons_Right.ui | 67 + .../forms/480x640/Dialog_with_Buttons_Bottom.ui | 67 + .../forms/480x640/Dialog_with_Buttons_Right.ui | 67 + .../forms/640x480/Dialog_with_Buttons_Bottom.ui | 67 + .../forms/640x480/Dialog_with_Buttons_Right.ui | 67 + .../templates/forms/Dialog_with_Buttons_Bottom.ui | 71 + .../templates/forms/Dialog_with_Buttons_Right.ui | 71 + .../templates/forms/Dialog_without_Buttons.ui | 18 + .../src/lib/shared/templates/forms/Main_Window.ui | 24 + .../src/lib/shared/templates/forms/Widget.ui | 21 + .../designer/src/lib/shared/textpropertyeditor.cpp | 429 + .../designer/src/lib/shared/textpropertyeditor_p.h | 156 + tools/designer/src/lib/shared/widgetdatabase.cpp | 865 + tools/designer/src/lib/shared/widgetdatabase_p.h | 210 + tools/designer/src/lib/shared/widgetfactory.cpp | 897 + tools/designer/src/lib/shared/widgetfactory_p.h | 191 + tools/designer/src/lib/shared/zoomwidget.cpp | 578 + tools/designer/src/lib/shared/zoomwidget_p.h | 238 + .../designer/src/lib/uilib/abstractformbuilder.cpp | 2920 + tools/designer/src/lib/uilib/abstractformbuilder.h | 290 + tools/designer/src/lib/uilib/container.h | 75 + tools/designer/src/lib/uilib/customwidget.h | 101 + tools/designer/src/lib/uilib/formbuilder.cpp | 562 + tools/designer/src/lib/uilib/formbuilder.h | 115 + tools/designer/src/lib/uilib/formbuilderextra.cpp | 531 + tools/designer/src/lib/uilib/formbuilderextra_p.h | 255 + tools/designer/src/lib/uilib/formscriptrunner.cpp | 208 + tools/designer/src/lib/uilib/formscriptrunner_p.h | 120 + tools/designer/src/lib/uilib/properties.cpp | 676 + tools/designer/src/lib/uilib/properties_p.h | 176 + .../designer/src/lib/uilib/qdesignerexportwidget.h | 66 + tools/designer/src/lib/uilib/resourcebuilder.cpp | 169 + tools/designer/src/lib/uilib/resourcebuilder_p.h | 104 + tools/designer/src/lib/uilib/textbuilder.cpp | 84 + tools/designer/src/lib/uilib/textbuilder_p.h | 93 + tools/designer/src/lib/uilib/ui4.cpp | 10887 +++ tools/designer/src/lib/uilib/ui4_p.h | 3696 + tools/designer/src/lib/uilib/uilib.pri | 31 + tools/designer/src/lib/uilib/uilib_global.h | 64 + tools/designer/src/lib/uilib/widgets.table | 148 + tools/designer/src/plugins/activeqt/activeqt.pro | 32 + .../src/plugins/activeqt/qaxwidgetextrainfo.cpp | 117 + .../src/plugins/activeqt/qaxwidgetextrainfo.h | 91 + .../src/plugins/activeqt/qaxwidgetplugin.cpp | 146 + .../src/plugins/activeqt/qaxwidgetplugin.h | 77 + .../plugins/activeqt/qaxwidgetpropertysheet.cpp | 189 + .../src/plugins/activeqt/qaxwidgetpropertysheet.h | 99 + .../src/plugins/activeqt/qaxwidgettaskmenu.cpp | 186 + .../src/plugins/activeqt/qaxwidgettaskmenu.h | 76 + .../src/plugins/activeqt/qdesigneraxwidget.cpp | 272 + .../src/plugins/activeqt/qdesigneraxwidget.h | 142 + .../plugins/phononwidgets/images/seekslider.png | Bin 0 -> 444 bytes .../plugins/phononwidgets/images/videoplayer.png | Bin 0 -> 644 bytes .../plugins/phononwidgets/images/videowidget.png | Bin 0 -> 794 bytes .../plugins/phononwidgets/images/volumeslider.png | Bin 0 -> 470 bytes .../src/plugins/phononwidgets/phononcollection.cpp | 82 + .../src/plugins/phononwidgets/phononwidgets.pro | 24 + .../src/plugins/phononwidgets/phononwidgets.qrc | 8 + .../src/plugins/phononwidgets/seeksliderplugin.cpp | 117 + .../src/plugins/phononwidgets/seeksliderplugin.h | 75 + .../plugins/phononwidgets/videoplayerplugin.cpp | 135 + .../src/plugins/phononwidgets/videoplayerplugin.h | 75 + .../plugins/phononwidgets/videoplayertaskmenu.cpp | 154 + .../plugins/phononwidgets/videoplayertaskmenu.h | 82 + .../plugins/phononwidgets/volumesliderplugin.cpp | 117 + .../src/plugins/phononwidgets/volumesliderplugin.h | 75 + tools/designer/src/plugins/plugins.pri | 8 + tools/designer/src/plugins/plugins.pro | 9 + .../src/plugins/qwebview/images/qwebview.png | Bin 0 -> 1473 bytes tools/designer/src/plugins/qwebview/qwebview.pro | 15 + .../src/plugins/qwebview/qwebview_plugin.cpp | 137 + .../src/plugins/qwebview/qwebview_plugin.h | 74 + .../src/plugins/qwebview/qwebview_plugin.qrc | 5 + tools/designer/src/plugins/tools/view3d/view3d.cpp | 492 + tools/designer/src/plugins/tools/view3d/view3d.h | 77 + tools/designer/src/plugins/tools/view3d/view3d.pro | 17 + .../src/plugins/tools/view3d/view3d_global.h | 61 + .../src/plugins/tools/view3d/view3d_plugin.cpp | 115 + .../src/plugins/tools/view3d/view3d_plugin.h | 82 + .../src/plugins/tools/view3d/view3d_tool.cpp | 88 + .../src/plugins/tools/view3d/view3d_tool.h | 76 + .../widgets/q3iconview/q3iconview_extrainfo.cpp | 183 + .../widgets/q3iconview/q3iconview_extrainfo.h | 95 + .../widgets/q3iconview/q3iconview_plugin.cpp | 120 + .../plugins/widgets/q3iconview/q3iconview_plugin.h | 76 + .../widgets/q3listbox/q3listbox_extrainfo.cpp | 151 + .../widgets/q3listbox/q3listbox_extrainfo.h | 93 + .../plugins/widgets/q3listbox/q3listbox_plugin.cpp | 121 + .../plugins/widgets/q3listbox/q3listbox_plugin.h | 76 + .../widgets/q3listview/q3listview_extrainfo.cpp | 249 + .../widgets/q3listview/q3listview_extrainfo.h | 96 + .../widgets/q3listview/q3listview_plugin.cpp | 121 + .../plugins/widgets/q3listview/q3listview_plugin.h | 76 + .../q3mainwindow/q3mainwindow_container.cpp | 130 + .../widgets/q3mainwindow/q3mainwindow_container.h | 84 + .../widgets/q3mainwindow/q3mainwindow_plugin.cpp | 118 + .../widgets/q3mainwindow/q3mainwindow_plugin.h | 76 + .../plugins/widgets/q3table/q3table_extrainfo.cpp | 196 + .../plugins/widgets/q3table/q3table_extrainfo.h | 93 + .../src/plugins/widgets/q3table/q3table_plugin.cpp | 121 + .../src/plugins/widgets/q3table/q3table_plugin.h | 76 + .../widgets/q3textedit/q3textedit_extrainfo.cpp | 116 + .../widgets/q3textedit/q3textedit_extrainfo.h | 93 + .../widgets/q3textedit/q3textedit_plugin.cpp | 122 + .../plugins/widgets/q3textedit/q3textedit_plugin.h | 76 + .../widgets/q3toolbar/q3toolbar_extrainfo.cpp | 108 + .../widgets/q3toolbar/q3toolbar_extrainfo.h | 92 + .../plugins/widgets/q3toolbar/q3toolbar_plugin.cpp | 128 + .../plugins/widgets/q3toolbar/q3toolbar_plugin.h | 76 + .../plugins/widgets/q3widgets/q3widget_plugins.cpp | 601 + .../plugins/widgets/q3widgets/q3widget_plugins.h | 287 + .../q3widgetstack/q3widgetstack_container.cpp | 115 + .../q3widgetstack/q3widgetstack_container.h | 84 + .../widgets/q3widgetstack/q3widgetstack_plugin.cpp | 118 + .../widgets/q3widgetstack/q3widgetstack_plugin.h | 76 + .../q3widgetstack/qdesigner_q3widgetstack.cpp | 217 + .../q3widgetstack/qdesigner_q3widgetstack_p.h | 108 + .../widgets/q3wizard/q3wizard_container.cpp | 235 + .../plugins/widgets/q3wizard/q3wizard_container.h | 149 + .../plugins/widgets/q3wizard/q3wizard_plugin.cpp | 128 + .../src/plugins/widgets/q3wizard/q3wizard_plugin.h | 76 + .../src/plugins/widgets/qt3supportwidgets.cpp | 107 + tools/designer/src/plugins/widgets/widgets.pro | 82 + tools/designer/src/sharedcomponents.pri | 30 + tools/designer/src/src.pro | 13 + tools/designer/src/uitools/quiloader.cpp | 927 + tools/designer/src/uitools/quiloader.h | 102 + tools/designer/src/uitools/quiloader_p.h | 109 + tools/designer/src/uitools/uitools.pro | 41 + tools/designer/translations/translations.pro | 140 + tools/doxygen/config/footer.html | 8 + tools/doxygen/config/header.html | 30 + tools/doxygen/config/phonon.css | 114 + tools/doxygen/config/phonon.doxyfile | 220 + tools/installer/README | 12 + tools/installer/batch/build.bat | 160 + tools/installer/batch/copy.bat | 124 + tools/installer/batch/delete.bat | 76 + tools/installer/batch/env.bat | 144 + tools/installer/batch/extract.bat | 86 + tools/installer/batch/installer.bat | 250 + tools/installer/batch/log.bat | 61 + tools/installer/batch/toupper.bat | 72 + tools/installer/config/config.default.sample | 67 + tools/installer/config/mingw-opensource.conf | 139 + tools/installer/iwmake.bat | 127 + tools/installer/nsis/confirmpage.ini | 62 + tools/installer/nsis/gwdownload.ini | 121 + tools/installer/nsis/gwmirror.ini | 70 + tools/installer/nsis/images/install.ico | Bin 0 -> 22486 bytes tools/installer/nsis/images/qt-header.bmp | Bin 0 -> 25818 bytes tools/installer/nsis/images/qt-wizard.bmp | Bin 0 -> 154542 bytes tools/installer/nsis/includes/global.nsh | 146 + tools/installer/nsis/includes/instdir.nsh | 257 + tools/installer/nsis/includes/list.nsh | 139 + tools/installer/nsis/includes/qtcommon.nsh | 574 + tools/installer/nsis/includes/qtenv.nsh | 306 + tools/installer/nsis/includes/system.nsh | 272 + tools/installer/nsis/installer.nsi | 527 + tools/installer/nsis/modules/environment.nsh | 219 + tools/installer/nsis/modules/mingw.nsh | 676 + tools/installer/nsis/modules/opensource.nsh | 98 + tools/installer/nsis/modules/registeruiext.nsh | 210 + tools/installer/nsis/opensource.ini | 81 + tools/linguist/LICENSE.GPL | 280 + tools/linguist/lconvert/lconvert.pro | 22 + tools/linguist/lconvert/main.cpp | 236 + tools/linguist/linguist.pro | 8 + tools/linguist/linguist/Info_mac.plist | 18 + tools/linguist/linguist/batchtranslation.ui | 260 + tools/linguist/linguist/batchtranslationdialog.cpp | 194 + tools/linguist/linguist/batchtranslationdialog.h | 87 + tools/linguist/linguist/errorsview.cpp | 118 + tools/linguist/linguist/errorsview.h | 78 + tools/linguist/linguist/finddialog.cpp | 94 + tools/linguist/linguist/finddialog.h | 69 + tools/linguist/linguist/finddialog.ui | 266 + tools/linguist/linguist/formpreviewview.cpp | 535 + tools/linguist/linguist/formpreviewview.h | 128 + tools/linguist/linguist/images/appicon.png | Bin 0 -> 1382 bytes tools/linguist/linguist/images/down.png | Bin 0 -> 594 bytes tools/linguist/linguist/images/editdelete.png | Bin 0 -> 831 bytes .../linguist/images/icons/linguist-128-32.png | Bin 0 -> 5960 bytes .../linguist/images/icons/linguist-128-8.png | Bin 0 -> 5947 bytes .../linguist/images/icons/linguist-16-32.png | Bin 0 -> 537 bytes .../linguist/images/icons/linguist-16-8.png | Bin 0 -> 608 bytes .../linguist/images/icons/linguist-32-32.png | Bin 0 -> 1382 bytes .../linguist/images/icons/linguist-32-8.png | Bin 0 -> 1369 bytes .../linguist/images/icons/linguist-48-32.png | Bin 0 -> 2017 bytes .../linguist/images/icons/linguist-48-8.png | Bin 0 -> 1972 bytes .../linguist/images/icons/linguist-64-32.png | Bin 0 -> 2773 bytes .../linguist/images/icons/linguist-64-8.png | Bin 0 -> 2664 bytes tools/linguist/linguist/images/mac/accelerator.png | Bin 0 -> 1921 bytes tools/linguist/linguist/images/mac/book.png | Bin 0 -> 1477 bytes tools/linguist/linguist/images/mac/doneandnext.png | Bin 0 -> 1590 bytes tools/linguist/linguist/images/mac/editcopy.png | Bin 0 -> 1468 bytes tools/linguist/linguist/images/mac/editcut.png | Bin 0 -> 1512 bytes tools/linguist/linguist/images/mac/editpaste.png | Bin 0 -> 1906 bytes tools/linguist/linguist/images/mac/filenew.png | Bin 0 -> 1172 bytes tools/linguist/linguist/images/mac/fileopen.png | Bin 0 -> 2168 bytes tools/linguist/linguist/images/mac/fileprint.png | Bin 0 -> 741 bytes tools/linguist/linguist/images/mac/filesave.png | Bin 0 -> 1206 bytes tools/linguist/linguist/images/mac/next.png | Bin 0 -> 1056 bytes .../linguist/images/mac/nextunfinished.png | Bin 0 -> 1756 bytes tools/linguist/linguist/images/mac/phrase.png | Bin 0 -> 1932 bytes tools/linguist/linguist/images/mac/prev.png | Bin 0 -> 1080 bytes .../linguist/images/mac/prevunfinished.png | Bin 0 -> 1682 bytes tools/linguist/linguist/images/mac/print.png | Bin 0 -> 2087 bytes tools/linguist/linguist/images/mac/punctuation.png | Bin 0 -> 1593 bytes tools/linguist/linguist/images/mac/redo.png | Bin 0 -> 1752 bytes tools/linguist/linguist/images/mac/searchfind.png | Bin 0 -> 1836 bytes tools/linguist/linguist/images/mac/undo.png | Bin 0 -> 1746 bytes .../linguist/images/mac/validateplacemarkers.png | Bin 0 -> 1452 bytes tools/linguist/linguist/images/mac/whatsthis.png | Bin 0 -> 1586 bytes tools/linguist/linguist/images/s_check_danger.png | Bin 0 -> 304 bytes tools/linguist/linguist/images/s_check_empty.png | Bin 0 -> 404 bytes .../linguist/linguist/images/s_check_obsolete.png | Bin 0 -> 192 bytes tools/linguist/linguist/images/s_check_off.png | Bin 0 -> 434 bytes tools/linguist/linguist/images/s_check_on.png | Bin 0 -> 192 bytes tools/linguist/linguist/images/s_check_warning.png | Bin 0 -> 192 bytes tools/linguist/linguist/images/splash.png | Bin 0 -> 15637 bytes tools/linguist/linguist/images/transbox.png | Bin 0 -> 782 bytes tools/linguist/linguist/images/up.png | Bin 0 -> 692 bytes tools/linguist/linguist/images/win/accelerator.png | Bin 0 -> 1335 bytes tools/linguist/linguist/images/win/book.png | Bin 0 -> 1109 bytes tools/linguist/linguist/images/win/doneandnext.png | Bin 0 -> 1233 bytes tools/linguist/linguist/images/win/editcopy.png | Bin 0 -> 1325 bytes tools/linguist/linguist/images/win/editcut.png | Bin 0 -> 1384 bytes tools/linguist/linguist/images/win/editpaste.png | Bin 0 -> 1482 bytes tools/linguist/linguist/images/win/filenew.png | Bin 0 -> 768 bytes tools/linguist/linguist/images/win/fileopen.png | Bin 0 -> 1662 bytes tools/linguist/linguist/images/win/filesave.png | Bin 0 -> 1205 bytes tools/linguist/linguist/images/win/next.png | Bin 0 -> 1038 bytes .../linguist/images/win/nextunfinished.png | Bin 0 -> 1257 bytes tools/linguist/linguist/images/win/phrase.png | Bin 0 -> 1371 bytes tools/linguist/linguist/images/win/prev.png | Bin 0 -> 898 bytes .../linguist/images/win/prevunfinished.png | Bin 0 -> 1260 bytes tools/linguist/linguist/images/win/print.png | Bin 0 -> 1456 bytes tools/linguist/linguist/images/win/punctuation.png | Bin 0 -> 1508 bytes tools/linguist/linguist/images/win/redo.png | Bin 0 -> 1212 bytes tools/linguist/linguist/images/win/searchfind.png | Bin 0 -> 1944 bytes tools/linguist/linguist/images/win/undo.png | Bin 0 -> 1181 bytes .../linguist/images/win/validateplacemarkers.png | Bin 0 -> 1994 bytes tools/linguist/linguist/images/win/whatsthis.png | Bin 0 -> 1040 bytes tools/linguist/linguist/linguist.icns | Bin 0 -> 152596 bytes tools/linguist/linguist/linguist.ico | Bin 0 -> 355574 bytes tools/linguist/linguist/linguist.pro | 107 + tools/linguist/linguist/linguist.qrc | 56 + tools/linguist/linguist/linguist.rc | 1 + tools/linguist/linguist/main.cpp | 119 + tools/linguist/linguist/mainwindow.cpp | 2673 + tools/linguist/linguist/mainwindow.h | 266 + tools/linguist/linguist/mainwindow.ui | 883 + tools/linguist/linguist/messageeditor.cpp | 865 + tools/linguist/linguist/messageeditor.h | 169 + tools/linguist/linguist/messageeditorwidgets.cpp | 201 + tools/linguist/linguist/messageeditorwidgets.h | 130 + tools/linguist/linguist/messagehighlighter.cpp | 210 + tools/linguist/linguist/messagehighlighter.h | 83 + tools/linguist/linguist/messagemodel.cpp | 1394 + tools/linguist/linguist/messagemodel.h | 535 + tools/linguist/linguist/phrase.cpp | 356 + tools/linguist/linguist/phrase.h | 138 + tools/linguist/linguist/phrasebookbox.cpp | 240 + tools/linguist/linguist/phrasebookbox.h | 89 + tools/linguist/linguist/phrasebookbox.ui | 236 + tools/linguist/linguist/phrasemodel.cpp | 200 + tools/linguist/linguist/phrasemodel.h | 94 + tools/linguist/linguist/phraseview.cpp | 271 + tools/linguist/linguist/phraseview.h | 120 + tools/linguist/linguist/printout.cpp | 210 + tools/linguist/linguist/printout.h | 120 + tools/linguist/linguist/recentfiles.cpp | 147 + tools/linguist/linguist/recentfiles.h | 83 + tools/linguist/linguist/sourcecodeview.cpp | 145 + tools/linguist/linguist/sourcecodeview.h | 74 + tools/linguist/linguist/statistics.cpp | 67 + tools/linguist/linguist/statistics.h | 67 + tools/linguist/linguist/statistics.ui | 211 + tools/linguist/linguist/translatedialog.cpp | 90 + tools/linguist/linguist/translatedialog.h | 89 + tools/linguist/linguist/translatedialog.ui | 260 + tools/linguist/linguist/translationsettings.ui | 137 + .../linguist/translationsettingsdialog.cpp | 149 + .../linguist/linguist/translationsettingsdialog.h | 79 + tools/linguist/lrelease/lrelease.1 | 97 + tools/linguist/lrelease/lrelease.pro | 24 + tools/linguist/lrelease/main.cpp | 272 + tools/linguist/lupdate/lupdate.1 | 132 + tools/linguist/lupdate/lupdate.exe.manifest | 14 + tools/linguist/lupdate/lupdate.pro | 34 + tools/linguist/lupdate/main.cpp | 513 + tools/linguist/lupdate/winmanifest.rc | 4 + tools/linguist/phrasebooks/danish.qph | 1018 + tools/linguist/phrasebooks/dutch.qph | 1044 + tools/linguist/phrasebooks/finnish.qph | 1033 + tools/linguist/phrasebooks/french.qph | 1104 + tools/linguist/phrasebooks/german.qph | 1075 + tools/linguist/phrasebooks/italian.qph | 1105 + tools/linguist/phrasebooks/japanese.qph | 1021 + tools/linguist/phrasebooks/norwegian.qph | 1004 + tools/linguist/phrasebooks/polish.qph | 527 + tools/linguist/phrasebooks/russian.qph | 982 + tools/linguist/phrasebooks/spanish.qph | 1086 + tools/linguist/phrasebooks/swedish.qph | 1010 + tools/linguist/qdoc.conf | 15 + tools/linguist/shared/abstractproitemvisitor.h | 70 + tools/linguist/shared/cpp.cpp | 1069 + tools/linguist/shared/formats.pri | 26 + tools/linguist/shared/java.cpp | 655 + tools/linguist/shared/make-qscript.sh | 14 + tools/linguist/shared/numerus.cpp | 377 + tools/linguist/shared/po.cpp | 662 + tools/linguist/shared/profileevaluator.cpp | 1785 + tools/linguist/shared/profileevaluator.h | 101 + tools/linguist/shared/proitems.cpp | 328 + tools/linguist/shared/proitems.h | 236 + tools/linguist/shared/proparser.pri | 12 + tools/linguist/shared/proparserutils.h | 272 + tools/linguist/shared/qm.cpp | 717 + tools/linguist/shared/qph.cpp | 171 + tools/linguist/shared/qscript.cpp | 2408 + tools/linguist/shared/qscript.g | 2039 + tools/linguist/shared/simtexth.cpp | 277 + tools/linguist/shared/simtexth.h | 100 + tools/linguist/shared/translator.cpp | 559 + tools/linguist/shared/translator.h | 224 + tools/linguist/shared/translatormessage.cpp | 217 + tools/linguist/shared/translatormessage.h | 181 + tools/linguist/shared/translatortools.cpp | 505 + tools/linguist/shared/translatortools.h | 77 + tools/linguist/shared/translatortools.pri | 11 + tools/linguist/shared/ts.cpp | 755 + tools/linguist/shared/ts.dtd | 50 + tools/linguist/shared/ui.cpp | 222 + tools/linguist/shared/xliff.cpp | 828 + tools/linguist/tests/data/main.cpp | 35 + tools/linguist/tests/data/test.pro | 9 + tools/linguist/tests/tests.pro | 16 + tools/linguist/tests/tst_linguist.cpp | 4 + tools/linguist/tests/tst_linguist.h | 22 + tools/linguist/tests/tst_lupdate.cpp | 165 + tools/linguist/tests/tst_simtexth.cpp | 43 + tools/macdeployqt/macchangeqt/macchangeqt.pro | 9 + tools/macdeployqt/macchangeqt/main.cpp | 54 + tools/macdeployqt/macdeployqt.pro | 7 + tools/macdeployqt/macdeployqt/macdeployqt.pro | 13 + tools/macdeployqt/macdeployqt/main.cpp | 112 + tools/macdeployqt/shared/shared.cpp | 563 + tools/macdeployqt/shared/shared.h | 104 + tools/macdeployqt/tests/deployment_mac.pro | 10 + tools/macdeployqt/tests/tst_deployment_mac.cpp | 233 + tools/makeqpf/Blocks.txt | 185 + tools/makeqpf/README | 1 + tools/makeqpf/main.cpp | 183 + tools/makeqpf/mainwindow.cpp | 322 + tools/makeqpf/mainwindow.h | 80 + tools/makeqpf/mainwindow.ui | 502 + tools/makeqpf/makeqpf.pro | 20 + tools/makeqpf/makeqpf.qrc | 5 + tools/makeqpf/qpf2.cpp | 767 + tools/makeqpf/qpf2.h | 119 + tools/pixeltool/Info_mac.plist | 18 + tools/pixeltool/main.cpp | 65 + tools/pixeltool/pixeltool.pro | 25 + tools/pixeltool/qpixeltool.cpp | 536 + tools/pixeltool/qpixeltool.h | 118 + tools/porting/porting.pro | 2 + tools/porting/src/ast.cpp | 1215 + tools/porting/src/ast.h | 1598 + tools/porting/src/codemodel.cpp | 91 + tools/porting/src/codemodel.h | 777 + tools/porting/src/codemodelattributes.cpp | 195 + tools/porting/src/codemodelattributes.h | 72 + tools/porting/src/codemodelwalker.cpp | 125 + tools/porting/src/codemodelwalker.h | 80 + tools/porting/src/cpplexer.cpp | 1297 + tools/porting/src/cpplexer.h | 107 + tools/porting/src/errors.cpp | 51 + tools/porting/src/errors.h | 71 + tools/porting/src/fileporter.cpp | 369 + tools/porting/src/fileporter.h | 116 + tools/porting/src/filewriter.cpp | 151 + tools/porting/src/filewriter.h | 75 + tools/porting/src/list.h | 374 + tools/porting/src/logger.cpp | 148 + tools/porting/src/logger.h | 124 + tools/porting/src/parser.cpp | 4526 + tools/porting/src/parser.h | 247 + tools/porting/src/port.cpp | 297 + tools/porting/src/portingrules.cpp | 296 + tools/porting/src/portingrules.h | 114 + tools/porting/src/preprocessorcontrol.cpp | 430 + tools/porting/src/preprocessorcontrol.h | 139 + tools/porting/src/projectporter.cpp | 414 + tools/porting/src/projectporter.h | 82 + tools/porting/src/proparser.cpp | 193 + tools/porting/src/proparser.h | 55 + tools/porting/src/q3porting.xml | 10567 +++ tools/porting/src/qt3headers0.qrc | 6 + tools/porting/src/qt3headers0.resource | Bin 0 -> 547809 bytes tools/porting/src/qt3headers1.qrc | 6 + tools/porting/src/qt3headers1.resource | Bin 0 -> 512251 bytes tools/porting/src/qt3headers2.qrc | 6 + tools/porting/src/qt3headers2.resource | Bin 0 -> 392439 bytes tools/porting/src/qt3headers3.qrc | 6 + tools/porting/src/qt3headers3.resource | Bin 0 -> 553089 bytes tools/porting/src/qt3to4.pri | 68 + tools/porting/src/qtsimplexml.cpp | 278 + tools/porting/src/qtsimplexml.h | 97 + tools/porting/src/replacetoken.cpp | 105 + tools/porting/src/replacetoken.h | 67 + tools/porting/src/rpp.cpp | 728 + tools/porting/src/rpp.h | 1072 + tools/porting/src/rppexpressionbuilder.cpp | 330 + tools/porting/src/rppexpressionbuilder.h | 107 + tools/porting/src/rpplexer.cpp | 381 + tools/porting/src/rpplexer.h | 100 + tools/porting/src/rpptreeevaluator.cpp | 554 + tools/porting/src/rpptreeevaluator.h | 117 + tools/porting/src/rpptreewalker.cpp | 166 + tools/porting/src/rpptreewalker.h | 85 + tools/porting/src/semantic.cpp | 1227 + tools/porting/src/semantic.h | 131 + tools/porting/src/smallobject.cpp | 59 + tools/porting/src/smallobject.h | 182 + tools/porting/src/src.pro | 93 + tools/porting/src/textreplacement.cpp | 100 + tools/porting/src/textreplacement.h | 91 + tools/porting/src/tokenengine.cpp | 402 + tools/porting/src/tokenengine.h | 391 + tools/porting/src/tokenizer.cpp | 491 + tools/porting/src/tokenizer.h | 88 + tools/porting/src/tokenreplacements.cpp | 371 + tools/porting/src/tokenreplacements.h | 154 + tools/porting/src/tokens.h | 186 + tools/porting/src/tokenstreamadapter.h | 152 + tools/porting/src/translationunit.cpp | 102 + tools/porting/src/translationunit.h | 93 + tools/porting/src/treewalker.cpp | 457 + tools/porting/src/treewalker.h | 235 + tools/qconfig/LICENSE.GPL | 280 + tools/qconfig/feature.cpp | 240 + tools/qconfig/feature.h | 125 + tools/qconfig/featuretreemodel.cpp | 451 + tools/qconfig/featuretreemodel.h | 104 + tools/qconfig/graphics.h | 195 + tools/qconfig/main.cpp | 552 + tools/qconfig/qconfig.pro | 10 + tools/qdbus/qdbus.pro | 2 + tools/qdbus/qdbus/qdbus.cpp | 483 + tools/qdbus/qdbus/qdbus.pro | 10 + tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.cpp | 446 + tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.pro | 10 + tools/qdbus/qdbusviewer/Info_mac.plist | 18 + tools/qdbus/qdbusviewer/images/qdbusviewer-128.png | Bin 0 -> 9850 bytes tools/qdbus/qdbusviewer/images/qdbusviewer.icns | Bin 0 -> 146951 bytes tools/qdbus/qdbusviewer/images/qdbusviewer.ico | Bin 0 -> 355574 bytes tools/qdbus/qdbusviewer/images/qdbusviewer.png | Bin 0 -> 1231 bytes tools/qdbus/qdbusviewer/main.cpp | 85 + tools/qdbus/qdbusviewer/propertydialog.cpp | 114 + tools/qdbus/qdbusviewer/propertydialog.h | 70 + tools/qdbus/qdbusviewer/qdbusmodel.cpp | 336 + tools/qdbus/qdbusviewer/qdbusmodel.h | 94 + tools/qdbus/qdbusviewer/qdbusviewer.cpp | 509 + tools/qdbus/qdbusviewer/qdbusviewer.h | 98 + tools/qdbus/qdbusviewer/qdbusviewer.pro | 30 + tools/qdbus/qdbusviewer/qdbusviewer.qrc | 6 + tools/qdbus/qdbusviewer/qdbusviewer.rc | 1 + tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp | 1150 + tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.pro | 10 + tools/qdoc3/JAVATODO.txt | 28 + tools/qdoc3/README.TXT | 6 + tools/qdoc3/TODO.txt | 96 + tools/qdoc3/apigenerator.cpp | 150 + tools/qdoc3/apigenerator.h | 65 + tools/qdoc3/archiveextractor.cpp | 108 + tools/qdoc3/archiveextractor.h | 78 + tools/qdoc3/atom.cpp | 351 + tools/qdoc3/atom.h | 196 + tools/qdoc3/bookgenerator.cpp | 64 + tools/qdoc3/bookgenerator.h | 64 + tools/qdoc3/ccodeparser.cpp | 73 + tools/qdoc3/ccodeparser.h | 66 + tools/qdoc3/codechunk.cpp | 150 + tools/qdoc3/codechunk.h | 123 + tools/qdoc3/codemarker.cpp | 538 + tools/qdoc3/codemarker.h | 166 + tools/qdoc3/codeparser.cpp | 246 + tools/qdoc3/codeparser.h | 94 + tools/qdoc3/command.cpp | 92 + tools/qdoc3/command.h | 60 + tools/qdoc3/config.cpp | 892 + tools/qdoc3/config.h | 165 + tools/qdoc3/cppcodemarker.cpp | 1009 + tools/qdoc3/cppcodemarker.h | 91 + tools/qdoc3/cppcodeparser.cpp | 2012 + tools/qdoc3/cppcodeparser.h | 167 + tools/qdoc3/cpptoqsconverter.cpp | 415 + tools/qdoc3/cpptoqsconverter.h | 88 + tools/qdoc3/dcfsection.cpp | 111 + tools/qdoc3/dcfsection.h | 94 + tools/qdoc3/doc.cpp | 4946 ++ tools/qdoc3/doc.h | 315 + tools/qdoc3/documentation.pri | 5 + tools/qdoc3/editdistance.cpp | 111 + tools/qdoc3/editdistance.h | 59 + tools/qdoc3/generator.cpp | 931 + tools/qdoc3/generator.h | 164 + tools/qdoc3/helpprojectwriter.cpp | 653 + tools/qdoc3/helpprojectwriter.h | 110 + tools/qdoc3/htmlgenerator.cpp | 3139 + tools/qdoc3/htmlgenerator.h | 253 + tools/qdoc3/jambiapiparser.cpp | 547 + tools/qdoc3/jambiapiparser.h | 99 + tools/qdoc3/javacodemarker.cpp | 201 + tools/qdoc3/javacodemarker.h | 80 + tools/qdoc3/javadocgenerator.cpp | 453 + tools/qdoc3/javadocgenerator.h | 95 + tools/qdoc3/linguistgenerator.cpp | 245 + tools/qdoc3/linguistgenerator.h | 85 + tools/qdoc3/location.cpp | 401 + tools/qdoc3/location.h | 131 + tools/qdoc3/loutgenerator.cpp | 63 + tools/qdoc3/loutgenerator.h | 67 + tools/qdoc3/main.cpp | 496 + tools/qdoc3/mangenerator.cpp | 228 + tools/qdoc3/mangenerator.h | 79 + tools/qdoc3/node.cpp | 1024 + tools/qdoc3/node.h | 587 + tools/qdoc3/openedlist.cpp | 228 + tools/qdoc3/openedlist.h | 91 + tools/qdoc3/pagegenerator.cpp | 217 + tools/qdoc3/pagegenerator.h | 85 + tools/qdoc3/plaincodemarker.cpp | 139 + tools/qdoc3/plaincodemarker.h | 79 + tools/qdoc3/polyarchiveextractor.cpp | 94 + tools/qdoc3/polyarchiveextractor.h | 70 + tools/qdoc3/polyuncompressor.cpp | 109 + tools/qdoc3/polyuncompressor.h | 71 + tools/qdoc3/qdoc3.pro | 108 + tools/qdoc3/qsakernelparser.cpp | 186 + tools/qdoc3/qsakernelparser.h | 77 + tools/qdoc3/qscodemarker.cpp | 385 + tools/qdoc3/qscodemarker.h | 80 + tools/qdoc3/qscodeparser.cpp | 944 + tools/qdoc3/qscodeparser.h | 128 + tools/qdoc3/quoter.cpp | 369 + tools/qdoc3/quoter.h | 89 + tools/qdoc3/separator.cpp | 69 + tools/qdoc3/separator.h | 57 + tools/qdoc3/sgmlgenerator.cpp | 63 + tools/qdoc3/sgmlgenerator.h | 67 + tools/qdoc3/test/arthurtext.qdocconf | 6 + tools/qdoc3/test/assistant.qdocconf | 45 + .../test/carbide-eclipse-integration.qdocconf | 12 + tools/qdoc3/test/classic.css | 131 + tools/qdoc3/test/compat.qdocconf | 31 + tools/qdoc3/test/designer.qdocconf | 51 + tools/qdoc3/test/eclipse-integration.qdocconf | 13 + tools/qdoc3/test/jambi.qdocconf | 47 + tools/qdoc3/test/linguist.qdocconf | 47 + tools/qdoc3/test/macros.qdocconf | 27 + tools/qdoc3/test/qmake.qdocconf | 40 + tools/qdoc3/test/qt-api-only-with-xcode.qdocconf | 29 + tools/qdoc3/test/qt-api-only.qdocconf | 30 + tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf | 3 + tools/qdoc3/test/qt-build-docs.qdocconf | 109 + tools/qdoc3/test/qt-cpp-ignore.qdocconf | 87 + tools/qdoc3/test/qt-defines.qdocconf | 26 + tools/qdoc3/test/qt-for-jambi.qdocconf | 12 + tools/qdoc3/test/qt-html-templates.qdocconf | 32 + tools/qdoc3/test/qt-inc.qdocconf | 146 + tools/qdoc3/test/qt-linguist.qdocconf | 4 + tools/qdoc3/test/qt-webxml.qdocconf | 11 + tools/qdoc3/test/qt-with-extensions.qdocconf | 8 + tools/qdoc3/test/qt-with-xcode.qdocconf | 3 + tools/qdoc3/test/qt.qdocconf | 115 + .../test/standalone-eclipse-integration.qdocconf | 11 + tools/qdoc3/text.cpp | 270 + tools/qdoc3/text.h | 106 + tools/qdoc3/tokenizer.cpp | 753 + tools/qdoc3/tokenizer.h | 183 + tools/qdoc3/tr.h | 60 + tools/qdoc3/tree.cpp | 2012 + tools/qdoc3/tree.h | 157 + tools/qdoc3/uncompressor.cpp | 108 + tools/qdoc3/uncompressor.h | 79 + tools/qdoc3/webxmlgenerator.cpp | 1195 + tools/qdoc3/webxmlgenerator.h | 122 + tools/qdoc3/yyindent.cpp | 1190 + tools/qev/README | 2 + tools/qev/qev.cpp | 66 + tools/qev/qev.pro | 13 + tools/qtconcurrent/codegenerator/codegenerator.pri | 5 + .../qtconcurrent/codegenerator/example/example.pro | 9 + tools/qtconcurrent/codegenerator/example/main.cpp | 83 + .../codegenerator/src/codegenerator.cpp | 140 + .../qtconcurrent/codegenerator/src/codegenerator.h | 204 + tools/qtconcurrent/generaterun/main.cpp | 422 + tools/qtconcurrent/generaterun/run.pro | 9 + tools/qtconfig/LICENSE.GPL | 280 + tools/qtconfig/colorbutton.cpp | 206 + tools/qtconfig/colorbutton.h | 90 + tools/qtconfig/images/appicon.png | Bin 0 -> 2238 bytes tools/qtconfig/main.cpp | 56 + tools/qtconfig/mainwindow.cpp | 1073 + tools/qtconfig/mainwindow.h | 110 + tools/qtconfig/mainwindowbase.cpp | 250 + tools/qtconfig/mainwindowbase.h | 95 + tools/qtconfig/mainwindowbase.ui | 1384 + tools/qtconfig/paletteeditoradvanced.cpp | 591 + tools/qtconfig/paletteeditoradvanced.h | 110 + tools/qtconfig/paletteeditoradvancedbase.cpp | 144 + tools/qtconfig/paletteeditoradvancedbase.h | 78 + tools/qtconfig/paletteeditoradvancedbase.ui | 617 + tools/qtconfig/previewframe.cpp | 104 + tools/qtconfig/previewframe.h | 84 + tools/qtconfig/previewwidget.cpp | 84 + tools/qtconfig/previewwidget.h | 62 + tools/qtconfig/previewwidgetbase.cpp | 88 + tools/qtconfig/previewwidgetbase.h | 68 + tools/qtconfig/previewwidgetbase.ui | 340 + tools/qtconfig/qtconfig.pro | 28 + tools/qtconfig/qtconfig.qrc | 5 + tools/qtconfig/translations/translations.pro | 13 + tools/qtestlib/qtestlib.pro | 4 + tools/qtestlib/updater/main.cpp | 178 + tools/qtestlib/updater/updater.pro | 10 + .../qtestlib/wince/cetest/activesyncconnection.cpp | 485 + tools/qtestlib/wince/cetest/activesyncconnection.h | 86 + tools/qtestlib/wince/cetest/bootstrapped.pri | 38 + tools/qtestlib/wince/cetest/cetest.pro | 47 + tools/qtestlib/wince/cetest/deployment.cpp | 267 + tools/qtestlib/wince/cetest/deployment.h | 75 + tools/qtestlib/wince/cetest/main.cpp | 351 + tools/qtestlib/wince/cetest/qmake_include.pri | 7 + tools/qtestlib/wince/cetest/remoteconnection.cpp | 68 + tools/qtestlib/wince/cetest/remoteconnection.h | 82 + tools/qtestlib/wince/remotelib/commands.cpp | 120 + tools/qtestlib/wince/remotelib/commands.h | 51 + tools/qtestlib/wince/remotelib/remotelib.pro | 15 + tools/qtestlib/wince/wince.pro | 2 + tools/qvfb/ClamshellPhone.qrc | 5 + tools/qvfb/ClamshellPhone.skin/ClamshellPhone.skin | 30 + .../ClamshellPhone1-5-closed.png | Bin 0 -> 68200 bytes .../ClamshellPhone1-5-pressed.png | Bin 0 -> 113907 bytes .../qvfb/ClamshellPhone.skin/ClamshellPhone1-5.png | Bin 0 -> 113450 bytes tools/qvfb/ClamshellPhone.skin/defaultbuttons.conf | 78 + .../DualScreenPhone.skin/DualScreen-pressed.png | Bin 0 -> 115575 bytes tools/qvfb/DualScreenPhone.skin/DualScreen.png | Bin 0 -> 104711 bytes .../qvfb/DualScreenPhone.skin/DualScreenPhone.skin | 29 + .../qvfb/DualScreenPhone.skin/defaultbuttons.conf | 78 + tools/qvfb/LICENSE.GPL | 280 + tools/qvfb/PDAPhone.qrc | 5 + tools/qvfb/PDAPhone.skin/PDAPhone.skin | 18 + tools/qvfb/PDAPhone.skin/defaultbuttons.conf | 36 + tools/qvfb/PDAPhone.skin/finger.png | Bin 0 -> 40343 bytes tools/qvfb/PDAPhone.skin/pda_down.png | Bin 0 -> 52037 bytes tools/qvfb/PDAPhone.skin/pda_up.png | Bin 0 -> 100615 bytes tools/qvfb/PortableMedia.qrc | 5 + tools/qvfb/PortableMedia.skin/PortableMedia.skin | 14 + tools/qvfb/PortableMedia.skin/defaultbuttons.conf | 23 + .../PortableMedia.skin/portablemedia-pressed.png | Bin 0 -> 6183 bytes tools/qvfb/PortableMedia.skin/portablemedia.png | Bin 0 -> 6182 bytes tools/qvfb/PortableMedia.skin/portablemedia.xcf | Bin 0 -> 41592 bytes tools/qvfb/README | 51 + tools/qvfb/SmartPhone.qrc | 5 + tools/qvfb/SmartPhone.skin/SmartPhone-pressed.png | Bin 0 -> 111515 bytes tools/qvfb/SmartPhone.skin/SmartPhone.png | Bin 0 -> 101750 bytes tools/qvfb/SmartPhone.skin/SmartPhone.skin | 28 + tools/qvfb/SmartPhone.skin/defaultbuttons.conf | 78 + tools/qvfb/SmartPhone2.qrc | 5 + .../qvfb/SmartPhone2.skin/SmartPhone2-pressed.png | Bin 0 -> 134749 bytes tools/qvfb/SmartPhone2.skin/SmartPhone2.png | Bin 0 -> 121915 bytes tools/qvfb/SmartPhone2.skin/SmartPhone2.skin | 25 + tools/qvfb/SmartPhone2.skin/defaultbuttons.conf | 52 + tools/qvfb/SmartPhoneWithButtons.qrc | 5 + .../SmartPhoneWithButtons-pressed.png | Bin 0 -> 103838 bytes .../SmartPhoneWithButtons.png | Bin 0 -> 88470 bytes .../SmartPhoneWithButtons.skin | 31 + .../SmartPhoneWithButtons.skin/defaultbuttons.conf | 103 + tools/qvfb/TouchscreenPhone.qrc | 5 + .../TouchscreenPhone-pressed.png | Bin 0 -> 88599 bytes .../TouchscreenPhone.skin/TouchscreenPhone.png | Bin 0 -> 61809 bytes .../TouchscreenPhone.skin/TouchscreenPhone.skin | 16 + .../qvfb/TouchscreenPhone.skin/defaultbuttons.conf | 45 + tools/qvfb/Trolltech-Keypad.qrc | 5 + .../Trolltech-Keypad-closed.png | Bin 0 -> 69447 bytes .../Trolltech-Keypad-down.png | Bin 0 -> 242107 bytes .../Trolltech-Keypad.skin/Trolltech-Keypad.png | Bin 0 -> 230638 bytes .../Trolltech-Keypad.skin/Trolltech-Keypad.skin | 35 + .../qvfb/Trolltech-Keypad.skin/defaultbuttons.conf | 142 + tools/qvfb/Trolltech-Touchscreen.qrc | 5 + .../Trolltech-Touchscreen-down.png | Bin 0 -> 133117 bytes .../Trolltech-Touchscreen.png | Bin 0 -> 133180 bytes .../Trolltech-Touchscreen.skin | 17 + .../Trolltech-Touchscreen.skin/defaultbuttons.conf | 53 + tools/qvfb/config.ui | 2528 + tools/qvfb/gammaview.h | 59 + tools/qvfb/images/logo-nt.png | Bin 0 -> 1965 bytes tools/qvfb/images/logo.png | Bin 0 -> 2238 bytes tools/qvfb/main.cpp | 155 + tools/qvfb/pda.qrc | 5 + tools/qvfb/pda.skin | 14 + tools/qvfb/pda_down.png | Bin 0 -> 102655 bytes tools/qvfb/pda_up.png | Bin 0 -> 100615 bytes tools/qvfb/qanimationwriter.cpp | 451 + tools/qvfb/qanimationwriter.h | 71 + tools/qvfb/qtopiakeysym.h | 67 + tools/qvfb/qvfb.cpp | 1137 + tools/qvfb/qvfb.h | 159 + tools/qvfb/qvfb.pro | 73 + tools/qvfb/qvfb.qrc | 7 + tools/qvfb/qvfbmmap.cpp | 222 + tools/qvfb/qvfbmmap.h | 91 + tools/qvfb/qvfbprotocol.cpp | 193 + tools/qvfb/qvfbprotocol.h | 173 + tools/qvfb/qvfbratedlg.cpp | 103 + tools/qvfb/qvfbratedlg.h | 74 + tools/qvfb/qvfbshmem.cpp | 314 + tools/qvfb/qvfbshmem.h | 90 + tools/qvfb/qvfbview.cpp | 824 + tools/qvfb/qvfbview.h | 209 + tools/qvfb/qvfbx11view.cpp | 388 + tools/qvfb/qvfbx11view.h | 121 + tools/qvfb/translations/translations.pro | 32 + tools/qvfb/x11keyfaker.cpp | 626 + tools/qvfb/x11keyfaker.h | 80 + tools/shared/deviceskin/deviceskin.cpp | 857 + tools/shared/deviceskin/deviceskin.h | 174 + tools/shared/deviceskin/deviceskin.pri | 3 + tools/shared/findwidget/abstractfindwidget.cpp | 295 + tools/shared/findwidget/abstractfindwidget.h | 115 + tools/shared/findwidget/findwidget.pri | 4 + tools/shared/findwidget/findwidget.qrc | 14 + tools/shared/findwidget/images/mac/closetab.png | Bin 0 -> 516 bytes tools/shared/findwidget/images/mac/next.png | Bin 0 -> 1310 bytes tools/shared/findwidget/images/mac/previous.png | Bin 0 -> 1080 bytes tools/shared/findwidget/images/mac/searchfind.png | Bin 0 -> 1836 bytes tools/shared/findwidget/images/win/closetab.png | Bin 0 -> 375 bytes tools/shared/findwidget/images/win/next.png | Bin 0 -> 1038 bytes tools/shared/findwidget/images/win/previous.png | Bin 0 -> 898 bytes tools/shared/findwidget/images/win/searchfind.png | Bin 0 -> 1944 bytes tools/shared/findwidget/images/wrap.png | Bin 0 -> 500 bytes tools/shared/findwidget/itemviewfindwidget.cpp | 317 + tools/shared/findwidget/itemviewfindwidget.h | 78 + tools/shared/findwidget/texteditfindwidget.cpp | 169 + tools/shared/findwidget/texteditfindwidget.h | 73 + tools/shared/fontpanel/fontpanel.cpp | 304 + tools/shared/fontpanel/fontpanel.h | 108 + tools/shared/fontpanel/fontpanel.pri | 3 + tools/shared/qtgradienteditor/images/down.png | Bin 0 -> 594 bytes tools/shared/qtgradienteditor/images/edit.png | Bin 0 -> 503 bytes .../shared/qtgradienteditor/images/editdelete.png | Bin 0 -> 831 bytes tools/shared/qtgradienteditor/images/minus.png | Bin 0 -> 250 bytes tools/shared/qtgradienteditor/images/plus.png | Bin 0 -> 462 bytes tools/shared/qtgradienteditor/images/spreadpad.png | Bin 0 -> 151 bytes .../qtgradienteditor/images/spreadreflect.png | Bin 0 -> 165 bytes .../qtgradienteditor/images/spreadrepeat.png | Bin 0 -> 156 bytes .../shared/qtgradienteditor/images/typeconical.png | Bin 0 -> 937 bytes .../shared/qtgradienteditor/images/typelinear.png | Bin 0 -> 145 bytes .../shared/qtgradienteditor/images/typeradial.png | Bin 0 -> 583 bytes tools/shared/qtgradienteditor/images/up.png | Bin 0 -> 692 bytes tools/shared/qtgradienteditor/images/zoomin.png | Bin 0 -> 1208 bytes tools/shared/qtgradienteditor/images/zoomout.png | Bin 0 -> 1226 bytes tools/shared/qtgradienteditor/qtcolorbutton.cpp | 278 + tools/shared/qtgradienteditor/qtcolorbutton.h | 86 + tools/shared/qtgradienteditor/qtcolorbutton.pri | 4 + tools/shared/qtgradienteditor/qtcolorline.cpp | 1124 + tools/shared/qtgradienteditor/qtcolorline.h | 124 + tools/shared/qtgradienteditor/qtgradientdialog.cpp | 359 + tools/shared/qtgradienteditor/qtgradientdialog.h | 87 + tools/shared/qtgradienteditor/qtgradientdialog.ui | 121 + tools/shared/qtgradienteditor/qtgradienteditor.cpp | 958 + tools/shared/qtgradienteditor/qtgradienteditor.h | 111 + tools/shared/qtgradienteditor/qtgradienteditor.pri | 33 + tools/shared/qtgradienteditor/qtgradienteditor.qrc | 18 + tools/shared/qtgradienteditor/qtgradienteditor.ui | 1377 + .../shared/qtgradienteditor/qtgradientmanager.cpp | 135 + tools/shared/qtgradienteditor/qtgradientmanager.h | 92 + .../qtgradienteditor/qtgradientstopscontroller.cpp | 730 + .../qtgradienteditor/qtgradientstopscontroller.h | 106 + .../qtgradienteditor/qtgradientstopsmodel.cpp | 480 + .../shared/qtgradienteditor/qtgradientstopsmodel.h | 121 + .../qtgradienteditor/qtgradientstopswidget.cpp | 1156 + .../qtgradienteditor/qtgradientstopswidget.h | 115 + tools/shared/qtgradienteditor/qtgradientutils.cpp | 420 + tools/shared/qtgradienteditor/qtgradientutils.h | 66 + tools/shared/qtgradienteditor/qtgradientview.cpp | 292 + tools/shared/qtgradienteditor/qtgradientview.h | 99 + tools/shared/qtgradienteditor/qtgradientview.ui | 135 + .../qtgradienteditor/qtgradientviewdialog.cpp | 89 + .../shared/qtgradienteditor/qtgradientviewdialog.h | 75 + .../qtgradienteditor/qtgradientviewdialog.ui | 121 + tools/shared/qtgradienteditor/qtgradientwidget.cpp | 817 + tools/shared/qtgradienteditor/qtgradientwidget.h | 120 + .../qtpropertybrowser/images/cursor-arrow.png | Bin 0 -> 171 bytes .../qtpropertybrowser/images/cursor-busy.png | Bin 0 -> 201 bytes .../qtpropertybrowser/images/cursor-closedhand.png | Bin 0 -> 147 bytes .../qtpropertybrowser/images/cursor-cross.png | Bin 0 -> 130 bytes .../qtpropertybrowser/images/cursor-forbidden.png | Bin 0 -> 199 bytes .../qtpropertybrowser/images/cursor-hand.png | Bin 0 -> 159 bytes .../qtpropertybrowser/images/cursor-hsplit.png | Bin 0 -> 155 bytes .../qtpropertybrowser/images/cursor-ibeam.png | Bin 0 -> 124 bytes .../qtpropertybrowser/images/cursor-openhand.png | Bin 0 -> 160 bytes .../qtpropertybrowser/images/cursor-sizeall.png | Bin 0 -> 174 bytes .../qtpropertybrowser/images/cursor-sizeb.png | Bin 0 -> 161 bytes .../qtpropertybrowser/images/cursor-sizef.png | Bin 0 -> 161 bytes .../qtpropertybrowser/images/cursor-sizeh.png | Bin 0 -> 145 bytes .../qtpropertybrowser/images/cursor-sizev.png | Bin 0 -> 141 bytes .../qtpropertybrowser/images/cursor-uparrow.png | Bin 0 -> 132 bytes .../qtpropertybrowser/images/cursor-vsplit.png | Bin 0 -> 161 bytes .../qtpropertybrowser/images/cursor-wait.png | Bin 0 -> 172 bytes .../qtpropertybrowser/images/cursor-whatsthis.png | Bin 0 -> 191 bytes .../qtpropertybrowser/qtbuttonpropertybrowser.cpp | 633 + .../qtpropertybrowser/qtbuttonpropertybrowser.h | 89 + tools/shared/qtpropertybrowser/qteditorfactory.cpp | 2591 + tools/shared/qtpropertybrowser/qteditorfactory.h | 401 + .../qtgroupboxpropertybrowser.cpp | 535 + .../qtpropertybrowser/qtgroupboxpropertybrowser.h | 80 + .../shared/qtpropertybrowser/qtpropertybrowser.cpp | 1965 + tools/shared/qtpropertybrowser/qtpropertybrowser.h | 315 + .../shared/qtpropertybrowser/qtpropertybrowser.pri | 19 + .../shared/qtpropertybrowser/qtpropertybrowser.qrc | 23 + .../qtpropertybrowser/qtpropertybrowserutils.cpp | 434 + .../qtpropertybrowser/qtpropertybrowserutils_p.h | 161 + .../shared/qtpropertybrowser/qtpropertymanager.cpp | 6493 ++ tools/shared/qtpropertybrowser/qtpropertymanager.h | 750 + .../qtpropertybrowser/qttreepropertybrowser.cpp | 1050 + .../qtpropertybrowser/qttreepropertybrowser.h | 138 + .../shared/qtpropertybrowser/qtvariantproperty.cpp | 2282 + tools/shared/qtpropertybrowser/qtvariantproperty.h | 181 + tools/shared/qttoolbardialog/images/back.png | Bin 0 -> 678 bytes tools/shared/qttoolbardialog/images/down.png | Bin 0 -> 594 bytes tools/shared/qttoolbardialog/images/forward.png | Bin 0 -> 655 bytes tools/shared/qttoolbardialog/images/minus.png | Bin 0 -> 250 bytes tools/shared/qttoolbardialog/images/plus.png | Bin 0 -> 462 bytes tools/shared/qttoolbardialog/images/up.png | Bin 0 -> 692 bytes tools/shared/qttoolbardialog/qttoolbardialog.cpp | 1877 + tools/shared/qttoolbardialog/qttoolbardialog.h | 138 + tools/shared/qttoolbardialog/qttoolbardialog.pri | 6 + tools/shared/qttoolbardialog/qttoolbardialog.qrc | 10 + tools/shared/qttoolbardialog/qttoolbardialog.ui | 207 + tools/tools.pro | 30 + tools/xmlpatterns/main.cpp | 386 + tools/xmlpatterns/main.h | 75 + tools/xmlpatterns/qapplicationargument.cpp | 344 + tools/xmlpatterns/qapplicationargument_p.h | 100 + tools/xmlpatterns/qapplicationargumentparser.cpp | 1028 + tools/xmlpatterns/qapplicationargumentparser_p.h | 111 + tools/xmlpatterns/qcoloringmessagehandler.cpp | 193 + tools/xmlpatterns/qcoloringmessagehandler_p.h | 99 + tools/xmlpatterns/qcoloroutput.cpp | 350 + tools/xmlpatterns/qcoloroutput_p.h | 134 + tools/xmlpatterns/xmlpatterns.pro | 31 + translations/README | 4 + translations/assistant_adp_de.qm | Bin 0 -> 23139 bytes translations/assistant_adp_de.ts | 1611 + translations/assistant_adp_ja.qm | Bin 0 -> 18357 bytes translations/assistant_adp_ja.ts | 1059 + translations/assistant_adp_pl.qm | Bin 0 -> 22726 bytes translations/assistant_adp_pl.ts | 1006 + translations/assistant_adp_untranslated.ts | 991 + translations/assistant_adp_zh_CN.qm | Bin 0 -> 16631 bytes translations/assistant_adp_zh_CN.ts | 1004 + translations/assistant_adp_zh_TW.qm | Bin 0 -> 16555 bytes translations/assistant_adp_zh_TW.ts | 817 + translations/assistant_de.qm | Bin 0 -> 20332 bytes translations/assistant_de.ts | 1196 + translations/assistant_ja.ts | 1118 + translations/assistant_pl.qm | Bin 0 -> 18457 bytes translations/assistant_pl.ts | 1182 + translations/assistant_untranslated.ts | 1118 + translations/assistant_zh_CN.qm | Bin 0 -> 15595 bytes translations/assistant_zh_CN.ts | 1193 + translations/assistant_zh_TW.qm | Bin 0 -> 15567 bytes translations/assistant_zh_TW.ts | 983 + translations/designer_de.qm | Bin 0 -> 152455 bytes translations/designer_de.ts | 6994 ++ translations/designer_ja.qm | Bin 0 -> 105573 bytes translations/designer_ja.ts | 8844 ++ translations/designer_pl.qm | Bin 0 -> 150544 bytes translations/designer_pl.ts | 7038 ++ translations/designer_untranslated.ts | 6958 ++ translations/designer_zh_CN.qm | Bin 0 -> 113745 bytes translations/designer_zh_CN.ts | 7864 ++ translations/designer_zh_TW.qm | Bin 0 -> 113449 bytes translations/designer_zh_TW.ts | 7609 ++ translations/linguist_de.qm | Bin 0 -> 47074 bytes translations/linguist_de.ts | 2787 + translations/linguist_fr.ts | 1966 + translations/linguist_ja.qm | Bin 0 -> 30494 bytes translations/linguist_ja.ts | 2765 + translations/linguist_pl.qm | Bin 0 -> 50952 bytes translations/linguist_pl.ts | 2004 + translations/linguist_untranslated.ts | 1966 + translations/linguist_zh_CN.qm | Bin 0 -> 33492 bytes translations/linguist_zh_CN.ts | 2728 + translations/linguist_zh_TW.qm | Bin 0 -> 33735 bytes translations/linguist_zh_TW.ts | 2629 + translations/polish.qph | 143 + translations/qt_ar.qm | Bin 0 -> 58499 bytes translations/qt_ar.ts | 7807 ++ translations/qt_de.qm | Bin 0 -> 181913 bytes translations/qt_de.ts | 7714 ++ translations/qt_es.qm | Bin 0 -> 117693 bytes translations/qt_es.ts | 8018 ++ translations/qt_fr.qm | Bin 0 -> 148544 bytes translations/qt_fr.ts | 8196 ++ translations/qt_help_de.qm | Bin 0 -> 9381 bytes translations/qt_help_de.ts | 355 + translations/qt_help_ja.ts | 354 + translations/qt_help_pl.qm | Bin 0 -> 9058 bytes translations/qt_help_pl.ts | 383 + translations/qt_help_untranslated.ts | 354 + translations/qt_help_zh_CN.qm | Bin 0 -> 6434 bytes translations/qt_help_zh_CN.ts | 372 + translations/qt_help_zh_TW.qm | Bin 0 -> 6384 bytes translations/qt_help_zh_TW.ts | 331 + translations/qt_iw.qm | Bin 0 -> 55269 bytes translations/qt_iw.ts | 7767 ++ translations/qt_ja_JP.qm | Bin 0 -> 64337 bytes translations/qt_ja_JP.ts | 7940 ++ translations/qt_pl.qm | Bin 0 -> 143971 bytes translations/qt_pl.ts | 7757 ++ translations/qt_pt.qm | Bin 0 -> 78828 bytes translations/qt_pt.ts | 7942 ++ translations/qt_ru.qm | Bin 0 -> 60815 bytes translations/qt_ru.ts | 7807 ++ translations/qt_sk.qm | Bin 0 -> 79787 bytes translations/qt_sk.ts | 7948 ++ translations/qt_sv.qm | Bin 0 -> 73493 bytes translations/qt_sv.ts | 7891 ++ translations/qt_uk.qm | Bin 0 -> 81429 bytes translations/qt_uk.ts | 7968 ++ translations/qt_untranslated.ts | 7679 ++ translations/qt_zh_CN.qm | Bin 0 -> 118981 bytes translations/qt_zh_CN.ts | 7893 ++ translations/qt_zh_TW.qm | Bin 0 -> 118967 bytes translations/qt_zh_TW.ts | 6659 ++ translations/qtconfig_pl.qm | Bin 0 -> 17940 bytes translations/qtconfig_pl.ts | 884 + translations/qtconfig_untranslated.ts | 866 + translations/qtconfig_zh_CN.qm | Bin 0 -> 21688 bytes translations/qtconfig_zh_CN.ts | 885 + translations/qtconfig_zh_TW.qm | Bin 0 -> 20262 bytes translations/qtconfig_zh_TW.ts | 711 + translations/qvfb_pl.qm | Bin 0 -> 4742 bytes translations/qvfb_pl.ts | 325 + translations/qvfb_untranslated.ts | 324 + translations/qvfb_zh_CN.qm | Bin 0 -> 4853 bytes translations/qvfb_zh_CN.ts | 325 + translations/qvfb_zh_TW.qm | Bin 0 -> 4853 bytes translations/qvfb_zh_TW.ts | 261 + translations/translations.pri | 107 + util/fixnonlatin1/fixnonlatin1.pro | 9 + util/fixnonlatin1/main.cpp | 102 + util/gencmap/Makefile | 46 + util/gencmap/gencmap.cpp | 344 + util/harfbuzz/update-harfbuzz | 63 + util/install/archive/archive.pro | 9 + util/install/archive/qarchive.cpp | 471 + util/install/archive/qarchive.h | 138 + util/install/configure_installer.cache | 30 + util/install/install.pro | 9 + util/install/keygen/keygen.pro | 13 + util/install/keygen/keyinfo.cpp | 164 + util/install/keygen/keyinfo.h | 123 + util/install/keygen/main.cpp | 250 + util/install/mac/licensedlg.ui | 134 + util/install/mac/licensedlgimpl.cpp | 65 + util/install/mac/licensedlgimpl.h | 55 + util/install/mac/mac.pro | 11 + util/install/mac/main.cpp | 117 + util/install/mac/unpackage.icns | Bin 0 -> 29372 bytes util/install/mac/unpackdlg.ui | 330 + util/install/mac/unpackdlgimpl.cpp | 200 + util/install/mac/unpackdlgimpl.h | 63 + util/install/package/main.cpp | 397 + util/install/package/package.pro | 25 + util/install/win/archive.cpp | 115 + util/install/win/archive.h | 49 + util/install/win/dialogs/folderdlg.ui | 184 + util/install/win/dialogs/folderdlgimpl.cpp | 119 + util/install/win/dialogs/folderdlgimpl.h | 65 + util/install/win/environment.cpp | 362 + util/install/win/environment.h | 73 + util/install/win/globalinformation.cpp | 168 + util/install/win/globalinformation.h | 93 + util/install/win/install-edu.rc | 3 + util/install/win/install-eval.rc | 3 + util/install/win/install-noncommercial.rc | 4 + util/install/win/install-qsa.rc | 5 + util/install/win/install.ico | Bin 0 -> 2998 bytes util/install/win/install.rc | 4 + util/install/win/main.cpp | 100 + util/install/win/pages/buildpage.ui | 92 + util/install/win/pages/configpage.ui | 474 + util/install/win/pages/finishpage.ui | 63 + util/install/win/pages/folderspage.ui | 259 + util/install/win/pages/licenseagreementpage.ui | 202 + util/install/win/pages/licensepage.ui | 264 + util/install/win/pages/optionspage.ui | 503 + util/install/win/pages/pages.cpp | 349 + util/install/win/pages/pages.h | 226 + util/install/win/pages/progresspage.ui | 78 + util/install/win/pages/sidedecoration.ui | 108 + util/install/win/pages/sidedecorationimpl.cpp | 205 + util/install/win/pages/sidedecorationimpl.h | 70 + util/install/win/pages/winintropage.ui | 39 + util/install/win/qt.arq | 3 + util/install/win/resource.cpp | 162 + util/install/win/resource.h | 77 + util/install/win/setupwizardimpl.cpp | 2571 + util/install/win/setupwizardimpl.h | 276 + util/install/win/setupwizardimpl_config.cpp | 1564 + util/install/win/shell.cpp | 472 + util/install/win/shell.h | 87 + util/install/win/uninstaller/quninstall.pro | 7 + util/install/win/uninstaller/uninstall.ui | 167 + util/install/win/uninstaller/uninstaller.cpp | 142 + util/install/win/uninstaller/uninstallimpl.cpp | 75 + util/install/win/uninstaller/uninstallimpl.h | 54 + util/install/win/win.pro | 136 + util/lexgen/README | 16 + util/lexgen/configfile.cpp | 99 + util/lexgen/configfile.h | 81 + util/lexgen/css2-simplified.lexgen | 93 + util/lexgen/generator.cpp | 532 + util/lexgen/generator.h | 221 + util/lexgen/global.h | 113 + util/lexgen/lexgen.lexgen | 24 + util/lexgen/lexgen.pri | 3 + util/lexgen/lexgen.pro | 6 + util/lexgen/main.cpp | 323 + util/lexgen/nfa.cpp | 508 + util/lexgen/nfa.h | 127 + util/lexgen/re2nfa.cpp | 547 + util/lexgen/re2nfa.h | 116 + util/lexgen/test.lexgen | 9 + util/lexgen/tests/testdata/backtrack1/input | 1 + util/lexgen/tests/testdata/backtrack1/output | 1 + util/lexgen/tests/testdata/backtrack1/rules.lexgen | 3 + util/lexgen/tests/testdata/backtrack2/input | 1 + util/lexgen/tests/testdata/backtrack2/output | 2 + util/lexgen/tests/testdata/backtrack2/rules.lexgen | 4 + util/lexgen/tests/testdata/casesensitivity/input | 1 + util/lexgen/tests/testdata/casesensitivity/output | 14 + .../tests/testdata/casesensitivity/rules.lexgen | 7 + util/lexgen/tests/testdata/comments/input | 1 + util/lexgen/tests/testdata/comments/output | 2 + util/lexgen/tests/testdata/comments/rules.lexgen | 2 + util/lexgen/tests/testdata/dot/input | 1 + util/lexgen/tests/testdata/dot/output | 2 + util/lexgen/tests/testdata/dot/rules.lexgen | 3 + util/lexgen/tests/testdata/negation/input | 1 + util/lexgen/tests/testdata/negation/output | 2 + util/lexgen/tests/testdata/negation/rules.lexgen | 3 + util/lexgen/tests/testdata/quoteinset/input | 1 + util/lexgen/tests/testdata/quoteinset/output | 1 + util/lexgen/tests/testdata/quoteinset/rules.lexgen | 2 + util/lexgen/tests/testdata/quotes/input | 1 + util/lexgen/tests/testdata/quotes/output | 1 + util/lexgen/tests/testdata/quotes/rules.lexgen | 2 + util/lexgen/tests/testdata/simple/input | 1 + util/lexgen/tests/testdata/simple/output | 2 + util/lexgen/tests/testdata/simple/rules.lexgen | 3 + util/lexgen/tests/testdata/subsets1/input | 1 + util/lexgen/tests/testdata/subsets1/output | 2 + util/lexgen/tests/testdata/subsets1/rules.lexgen | 3 + util/lexgen/tests/testdata/subsets2/input | 1 + util/lexgen/tests/testdata/subsets2/output | 3 + util/lexgen/tests/testdata/subsets2/rules.lexgen | 4 + util/lexgen/tests/tests.pro | 6 + util/lexgen/tests/tst_lexgen.cpp | 285 + util/lexgen/tokenizer.cpp | 237 + util/local_database/README | 1 + util/local_database/cldr2qlocalexml.py | 459 + util/local_database/enumdata.py | 428 + util/local_database/formattags.txt | 23 + util/local_database/locale.xml | 9217 ++ util/local_database/qlocalexml2cpp.py | 503 + util/local_database/testlocales/localemodel.cpp | 462 + util/local_database/testlocales/localemodel.h | 69 + util/local_database/testlocales/localewidget.cpp | 89 + util/local_database/testlocales/localewidget.h | 59 + util/local_database/testlocales/main.cpp | 51 + util/local_database/testlocales/testlocales.pro | 4 + util/local_database/xpathlite.py | 107 + util/normalize/README | 16 + util/normalize/main.cpp | 197 + util/normalize/normalize.pro | 9 + util/plugintest/README | 3 + util/plugintest/main.cpp | 66 + util/plugintest/plugintest.pro | 4 + util/qlalr/.gitignore | 1 + util/qlalr/README | 1 + util/qlalr/compress.cpp | 286 + util/qlalr/compress.h | 60 + util/qlalr/cppgenerator.cpp | 703 + util/qlalr/cppgenerator.h | 99 + util/qlalr/doc/qlalr.qdocconf | 65 + util/qlalr/doc/src/classic.css | 97 + util/qlalr/doc/src/images/qt-logo.png | Bin 0 -> 1422 bytes util/qlalr/doc/src/images/trolltech-logo.png | Bin 0 -> 1512 bytes util/qlalr/doc/src/qlalr.qdoc | 79 + util/qlalr/dotgraph.cpp | 102 + util/qlalr/dotgraph.h | 59 + util/qlalr/examples/dummy-xml/dummy-xml.pro | 2 + util/qlalr/examples/dummy-xml/ll/dummy-xml-ll.cpp | 83 + util/qlalr/examples/dummy-xml/xml.g | 202 + util/qlalr/examples/glsl/build.sh | 7 + util/qlalr/examples/glsl/glsl | 4 + util/qlalr/examples/glsl/glsl-lex.l | 201 + util/qlalr/examples/glsl/glsl.g | 621 + util/qlalr/examples/glsl/glsl.pro | 4 + util/qlalr/examples/lambda/COMPILE | 3 + util/qlalr/examples/lambda/lambda.g | 41 + util/qlalr/examples/lambda/lambda.pro | 3 + util/qlalr/examples/lambda/main.cpp | 160 + util/qlalr/examples/qparser/COMPILE | 3 + util/qlalr/examples/qparser/calc.g | 93 + util/qlalr/examples/qparser/calc.l | 20 + util/qlalr/examples/qparser/qparser.cpp | 3 + util/qlalr/examples/qparser/qparser.h | 111 + util/qlalr/examples/qparser/qparser.pro | 4 + util/qlalr/grammar.cpp | 123 + util/qlalr/grammar_p.h | 119 + util/qlalr/lalr.cpp | 783 + util/qlalr/lalr.g | 803 + util/qlalr/lalr.h | 502 + util/qlalr/main.cpp | 185 + util/qlalr/parsetable.cpp | 127 + util/qlalr/parsetable.h | 59 + util/qlalr/qlalr.pro | 21 + util/qlalr/recognizer.cpp | 489 + util/qlalr/recognizer.h | 111 + util/qtscriptparser/make-parser.sh | 15 + util/scripts/mac-binary/doit.sh | 24 + .../mac-binary/install/debuglibraries/Info.plist | 40 + .../debuglibraries/Resources/Description.plist | 14 + .../install/debuglibraries/Resources/Readme.rtf | 7 + .../debuglibraries/Resources/debuglibraries.info | 17 + .../install/debuglibraries/Resources/postflight | 58 + .../install/debuglibraries/create_package.sh | 73 + util/scripts/mac-binary/install/docs/Info.plist | 40 + .../install/docs/Resources/Description.plist | 14 + .../mac-binary/install/docs/Resources/Readme.rtf | 7 + .../mac-binary/install/docs/Resources/docs.info | 17 + .../mac-binary/install/docs/Resources/postflight | 16 + .../mac-binary/install/docs/create_package.sh | 35 + .../scripts/mac-binary/install/examples/Info.plist | 40 + .../install/examples/Resources/Description.plist | 14 + .../install/examples/Resources/Readme.rtf | 7 + .../install/examples/Resources/examples.info | 17 + .../install/examples/Resources/postflight | 31 + .../mac-binary/install/examples/create_package.sh | 148 + util/scripts/mac-binary/install/headers/Info.plist | 40 + .../install/headers/Resources/Description.plist | 14 + .../install/headers/Resources/Readme.rtf | 7 + .../install/headers/Resources/headers.info | 17 + .../install/headers/Resources/postflight | 61 + .../mac-binary/install/headers/create_package.sh | 41 + .../mac-binary/install/libraries/Info.plist | 40 + .../install/libraries/Resources/Description.plist | 14 + .../install/libraries/Resources/Readme.rtf | 7 + .../install/libraries/Resources/libraries.info | 17 + .../install/libraries/Resources/postflight | 76 + .../mac-binary/install/libraries/create_package.sh | 48 + .../install/libraries/fix_config_paths.pl | 60 + .../mac-binary/install/libraries/fix_prl_paths.pl | 17 + util/scripts/mac-binary/install/plugins/Info.plist | 40 + .../install/plugins/Resources/Description.plist | 14 + .../install/plugins/Resources/Readme.rtf | 7 + .../install/plugins/Resources/plugins.info | 17 + .../install/plugins/Resources/postflight | 5 + .../mac-binary/install/plugins/create_package.sh | 31 + util/scripts/mac-binary/install/tools/Info.plist | 40 + .../install/tools/Resources/Description.plist | 14 + .../mac-binary/install/tools/Resources/Readme.rtf | 7 + .../mac-binary/install/tools/Resources/postflight | 40 + .../mac-binary/install/tools/Resources/tools.info | 17 + .../mac-binary/install/tools/create_package.sh | 142 + .../mac-binary/install/translations/Info.plist | 40 + .../translations/Resources/Description.plist | 14 + .../install/translations/Resources/Readme.rtf | 7 + .../install/translations/Resources/postflight | 5 + .../translations/Resources/translations.info | 17 + .../install/translations/create_package.sh | 35 + .../mac-binary/install/xcode/.build_separate | 0 .../mac-binary/install/xcode/.gitattributes | 1 + util/scripts/mac-binary/install/xcode/Info.plist | 40 + .../install/xcode/Resources/Description.plist | 14 + .../mac-binary/install/xcode/Resources/Readme.rtf | 7 + .../mac-binary/install/xcode/Resources/xcode.info | 17 + .../mac-binary/install/xcode/create_package.sh | 46 + .../mac-binary/install/xcode/do_translate.sh | 9 + .../mac-binary/install/xcode/fake_package.sh | 49 + .../integration/scripts/get_file_list.applescript | 31 + .../install/xcode/integration/scripts/get_mocs.sh | 144 + .../install/xcode/integration/scripts/make_moc.sh | 98 + .../install/xcode/integration/scripts/make_rcc.sh | 45 + .../install/xcode/integration/scripts/make_uic.sh | 43 + .../QtDataFormatters.bundle/Contents/Info.plist | 26 + .../Contents/MacOS/build_bundle.sh | 20 + .../Contents/MacOS/bundle.cpp | 129 + .../Contents/Resources/CustomDataViews.plist | 48 + .../QtDataFormatters.bundle/Contents/version.plist | 16 + .../Qt/C++ Class.pbfiletemplate/TemplateInfo.plist | 5 + .../Qt/C++ Class.pbfiletemplate/class.cpp | 61 + .../Qt/C++ Class.pbfiletemplate/class.h | 62 + .../Header File.pbfiletemplate/TemplateInfo.plist | 4 + .../Qt/Header File.pbfiletemplate/header.h | 51 + .../Qt/QRC File.pbfiletemplate/TemplateInfo.plist | 4 + .../Qt/QRC File.pbfiletemplate/resource.qrc | 5 + .../Qt/UI File.pbfiletemplate/TemplateInfo.plist | 4 + .../Qt/UI File.pbfiletemplate/class.ui | 16 + .../Application/Qt Application/Info.plist | 24 + .../Application/Qt Application/QtApp.mocs | 1 + .../Qt Application/QtApp.pbproj/TemplateInfo.plist | 11 + .../Qt Application/QtApp.pbproj/project.pbxproj | 377 + .../Application/Qt Application/main.cpp | 52 + .../Application/Qt Application/version.plist | 16 + .../templates/Scripts/999-Qt/10-aboutQt.sh | 23 + .../templates/Scripts/999-Qt/20-getMocs.sh | 12 + .../templates/Scripts/999-Qt/menuIcon.tiff | Bin 0 -> 1738 bytes .../templates/Specifications/qt.pbfilespec | 41 + .../templates/Specifications/qt.pblangspec | 84 + .../InstallerPane/English.lproj/InfoPlist.strings | Bin 0 -> 334 bytes .../English.lproj/InstallerPane.nib/classes.nib | 43 + .../English.lproj/InstallerPane.nib/info.nib | 23 + .../InstallerPane.nib/keyedobjects.nib | 3688 + .../English.lproj/InstallerPane~.nib/classes.nib | 42 + .../English.lproj/InstallerPane~.nib/info.nib | 23 + .../InstallerPane~.nib/keyedobjects.nib | 2942 + .../English.lproj/Localizable.strings | Bin 0 -> 154 bytes .../mac-binary/package/InstallerPane/Info.plist | 30 + .../InstallerPane.xcodeproj/default.pbxuser | 238 + .../InstallerPane.xcodeproj/project.pbxproj | 381 + .../package/InstallerPane/InstallerPanePane.h | 68 + .../package/InstallerPane/InstallerPanePane.mm | 250 + .../package/InstallerPane/InstallerPane_Prefix.pch | 8 + .../package/InstallerPane/InstallerSecionSection.h | 56 + .../InstallerPane/InstallerSecionSection.mm | 46 + .../package/InstallerPane/InstallerSections.plist | 16 + .../mac-binary/package/InstallerPane/helpfulfunc.h | 62 + .../package/InstallerPane/helpfulfunc.mm | 88 + .../mac-binary/package/InstallerPane/keydec.cpp | 323 + .../mac-binary/package/InstallerPane/keydec.h | 197 + .../mac-binary/package/InstallerPane/version.plist | 14 + .../mac-binary/package/MetaPackage/Info.plist | 30 + .../scripts/mac-binary/package/MetaPackage/PkgInfo | 1 + .../MetaPackage/Resources/Description.plist | 14 + .../package/MetaPackage/Resources/Qt.info | 16 + .../mac-binary/package/Resources/InstallationCheck | 96 + .../package/Resources/InstallationCheck.strings | Bin 0 -> 1688 bytes .../mac-binary/package/Resources/background.jpg | Bin 0 -> 16423 bytes .../mac-binary/package/Welcome-commercial.rtf | 25 + util/scripts/mac-binary/package/Welcome-eval.rtf | 28 + .../mac-binary/package/Welcome-opensource.rtf | 28 + .../package/backgrounds/DiskImage-Commercial.png | Bin 0 -> 8323 bytes .../package/backgrounds/DiskImage-Eval.png | Bin 0 -> 8334 bytes .../package/backgrounds/DiskImage-Opensource.png | Bin 0 -> 8503 bytes .../mac-binary/package/backgrounds/DriveIcon.icns | Bin 0 -> 58112 bytes .../scripts/mac-binary/package/keydecoder/main.cpp | 54 + .../package/make-model-ds_store.applescript | 41 + .../scripts/mac-binary/package/mkcommercialpackage | 24 + util/scripts/mac-binary/package/mkpackage | 842 + util/scripts/mac-binary/package/model-DS_Store | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.0.0 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.0.1 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.0 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.1.1 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.2 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.3 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.4 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.5 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.1.6 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.0 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.0-rc1 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.1 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.2 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.3 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.4 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.2.5 | Bin 0 -> 12293 bytes .../mac-binary/package/model-DS_Store-4.3.0 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.3.1 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.3.2 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.3.3 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.3.4 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.3.5 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.0 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.0-rc1 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.1 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.2 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.3 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.4 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.4.5 | Bin 0 -> 12292 bytes .../mac-binary/package/model-DS_Store-4.5.0 | Bin 0 -> 12292 bytes .../package/opensourceStuff/InstallationCheck | 15 + .../opensourceStuff/InstallationCheck.strings | Bin 0 -> 180 bytes util/scripts/mac-binary/package/uninstall-qt.py | 154 + util/scripts/unix_to_dos | 16 + util/scripts/win-binary/batch/build.bat | 121 + util/scripts/win-binary/batch/copy.bat | 91 + util/scripts/win-binary/batch/delete.bat | 41 + util/scripts/win-binary/batch/env.bat | 101 + util/scripts/win-binary/batch/extract.bat | 47 + util/scripts/win-binary/batch/installer.bat | 227 + util/scripts/win-binary/batch/log.bat | 18 + util/scripts/win-binary/batch/toupper.bat | 29 + util/scripts/win-binary/config/addin.conf | 42 + util/scripts/win-binary/config/addin7x.conf | 48 + util/scripts/win-binary/config/config.aeryn | 2 + util/scripts/win-binary/config/config.alessandro64 | 11 + util/scripts/win-binary/config/config.chiana | 1 + util/scripts/win-binary/config/config.default | 17 + util/scripts/win-binary/config/config.innsikt | 1 + util/scripts/win-binary/config/config.kepler | 14 + util/scripts/win-binary/config/config.planck | 17 + util/scripts/win-binary/config/config.radeberger | 17 + util/scripts/win-binary/config/config.samarin | 1 + util/scripts/win-binary/config/eclipse.conf | 20 + .../win-binary/config/mingw-opensource.conf | 95 + util/scripts/win-binary/config/qsa.conf | 34 + util/scripts/win-binary/config/qsa_eval.conf | 36 + util/scripts/win-binary/config/qsa_gpl.conf | 34 + .../win-binary/config/qtjambi-commercial.conf | 33 + util/scripts/win-binary/config/qtjambi-eval.conf | 34 + .../scripts/win-binary/config/vc60-commercial.conf | 110 + util/scripts/win-binary/config/vc60-eval.conf | 133 + .../win-binary/config/vs2003-commercial-vsip.conf | 131 + .../win-binary/config/vs2003-commercial.conf | 110 + util/scripts/win-binary/config/vs2003-demo.conf | 58 + util/scripts/win-binary/config/vs2003-eval.conf | 124 + .../win-binary/config/vs2005-ce-commercial.conf | 165 + util/scripts/win-binary/config/vs2005-ce-eval.conf | 202 + .../win-binary/config/vs2005-commercial-vsip.conf | 131 + .../win-binary/config/vs2005-commercial.conf | 113 + util/scripts/win-binary/config/vs2005-eval.conf | 127 + util/scripts/win-binary/config/vs2005-qtdemo.conf | 115 + .../win-binary/config/vs2008-ce-commercial.conf | 97 + util/scripts/win-binary/config/vs2008-ce-eval.conf | 202 + .../win-binary/config/vs2008-commercial-vsip.conf | 131 + .../win-binary/config/vs2008-commercial.conf | 113 + util/scripts/win-binary/config/vs2008-eval.conf | 127 + util/scripts/win-binary/config/vsip.conf | 41 + util/scripts/win-binary/doit/doit_2003.bat | 13 + util/scripts/win-binary/doit/doit_2005.bat | 13 + util/scripts/win-binary/doit/doit_2008.bat | 12 + util/scripts/win-binary/doit/doit_gcc.bat | 9 + util/scripts/win-binary/doit/doit_vc60.bat | 12 + util/scripts/win-binary/doit/doit_wince_2005.bat | 13 + util/scripts/win-binary/doit/doit_wince_2008.bat | 11 + util/scripts/win-binary/iwmake.bat | 85 + util/scripts/win-binary/nsis/confirmpage.ini | 19 + util/scripts/win-binary/nsis/eclipse.ini | 60 + util/scripts/win-binary/nsis/envpage.ini | 36 + util/scripts/win-binary/nsis/gwdownload.ini | 78 + util/scripts/win-binary/nsis/gwmirror.ini | 27 + util/scripts/win-binary/nsis/images/install.ico | Bin 0 -> 355574 bytes util/scripts/win-binary/nsis/images/qt-header.bmp | Bin 0 -> 25820 bytes .../win-binary/nsis/images/qt-wizard-clean.bmp | Bin 0 -> 154544 bytes util/scripts/win-binary/nsis/images/qt-wizard.bmp | Bin 0 -> 154544 bytes util/scripts/win-binary/nsis/includes/global.nsh | 204 + util/scripts/win-binary/nsis/includes/help.nsh | 133 + util/scripts/win-binary/nsis/includes/instdir.nsh | 214 + util/scripts/win-binary/nsis/includes/list.nsh | 96 + util/scripts/win-binary/nsis/includes/qtcommon.nsh | 547 + util/scripts/win-binary/nsis/includes/qtdir.nsh | 120 + util/scripts/win-binary/nsis/includes/qtenv.nsh | 350 + util/scripts/win-binary/nsis/includes/regsvr.nsh | 59 + util/scripts/win-binary/nsis/includes/system.nsh | 364 + .../scripts/win-binary/nsis/includes/templates.nsh | 262 + .../win-binary/nsis/includes/writeEnvStr.nsh | 138 + .../win-binary/nsis/includes/writePathStr.nsh | 241 + util/scripts/win-binary/nsis/installer.nsi | 524 + util/scripts/win-binary/nsis/instdir.ini | 102 + util/scripts/win-binary/nsis/license.ini | 70 + util/scripts/win-binary/nsis/licensepage.ini | 48 + util/scripts/win-binary/nsis/modules/addin60.nsh | 139 + util/scripts/win-binary/nsis/modules/addin7x.nsh | 417 + util/scripts/win-binary/nsis/modules/debugext.nsh | 669 + util/scripts/win-binary/nsis/modules/eclipse.nsh | 398 + .../win-binary/nsis/modules/environment.nsh | 176 + .../scripts/win-binary/nsis/modules/evaluation.nsh | 116 + util/scripts/win-binary/nsis/modules/help.nsh | 274 + util/scripts/win-binary/nsis/modules/license.nsh | 377 + util/scripts/win-binary/nsis/modules/mingw.nsh | 629 + util/scripts/win-binary/nsis/modules/msvc.nsh | 439 + .../scripts/win-binary/nsis/modules/opensource.nsh | 56 + util/scripts/win-binary/nsis/modules/qsa.nsh | 255 + util/scripts/win-binary/nsis/modules/qtdemo.nsh | 112 + util/scripts/win-binary/nsis/modules/qtjambi.nsh | 98 + .../win-binary/nsis/modules/qtjambieclipse.nsh | 223 + .../win-binary/nsis/modules/registeruiext.nsh | 174 + util/scripts/win-binary/nsis/modules/vsip.nsh | 1030 + util/scripts/win-binary/nsis/opensource.ini | 38 + util/scripts/win-binary/nsis/qsa.ini | 28 + util/scripts/win-binary/nsis/qtdir.ini | 70 + util/scripts/win-binary/nsis/qtjambieclipse.ini | 26 + .../scripts/win-binary/nsis/qtnsisext/binpatch.cpp | 216 + util/scripts/win-binary/nsis/qtnsisext/binpatch.h | 81 + util/scripts/win-binary/nsis/qtnsisext/exdll.h | 137 + .../win-binary/nsis/qtnsisext/licensefinder.cpp | 250 + .../win-binary/nsis/qtnsisext/licensefinder.h | 74 + util/scripts/win-binary/nsis/qtnsisext/mingw.cpp | 156 + util/scripts/win-binary/nsis/qtnsisext/mingw.h | 45 + .../win-binary/nsis/qtnsisext/qtlibspatcher.exe | Bin 0 -> 77824 bytes .../win-binary/nsis/qtnsisext/qtlibspatcher.vcproj | 206 + .../nsis/qtnsisext/qtlibspatchermain.cpp | 200 + .../win-binary/nsis/qtnsisext/qtnsisext.cpp | 495 + .../win-binary/nsis/qtnsisext/qtnsisext.dll | Bin 0 -> 77824 bytes .../win-binary/nsis/qtnsisext/qtnsisext.vcproj | 164 + util/unicode/README | 1 + util/unicode/codecs/big5/BIG5 | 14079 +++ util/unicode/codecs/big5/big5.pro | 6 + util/unicode/codecs/big5/big5.qrc | 6 + util/unicode/codecs/big5/main.cpp | 158 + util/unicode/data/ArabicShaping.txt | 338 + util/unicode/data/BidiMirroring.txt | 582 + util/unicode/data/Blocks.txt | 185 + util/unicode/data/CaseFolding.txt | 1093 + util/unicode/data/CompositionExclusions.txt | 197 + util/unicode/data/DerivedAge.txt | 867 + util/unicode/data/GraphemeBreakProperty.txt | 1039 + util/unicode/data/LineBreak.txt | 18542 ++++ util/unicode/data/NormalizationCorrections.txt | 48 + util/unicode/data/Scripts.txt | 1538 + util/unicode/data/ScriptsCorrections.txt | 0 util/unicode/data/ScriptsInitial.txt | 0 util/unicode/data/SentenceBreakProperty.txt | 1664 + util/unicode/data/SpecialCasing.txt | 264 + util/unicode/data/UnicodeData.txt | 17720 ++++ util/unicode/data/WordBreakProperty.txt | 677 + util/unicode/main.cpp | 2524 + util/unicode/unicode.pro | 2 + util/unicode/writingSystems.sh | 19 + util/unicode/x11/encodings.in | 71 + util/unicode/x11/makeencodings | 135 + util/webkit/mkdist-webkit | 314 + util/xkbdatagen/main.cpp | 478 + util/xkbdatagen/xkbdatagen.pro | 3 + 31126 files changed, 7391850 insertions(+) create mode 100644 .gitignore create mode 100755 .hgignore create mode 100644 FAQ create mode 100644 LGPL_EXCEPTION.TXT create mode 100644 LICENSE.GPL3 create mode 100644 LICENSE.LGPL create mode 100644 LICENSE.PREVIEW.COMMERCIAL create mode 100755 bin/findtr create mode 100755 bin/setcepaths.bat create mode 100644 bin/snapshot create mode 100755 bin/syncqt create mode 100755 bin/syncqt.bat create mode 100755 config.tests/mac/crc.test create mode 100644 config.tests/mac/crc/crc.pro create mode 100644 config.tests/mac/crc/main.cpp create mode 100755 config.tests/mac/dwarf2.test create mode 100755 config.tests/mac/xarch.test create mode 100644 config.tests/mac/xcodeversion.cpp create mode 100644 config.tests/qws/ahi/ahi.cpp create mode 100644 config.tests/qws/ahi/ahi.pro create mode 100644 config.tests/qws/directfb/directfb.cpp create mode 100644 config.tests/qws/directfb/directfb.pro create mode 100644 config.tests/qws/sound/sound.cpp create mode 100644 config.tests/qws/sound/sound.pro create mode 100644 config.tests/qws/svgalib/svgalib.cpp create mode 100644 config.tests/qws/svgalib/svgalib.pro create mode 100644 config.tests/unix/3dnow/3dnow.cpp create mode 100644 config.tests/unix/3dnow/3dnow.pro create mode 100755 config.tests/unix/bsymbolic_functions.test create mode 100644 config.tests/unix/clock-gettime/clock-gettime.cpp create mode 100644 config.tests/unix/clock-gettime/clock-gettime.pri create mode 100644 config.tests/unix/clock-gettime/clock-gettime.pro create mode 100644 config.tests/unix/clock-monotonic/clock-monotonic.cpp create mode 100644 config.tests/unix/clock-monotonic/clock-monotonic.pro create mode 100755 config.tests/unix/compile.test create mode 100644 config.tests/unix/cups/cups.cpp create mode 100644 config.tests/unix/cups/cups.pro create mode 100644 config.tests/unix/db2/db2.cpp create mode 100644 config.tests/unix/db2/db2.pro create mode 100644 config.tests/unix/dbus/dbus.cpp create mode 100644 config.tests/unix/dbus/dbus.pro create mode 100755 config.tests/unix/doubleformat.test create mode 100644 config.tests/unix/doubleformat/doubleformattest.cpp create mode 100644 config.tests/unix/doubleformat/doubleformattest.pro create mode 100755 config.tests/unix/endian.test create mode 100644 config.tests/unix/endian/endiantest.cpp create mode 100644 config.tests/unix/endian/endiantest.pro create mode 100644 config.tests/unix/floatmath/floatmath.cpp create mode 100644 config.tests/unix/floatmath/floatmath.pro create mode 100644 config.tests/unix/freetype/freetype.cpp create mode 100644 config.tests/unix/freetype/freetype.pri create mode 100644 config.tests/unix/freetype/freetype.pro create mode 100755 config.tests/unix/fvisibility.test create mode 100644 config.tests/unix/getaddrinfo/getaddrinfo.pro create mode 100644 config.tests/unix/getaddrinfo/getaddrinfotest.cpp create mode 100644 config.tests/unix/getifaddrs/getifaddrs.cpp create mode 100644 config.tests/unix/getifaddrs/getifaddrs.pro create mode 100644 config.tests/unix/glib/glib.cpp create mode 100644 config.tests/unix/glib/glib.pro create mode 100644 config.tests/unix/gnu-libiconv/gnu-libiconv.cpp create mode 100644 config.tests/unix/gnu-libiconv/gnu-libiconv.pro create mode 100644 config.tests/unix/gstreamer/gstreamer.cpp create mode 100644 config.tests/unix/gstreamer/gstreamer.pro create mode 100644 config.tests/unix/ibase/ibase.cpp create mode 100644 config.tests/unix/ibase/ibase.pro create mode 100644 config.tests/unix/iconv/iconv.cpp create mode 100644 config.tests/unix/iconv/iconv.pro create mode 100644 config.tests/unix/inotify/inotify.pro create mode 100644 config.tests/unix/inotify/inotifytest.cpp create mode 100644 config.tests/unix/ipv6/ipv6.pro create mode 100644 config.tests/unix/ipv6/ipv6test.cpp create mode 100644 config.tests/unix/ipv6ifname/ipv6ifname.cpp create mode 100644 config.tests/unix/ipv6ifname/ipv6ifname.pro create mode 100644 config.tests/unix/iwmmxt/iwmmxt.cpp create mode 100644 config.tests/unix/iwmmxt/iwmmxt.pro create mode 100644 config.tests/unix/largefile/largefile.pro create mode 100644 config.tests/unix/largefile/largefiletest.cpp create mode 100644 config.tests/unix/libjpeg/libjpeg.cpp create mode 100644 config.tests/unix/libjpeg/libjpeg.pro create mode 100644 config.tests/unix/libmng/libmng.cpp create mode 100644 config.tests/unix/libmng/libmng.pro create mode 100644 config.tests/unix/libpng/libpng.cpp create mode 100644 config.tests/unix/libpng/libpng.pro create mode 100644 config.tests/unix/libtiff/libtiff.cpp create mode 100644 config.tests/unix/libtiff/libtiff.pro create mode 100755 config.tests/unix/makeabs create mode 100644 config.tests/unix/mmx/mmx.cpp create mode 100644 config.tests/unix/mmx/mmx.pro create mode 100644 config.tests/unix/mremap/mremap.cpp create mode 100644 config.tests/unix/mremap/mremap.pro create mode 100644 config.tests/unix/mysql/mysql.cpp create mode 100644 config.tests/unix/mysql/mysql.pro create mode 100644 config.tests/unix/mysql_r/mysql_r.pro create mode 100644 config.tests/unix/nis/nis.cpp create mode 100644 config.tests/unix/nis/nis.pro create mode 100755 config.tests/unix/objcopy.test create mode 100644 config.tests/unix/oci/oci.cpp create mode 100644 config.tests/unix/oci/oci.pro create mode 100644 config.tests/unix/odbc/odbc.cpp create mode 100644 config.tests/unix/odbc/odbc.pro create mode 100644 config.tests/unix/opengles1/opengles1.cpp create mode 100644 config.tests/unix/opengles1/opengles1.pro create mode 100644 config.tests/unix/opengles1cl/opengles1cl.cpp create mode 100644 config.tests/unix/opengles1cl/opengles1cl.pro create mode 100644 config.tests/unix/opengles2/opengles2.cpp create mode 100644 config.tests/unix/opengles2/opengles2.pro create mode 100644 config.tests/unix/openssl/openssl.cpp create mode 100644 config.tests/unix/openssl/openssl.pri create mode 100644 config.tests/unix/openssl/openssl.pro create mode 100755 config.tests/unix/padstring create mode 100755 config.tests/unix/precomp.test create mode 100644 config.tests/unix/psql/psql.cpp create mode 100644 config.tests/unix/psql/psql.pro create mode 100755 config.tests/unix/ptrsize.test create mode 100644 config.tests/unix/ptrsize/ptrsizetest.cpp create mode 100644 config.tests/unix/ptrsize/ptrsizetest.pro create mode 100644 config.tests/unix/sqlite/sqlite.cpp create mode 100644 config.tests/unix/sqlite/sqlite.pro create mode 100644 config.tests/unix/sqlite2/sqlite2.cpp create mode 100644 config.tests/unix/sqlite2/sqlite2.pro create mode 100644 config.tests/unix/sse/sse.cpp create mode 100644 config.tests/unix/sse/sse.pro create mode 100644 config.tests/unix/sse2/sse2.cpp create mode 100644 config.tests/unix/sse2/sse2.pro create mode 100644 config.tests/unix/stdint/main.cpp create mode 100644 config.tests/unix/stdint/stdint.pro create mode 100644 config.tests/unix/stl/stl.pro create mode 100644 config.tests/unix/stl/stltest.cpp create mode 100644 config.tests/unix/tds/tds.cpp create mode 100644 config.tests/unix/tds/tds.pro create mode 100644 config.tests/unix/tslib/tslib.cpp create mode 100644 config.tests/unix/tslib/tslib.pro create mode 100755 config.tests/unix/which.test create mode 100644 config.tests/unix/zlib/zlib.cpp create mode 100644 config.tests/unix/zlib/zlib.pro create mode 100644 config.tests/x11/fontconfig/fontconfig.cpp create mode 100644 config.tests/x11/fontconfig/fontconfig.pro create mode 100644 config.tests/x11/glxfbconfig/glxfbconfig.cpp create mode 100644 config.tests/x11/glxfbconfig/glxfbconfig.pro create mode 100644 config.tests/x11/mitshm/mitshm.cpp create mode 100644 config.tests/x11/mitshm/mitshm.pro create mode 100755 config.tests/x11/notype.test create mode 100644 config.tests/x11/notype/notypetest.cpp create mode 100644 config.tests/x11/notype/notypetest.pro create mode 100644 config.tests/x11/opengl/opengl.cpp create mode 100644 config.tests/x11/opengl/opengl.pro create mode 100644 config.tests/x11/sm/sm.cpp create mode 100644 config.tests/x11/sm/sm.pro create mode 100644 config.tests/x11/xcursor/xcursor.cpp create mode 100644 config.tests/x11/xcursor/xcursor.pro create mode 100644 config.tests/x11/xfixes/xfixes.cpp create mode 100644 config.tests/x11/xfixes/xfixes.pro create mode 100644 config.tests/x11/xinerama/xinerama.cpp create mode 100644 config.tests/x11/xinerama/xinerama.pro create mode 100644 config.tests/x11/xinput/xinput.cpp create mode 100644 config.tests/x11/xinput/xinput.pro create mode 100644 config.tests/x11/xkb/xkb.cpp create mode 100644 config.tests/x11/xkb/xkb.pro create mode 100644 config.tests/x11/xrandr/xrandr.cpp create mode 100644 config.tests/x11/xrandr/xrandr.pro create mode 100644 config.tests/x11/xrender/xrender.cpp create mode 100644 config.tests/x11/xrender/xrender.pro create mode 100644 config.tests/x11/xshape/xshape.cpp create mode 100644 config.tests/x11/xshape/xshape.pro create mode 100755 configure create mode 100644 configure.exe create mode 100644 demos/README create mode 100644 demos/affine/affine.pro create mode 100644 demos/affine/affine.qrc create mode 100644 demos/affine/bg1.jpg create mode 100644 demos/affine/main.cpp create mode 100644 demos/affine/xform.cpp create mode 100644 demos/affine/xform.h create mode 100644 demos/affine/xform.html create mode 100644 demos/arthurplugin/arthur_plugin.qrc create mode 100644 demos/arthurplugin/arthurplugin.pro create mode 100644 demos/arthurplugin/bg1.jpg create mode 100644 demos/arthurplugin/flower.jpg create mode 100644 demos/arthurplugin/flower_alpha.jpg create mode 100644 demos/arthurplugin/plugin.cpp create mode 100644 demos/books/bookdelegate.cpp create mode 100644 demos/books/bookdelegate.h create mode 100644 demos/books/books.pro create mode 100644 demos/books/books.qrc create mode 100644 demos/books/bookwindow.cpp create mode 100644 demos/books/bookwindow.h create mode 100644 demos/books/bookwindow.ui create mode 100644 demos/books/images/star.png create mode 100644 demos/books/initdb.h create mode 100644 demos/books/main.cpp create mode 100644 demos/boxes/3rdparty/fbm.c create mode 100644 demos/boxes/3rdparty/fbm.h create mode 100644 demos/boxes/basic.fsh create mode 100644 demos/boxes/basic.vsh create mode 100644 demos/boxes/boxes.pro create mode 100644 demos/boxes/boxes.qrc create mode 100644 demos/boxes/cubemap_negx.jpg create mode 100644 demos/boxes/cubemap_negy.jpg create mode 100644 demos/boxes/cubemap_negz.jpg create mode 100644 demos/boxes/cubemap_posx.jpg create mode 100644 demos/boxes/cubemap_posy.jpg create mode 100644 demos/boxes/cubemap_posz.jpg create mode 100644 demos/boxes/dotted.fsh create mode 100644 demos/boxes/fresnel.fsh create mode 100644 demos/boxes/glass.fsh create mode 100644 demos/boxes/glbuffers.cpp create mode 100644 demos/boxes/glbuffers.h create mode 100644 demos/boxes/glextensions.cpp create mode 100644 demos/boxes/glextensions.h create mode 100644 demos/boxes/glshaders.cpp create mode 100644 demos/boxes/glshaders.h create mode 100644 demos/boxes/gltrianglemesh.h create mode 100644 demos/boxes/granite.fsh create mode 100644 demos/boxes/main.cpp create mode 100644 demos/boxes/marble.fsh create mode 100644 demos/boxes/parameters.par create mode 100644 demos/boxes/qt-logo.jpg create mode 100644 demos/boxes/qt-logo.png create mode 100644 demos/boxes/qtbox.cpp create mode 100644 demos/boxes/qtbox.h create mode 100644 demos/boxes/reflection.fsh create mode 100644 demos/boxes/refraction.fsh create mode 100644 demos/boxes/roundedbox.cpp create mode 100644 demos/boxes/roundedbox.h create mode 100644 demos/boxes/scene.cpp create mode 100644 demos/boxes/scene.h create mode 100644 demos/boxes/smiley.png create mode 100644 demos/boxes/square.jpg create mode 100644 demos/boxes/trackball.cpp create mode 100644 demos/boxes/trackball.h create mode 100644 demos/boxes/vector.h create mode 100644 demos/boxes/wood.fsh create mode 100644 demos/browser/Info_mac.plist create mode 100644 demos/browser/addbookmarkdialog.ui create mode 100644 demos/browser/autosaver.cpp create mode 100644 demos/browser/autosaver.h create mode 100644 demos/browser/bookmarks.cpp create mode 100644 demos/browser/bookmarks.h create mode 100644 demos/browser/bookmarks.ui create mode 100644 demos/browser/browser.icns create mode 100644 demos/browser/browser.ico create mode 100644 demos/browser/browser.pro create mode 100644 demos/browser/browser.rc create mode 100644 demos/browser/browserapplication.cpp create mode 100644 demos/browser/browserapplication.h create mode 100644 demos/browser/browsermainwindow.cpp create mode 100644 demos/browser/browsermainwindow.h create mode 100644 demos/browser/chasewidget.cpp create mode 100644 demos/browser/chasewidget.h create mode 100644 demos/browser/cookiejar.cpp create mode 100644 demos/browser/cookiejar.h create mode 100644 demos/browser/cookies.ui create mode 100644 demos/browser/cookiesexceptions.ui create mode 100644 demos/browser/data/addtab.png create mode 100644 demos/browser/data/browser.svg create mode 100644 demos/browser/data/closetab.png create mode 100644 demos/browser/data/data.qrc create mode 100644 demos/browser/data/defaultbookmarks.xbel create mode 100644 demos/browser/data/defaulticon.png create mode 100644 demos/browser/data/history.png create mode 100644 demos/browser/data/loading.gif create mode 100644 demos/browser/downloaditem.ui create mode 100644 demos/browser/downloadmanager.cpp create mode 100644 demos/browser/downloadmanager.h create mode 100644 demos/browser/downloads.ui create mode 100644 demos/browser/edittableview.cpp create mode 100644 demos/browser/edittableview.h create mode 100644 demos/browser/edittreeview.cpp create mode 100644 demos/browser/edittreeview.h create mode 100644 demos/browser/history.cpp create mode 100644 demos/browser/history.h create mode 100644 demos/browser/history.ui create mode 100644 demos/browser/htmls/htmls.qrc create mode 100644 demos/browser/htmls/notfound.html create mode 100644 demos/browser/main.cpp create mode 100644 demos/browser/modelmenu.cpp create mode 100644 demos/browser/modelmenu.h create mode 100644 demos/browser/networkaccessmanager.cpp create mode 100644 demos/browser/networkaccessmanager.h create mode 100644 demos/browser/passworddialog.ui create mode 100644 demos/browser/proxy.ui create mode 100644 demos/browser/searchlineedit.cpp create mode 100644 demos/browser/searchlineedit.h create mode 100644 demos/browser/settings.cpp create mode 100644 demos/browser/settings.h create mode 100644 demos/browser/settings.ui create mode 100644 demos/browser/squeezelabel.cpp create mode 100644 demos/browser/squeezelabel.h create mode 100644 demos/browser/tabwidget.cpp create mode 100644 demos/browser/tabwidget.h create mode 100644 demos/browser/toolbarsearch.cpp create mode 100644 demos/browser/toolbarsearch.h create mode 100644 demos/browser/urllineedit.cpp create mode 100644 demos/browser/urllineedit.h create mode 100644 demos/browser/webview.cpp create mode 100644 demos/browser/webview.h create mode 100644 demos/browser/xbel.cpp create mode 100644 demos/browser/xbel.h create mode 100644 demos/chip/chip.cpp create mode 100644 demos/chip/chip.h create mode 100644 demos/chip/chip.pro create mode 100644 demos/chip/fileprint.png create mode 100644 demos/chip/images.qrc create mode 100644 demos/chip/main.cpp create mode 100644 demos/chip/mainwindow.cpp create mode 100644 demos/chip/mainwindow.h create mode 100644 demos/chip/qt4logo.png create mode 100644 demos/chip/rotateleft.png create mode 100644 demos/chip/rotateright.png create mode 100644 demos/chip/view.cpp create mode 100644 demos/chip/view.h create mode 100644 demos/chip/zoomin.png create mode 100644 demos/chip/zoomout.png create mode 100644 demos/composition/composition.cpp create mode 100644 demos/composition/composition.h create mode 100644 demos/composition/composition.html create mode 100644 demos/composition/composition.pro create mode 100644 demos/composition/composition.qrc create mode 100644 demos/composition/flower.jpg create mode 100644 demos/composition/flower_alpha.jpg create mode 100644 demos/composition/main.cpp create mode 100644 demos/deform/deform.pro create mode 100644 demos/deform/deform.qrc create mode 100644 demos/deform/main.cpp create mode 100644 demos/deform/pathdeform.cpp create mode 100644 demos/deform/pathdeform.h create mode 100644 demos/deform/pathdeform.html create mode 100644 demos/demos.pro create mode 100644 demos/embedded/embedded.pro create mode 100644 demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp create mode 100644 demos/embedded/embeddedsvgviewer/embeddedsvgviewer.h create mode 100644 demos/embedded/embeddedsvgviewer/embeddedsvgviewer.pro create mode 100644 demos/embedded/embeddedsvgviewer/embeddedsvgviewer.qrc create mode 100644 demos/embedded/embeddedsvgviewer/files/default.svg create mode 100644 demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg create mode 100644 demos/embedded/embeddedsvgviewer/main.cpp create mode 100644 demos/embedded/embeddedsvgviewer/shapes.svg create mode 100644 demos/embedded/embeddedsvgviewer/spheres.svg create mode 100644 demos/embedded/fluidlauncher/config.xml create mode 100644 demos/embedded/fluidlauncher/config_wince/config.xml create mode 100644 demos/embedded/fluidlauncher/demoapplication.cpp create mode 100644 demos/embedded/fluidlauncher/demoapplication.h create mode 100644 demos/embedded/fluidlauncher/fluidlauncher.cpp create mode 100644 demos/embedded/fluidlauncher/fluidlauncher.h create mode 100644 demos/embedded/fluidlauncher/fluidlauncher.pro create mode 100644 demos/embedded/fluidlauncher/main.cpp create mode 100644 demos/embedded/fluidlauncher/pictureflow.cpp create mode 100644 demos/embedded/fluidlauncher/pictureflow.h create mode 100644 demos/embedded/fluidlauncher/screenshots/concentriccircles.png create mode 100644 demos/embedded/fluidlauncher/screenshots/deform.png create mode 100644 demos/embedded/fluidlauncher/screenshots/elasticnodes.png create mode 100644 demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png create mode 100644 demos/embedded/fluidlauncher/screenshots/mediaplayer.png create mode 100644 demos/embedded/fluidlauncher/screenshots/pathstroke.png create mode 100644 demos/embedded/fluidlauncher/screenshots/styledemo.png create mode 100644 demos/embedded/fluidlauncher/screenshots/wiggly.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_1.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_2.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_3.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_4.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_5.png create mode 100644 demos/embedded/fluidlauncher/slides/demo_6.png create mode 100644 demos/embedded/fluidlauncher/slideshow.cpp create mode 100644 demos/embedded/fluidlauncher/slideshow.h create mode 100755 demos/embedded/styledemo/files/add.png create mode 100644 demos/embedded/styledemo/files/application.qss create mode 100644 demos/embedded/styledemo/files/blue.qss create mode 100644 demos/embedded/styledemo/files/khaki.qss create mode 100644 demos/embedded/styledemo/files/nature_1.jpg create mode 100644 demos/embedded/styledemo/files/nostyle.qss create mode 100755 demos/embedded/styledemo/files/remove.png create mode 100644 demos/embedded/styledemo/files/transparent.qss create mode 100644 demos/embedded/styledemo/main.cpp create mode 100644 demos/embedded/styledemo/styledemo.pro create mode 100644 demos/embedded/styledemo/styledemo.qrc create mode 100644 demos/embedded/styledemo/stylewidget.cpp create mode 100644 demos/embedded/styledemo/stylewidget.h create mode 100644 demos/embedded/styledemo/stylewidget.ui create mode 100644 demos/embeddeddialogs/No-Ones-Laughing-3.jpg create mode 100644 demos/embeddeddialogs/customproxy.cpp create mode 100644 demos/embeddeddialogs/customproxy.h create mode 100644 demos/embeddeddialogs/embeddeddialog.cpp create mode 100644 demos/embeddeddialogs/embeddeddialog.h create mode 100644 demos/embeddeddialogs/embeddeddialog.ui create mode 100644 demos/embeddeddialogs/embeddeddialogs.pro create mode 100644 demos/embeddeddialogs/embeddeddialogs.qrc create mode 100644 demos/embeddeddialogs/main.cpp create mode 100644 demos/gradients/gradients.cpp create mode 100644 demos/gradients/gradients.h create mode 100644 demos/gradients/gradients.html create mode 100644 demos/gradients/gradients.pro create mode 100644 demos/gradients/gradients.qrc create mode 100644 demos/gradients/main.cpp create mode 100644 demos/interview/README create mode 100644 demos/interview/images/folder.png create mode 100644 demos/interview/images/interview.png create mode 100644 demos/interview/images/services.png create mode 100644 demos/interview/interview.pro create mode 100644 demos/interview/interview.qrc create mode 100644 demos/interview/main.cpp create mode 100644 demos/interview/model.cpp create mode 100644 demos/interview/model.h create mode 100644 demos/macmainwindow/macmainwindow.h create mode 100644 demos/macmainwindow/macmainwindow.mm create mode 100644 demos/macmainwindow/macmainwindow.pro create mode 100644 demos/macmainwindow/main.cpp create mode 100644 demos/mainwindow/colorswatch.cpp create mode 100644 demos/mainwindow/colorswatch.h create mode 100644 demos/mainwindow/main.cpp create mode 100644 demos/mainwindow/mainwindow.cpp create mode 100644 demos/mainwindow/mainwindow.h create mode 100644 demos/mainwindow/mainwindow.pro create mode 100644 demos/mainwindow/mainwindow.qrc create mode 100644 demos/mainwindow/qt.png create mode 100644 demos/mainwindow/titlebarCenter.png create mode 100644 demos/mainwindow/titlebarLeft.png create mode 100644 demos/mainwindow/titlebarRight.png create mode 100644 demos/mainwindow/toolbar.cpp create mode 100644 demos/mainwindow/toolbar.h create mode 100644 demos/mediaplayer/images/screen.png create mode 100644 demos/mediaplayer/main.cpp create mode 100644 demos/mediaplayer/mediaplayer.cpp create mode 100644 demos/mediaplayer/mediaplayer.h create mode 100644 demos/mediaplayer/mediaplayer.pro create mode 100644 demos/mediaplayer/mediaplayer.qrc create mode 100644 demos/mediaplayer/settings.ui create mode 100644 demos/pathstroke/main.cpp create mode 100644 demos/pathstroke/pathstroke.cpp create mode 100644 demos/pathstroke/pathstroke.h create mode 100644 demos/pathstroke/pathstroke.html create mode 100644 demos/pathstroke/pathstroke.pro create mode 100644 demos/pathstroke/pathstroke.qrc create mode 100644 demos/qtdemo/Info_mac.plist create mode 100644 demos/qtdemo/colors.cpp create mode 100644 demos/qtdemo/colors.h create mode 100644 demos/qtdemo/demoitem.cpp create mode 100644 demos/qtdemo/demoitem.h create mode 100644 demos/qtdemo/demoitemanimation.cpp create mode 100644 demos/qtdemo/demoitemanimation.h create mode 100644 demos/qtdemo/demoscene.cpp create mode 100644 demos/qtdemo/demoscene.h create mode 100644 demos/qtdemo/demotextitem.cpp create mode 100644 demos/qtdemo/demotextitem.h create mode 100644 demos/qtdemo/dockitem.cpp create mode 100644 demos/qtdemo/dockitem.h create mode 100644 demos/qtdemo/examplecontent.cpp create mode 100644 demos/qtdemo/examplecontent.h create mode 100644 demos/qtdemo/guide.cpp create mode 100644 demos/qtdemo/guide.h create mode 100644 demos/qtdemo/guidecircle.cpp create mode 100644 demos/qtdemo/guidecircle.h create mode 100644 demos/qtdemo/guideline.cpp create mode 100644 demos/qtdemo/guideline.h create mode 100644 demos/qtdemo/headingitem.cpp create mode 100644 demos/qtdemo/headingitem.h create mode 100644 demos/qtdemo/imageitem.cpp create mode 100644 demos/qtdemo/imageitem.h create mode 100755 demos/qtdemo/images/demobg.png create mode 100644 demos/qtdemo/images/qtlogo_small.png create mode 100644 demos/qtdemo/images/trolltech-logo.png create mode 100644 demos/qtdemo/itemcircleanimation.cpp create mode 100644 demos/qtdemo/itemcircleanimation.h create mode 100644 demos/qtdemo/letteritem.cpp create mode 100644 demos/qtdemo/letteritem.h create mode 100644 demos/qtdemo/main.cpp create mode 100644 demos/qtdemo/mainwindow.cpp create mode 100644 demos/qtdemo/mainwindow.h create mode 100644 demos/qtdemo/menucontent.cpp create mode 100644 demos/qtdemo/menucontent.h create mode 100644 demos/qtdemo/menumanager.cpp create mode 100644 demos/qtdemo/menumanager.h create mode 100644 demos/qtdemo/qtdemo.icns create mode 100644 demos/qtdemo/qtdemo.ico create mode 100644 demos/qtdemo/qtdemo.pro create mode 100644 demos/qtdemo/qtdemo.qrc create mode 100644 demos/qtdemo/qtdemo.rc create mode 100644 demos/qtdemo/scanitem.cpp create mode 100644 demos/qtdemo/scanitem.h create mode 100644 demos/qtdemo/score.cpp create mode 100644 demos/qtdemo/score.h create mode 100644 demos/qtdemo/textbutton.cpp create mode 100644 demos/qtdemo/textbutton.h create mode 100644 demos/qtdemo/xml/examples.xml create mode 100644 demos/shared/arthurstyle.cpp create mode 100644 demos/shared/arthurstyle.h create mode 100644 demos/shared/arthurwidgets.cpp create mode 100644 demos/shared/arthurwidgets.h create mode 100644 demos/shared/hoverpoints.cpp create mode 100644 demos/shared/hoverpoints.h create mode 100644 demos/shared/images/bg_pattern.png create mode 100644 demos/shared/images/button_normal_cap_left.png create mode 100644 demos/shared/images/button_normal_cap_right.png create mode 100644 demos/shared/images/button_normal_stretch.png create mode 100644 demos/shared/images/button_pressed_cap_left.png create mode 100644 demos/shared/images/button_pressed_cap_right.png create mode 100644 demos/shared/images/button_pressed_stretch.png create mode 100644 demos/shared/images/curve_thing_edit-6.png create mode 100644 demos/shared/images/frame_bottom.png create mode 100644 demos/shared/images/frame_bottomleft.png create mode 100644 demos/shared/images/frame_bottomright.png create mode 100644 demos/shared/images/frame_left.png create mode 100644 demos/shared/images/frame_right.png create mode 100644 demos/shared/images/frame_top.png create mode 100644 demos/shared/images/frame_topleft.png create mode 100644 demos/shared/images/frame_topright.png create mode 100644 demos/shared/images/groupframe_bottom_left.png create mode 100644 demos/shared/images/groupframe_bottom_right.png create mode 100644 demos/shared/images/groupframe_bottom_stretch.png create mode 100644 demos/shared/images/groupframe_left_stretch.png create mode 100644 demos/shared/images/groupframe_right_stretch.png create mode 100644 demos/shared/images/groupframe_top_stretch.png create mode 100644 demos/shared/images/groupframe_topleft.png create mode 100644 demos/shared/images/groupframe_topright.png create mode 100644 demos/shared/images/line_dash_dot.png create mode 100644 demos/shared/images/line_dash_dot_dot.png create mode 100644 demos/shared/images/line_dashed.png create mode 100644 demos/shared/images/line_dotted.png create mode 100644 demos/shared/images/line_solid.png create mode 100644 demos/shared/images/radiobutton-off.png create mode 100644 demos/shared/images/radiobutton-on.png create mode 100644 demos/shared/images/radiobutton_off.png create mode 100644 demos/shared/images/radiobutton_on.png create mode 100644 demos/shared/images/slider_bar.png create mode 100644 demos/shared/images/slider_thumb_off.png create mode 100644 demos/shared/images/slider_thumb_on.png create mode 100644 demos/shared/images/title_cap_left.png create mode 100644 demos/shared/images/title_cap_right.png create mode 100644 demos/shared/images/title_stretch.png create mode 100644 demos/shared/shared.pri create mode 100644 demos/shared/shared.pro create mode 100644 demos/shared/shared.qrc create mode 100644 demos/spreadsheet/images/interview.png create mode 100644 demos/spreadsheet/main.cpp create mode 100644 demos/spreadsheet/printview.cpp create mode 100644 demos/spreadsheet/printview.h create mode 100644 demos/spreadsheet/spreadsheet.cpp create mode 100644 demos/spreadsheet/spreadsheet.h create mode 100644 demos/spreadsheet/spreadsheet.pro create mode 100644 demos/spreadsheet/spreadsheet.qrc create mode 100644 demos/spreadsheet/spreadsheetdelegate.cpp create mode 100644 demos/spreadsheet/spreadsheetdelegate.h create mode 100644 demos/spreadsheet/spreadsheetitem.cpp create mode 100644 demos/spreadsheet/spreadsheetitem.h create mode 100644 demos/sqlbrowser/browser.cpp create mode 100644 demos/sqlbrowser/browser.h create mode 100644 demos/sqlbrowser/browserwidget.ui create mode 100644 demos/sqlbrowser/connectionwidget.cpp create mode 100644 demos/sqlbrowser/connectionwidget.h create mode 100644 demos/sqlbrowser/main.cpp create mode 100644 demos/sqlbrowser/qsqlconnectiondialog.cpp create mode 100644 demos/sqlbrowser/qsqlconnectiondialog.h create mode 100644 demos/sqlbrowser/qsqlconnectiondialog.ui create mode 100644 demos/sqlbrowser/sqlbrowser.pro create mode 100644 demos/textedit/example.html create mode 100644 demos/textedit/images/logo32.png create mode 100644 demos/textedit/images/mac/editcopy.png create mode 100644 demos/textedit/images/mac/editcut.png create mode 100644 demos/textedit/images/mac/editpaste.png create mode 100644 demos/textedit/images/mac/editredo.png create mode 100644 demos/textedit/images/mac/editundo.png create mode 100644 demos/textedit/images/mac/exportpdf.png create mode 100644 demos/textedit/images/mac/filenew.png create mode 100644 demos/textedit/images/mac/fileopen.png create mode 100644 demos/textedit/images/mac/fileprint.png create mode 100644 demos/textedit/images/mac/filesave.png create mode 100644 demos/textedit/images/mac/textbold.png create mode 100644 demos/textedit/images/mac/textcenter.png create mode 100644 demos/textedit/images/mac/textitalic.png create mode 100644 demos/textedit/images/mac/textjustify.png create mode 100644 demos/textedit/images/mac/textleft.png create mode 100644 demos/textedit/images/mac/textright.png create mode 100644 demos/textedit/images/mac/textunder.png create mode 100644 demos/textedit/images/mac/zoomin.png create mode 100644 demos/textedit/images/mac/zoomout.png create mode 100644 demos/textedit/images/win/editcopy.png create mode 100644 demos/textedit/images/win/editcut.png create mode 100644 demos/textedit/images/win/editpaste.png create mode 100644 demos/textedit/images/win/editredo.png create mode 100644 demos/textedit/images/win/editundo.png create mode 100644 demos/textedit/images/win/exportpdf.png create mode 100644 demos/textedit/images/win/filenew.png create mode 100644 demos/textedit/images/win/fileopen.png create mode 100644 demos/textedit/images/win/fileprint.png create mode 100644 demos/textedit/images/win/filesave.png create mode 100644 demos/textedit/images/win/textbold.png create mode 100644 demos/textedit/images/win/textcenter.png create mode 100644 demos/textedit/images/win/textitalic.png create mode 100644 demos/textedit/images/win/textjustify.png create mode 100644 demos/textedit/images/win/textleft.png create mode 100644 demos/textedit/images/win/textright.png create mode 100644 demos/textedit/images/win/textunder.png create mode 100644 demos/textedit/images/win/zoomin.png create mode 100644 demos/textedit/images/win/zoomout.png create mode 100644 demos/textedit/main.cpp create mode 100644 demos/textedit/textedit.cpp create mode 100644 demos/textedit/textedit.doc create mode 100644 demos/textedit/textedit.h create mode 100644 demos/textedit/textedit.pro create mode 100644 demos/textedit/textedit.qrc create mode 100644 demos/undo/commands.cpp create mode 100644 demos/undo/commands.h create mode 100644 demos/undo/document.cpp create mode 100644 demos/undo/document.h create mode 100644 demos/undo/icons/background.png create mode 100644 demos/undo/icons/blue.png create mode 100644 demos/undo/icons/circle.png create mode 100644 demos/undo/icons/exit.png create mode 100644 demos/undo/icons/fileclose.png create mode 100644 demos/undo/icons/filenew.png create mode 100644 demos/undo/icons/fileopen.png create mode 100644 demos/undo/icons/filesave.png create mode 100644 demos/undo/icons/green.png create mode 100644 demos/undo/icons/ok.png create mode 100644 demos/undo/icons/rectangle.png create mode 100644 demos/undo/icons/red.png create mode 100644 demos/undo/icons/redo.png create mode 100644 demos/undo/icons/remove.png create mode 100644 demos/undo/icons/triangle.png create mode 100644 demos/undo/icons/undo.png create mode 100644 demos/undo/main.cpp create mode 100644 demos/undo/mainwindow.cpp create mode 100644 demos/undo/mainwindow.h create mode 100644 demos/undo/mainwindow.ui create mode 100644 demos/undo/undo.pro create mode 100644 demos/undo/undo.qrc create mode 100644 dist/README create mode 100644 dist/changes-0.92 create mode 100644 dist/changes-0.93 create mode 100644 dist/changes-0.94 create mode 100644 dist/changes-0.95 create mode 100644 dist/changes-0.96 create mode 100644 dist/changes-0.98 create mode 100644 dist/changes-0.99 create mode 100644 dist/changes-1.0 create mode 100644 dist/changes-1.1 create mode 100644 dist/changes-1.2 create mode 100644 dist/changes-1.30 create mode 100644 dist/changes-1.31 create mode 100644 dist/changes-1.39-19980327 create mode 100644 dist/changes-1.39-19980406 create mode 100644 dist/changes-1.39-19980414 create mode 100644 dist/changes-1.39-19980506 create mode 100644 dist/changes-1.39-19980529 create mode 100644 dist/changes-1.39-19980611 create mode 100644 dist/changes-1.39-19980616 create mode 100644 dist/changes-1.39-19980623 create mode 100644 dist/changes-1.39-19980625 create mode 100644 dist/changes-1.39-19980706 create mode 100644 dist/changes-1.40 create mode 100644 dist/changes-1.41 create mode 100644 dist/changes-1.42 create mode 100644 dist/changes-2.0.1 create mode 100644 dist/changes-2.00 create mode 100644 dist/changes-2.00beta1 create mode 100644 dist/changes-2.00beta2 create mode 100644 dist/changes-2.00beta3 create mode 100644 dist/changes-2.1.0 create mode 100644 dist/changes-2.1.1 create mode 100644 dist/changes-2.2.0 create mode 100644 dist/changes-2.2.1 create mode 100644 dist/changes-2.2.2 create mode 100644 dist/changes-3.0.0 create mode 100644 dist/changes-3.0.0-beta1 create mode 100644 dist/changes-3.0.0-beta2 create mode 100644 dist/changes-3.0.0-beta3 create mode 100644 dist/changes-3.0.0-beta4 create mode 100644 dist/changes-3.0.0-beta5 create mode 100644 dist/changes-3.0.0-beta6 create mode 100644 dist/changes-3.0.1 create mode 100644 dist/changes-3.0.2 create mode 100644 dist/changes-3.0.4 create mode 100644 dist/changes-3.0.7 create mode 100644 dist/changes-3.1.0 create mode 100644 dist/changes-3.1.0-b1 create mode 100644 dist/changes-3.1.0-b2 create mode 100644 dist/changes-3.1.1 create mode 100644 dist/changes-3.1.2 create mode 100644 dist/changes-3.2.0 create mode 100644 dist/changes-3.2.0-b1 create mode 100644 dist/changes-3.2.0-b2 create mode 100644 dist/changes-3.2.1 create mode 100644 dist/changes-3.2.2 create mode 100644 dist/changes-3.2.3 create mode 100644 dist/changes-3.3.0 create mode 100644 dist/changes-3.3.0-b1 create mode 100644 dist/changes-3.3.1 create mode 100644 dist/changes-3.3.2 create mode 100644 dist/changes-3.3.3 create mode 100644 dist/changes-3.3.5 create mode 100644 dist/changes-3.3.6 create mode 100644 dist/changes-3.3.7 create mode 100644 dist/changes-3.3.8 create mode 100644 dist/changes-4.0.1 create mode 100644 dist/changes-4.1.0 create mode 100644 dist/changes-4.1.0-rc1 create mode 100644 dist/changes-4.1.1 create mode 100644 dist/changes-4.1.11 create mode 100644 dist/changes-4.1.3 create mode 100644 dist/changes-4.1.4 create mode 100644 dist/changes-4.1.5 create mode 100644 dist/changes-4.2.0 create mode 100644 dist/changes-4.2.0-tp1 create mode 100644 dist/changes-4.2.1 create mode 100644 dist/changes-4.2.2 create mode 100644 dist/changes-4.2.3 create mode 100644 dist/changes-4.2CEping create mode 100644 dist/changes-4.3.0 create mode 100644 dist/changes-4.3.1 create mode 100644 dist/changes-4.3.2 create mode 100644 dist/changes-4.3.3 create mode 100644 dist/changes-4.3.4 create mode 100644 dist/changes-4.3.5 create mode 100644 dist/changes-4.3CE-tp1 create mode 100644 dist/changes-4.3CEconan create mode 100644 dist/changes-4.3CEkicker create mode 100644 dist/changes-4.3CEsweetandsour create mode 100644 dist/changes-4.4.0 create mode 100644 dist/changes-4.4.1 create mode 100644 dist/changes-4.4.2 create mode 100644 dist/changes-4.4.3 create mode 100644 dist/changes-4.5.0 create mode 100644 doc/doc.pri create mode 100644 doc/src/3rdparty.qdoc create mode 100644 doc/src/accelerators.qdoc create mode 100644 doc/src/accessible.qdoc create mode 100644 doc/src/activeqt-dumpcpp.qdoc create mode 100644 doc/src/activeqt-dumpdoc.qdoc create mode 100644 doc/src/activeqt-idc.qdoc create mode 100644 doc/src/activeqt-testcon.qdoc create mode 100644 doc/src/activeqt.qdoc create mode 100644 doc/src/animation.qdoc create mode 100644 doc/src/annotated.qdoc create mode 100644 doc/src/appicon.qdoc create mode 100644 doc/src/assistant-manual.qdoc create mode 100644 doc/src/atomic-operations.qdoc create mode 100644 doc/src/bughowto.qdoc create mode 100644 doc/src/classes.qdoc create mode 100644 doc/src/codecs.qdoc create mode 100644 doc/src/commercialeditions.qdoc create mode 100644 doc/src/compatclasses.qdoc create mode 100644 doc/src/containers.qdoc create mode 100644 doc/src/coordsys.qdoc create mode 100644 doc/src/credits.qdoc create mode 100644 doc/src/custom-types.qdoc create mode 100644 doc/src/datastreamformat.qdoc create mode 100644 doc/src/debug.qdoc create mode 100644 doc/src/demos.qdoc create mode 100644 doc/src/demos/affine.qdoc create mode 100644 doc/src/demos/arthurplugin.qdoc create mode 100644 doc/src/demos/books.qdoc create mode 100644 doc/src/demos/boxes.qdoc create mode 100644 doc/src/demos/browser.qdoc create mode 100644 doc/src/demos/chip.qdoc create mode 100644 doc/src/demos/composition.qdoc create mode 100644 doc/src/demos/deform.qdoc create mode 100644 doc/src/demos/embeddeddialogs.qdoc create mode 100644 doc/src/demos/gradients.qdoc create mode 100644 doc/src/demos/interview.qdoc create mode 100644 doc/src/demos/macmainwindow.qdoc create mode 100644 doc/src/demos/mainwindow.qdoc create mode 100644 doc/src/demos/mediaplayer.qdoc create mode 100644 doc/src/demos/pathstroke.qdoc create mode 100644 doc/src/demos/spreadsheet.qdoc create mode 100644 doc/src/demos/sqlbrowser.qdoc create mode 100644 doc/src/demos/textedit.qdoc create mode 100644 doc/src/demos/undo.qdoc create mode 100644 doc/src/deployment.qdoc create mode 100644 doc/src/designer-manual.qdoc create mode 100644 doc/src/desktop-integration.qdoc create mode 100644 doc/src/developing-on-mac.qdoc create mode 100644 doc/src/diagrams/arthurplugin-demo.png create mode 100644 doc/src/diagrams/arthurplugin-demo.ui create mode 100644 doc/src/diagrams/assistant-manual/assistant-assistant.png create mode 100644 doc/src/diagrams/assistant-manual/assistant-assistant.zip create mode 100644 doc/src/diagrams/assistant-manual/assistant-temp-toolbar.png create mode 100644 doc/src/diagrams/boat.png create mode 100644 doc/src/diagrams/boat.sk create mode 100644 doc/src/diagrams/car.png create mode 100644 doc/src/diagrams/car.sk create mode 100644 doc/src/diagrams/chip-demo.png create mode 100644 doc/src/diagrams/chip-demo.zip create mode 100644 doc/src/diagrams/cleanlooks-dialogbuttonbox.png create mode 100644 doc/src/diagrams/clock.png create mode 100644 doc/src/diagrams/completer-example-shaped.png create mode 100644 doc/src/diagrams/complexwizard-flow.sk create mode 100644 doc/src/diagrams/composition-demo.png create mode 100644 doc/src/diagrams/contentspropagation/background.png create mode 100644 doc/src/diagrams/contentspropagation/base.png create mode 100755 doc/src/diagrams/contentspropagation/customwidget.py create mode 100644 doc/src/diagrams/contentspropagation/lightbackground.png create mode 100755 doc/src/diagrams/contentspropagation/standardwidgets.py create mode 100644 doc/src/diagrams/coordinatesystem-line-antialias.sk create mode 100644 doc/src/diagrams/coordinatesystem-line-raster.sk create mode 100644 doc/src/diagrams/coordinatesystem-line.sk create mode 100644 doc/src/diagrams/coordinatesystem-rect-antialias.sk create mode 100644 doc/src/diagrams/coordinatesystem-rect-raster.sk create mode 100644 doc/src/diagrams/coordinatesystem-rect.sk create mode 100644 doc/src/diagrams/coordinatesystem-transformations.sk create mode 100644 doc/src/diagrams/customcompleter-example.png create mode 100644 doc/src/diagrams/customcompleter-example.zip create mode 100644 doc/src/diagrams/customwidgetplugin-example.png create mode 100644 doc/src/diagrams/datetimewidgets.ui create mode 100644 doc/src/diagrams/datetimewidgets.zip create mode 100644 doc/src/diagrams/dbus-chat-example.png create mode 100644 doc/src/diagrams/dependencies.lout create mode 100644 doc/src/diagrams/designer-adding-actions.txt create mode 100644 doc/src/diagrams/designer-adding-dockwidget.txt create mode 100644 doc/src/diagrams/designer-adding-dockwidget1.png create mode 100644 doc/src/diagrams/designer-adding-dockwidget1.zip create mode 100644 doc/src/diagrams/designer-adding-dynamic-property.png create mode 100644 doc/src/diagrams/designer-adding-menu-action1.png create mode 100644 doc/src/diagrams/designer-adding-menu-action1.zip create mode 100644 doc/src/diagrams/designer-adding-menu-action2.zip create mode 100644 doc/src/diagrams/designer-adding-toolbar-action1.png create mode 100644 doc/src/diagrams/designer-adding-toolbar-action1.zip create mode 100644 doc/src/diagrams/designer-adding-toolbar-action2.zip create mode 100644 doc/src/diagrams/designer-creating-dynamic-property.png create mode 100644 doc/src/diagrams/designer-creating-menu-entry1.png create mode 100644 doc/src/diagrams/designer-creating-menu-entry1.zip create mode 100644 doc/src/diagrams/designer-creating-menu-entry2.png create mode 100644 doc/src/diagrams/designer-creating-menu-entry2.zip create mode 100644 doc/src/diagrams/designer-creating-menu-entry3.png create mode 100644 doc/src/diagrams/designer-creating-menu-entry3.zip create mode 100644 doc/src/diagrams/designer-creating-menu-entry4.png create mode 100644 doc/src/diagrams/designer-creating-menu-entry4.zip create mode 100644 doc/src/diagrams/designer-creating-menu.txt create mode 100644 doc/src/diagrams/designer-creating-menu1.png create mode 100644 doc/src/diagrams/designer-creating-menu1.zip create mode 100644 doc/src/diagrams/designer-creating-menu2.png create mode 100644 doc/src/diagrams/designer-creating-menu2.zip create mode 100644 doc/src/diagrams/designer-creating-menu3.png create mode 100644 doc/src/diagrams/designer-creating-menu3.zip create mode 100644 doc/src/diagrams/designer-creating-menu4.png create mode 100644 doc/src/diagrams/designer-creating-menubar.png create mode 100644 doc/src/diagrams/designer-creating-menubar.zip create mode 100644 doc/src/diagrams/designer-edit-resource.zip create mode 100644 doc/src/diagrams/designer-find-icon.zip create mode 100644 doc/src/diagrams/designer-form-layoutfunction-crop.png create mode 100644 doc/src/diagrams/designer-form-layoutfunction.png create mode 100644 doc/src/diagrams/designer-form-layoutfunction.zip create mode 100644 doc/src/diagrams/designer-main-window.zip create mode 100644 doc/src/diagrams/designer-mainwindow-actions.ui create mode 100644 doc/src/diagrams/designer-palette-brush-editor.zip create mode 100644 doc/src/diagrams/designer-palette-editor.zip create mode 100644 doc/src/diagrams/designer-palette-gradient-editor.zip create mode 100644 doc/src/diagrams/designer-palette-pattern-editor.zip create mode 100644 doc/src/diagrams/designer-resource-editor.zip create mode 100644 doc/src/diagrams/designer-widget-box.zip create mode 100644 doc/src/diagrams/diagrams.txt create mode 100644 doc/src/diagrams/dockwidget-cross.sk create mode 100644 doc/src/diagrams/dockwidget-neighbors.sk create mode 100644 doc/src/diagrams/fontsampler-example.zip create mode 100644 doc/src/diagrams/framebufferobject-example.png create mode 100644 doc/src/diagrams/framebufferobject2-example.png create mode 100644 doc/src/diagrams/ftp-example.zip create mode 100644 doc/src/diagrams/gallery-images/cde-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/cde-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/cde-combobox.png create mode 100644 doc/src/diagrams/gallery-images/cde-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/cde-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/cde-dial.png create mode 100644 doc/src/diagrams/gallery-images/cde-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/cde-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/cde-frame.png create mode 100644 doc/src/diagrams/gallery-images/cde-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/cde-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/cde-label.png create mode 100644 doc/src/diagrams/gallery-images/cde-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/cde-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/cde-listview.png create mode 100644 doc/src/diagrams/gallery-images/cde-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/cde-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/cde-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/cde-slider.png create mode 100644 doc/src/diagrams/gallery-images/cde-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/cde-tableview.png create mode 100644 doc/src/diagrams/gallery-images/cde-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/cde-textedit.png create mode 100644 doc/src/diagrams/gallery-images/cde-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/cde-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/cde-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/cde-treeview.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-combobox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-dial.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-frame.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-label.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-listview.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-slider.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-tableview.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-textedit.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/cleanlooks-treeview.png create mode 100644 doc/src/diagrams/gallery-images/designer-creating-menubar.png create mode 100644 doc/src/diagrams/gallery-images/gtk-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/gtk-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-columnview.png create mode 100644 doc/src/diagrams/gallery-images/gtk-combobox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/gtk-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/gtk-dial.png create mode 100644 doc/src/diagrams/gallery-images/gtk-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-frame.png create mode 100644 doc/src/diagrams/gallery-images/gtk-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/gtk-label.png create mode 100644 doc/src/diagrams/gallery-images/gtk-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/gtk-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/gtk-listview.png create mode 100644 doc/src/diagrams/gallery-images/gtk-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/gtk-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/gtk-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/gtk-slider.png create mode 100644 doc/src/diagrams/gallery-images/gtk-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-tableview.png create mode 100644 doc/src/diagrams/gallery-images/gtk-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/gtk-textedit.png create mode 100644 doc/src/diagrams/gallery-images/gtk-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/gtk-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/gtk-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/gtk-treeview.png create mode 100644 doc/src/diagrams/gallery-images/linguist-menubar.png create mode 100644 doc/src/diagrams/gallery-images/macintosh-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/motif-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/motif-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/motif-combobox.png create mode 100644 doc/src/diagrams/gallery-images/motif-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/motif-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/motif-dial.png create mode 100644 doc/src/diagrams/gallery-images/motif-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/motif-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/motif-frame.png create mode 100644 doc/src/diagrams/gallery-images/motif-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/motif-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/motif-label.png create mode 100644 doc/src/diagrams/gallery-images/motif-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/motif-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/motif-listview.png create mode 100644 doc/src/diagrams/gallery-images/motif-menubar.png create mode 100644 doc/src/diagrams/gallery-images/motif-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/motif-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/motif-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/motif-slider.png create mode 100644 doc/src/diagrams/gallery-images/motif-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/motif-tableview.png create mode 100644 doc/src/diagrams/gallery-images/motif-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/motif-textedit.png create mode 100644 doc/src/diagrams/gallery-images/motif-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/motif-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/motif-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/motif-treeview.png create mode 100644 doc/src/diagrams/gallery-images/plastique-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/plastique-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-colordialog.png create mode 100644 doc/src/diagrams/gallery-images/plastique-combobox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/plastique-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/plastique-dial.png create mode 100644 doc/src/diagrams/gallery-images/plastique-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-fontdialog.png create mode 100644 doc/src/diagrams/gallery-images/plastique-frame.png create mode 100644 doc/src/diagrams/gallery-images/plastique-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/plastique-label.png create mode 100644 doc/src/diagrams/gallery-images/plastique-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/plastique-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/plastique-listview.png create mode 100644 doc/src/diagrams/gallery-images/plastique-menubar.png create mode 100644 doc/src/diagrams/gallery-images/plastique-messagebox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/plastique-progressdialog.png create mode 100644 doc/src/diagrams/gallery-images/plastique-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/plastique-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/plastique-sizegrip.png create mode 100644 doc/src/diagrams/gallery-images/plastique-slider.png create mode 100644 doc/src/diagrams/gallery-images/plastique-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-statusbar.png create mode 100644 doc/src/diagrams/gallery-images/plastique-tabbar-truncated.png create mode 100644 doc/src/diagrams/gallery-images/plastique-tabbar.png create mode 100644 doc/src/diagrams/gallery-images/plastique-tableview.png create mode 100644 doc/src/diagrams/gallery-images/plastique-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/plastique-textedit.png create mode 100644 doc/src/diagrams/gallery-images/plastique-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/plastique-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/plastique-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/plastique-treeview.png create mode 100644 doc/src/diagrams/gallery-images/windows-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/windows-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/windows-combobox.png create mode 100644 doc/src/diagrams/gallery-images/windows-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/windows-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/windows-dial.png create mode 100644 doc/src/diagrams/gallery-images/windows-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/windows-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/windows-frame.png create mode 100644 doc/src/diagrams/gallery-images/windows-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/windows-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/windows-label.png create mode 100644 doc/src/diagrams/gallery-images/windows-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/windows-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/windows-listview.png create mode 100644 doc/src/diagrams/gallery-images/windows-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/windows-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/windows-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/windows-slider.png create mode 100644 doc/src/diagrams/gallery-images/windows-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/windows-tableview.png create mode 100644 doc/src/diagrams/gallery-images/windows-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/windows-textedit.png create mode 100644 doc/src/diagrams/gallery-images/windows-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/windows-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/windows-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/windows-treeview.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-calendarwidget.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-checkbox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-combobox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-dateedit.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-datetimeedit.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-dial.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-doublespinbox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-fontcombobox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-frame.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-groupbox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-horizontalscrollbar.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-label.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-lcdnumber.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-lineedit.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-listview.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-progressbar.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-pushbutton.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-radiobutton.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-slider.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-spinbox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-tableview.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-tabwidget.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-textedit.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-timeedit.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-toolbox.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-toolbutton.png create mode 100644 doc/src/diagrams/gallery-images/windowsvista-treeview.png create mode 100644 doc/src/diagrams/graphicsview-map.png create mode 100644 doc/src/diagrams/graphicsview-map.zip create mode 100644 doc/src/diagrams/graphicsview-shapes.png create mode 100644 doc/src/diagrams/graphicsview-text.png create mode 100644 doc/src/diagrams/hellogl-example.png create mode 100644 doc/src/diagrams/house.png create mode 100644 doc/src/diagrams/house.sk create mode 100644 doc/src/diagrams/httpstack.sk create mode 100644 doc/src/diagrams/itemviews/editabletreemodel-indexes.sk create mode 100644 doc/src/diagrams/itemviews/editabletreemodel-items.sk create mode 100644 doc/src/diagrams/itemviews/editabletreemodel-model.sk create mode 100644 doc/src/diagrams/itemviews/editabletreemodel-values.sk create mode 100644 doc/src/diagrams/licensewizard-flow.sk create mode 100644 doc/src/diagrams/linguist-icons/appicon.png create mode 100644 doc/src/diagrams/linguist-icons/linguist.qrc create mode 100644 doc/src/diagrams/linguist-icons/pagecurl.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_danger.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_empty.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_obsolete.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_off.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_on.png create mode 100644 doc/src/diagrams/linguist-icons/s_check_warning.png create mode 100644 doc/src/diagrams/linguist-icons/splash.png create mode 100644 doc/src/diagrams/linguist-icons/win/accelerator.png create mode 100644 doc/src/diagrams/linguist-icons/win/book.png create mode 100644 doc/src/diagrams/linguist-icons/win/doneandnext.png create mode 100644 doc/src/diagrams/linguist-icons/win/editcopy.png create mode 100644 doc/src/diagrams/linguist-icons/win/editcut.png create mode 100644 doc/src/diagrams/linguist-icons/win/editpaste.png create mode 100644 doc/src/diagrams/linguist-icons/win/filenew.png create mode 100644 doc/src/diagrams/linguist-icons/win/fileopen.png create mode 100644 doc/src/diagrams/linguist-icons/win/fileprint.png create mode 100644 doc/src/diagrams/linguist-icons/win/filesave.png create mode 100644 doc/src/diagrams/linguist-icons/win/next.png create mode 100644 doc/src/diagrams/linguist-icons/win/nextunfinished.png create mode 100644 doc/src/diagrams/linguist-icons/win/phrase.png create mode 100644 doc/src/diagrams/linguist-icons/win/prev.png create mode 100644 doc/src/diagrams/linguist-icons/win/prevunfinished.png create mode 100644 doc/src/diagrams/linguist-icons/win/print.png create mode 100644 doc/src/diagrams/linguist-icons/win/punctuation.png create mode 100644 doc/src/diagrams/linguist-icons/win/redo.png create mode 100644 doc/src/diagrams/linguist-icons/win/searchfind.png create mode 100644 doc/src/diagrams/linguist-icons/win/undo.png create mode 100644 doc/src/diagrams/linguist-icons/win/whatsthis.png create mode 100644 doc/src/diagrams/linguist-linguist.png create mode 100644 doc/src/diagrams/linguist-menubar.ui create mode 100644 doc/src/diagrams/linguist-previewtool.png create mode 100644 doc/src/diagrams/linguist-toolbar.png create mode 100644 doc/src/diagrams/linguist-toolbar.ui create mode 100644 doc/src/diagrams/linguist-toolbar.zip create mode 100644 doc/src/diagrams/macintosh-menu.png create mode 100644 doc/src/diagrams/macintosh-unified-toolbar.png create mode 100644 doc/src/diagrams/mainwindow-contextmenu.png create mode 100644 doc/src/diagrams/mainwindow-custom-dock.png create mode 100644 doc/src/diagrams/mainwindow-docks.sk create mode 100644 doc/src/diagrams/mainwindow-vertical-dock.png create mode 100644 doc/src/diagrams/mainwindow-vertical-tabs.png create mode 100644 doc/src/diagrams/modelview-begin-append-columns.sk create mode 100644 doc/src/diagrams/modelview-begin-append-rows.sk create mode 100644 doc/src/diagrams/modelview-begin-insert-columns.sk create mode 100644 doc/src/diagrams/modelview-begin-insert-rows.sk create mode 100644 doc/src/diagrams/modelview-begin-remove-columns.sk create mode 100644 doc/src/diagrams/modelview-begin-remove-rows.sk create mode 100644 doc/src/diagrams/modelview-listmodel.sk create mode 100644 doc/src/diagrams/modelview-models.png create mode 100644 doc/src/diagrams/modelview-models.sk create mode 100644 doc/src/diagrams/modelview-overview.sk create mode 100644 doc/src/diagrams/modelview-tablemodel.sk create mode 100644 doc/src/diagrams/modelview-treemodel.sk create mode 100644 doc/src/diagrams/paintsystem-core.sk create mode 100644 doc/src/diagrams/paintsystem-devices.sk create mode 100644 doc/src/diagrams/paintsystem-gradients.sk create mode 100644 doc/src/diagrams/paintsystem-stylepainter.sk create mode 100644 doc/src/diagrams/palette-diagram/dialog-crop-fade.png create mode 100644 doc/src/diagrams/palette-diagram/dialog-crop.png create mode 100644 doc/src/diagrams/palette-diagram/dialog.png create mode 100644 doc/src/diagrams/palette-diagram/palette.sk create mode 100644 doc/src/diagrams/parent-child-widgets.png create mode 100644 doc/src/diagrams/parent-child-widgets.sk create mode 100644 doc/src/diagrams/pathstroke-demo.png create mode 100644 doc/src/diagrams/patternist-importFlow.odg create mode 100644 doc/src/diagrams/patternist-wordProcessor.odg create mode 100644 doc/src/diagrams/pbuffers-example.png create mode 100644 doc/src/diagrams/pbuffers2-example.png create mode 100644 doc/src/diagrams/plaintext-layout.png create mode 100644 doc/src/diagrams/plastique-dialogbuttonbox.png create mode 100644 doc/src/diagrams/plastique-filedialog.png create mode 100644 doc/src/diagrams/plastique-fontcombobox-open.png create mode 100644 doc/src/diagrams/plastique-fontcombobox-open.zip create mode 100644 doc/src/diagrams/plastique-menu.png create mode 100644 doc/src/diagrams/plastique-printdialog-properties.png create mode 100644 doc/src/diagrams/plastique-printdialog.png create mode 100644 doc/src/diagrams/plastique-sizegrip.png create mode 100644 doc/src/diagrams/printer-rects.sk create mode 100644 doc/src/diagrams/programs/easingcurve/easingcurve.pro create mode 100644 doc/src/diagrams/programs/easingcurve/main.cpp create mode 100644 doc/src/diagrams/programs/mdiarea.py create mode 100644 doc/src/diagrams/programs/qpen-dashpattern.py create mode 100644 doc/src/diagrams/qactiongroup-align.png create mode 100644 doc/src/diagrams/qcolor-cmyk.sk create mode 100644 doc/src/diagrams/qcolor-hsv.sk create mode 100644 doc/src/diagrams/qcolor-hue.sk create mode 100644 doc/src/diagrams/qcolor-rgb.sk create mode 100644 doc/src/diagrams/qcolor-saturation.sk create mode 100644 doc/src/diagrams/qcolor-value.sk create mode 100644 doc/src/diagrams/qfiledialog-expanded.png create mode 100644 doc/src/diagrams/qfiledialog-small.png create mode 100644 doc/src/diagrams/qframe-shapes-table.ui create mode 100644 doc/src/diagrams/qimage-32bit.sk create mode 100644 doc/src/diagrams/qimage-8bit.sk create mode 100644 doc/src/diagrams/qline-coordinates.sk create mode 100644 doc/src/diagrams/qline-point.sk create mode 100644 doc/src/diagrams/qlinef-angle-identicaldirection.sk create mode 100644 doc/src/diagrams/qlinef-angle-oppositedirection.sk create mode 100644 doc/src/diagrams/qlistview.png create mode 100644 doc/src/diagrams/qmatrix.sk create mode 100644 doc/src/diagrams/qpainter-pathstroking.png create mode 100644 doc/src/diagrams/qrect-coordinates.sk create mode 100644 doc/src/diagrams/qrect-diagram-one.sk create mode 100644 doc/src/diagrams/qrect-diagram-three.sk create mode 100644 doc/src/diagrams/qrect-diagram-two.sk create mode 100644 doc/src/diagrams/qrect-diagram-zero.sk create mode 100644 doc/src/diagrams/qrect-intersect.sk create mode 100644 doc/src/diagrams/qrect-unite.sk create mode 100644 doc/src/diagrams/qrectf-coordinates.sk create mode 100644 doc/src/diagrams/qrectf-diagram-one.sk create mode 100644 doc/src/diagrams/qrectf-diagram-three.sk create mode 100644 doc/src/diagrams/qrectf-diagram-two.sk create mode 100644 doc/src/diagrams/qstyleoptiontoolbar-position.sk create mode 100644 doc/src/diagrams/qt-embedded-vnc-screen.png create mode 100644 doc/src/diagrams/qtableview-resized.png create mode 100644 doc/src/diagrams/qtableview-small.png create mode 100644 doc/src/diagrams/qtableview-stretched.png create mode 100644 doc/src/diagrams/qtableview.png create mode 100644 doc/src/diagrams/qtconfig-appearance.png create mode 100644 doc/src/diagrams/qtdemo-example.png create mode 100644 doc/src/diagrams/qtdemo.png create mode 100644 doc/src/diagrams/qtdesignerextensions.sk create mode 100644 doc/src/diagrams/qtexttable-cells.sk create mode 100644 doc/src/diagrams/qtexttableformat-cell.sk create mode 100644 doc/src/diagrams/qtopiacore/architecture-emb.sk create mode 100644 doc/src/diagrams/qtopiacore/clamshell-phone.png create mode 100644 doc/src/diagrams/qtopiacore/launcher.png create mode 100644 doc/src/diagrams/qtopiacore/qt-embedded-opengl1.sk create mode 100644 doc/src/diagrams/qtopiacore/qt-embedded-opengl2.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-accelerateddriver.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-architecture-emb.svg create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-architecture.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-characterinputlayer.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-client.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-clientrendering.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-clientservercommunication.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-drawingonscreen.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-opengl.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-pointerhandlinglayer.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-reserveregion.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-setwindowattribute.sk create mode 100644 doc/src/diagrams/qtopiacore/qtopiacore-vanilla.sk create mode 100644 doc/src/diagrams/qtreeview.png create mode 100644 doc/src/diagrams/qtscript-calculator.png create mode 100644 doc/src/diagrams/qtscript-context2d.png create mode 100644 doc/src/diagrams/qtwizard-page.sk create mode 100644 doc/src/diagrams/qwsserver_keyboardfilter.sk create mode 100644 doc/src/diagrams/resources.sk create mode 100644 doc/src/diagrams/shapedclock.sk create mode 100644 doc/src/diagrams/sharedmodel-tableviews.zip create mode 100644 doc/src/diagrams/sharedselection-tableviews.zip create mode 100644 doc/src/diagrams/standard-views.sk create mode 100644 doc/src/diagrams/standarddialogs-example.png create mode 100644 doc/src/diagrams/standarddialogs-example.zip create mode 100644 doc/src/diagrams/stylesheet/coffee-plastique.png create mode 100644 doc/src/diagrams/stylesheet/coffee-windows.png create mode 100644 doc/src/diagrams/stylesheet/coffee-xp.png create mode 100644 doc/src/diagrams/stylesheet/pagefold.png create mode 100644 doc/src/diagrams/stylesheet/pagefold.svg create mode 100644 doc/src/diagrams/stylesheet/stylesheet-boxmodel.svg create mode 100644 doc/src/diagrams/stylesheet/treeview.svg create mode 100644 doc/src/diagrams/tcpstream.sk create mode 100644 doc/src/diagrams/threadsandobjects.sk create mode 100644 doc/src/diagrams/treemodel-structure.sk create mode 100644 doc/src/diagrams/tutorial8-layout.sk create mode 100644 doc/src/diagrams/udppackets.sk create mode 100644 doc/src/diagrams/wVista-Cert-border.png create mode 100644 doc/src/diagrams/widgetmapper/sql-widget-mapper.png create mode 100644 doc/src/diagrams/widgetmapper/widgetmapper-sql-mapping.sk create mode 100644 doc/src/diagrams/windowsxp-menu.png create mode 100644 doc/src/diagrams/worldtimeclock-connection.zip create mode 100644 doc/src/diagrams/worldtimeclockplugin-example.zip create mode 100644 doc/src/diagrams/x11_dependencies.sk create mode 100644 doc/src/diagrams/xmlpatterns-qobjectxmlmodel.png create mode 100644 doc/src/distributingqt.qdoc create mode 100644 doc/src/dnd.qdoc create mode 100644 doc/src/ecmascript.qdoc create mode 100644 doc/src/editions.qdoc create mode 100644 doc/src/emb-accel.qdoc create mode 100644 doc/src/emb-charinput.qdoc create mode 100644 doc/src/emb-crosscompiling.qdoc create mode 100644 doc/src/emb-deployment.qdoc create mode 100644 doc/src/emb-differences.qdoc create mode 100644 doc/src/emb-envvars.qdoc create mode 100644 doc/src/emb-features.qdoc create mode 100644 doc/src/emb-fonts.qdoc create mode 100644 doc/src/emb-framebuffer-howto.qdoc create mode 100644 doc/src/emb-install.qdoc create mode 100644 doc/src/emb-makeqpf.qdoc create mode 100644 doc/src/emb-performance.qdoc create mode 100644 doc/src/emb-pointer.qdoc create mode 100644 doc/src/emb-porting.qdoc create mode 100644 doc/src/emb-qvfb.qdoc create mode 100644 doc/src/emb-running.qdoc create mode 100644 doc/src/emb-vnc.qdoc create mode 100644 doc/src/eventsandfilters.qdoc create mode 100644 doc/src/examples-overview.qdoc create mode 100644 doc/src/examples.qdoc create mode 100644 doc/src/examples/2dpainting.qdoc create mode 100644 doc/src/examples/activeqt/comapp.qdoc create mode 100644 doc/src/examples/activeqt/dotnet.qdoc create mode 100644 doc/src/examples/activeqt/hierarchy-demo.qdocinc create mode 100644 doc/src/examples/activeqt/hierarchy.qdoc create mode 100644 doc/src/examples/activeqt/menus.qdoc create mode 100644 doc/src/examples/activeqt/multiple-demo.qdocinc create mode 100644 doc/src/examples/activeqt/multiple.qdoc create mode 100644 doc/src/examples/activeqt/opengl-demo.qdocinc create mode 100644 doc/src/examples/activeqt/opengl.qdoc create mode 100644 doc/src/examples/activeqt/qutlook.qdoc create mode 100644 doc/src/examples/activeqt/simple-demo.qdocinc create mode 100644 doc/src/examples/activeqt/simple.qdoc create mode 100644 doc/src/examples/activeqt/webbrowser.qdoc create mode 100644 doc/src/examples/activeqt/wrapper-demo.qdocinc create mode 100644 doc/src/examples/activeqt/wrapper.qdoc create mode 100644 doc/src/examples/addressbook.qdoc create mode 100644 doc/src/examples/ahigl.qdoc create mode 100644 doc/src/examples/analogclock.qdoc create mode 100644 doc/src/examples/application.qdoc create mode 100644 doc/src/examples/arrowpad.qdoc create mode 100644 doc/src/examples/basicdrawing.qdoc create mode 100644 doc/src/examples/basicgraphicslayouts.qdoc create mode 100644 doc/src/examples/basiclayouts.qdoc create mode 100644 doc/src/examples/basicsortfiltermodel.qdoc create mode 100644 doc/src/examples/blockingfortuneclient.qdoc create mode 100644 doc/src/examples/borderlayout.qdoc create mode 100644 doc/src/examples/broadcastreceiver.qdoc create mode 100644 doc/src/examples/broadcastsender.qdoc create mode 100644 doc/src/examples/cachedtable.qdoc create mode 100644 doc/src/examples/calculator.qdoc create mode 100644 doc/src/examples/calculatorbuilder.qdoc create mode 100644 doc/src/examples/calculatorform.qdoc create mode 100644 doc/src/examples/calendar.qdoc create mode 100644 doc/src/examples/calendarwidget.qdoc create mode 100644 doc/src/examples/capabilitiesexample.qdoc create mode 100644 doc/src/examples/charactermap.qdoc create mode 100644 doc/src/examples/chart.qdoc create mode 100644 doc/src/examples/classwizard.qdoc create mode 100644 doc/src/examples/codecs.qdoc create mode 100644 doc/src/examples/codeeditor.qdoc create mode 100644 doc/src/examples/collidingmice-example.qdoc create mode 100644 doc/src/examples/coloreditorfactory.qdoc create mode 100644 doc/src/examples/combowidgetmapper.qdoc create mode 100644 doc/src/examples/completer.qdoc create mode 100644 doc/src/examples/complexpingpong.qdoc create mode 100644 doc/src/examples/concentriccircles.qdoc create mode 100644 doc/src/examples/configdialog.qdoc create mode 100644 doc/src/examples/containerextension.qdoc create mode 100644 doc/src/examples/context2d.qdoc create mode 100644 doc/src/examples/customcompleter.qdoc create mode 100644 doc/src/examples/customsortfiltermodel.qdoc create mode 100644 doc/src/examples/customwidgetplugin.qdoc create mode 100644 doc/src/examples/dbscreen.qdoc create mode 100644 doc/src/examples/dbus-chat.qdoc create mode 100644 doc/src/examples/dbus-listnames.qdoc create mode 100644 doc/src/examples/dbus-pingpong.qdoc create mode 100644 doc/src/examples/dbus-remotecontrolledcar.qdoc create mode 100644 doc/src/examples/defaultprototypes.qdoc create mode 100644 doc/src/examples/delayedencoding.qdoc create mode 100644 doc/src/examples/diagramscene.qdoc create mode 100644 doc/src/examples/digitalclock.qdoc create mode 100644 doc/src/examples/dirview.qdoc create mode 100644 doc/src/examples/dockwidgets.qdoc create mode 100644 doc/src/examples/dombookmarks.qdoc create mode 100644 doc/src/examples/draganddroppuzzle.qdoc create mode 100644 doc/src/examples/dragdroprobot.qdoc create mode 100644 doc/src/examples/draggableicons.qdoc create mode 100644 doc/src/examples/draggabletext.qdoc create mode 100644 doc/src/examples/drilldown.qdoc create mode 100644 doc/src/examples/dropsite.qdoc create mode 100644 doc/src/examples/dynamiclayouts.qdoc create mode 100644 doc/src/examples/echoplugin.qdoc create mode 100644 doc/src/examples/editabletreemodel.qdoc create mode 100644 doc/src/examples/elasticnodes.qdoc create mode 100644 doc/src/examples/extension.qdoc create mode 100644 doc/src/examples/fetchmore.qdoc create mode 100644 doc/src/examples/filetree.qdoc create mode 100644 doc/src/examples/findfiles.qdoc create mode 100644 doc/src/examples/flowlayout.qdoc create mode 100644 doc/src/examples/fontsampler.qdoc create mode 100644 doc/src/examples/formextractor.qdoc create mode 100644 doc/src/examples/fortuneclient.qdoc create mode 100644 doc/src/examples/fortuneserver.qdoc create mode 100644 doc/src/examples/framebufferobject.qdoc create mode 100644 doc/src/examples/framebufferobject2.qdoc create mode 100644 doc/src/examples/fridgemagnets.qdoc create mode 100644 doc/src/examples/ftp.qdoc create mode 100644 doc/src/examples/globalVariables.qdoc create mode 100644 doc/src/examples/grabber.qdoc create mode 100644 doc/src/examples/groupbox.qdoc create mode 100644 doc/src/examples/hellogl.qdoc create mode 100644 doc/src/examples/hellogl_es.qdoc create mode 100644 doc/src/examples/helloscript.qdoc create mode 100644 doc/src/examples/hellotr.qdoc create mode 100644 doc/src/examples/http.qdoc create mode 100644 doc/src/examples/i18n.qdoc create mode 100644 doc/src/examples/icons.qdoc create mode 100644 doc/src/examples/imagecomposition.qdoc create mode 100644 doc/src/examples/imageviewer.qdoc create mode 100644 doc/src/examples/itemviewspuzzle.qdoc create mode 100644 doc/src/examples/licensewizard.qdoc create mode 100644 doc/src/examples/lineedits.qdoc create mode 100644 doc/src/examples/localfortuneclient.qdoc create mode 100644 doc/src/examples/localfortuneserver.qdoc create mode 100644 doc/src/examples/loopback.qdoc create mode 100644 doc/src/examples/mandelbrot.qdoc create mode 100644 doc/src/examples/masterdetail.qdoc create mode 100644 doc/src/examples/mdi.qdoc create mode 100644 doc/src/examples/menus.qdoc create mode 100644 doc/src/examples/mousecalibration.qdoc create mode 100644 doc/src/examples/movie.qdoc create mode 100644 doc/src/examples/multipleinheritance.qdoc create mode 100644 doc/src/examples/musicplayerexample.qdoc create mode 100644 doc/src/examples/network-chat.qdoc create mode 100644 doc/src/examples/orderform.qdoc create mode 100644 doc/src/examples/overpainting.qdoc create mode 100644 doc/src/examples/padnavigator.qdoc create mode 100644 doc/src/examples/painterpaths.qdoc create mode 100644 doc/src/examples/pbuffers.qdoc create mode 100644 doc/src/examples/pbuffers2.qdoc create mode 100644 doc/src/examples/pixelator.qdoc create mode 100644 doc/src/examples/plugandpaint.qdoc create mode 100644 doc/src/examples/portedasteroids.qdoc create mode 100644 doc/src/examples/portedcanvas.qdoc create mode 100644 doc/src/examples/previewer.qdoc create mode 100644 doc/src/examples/qobjectxmlmodel.qdoc create mode 100644 doc/src/examples/qtconcurrent-imagescaling.qdoc create mode 100644 doc/src/examples/qtconcurrent-map.qdoc create mode 100644 doc/src/examples/qtconcurrent-progressdialog.qdoc create mode 100644 doc/src/examples/qtconcurrent-runfunction.qdoc create mode 100644 doc/src/examples/qtconcurrent-wordcount.qdoc create mode 100644 doc/src/examples/qtscriptcalculator.qdoc create mode 100644 doc/src/examples/qtscriptcustomclass.qdoc create mode 100644 doc/src/examples/qtscripttetrix.qdoc create mode 100644 doc/src/examples/querymodel.qdoc create mode 100644 doc/src/examples/qxmlstreambookmarks.qdoc create mode 100644 doc/src/examples/recentfiles.qdoc create mode 100644 doc/src/examples/recipes.qdoc create mode 100644 doc/src/examples/regexp.qdoc create mode 100644 doc/src/examples/relationaltablemodel.qdoc create mode 100644 doc/src/examples/remotecontrol.qdoc create mode 100644 doc/src/examples/rsslisting.qdoc create mode 100644 doc/src/examples/samplebuffers.qdoc create mode 100644 doc/src/examples/saxbookmarks.qdoc create mode 100644 doc/src/examples/screenshot.qdoc create mode 100644 doc/src/examples/scribble.qdoc create mode 100644 doc/src/examples/sdi.qdoc create mode 100644 doc/src/examples/securesocketclient.qdoc create mode 100644 doc/src/examples/semaphores.qdoc create mode 100644 doc/src/examples/settingseditor.qdoc create mode 100644 doc/src/examples/shapedclock.qdoc create mode 100644 doc/src/examples/sharedmemory.qdoc create mode 100644 doc/src/examples/simpledecoration.qdoc create mode 100644 doc/src/examples/simpledommodel.qdoc create mode 100644 doc/src/examples/simpletextviewer.qdoc create mode 100644 doc/src/examples/simpletreemodel.qdoc create mode 100644 doc/src/examples/simplewidgetmapper.qdoc create mode 100644 doc/src/examples/sipdialog.qdoc create mode 100644 doc/src/examples/sliders.qdoc create mode 100644 doc/src/examples/spinboxdelegate.qdoc create mode 100644 doc/src/examples/spinboxes.qdoc create mode 100644 doc/src/examples/sqlwidgetmapper.qdoc create mode 100644 doc/src/examples/standarddialogs.qdoc create mode 100644 doc/src/examples/stardelegate.qdoc create mode 100644 doc/src/examples/styleplugin.qdoc create mode 100644 doc/src/examples/styles.qdoc create mode 100644 doc/src/examples/stylesheet.qdoc create mode 100644 doc/src/examples/svgalib.qdoc create mode 100644 doc/src/examples/svgviewer.qdoc create mode 100644 doc/src/examples/syntaxhighlighter.qdoc create mode 100644 doc/src/examples/systray.qdoc create mode 100644 doc/src/examples/tabdialog.qdoc create mode 100644 doc/src/examples/tablemodel.qdoc create mode 100644 doc/src/examples/tablet.qdoc create mode 100644 doc/src/examples/taskmenuextension.qdoc create mode 100644 doc/src/examples/tetrix.qdoc create mode 100644 doc/src/examples/textfinder.qdoc create mode 100644 doc/src/examples/textobject.qdoc create mode 100644 doc/src/examples/textures.qdoc create mode 100644 doc/src/examples/threadedfortuneserver.qdoc create mode 100644 doc/src/examples/tooltips.qdoc create mode 100644 doc/src/examples/torrent.qdoc create mode 100644 doc/src/examples/trafficinfo.qdoc create mode 100644 doc/src/examples/trafficlight.qdoc create mode 100644 doc/src/examples/transformations.qdoc create mode 100644 doc/src/examples/treemodelcompleter.qdoc create mode 100644 doc/src/examples/trivialwizard.qdoc create mode 100644 doc/src/examples/trollprint.qdoc create mode 100644 doc/src/examples/undoframework.qdoc create mode 100644 doc/src/examples/waitconditions.qdoc create mode 100644 doc/src/examples/wiggly.qdoc create mode 100644 doc/src/examples/windowflags.qdoc create mode 100644 doc/src/examples/worldtimeclockbuilder.qdoc create mode 100644 doc/src/examples/worldtimeclockplugin.qdoc create mode 100644 doc/src/examples/xmlstreamlint.qdoc create mode 100644 doc/src/exportedfunctions.qdoc create mode 100644 doc/src/external-resources.qdoc create mode 100644 doc/src/focus.qdoc create mode 100644 doc/src/functions.qdoc create mode 100644 doc/src/gallery-cde.qdoc create mode 100644 doc/src/gallery-cleanlooks.qdoc create mode 100644 doc/src/gallery-gtk.qdoc create mode 100644 doc/src/gallery-macintosh.qdoc create mode 100644 doc/src/gallery-motif.qdoc create mode 100644 doc/src/gallery-plastique.qdoc create mode 100644 doc/src/gallery-windows.qdoc create mode 100644 doc/src/gallery-windowsvista.qdoc create mode 100644 doc/src/gallery-windowsxp.qdoc create mode 100644 doc/src/gallery.qdoc create mode 100644 doc/src/geometry.qdoc create mode 100644 doc/src/gpl.qdoc create mode 100644 doc/src/graphicsview.qdoc create mode 100644 doc/src/groups.qdoc create mode 100644 doc/src/guibooks.qdoc create mode 100644 doc/src/hierarchy.qdoc create mode 100644 doc/src/how-to-learn-qt.qdoc create mode 100644 doc/src/i18n.qdoc create mode 100644 doc/src/images/2dpainting-example.png create mode 100644 doc/src/images/abstract-connections.png create mode 100644 doc/src/images/accessibilityarchitecture.png create mode 100644 doc/src/images/accessibleobjecttree.png create mode 100644 doc/src/images/addressbook-adddialog.png create mode 100644 doc/src/images/addressbook-classes.png create mode 100644 doc/src/images/addressbook-editdialog.png create mode 100644 doc/src/images/addressbook-example.png create mode 100644 doc/src/images/addressbook-filemenu.png create mode 100644 doc/src/images/addressbook-newaddresstab.png create mode 100644 doc/src/images/addressbook-signals.png create mode 100644 doc/src/images/addressbook-toolsmenu.png create mode 100644 doc/src/images/addressbook-tutorial-part1-labeled-layout.png create mode 100644 doc/src/images/addressbook-tutorial-part1-labeled-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-part1-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-part2-add-contact.png create mode 100644 doc/src/images/addressbook-tutorial-part2-add-flowchart.png create mode 100644 doc/src/images/addressbook-tutorial-part2-add-successful.png create mode 100644 doc/src/images/addressbook-tutorial-part2-labeled-layout.png create mode 100644 doc/src/images/addressbook-tutorial-part2-signals-and-slots.png create mode 100644 doc/src/images/addressbook-tutorial-part2-stretch-effects.png create mode 100644 doc/src/images/addressbook-tutorial-part3-labeled-layout.png create mode 100644 doc/src/images/addressbook-tutorial-part3-linkedlist.png create mode 100644 doc/src/images/addressbook-tutorial-part3-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-part4-remove.png create mode 100644 doc/src/images/addressbook-tutorial-part5-finddialog.png create mode 100644 doc/src/images/addressbook-tutorial-part5-notfound.png create mode 100644 doc/src/images/addressbook-tutorial-part5-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-part5-signals-and-slots.png create mode 100644 doc/src/images/addressbook-tutorial-part6-load.png create mode 100644 doc/src/images/addressbook-tutorial-part6-save.png create mode 100644 doc/src/images/addressbook-tutorial-part6-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-part7-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial-screenshot.png create mode 100644 doc/src/images/addressbook-tutorial.png create mode 100644 doc/src/images/affine-demo.png create mode 100644 doc/src/images/alphachannelimage.png create mode 100644 doc/src/images/alphafill.png create mode 100644 doc/src/images/analogclock-example.png create mode 100644 doc/src/images/analogclock-viewport.png create mode 100644 doc/src/images/antialiased.png create mode 100644 doc/src/images/application-menus.png create mode 100644 doc/src/images/application.png create mode 100644 doc/src/images/arthurplugin-demo.png create mode 100644 doc/src/images/assistant-address-toolbar.png create mode 100644 doc/src/images/assistant-assistant.png create mode 100644 doc/src/images/assistant-dockwidgets.png create mode 100644 doc/src/images/assistant-docwindow.png create mode 100644 doc/src/images/assistant-examples.png create mode 100644 doc/src/images/assistant-filter-toolbar.png create mode 100644 doc/src/images/assistant-preferences-documentation.png create mode 100644 doc/src/images/assistant-preferences-filters.png create mode 100644 doc/src/images/assistant-preferences-fonts.png create mode 100644 doc/src/images/assistant-preferences-options.png create mode 100644 doc/src/images/assistant-search.png create mode 100644 doc/src/images/assistant-toolbar.png create mode 100644 doc/src/images/basicdrawing-example.png create mode 100644 doc/src/images/basicgraphicslayouts-example.png create mode 100644 doc/src/images/basiclayouts-example.png create mode 100644 doc/src/images/basicsortfiltermodel-example.png create mode 100644 doc/src/images/bearings.png create mode 100644 doc/src/images/blockingfortuneclient-example.png create mode 100644 doc/src/images/books-demo.png create mode 100644 doc/src/images/borderlayout-example.png create mode 100644 doc/src/images/boxes-demo.png create mode 100644 doc/src/images/broadcastreceiver-example.png create mode 100644 doc/src/images/broadcastsender-example.png create mode 100644 doc/src/images/browser-demo.png create mode 100644 doc/src/images/brush-outline.png create mode 100644 doc/src/images/brush-styles.png create mode 100644 doc/src/images/buttonbox-gnomelayout-horizontal.png create mode 100644 doc/src/images/buttonbox-gnomelayout-vertical.png create mode 100644 doc/src/images/buttonbox-kdelayout-horizontal.png create mode 100644 doc/src/images/buttonbox-kdelayout-vertical.png create mode 100644 doc/src/images/buttonbox-mac-modeless-horizontal.png create mode 100644 doc/src/images/buttonbox-mac-modeless-vertical.png create mode 100644 doc/src/images/buttonbox-maclayout-horizontal.png create mode 100644 doc/src/images/buttonbox-maclayout-vertical.png create mode 100644 doc/src/images/buttonbox-winlayout-horizontal.png create mode 100644 doc/src/images/buttonbox-winlayout-vertical.png create mode 100644 doc/src/images/cachedtable-example.png create mode 100644 doc/src/images/calculator-example.png create mode 100644 doc/src/images/calculator-ugly.png create mode 100644 doc/src/images/calculatorbuilder-example.png create mode 100644 doc/src/images/calculatorform-example.png create mode 100644 doc/src/images/calendar-example.png create mode 100644 doc/src/images/calendarwidgetexample.png create mode 100644 doc/src/images/cannon-tutorial.png create mode 100644 doc/src/images/capabilitiesexample.png create mode 100644 doc/src/images/cde-calendarwidget.png create mode 100644 doc/src/images/cde-checkbox.png create mode 100644 doc/src/images/cde-combobox.png create mode 100644 doc/src/images/cde-dateedit.png create mode 100644 doc/src/images/cde-datetimeedit.png create mode 100644 doc/src/images/cde-dial.png create mode 100644 doc/src/images/cde-doublespinbox.png create mode 100644 doc/src/images/cde-fontcombobox.png create mode 100644 doc/src/images/cde-frame.png create mode 100644 doc/src/images/cde-groupbox.png create mode 100644 doc/src/images/cde-horizontalscrollbar.png create mode 100644 doc/src/images/cde-label.png create mode 100644 doc/src/images/cde-lcdnumber.png create mode 100644 doc/src/images/cde-lineedit.png create mode 100644 doc/src/images/cde-listview.png create mode 100644 doc/src/images/cde-progressbar.png create mode 100644 doc/src/images/cde-pushbutton.png create mode 100644 doc/src/images/cde-radiobutton.png create mode 100644 doc/src/images/cde-slider.png create mode 100644 doc/src/images/cde-spinbox.png create mode 100644 doc/src/images/cde-tableview.png create mode 100644 doc/src/images/cde-tabwidget.png create mode 100644 doc/src/images/cde-textedit.png create mode 100644 doc/src/images/cde-timeedit.png create mode 100644 doc/src/images/cde-toolbox.png create mode 100644 doc/src/images/cde-toolbutton.png create mode 100644 doc/src/images/cde-treeview.png create mode 100644 doc/src/images/charactermap-example.png create mode 100644 doc/src/images/chart-example.png create mode 100644 doc/src/images/chip-demo.png create mode 100644 doc/src/images/classwizard-flow.png create mode 100644 doc/src/images/classwizard.png create mode 100644 doc/src/images/cleanlooks-calendarwidget.png create mode 100644 doc/src/images/cleanlooks-checkbox.png create mode 100644 doc/src/images/cleanlooks-combobox.png create mode 100644 doc/src/images/cleanlooks-dateedit.png create mode 100644 doc/src/images/cleanlooks-datetimeedit.png create mode 100644 doc/src/images/cleanlooks-dial.png create mode 100644 doc/src/images/cleanlooks-dialogbuttonbox.png create mode 100644 doc/src/images/cleanlooks-doublespinbox.png create mode 100644 doc/src/images/cleanlooks-fontcombobox.png create mode 100644 doc/src/images/cleanlooks-frame.png create mode 100644 doc/src/images/cleanlooks-groupbox.png create mode 100644 doc/src/images/cleanlooks-horizontalscrollbar.png create mode 100644 doc/src/images/cleanlooks-label.png create mode 100644 doc/src/images/cleanlooks-lcdnumber.png create mode 100644 doc/src/images/cleanlooks-lineedit.png create mode 100644 doc/src/images/cleanlooks-listview.png create mode 100644 doc/src/images/cleanlooks-progressbar.png create mode 100644 doc/src/images/cleanlooks-pushbutton-menu.png create mode 100644 doc/src/images/cleanlooks-pushbutton.png create mode 100644 doc/src/images/cleanlooks-radiobutton.png create mode 100644 doc/src/images/cleanlooks-slider.png create mode 100644 doc/src/images/cleanlooks-spinbox.png create mode 100644 doc/src/images/cleanlooks-tableview.png create mode 100644 doc/src/images/cleanlooks-tabwidget.png create mode 100644 doc/src/images/cleanlooks-textedit.png create mode 100644 doc/src/images/cleanlooks-timeedit.png create mode 100644 doc/src/images/cleanlooks-toolbox.png create mode 100644 doc/src/images/cleanlooks-toolbutton.png create mode 100644 doc/src/images/cleanlooks-treeview.png create mode 100644 doc/src/images/codecs-example.png create mode 100644 doc/src/images/codeeditor-example.png create mode 100644 doc/src/images/collidingmice-example.png create mode 100644 doc/src/images/coloreditorfactoryimage.png create mode 100644 doc/src/images/combo-widget-mapper.png create mode 100644 doc/src/images/completer-example-country.png create mode 100644 doc/src/images/completer-example-dirmodel.png create mode 100644 doc/src/images/completer-example-qdirmodel.png create mode 100644 doc/src/images/completer-example-word.png create mode 100644 doc/src/images/completer-example.png create mode 100644 doc/src/images/complexwizard-detailspage.png create mode 100644 doc/src/images/complexwizard-evaluatepage.png create mode 100644 doc/src/images/complexwizard-finishpage.png create mode 100644 doc/src/images/complexwizard-flow.png create mode 100644 doc/src/images/complexwizard-registerpage.png create mode 100644 doc/src/images/complexwizard-titlepage.png create mode 100644 doc/src/images/complexwizard.png create mode 100644 doc/src/images/composition-demo.png create mode 100644 doc/src/images/concentriccircles-example.png create mode 100644 doc/src/images/conceptaudio.png create mode 100644 doc/src/images/conceptprocessor.png create mode 100644 doc/src/images/conceptvideo.png create mode 100644 doc/src/images/configdialog-example.png create mode 100644 doc/src/images/conicalGradient.png create mode 100644 doc/src/images/containerextension-example.png create mode 100644 doc/src/images/context2d-example-smileysmile.png create mode 100644 doc/src/images/context2d-example.png create mode 100644 doc/src/images/coordinatesystem-analogclock.png create mode 100644 doc/src/images/coordinatesystem-line-antialias.png create mode 100644 doc/src/images/coordinatesystem-line-raster.png create mode 100644 doc/src/images/coordinatesystem-line.png create mode 100644 doc/src/images/coordinatesystem-rect-antialias.png create mode 100644 doc/src/images/coordinatesystem-rect-raster.png create mode 100644 doc/src/images/coordinatesystem-rect.png create mode 100644 doc/src/images/coordinatesystem-transformations.png create mode 100644 doc/src/images/coordsys.png create mode 100644 doc/src/images/cursor-arrow.png create mode 100644 doc/src/images/cursor-busy.png create mode 100644 doc/src/images/cursor-closedhand.png create mode 100644 doc/src/images/cursor-cross.png create mode 100644 doc/src/images/cursor-forbidden.png create mode 100644 doc/src/images/cursor-hand.png create mode 100644 doc/src/images/cursor-hsplit.png create mode 100644 doc/src/images/cursor-ibeam.png create mode 100644 doc/src/images/cursor-openhand.png create mode 100644 doc/src/images/cursor-sizeall.png create mode 100644 doc/src/images/cursor-sizeb.png create mode 100644 doc/src/images/cursor-sizef.png create mode 100644 doc/src/images/cursor-sizeh.png create mode 100644 doc/src/images/cursor-sizev.png create mode 100644 doc/src/images/cursor-uparrow.png create mode 100644 doc/src/images/cursor-vsplit.png create mode 100644 doc/src/images/cursor-wait.png create mode 100644 doc/src/images/cursor-whatsthis.png create mode 100644 doc/src/images/customcompleter-example.png create mode 100644 doc/src/images/customcompleter-insertcompletion.png create mode 100644 doc/src/images/customsortfiltermodel-example.png create mode 100644 doc/src/images/customwidgetplugin-example.png create mode 100644 doc/src/images/datetimewidgets.png create mode 100644 doc/src/images/dbus-chat-example.png create mode 100644 doc/src/images/defaultprototypes-example.png create mode 100644 doc/src/images/deform-demo.png create mode 100644 doc/src/images/delayedecoding-example.png create mode 100644 doc/src/images/deployment-mac-application.png create mode 100644 doc/src/images/deployment-mac-bundlestructure.png create mode 100644 doc/src/images/deployment-windows-depends.png create mode 100644 doc/src/images/designer-action-editor.png create mode 100644 doc/src/images/designer-add-custom-toolbar.png create mode 100644 doc/src/images/designer-add-files-button.png create mode 100644 doc/src/images/designer-add-resource-entry-button.png create mode 100644 doc/src/images/designer-adding-dockwidget.png create mode 100644 doc/src/images/designer-adding-dynamic-property.png create mode 100644 doc/src/images/designer-adding-menu-action.png create mode 100644 doc/src/images/designer-adding-toolbar-action.png create mode 100644 doc/src/images/designer-buddy-making.png create mode 100644 doc/src/images/designer-buddy-mode.png create mode 100644 doc/src/images/designer-buddy-tool.png create mode 100644 doc/src/images/designer-choosing-form.png create mode 100644 doc/src/images/designer-code-viewer.png create mode 100644 doc/src/images/designer-connection-dialog.png create mode 100644 doc/src/images/designer-connection-editing.png create mode 100644 doc/src/images/designer-connection-editor.png create mode 100644 doc/src/images/designer-connection-highlight.png create mode 100644 doc/src/images/designer-connection-making.png create mode 100644 doc/src/images/designer-connection-mode.png create mode 100644 doc/src/images/designer-connection-to-form.png create mode 100644 doc/src/images/designer-connection-tool.png create mode 100644 doc/src/images/designer-containers-dockwidget.png create mode 100644 doc/src/images/designer-containers-frame.png create mode 100644 doc/src/images/designer-containers-groupbox.png create mode 100644 doc/src/images/designer-containers-stackedwidget.png create mode 100644 doc/src/images/designer-containers-tabwidget.png create mode 100644 doc/src/images/designer-containers-toolbox.png create mode 100644 doc/src/images/designer-creating-dynamic-property.png create mode 100644 doc/src/images/designer-creating-menu-entry1.png create mode 100644 doc/src/images/designer-creating-menu-entry2.png create mode 100644 doc/src/images/designer-creating-menu-entry3.png create mode 100644 doc/src/images/designer-creating-menu-entry4.png create mode 100644 doc/src/images/designer-creating-menu.png create mode 100644 doc/src/images/designer-creating-menu1.png create mode 100644 doc/src/images/designer-creating-menu2.png create mode 100644 doc/src/images/designer-creating-menu3.png create mode 100644 doc/src/images/designer-creating-menu4.png create mode 100644 doc/src/images/designer-creating-menubar.png create mode 100644 doc/src/images/designer-custom-widget-box.png create mode 100644 doc/src/images/designer-customize-toolbar.png create mode 100644 doc/src/images/designer-dialog-final.png create mode 100644 doc/src/images/designer-dialog-initial.png create mode 100644 doc/src/images/designer-dialog-layout.png create mode 100644 doc/src/images/designer-dialog-preview.png create mode 100644 doc/src/images/designer-disambiguation.png create mode 100644 doc/src/images/designer-dragging-onto-form.png create mode 100644 doc/src/images/designer-edit-resource.png create mode 100644 doc/src/images/designer-edit-resources-button.png create mode 100644 doc/src/images/designer-editing-mode.png create mode 100644 doc/src/images/designer-embedded-preview.png create mode 100644 doc/src/images/designer-english-dialog.png create mode 100644 doc/src/images/designer-examples.png create mode 100644 doc/src/images/designer-file-menu.png create mode 100644 doc/src/images/designer-find-icon.png create mode 100644 doc/src/images/designer-form-layout-cleanlooks.png create mode 100644 doc/src/images/designer-form-layout-macintosh.png create mode 100644 doc/src/images/designer-form-layout-windowsXP.png create mode 100644 doc/src/images/designer-form-layout.png create mode 100644 doc/src/images/designer-form-layoutfunction.png create mode 100644 doc/src/images/designer-form-settings.png create mode 100644 doc/src/images/designer-form-viewcode.png create mode 100644 doc/src/images/designer-french-dialog.png create mode 100644 doc/src/images/designer-getting-started.png create mode 100644 doc/src/images/designer-layout-inserting.png create mode 100644 doc/src/images/designer-main-window.png create mode 100644 doc/src/images/designer-making-connection.png create mode 100644 doc/src/images/designer-manual-containerextension.png create mode 100644 doc/src/images/designer-manual-membersheetextension.png create mode 100644 doc/src/images/designer-manual-propertysheetextension.png create mode 100644 doc/src/images/designer-manual-taskmenuextension.png create mode 100644 doc/src/images/designer-multiple-screenshot.png create mode 100644 doc/src/images/designer-object-inspector.png create mode 100644 doc/src/images/designer-palette-brush-editor.png create mode 100644 doc/src/images/designer-palette-editor.png create mode 100644 doc/src/images/designer-palette-gradient-editor.png create mode 100644 doc/src/images/designer-palette-pattern-editor.png create mode 100644 doc/src/images/designer-preview-device-skin.png create mode 100644 doc/src/images/designer-preview-deviceskin-selection.png create mode 100644 doc/src/images/designer-preview-style-selection.png create mode 100644 doc/src/images/designer-preview-style.png create mode 100644 doc/src/images/designer-preview-stylesheet.png create mode 100644 doc/src/images/designer-promoting-widgets.png create mode 100644 doc/src/images/designer-property-editor-add-dynamic.png create mode 100644 doc/src/images/designer-property-editor-configure.png create mode 100644 doc/src/images/designer-property-editor-link.png create mode 100644 doc/src/images/designer-property-editor-remove-dynamic.png create mode 100644 doc/src/images/designer-property-editor-toolbar.png create mode 100644 doc/src/images/designer-property-editor.png create mode 100644 doc/src/images/designer-reload-resources-button.png create mode 100644 doc/src/images/designer-remove-custom-toolbar.png create mode 100644 doc/src/images/designer-remove-resource-entry-button.png create mode 100644 doc/src/images/designer-resource-browser.png create mode 100644 doc/src/images/designer-resource-selector.png create mode 100644 doc/src/images/designer-resource-tool.png create mode 100644 doc/src/images/designer-resources-adding.png create mode 100644 doc/src/images/designer-resources-editing.png create mode 100644 doc/src/images/designer-resources-empty.png create mode 100644 doc/src/images/designer-resources-using.png create mode 100644 doc/src/images/designer-screenshot-small.png create mode 100644 doc/src/images/designer-screenshot.png create mode 100644 doc/src/images/designer-selecting-widget.png create mode 100644 doc/src/images/designer-selecting-widgets.png create mode 100644 doc/src/images/designer-set-layout.png create mode 100644 doc/src/images/designer-set-layout2.png create mode 100644 doc/src/images/designer-splitter-layout.png create mode 100644 doc/src/images/designer-stylesheet-options.png create mode 100644 doc/src/images/designer-stylesheet-usage.png create mode 100644 doc/src/images/designer-tab-order-mode.png create mode 100644 doc/src/images/designer-tab-order-tool.png create mode 100644 doc/src/images/designer-validator-highlighter.png create mode 100644 doc/src/images/designer-widget-box.png create mode 100644 doc/src/images/designer-widget-filter.png create mode 100644 doc/src/images/designer-widget-final.png create mode 100644 doc/src/images/designer-widget-initial.png create mode 100644 doc/src/images/designer-widget-layout.png create mode 100644 doc/src/images/designer-widget-morph.png create mode 100644 doc/src/images/designer-widget-preview.png create mode 100644 doc/src/images/designer-widget-tool.png create mode 100644 doc/src/images/desktop-examples.png create mode 100644 doc/src/images/diagonalGradient.png create mode 100644 doc/src/images/diagramscene.png create mode 100644 doc/src/images/dialog-examples.png create mode 100644 doc/src/images/dialogbuttonboxexample.png create mode 100644 doc/src/images/dialogs-examples.png create mode 100644 doc/src/images/digitalclock-example.png create mode 100644 doc/src/images/directapproach-calculatorform.png create mode 100644 doc/src/images/dirview-example.png create mode 100644 doc/src/images/dockwidget-cross.png create mode 100644 doc/src/images/dockwidget-neighbors.png create mode 100644 doc/src/images/dockwidgets-example.png create mode 100644 doc/src/images/dombookmarks-example.png create mode 100644 doc/src/images/draganddrop-examples.png create mode 100644 doc/src/images/draganddroppuzzle-example.png create mode 100644 doc/src/images/dragdroprobot-example.png create mode 100644 doc/src/images/draggableicons-example.png create mode 100644 doc/src/images/draggabletext-example.png create mode 100644 doc/src/images/draw_arc.png create mode 100644 doc/src/images/draw_chord.png create mode 100644 doc/src/images/drilldown-example.png create mode 100644 doc/src/images/dropsite-example.png create mode 100644 doc/src/images/dynamiclayouts-example.png create mode 100644 doc/src/images/echopluginexample.png create mode 100644 doc/src/images/effectwidget.png create mode 100644 doc/src/images/elasticnodes-example.png create mode 100644 doc/src/images/embedded-demo-launcher.png create mode 100644 doc/src/images/embedded-simpledecoration-example-styles.png create mode 100644 doc/src/images/embedded-simpledecoration-example.png create mode 100644 doc/src/images/embeddeddialogs-demo.png create mode 100644 doc/src/images/extension-example.png create mode 100644 doc/src/images/extension_more.png create mode 100644 doc/src/images/fetchmore-example.png create mode 100644 doc/src/images/filedialogurls.png create mode 100644 doc/src/images/filetree_1-example.png create mode 100644 doc/src/images/filetree_2-example.png create mode 100644 doc/src/images/findfiles-example.png create mode 100644 doc/src/images/findfiles_progress_dialog.png create mode 100644 doc/src/images/flowlayout-example.png create mode 100644 doc/src/images/fontsampler-example.png create mode 100644 doc/src/images/foreignkeys.png create mode 100644 doc/src/images/formextractor-example.png create mode 100644 doc/src/images/fortuneclient-example.png create mode 100644 doc/src/images/fortuneserver-example.png create mode 100644 doc/src/images/framebufferobject-example.png create mode 100644 doc/src/images/framebufferobject2-example.png create mode 100644 doc/src/images/frames.png create mode 100644 doc/src/images/fridgemagnets-example.png create mode 100644 doc/src/images/ftp-example.png create mode 100644 doc/src/images/geometry.png create mode 100644 doc/src/images/grabber-example.png create mode 100644 doc/src/images/gradientText.png create mode 100644 doc/src/images/gradients-demo.png create mode 100644 doc/src/images/graphicsview-ellipseitem-pie.png create mode 100644 doc/src/images/graphicsview-ellipseitem.png create mode 100644 doc/src/images/graphicsview-examples.png create mode 100644 doc/src/images/graphicsview-items.png create mode 100644 doc/src/images/graphicsview-lineitem.png create mode 100644 doc/src/images/graphicsview-map.png create mode 100644 doc/src/images/graphicsview-parentchild.png create mode 100644 doc/src/images/graphicsview-pathitem.png create mode 100644 doc/src/images/graphicsview-pixmapitem.png create mode 100644 doc/src/images/graphicsview-polygonitem.png create mode 100644 doc/src/images/graphicsview-rectitem.png create mode 100644 doc/src/images/graphicsview-shapes.png create mode 100644 doc/src/images/graphicsview-simpletextitem.png create mode 100644 doc/src/images/graphicsview-text.png create mode 100644 doc/src/images/graphicsview-textitem.png create mode 100644 doc/src/images/graphicsview-view.png create mode 100644 doc/src/images/graphicsview-zorder.png create mode 100644 doc/src/images/gridlayout.png create mode 100644 doc/src/images/groupbox-example.png create mode 100644 doc/src/images/gtk-calendarwidget.png create mode 100644 doc/src/images/gtk-checkbox.png create mode 100644 doc/src/images/gtk-columnview.png create mode 100644 doc/src/images/gtk-combobox.png create mode 100644 doc/src/images/gtk-dateedit.png create mode 100644 doc/src/images/gtk-datetimeedit.png create mode 100644 doc/src/images/gtk-dial.png create mode 100644 doc/src/images/gtk-doublespinbox.png create mode 100644 doc/src/images/gtk-fontcombobox.png create mode 100644 doc/src/images/gtk-frame.png create mode 100644 doc/src/images/gtk-groupbox.png create mode 100644 doc/src/images/gtk-horizontalscrollbar.png create mode 100644 doc/src/images/gtk-label.png create mode 100644 doc/src/images/gtk-lcdnumber.png create mode 100644 doc/src/images/gtk-lineedit.png create mode 100644 doc/src/images/gtk-listview.png create mode 100644 doc/src/images/gtk-progressbar.png create mode 100644 doc/src/images/gtk-pushbutton.png create mode 100644 doc/src/images/gtk-radiobutton.png create mode 100644 doc/src/images/gtk-slider.png create mode 100644 doc/src/images/gtk-spinbox.png create mode 100644 doc/src/images/gtk-style-screenshot.png create mode 100644 doc/src/images/gtk-tableview.png create mode 100644 doc/src/images/gtk-tabwidget.png create mode 100644 doc/src/images/gtk-textedit.png create mode 100644 doc/src/images/gtk-timeedit.png create mode 100644 doc/src/images/gtk-toolbox.png create mode 100644 doc/src/images/gtk-toolbutton.png create mode 100644 doc/src/images/gtk-treeview.png create mode 100644 doc/src/images/hellogl-es-example.png create mode 100644 doc/src/images/hellogl-example.png create mode 100644 doc/src/images/http-example.png create mode 100644 doc/src/images/httpstack.png create mode 100644 doc/src/images/i18n-example.png create mode 100644 doc/src/images/icon.png create mode 100644 doc/src/images/icons-example.png create mode 100644 doc/src/images/icons-view-menu.png create mode 100644 doc/src/images/icons_find_normal.png create mode 100644 doc/src/images/icons_find_normal_disabled.png create mode 100644 doc/src/images/icons_images_groupbox.png create mode 100644 doc/src/images/icons_monkey.png create mode 100644 doc/src/images/icons_monkey_active.png create mode 100644 doc/src/images/icons_monkey_mess.png create mode 100644 doc/src/images/icons_preview_area.png create mode 100644 doc/src/images/icons_qt_extended_16x16.png create mode 100644 doc/src/images/icons_qt_extended_17x17.png create mode 100644 doc/src/images/icons_qt_extended_32x32.png create mode 100644 doc/src/images/icons_qt_extended_33x33.png create mode 100644 doc/src/images/icons_qt_extended_48x48.png create mode 100644 doc/src/images/icons_qt_extended_64x64.png create mode 100644 doc/src/images/icons_qt_extended_8x8.png create mode 100644 doc/src/images/icons_size_groupbox.png create mode 100644 doc/src/images/icons_size_spinbox.png create mode 100644 doc/src/images/imagecomposition-example.png create mode 100644 doc/src/images/imageviewer-example.png create mode 100644 doc/src/images/imageviewer-fit_to_window_1.png create mode 100644 doc/src/images/imageviewer-fit_to_window_2.png create mode 100644 doc/src/images/imageviewer-original_size.png create mode 100644 doc/src/images/imageviewer-zoom_in_1.png create mode 100644 doc/src/images/imageviewer-zoom_in_2.png create mode 100644 doc/src/images/inputdialogs.png create mode 100644 doc/src/images/insertrowinmodelview.png create mode 100644 doc/src/images/interview-demo.png create mode 100644 doc/src/images/interview-shareddirmodel.png create mode 100644 doc/src/images/itemview-examples.png create mode 100644 doc/src/images/itemviews-editabletreemodel-indexes.png create mode 100644 doc/src/images/itemviews-editabletreemodel-items.png create mode 100644 doc/src/images/itemviews-editabletreemodel-model.png create mode 100644 doc/src/images/itemviews-editabletreemodel-values.png create mode 100644 doc/src/images/itemviews-editabletreemodel.png create mode 100644 doc/src/images/itemviews-examples.png create mode 100644 doc/src/images/itemviewspuzzle-example.png create mode 100644 doc/src/images/javaiterators1.png create mode 100644 doc/src/images/javaiterators2.png create mode 100644 doc/src/images/javastyle/branchindicatorimage.png create mode 100644 doc/src/images/javastyle/button.png create mode 100644 doc/src/images/javastyle/checkbox.png create mode 100644 doc/src/images/javastyle/checkboxexample.png create mode 100644 doc/src/images/javastyle/checkingsomestuff.png create mode 100644 doc/src/images/javastyle/combobox.png create mode 100644 doc/src/images/javastyle/comboboximage.png create mode 100644 doc/src/images/javastyle/conceptualpushbuttontree.png create mode 100644 doc/src/images/javastyle/dockwidget.png create mode 100644 doc/src/images/javastyle/dockwidgetimage.png create mode 100644 doc/src/images/javastyle/groupbox.png create mode 100644 doc/src/images/javastyle/groupboximage.png create mode 100644 doc/src/images/javastyle/header.png create mode 100644 doc/src/images/javastyle/headerimage.png create mode 100644 doc/src/images/javastyle/menu.png create mode 100644 doc/src/images/javastyle/menubar.png create mode 100644 doc/src/images/javastyle/menubarimage.png create mode 100644 doc/src/images/javastyle/menuimage.png create mode 100644 doc/src/images/javastyle/plastiquetabimage.png create mode 100644 doc/src/images/javastyle/plastiquetabtest.png create mode 100644 doc/src/images/javastyle/progressbar.png create mode 100644 doc/src/images/javastyle/progressbarimage.png create mode 100644 doc/src/images/javastyle/pushbutton.png create mode 100644 doc/src/images/javastyle/rubberband.png create mode 100644 doc/src/images/javastyle/rubberbandimage.png create mode 100644 doc/src/images/javastyle/scrollbar.png create mode 100644 doc/src/images/javastyle/scrollbarimage.png create mode 100644 doc/src/images/javastyle/sizegrip.png create mode 100644 doc/src/images/javastyle/sizegripimage.png create mode 100644 doc/src/images/javastyle/slider.png create mode 100644 doc/src/images/javastyle/sliderhandle.png create mode 100644 doc/src/images/javastyle/sliderimage.png create mode 100644 doc/src/images/javastyle/slidertroubble.png create mode 100644 doc/src/images/javastyle/spinbox.png create mode 100644 doc/src/images/javastyle/spinboximage.png create mode 100644 doc/src/images/javastyle/splitter.png create mode 100644 doc/src/images/javastyle/tab.png create mode 100644 doc/src/images/javastyle/tabwidget.png create mode 100644 doc/src/images/javastyle/titlebar.png create mode 100644 doc/src/images/javastyle/titlebarimage.png create mode 100644 doc/src/images/javastyle/toolbar.png create mode 100644 doc/src/images/javastyle/toolbarimage.png create mode 100644 doc/src/images/javastyle/toolbox.png create mode 100644 doc/src/images/javastyle/toolboximage.png create mode 100644 doc/src/images/javastyle/toolbutton.png create mode 100644 doc/src/images/javastyle/toolbuttonimage.png create mode 100644 doc/src/images/javastyle/windowstabimage.png create mode 100644 doc/src/images/layout-examples.png create mode 100644 doc/src/images/layout1.png create mode 100644 doc/src/images/layout2.png create mode 100644 doc/src/images/layouts-examples.png create mode 100644 doc/src/images/licensewizard-example.png create mode 100644 doc/src/images/licensewizard-flow.png create mode 100644 doc/src/images/licensewizard.png create mode 100644 doc/src/images/lineedits-example.png create mode 100644 doc/src/images/linguist-arrowpad_en.png create mode 100644 doc/src/images/linguist-arrowpad_fr.png create mode 100644 doc/src/images/linguist-arrowpad_nl.png create mode 100644 doc/src/images/linguist-auxlanguages.png create mode 100644 doc/src/images/linguist-batchtranslation.png create mode 100644 doc/src/images/linguist-check-empty.png create mode 100644 doc/src/images/linguist-check-obsolete.png create mode 100644 doc/src/images/linguist-check-off.png create mode 100644 doc/src/images/linguist-check-on.png create mode 100644 doc/src/images/linguist-check-warning.png create mode 100644 doc/src/images/linguist-danger.png create mode 100644 doc/src/images/linguist-doneandnext.png create mode 100644 doc/src/images/linguist-editcopy.png create mode 100644 doc/src/images/linguist-editcut.png create mode 100644 doc/src/images/linguist-editfind.png create mode 100644 doc/src/images/linguist-editpaste.png create mode 100644 doc/src/images/linguist-editredo.png create mode 100644 doc/src/images/linguist-editundo.png create mode 100644 doc/src/images/linguist-examples.png create mode 100644 doc/src/images/linguist-fileopen.png create mode 100644 doc/src/images/linguist-fileprint.png create mode 100644 doc/src/images/linguist-filesave.png create mode 100644 doc/src/images/linguist-finddialog.png create mode 100644 doc/src/images/linguist-hellotr_en.png create mode 100644 doc/src/images/linguist-hellotr_la.png create mode 100644 doc/src/images/linguist-linguist.png create mode 100644 doc/src/images/linguist-linguist_2.png create mode 100644 doc/src/images/linguist-menubar.png create mode 100644 doc/src/images/linguist-next.png create mode 100644 doc/src/images/linguist-nextunfinished.png create mode 100644 doc/src/images/linguist-phrasebookdialog.png create mode 100644 doc/src/images/linguist-phrasebookopen.png create mode 100644 doc/src/images/linguist-prev.png create mode 100644 doc/src/images/linguist-previewtool.png create mode 100644 doc/src/images/linguist-prevunfinished.png create mode 100644 doc/src/images/linguist-toolbar.png create mode 100644 doc/src/images/linguist-translationfilesettings.png create mode 100644 doc/src/images/linguist-trollprint_10_en.png create mode 100644 doc/src/images/linguist-trollprint_10_pt_bad.png create mode 100644 doc/src/images/linguist-trollprint_10_pt_good.png create mode 100644 doc/src/images/linguist-trollprint_11_en.png create mode 100644 doc/src/images/linguist-trollprint_11_pt.png create mode 100644 doc/src/images/linguist-validateaccelerators.png create mode 100644 doc/src/images/linguist-validatephrases.png create mode 100644 doc/src/images/linguist-validateplacemarkers.png create mode 100644 doc/src/images/linguist-validatepunctuation.png create mode 100644 doc/src/images/linguist-whatsthis.png create mode 100644 doc/src/images/localfortuneclient-example.png create mode 100644 doc/src/images/localfortuneserver-example.png create mode 100644 doc/src/images/loopback-example.png create mode 100644 doc/src/images/mac-cocoa.png create mode 100644 doc/src/images/macintosh-calendarwidget.png create mode 100644 doc/src/images/macintosh-checkbox.png create mode 100644 doc/src/images/macintosh-combobox.png create mode 100644 doc/src/images/macintosh-dateedit.png create mode 100644 doc/src/images/macintosh-datetimeedit.png create mode 100644 doc/src/images/macintosh-dial.png create mode 100644 doc/src/images/macintosh-doublespinbox.png create mode 100644 doc/src/images/macintosh-fontcombobox.png create mode 100644 doc/src/images/macintosh-frame.png create mode 100644 doc/src/images/macintosh-groupbox.png create mode 100644 doc/src/images/macintosh-horizontalscrollbar.png create mode 100644 doc/src/images/macintosh-label.png create mode 100644 doc/src/images/macintosh-lcdnumber.png create mode 100644 doc/src/images/macintosh-lineedit.png create mode 100644 doc/src/images/macintosh-listview.png create mode 100644 doc/src/images/macintosh-menu.png create mode 100644 doc/src/images/macintosh-progressbar.png create mode 100644 doc/src/images/macintosh-pushbutton.png create mode 100644 doc/src/images/macintosh-radiobutton.png create mode 100644 doc/src/images/macintosh-slider.png create mode 100644 doc/src/images/macintosh-spinbox.png create mode 100644 doc/src/images/macintosh-tableview.png create mode 100644 doc/src/images/macintosh-tabwidget.png create mode 100644 doc/src/images/macintosh-textedit.png create mode 100644 doc/src/images/macintosh-timeedit.png create mode 100644 doc/src/images/macintosh-toolbox.png create mode 100644 doc/src/images/macintosh-toolbutton.png create mode 100644 doc/src/images/macintosh-treeview.png create mode 100644 doc/src/images/macintosh-unified-toolbar.png create mode 100644 doc/src/images/macmainwindow.png create mode 100644 doc/src/images/mainwindow-contextmenu.png create mode 100644 doc/src/images/mainwindow-custom-dock.png create mode 100644 doc/src/images/mainwindow-demo.png create mode 100644 doc/src/images/mainwindow-docks-example.png create mode 100644 doc/src/images/mainwindow-docks.png create mode 100644 doc/src/images/mainwindow-examples.png create mode 100644 doc/src/images/mainwindow-vertical-dock.png create mode 100644 doc/src/images/mainwindow-vertical-tabs.png create mode 100644 doc/src/images/mainwindowlayout.png create mode 100644 doc/src/images/mainwindows-examples.png create mode 100644 doc/src/images/mandelbrot-example.png create mode 100644 doc/src/images/mandelbrot_scroll1.png create mode 100644 doc/src/images/mandelbrot_scroll2.png create mode 100644 doc/src/images/mandelbrot_scroll3.png create mode 100644 doc/src/images/mandelbrot_zoom1.png create mode 100644 doc/src/images/mandelbrot_zoom2.png create mode 100644 doc/src/images/mandelbrot_zoom3.png create mode 100644 doc/src/images/masterdetail-example.png create mode 100644 doc/src/images/mdi-cascade.png create mode 100644 doc/src/images/mdi-example.png create mode 100644 doc/src/images/mdi-tile.png create mode 100644 doc/src/images/mediaplayer-demo.png create mode 100644 doc/src/images/menus-example.png create mode 100644 doc/src/images/modelindex-no-parent.png create mode 100644 doc/src/images/modelindex-parent.png create mode 100644 doc/src/images/modelview-begin-append-columns.png create mode 100644 doc/src/images/modelview-begin-append-rows.png create mode 100644 doc/src/images/modelview-begin-insert-columns.png create mode 100644 doc/src/images/modelview-begin-insert-rows.png create mode 100644 doc/src/images/modelview-begin-remove-columns.png create mode 100644 doc/src/images/modelview-begin-remove-rows.png create mode 100644 doc/src/images/modelview-listmodel.png create mode 100644 doc/src/images/modelview-models.png create mode 100644 doc/src/images/modelview-overview.png create mode 100644 doc/src/images/modelview-roles.png create mode 100644 doc/src/images/modelview-tablemodel.png create mode 100644 doc/src/images/modelview-treemodel.png create mode 100644 doc/src/images/motif-calendarwidget.png create mode 100644 doc/src/images/motif-checkbox.png create mode 100644 doc/src/images/motif-combobox.png create mode 100644 doc/src/images/motif-dateedit.png create mode 100644 doc/src/images/motif-datetimeedit.png create mode 100644 doc/src/images/motif-dial.png create mode 100644 doc/src/images/motif-doublespinbox.png create mode 100644 doc/src/images/motif-fontcombobox.png create mode 100644 doc/src/images/motif-frame.png create mode 100644 doc/src/images/motif-groupbox.png create mode 100644 doc/src/images/motif-horizontalscrollbar.png create mode 100644 doc/src/images/motif-label.png create mode 100644 doc/src/images/motif-lcdnumber.png create mode 100644 doc/src/images/motif-lineedit.png create mode 100644 doc/src/images/motif-listview.png create mode 100644 doc/src/images/motif-menubar.png create mode 100644 doc/src/images/motif-progressbar.png create mode 100644 doc/src/images/motif-pushbutton.png create mode 100644 doc/src/images/motif-radiobutton.png create mode 100644 doc/src/images/motif-slider.png create mode 100644 doc/src/images/motif-spinbox.png create mode 100644 doc/src/images/motif-tableview.png create mode 100644 doc/src/images/motif-tabwidget.png create mode 100644 doc/src/images/motif-textedit.png create mode 100644 doc/src/images/motif-timeedit.png create mode 100644 doc/src/images/motif-todo.png create mode 100644 doc/src/images/motif-toolbox.png create mode 100644 doc/src/images/motif-toolbutton.png create mode 100644 doc/src/images/motif-treeview.png create mode 100644 doc/src/images/movie-example.png create mode 100644 doc/src/images/msgbox1.png create mode 100644 doc/src/images/msgbox2.png create mode 100644 doc/src/images/msgbox3.png create mode 100644 doc/src/images/msgbox4.png create mode 100644 doc/src/images/multipleinheritance-example.png create mode 100644 doc/src/images/musicplayer.png create mode 100644 doc/src/images/network-chat-example.png create mode 100644 doc/src/images/network-examples.png create mode 100644 doc/src/images/noforeignkeys.png create mode 100644 doc/src/images/opengl-examples.png create mode 100644 doc/src/images/orderform-example-detailsdialog.png create mode 100644 doc/src/images/orderform-example.png create mode 100644 doc/src/images/overpainting-example.png create mode 100644 doc/src/images/padnavigator-example.png create mode 100644 doc/src/images/painterpaths-example.png create mode 100644 doc/src/images/painting-examples.png create mode 100644 doc/src/images/paintsystem-antialiasing.png create mode 100644 doc/src/images/paintsystem-core.png create mode 100644 doc/src/images/paintsystem-devices.png create mode 100644 doc/src/images/paintsystem-fancygradient.png create mode 100644 doc/src/images/paintsystem-gradients.png create mode 100644 doc/src/images/paintsystem-icon.png create mode 100644 doc/src/images/paintsystem-movie.png create mode 100644 doc/src/images/paintsystem-painterpath.png create mode 100644 doc/src/images/paintsystem-stylepainter.png create mode 100644 doc/src/images/paintsystem-svg.png create mode 100644 doc/src/images/palette.png create mode 100644 doc/src/images/parent-child-widgets.png create mode 100644 doc/src/images/pathexample.png create mode 100644 doc/src/images/pathstroke-demo.png create mode 100644 doc/src/images/patternist-importFlow.png create mode 100644 doc/src/images/patternist-wordProcessor.png create mode 100644 doc/src/images/pbuffers-example.png create mode 100644 doc/src/images/pbuffers2-example.png create mode 100644 doc/src/images/phonon-examples.png create mode 100644 doc/src/images/pixelator-example.png create mode 100644 doc/src/images/pixmapfilter-example.png create mode 100644 doc/src/images/pixmapfilterexample-colorize.png create mode 100644 doc/src/images/pixmapfilterexample-dropshadow.png create mode 100644 doc/src/images/plaintext-layout.png create mode 100644 doc/src/images/plastique-calendarwidget.png create mode 100644 doc/src/images/plastique-checkbox.png create mode 100644 doc/src/images/plastique-colordialog.png create mode 100644 doc/src/images/plastique-combobox.png create mode 100644 doc/src/images/plastique-dateedit.png create mode 100644 doc/src/images/plastique-datetimeedit.png create mode 100644 doc/src/images/plastique-dial.png create mode 100644 doc/src/images/plastique-dialogbuttonbox.png create mode 100644 doc/src/images/plastique-doublespinbox.png create mode 100644 doc/src/images/plastique-filedialog.png create mode 100644 doc/src/images/plastique-fontcombobox-open.png create mode 100644 doc/src/images/plastique-fontcombobox.png create mode 100644 doc/src/images/plastique-fontdialog.png create mode 100644 doc/src/images/plastique-frame.png create mode 100644 doc/src/images/plastique-groupbox.png create mode 100644 doc/src/images/plastique-horizontalscrollbar.png create mode 100644 doc/src/images/plastique-label.png create mode 100644 doc/src/images/plastique-lcdnumber.png create mode 100644 doc/src/images/plastique-lineedit.png create mode 100644 doc/src/images/plastique-listview.png create mode 100644 doc/src/images/plastique-menu.png create mode 100644 doc/src/images/plastique-menubar.png create mode 100644 doc/src/images/plastique-messagebox.png create mode 100644 doc/src/images/plastique-printdialog-properties.png create mode 100644 doc/src/images/plastique-printdialog.png create mode 100644 doc/src/images/plastique-progressbar.png create mode 100644 doc/src/images/plastique-progressdialog.png create mode 100644 doc/src/images/plastique-pushbutton-menu.png create mode 100644 doc/src/images/plastique-pushbutton.png create mode 100644 doc/src/images/plastique-radiobutton.png create mode 100644 doc/src/images/plastique-sizegrip.png create mode 100644 doc/src/images/plastique-slider.png create mode 100644 doc/src/images/plastique-spinbox.png create mode 100644 doc/src/images/plastique-statusbar.png create mode 100644 doc/src/images/plastique-tabbar-truncated.png create mode 100644 doc/src/images/plastique-tabbar.png create mode 100644 doc/src/images/plastique-tableview.png create mode 100644 doc/src/images/plastique-tabwidget.png create mode 100644 doc/src/images/plastique-textedit.png create mode 100644 doc/src/images/plastique-timeedit.png create mode 100644 doc/src/images/plastique-toolbox.png create mode 100644 doc/src/images/plastique-toolbutton.png create mode 100644 doc/src/images/plastique-treeview.png create mode 100644 doc/src/images/plugandpaint-plugindialog.png create mode 100644 doc/src/images/plugandpaint.png create mode 100644 doc/src/images/portedasteroids-example.png create mode 100644 doc/src/images/portedcanvas-example.png create mode 100644 doc/src/images/previewer-example.png create mode 100644 doc/src/images/previewer-ui.png create mode 100644 doc/src/images/printer-rects.png create mode 100644 doc/src/images/progressBar-stylesheet.png create mode 100644 doc/src/images/progressBar2-stylesheet.png create mode 100644 doc/src/images/propagation-custom.png create mode 100644 doc/src/images/propagation-standard.png create mode 100644 doc/src/images/q3painter_rationale.png create mode 100644 doc/src/images/qactiongroup-align.png create mode 100644 doc/src/images/qcalendarwidget-grid.png create mode 100644 doc/src/images/qcalendarwidget-maximum.png create mode 100644 doc/src/images/qcalendarwidget-minimum.png create mode 100644 doc/src/images/qcalendarwidget.png create mode 100644 doc/src/images/qcanvasellipse.png create mode 100644 doc/src/images/qcdestyle.png create mode 100644 doc/src/images/qcolor-cmyk.png create mode 100644 doc/src/images/qcolor-hsv.png create mode 100644 doc/src/images/qcolor-hue.png create mode 100644 doc/src/images/qcolor-rgb.png create mode 100644 doc/src/images/qcolor-saturation.png create mode 100644 doc/src/images/qcolor-value.png create mode 100644 doc/src/images/qcolumnview.png create mode 100644 doc/src/images/qconicalgradient.png create mode 100644 doc/src/images/qdatawidgetmapper-simple.png create mode 100644 doc/src/images/qdesktopwidget.png create mode 100644 doc/src/images/qdockwindow.png create mode 100644 doc/src/images/qeasingcurve-cosinecurve.png create mode 100644 doc/src/images/qeasingcurve-inback.png create mode 100644 doc/src/images/qeasingcurve-inbounce.png create mode 100644 doc/src/images/qeasingcurve-incirc.png create mode 100644 doc/src/images/qeasingcurve-incubic.png create mode 100644 doc/src/images/qeasingcurve-incurve.png create mode 100644 doc/src/images/qeasingcurve-inelastic.png create mode 100644 doc/src/images/qeasingcurve-inexpo.png create mode 100644 doc/src/images/qeasingcurve-inoutback.png create mode 100644 doc/src/images/qeasingcurve-inoutbounce.png create mode 100644 doc/src/images/qeasingcurve-inoutcirc.png create mode 100644 doc/src/images/qeasingcurve-inoutcubic.png create mode 100644 doc/src/images/qeasingcurve-inoutelastic.png create mode 100644 doc/src/images/qeasingcurve-inoutexpo.png create mode 100644 doc/src/images/qeasingcurve-inoutquad.png create mode 100644 doc/src/images/qeasingcurve-inoutquart.png create mode 100644 doc/src/images/qeasingcurve-inoutquint.png create mode 100644 doc/src/images/qeasingcurve-inoutsine.png create mode 100644 doc/src/images/qeasingcurve-inquad.png create mode 100644 doc/src/images/qeasingcurve-inquart.png create mode 100644 doc/src/images/qeasingcurve-inquint.png create mode 100644 doc/src/images/qeasingcurve-insine.png create mode 100644 doc/src/images/qeasingcurve-linear.png create mode 100644 doc/src/images/qeasingcurve-outback.png create mode 100644 doc/src/images/qeasingcurve-outbounce.png create mode 100644 doc/src/images/qeasingcurve-outcirc.png create mode 100644 doc/src/images/qeasingcurve-outcubic.png create mode 100644 doc/src/images/qeasingcurve-outcurve.png create mode 100644 doc/src/images/qeasingcurve-outelastic.png create mode 100644 doc/src/images/qeasingcurve-outexpo.png create mode 100644 doc/src/images/qeasingcurve-outinback.png create mode 100644 doc/src/images/qeasingcurve-outinbounce.png create mode 100644 doc/src/images/qeasingcurve-outincirc.png create mode 100644 doc/src/images/qeasingcurve-outincubic.png create mode 100644 doc/src/images/qeasingcurve-outinelastic.png create mode 100644 doc/src/images/qeasingcurve-outinexpo.png create mode 100644 doc/src/images/qeasingcurve-outinquad.png create mode 100644 doc/src/images/qeasingcurve-outinquart.png create mode 100644 doc/src/images/qeasingcurve-outinquint.png create mode 100644 doc/src/images/qeasingcurve-outinsine.png create mode 100644 doc/src/images/qeasingcurve-outquad.png create mode 100644 doc/src/images/qeasingcurve-outquart.png create mode 100644 doc/src/images/qeasingcurve-outquint.png create mode 100644 doc/src/images/qeasingcurve-outsine.png create mode 100644 doc/src/images/qeasingcurve-sinecurve.png create mode 100644 doc/src/images/qerrormessage.png create mode 100644 doc/src/images/qfiledialog-expanded.png create mode 100644 doc/src/images/qfiledialog-small.png create mode 100644 doc/src/images/qformlayout-kde.png create mode 100644 doc/src/images/qformlayout-mac.png create mode 100644 doc/src/images/qformlayout-qpe.png create mode 100644 doc/src/images/qformlayout-win.png create mode 100644 doc/src/images/qformlayout-with-6-children.png create mode 100644 doc/src/images/qgradient-conical.png create mode 100644 doc/src/images/qgradient-linear.png create mode 100644 doc/src/images/qgradient-radial.png create mode 100644 doc/src/images/qgraphicsproxywidget-embed.png create mode 100644 doc/src/images/qgridlayout-with-5-children.png create mode 100644 doc/src/images/qhbox-m.png create mode 100644 doc/src/images/qhboxlayout-with-5-children.png create mode 100644 doc/src/images/qimage-32bit.png create mode 100644 doc/src/images/qimage-32bit_scaled.png create mode 100644 doc/src/images/qimage-8bit.png create mode 100644 doc/src/images/qimage-8bit_scaled.png create mode 100644 doc/src/images/qimage-scaling.png create mode 100644 doc/src/images/qline-coordinates.png create mode 100644 doc/src/images/qline-point.png create mode 100644 doc/src/images/qlineargradient-pad.png create mode 100644 doc/src/images/qlineargradient-reflect.png create mode 100644 doc/src/images/qlineargradient-repeat.png create mode 100644 doc/src/images/qlinef-angle-identicaldirection.png create mode 100644 doc/src/images/qlinef-angle-oppositedirection.png create mode 100644 doc/src/images/qlinef-bounded.png create mode 100644 doc/src/images/qlinef-normalvector.png create mode 100644 doc/src/images/qlinef-unbounded.png create mode 100644 doc/src/images/qlistbox-m.png create mode 100644 doc/src/images/qlistbox-w.png create mode 100644 doc/src/images/qlistviewitems.png create mode 100644 doc/src/images/qmacstyle.png create mode 100644 doc/src/images/qmainwindow-qdockareas.png create mode 100644 doc/src/images/qmatrix-combinedtransformation.png create mode 100644 doc/src/images/qmatrix-representation.png create mode 100644 doc/src/images/qmatrix-simpletransformation.png create mode 100644 doc/src/images/qmdiarea-arrange.png create mode 100644 doc/src/images/qmdisubwindowlayout.png create mode 100644 doc/src/images/qmessagebox-crit.png create mode 100644 doc/src/images/qmessagebox-info.png create mode 100644 doc/src/images/qmessagebox-quest.png create mode 100644 doc/src/images/qmessagebox-warn.png create mode 100644 doc/src/images/qmotifstyle.png create mode 100644 doc/src/images/qobjectxmlmodel-example.png create mode 100644 doc/src/images/qpainter-affinetransformations.png create mode 100644 doc/src/images/qpainter-angles.png create mode 100644 doc/src/images/qpainter-arc.png create mode 100644 doc/src/images/qpainter-basicdrawing.png create mode 100644 doc/src/images/qpainter-chord.png create mode 100644 doc/src/images/qpainter-clock.png create mode 100644 doc/src/images/qpainter-compositiondemo.png create mode 100644 doc/src/images/qpainter-compositionmode.png create mode 100644 doc/src/images/qpainter-compositionmode1.png create mode 100644 doc/src/images/qpainter-compositionmode2.png create mode 100644 doc/src/images/qpainter-concentriccircles.png create mode 100644 doc/src/images/qpainter-ellipse.png create mode 100644 doc/src/images/qpainter-gradients.png create mode 100644 doc/src/images/qpainter-line.png create mode 100644 doc/src/images/qpainter-painterpaths.png create mode 100644 doc/src/images/qpainter-path.png create mode 100644 doc/src/images/qpainter-pathstroking.png create mode 100644 doc/src/images/qpainter-pie.png create mode 100644 doc/src/images/qpainter-polygon.png create mode 100644 doc/src/images/qpainter-rectangle.png create mode 100644 doc/src/images/qpainter-rotation.png create mode 100644 doc/src/images/qpainter-roundrect.png create mode 100644 doc/src/images/qpainter-scale.png create mode 100644 doc/src/images/qpainter-text.png create mode 100644 doc/src/images/qpainter-translation.png create mode 100644 doc/src/images/qpainter-vectordeformation.png create mode 100644 doc/src/images/qpainterpath-addellipse.png create mode 100644 doc/src/images/qpainterpath-addpolygon.png create mode 100644 doc/src/images/qpainterpath-addrectangle.png create mode 100644 doc/src/images/qpainterpath-addtext.png create mode 100644 doc/src/images/qpainterpath-arcto.png create mode 100644 doc/src/images/qpainterpath-construction.png create mode 100644 doc/src/images/qpainterpath-cubicto.png create mode 100644 doc/src/images/qpainterpath-demo.png create mode 100644 doc/src/images/qpainterpath-example.png create mode 100644 doc/src/images/qpen-bevel.png create mode 100644 doc/src/images/qpen-custom.png create mode 100644 doc/src/images/qpen-dash.png create mode 100644 doc/src/images/qpen-dashdot.png create mode 100644 doc/src/images/qpen-dashdotdot.png create mode 100644 doc/src/images/qpen-dashpattern.png create mode 100644 doc/src/images/qpen-demo.png create mode 100644 doc/src/images/qpen-dot.png create mode 100644 doc/src/images/qpen-flat.png create mode 100644 doc/src/images/qpen-miter.png create mode 100644 doc/src/images/qpen-miterlimit.png create mode 100644 doc/src/images/qpen-roundcap.png create mode 100644 doc/src/images/qpen-roundjoin.png create mode 100644 doc/src/images/qpen-solid.png create mode 100644 doc/src/images/qpen-square.png create mode 100644 doc/src/images/qplastiquestyle.png create mode 100644 doc/src/images/qprintpreviewdialog.png create mode 100644 doc/src/images/qprogbar-m.png create mode 100644 doc/src/images/qprogbar-w.png create mode 100644 doc/src/images/qprogdlg-m.png create mode 100644 doc/src/images/qprogdlg-w.png create mode 100644 doc/src/images/qradialgradient-pad.png create mode 100644 doc/src/images/qradialgradient-reflect.png create mode 100644 doc/src/images/qradialgradient-repeat.png create mode 100644 doc/src/images/qrect-coordinates.png create mode 100644 doc/src/images/qrect-diagram-one.png create mode 100644 doc/src/images/qrect-diagram-three.png create mode 100644 doc/src/images/qrect-diagram-two.png create mode 100644 doc/src/images/qrect-diagram-zero.png create mode 100644 doc/src/images/qrect-intersect.png create mode 100644 doc/src/images/qrect-unite.png create mode 100644 doc/src/images/qrectf-coordinates.png create mode 100644 doc/src/images/qrectf-diagram-one.png create mode 100644 doc/src/images/qrectf-diagram-three.png create mode 100644 doc/src/images/qrectf-diagram-two.png create mode 100644 doc/src/images/qscrollarea-noscrollbars.png create mode 100644 doc/src/images/qscrollarea-onescrollbar.png create mode 100644 doc/src/images/qscrollarea-twoscrollbars.png create mode 100644 doc/src/images/qscrollbar-picture.png create mode 100644 doc/src/images/qscrollbar-values.png create mode 100644 doc/src/images/qscrollview-cl.png create mode 100644 doc/src/images/qscrollview-vp.png create mode 100644 doc/src/images/qscrollview-vp2.png create mode 100644 doc/src/images/qsortfilterproxymodel-sorting.png create mode 100644 doc/src/images/qspinbox-plusminus.png create mode 100644 doc/src/images/qspinbox-updown.png create mode 100644 doc/src/images/qstatustipevent-action.png create mode 100644 doc/src/images/qstatustipevent-widget.png create mode 100644 doc/src/images/qstyle-comboboxes.png create mode 100644 doc/src/images/qstyleoptiontoolbar-position.png create mode 100644 doc/src/images/qt-colors.png create mode 100644 doc/src/images/qt-embedded-accelerateddriver.png create mode 100644 doc/src/images/qt-embedded-architecture.png create mode 100644 doc/src/images/qt-embedded-architecture2.png create mode 100644 doc/src/images/qt-embedded-characterinputlayer.png create mode 100644 doc/src/images/qt-embedded-clamshellphone-closed.png create mode 100644 doc/src/images/qt-embedded-clamshellphone-pressed.png create mode 100644 doc/src/images/qt-embedded-clamshellphone.png create mode 100644 doc/src/images/qt-embedded-client.png create mode 100644 doc/src/images/qt-embedded-clientrendering.png create mode 100644 doc/src/images/qt-embedded-clientservercommunication.png create mode 100644 doc/src/images/qt-embedded-drawingonscreen.png create mode 100644 doc/src/images/qt-embedded-examples.png create mode 100644 doc/src/images/qt-embedded-fontfeatures.png create mode 100644 doc/src/images/qt-embedded-opengl1.png create mode 100644 doc/src/images/qt-embedded-opengl2.png create mode 100644 doc/src/images/qt-embedded-opengl3.png create mode 100644 doc/src/images/qt-embedded-pda.png create mode 100644 doc/src/images/qt-embedded-phone.png create mode 100644 doc/src/images/qt-embedded-pointerhandlinglayer.png create mode 100644 doc/src/images/qt-embedded-qconfigtool.png create mode 100644 doc/src/images/qt-embedded-qvfbfilemenu.png create mode 100644 doc/src/images/qt-embedded-qvfbviewmenu.png create mode 100644 doc/src/images/qt-embedded-reserveregion.png create mode 100644 doc/src/images/qt-embedded-runningapplication.png create mode 100644 doc/src/images/qt-embedded-setwindowattribute.png create mode 100644 doc/src/images/qt-embedded-virtualframebuffer.png create mode 100644 doc/src/images/qt-embedded-vnc-screen.png create mode 100644 doc/src/images/qt-fillrule-oddeven.png create mode 100644 doc/src/images/qt-fillrule-winding.png create mode 100644 doc/src/images/qt-for-wince-landscape.png create mode 100644 doc/src/images/qt-logo.png create mode 100644 doc/src/images/qt.png create mode 100644 doc/src/images/qtableitems.png create mode 100644 doc/src/images/qtabletevent-tilt.png create mode 100644 doc/src/images/qtableview-resized.png create mode 100644 doc/src/images/qtconcurrent-progressdialog.png create mode 100644 doc/src/images/qtconfig-appearance.png create mode 100644 doc/src/images/qtdemo-small.png create mode 100644 doc/src/images/qtdemo.png create mode 100644 doc/src/images/qtdesignerextensions.png create mode 100644 doc/src/images/qtdesignerscreenshot.png create mode 100644 doc/src/images/qtextblock-fragments.png create mode 100644 doc/src/images/qtextblock-sequence.png create mode 100644 doc/src/images/qtextdocument-frames.png create mode 100644 doc/src/images/qtextfragment-split.png create mode 100644 doc/src/images/qtextframe-style.png create mode 100644 doc/src/images/qtexttable-cells.png create mode 100644 doc/src/images/qtexttableformat-cell.png create mode 100644 doc/src/images/qtransform-combinedtransformation.png create mode 100644 doc/src/images/qtransform-combinedtransformation2.png create mode 100644 doc/src/images/qtransform-representation.png create mode 100644 doc/src/images/qtransform-simpletransformation.png create mode 100644 doc/src/images/qtscript-calculator-example.png create mode 100644 doc/src/images/qtscript-calculator.png create mode 100644 doc/src/images/qtscript-context2d.png create mode 100644 doc/src/images/qtscript-debugger-small.png create mode 100644 doc/src/images/qtscript-debugger.png create mode 100644 doc/src/images/qtscript-examples.png create mode 100644 doc/src/images/qtscripttools-examples.png create mode 100644 doc/src/images/qtwizard-aero1.png create mode 100644 doc/src/images/qtwizard-aero2.png create mode 100644 doc/src/images/qtwizard-classic1.png create mode 100644 doc/src/images/qtwizard-classic2.png create mode 100644 doc/src/images/qtwizard-mac1.png create mode 100644 doc/src/images/qtwizard-mac2.png create mode 100644 doc/src/images/qtwizard-macpage.png create mode 100644 doc/src/images/qtwizard-modern1.png create mode 100644 doc/src/images/qtwizard-modern2.png create mode 100644 doc/src/images/qtwizard-nonmacpage.png create mode 100644 doc/src/images/querymodel-example.png create mode 100644 doc/src/images/qundoview.png create mode 100644 doc/src/images/qurl-authority.png create mode 100644 doc/src/images/qurl-authority2.png create mode 100644 doc/src/images/qurl-authority3.png create mode 100644 doc/src/images/qurl-fragment.png create mode 100644 doc/src/images/qurl-ftppath.png create mode 100644 doc/src/images/qurl-mailtopath.png create mode 100644 doc/src/images/qurl-querystring.png create mode 100644 doc/src/images/qvbox-m.png create mode 100644 doc/src/images/qvboxlayout-with-5-children.png create mode 100644 doc/src/images/qwebview-diagram.png create mode 100644 doc/src/images/qwebview-url.png create mode 100644 doc/src/images/qwindowsstyle.png create mode 100644 doc/src/images/qwindowsxpstyle.png create mode 100644 doc/src/images/qwsserver_keyboardfilter.png create mode 100644 doc/src/images/radialGradient.png create mode 100644 doc/src/images/recentfiles-example.png create mode 100644 doc/src/images/recipes-example.png create mode 100644 doc/src/images/regexp-example.png create mode 100644 doc/src/images/relationaltable.png create mode 100644 doc/src/images/relationaltablemodel-example.png create mode 100644 doc/src/images/remotecontrolledcar-car-example.png create mode 100644 doc/src/images/remotecontrolledcar-controller-example.png create mode 100644 doc/src/images/resources.png create mode 100644 doc/src/images/richtext-document.png create mode 100644 doc/src/images/richtext-examples.png create mode 100644 doc/src/images/rintersect.png create mode 100644 doc/src/images/rsslistingexample.png create mode 100644 doc/src/images/rsubtract.png create mode 100644 doc/src/images/runion.png create mode 100644 doc/src/images/rxor.png create mode 100644 doc/src/images/samplebuffers-example.png create mode 100644 doc/src/images/saxbookmarks-example.png create mode 100644 doc/src/images/screenshot-example.png create mode 100644 doc/src/images/scribble-example.png create mode 100644 doc/src/images/sdi-example.png create mode 100644 doc/src/images/securesocketclient.png create mode 100644 doc/src/images/securesocketclient2.png create mode 100644 doc/src/images/selected-items1.png create mode 100644 doc/src/images/selected-items2.png create mode 100644 doc/src/images/selected-items3.png create mode 100644 doc/src/images/selection-extended.png create mode 100644 doc/src/images/selection-multi.png create mode 100644 doc/src/images/selection-single.png create mode 100644 doc/src/images/session.png create mode 100644 doc/src/images/settingseditor-example.png create mode 100644 doc/src/images/shapedclock-dragging.png create mode 100644 doc/src/images/shapedclock-example.png create mode 100644 doc/src/images/shareddirmodel.png create mode 100644 doc/src/images/sharedmemory-example_1.png create mode 100644 doc/src/images/sharedmemory-example_2.png create mode 100644 doc/src/images/sharedmodel-tableviews.png create mode 100644 doc/src/images/sharedselection-tableviews.png create mode 100644 doc/src/images/signals-n-slots-aw-nat.png create mode 100644 doc/src/images/simpledommodel-example.png create mode 100644 doc/src/images/simpletextviewer-example.png create mode 100644 doc/src/images/simpletextviewer-findfiledialog.png create mode 100644 doc/src/images/simpletextviewer-mainwindow.png create mode 100644 doc/src/images/simpletreemodel-example.png create mode 100644 doc/src/images/simplewidgetmapper-example.png create mode 100644 doc/src/images/simplewizard-page1.png create mode 100644 doc/src/images/simplewizard-page2.png create mode 100644 doc/src/images/simplewizard-page3.png create mode 100644 doc/src/images/simplewizard.png create mode 100644 doc/src/images/sipdialog-closed.png create mode 100644 doc/src/images/sipdialog-opened.png create mode 100644 doc/src/images/sliders-example.png create mode 100644 doc/src/images/smooth.png create mode 100644 doc/src/images/sortingmodel-example.png create mode 100644 doc/src/images/spinboxdelegate-example.png create mode 100644 doc/src/images/spinboxes-example.png create mode 100644 doc/src/images/spreadsheet-demo.png create mode 100644 doc/src/images/sql-examples.png create mode 100644 doc/src/images/sql-widget-mapper.png create mode 100644 doc/src/images/sqlbrowser-demo.png create mode 100644 doc/src/images/standard-views.png create mode 100644 doc/src/images/standarddialogs-example.png create mode 100644 doc/src/images/stardelegate.png create mode 100644 doc/src/images/statemachine-button-history.png create mode 100644 doc/src/images/statemachine-button-nested.png create mode 100644 doc/src/images/statemachine-button.png create mode 100644 doc/src/images/statemachine-finished.png create mode 100644 doc/src/images/statemachine-nonparallel.png create mode 100644 doc/src/images/statemachine-parallel.png create mode 100644 doc/src/images/stliterators1.png create mode 100644 doc/src/images/stringlistmodel.png create mode 100644 doc/src/images/stylepluginexample.png create mode 100644 doc/src/images/styles-3d.png create mode 100644 doc/src/images/styles-aliasing.png create mode 100644 doc/src/images/styles-disabledwood.png create mode 100644 doc/src/images/styles-enabledwood.png create mode 100644 doc/src/images/styles-woodbuttons.png create mode 100644 doc/src/images/stylesheet-border-image-normal.png create mode 100644 doc/src/images/stylesheet-border-image-stretched.png create mode 100644 doc/src/images/stylesheet-border-image-wrong.png create mode 100644 doc/src/images/stylesheet-boxmodel.png create mode 100644 doc/src/images/stylesheet-branch-closed.png create mode 100644 doc/src/images/stylesheet-branch-end.png create mode 100644 doc/src/images/stylesheet-branch-more.png create mode 100644 doc/src/images/stylesheet-branch-open.png create mode 100644 doc/src/images/stylesheet-coffee-cleanlooks.png create mode 100644 doc/src/images/stylesheet-coffee-plastique.png create mode 100644 doc/src/images/stylesheet-coffee-xp.png create mode 100644 doc/src/images/stylesheet-designer-options.png create mode 100644 doc/src/images/stylesheet-pagefold-mac.png create mode 100644 doc/src/images/stylesheet-pagefold.png create mode 100644 doc/src/images/stylesheet-redbutton1.png create mode 100644 doc/src/images/stylesheet-redbutton2.png create mode 100644 doc/src/images/stylesheet-redbutton3.png create mode 100644 doc/src/images/stylesheet-scrollbar1.png create mode 100644 doc/src/images/stylesheet-scrollbar2.png create mode 100644 doc/src/images/stylesheet-treeview.png create mode 100644 doc/src/images/stylesheet-vline.png create mode 100644 doc/src/images/svg-image.png create mode 100644 doc/src/images/svgviewer-example.png create mode 100644 doc/src/images/syntaxhighlighter-example.png create mode 100644 doc/src/images/system-tray.png create mode 100644 doc/src/images/systemtray-editor.png create mode 100644 doc/src/images/systemtray-example.png create mode 100644 doc/src/images/t1.png create mode 100644 doc/src/images/t10.png create mode 100644 doc/src/images/t11.png create mode 100644 doc/src/images/t12.png create mode 100644 doc/src/images/t13.png create mode 100644 doc/src/images/t14.png create mode 100644 doc/src/images/t2.png create mode 100644 doc/src/images/t3.png create mode 100644 doc/src/images/t4.png create mode 100644 doc/src/images/t5.png create mode 100644 doc/src/images/t6.png create mode 100644 doc/src/images/t7.png create mode 100644 doc/src/images/t8.png create mode 100644 doc/src/images/t9.png create mode 100644 doc/src/images/t9_1.png create mode 100644 doc/src/images/t9_2.png create mode 100644 doc/src/images/tabWidget-stylesheet1.png create mode 100644 doc/src/images/tabWidget-stylesheet2.png create mode 100644 doc/src/images/tabWidget-stylesheet3.png create mode 100644 doc/src/images/tabdialog-example.png create mode 100644 doc/src/images/tableWidget-stylesheet.png create mode 100644 doc/src/images/tablemodel-example.png create mode 100644 doc/src/images/tabletexample.png create mode 100644 doc/src/images/taskmenuextension-dialog.png create mode 100644 doc/src/images/taskmenuextension-example-faded.png create mode 100644 doc/src/images/taskmenuextension-example.png create mode 100644 doc/src/images/taskmenuextension-menu.png create mode 100644 doc/src/images/tcpstream.png create mode 100644 doc/src/images/tetrix-example.png create mode 100644 doc/src/images/textedit-demo.png create mode 100644 doc/src/images/textfinder-example-find.png create mode 100644 doc/src/images/textfinder-example-find2.png create mode 100644 doc/src/images/textfinder-example-userinterface.png create mode 100644 doc/src/images/textfinder-example.png create mode 100644 doc/src/images/textobject-example.png create mode 100644 doc/src/images/texttable-merge.png create mode 100644 doc/src/images/texttable-split.png create mode 100644 doc/src/images/textures-example.png create mode 100644 doc/src/images/thread-examples.png create mode 100644 doc/src/images/threadedfortuneserver-example.png create mode 100644 doc/src/images/threadsandobjects.png create mode 100644 doc/src/images/tool-examples.png create mode 100644 doc/src/images/tooltips-example.png create mode 100644 doc/src/images/torrent-example.png create mode 100644 doc/src/images/trafficinfo-example.png create mode 100644 doc/src/images/trafficlight-example.png create mode 100644 doc/src/images/transformations-example.png create mode 100644 doc/src/images/treemodel-structure.png create mode 100644 doc/src/images/treemodelcompleter-example.png create mode 100644 doc/src/images/trivialwizard-example-conclusion.png create mode 100644 doc/src/images/trivialwizard-example-flow.png create mode 100644 doc/src/images/trivialwizard-example-introduction.png create mode 100644 doc/src/images/trivialwizard-example-registration.png create mode 100644 doc/src/images/trolltech-logo.png create mode 100644 doc/src/images/tutorial8-layout.png create mode 100644 doc/src/images/tutorial8-reallayout.png create mode 100644 doc/src/images/udppackets.png create mode 100644 doc/src/images/uitools-examples.png create mode 100644 doc/src/images/undodemo.png create mode 100644 doc/src/images/undoframeworkexample.png create mode 100644 doc/src/images/unsmooth.png create mode 100644 doc/src/images/wVista-Cert-border-small.png create mode 100644 doc/src/images/webkit-examples.png create mode 100644 doc/src/images/webkit-netscape-plugin.png create mode 100644 doc/src/images/whatsthis.png create mode 100644 doc/src/images/widget-examples.png create mode 100644 doc/src/images/widgetdelegate.png create mode 100644 doc/src/images/widgetmapper-combo-mapping.png create mode 100644 doc/src/images/widgetmapper-simple-mapping.png create mode 100644 doc/src/images/widgetmapper-sql-mapping-table.png create mode 100644 doc/src/images/widgetmapper-sql-mapping.png create mode 100644 doc/src/images/widgets-examples.png create mode 100644 doc/src/images/widgets-tutorial-childwidget.png create mode 100644 doc/src/images/widgets-tutorial-nestedlayouts.png create mode 100644 doc/src/images/widgets-tutorial-toplevel.png create mode 100644 doc/src/images/widgets-tutorial-windowlayout.png create mode 100644 doc/src/images/wiggly-example.png create mode 100644 doc/src/images/windowflags-example.png create mode 100644 doc/src/images/windowflags_controllerwindow.png create mode 100644 doc/src/images/windowflags_previewwindow.png create mode 100644 doc/src/images/windows-calendarwidget.png create mode 100644 doc/src/images/windows-checkbox.png create mode 100644 doc/src/images/windows-combobox.png create mode 100644 doc/src/images/windows-dateedit.png create mode 100644 doc/src/images/windows-datetimeedit.png create mode 100644 doc/src/images/windows-dial.png create mode 100644 doc/src/images/windows-doublespinbox.png create mode 100644 doc/src/images/windows-fontcombobox.png create mode 100644 doc/src/images/windows-frame.png create mode 100644 doc/src/images/windows-groupbox.png create mode 100644 doc/src/images/windows-horizontalscrollbar.png create mode 100644 doc/src/images/windows-label.png create mode 100644 doc/src/images/windows-lcdnumber.png create mode 100644 doc/src/images/windows-lineedit.png create mode 100644 doc/src/images/windows-listview.png create mode 100644 doc/src/images/windows-progressbar.png create mode 100644 doc/src/images/windows-pushbutton.png create mode 100644 doc/src/images/windows-radiobutton.png create mode 100644 doc/src/images/windows-slider.png create mode 100644 doc/src/images/windows-spinbox.png create mode 100644 doc/src/images/windows-tableview.png create mode 100644 doc/src/images/windows-tabwidget.png create mode 100644 doc/src/images/windows-textedit.png create mode 100644 doc/src/images/windows-timeedit.png create mode 100644 doc/src/images/windows-toolbox.png create mode 100644 doc/src/images/windows-toolbutton.png create mode 100644 doc/src/images/windows-treeview.png create mode 100644 doc/src/images/windowsvista-calendarwidget.png create mode 100644 doc/src/images/windowsvista-checkbox.png create mode 100644 doc/src/images/windowsvista-combobox.png create mode 100644 doc/src/images/windowsvista-dateedit.png create mode 100644 doc/src/images/windowsvista-datetimeedit.png create mode 100644 doc/src/images/windowsvista-dial.png create mode 100644 doc/src/images/windowsvista-doublespinbox.png create mode 100644 doc/src/images/windowsvista-fontcombobox.png create mode 100644 doc/src/images/windowsvista-frame.png create mode 100644 doc/src/images/windowsvista-groupbox.png create mode 100644 doc/src/images/windowsvista-horizontalscrollbar.png create mode 100644 doc/src/images/windowsvista-label.png create mode 100644 doc/src/images/windowsvista-lcdnumber.png create mode 100644 doc/src/images/windowsvista-lineedit.png create mode 100644 doc/src/images/windowsvista-listview.png create mode 100644 doc/src/images/windowsvista-progressbar.png create mode 100644 doc/src/images/windowsvista-pushbutton.png create mode 100644 doc/src/images/windowsvista-radiobutton.png create mode 100644 doc/src/images/windowsvista-slider.png create mode 100644 doc/src/images/windowsvista-spinbox.png create mode 100644 doc/src/images/windowsvista-tableview.png create mode 100644 doc/src/images/windowsvista-tabwidget.png create mode 100644 doc/src/images/windowsvista-textedit.png create mode 100644 doc/src/images/windowsvista-timeedit.png create mode 100644 doc/src/images/windowsvista-toolbox.png create mode 100644 doc/src/images/windowsvista-toolbutton.png create mode 100644 doc/src/images/windowsvista-treeview.png create mode 100644 doc/src/images/windowsxp-calendarwidget.png create mode 100644 doc/src/images/windowsxp-checkbox.png create mode 100644 doc/src/images/windowsxp-combobox.png create mode 100644 doc/src/images/windowsxp-dateedit.png create mode 100644 doc/src/images/windowsxp-datetimeedit.png create mode 100644 doc/src/images/windowsxp-dial.png create mode 100644 doc/src/images/windowsxp-doublespinbox.png create mode 100644 doc/src/images/windowsxp-fontcombobox.png create mode 100644 doc/src/images/windowsxp-frame.png create mode 100644 doc/src/images/windowsxp-groupbox.png create mode 100644 doc/src/images/windowsxp-horizontalscrollbar.png create mode 100644 doc/src/images/windowsxp-label.png create mode 100644 doc/src/images/windowsxp-lcdnumber.png create mode 100644 doc/src/images/windowsxp-lineedit.png create mode 100644 doc/src/images/windowsxp-listview.png create mode 100644 doc/src/images/windowsxp-menu.png create mode 100644 doc/src/images/windowsxp-progressbar.png create mode 100644 doc/src/images/windowsxp-pushbutton.png create mode 100644 doc/src/images/windowsxp-radiobutton.png create mode 100644 doc/src/images/windowsxp-slider.png create mode 100644 doc/src/images/windowsxp-spinbox.png create mode 100644 doc/src/images/windowsxp-tableview.png create mode 100644 doc/src/images/windowsxp-tabwidget.png create mode 100644 doc/src/images/windowsxp-textedit.png create mode 100644 doc/src/images/windowsxp-timeedit.png create mode 100644 doc/src/images/windowsxp-toolbox.png create mode 100644 doc/src/images/windowsxp-toolbutton.png create mode 100644 doc/src/images/windowsxp-treeview.png create mode 100644 doc/src/images/worldtimeclock-connection.png create mode 100644 doc/src/images/worldtimeclock-signalandslot.png create mode 100644 doc/src/images/worldtimeclockbuilder-example.png create mode 100644 doc/src/images/worldtimeclockplugin-example.png create mode 100644 doc/src/images/x11_dependencies.png create mode 100644 doc/src/images/xform.png create mode 100644 doc/src/images/xml-examples.png create mode 100644 doc/src/images/xmlstreamexample-filemenu.png create mode 100644 doc/src/images/xmlstreamexample-helpmenu.png create mode 100644 doc/src/images/xmlstreamexample-screenshot.png create mode 100644 doc/src/index.qdoc create mode 100644 doc/src/installation.qdoc create mode 100644 doc/src/introtodbus.qdoc create mode 100644 doc/src/ipc.qdoc create mode 100644 doc/src/known-issues.qdoc create mode 100644 doc/src/layout.qdoc create mode 100644 doc/src/licenses.qdoc create mode 100644 doc/src/linguist-manual.qdoc create mode 100644 doc/src/mac-differences.qdoc create mode 100644 doc/src/mainclasses.qdoc create mode 100644 doc/src/metaobjects.qdoc create mode 100644 doc/src/moc.qdoc create mode 100644 doc/src/model-view-programming.qdoc create mode 100644 doc/src/modules.qdoc create mode 100644 doc/src/object.qdoc create mode 100644 doc/src/objecttrees.qdoc create mode 100644 doc/src/opensourceedition.qdoc create mode 100644 doc/src/overviews.qdoc create mode 100644 doc/src/paintsystem.qdoc create mode 100644 doc/src/phonon-api.qdoc create mode 100644 doc/src/phonon.qdoc create mode 100644 doc/src/platform-notes.qdoc create mode 100644 doc/src/plugins-howto.qdoc create mode 100644 doc/src/porting-qsa.qdoc create mode 100644 doc/src/porting4-canvas.qdoc create mode 100644 doc/src/porting4-designer.qdoc create mode 100644 doc/src/porting4-modifiedvirtual.qdocinc create mode 100644 doc/src/porting4-obsoletedmechanism.qdocinc create mode 100644 doc/src/porting4-overview.qdoc create mode 100644 doc/src/porting4-removedenumvalues.qdocinc create mode 100644 doc/src/porting4-removedtypes.qdocinc create mode 100644 doc/src/porting4-removedvariantfunctions.qdocinc create mode 100644 doc/src/porting4-removedvirtual.qdocinc create mode 100644 doc/src/porting4-renamedclasses.qdocinc create mode 100644 doc/src/porting4-renamedenumvalues.qdocinc create mode 100644 doc/src/porting4-renamedfunctions.qdocinc create mode 100644 doc/src/porting4-renamedstatic.qdocinc create mode 100644 doc/src/porting4-renamedtypes.qdocinc create mode 100644 doc/src/porting4.qdoc create mode 100644 doc/src/printing.qdoc create mode 100644 doc/src/properties.qdoc create mode 100644 doc/src/q3asciicache.qdoc create mode 100644 doc/src/q3asciidict.qdoc create mode 100644 doc/src/q3cache.qdoc create mode 100644 doc/src/q3dict.qdoc create mode 100644 doc/src/q3intcache.qdoc create mode 100644 doc/src/q3intdict.qdoc create mode 100644 doc/src/q3memarray.qdoc create mode 100644 doc/src/q3popupmenu.qdoc create mode 100644 doc/src/q3ptrdict.qdoc create mode 100644 doc/src/q3ptrlist.qdoc create mode 100644 doc/src/q3ptrqueue.qdoc create mode 100644 doc/src/q3ptrstack.qdoc create mode 100644 doc/src/q3ptrvector.qdoc create mode 100644 doc/src/q3sqlfieldinfo.qdoc create mode 100644 doc/src/q3sqlrecordinfo.qdoc create mode 100644 doc/src/q3valuelist.qdoc create mode 100644 doc/src/q3valuestack.qdoc create mode 100644 doc/src/q3valuevector.qdoc create mode 100644 doc/src/qalgorithms.qdoc create mode 100644 doc/src/qaxcontainer.qdoc create mode 100644 doc/src/qaxserver.qdoc create mode 100644 doc/src/qcache.qdoc create mode 100644 doc/src/qcolormap.qdoc create mode 100644 doc/src/qdbusadaptors.qdoc create mode 100644 doc/src/qdesktopwidget.qdoc create mode 100644 doc/src/qiterator.qdoc create mode 100644 doc/src/qmake-manual.qdoc create mode 100644 doc/src/qmsdev.qdoc create mode 100644 doc/src/qnamespace.qdoc create mode 100644 doc/src/qpagesetupdialog.qdoc create mode 100644 doc/src/qpaintdevice.qdoc create mode 100644 doc/src/qpair.qdoc create mode 100644 doc/src/qpatternistdummy.cpp create mode 100644 doc/src/qplugin.qdoc create mode 100644 doc/src/qprintdialog.qdoc create mode 100644 doc/src/qprinterinfo.qdoc create mode 100644 doc/src/qset.qdoc create mode 100644 doc/src/qsignalspy.qdoc create mode 100644 doc/src/qsizepolicy.qdoc create mode 100644 doc/src/qsql.qdoc create mode 100644 doc/src/qt-conf.qdoc create mode 100644 doc/src/qt-embedded.qdoc create mode 100644 doc/src/qt3support.qdoc create mode 100644 doc/src/qt3to4.qdoc create mode 100644 doc/src/qt4-accessibility.qdoc create mode 100644 doc/src/qt4-arthur.qdoc create mode 100644 doc/src/qt4-designer.qdoc create mode 100644 doc/src/qt4-interview.qdoc create mode 100644 doc/src/qt4-intro.qdoc create mode 100644 doc/src/qt4-mainwindow.qdoc create mode 100644 doc/src/qt4-network.qdoc create mode 100644 doc/src/qt4-scribe.qdoc create mode 100644 doc/src/qt4-sql.qdoc create mode 100644 doc/src/qt4-styles.qdoc create mode 100644 doc/src/qt4-threads.qdoc create mode 100644 doc/src/qt4-tulip.qdoc create mode 100644 doc/src/qtassistant.qdoc create mode 100644 doc/src/qtcocoa-known-issues.qdoc create mode 100644 doc/src/qtconfig.qdoc create mode 100644 doc/src/qtcore.qdoc create mode 100644 doc/src/qtdbus.qdoc create mode 100644 doc/src/qtdemo.qdoc create mode 100644 doc/src/qtdesigner.qdoc create mode 100644 doc/src/qtendian.qdoc create mode 100644 doc/src/qtestevent.qdoc create mode 100644 doc/src/qtestlib.qdoc create mode 100644 doc/src/qtgui.qdoc create mode 100644 doc/src/qthelp.qdoc create mode 100644 doc/src/qtmac-as-native.qdoc create mode 100644 doc/src/qtmain.qdoc create mode 100644 doc/src/qtnetwork.qdoc create mode 100644 doc/src/qtopengl.qdoc create mode 100644 doc/src/qtopiacore-architecture.qdoc create mode 100644 doc/src/qtopiacore-displaymanagement.qdoc create mode 100644 doc/src/qtopiacore-opengl.qdoc create mode 100644 doc/src/qtopiacore.qdoc create mode 100644 doc/src/qtscript.qdoc create mode 100644 doc/src/qtscriptdebugger-manual.qdoc create mode 100644 doc/src/qtscriptextensions.qdoc create mode 100644 doc/src/qtscripttools.qdoc create mode 100644 doc/src/qtsql.qdoc create mode 100644 doc/src/qtsvg.qdoc create mode 100644 doc/src/qttest.qdoc create mode 100644 doc/src/qtuiloader.qdoc create mode 100644 doc/src/qtwebkit.qdoc create mode 100644 doc/src/qtxml.qdoc create mode 100644 doc/src/qtxmlpatterns.qdoc create mode 100644 doc/src/qundo.qdoc create mode 100644 doc/src/qvarlengtharray.qdoc create mode 100644 doc/src/qwaitcondition.qdoc create mode 100644 doc/src/rcc.qdoc create mode 100644 doc/src/resources.qdoc create mode 100644 doc/src/richtext.qdoc create mode 100644 doc/src/session.qdoc create mode 100644 doc/src/signalsandslots.qdoc create mode 100644 doc/src/snippets/accessibilityfactorysnippet.cpp create mode 100644 doc/src/snippets/accessibilitypluginsnippet.cpp create mode 100644 doc/src/snippets/accessibilityslidersnippet.cpp create mode 100644 doc/src/snippets/alphachannel.cpp create mode 100644 doc/src/snippets/audioeffects.cpp create mode 100644 doc/src/snippets/brush/brush.cpp create mode 100644 doc/src/snippets/brush/brush.pro create mode 100644 doc/src/snippets/brush/gradientcreationsnippet.cpp create mode 100644 doc/src/snippets/brushstyles/brushstyles.pro create mode 100644 doc/src/snippets/brushstyles/main.cpp create mode 100644 doc/src/snippets/brushstyles/qt-logo.png create mode 100644 doc/src/snippets/brushstyles/renderarea.cpp create mode 100644 doc/src/snippets/brushstyles/renderarea.h create mode 100644 doc/src/snippets/brushstyles/stylewidget.cpp create mode 100644 doc/src/snippets/brushstyles/stylewidget.h create mode 100644 doc/src/snippets/buffer/buffer.cpp create mode 100644 doc/src/snippets/buffer/buffer.pro create mode 100644 doc/src/snippets/clipboard/clipboard.pro create mode 100644 doc/src/snippets/clipboard/clipwindow.cpp create mode 100644 doc/src/snippets/clipboard/clipwindow.h create mode 100644 doc/src/snippets/clipboard/main.cpp create mode 100644 doc/src/snippets/code/doc.src.qtscripttools.qdoc create mode 100644 doc/src/snippets/code/doc_src_activeqt-dumpcpp.qdoc create mode 100644 doc/src/snippets/code/doc_src_appicon.qdoc create mode 100644 doc/src/snippets/code/doc_src_assistant-manual.qdoc create mode 100644 doc/src/snippets/code/doc_src_atomic-operations.qdoc create mode 100644 doc/src/snippets/code/doc_src_compiler-notes.qdoc create mode 100644 doc/src/snippets/code/doc_src_containers.qdoc create mode 100644 doc/src/snippets/code/doc_src_coordsys.qdoc create mode 100644 doc/src/snippets/code/doc_src_debug.qdoc create mode 100644 doc/src/snippets/code/doc_src_deployment.qdoc create mode 100644 doc/src/snippets/code/doc_src_designer-manual.qdoc create mode 100644 doc/src/snippets/code/doc_src_dnd.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-charinput.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-crosscompiling.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-envvars.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-features.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-fonts.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-install.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-performance.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-pointer.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-qvfb.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-running.qdoc create mode 100644 doc/src/snippets/code/doc_src_emb-vnc.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_activeqt_comapp.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_activeqt_dotnet.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_activeqt_menus.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_ahigl.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_application.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_arrowpad.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_containerextension.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_customwidgetplugin.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_dropsite.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_editabletreemodel.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_hellotr.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_icons.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_imageviewer.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_qtscriptcustomclass.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_simpledommodel.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_simpletreemodel.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_svgalib.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_taskmenuextension.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_textfinder.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_trollprint.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_tutorial.qdoc create mode 100644 doc/src/snippets/code/doc_src_examples_worldtimeclockplugin.qdoc create mode 100644 doc/src/snippets/code/doc_src_exportedfunctions.qdoc create mode 100644 doc/src/snippets/code/doc_src_gpl.qdoc create mode 100644 doc/src/snippets/code/doc_src_graphicsview.qdoc create mode 100644 doc/src/snippets/code/doc_src_groups.qdoc create mode 100644 doc/src/snippets/code/doc_src_i18n.qdoc create mode 100644 doc/src/snippets/code/doc_src_installation.qdoc create mode 100644 doc/src/snippets/code/doc_src_introtodbus.qdoc create mode 100644 doc/src/snippets/code/doc_src_layout.qdoc create mode 100644 doc/src/snippets/code/doc_src_lgpl.qdoc create mode 100644 doc/src/snippets/code/doc_src_licenses.qdoc create mode 100644 doc/src/snippets/code/doc_src_linguist-manual.qdoc create mode 100644 doc/src/snippets/code/doc_src_mac-differences.qdoc create mode 100644 doc/src/snippets/code/doc_src_moc.qdoc create mode 100644 doc/src/snippets/code/doc_src_model-view-programming.qdoc create mode 100644 doc/src/snippets/code/doc_src_modules.qdoc create mode 100644 doc/src/snippets/code/doc_src_objecttrees.qdoc create mode 100644 doc/src/snippets/code/doc_src_phonon-api.qdoc create mode 100644 doc/src/snippets/code/doc_src_phonon.qdoc create mode 100644 doc/src/snippets/code/doc_src_platform-notes.qdoc create mode 100644 doc/src/snippets/code/doc_src_plugins-howto.qdoc create mode 100644 doc/src/snippets/code/doc_src_porting-qsa.qdoc create mode 100644 doc/src/snippets/code/doc_src_porting4-canvas.qdoc create mode 100644 doc/src/snippets/code/doc_src_porting4-designer.qdoc create mode 100644 doc/src/snippets/code/doc_src_porting4.qdoc create mode 100644 doc/src/snippets/code/doc_src_properties.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3asciidict.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3dict.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3intdict.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3memarray.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3ptrdict.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3ptrlist.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3valuelist.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3valuestack.qdoc create mode 100644 doc/src/snippets/code/doc_src_q3valuevector.qdoc create mode 100644 doc/src/snippets/code/doc_src_qalgorithms.qdoc create mode 100644 doc/src/snippets/code/doc_src_qaxcontainer.qdoc create mode 100644 doc/src/snippets/code/doc_src_qaxserver.qdoc create mode 100644 doc/src/snippets/code/doc_src_qcache.qdoc create mode 100644 doc/src/snippets/code/doc_src_qdbusadaptors.qdoc create mode 100644 doc/src/snippets/code/doc_src_qiterator.qdoc create mode 100644 doc/src/snippets/code/doc_src_qmake-manual.qdoc create mode 100644 doc/src/snippets/code/doc_src_qnamespace.qdoc create mode 100644 doc/src/snippets/code/doc_src_qpair.qdoc create mode 100644 doc/src/snippets/code/doc_src_qplugin.qdoc create mode 100644 doc/src/snippets/code/doc_src_qset.qdoc create mode 100644 doc/src/snippets/code/doc_src_qsignalspy.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt-conf.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt-embedded-displaymanagement.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt3support.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt3to4.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-accessibility.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-arthur.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-intro.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-mainwindow.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-sql.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-styles.qdoc create mode 100644 doc/src/snippets/code/doc_src_qt4-tulip.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtcore.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtdbus.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtdesigner.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtestevent.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtestlib.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtgui.qdoc create mode 100644 doc/src/snippets/code/doc_src_qthelp.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtmac-as-native.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtnetwork.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtopengl.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtscript.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtscriptextensions.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtsql.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtsvg.qdoc create mode 100644 doc/src/snippets/code/doc_src_qttest.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtuiloader.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtwebkit.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtxml.qdoc create mode 100644 doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc create mode 100644 doc/src/snippets/code/doc_src_qvarlengtharray.qdoc create mode 100644 doc/src/snippets/code/doc_src_rcc.qdoc create mode 100644 doc/src/snippets/code/doc_src_resources.qdoc create mode 100644 doc/src/snippets/code/doc_src_richtext.qdoc create mode 100644 doc/src/snippets/code/doc_src_session.qdoc create mode 100644 doc/src/snippets/code/doc_src_sql-driver.qdoc create mode 100644 doc/src/snippets/code/doc_src_styles.qdoc create mode 100644 doc/src/snippets/code/doc_src_stylesheet.qdoc create mode 100644 doc/src/snippets/code/doc_src_uic.qdoc create mode 100644 doc/src/snippets/code/doc_src_unicode.qdoc create mode 100644 doc/src/snippets/code/doc_src_unix-signal-handlers.qdoc create mode 100644 doc/src/snippets/code/doc_src_wince-customization.qdoc create mode 100644 doc/src/snippets/code/doc_src_wince-introduction.qdoc create mode 100644 doc/src/snippets/code/doc_src_wince-opengl.qdoc create mode 100644 doc/src/snippets/code/src.gui.text.qtextdocumentwriter.cpp create mode 100644 doc/src/snippets/code/src.qdbus.qdbuspendingcall.cpp create mode 100644 doc/src/snippets/code/src.qdbus.qdbuspendingreply.cpp create mode 100644 doc/src/snippets/code/src.scripttools.qscriptenginedebugger.cpp create mode 100644 doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp create mode 100644 doc/src/snippets/code/src_activeqt_container_qaxbase.cpp create mode 100644 doc/src/snippets/code/src_activeqt_container_qaxscript.cpp create mode 100644 doc/src/snippets/code/src_activeqt_control_qaxbindable.cpp create mode 100644 doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp create mode 100644 doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp create mode 100644 doc/src/snippets/code/src_corelib_codecs_qtextcodecplugin.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qfuture.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qfuturesynchronizer.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qfuturewatcher.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qtconcurrentexception.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qtconcurrentmap.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp create mode 100644 doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp create mode 100644 doc/src/snippets/code/src_corelib_global_qglobal.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qdatastream.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qdir.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qdiriterator.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qfile.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qfileinfo.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qiodevice.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qprocess.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qsettings.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qtextstream.cpp create mode 100644 doc/src/snippets/code/src_corelib_io_qurl.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qobject.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qtimer.cpp create mode 100644 doc/src/snippets/code/src_corelib_kernel_qvariant.cpp create mode 100644 doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp create mode 100644 doc/src/snippets/code/src_corelib_plugin_quuid.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qatomic.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qmutex.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qthread.cpp create mode 100644 doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qbitarray.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qbytearray.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qdatetime.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qhash.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qlistdata.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qlocale.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qmap.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qpoint.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qqueue.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qrect.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qregexp.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qsize.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qstring.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qtimeline.cpp create mode 100644 doc/src/snippets/code/src_corelib_tools_qvector.cpp create mode 100644 doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp create mode 100644 doc/src/snippets/code/src_gui_accessible_qaccessible.cpp create mode 100644 doc/src/snippets/code/src_gui_dialogs_qabstractprintdialog.cpp create mode 100644 doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp create mode 100644 doc/src/snippets/code/src_gui_dialogs_qfontdialog.cpp create mode 100644 doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp create mode 100644 doc/src/snippets/code/src_gui_dialogs_qwizard.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qcopchannel_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qmouse_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qmousetslib_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qscreen_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qtransportauth_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_embedded_qwindowsystem_qws.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicsgridlayout.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicslinearlayout.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicsproxywidget.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicsscene.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicssceneevent.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicsview.cpp create mode 100644 doc/src/snippets/code/src_gui_graphicsview_qgraphicswidget.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qbitmap.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qicon.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qimage.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qimagereader.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qimagewriter.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qmovie.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qpixmap.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qpixmapcache.cpp create mode 100644 doc/src/snippets/code/src_gui_image_qpixmapfilter.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qabstractitemview.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qitemeditorfactory.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qstandarditemmodel.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qtablewidget.cpp create mode 100644 doc/src/snippets/code/src_gui_itemviews_qtreewidget.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qaction.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qapplication.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qapplication_x11.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qclipboard.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qevent.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qformlayout.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qkeysequence.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qlayout.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qlayoutitem.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qshortcut.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qshortcutmap.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qsound.cpp create mode 100644 doc/src/snippets/code/src_gui_kernel_qwidget.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qbrush.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qcolor.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qdrawutil.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qmatrix.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qpainter.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qpainterpath.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qpen.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qregion.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qregion_unix.cpp create mode 100644 doc/src/snippets/code/src_gui_painting_qtransform.cpp create mode 100644 doc/src/snippets/code/src_gui_styles_qstyle.cpp create mode 100644 doc/src/snippets/code/src_gui_styles_qstyleoption.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qfont.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qfontmetrics.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qsyntaxhighlighter.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qtextcursor.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qtextdocument.cpp create mode 100644 doc/src/snippets/code/src_gui_text_qtextlayout.cpp create mode 100644 doc/src/snippets/code/src_gui_util_qcompleter.cpp create mode 100644 doc/src/snippets/code/src_gui_util_qdesktopservices.cpp create mode 100644 doc/src/snippets/code/src_gui_util_qundostack.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qabstractbutton.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qabstractspinbox.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qcalendarwidget.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qcheckbox.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qdatetimeedit.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qdockwidget.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qframe.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qgroupbox.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qlabel.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qlineedit.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qmenu.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qmenubar.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qplaintextedit.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qpushbutton.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qradiobutton.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qrubberband.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qscrollarea.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qspinbox.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qsplashscreen.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qsplitter.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qstatusbar.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qtextbrowser.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qtextedit.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qvalidator.cpp create mode 100644 doc/src/snippets/code/src_gui_widgets_qworkspace.cpp create mode 100644 doc/src/snippets/code/src_network_access_qftp.cpp create mode 100644 doc/src/snippets/code/src_network_access_qhttp.cpp create mode 100644 doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp create mode 100644 doc/src/snippets/code/src_network_access_qnetworkrequest.cpp create mode 100644 doc/src/snippets/code/src_network_kernel_qhostaddress.cpp create mode 100644 doc/src/snippets/code/src_network_kernel_qhostinfo.cpp create mode 100644 doc/src/snippets/code/src_network_kernel_qnetworkproxy.cpp create mode 100644 doc/src/snippets/code/src_network_socket_qabstractsocket.cpp create mode 100644 doc/src/snippets/code/src_network_socket_qlocalsocket_unix.cpp create mode 100644 doc/src/snippets/code/src_network_socket_qnativesocketengine.cpp create mode 100644 doc/src/snippets/code/src_network_socket_qtcpserver.cpp create mode 100644 doc/src/snippets/code/src_network_socket_qudpsocket.cpp create mode 100644 doc/src/snippets/code/src_network_ssl_qsslcertificate.cpp create mode 100644 doc/src/snippets/code/src_network_ssl_qsslconfiguration.cpp create mode 100644 doc/src/snippets/code/src_network_ssl_qsslsocket.cpp create mode 100644 doc/src/snippets/code/src_opengl_qgl.cpp create mode 100644 doc/src/snippets/code/src_opengl_qglcolormap.cpp create mode 100644 doc/src/snippets/code/src_opengl_qglpixelbuffer.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbusabstractinterface.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbusargument.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbuscontext.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbusinterface.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbusmetatype.cpp create mode 100644 doc/src/snippets/code/src_qdbus_qdbusreply.cpp create mode 100644 doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp create mode 100644 doc/src/snippets/code/src_qt3support_dialogs_q3filedialog.cpp create mode 100644 doc/src/snippets/code/src_qt3support_dialogs_q3progressdialog.cpp create mode 100644 doc/src/snippets/code/src_qt3support_itemviews_q3iconview.cpp create mode 100644 doc/src/snippets/code/src_qt3support_itemviews_q3listview.cpp create mode 100644 doc/src/snippets/code/src_qt3support_itemviews_q3table.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3dns.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3ftp.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3http.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3localfs.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3networkprotocol.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3socket.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3socketdevice.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3url.cpp create mode 100644 doc/src/snippets/code/src_qt3support_network_q3urloperator.cpp create mode 100644 doc/src/snippets/code/src_qt3support_other_q3accel.cpp create mode 100644 doc/src/snippets/code/src_qt3support_other_q3mimefactory.cpp create mode 100644 doc/src/snippets/code/src_qt3support_other_q3process.cpp create mode 100644 doc/src/snippets/code/src_qt3support_other_q3process_unix.cpp create mode 100644 doc/src/snippets/code/src_qt3support_painting_q3paintdevicemetrics.cpp create mode 100644 doc/src/snippets/code/src_qt3support_painting_q3painter.cpp create mode 100644 doc/src/snippets/code/src_qt3support_painting_q3picture.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3databrowser.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3datatable.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3dataview.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3sqlcursor.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3sqlform.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3sqlmanager_p.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3sqlpropertymap.cpp create mode 100644 doc/src/snippets/code/src_qt3support_sql_q3sqlselectcursor.cpp create mode 100644 doc/src/snippets/code/src_qt3support_text_q3simplerichtext.cpp create mode 100644 doc/src/snippets/code/src_qt3support_text_q3textbrowser.cpp create mode 100644 doc/src/snippets/code/src_qt3support_text_q3textedit.cpp create mode 100644 doc/src/snippets/code/src_qt3support_text_q3textstream.cpp create mode 100644 doc/src/snippets/code/src_qt3support_tools_q3cstring.cpp create mode 100644 doc/src/snippets/code/src_qt3support_tools_q3deepcopy.cpp create mode 100644 doc/src/snippets/code/src_qt3support_tools_q3garray.cpp create mode 100644 doc/src/snippets/code/src_qt3support_tools_q3signal.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3combobox.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3datetimeedit.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3dockarea.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3dockwindow.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3gridview.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3header.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3mainwindow.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3scrollview.cpp create mode 100644 doc/src/snippets/code/src_qt3support_widgets_q3whatsthis.cpp create mode 100644 doc/src/snippets/code/src_qtestlib_qtestcase.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptable.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptclass.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptcontext.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptengine.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptengineagent.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptvalue.cpp create mode 100644 doc/src/snippets/code/src_script_qscriptvalueiterator.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlindex.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp create mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp create mode 100644 doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp create mode 100644 doc/src/snippets/code/src_svg_qgraphicssvgitem.cpp create mode 100644 doc/src/snippets/code/src_xml_dom_qdom.cpp create mode 100644 doc/src/snippets/code/src_xml_sax_qxml.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qabstracturiresolver.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlforwarditerator.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlnodemodel.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlreceiver.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qsimplexmlnodemodel.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qxmlformatter.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qxmlname.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qxmlresultitems.cpp create mode 100644 doc/src/snippets/code/src_xmlpatterns_api_qxmlserializer.cpp create mode 100644 doc/src/snippets/code/tools_assistant_compat_lib_qassistantclient.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_extension_default_extensionfactory.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_extension_extension.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_extension_qextensionmanager.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformeditor.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindow.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindowcursor.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindowmanager.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractobjectinspector.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractpropertyeditor.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_sdk_abstractwidgetbox.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_uilib_abstractformbuilder.cpp create mode 100644 doc/src/snippets/code/tools_designer_src_lib_uilib_formbuilder.cpp create mode 100644 doc/src/snippets/code/tools_patternist_qapplicationargumentparser.cpp create mode 100644 doc/src/snippets/code/tools_shared_qtgradienteditor_qtgradientdialog.cpp create mode 100644 doc/src/snippets/code/tools_shared_qtpropertybrowser_qtpropertybrowser.cpp create mode 100644 doc/src/snippets/code/tools_shared_qtpropertybrowser_qtvariantproperty.cpp create mode 100644 doc/src/snippets/code/tools_shared_qttoolbardialog_qttoolbardialog.cpp create mode 100644 doc/src/snippets/complexpingpong-example.qdoc create mode 100644 doc/src/snippets/console/dbus_pingpong.txt create mode 100644 doc/src/snippets/coordsys/coordsys.cpp create mode 100644 doc/src/snippets/coordsys/coordsys.pro create mode 100644 doc/src/snippets/customstyle/customstyle.cpp create mode 100644 doc/src/snippets/customstyle/customstyle.h create mode 100644 doc/src/snippets/customstyle/customstyle.pro create mode 100644 doc/src/snippets/customstyle/main.cpp create mode 100644 doc/src/snippets/customviewstyle.cpp create mode 100644 doc/src/snippets/dbus-pingpong-example.qdoc create mode 100644 doc/src/snippets/designer/autoconnection/autoconnection.pro create mode 100644 doc/src/snippets/designer/autoconnection/imagedialog.cpp create mode 100644 doc/src/snippets/designer/autoconnection/imagedialog.h create mode 100644 doc/src/snippets/designer/autoconnection/imagedialog.ui create mode 100644 doc/src/snippets/designer/autoconnection/main.cpp create mode 100644 doc/src/snippets/designer/designer.pro create mode 100644 doc/src/snippets/designer/imagedialog/imagedialog.pro create mode 100644 doc/src/snippets/designer/imagedialog/imagedialog.ui create mode 100644 doc/src/snippets/designer/imagedialog/main.cpp create mode 100644 doc/src/snippets/designer/multipleinheritance/imagedialog.cpp create mode 100644 doc/src/snippets/designer/multipleinheritance/imagedialog.h create mode 100644 doc/src/snippets/designer/multipleinheritance/imagedialog.ui create mode 100644 doc/src/snippets/designer/multipleinheritance/main.cpp create mode 100644 doc/src/snippets/designer/multipleinheritance/multipleinheritance.pro create mode 100644 doc/src/snippets/designer/noautoconnection/imagedialog.cpp create mode 100644 doc/src/snippets/designer/noautoconnection/imagedialog.h create mode 100644 doc/src/snippets/designer/noautoconnection/imagedialog.ui create mode 100644 doc/src/snippets/designer/noautoconnection/main.cpp create mode 100644 doc/src/snippets/designer/noautoconnection/noautoconnection.pro create mode 100644 doc/src/snippets/designer/singleinheritance/imagedialog.cpp create mode 100644 doc/src/snippets/designer/singleinheritance/imagedialog.h create mode 100644 doc/src/snippets/designer/singleinheritance/imagedialog.ui create mode 100644 doc/src/snippets/designer/singleinheritance/main.cpp create mode 100644 doc/src/snippets/designer/singleinheritance/singleinheritance.pro create mode 100644 doc/src/snippets/dialogs/dialogs.cpp create mode 100644 doc/src/snippets/dialogs/dialogs.pro create mode 100644 doc/src/snippets/dockwidgets/Resources/modules.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtcore.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtgui.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtnetwork.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtopengl.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtsql.html create mode 100644 doc/src/snippets/dockwidgets/Resources/qtxml.html create mode 100644 doc/src/snippets/dockwidgets/Resources/titles.txt create mode 100644 doc/src/snippets/dockwidgets/dockwidgets.pro create mode 100644 doc/src/snippets/dockwidgets/dockwidgets.qrc create mode 100644 doc/src/snippets/dockwidgets/main.cpp create mode 100644 doc/src/snippets/dockwidgets/mainwindow.cpp create mode 100644 doc/src/snippets/dockwidgets/mainwindow.h create mode 100644 doc/src/snippets/draganddrop/draganddrop.pro create mode 100644 doc/src/snippets/draganddrop/dragwidget.cpp create mode 100644 doc/src/snippets/draganddrop/dragwidget.h create mode 100644 doc/src/snippets/draganddrop/main.cpp create mode 100644 doc/src/snippets/draganddrop/mainwindow.cpp create mode 100644 doc/src/snippets/draganddrop/mainwindow.h create mode 100644 doc/src/snippets/dragging/dragging.pro create mode 100644 doc/src/snippets/dragging/images.qrc create mode 100644 doc/src/snippets/dragging/images/file.png create mode 100644 doc/src/snippets/dragging/main.cpp create mode 100644 doc/src/snippets/dragging/mainwindow.cpp create mode 100644 doc/src/snippets/dragging/mainwindow.h create mode 100644 doc/src/snippets/dropactions/dropactions.pro create mode 100644 doc/src/snippets/dropactions/main.cpp create mode 100644 doc/src/snippets/dropactions/window.cpp create mode 100644 doc/src/snippets/dropactions/window.h create mode 100644 doc/src/snippets/droparea.cpp create mode 100644 doc/src/snippets/dropevents/dropevents.pro create mode 100644 doc/src/snippets/dropevents/main.cpp create mode 100644 doc/src/snippets/dropevents/window.cpp create mode 100644 doc/src/snippets/dropevents/window.h create mode 100644 doc/src/snippets/droprectangle/droprectangle.pro create mode 100644 doc/src/snippets/droprectangle/main.cpp create mode 100644 doc/src/snippets/droprectangle/window.cpp create mode 100644 doc/src/snippets/droprectangle/window.h create mode 100644 doc/src/snippets/eventfilters/eventfilters.pro create mode 100644 doc/src/snippets/eventfilters/filterobject.cpp create mode 100644 doc/src/snippets/eventfilters/filterobject.h create mode 100644 doc/src/snippets/eventfilters/main.cpp create mode 100644 doc/src/snippets/events/events.cpp create mode 100644 doc/src/snippets/events/events.pro create mode 100644 doc/src/snippets/explicitlysharedemployee/employee.cpp create mode 100644 doc/src/snippets/explicitlysharedemployee/employee.h create mode 100644 doc/src/snippets/explicitlysharedemployee/explicitlysharedemployee.pro create mode 100644 doc/src/snippets/explicitlysharedemployee/main.cpp create mode 100644 doc/src/snippets/file/file.cpp create mode 100644 doc/src/snippets/file/file.pro create mode 100644 doc/src/snippets/filedialogurls.cpp create mode 100644 doc/src/snippets/fileinfo/fileinfo.pro create mode 100644 doc/src/snippets/fileinfo/main.cpp create mode 100644 doc/src/snippets/graphicssceneadditemsnippet.cpp create mode 100644 doc/src/snippets/i18n-non-qt-class/i18n-non-qt-class.pro create mode 100644 doc/src/snippets/i18n-non-qt-class/main.cpp create mode 100644 doc/src/snippets/i18n-non-qt-class/myclass.cpp create mode 100644 doc/src/snippets/i18n-non-qt-class/myclass.h create mode 100644 doc/src/snippets/i18n-non-qt-class/myclass.ts create mode 100644 doc/src/snippets/i18n-non-qt-class/resources.qrc create mode 100644 doc/src/snippets/i18n-non-qt-class/translations/i18n-non-qt-class_en.ts create mode 100644 doc/src/snippets/i18n-non-qt-class/translations/i18n-non-qt-class_fr.ts create mode 100644 doc/src/snippets/image/image.cpp create mode 100644 doc/src/snippets/image/image.pro create mode 100644 doc/src/snippets/image/supportedformat.cpp create mode 100644 doc/src/snippets/inherited-slot/button.cpp create mode 100644 doc/src/snippets/inherited-slot/button.h create mode 100644 doc/src/snippets/inherited-slot/inherited-slot.pro create mode 100644 doc/src/snippets/inherited-slot/main.cpp create mode 100644 doc/src/snippets/itemselection/itemselection.pro create mode 100644 doc/src/snippets/itemselection/main.cpp create mode 100644 doc/src/snippets/itemselection/model.cpp create mode 100644 doc/src/snippets/itemselection/model.h create mode 100644 doc/src/snippets/javastyle.cpp create mode 100644 doc/src/snippets/layouts/layouts.cpp create mode 100644 doc/src/snippets/layouts/layouts.pro create mode 100644 doc/src/snippets/mainwindowsnippet.cpp create mode 100644 doc/src/snippets/matrix/matrix.cpp create mode 100644 doc/src/snippets/matrix/matrix.pro create mode 100644 doc/src/snippets/mdiareasnippets.cpp create mode 100644 doc/src/snippets/medianodesnippet.cpp create mode 100644 doc/src/snippets/moc/main.cpp create mode 100644 doc/src/snippets/moc/moc.pro create mode 100644 doc/src/snippets/moc/myclass1.h create mode 100644 doc/src/snippets/moc/myclass2.h create mode 100644 doc/src/snippets/moc/myclass3.h create mode 100644 doc/src/snippets/modelview-subclasses/main.cpp create mode 100644 doc/src/snippets/modelview-subclasses/model.cpp create mode 100644 doc/src/snippets/modelview-subclasses/model.h create mode 100644 doc/src/snippets/modelview-subclasses/view.cpp create mode 100644 doc/src/snippets/modelview-subclasses/view.h create mode 100644 doc/src/snippets/modelview-subclasses/window.cpp create mode 100644 doc/src/snippets/modelview-subclasses/window.h create mode 100644 doc/src/snippets/myscrollarea.cpp create mode 100644 doc/src/snippets/network/tcpwait.cpp create mode 100644 doc/src/snippets/ntfsp.cpp create mode 100644 doc/src/snippets/painterpath/painterpath.cpp create mode 100644 doc/src/snippets/painterpath/painterpath.pro create mode 100644 doc/src/snippets/patternist/anyHTMLElement.xq create mode 100644 doc/src/snippets/patternist/anyXLinkAttribute.xq create mode 100644 doc/src/snippets/patternist/bracesIncluded.xq create mode 100644 doc/src/snippets/patternist/bracesIncludedResult.xml create mode 100644 doc/src/snippets/patternist/bracesOmitted.xq create mode 100644 doc/src/snippets/patternist/bracesOmittedResult.xml create mode 100644 doc/src/snippets/patternist/computedTreeFragment.xq create mode 100644 doc/src/snippets/patternist/copyAttribute.xq create mode 100644 doc/src/snippets/patternist/copyID.xq create mode 100644 doc/src/snippets/patternist/directTreeFragment.xq create mode 100644 doc/src/snippets/patternist/doc.txt create mode 100644 doc/src/snippets/patternist/docPlainHTML.xq create mode 100644 doc/src/snippets/patternist/docPlainHTML2.xq create mode 100644 doc/src/snippets/patternist/embedDataInXHTML.xq create mode 100644 doc/src/snippets/patternist/embedDataInXHTML2.xq create mode 100644 doc/src/snippets/patternist/emptyParagraphs.xq create mode 100644 doc/src/snippets/patternist/escapeCurlyBraces.xq create mode 100644 doc/src/snippets/patternist/escapeStringLiterals.xml create mode 100644 doc/src/snippets/patternist/escapeStringLiterals.xq create mode 100644 doc/src/snippets/patternist/expressionInsideAttribute.xq create mode 100644 doc/src/snippets/patternist/filterOnPath.xq create mode 100644 doc/src/snippets/patternist/filterOnStep.xq create mode 100644 doc/src/snippets/patternist/firstParagraph.xq create mode 100644 doc/src/snippets/patternist/fnStringOnAttribute.xq create mode 100644 doc/src/snippets/patternist/forClause.xq create mode 100644 doc/src/snippets/patternist/forClause2.xq create mode 100644 doc/src/snippets/patternist/forClauseOnFeed.xq create mode 100644 doc/src/snippets/patternist/indented.xml create mode 100644 doc/src/snippets/patternist/introAcneRemover.xq create mode 100644 doc/src/snippets/patternist/introExample2.xq create mode 100644 doc/src/snippets/patternist/introFileHierarchy.xml create mode 100644 doc/src/snippets/patternist/introNavigateFS.xq create mode 100644 doc/src/snippets/patternist/introductionExample.xq create mode 100644 doc/src/snippets/patternist/invalidLetOrderBy.xq create mode 100644 doc/src/snippets/patternist/items.xq create mode 100644 doc/src/snippets/patternist/letOrderBy.xq create mode 100644 doc/src/snippets/patternist/literalsAndOperators.xq create mode 100644 doc/src/snippets/patternist/mobeyDick.xml create mode 100644 doc/src/snippets/patternist/nextLastParagraph.xq create mode 100644 doc/src/snippets/patternist/nodeConstructorsAreExpressions.xq create mode 100644 doc/src/snippets/patternist/nodeConstructorsInPaths.xq create mode 100644 doc/src/snippets/patternist/nodeTestChildElement.xq create mode 100644 doc/src/snippets/patternist/notIndented.xml create mode 100644 doc/src/snippets/patternist/oneElementConstructor.xq create mode 100644 doc/src/snippets/patternist/paragraphsExceptTheFiveFirst.xq create mode 100644 doc/src/snippets/patternist/paragraphsWithTables.xq create mode 100644 doc/src/snippets/patternist/pathAB.xq create mode 100644 doc/src/snippets/patternist/pathsAllParagraphs.xq create mode 100644 doc/src/snippets/patternist/simpleHTML.xq create mode 100644 doc/src/snippets/patternist/simpleXHTML.xq create mode 100644 doc/src/snippets/patternist/svgDocumentElement.xml create mode 100644 doc/src/snippets/patternist/tablesInParagraphs.xq create mode 100644 doc/src/snippets/patternist/twoSVGElements.xq create mode 100644 doc/src/snippets/patternist/xmlStylesheet.xq create mode 100644 doc/src/snippets/patternist/xsBooleanTrue.xq create mode 100644 doc/src/snippets/patternist/xsvgDocumentElement.xml create mode 100644 doc/src/snippets/persistentindexes/main.cpp create mode 100644 doc/src/snippets/persistentindexes/mainwindow.cpp create mode 100644 doc/src/snippets/persistentindexes/mainwindow.h create mode 100644 doc/src/snippets/persistentindexes/model.cpp create mode 100644 doc/src/snippets/persistentindexes/model.h create mode 100644 doc/src/snippets/persistentindexes/persistentindexes.pro create mode 100644 doc/src/snippets/phonon.cpp create mode 100644 doc/src/snippets/phonon/samplebackend/main.cpp create mode 100644 doc/src/snippets/phononeffectparameter.cpp create mode 100644 doc/src/snippets/phononobjectdescription.cpp create mode 100644 doc/src/snippets/picture/picture.cpp create mode 100644 doc/src/snippets/picture/picture.pro create mode 100644 doc/src/snippets/plaintextlayout/main.cpp create mode 100644 doc/src/snippets/plaintextlayout/plaintextlayout.pro create mode 100644 doc/src/snippets/plaintextlayout/window.cpp create mode 100644 doc/src/snippets/plaintextlayout/window.h create mode 100644 doc/src/snippets/pointer/pointer.cpp create mode 100644 doc/src/snippets/polygon/polygon.cpp create mode 100644 doc/src/snippets/polygon/polygon.pro create mode 100644 doc/src/snippets/porting4-dropevents/main.cpp create mode 100644 doc/src/snippets/porting4-dropevents/porting4-dropevents.pro create mode 100644 doc/src/snippets/porting4-dropevents/window.cpp create mode 100644 doc/src/snippets/porting4-dropevents/window.h create mode 100644 doc/src/snippets/printing-qprinter/errors.cpp create mode 100644 doc/src/snippets/printing-qprinter/main.cpp create mode 100644 doc/src/snippets/printing-qprinter/object.cpp create mode 100644 doc/src/snippets/printing-qprinter/object.h create mode 100644 doc/src/snippets/printing-qprinter/printing-qprinter.pro create mode 100644 doc/src/snippets/process/process.cpp create mode 100644 doc/src/snippets/process/process.pro create mode 100644 doc/src/snippets/qabstractsliderisnippet.cpp create mode 100644 doc/src/snippets/qcalendarwidget/main.cpp create mode 100644 doc/src/snippets/qcalendarwidget/qcalendarwidget.pro create mode 100644 doc/src/snippets/qcolumnview/main.cpp create mode 100644 doc/src/snippets/qcolumnview/qcolumnview.pro create mode 100644 doc/src/snippets/qdbusextratypes/qdbusextratypes.cpp create mode 100644 doc/src/snippets/qdbusextratypes/qdbusextratypes.pro create mode 100644 doc/src/snippets/qdebugsnippet.cpp create mode 100644 doc/src/snippets/qdir-filepaths/main.cpp create mode 100644 doc/src/snippets/qdir-filepaths/qdir-filepaths.pro create mode 100644 doc/src/snippets/qdir-listfiles/main.cpp create mode 100644 doc/src/snippets/qdir-listfiles/qdir-listfiles.pro create mode 100644 doc/src/snippets/qdir-namefilters/main.cpp create mode 100644 doc/src/snippets/qdir-namefilters/qdir-namefilters.pro create mode 100644 doc/src/snippets/qfontdatabase/main.cpp create mode 100644 doc/src/snippets/qfontdatabase/qfontdatabase.pro create mode 100644 doc/src/snippets/qgl-namespace/main.cpp create mode 100644 doc/src/snippets/qgl-namespace/qgl-namespace.pro create mode 100644 doc/src/snippets/qlabel/main.cpp create mode 100644 doc/src/snippets/qlabel/qlabel.pro create mode 100644 doc/src/snippets/qlineargradient/main.cpp create mode 100644 doc/src/snippets/qlineargradient/paintwidget.cpp create mode 100644 doc/src/snippets/qlineargradient/paintwidget.h create mode 100644 doc/src/snippets/qlineargradient/qlineargradient.pro create mode 100644 doc/src/snippets/qlistview-dnd/main.cpp create mode 100644 doc/src/snippets/qlistview-dnd/mainwindow.cpp create mode 100644 doc/src/snippets/qlistview-dnd/mainwindow.h create mode 100644 doc/src/snippets/qlistview-dnd/model.cpp create mode 100644 doc/src/snippets/qlistview-dnd/model.h create mode 100644 doc/src/snippets/qlistview-dnd/qlistview-dnd.pro create mode 100644 doc/src/snippets/qlistview-using/main.cpp create mode 100644 doc/src/snippets/qlistview-using/mainwindow.cpp create mode 100644 doc/src/snippets/qlistview-using/mainwindow.h create mode 100644 doc/src/snippets/qlistview-using/model.cpp create mode 100644 doc/src/snippets/qlistview-using/model.h create mode 100644 doc/src/snippets/qlistview-using/qlistview-using.pro create mode 100644 doc/src/snippets/qlistwidget-dnd/main.cpp create mode 100644 doc/src/snippets/qlistwidget-dnd/mainwindow.cpp create mode 100644 doc/src/snippets/qlistwidget-dnd/mainwindow.h create mode 100644 doc/src/snippets/qlistwidget-dnd/qlistwidget-dnd.pro create mode 100644 doc/src/snippets/qlistwidget-using/main.cpp create mode 100644 doc/src/snippets/qlistwidget-using/mainwindow.cpp create mode 100644 doc/src/snippets/qlistwidget-using/mainwindow.h create mode 100644 doc/src/snippets/qlistwidget-using/qlistwidget-using.pro create mode 100644 doc/src/snippets/qmacnativewidget/main.mm create mode 100644 doc/src/snippets/qmacnativewidget/qmacnativewidget.pro create mode 100644 doc/src/snippets/qmake/comments.pro create mode 100644 doc/src/snippets/qmake/configscopes.pro create mode 100644 doc/src/snippets/qmake/debug_and_release.pro create mode 100644 doc/src/snippets/qmake/delegate.h create mode 100644 doc/src/snippets/qmake/dereferencing.pro create mode 100644 doc/src/snippets/qmake/destdir.pro create mode 100644 doc/src/snippets/qmake/dirname.pro create mode 100644 doc/src/snippets/qmake/environment.pro create mode 100644 doc/src/snippets/qmake/functions.pro create mode 100644 doc/src/snippets/qmake/include.pro create mode 100644 doc/src/snippets/qmake/main.cpp create mode 100644 doc/src/snippets/qmake/model.cpp create mode 100644 doc/src/snippets/qmake/model.h create mode 100644 doc/src/snippets/qmake/other.pro create mode 100644 doc/src/snippets/qmake/paintwidget_mac.cpp create mode 100644 doc/src/snippets/qmake/paintwidget_unix.cpp create mode 100644 doc/src/snippets/qmake/paintwidget_win.cpp create mode 100644 doc/src/snippets/qmake/project_location.pro create mode 100644 doc/src/snippets/qmake/qtconfiguration.pro create mode 100644 doc/src/snippets/qmake/quoting.pro create mode 100644 doc/src/snippets/qmake/replace.pro create mode 100644 doc/src/snippets/qmake/replacefunction.pro create mode 100644 doc/src/snippets/qmake/scopes.pro create mode 100644 doc/src/snippets/qmake/shared_or_static.pro create mode 100644 doc/src/snippets/qmake/specifications.pro create mode 100644 doc/src/snippets/qmake/testfunction.pro create mode 100644 doc/src/snippets/qmake/variables.pro create mode 100644 doc/src/snippets/qmake/view.h create mode 100644 doc/src/snippets/qmetaobject-invokable/main.cpp create mode 100644 doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro create mode 100644 doc/src/snippets/qmetaobject-invokable/window.cpp create mode 100644 doc/src/snippets/qmetaobject-invokable/window.h create mode 100644 doc/src/snippets/qprocess-environment/main.cpp create mode 100644 doc/src/snippets/qprocess-environment/qprocess-environment.pro create mode 100644 doc/src/snippets/qprocess/qprocess-simpleexecution.cpp create mode 100644 doc/src/snippets/qprocess/qprocess.pro create mode 100644 doc/src/snippets/qsignalmapper/buttonwidget.cpp create mode 100644 doc/src/snippets/qsignalmapper/buttonwidget.h create mode 100644 doc/src/snippets/qsignalmapper/main.cpp create mode 100644 doc/src/snippets/qsignalmapper/mainwindow.h create mode 100644 doc/src/snippets/qsignalmapper/qsignalmapper.pro create mode 100644 doc/src/snippets/qsortfilterproxymodel-details/main.cpp create mode 100644 doc/src/snippets/qsortfilterproxymodel-details/qsortfilterproxymodel-details.pro create mode 100644 doc/src/snippets/qsortfilterproxymodel/main.cpp create mode 100644 doc/src/snippets/qsortfilterproxymodel/qsortfilterproxymodel.pro create mode 100644 doc/src/snippets/qsplashscreen/main.cpp create mode 100644 doc/src/snippets/qsplashscreen/mainwindow.cpp create mode 100644 doc/src/snippets/qsplashscreen/mainwindow.h create mode 100644 doc/src/snippets/qsplashscreen/qsplashscreen.pro create mode 100644 doc/src/snippets/qsplashscreen/qsplashscreen.qrc create mode 100644 doc/src/snippets/qsplashscreen/splash.png create mode 100644 doc/src/snippets/qsql-namespace/main.cpp create mode 100644 doc/src/snippets/qsql-namespace/qsql-namespace.pro create mode 100644 doc/src/snippets/qstack/main.cpp create mode 100644 doc/src/snippets/qstack/qstack.pro create mode 100644 doc/src/snippets/qstackedlayout/main.cpp create mode 100644 doc/src/snippets/qstackedlayout/qstackedlayout.pro create mode 100644 doc/src/snippets/qstackedwidget/main.cpp create mode 100644 doc/src/snippets/qstackedwidget/qstackedwidget.pro create mode 100644 doc/src/snippets/qstandarditemmodel/main.cpp create mode 100644 doc/src/snippets/qstandarditemmodel/qstandarditemmodel.pro create mode 100644 doc/src/snippets/qstatustipevent/main.cpp create mode 100644 doc/src/snippets/qstatustipevent/qstatustipevent.pro create mode 100644 doc/src/snippets/qstring/main.cpp create mode 100644 doc/src/snippets/qstring/qstring.pro create mode 100644 doc/src/snippets/qstringlist/main.cpp create mode 100644 doc/src/snippets/qstringlist/qstringlist.pro create mode 100644 doc/src/snippets/qstringlistmodel/main.cpp create mode 100644 doc/src/snippets/qstringlistmodel/qstringlistmodel.pro create mode 100644 doc/src/snippets/qstyleoption/main.cpp create mode 100644 doc/src/snippets/qstyleoption/qstyleoption.pro create mode 100644 doc/src/snippets/qstyleplugin/main.cpp create mode 100644 doc/src/snippets/qstyleplugin/qstyleplugin.pro create mode 100644 doc/src/snippets/qsvgwidget/main.cpp create mode 100644 doc/src/snippets/qsvgwidget/qsvgwidget.pro create mode 100644 doc/src/snippets/qsvgwidget/qsvgwidget.qrc create mode 100644 doc/src/snippets/qsvgwidget/spheres.svg create mode 100644 doc/src/snippets/qsvgwidget/sunflower.svg create mode 100644 doc/src/snippets/qt-namespace/main.cpp create mode 100644 doc/src/snippets/qt-namespace/qt-namespace.pro create mode 100644 doc/src/snippets/qtablewidget-dnd/Images/cubed.png create mode 100644 doc/src/snippets/qtablewidget-dnd/Images/squared.png create mode 100644 doc/src/snippets/qtablewidget-dnd/images.qrc create mode 100644 doc/src/snippets/qtablewidget-dnd/main.cpp create mode 100644 doc/src/snippets/qtablewidget-dnd/mainwindow.cpp create mode 100644 doc/src/snippets/qtablewidget-dnd/mainwindow.h create mode 100644 doc/src/snippets/qtablewidget-dnd/qtablewidget-dnd.pro create mode 100644 doc/src/snippets/qtablewidget-resizing/main.cpp create mode 100644 doc/src/snippets/qtablewidget-resizing/mainwindow.cpp create mode 100644 doc/src/snippets/qtablewidget-resizing/mainwindow.h create mode 100644 doc/src/snippets/qtablewidget-resizing/qtablewidget-resizing.pro create mode 100644 doc/src/snippets/qtablewidget-using/Images/cubed.png create mode 100644 doc/src/snippets/qtablewidget-using/Images/squared.png create mode 100644 doc/src/snippets/qtablewidget-using/images.qrc create mode 100644 doc/src/snippets/qtablewidget-using/main.cpp create mode 100644 doc/src/snippets/qtablewidget-using/mainwindow.cpp create mode 100644 doc/src/snippets/qtablewidget-using/mainwindow.h create mode 100644 doc/src/snippets/qtablewidget-using/qtablewidget-using.pro create mode 100644 doc/src/snippets/qtcast/qtcast.cpp create mode 100644 doc/src/snippets/qtcast/qtcast.h create mode 100644 doc/src/snippets/qtcast/qtcast.pro create mode 100644 doc/src/snippets/qtest-namespace/main.cpp create mode 100644 doc/src/snippets/qtest-namespace/qtest-namespace.pro create mode 100644 doc/src/snippets/qtreeview-dnd/dragdropmodel.cpp create mode 100644 doc/src/snippets/qtreeview-dnd/dragdropmodel.h create mode 100644 doc/src/snippets/qtreeview-dnd/main.cpp create mode 100644 doc/src/snippets/qtreeview-dnd/mainwindow.cpp create mode 100644 doc/src/snippets/qtreeview-dnd/mainwindow.h create mode 100644 doc/src/snippets/qtreeview-dnd/qtreeview-dnd.pro create mode 100644 doc/src/snippets/qtreeview-dnd/treeitem.cpp create mode 100644 doc/src/snippets/qtreeview-dnd/treeitem.h create mode 100644 doc/src/snippets/qtreeview-dnd/treemodel.cpp create mode 100644 doc/src/snippets/qtreeview-dnd/treemodel.h create mode 100644 doc/src/snippets/qtreewidget-using/main.cpp create mode 100644 doc/src/snippets/qtreewidget-using/mainwindow.cpp create mode 100644 doc/src/snippets/qtreewidget-using/mainwindow.h create mode 100644 doc/src/snippets/qtreewidget-using/qtreewidget-using.pro create mode 100644 doc/src/snippets/qtreewidgetitemiterator-using/main.cpp create mode 100644 doc/src/snippets/qtreewidgetitemiterator-using/mainwindow.cpp create mode 100644 doc/src/snippets/qtreewidgetitemiterator-using/mainwindow.h create mode 100644 doc/src/snippets/qtreewidgetitemiterator-using/qtreewidgetitemiterator-using.pro create mode 100644 doc/src/snippets/qtscript/evaluation/evaluation.pro create mode 100644 doc/src/snippets/qtscript/evaluation/main.cpp create mode 100644 doc/src/snippets/qtscript/registeringobjects/main.cpp create mode 100644 doc/src/snippets/qtscript/registeringobjects/myobject.cpp create mode 100644 doc/src/snippets/qtscript/registeringobjects/myobject.h create mode 100644 doc/src/snippets/qtscript/registeringobjects/registeringobjects.pro create mode 100644 doc/src/snippets/qtscript/registeringvalues/main.cpp create mode 100644 doc/src/snippets/qtscript/registeringvalues/registeringvalues.pro create mode 100644 doc/src/snippets/qtscript/scriptedslot/main.cpp create mode 100644 doc/src/snippets/qtscript/scriptedslot/object.js create mode 100644 doc/src/snippets/qtscript/scriptedslot/scriptedslot.pro create mode 100644 doc/src/snippets/qtscript/scriptedslot/scriptedslot.qrc create mode 100644 doc/src/snippets/quiloader/main.cpp create mode 100644 doc/src/snippets/quiloader/myform.ui create mode 100644 doc/src/snippets/quiloader/mywidget.cpp create mode 100644 doc/src/snippets/quiloader/mywidget.h create mode 100644 doc/src/snippets/quiloader/mywidget.qrc create mode 100644 doc/src/snippets/quiloader/quiloader.pro create mode 100644 doc/src/snippets/qx11embedcontainer/main.cpp create mode 100644 doc/src/snippets/qx11embedcontainer/qx11embedcontainer.pro create mode 100644 doc/src/snippets/qx11embedwidget/embedwidget.cpp create mode 100644 doc/src/snippets/qx11embedwidget/embedwidget.h create mode 100644 doc/src/snippets/qx11embedwidget/main.cpp create mode 100644 doc/src/snippets/qx11embedwidget/qx11embedwidget.pro create mode 100644 doc/src/snippets/qxmlquery/bindingExample.cpp create mode 100644 doc/src/snippets/reading-selections/main.cpp create mode 100644 doc/src/snippets/reading-selections/model.cpp create mode 100644 doc/src/snippets/reading-selections/model.h create mode 100644 doc/src/snippets/reading-selections/reading-selections.pro create mode 100644 doc/src/snippets/reading-selections/window.cpp create mode 100644 doc/src/snippets/reading-selections/window.h create mode 100644 doc/src/snippets/scribe-overview/main.cpp create mode 100644 doc/src/snippets/scribe-overview/scribe-overview.pro create mode 100644 doc/src/snippets/scriptdebugger.cpp create mode 100644 doc/src/snippets/seekslider.cpp create mode 100644 doc/src/snippets/separations/finalwidget.cpp create mode 100644 doc/src/snippets/separations/finalwidget.h create mode 100644 doc/src/snippets/separations/main.cpp create mode 100644 doc/src/snippets/separations/screenwidget.cpp create mode 100644 doc/src/snippets/separations/screenwidget.h create mode 100644 doc/src/snippets/separations/separations.pro create mode 100644 doc/src/snippets/separations/separations.qdoc create mode 100644 doc/src/snippets/separations/viewer.cpp create mode 100644 doc/src/snippets/separations/viewer.h create mode 100644 doc/src/snippets/settings/settings.cpp create mode 100644 doc/src/snippets/shareddirmodel/main.cpp create mode 100644 doc/src/snippets/shareddirmodel/shareddirmodel.pro create mode 100644 doc/src/snippets/sharedemployee/employee.cpp create mode 100644 doc/src/snippets/sharedemployee/employee.h create mode 100644 doc/src/snippets/sharedemployee/main.cpp create mode 100644 doc/src/snippets/sharedemployee/sharedemployee.pro create mode 100644 doc/src/snippets/sharedtablemodel/main.cpp create mode 100644 doc/src/snippets/sharedtablemodel/model.cpp create mode 100644 doc/src/snippets/sharedtablemodel/model.h create mode 100644 doc/src/snippets/sharedtablemodel/sharedtablemodel.pro create mode 100644 doc/src/snippets/signalmapper/accountsfile.txt create mode 100644 doc/src/snippets/signalmapper/filereader.cpp create mode 100644 doc/src/snippets/signalmapper/filereader.h create mode 100644 doc/src/snippets/signalmapper/main.cpp create mode 100644 doc/src/snippets/signalmapper/reportfile.txt create mode 100644 doc/src/snippets/signalmapper/signalmapper.pro create mode 100644 doc/src/snippets/signalmapper/taxfile.txt create mode 100644 doc/src/snippets/signalsandslots/lcdnumber.cpp create mode 100644 doc/src/snippets/signalsandslots/lcdnumber.h create mode 100644 doc/src/snippets/signalsandslots/signalsandslots.cpp create mode 100644 doc/src/snippets/signalsandslots/signalsandslots.h create mode 100644 doc/src/snippets/simplemodel-use/main.cpp create mode 100644 doc/src/snippets/simplemodel-use/simplemodel-use.pro create mode 100644 doc/src/snippets/snippets.pro create mode 100644 doc/src/snippets/splitter/splitter.cpp create mode 100644 doc/src/snippets/splitter/splitter.pro create mode 100644 doc/src/snippets/splitterhandle/main.cpp create mode 100644 doc/src/snippets/splitterhandle/splitter.cpp create mode 100644 doc/src/snippets/splitterhandle/splitter.h create mode 100644 doc/src/snippets/splitterhandle/splitterhandle.pro create mode 100644 doc/src/snippets/sqldatabase/sqldatabase.cpp create mode 100644 doc/src/snippets/sqldatabase/sqldatabase.pro create mode 100644 doc/src/snippets/streaming/main.cpp create mode 100644 doc/src/snippets/streaming/streaming.pro create mode 100644 doc/src/snippets/stringlistmodel/main.cpp create mode 100644 doc/src/snippets/stringlistmodel/model.cpp create mode 100644 doc/src/snippets/stringlistmodel/model.h create mode 100644 doc/src/snippets/stringlistmodel/stringlistmodel.pro create mode 100644 doc/src/snippets/styles/styles.cpp create mode 100644 doc/src/snippets/stylesheet/common-mistakes.cpp create mode 100644 doc/src/snippets/textblock-formats/main.cpp create mode 100644 doc/src/snippets/textblock-formats/textblock-formats.pro create mode 100644 doc/src/snippets/textblock-fragments/main.cpp create mode 100644 doc/src/snippets/textblock-fragments/mainwindow.cpp create mode 100644 doc/src/snippets/textblock-fragments/mainwindow.h create mode 100644 doc/src/snippets/textblock-fragments/textblock-fragments.pro create mode 100644 doc/src/snippets/textblock-fragments/xmlwriter.cpp create mode 100644 doc/src/snippets/textblock-fragments/xmlwriter.h create mode 100644 doc/src/snippets/textdocument-blocks/main.cpp create mode 100644 doc/src/snippets/textdocument-blocks/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-blocks/mainwindow.h create mode 100644 doc/src/snippets/textdocument-blocks/textdocument-blocks.pro create mode 100644 doc/src/snippets/textdocument-blocks/xmlwriter.cpp create mode 100644 doc/src/snippets/textdocument-blocks/xmlwriter.h create mode 100644 doc/src/snippets/textdocument-charformats/main.cpp create mode 100644 doc/src/snippets/textdocument-charformats/textdocument-charformats.pro create mode 100644 doc/src/snippets/textdocument-css/main.cpp create mode 100644 doc/src/snippets/textdocument-css/textdocument-css.pro create mode 100644 doc/src/snippets/textdocument-cursors/main.cpp create mode 100644 doc/src/snippets/textdocument-cursors/textdocument-cursors.pro create mode 100644 doc/src/snippets/textdocument-find/main.cpp create mode 100644 doc/src/snippets/textdocument-find/textdocument-find.pro create mode 100644 doc/src/snippets/textdocument-frames/main.cpp create mode 100644 doc/src/snippets/textdocument-frames/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-frames/mainwindow.h create mode 100644 doc/src/snippets/textdocument-frames/textdocument-frames.pro create mode 100644 doc/src/snippets/textdocument-frames/xmlwriter.cpp create mode 100644 doc/src/snippets/textdocument-frames/xmlwriter.h create mode 100644 doc/src/snippets/textdocument-imagedrop/main.cpp create mode 100644 doc/src/snippets/textdocument-imagedrop/textdocument-imagedrop.pro create mode 100644 doc/src/snippets/textdocument-imagedrop/textedit.cpp create mode 100644 doc/src/snippets/textdocument-imagedrop/textedit.h create mode 100644 doc/src/snippets/textdocument-imageformat/images.qrc create mode 100644 doc/src/snippets/textdocument-imageformat/images/advert.png create mode 100644 doc/src/snippets/textdocument-imageformat/images/newimage.png create mode 100644 doc/src/snippets/textdocument-imageformat/main.cpp create mode 100644 doc/src/snippets/textdocument-imageformat/textdocument-imageformat.pro create mode 100644 doc/src/snippets/textdocument-images/images.qrc create mode 100644 doc/src/snippets/textdocument-images/images/advert.png create mode 100644 doc/src/snippets/textdocument-images/main.cpp create mode 100644 doc/src/snippets/textdocument-images/textdocument-images.pro create mode 100644 doc/src/snippets/textdocument-listitems/main.cpp create mode 100644 doc/src/snippets/textdocument-listitems/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-listitems/mainwindow.h create mode 100644 doc/src/snippets/textdocument-listitems/textdocument-listitems.pro create mode 100644 doc/src/snippets/textdocument-lists/main.cpp create mode 100644 doc/src/snippets/textdocument-lists/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-lists/mainwindow.h create mode 100644 doc/src/snippets/textdocument-lists/textdocument-lists.pro create mode 100644 doc/src/snippets/textdocument-printing/main.cpp create mode 100644 doc/src/snippets/textdocument-printing/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-printing/mainwindow.h create mode 100644 doc/src/snippets/textdocument-printing/textdocument-printing.pro create mode 100644 doc/src/snippets/textdocument-resources/main.cpp create mode 100644 doc/src/snippets/textdocument-resources/textdocument-resources.pro create mode 100644 doc/src/snippets/textdocument-selections/main.cpp create mode 100644 doc/src/snippets/textdocument-selections/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-selections/mainwindow.h create mode 100644 doc/src/snippets/textdocument-selections/textdocument-selections.pro create mode 100644 doc/src/snippets/textdocument-tables/main.cpp create mode 100644 doc/src/snippets/textdocument-tables/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-tables/mainwindow.h create mode 100644 doc/src/snippets/textdocument-tables/textdocument-tables.pro create mode 100644 doc/src/snippets/textdocument-tables/xmlwriter.cpp create mode 100644 doc/src/snippets/textdocument-tables/xmlwriter.h create mode 100644 doc/src/snippets/textdocument-texttable/main.cpp create mode 100644 doc/src/snippets/textdocumentendsnippet.cpp create mode 100644 doc/src/snippets/threads/threads.cpp create mode 100644 doc/src/snippets/threads/threads.h create mode 100644 doc/src/snippets/timeline/main.cpp create mode 100644 doc/src/snippets/timeline/timeline.pro create mode 100644 doc/src/snippets/timers/timers.cpp create mode 100644 doc/src/snippets/timers/timers.pro create mode 100644 doc/src/snippets/transform/main.cpp create mode 100644 doc/src/snippets/transform/transform.pro create mode 100644 doc/src/snippets/uitools/calculatorform/calculatorform.pro create mode 100644 doc/src/snippets/uitools/calculatorform/calculatorform.ui create mode 100644 doc/src/snippets/uitools/calculatorform/main.cpp create mode 100644 doc/src/snippets/updating-selections/main.cpp create mode 100644 doc/src/snippets/updating-selections/model.cpp create mode 100644 doc/src/snippets/updating-selections/model.h create mode 100644 doc/src/snippets/updating-selections/updating-selections.pro create mode 100644 doc/src/snippets/updating-selections/window.cpp create mode 100644 doc/src/snippets/updating-selections/window.h create mode 100644 doc/src/snippets/videomedia.cpp create mode 100644 doc/src/snippets/volumeslider.cpp create mode 100644 doc/src/snippets/webkit/simple/main.cpp create mode 100644 doc/src/snippets/webkit/simple/simple.pro create mode 100644 doc/src/snippets/webkit/webpage/main.cpp create mode 100644 doc/src/snippets/webkit/webpage/webpage.pro create mode 100644 doc/src/snippets/whatsthis/whatsthis.cpp create mode 100644 doc/src/snippets/whatsthis/whatsthis.pro create mode 100644 doc/src/snippets/widget-mask/main.cpp create mode 100644 doc/src/snippets/widget-mask/mask.qrc create mode 100644 doc/src/snippets/widget-mask/tux.png create mode 100644 doc/src/snippets/widget-mask/widget-mask.pro create mode 100644 doc/src/snippets/widgetdelegate.cpp create mode 100644 doc/src/snippets/widgets-tutorial/childwidget/childwidget.pro create mode 100644 doc/src/snippets/widgets-tutorial/childwidget/main.cpp create mode 100644 doc/src/snippets/widgets-tutorial/nestedlayouts/main.cpp create mode 100644 doc/src/snippets/widgets-tutorial/nestedlayouts/nestedlayouts.pro create mode 100644 doc/src/snippets/widgets-tutorial/toplevel/main.cpp create mode 100644 doc/src/snippets/widgets-tutorial/toplevel/toplevel.pro create mode 100644 doc/src/snippets/widgets-tutorial/windowlayout/main.cpp create mode 100644 doc/src/snippets/widgets-tutorial/windowlayout/windowlayout.pro create mode 100644 doc/src/snippets/xml/prettyprint/main.cpp create mode 100644 doc/src/snippets/xml/prettyprint/prettyprint.pro create mode 100644 doc/src/snippets/xml/rsslisting/handler.cpp create mode 100644 doc/src/snippets/xml/rsslisting/handler.h create mode 100644 doc/src/snippets/xml/rsslisting/main.cpp create mode 100644 doc/src/snippets/xml/rsslisting/rsslisting.cpp create mode 100644 doc/src/snippets/xml/rsslisting/rsslisting.h create mode 100644 doc/src/snippets/xml/simpleparse/handler.cpp create mode 100644 doc/src/snippets/xml/simpleparse/handler.h create mode 100644 doc/src/snippets/xml/simpleparse/main.cpp create mode 100644 doc/src/snippets/xml/simpleparse/simpleparse.pro create mode 100644 doc/src/snippets/xml/xml.pro create mode 100644 doc/src/sql-driver.qdoc create mode 100644 doc/src/statemachine.qdoc create mode 100644 doc/src/styles.qdoc create mode 100644 doc/src/stylesheet.qdoc create mode 100644 doc/src/tech-preview/images/mainwindow-docks-example.png create mode 100644 doc/src/tech-preview/images/mainwindow-docks.png create mode 100644 doc/src/tech-preview/images/plaintext-layout.png create mode 100644 doc/src/tech-preview/known-issues.html create mode 100644 doc/src/templates.qdoc create mode 100644 doc/src/threads.qdoc create mode 100644 doc/src/timers.qdoc create mode 100644 doc/src/tools-list.qdoc create mode 100644 doc/src/topics.qdoc create mode 100644 doc/src/trademarks.qdoc create mode 100644 doc/src/trolltech-webpages.qdoc create mode 100644 doc/src/tutorials/addressbook-fr.qdoc create mode 100644 doc/src/tutorials/addressbook-sdk.qdoc create mode 100644 doc/src/tutorials/addressbook.qdoc create mode 100644 doc/src/tutorials/widgets-tutorial.qdoc create mode 100644 doc/src/uic.qdoc create mode 100644 doc/src/unicode.qdoc create mode 100644 doc/src/unix-signal-handlers.qdoc create mode 100644 doc/src/wince-customization.qdoc create mode 100644 doc/src/wince-introduction.qdoc create mode 100644 doc/src/wince-opengl.qdoc create mode 100644 doc/src/winsystem.qdoc create mode 100644 doc/src/xquery-introduction.qdoc create mode 100644 examples/README create mode 100644 examples/activeqt/README create mode 100644 examples/activeqt/activeqt.pro create mode 100644 examples/activeqt/comapp/comapp.pro create mode 100644 examples/activeqt/comapp/comapp.rc create mode 100644 examples/activeqt/comapp/main.cpp create mode 100644 examples/activeqt/dotnet/walkthrough/Form1.cs create mode 100644 examples/activeqt/dotnet/walkthrough/Form1.resx create mode 100644 examples/activeqt/dotnet/walkthrough/Form1.vb create mode 100644 examples/activeqt/dotnet/walkthrough/csharp.csproj create mode 100644 examples/activeqt/dotnet/walkthrough/vb.vbproj create mode 100644 examples/activeqt/dotnet/wrapper/app.csproj create mode 100644 examples/activeqt/dotnet/wrapper/lib/lib.vcproj create mode 100644 examples/activeqt/dotnet/wrapper/lib/networker.cpp create mode 100644 examples/activeqt/dotnet/wrapper/lib/networker.h create mode 100644 examples/activeqt/dotnet/wrapper/lib/tools.cpp create mode 100644 examples/activeqt/dotnet/wrapper/lib/tools.h create mode 100644 examples/activeqt/dotnet/wrapper/lib/worker.cpp create mode 100644 examples/activeqt/dotnet/wrapper/lib/worker.h create mode 100644 examples/activeqt/dotnet/wrapper/main.cs create mode 100644 examples/activeqt/dotnet/wrapper/wrapper.sln create mode 100644 examples/activeqt/hierarchy/hierarchy.inf create mode 100644 examples/activeqt/hierarchy/hierarchy.pro create mode 100644 examples/activeqt/hierarchy/main.cpp create mode 100644 examples/activeqt/hierarchy/objects.cpp create mode 100644 examples/activeqt/hierarchy/objects.h create mode 100644 examples/activeqt/menus/fileopen.xpm create mode 100644 examples/activeqt/menus/filesave.xpm create mode 100644 examples/activeqt/menus/main.cpp create mode 100644 examples/activeqt/menus/menus.cpp create mode 100644 examples/activeqt/menus/menus.h create mode 100644 examples/activeqt/menus/menus.inf create mode 100644 examples/activeqt/menus/menus.pro create mode 100644 examples/activeqt/multiple/ax1.h create mode 100644 examples/activeqt/multiple/ax2.h create mode 100644 examples/activeqt/multiple/main.cpp create mode 100644 examples/activeqt/multiple/multiple.inf create mode 100644 examples/activeqt/multiple/multiple.pro create mode 100644 examples/activeqt/multiple/multipleax.rc create mode 100644 examples/activeqt/opengl/glbox.cpp create mode 100644 examples/activeqt/opengl/glbox.h create mode 100644 examples/activeqt/opengl/globjwin.cpp create mode 100644 examples/activeqt/opengl/globjwin.h create mode 100644 examples/activeqt/opengl/main.cpp create mode 100644 examples/activeqt/opengl/opengl.inf create mode 100644 examples/activeqt/opengl/opengl.pro create mode 100644 examples/activeqt/qutlook/addressview.cpp create mode 100644 examples/activeqt/qutlook/addressview.h create mode 100644 examples/activeqt/qutlook/fileopen.xpm create mode 100644 examples/activeqt/qutlook/fileprint.xpm create mode 100644 examples/activeqt/qutlook/filesave.xpm create mode 100644 examples/activeqt/qutlook/main.cpp create mode 100644 examples/activeqt/qutlook/qutlook.pro create mode 100644 examples/activeqt/simple/main.cpp create mode 100644 examples/activeqt/simple/simple.inf create mode 100644 examples/activeqt/simple/simple.pro create mode 100644 examples/activeqt/webbrowser/main.cpp create mode 100644 examples/activeqt/webbrowser/mainwindow.ui create mode 100644 examples/activeqt/webbrowser/webaxwidget.h create mode 100644 examples/activeqt/webbrowser/webbrowser.pro create mode 100644 examples/activeqt/webbrowser/wincemainwindow.ui create mode 100644 examples/activeqt/wrapper/main.cpp create mode 100644 examples/activeqt/wrapper/wrapper.inf create mode 100644 examples/activeqt/wrapper/wrapper.pro create mode 100644 examples/activeqt/wrapper/wrapperax.rc create mode 100644 examples/animation/animatedtiles/animatedtiles.pro create mode 100644 examples/animation/animatedtiles/animatedtiles.qrc create mode 100644 examples/animation/animatedtiles/images/Time-For-Lunch-2.jpg create mode 100644 examples/animation/animatedtiles/images/centered.png create mode 100644 examples/animation/animatedtiles/images/ellipse.png create mode 100644 examples/animation/animatedtiles/images/figure8.png create mode 100644 examples/animation/animatedtiles/images/kinetic.png create mode 100644 examples/animation/animatedtiles/images/random.png create mode 100644 examples/animation/animatedtiles/images/tile.png create mode 100644 examples/animation/animatedtiles/main.cpp create mode 100644 examples/animation/animation.pro create mode 100644 examples/animation/appchooser/accessories-dictionary.png create mode 100644 examples/animation/appchooser/akregator.png create mode 100644 examples/animation/appchooser/appchooser.pro create mode 100644 examples/animation/appchooser/appchooser.qrc create mode 100644 examples/animation/appchooser/digikam.png create mode 100644 examples/animation/appchooser/k3b.png create mode 100644 examples/animation/appchooser/main.cpp create mode 100644 examples/animation/easing/animation.h create mode 100644 examples/animation/easing/easing.pro create mode 100644 examples/animation/easing/form.ui create mode 100644 examples/animation/easing/images/qt-logo.png create mode 100644 examples/animation/easing/main.cpp create mode 100644 examples/animation/easing/resources.qrc create mode 100644 examples/animation/easing/window.cpp create mode 100644 examples/animation/easing/window.h create mode 100644 examples/animation/example/example.pro create mode 100644 examples/animation/example/main.cpp create mode 100644 examples/animation/example/mainwindow.cpp create mode 100644 examples/animation/example/mainwindow.h create mode 100644 examples/animation/moveblocks/main.cpp create mode 100644 examples/animation/moveblocks/moveblocks.pro create mode 100644 examples/animation/padnavigator-ng/backside.ui create mode 100644 examples/animation/padnavigator-ng/images/artsfftscope.png create mode 100644 examples/animation/padnavigator-ng/images/blue_angle_swirl.jpg create mode 100644 examples/animation/padnavigator-ng/images/kontact_contacts.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_journal.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_mail.png create mode 100644 examples/animation/padnavigator-ng/images/kontact_notes.png create mode 100644 examples/animation/padnavigator-ng/images/kopeteavailable.png create mode 100644 examples/animation/padnavigator-ng/images/metacontact_online.png create mode 100644 examples/animation/padnavigator-ng/images/minitools.png create mode 100644 examples/animation/padnavigator-ng/main.cpp create mode 100644 examples/animation/padnavigator-ng/padnavigator.pro create mode 100644 examples/animation/padnavigator-ng/padnavigator.qrc create mode 100644 examples/animation/padnavigator-ng/panel.cpp create mode 100644 examples/animation/padnavigator-ng/panel.h create mode 100644 examples/animation/padnavigator-ng/roundrectitem.cpp create mode 100644 examples/animation/padnavigator-ng/roundrectitem.h create mode 100644 examples/animation/padnavigator-ng/splashitem.cpp create mode 100644 examples/animation/padnavigator-ng/splashitem.h create mode 100644 examples/animation/photobrowser/main.cpp create mode 100644 examples/animation/photobrowser/menu.cpp create mode 100644 examples/animation/photobrowser/menu.h create mode 100644 examples/animation/photobrowser/photobrowser.pro create mode 100644 examples/animation/photobrowser/river.cpp create mode 100644 examples/animation/photobrowser/river.h create mode 100644 examples/animation/photobrowser/riveritem.cpp create mode 100644 examples/animation/photobrowser/riveritem.h create mode 100644 examples/animation/piemenu/main.cpp create mode 100644 examples/animation/piemenu/piemenu.pro create mode 100644 examples/animation/piemenu/qgraphicspiemenu.cpp create mode 100644 examples/animation/piemenu/qgraphicspiemenu.h create mode 100644 examples/animation/piemenu/qgraphicspiemenu_p.h create mode 100644 examples/animation/piemenu/qgraphicspiemenusection_p.h create mode 100644 examples/animation/piemenu/scene.cpp create mode 100644 examples/animation/piemenu/scene.h create mode 100644 examples/animation/research/memberfunctions/main.cpp create mode 100644 examples/animation/research/memberfunctions/memberfunctions.pro create mode 100644 examples/animation/research/memberfunctions/qvalueanimation.cpp create mode 100644 examples/animation/research/memberfunctions/qvalueanimation.h create mode 100644 examples/animation/research/memberfunctions/qvalueanimation_p.h create mode 100644 examples/animation/research/propertytransform/main.cpp create mode 100644 examples/animation/research/propertytransform/propertytransform.pro create mode 100644 examples/animation/research/propertytransform/qpropertytransform.h create mode 100644 examples/animation/research/sound/main.cpp create mode 100644 examples/animation/research/sound/media/sax.mp3 create mode 100644 examples/animation/research/sound/sound.pro create mode 100644 examples/animation/research/sound/sound.qrc create mode 100644 examples/animation/states/accessories-dictionary.png create mode 100644 examples/animation/states/akregator.png create mode 100644 examples/animation/states/digikam.png create mode 100644 examples/animation/states/help-browser.png create mode 100644 examples/animation/states/k3b.png create mode 100644 examples/animation/states/kchart.png create mode 100644 examples/animation/states/main.cpp create mode 100644 examples/animation/states/states.pro create mode 100644 examples/animation/states/states.qrc create mode 100644 examples/animation/stickman/animation.cpp create mode 100644 examples/animation/stickman/animation.h create mode 100644 examples/animation/stickman/animations/chilling create mode 100644 examples/animation/stickman/animations/dancing create mode 100644 examples/animation/stickman/animations/dead create mode 100644 examples/animation/stickman/animations/jumping create mode 100644 examples/animation/stickman/graphicsview.cpp create mode 100644 examples/animation/stickman/graphicsview.h create mode 100644 examples/animation/stickman/lifecycle.cpp create mode 100644 examples/animation/stickman/lifecycle.h create mode 100644 examples/animation/stickman/main.cpp create mode 100644 examples/animation/stickman/node.cpp create mode 100644 examples/animation/stickman/node.h create mode 100644 examples/animation/stickman/stickman.cpp create mode 100644 examples/animation/stickman/stickman.h create mode 100644 examples/animation/stickman/stickman.pro create mode 100644 examples/animation/sub-attaq/animationmanager.cpp create mode 100644 examples/animation/sub-attaq/animationmanager.h create mode 100644 examples/animation/sub-attaq/boat.cpp create mode 100644 examples/animation/sub-attaq/boat.h create mode 100644 examples/animation/sub-attaq/boat_p.h create mode 100644 examples/animation/sub-attaq/bomb.cpp create mode 100644 examples/animation/sub-attaq/bomb.h create mode 100644 examples/animation/sub-attaq/custompropertyanimation.cpp create mode 100644 examples/animation/sub-attaq/custompropertyanimation.h create mode 100644 examples/animation/sub-attaq/custompropertyanimation_p.h create mode 100644 examples/animation/sub-attaq/data.xml create mode 100644 examples/animation/sub-attaq/graphicsscene.cpp create mode 100644 examples/animation/sub-attaq/graphicsscene.h create mode 100644 examples/animation/sub-attaq/main.cpp create mode 100644 examples/animation/sub-attaq/mainwindow.cpp create mode 100644 examples/animation/sub-attaq/mainwindow.h create mode 100644 examples/animation/sub-attaq/pics/big/background.png create mode 100644 examples/animation/sub-attaq/pics/big/boat.png create mode 100644 examples/animation/sub-attaq/pics/big/bomb.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step1.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step2.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step3.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/boat/step4.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png create mode 100644 examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png create mode 100644 examples/animation/sub-attaq/pics/big/submarine.png create mode 100644 examples/animation/sub-attaq/pics/big/surface.png create mode 100644 examples/animation/sub-attaq/pics/big/torpedo.png create mode 100644 examples/animation/sub-attaq/pics/scalable/background-n810.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/background.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/boat.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/bomb.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sand.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/see.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sky.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/sub-attaq.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/submarine.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/surface.svg create mode 100644 examples/animation/sub-attaq/pics/scalable/torpedo.svg create mode 100644 examples/animation/sub-attaq/pics/small/background.png create mode 100644 examples/animation/sub-attaq/pics/small/boat.png create mode 100644 examples/animation/sub-attaq/pics/small/bomb.png create mode 100644 examples/animation/sub-attaq/pics/small/submarine.png create mode 100644 examples/animation/sub-attaq/pics/small/surface.png create mode 100644 examples/animation/sub-attaq/pics/small/torpedo.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-a.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-a2.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-b.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-dash.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-excl.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-q.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-s.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-t.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-t2.png create mode 100644 examples/animation/sub-attaq/pics/welcome/logo-u.png create mode 100644 examples/animation/sub-attaq/pixmapitem.cpp create mode 100644 examples/animation/sub-attaq/pixmapitem.h create mode 100644 examples/animation/sub-attaq/states.cpp create mode 100644 examples/animation/sub-attaq/states.h create mode 100644 examples/animation/sub-attaq/sub-attaq.pro create mode 100644 examples/animation/sub-attaq/subattaq.qrc create mode 100644 examples/animation/sub-attaq/submarine.cpp create mode 100644 examples/animation/sub-attaq/submarine.h create mode 100644 examples/animation/sub-attaq/submarine_p.h create mode 100644 examples/animation/sub-attaq/torpedo.cpp create mode 100644 examples/animation/sub-attaq/torpedo.h create mode 100644 examples/assistant/README create mode 100644 examples/assistant/assistant.pro create mode 100644 examples/assistant/simpletextviewer/documentation/about.txt create mode 100644 examples/assistant/simpletextviewer/documentation/browse.html create mode 100644 examples/assistant/simpletextviewer/documentation/filedialog.html create mode 100644 examples/assistant/simpletextviewer/documentation/findfile.html create mode 100644 examples/assistant/simpletextviewer/documentation/images/browse.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/fadedfilemenu.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/filedialog.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/handbook.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/mainwindow.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/open.png create mode 100644 examples/assistant/simpletextviewer/documentation/images/wildcard.png create mode 100644 examples/assistant/simpletextviewer/documentation/index.html create mode 100644 examples/assistant/simpletextviewer/documentation/intro.html create mode 100644 examples/assistant/simpletextviewer/documentation/openfile.html create mode 100644 examples/assistant/simpletextviewer/documentation/simpletextviewer.adp create mode 100644 examples/assistant/simpletextviewer/documentation/wildcardmatching.html create mode 100644 examples/assistant/simpletextviewer/findfiledialog.cpp create mode 100644 examples/assistant/simpletextviewer/findfiledialog.h create mode 100644 examples/assistant/simpletextviewer/main.cpp create mode 100644 examples/assistant/simpletextviewer/mainwindow.cpp create mode 100644 examples/assistant/simpletextviewer/mainwindow.h create mode 100644 examples/assistant/simpletextviewer/simpletextviewer.pro create mode 100644 examples/dbus/complexpingpong/complexping.cpp create mode 100644 examples/dbus/complexpingpong/complexping.h create mode 100644 examples/dbus/complexpingpong/complexping.pro create mode 100644 examples/dbus/complexpingpong/complexpingpong.pro create mode 100644 examples/dbus/complexpingpong/complexpong.cpp create mode 100644 examples/dbus/complexpingpong/complexpong.h create mode 100644 examples/dbus/complexpingpong/complexpong.pro create mode 100644 examples/dbus/complexpingpong/ping-common.h create mode 100644 examples/dbus/dbus-chat/chat.cpp create mode 100644 examples/dbus/dbus-chat/chat.h create mode 100644 examples/dbus/dbus-chat/chat_adaptor.cpp create mode 100644 examples/dbus/dbus-chat/chat_adaptor.h create mode 100644 examples/dbus/dbus-chat/chat_interface.cpp create mode 100644 examples/dbus/dbus-chat/chat_interface.h create mode 100644 examples/dbus/dbus-chat/chatmainwindow.ui create mode 100644 examples/dbus/dbus-chat/chatsetnickname.ui create mode 100644 examples/dbus/dbus-chat/com.trolltech.chat.xml create mode 100644 examples/dbus/dbus-chat/dbus-chat.pro create mode 100644 examples/dbus/dbus.pro create mode 100644 examples/dbus/listnames/listnames.cpp create mode 100644 examples/dbus/listnames/listnames.pro create mode 100644 examples/dbus/pingpong/ping-common.h create mode 100644 examples/dbus/pingpong/ping.cpp create mode 100644 examples/dbus/pingpong/ping.pro create mode 100644 examples/dbus/pingpong/pingpong.pro create mode 100644 examples/dbus/pingpong/pong.cpp create mode 100644 examples/dbus/pingpong/pong.h create mode 100644 examples/dbus/pingpong/pong.pro create mode 100644 examples/dbus/remotecontrolledcar/car/car.cpp create mode 100644 examples/dbus/remotecontrolledcar/car/car.h create mode 100644 examples/dbus/remotecontrolledcar/car/car.pro create mode 100644 examples/dbus/remotecontrolledcar/car/car.xml create mode 100644 examples/dbus/remotecontrolledcar/car/car_adaptor.cpp create mode 100644 examples/dbus/remotecontrolledcar/car/car_adaptor_p.h create mode 100644 examples/dbus/remotecontrolledcar/car/main.cpp create mode 100644 examples/dbus/remotecontrolledcar/controller/car.xml create mode 100644 examples/dbus/remotecontrolledcar/controller/car_interface.cpp create mode 100644 examples/dbus/remotecontrolledcar/controller/car_interface_p.h create mode 100644 examples/dbus/remotecontrolledcar/controller/controller.cpp create mode 100644 examples/dbus/remotecontrolledcar/controller/controller.h create mode 100644 examples/dbus/remotecontrolledcar/controller/controller.pro create mode 100644 examples/dbus/remotecontrolledcar/controller/controller.ui create mode 100644 examples/dbus/remotecontrolledcar/controller/main.cpp create mode 100644 examples/dbus/remotecontrolledcar/remotecontrolledcar.pro create mode 100644 examples/designer/README create mode 100644 examples/designer/calculatorbuilder/calculatorbuilder.pro create mode 100644 examples/designer/calculatorbuilder/calculatorbuilder.qrc create mode 100644 examples/designer/calculatorbuilder/calculatorform.cpp create mode 100644 examples/designer/calculatorbuilder/calculatorform.h create mode 100644 examples/designer/calculatorbuilder/calculatorform.ui create mode 100644 examples/designer/calculatorbuilder/main.cpp create mode 100644 examples/designer/calculatorform/calculatorform.cpp create mode 100644 examples/designer/calculatorform/calculatorform.h create mode 100644 examples/designer/calculatorform/calculatorform.pro create mode 100644 examples/designer/calculatorform/calculatorform.ui create mode 100644 examples/designer/calculatorform/main.cpp create mode 100644 examples/designer/containerextension/containerextension.pro create mode 100644 examples/designer/containerextension/multipagewidget.cpp create mode 100644 examples/designer/containerextension/multipagewidget.h create mode 100644 examples/designer/containerextension/multipagewidgetcontainerextension.cpp create mode 100644 examples/designer/containerextension/multipagewidgetcontainerextension.h create mode 100644 examples/designer/containerextension/multipagewidgetextensionfactory.cpp create mode 100644 examples/designer/containerextension/multipagewidgetextensionfactory.h create mode 100644 examples/designer/containerextension/multipagewidgetplugin.cpp create mode 100644 examples/designer/containerextension/multipagewidgetplugin.h create mode 100644 examples/designer/customwidgetplugin/analogclock.cpp create mode 100644 examples/designer/customwidgetplugin/analogclock.h create mode 100644 examples/designer/customwidgetplugin/customwidgetplugin.cpp create mode 100644 examples/designer/customwidgetplugin/customwidgetplugin.h create mode 100644 examples/designer/customwidgetplugin/customwidgetplugin.pro create mode 100644 examples/designer/designer.pro create mode 100644 examples/designer/taskmenuextension/taskmenuextension.pro create mode 100644 examples/designer/taskmenuextension/tictactoe.cpp create mode 100644 examples/designer/taskmenuextension/tictactoe.h create mode 100644 examples/designer/taskmenuextension/tictactoedialog.cpp create mode 100644 examples/designer/taskmenuextension/tictactoedialog.h create mode 100644 examples/designer/taskmenuextension/tictactoeplugin.cpp create mode 100644 examples/designer/taskmenuextension/tictactoeplugin.h create mode 100644 examples/designer/taskmenuextension/tictactoetaskmenu.cpp create mode 100644 examples/designer/taskmenuextension/tictactoetaskmenu.h create mode 100644 examples/designer/worldtimeclockbuilder/form.ui create mode 100644 examples/designer/worldtimeclockbuilder/main.cpp create mode 100644 examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.pro create mode 100644 examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.qrc create mode 100644 examples/designer/worldtimeclockplugin/worldtimeclock.cpp create mode 100644 examples/designer/worldtimeclockplugin/worldtimeclock.h create mode 100644 examples/designer/worldtimeclockplugin/worldtimeclockplugin.cpp create mode 100644 examples/designer/worldtimeclockplugin/worldtimeclockplugin.h create mode 100644 examples/designer/worldtimeclockplugin/worldtimeclockplugin.pro create mode 100644 examples/desktop/README create mode 100644 examples/desktop/desktop.pro create mode 100644 examples/desktop/screenshot/main.cpp create mode 100644 examples/desktop/screenshot/screenshot.cpp create mode 100644 examples/desktop/screenshot/screenshot.h create mode 100644 examples/desktop/screenshot/screenshot.pro create mode 100644 examples/desktop/systray/images/bad.svg create mode 100644 examples/desktop/systray/images/heart.svg create mode 100644 examples/desktop/systray/images/trash.svg create mode 100644 examples/desktop/systray/main.cpp create mode 100644 examples/desktop/systray/systray.pro create mode 100644 examples/desktop/systray/systray.qrc create mode 100644 examples/desktop/systray/window.cpp create mode 100644 examples/desktop/systray/window.h create mode 100644 examples/dialogs/README create mode 100644 examples/dialogs/classwizard/classwizard.cpp create mode 100644 examples/dialogs/classwizard/classwizard.h create mode 100644 examples/dialogs/classwizard/classwizard.pro create mode 100644 examples/dialogs/classwizard/classwizard.qrc create mode 100644 examples/dialogs/classwizard/images/background.png create mode 100644 examples/dialogs/classwizard/images/banner.png create mode 100644 examples/dialogs/classwizard/images/logo1.png create mode 100644 examples/dialogs/classwizard/images/logo2.png create mode 100644 examples/dialogs/classwizard/images/logo3.png create mode 100644 examples/dialogs/classwizard/images/watermark1.png create mode 100644 examples/dialogs/classwizard/images/watermark2.png create mode 100644 examples/dialogs/classwizard/main.cpp create mode 100644 examples/dialogs/configdialog/configdialog.cpp create mode 100644 examples/dialogs/configdialog/configdialog.h create mode 100644 examples/dialogs/configdialog/configdialog.pro create mode 100644 examples/dialogs/configdialog/configdialog.qrc create mode 100644 examples/dialogs/configdialog/images/config.png create mode 100644 examples/dialogs/configdialog/images/query.png create mode 100644 examples/dialogs/configdialog/images/update.png create mode 100644 examples/dialogs/configdialog/main.cpp create mode 100644 examples/dialogs/configdialog/pages.cpp create mode 100644 examples/dialogs/configdialog/pages.h create mode 100644 examples/dialogs/dialogs.pro create mode 100644 examples/dialogs/extension/extension.pro create mode 100644 examples/dialogs/extension/finddialog.cpp create mode 100644 examples/dialogs/extension/finddialog.h create mode 100644 examples/dialogs/extension/main.cpp create mode 100644 examples/dialogs/findfiles/findfiles.pro create mode 100644 examples/dialogs/findfiles/main.cpp create mode 100644 examples/dialogs/findfiles/window.cpp create mode 100644 examples/dialogs/findfiles/window.h create mode 100644 examples/dialogs/licensewizard/images/logo.png create mode 100644 examples/dialogs/licensewizard/images/watermark.png create mode 100644 examples/dialogs/licensewizard/licensewizard.cpp create mode 100644 examples/dialogs/licensewizard/licensewizard.h create mode 100644 examples/dialogs/licensewizard/licensewizard.pro create mode 100644 examples/dialogs/licensewizard/licensewizard.qrc create mode 100644 examples/dialogs/licensewizard/main.cpp create mode 100644 examples/dialogs/sipdialog/dialog.cpp create mode 100644 examples/dialogs/sipdialog/dialog.h create mode 100644 examples/dialogs/sipdialog/main.cpp create mode 100644 examples/dialogs/sipdialog/sipdialog.pro create mode 100644 examples/dialogs/standarddialogs/dialog.cpp create mode 100644 examples/dialogs/standarddialogs/dialog.h create mode 100644 examples/dialogs/standarddialogs/main.cpp create mode 100644 examples/dialogs/standarddialogs/standarddialogs.pro create mode 100644 examples/dialogs/tabdialog/main.cpp create mode 100644 examples/dialogs/tabdialog/tabdialog.cpp create mode 100644 examples/dialogs/tabdialog/tabdialog.h create mode 100644 examples/dialogs/tabdialog/tabdialog.pro create mode 100644 examples/dialogs/trivialwizard/trivialwizard.cpp create mode 100644 examples/dialogs/trivialwizard/trivialwizard.pro create mode 100644 examples/draganddrop/README create mode 100644 examples/draganddrop/delayedencoding/delayedencoding.pro create mode 100644 examples/draganddrop/delayedencoding/delayedencoding.qrc create mode 100644 examples/draganddrop/delayedencoding/images/drag.png create mode 100644 examples/draganddrop/delayedencoding/images/example.svg create mode 100644 examples/draganddrop/delayedencoding/main.cpp create mode 100644 examples/draganddrop/delayedencoding/mimedata.cpp create mode 100644 examples/draganddrop/delayedencoding/mimedata.h create mode 100644 examples/draganddrop/delayedencoding/sourcewidget.cpp create mode 100644 examples/draganddrop/delayedencoding/sourcewidget.h create mode 100644 examples/draganddrop/draganddrop.pro create mode 100644 examples/draganddrop/draggableicons/draggableicons.pro create mode 100644 examples/draganddrop/draggableicons/draggableicons.qrc create mode 100644 examples/draganddrop/draggableicons/dragwidget.cpp create mode 100644 examples/draganddrop/draggableicons/dragwidget.h create mode 100644 examples/draganddrop/draggableicons/images/boat.png create mode 100644 examples/draganddrop/draggableicons/images/car.png create mode 100644 examples/draganddrop/draggableicons/images/house.png create mode 100644 examples/draganddrop/draggableicons/main.cpp create mode 100644 examples/draganddrop/draggabletext/draggabletext.pro create mode 100644 examples/draganddrop/draggabletext/draggabletext.qrc create mode 100644 examples/draganddrop/draggabletext/draglabel.cpp create mode 100644 examples/draganddrop/draggabletext/draglabel.h create mode 100644 examples/draganddrop/draggabletext/dragwidget.cpp create mode 100644 examples/draganddrop/draggabletext/dragwidget.h create mode 100644 examples/draganddrop/draggabletext/main.cpp create mode 100644 examples/draganddrop/draggabletext/words.txt create mode 100644 examples/draganddrop/dropsite/droparea.cpp create mode 100644 examples/draganddrop/dropsite/droparea.h create mode 100644 examples/draganddrop/dropsite/dropsite.pro create mode 100644 examples/draganddrop/dropsite/dropsitewindow.cpp create mode 100644 examples/draganddrop/dropsite/dropsitewindow.h create mode 100644 examples/draganddrop/dropsite/main.cpp create mode 100644 examples/draganddrop/fridgemagnets/draglabel.cpp create mode 100644 examples/draganddrop/fridgemagnets/draglabel.h create mode 100644 examples/draganddrop/fridgemagnets/dragwidget.cpp create mode 100644 examples/draganddrop/fridgemagnets/dragwidget.h create mode 100644 examples/draganddrop/fridgemagnets/fridgemagnets.pro create mode 100644 examples/draganddrop/fridgemagnets/fridgemagnets.qrc create mode 100644 examples/draganddrop/fridgemagnets/main.cpp create mode 100644 examples/draganddrop/fridgemagnets/words.txt create mode 100644 examples/draganddrop/puzzle/example.jpg create mode 100644 examples/draganddrop/puzzle/main.cpp create mode 100644 examples/draganddrop/puzzle/mainwindow.cpp create mode 100644 examples/draganddrop/puzzle/mainwindow.h create mode 100644 examples/draganddrop/puzzle/pieceslist.cpp create mode 100644 examples/draganddrop/puzzle/pieceslist.h create mode 100644 examples/draganddrop/puzzle/puzzle.pro create mode 100644 examples/draganddrop/puzzle/puzzle.qrc create mode 100644 examples/draganddrop/puzzle/puzzlewidget.cpp create mode 100644 examples/draganddrop/puzzle/puzzlewidget.h create mode 100644 examples/examples.pro create mode 100644 examples/graphicsview/README create mode 100644 examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro create mode 100644 examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.qrc create mode 100644 examples/graphicsview/basicgraphicslayouts/images/block.png create mode 100644 examples/graphicsview/basicgraphicslayouts/layoutitem.cpp create mode 100644 examples/graphicsview/basicgraphicslayouts/layoutitem.h create mode 100644 examples/graphicsview/basicgraphicslayouts/main.cpp create mode 100644 examples/graphicsview/basicgraphicslayouts/window.cpp create mode 100644 examples/graphicsview/basicgraphicslayouts/window.h create mode 100644 examples/graphicsview/collidingmice/collidingmice.pro create mode 100644 examples/graphicsview/collidingmice/images/cheese.jpg create mode 100644 examples/graphicsview/collidingmice/main.cpp create mode 100644 examples/graphicsview/collidingmice/mice.qrc create mode 100644 examples/graphicsview/collidingmice/mouse.cpp create mode 100644 examples/graphicsview/collidingmice/mouse.h create mode 100644 examples/graphicsview/diagramscene/arrow.cpp create mode 100644 examples/graphicsview/diagramscene/arrow.h create mode 100644 examples/graphicsview/diagramscene/diagramitem.cpp create mode 100644 examples/graphicsview/diagramscene/diagramitem.h create mode 100644 examples/graphicsview/diagramscene/diagramscene.cpp create mode 100644 examples/graphicsview/diagramscene/diagramscene.h create mode 100644 examples/graphicsview/diagramscene/diagramscene.pro create mode 100644 examples/graphicsview/diagramscene/diagramscene.qrc create mode 100644 examples/graphicsview/diagramscene/diagramtextitem.cpp create mode 100644 examples/graphicsview/diagramscene/diagramtextitem.h create mode 100644 examples/graphicsview/diagramscene/images/background1.png create mode 100644 examples/graphicsview/diagramscene/images/background2.png create mode 100644 examples/graphicsview/diagramscene/images/background3.png create mode 100644 examples/graphicsview/diagramscene/images/background4.png create mode 100644 examples/graphicsview/diagramscene/images/bold.png create mode 100644 examples/graphicsview/diagramscene/images/bringtofront.png create mode 100644 examples/graphicsview/diagramscene/images/delete.png create mode 100644 examples/graphicsview/diagramscene/images/floodfill.png create mode 100644 examples/graphicsview/diagramscene/images/italic.png create mode 100644 examples/graphicsview/diagramscene/images/linecolor.png create mode 100644 examples/graphicsview/diagramscene/images/linepointer.png create mode 100644 examples/graphicsview/diagramscene/images/pointer.png create mode 100644 examples/graphicsview/diagramscene/images/sendtoback.png create mode 100644 examples/graphicsview/diagramscene/images/textpointer.png create mode 100644 examples/graphicsview/diagramscene/images/underline.png create mode 100644 examples/graphicsview/diagramscene/main.cpp create mode 100644 examples/graphicsview/diagramscene/mainwindow.cpp create mode 100644 examples/graphicsview/diagramscene/mainwindow.h create mode 100644 examples/graphicsview/dragdroprobot/coloritem.cpp create mode 100644 examples/graphicsview/dragdroprobot/coloritem.h create mode 100644 examples/graphicsview/dragdroprobot/dragdroprobot.pro create mode 100644 examples/graphicsview/dragdroprobot/images/head.png create mode 100644 examples/graphicsview/dragdroprobot/main.cpp create mode 100644 examples/graphicsview/dragdroprobot/robot.cpp create mode 100644 examples/graphicsview/dragdroprobot/robot.h create mode 100644 examples/graphicsview/dragdroprobot/robot.qrc create mode 100644 examples/graphicsview/elasticnodes/edge.cpp create mode 100644 examples/graphicsview/elasticnodes/edge.h create mode 100644 examples/graphicsview/elasticnodes/elasticnodes.pro create mode 100644 examples/graphicsview/elasticnodes/graphwidget.cpp create mode 100644 examples/graphicsview/elasticnodes/graphwidget.h create mode 100644 examples/graphicsview/elasticnodes/main.cpp create mode 100644 examples/graphicsview/elasticnodes/node.cpp create mode 100644 examples/graphicsview/elasticnodes/node.h create mode 100644 examples/graphicsview/graphicsview.pro create mode 100644 examples/graphicsview/padnavigator/backside.ui create mode 100644 examples/graphicsview/padnavigator/images/artsfftscope.png create mode 100644 examples/graphicsview/padnavigator/images/blue_angle_swirl.jpg create mode 100644 examples/graphicsview/padnavigator/images/kontact_contacts.png create mode 100644 examples/graphicsview/padnavigator/images/kontact_journal.png create mode 100644 examples/graphicsview/padnavigator/images/kontact_mail.png create mode 100644 examples/graphicsview/padnavigator/images/kontact_notes.png create mode 100644 examples/graphicsview/padnavigator/images/kopeteavailable.png create mode 100644 examples/graphicsview/padnavigator/images/metacontact_online.png create mode 100644 examples/graphicsview/padnavigator/images/minitools.png create mode 100644 examples/graphicsview/padnavigator/main.cpp create mode 100644 examples/graphicsview/padnavigator/padnavigator.pro create mode 100644 examples/graphicsview/padnavigator/padnavigator.qrc create mode 100644 examples/graphicsview/padnavigator/panel.cpp create mode 100644 examples/graphicsview/padnavigator/panel.h create mode 100644 examples/graphicsview/padnavigator/roundrectitem.cpp create mode 100644 examples/graphicsview/padnavigator/roundrectitem.h create mode 100644 examples/graphicsview/padnavigator/splashitem.cpp create mode 100644 examples/graphicsview/padnavigator/splashitem.h create mode 100644 examples/graphicsview/portedasteroids/animateditem.cpp create mode 100644 examples/graphicsview/portedasteroids/animateditem.h create mode 100644 examples/graphicsview/portedasteroids/bg.png create mode 100644 examples/graphicsview/portedasteroids/ledmeter.cpp create mode 100644 examples/graphicsview/portedasteroids/ledmeter.h create mode 100644 examples/graphicsview/portedasteroids/main.cpp create mode 100644 examples/graphicsview/portedasteroids/portedasteroids.pro create mode 100644 examples/graphicsview/portedasteroids/portedasteroids.qrc create mode 100644 examples/graphicsview/portedasteroids/sounds/Explosion.wav create mode 100644 examples/graphicsview/portedasteroids/sprites.h create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits.ini create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits.pov create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0007.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0008.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0009.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0010.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0011.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0012.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0013.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0014.png create mode 100644 examples/graphicsview/portedasteroids/sprites/bits/bits0015.png create mode 100644 examples/graphicsview/portedasteroids/sprites/exhaust/exhaust.png create mode 100644 examples/graphicsview/portedasteroids/sprites/missile/missile.png create mode 100644 examples/graphicsview/portedasteroids/sprites/powerups/brake.png create mode 100644 examples/graphicsview/portedasteroids/sprites/powerups/energy.png create mode 100644 examples/graphicsview/portedasteroids/sprites/powerups/shield.png create mode 100644 examples/graphicsview/portedasteroids/sprites/powerups/shoot.png create mode 100644 examples/graphicsview/portedasteroids/sprites/powerups/teleport.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock1.ini create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock1.pov create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10007.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10008.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10009.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10010.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10011.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10012.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10013.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10014.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10015.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10016.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10017.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10018.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10019.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10020.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10021.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10022.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10023.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10024.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10025.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10026.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10027.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10028.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10029.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10030.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock1/rock10031.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock2.ini create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock2.pov create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20007.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20008.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20009.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20010.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20011.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20012.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20013.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20014.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20015.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20016.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20017.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20018.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20019.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20020.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20021.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20022.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20023.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20024.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20025.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20026.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20027.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20028.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20029.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20030.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock2/rock20031.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock3.ini create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock3.pov create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30007.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30008.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30009.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30010.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30011.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30012.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30013.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30014.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30015.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30016.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30017.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30018.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30019.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30020.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30021.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30022.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30023.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30024.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30025.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30026.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30027.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30028.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30029.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30030.png create mode 100644 examples/graphicsview/portedasteroids/sprites/rock3/rock30031.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/shield/shield0006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship.ini create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship.pov create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0000.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0001.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0002.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0003.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0004.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0005.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0006.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0007.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0008.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0009.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0010.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0011.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0012.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0013.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0014.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0015.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0016.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0017.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0018.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0019.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0020.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0021.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0022.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0023.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0024.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0025.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0026.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0027.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0028.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0029.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0030.png create mode 100644 examples/graphicsview/portedasteroids/sprites/ship/ship0031.png create mode 100644 examples/graphicsview/portedasteroids/toplevel.cpp create mode 100644 examples/graphicsview/portedasteroids/toplevel.h create mode 100644 examples/graphicsview/portedasteroids/view.cpp create mode 100644 examples/graphicsview/portedasteroids/view.h create mode 100644 examples/graphicsview/portedcanvas/blendshadow.cpp create mode 100644 examples/graphicsview/portedcanvas/butterfly.png create mode 100644 examples/graphicsview/portedcanvas/canvas.cpp create mode 100644 examples/graphicsview/portedcanvas/canvas.doc create mode 100644 examples/graphicsview/portedcanvas/canvas.h create mode 100644 examples/graphicsview/portedcanvas/main.cpp create mode 100644 examples/graphicsview/portedcanvas/makeimg.cpp create mode 100644 examples/graphicsview/portedcanvas/portedcanvas.pro create mode 100644 examples/graphicsview/portedcanvas/portedcanvas.qrc create mode 100644 examples/graphicsview/portedcanvas/qt-trans.xpm create mode 100644 examples/graphicsview/portedcanvas/qtlogo.png create mode 100644 examples/help/README create mode 100644 examples/help/contextsensitivehelp/contextsensitivehelp.pro create mode 100644 examples/help/contextsensitivehelp/doc/amount.html create mode 100644 examples/help/contextsensitivehelp/doc/filter.html create mode 100644 examples/help/contextsensitivehelp/doc/plants.html create mode 100644 examples/help/contextsensitivehelp/doc/rain.html create mode 100644 examples/help/contextsensitivehelp/doc/source.html create mode 100644 examples/help/contextsensitivehelp/doc/temperature.html create mode 100644 examples/help/contextsensitivehelp/doc/time.html create mode 100644 examples/help/contextsensitivehelp/doc/wateringmachine.qch create mode 100644 examples/help/contextsensitivehelp/doc/wateringmachine.qhc create mode 100644 examples/help/contextsensitivehelp/doc/wateringmachine.qhcp create mode 100644 examples/help/contextsensitivehelp/doc/wateringmachine.qhp create mode 100644 examples/help/contextsensitivehelp/helpbrowser.cpp create mode 100644 examples/help/contextsensitivehelp/helpbrowser.h create mode 100644 examples/help/contextsensitivehelp/main.cpp create mode 100644 examples/help/contextsensitivehelp/wateringconfigdialog.cpp create mode 100644 examples/help/contextsensitivehelp/wateringconfigdialog.h create mode 100644 examples/help/contextsensitivehelp/wateringconfigdialog.ui create mode 100644 examples/help/help.pro create mode 100644 examples/help/remotecontrol/enter.png create mode 100644 examples/help/remotecontrol/main.cpp create mode 100644 examples/help/remotecontrol/remotecontrol.cpp create mode 100644 examples/help/remotecontrol/remotecontrol.h create mode 100644 examples/help/remotecontrol/remotecontrol.pro create mode 100644 examples/help/remotecontrol/remotecontrol.qrc create mode 100644 examples/help/remotecontrol/remotecontrol.ui create mode 100644 examples/help/simpletextviewer/assistant.cpp create mode 100644 examples/help/simpletextviewer/assistant.h create mode 100644 examples/help/simpletextviewer/documentation/about.txt create mode 100644 examples/help/simpletextviewer/documentation/browse.html create mode 100644 examples/help/simpletextviewer/documentation/filedialog.html create mode 100644 examples/help/simpletextviewer/documentation/findfile.html create mode 100644 examples/help/simpletextviewer/documentation/images/browse.png create mode 100644 examples/help/simpletextviewer/documentation/images/fadedfilemenu.png create mode 100644 examples/help/simpletextviewer/documentation/images/filedialog.png create mode 100644 examples/help/simpletextviewer/documentation/images/handbook.png create mode 100644 examples/help/simpletextviewer/documentation/images/icon.png create mode 100644 examples/help/simpletextviewer/documentation/images/mainwindow.png create mode 100644 examples/help/simpletextviewer/documentation/images/open.png create mode 100644 examples/help/simpletextviewer/documentation/images/wildcard.png create mode 100644 examples/help/simpletextviewer/documentation/index.html create mode 100644 examples/help/simpletextviewer/documentation/intro.html create mode 100644 examples/help/simpletextviewer/documentation/openfile.html create mode 100644 examples/help/simpletextviewer/documentation/simpletextviewer.qch create mode 100644 examples/help/simpletextviewer/documentation/simpletextviewer.qhc create mode 100644 examples/help/simpletextviewer/documentation/simpletextviewer.qhcp create mode 100644 examples/help/simpletextviewer/documentation/simpletextviewer.qhp create mode 100644 examples/help/simpletextviewer/documentation/wildcardmatching.html create mode 100644 examples/help/simpletextviewer/findfiledialog.cpp create mode 100644 examples/help/simpletextviewer/findfiledialog.h create mode 100644 examples/help/simpletextviewer/main.cpp create mode 100644 examples/help/simpletextviewer/mainwindow.cpp create mode 100644 examples/help/simpletextviewer/mainwindow.h create mode 100644 examples/help/simpletextviewer/simpletextviewer.pro create mode 100644 examples/help/simpletextviewer/textedit.cpp create mode 100644 examples/help/simpletextviewer/textedit.h create mode 100644 examples/ipc/README create mode 100644 examples/ipc/ipc.pro create mode 100644 examples/ipc/localfortuneclient/client.cpp create mode 100644 examples/ipc/localfortuneclient/client.h create mode 100644 examples/ipc/localfortuneclient/localfortuneclient.pro create mode 100644 examples/ipc/localfortuneclient/main.cpp create mode 100644 examples/ipc/localfortuneserver/localfortuneserver.pro create mode 100644 examples/ipc/localfortuneserver/main.cpp create mode 100644 examples/ipc/localfortuneserver/server.cpp create mode 100644 examples/ipc/localfortuneserver/server.h create mode 100644 examples/ipc/sharedmemory/dialog.cpp create mode 100644 examples/ipc/sharedmemory/dialog.h create mode 100644 examples/ipc/sharedmemory/dialog.ui create mode 100644 examples/ipc/sharedmemory/image.png create mode 100644 examples/ipc/sharedmemory/main.cpp create mode 100644 examples/ipc/sharedmemory/qt.png create mode 100644 examples/ipc/sharedmemory/sharedmemory.pro create mode 100644 examples/itemviews/README create mode 100644 examples/itemviews/addressbook/adddialog.cpp create mode 100644 examples/itemviews/addressbook/adddialog.h create mode 100644 examples/itemviews/addressbook/addressbook.pro create mode 100644 examples/itemviews/addressbook/addresswidget.cpp create mode 100644 examples/itemviews/addressbook/addresswidget.h create mode 100644 examples/itemviews/addressbook/main.cpp create mode 100644 examples/itemviews/addressbook/mainwindow.cpp create mode 100644 examples/itemviews/addressbook/mainwindow.h create mode 100644 examples/itemviews/addressbook/newaddresstab.cpp create mode 100644 examples/itemviews/addressbook/newaddresstab.h create mode 100644 examples/itemviews/addressbook/tablemodel.cpp create mode 100644 examples/itemviews/addressbook/tablemodel.h create mode 100644 examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.pro create mode 100644 examples/itemviews/basicsortfiltermodel/main.cpp create mode 100644 examples/itemviews/basicsortfiltermodel/window.cpp create mode 100644 examples/itemviews/basicsortfiltermodel/window.h create mode 100644 examples/itemviews/chart/chart.pro create mode 100644 examples/itemviews/chart/chart.qrc create mode 100644 examples/itemviews/chart/main.cpp create mode 100644 examples/itemviews/chart/mainwindow.cpp create mode 100644 examples/itemviews/chart/mainwindow.h create mode 100644 examples/itemviews/chart/mydata.cht create mode 100644 examples/itemviews/chart/pieview.cpp create mode 100644 examples/itemviews/chart/pieview.h create mode 100644 examples/itemviews/chart/qtdata.cht create mode 100644 examples/itemviews/coloreditorfactory/coloreditorfactory.pro create mode 100644 examples/itemviews/coloreditorfactory/colorlisteditor.cpp create mode 100644 examples/itemviews/coloreditorfactory/colorlisteditor.h create mode 100644 examples/itemviews/coloreditorfactory/main.cpp create mode 100644 examples/itemviews/coloreditorfactory/window.cpp create mode 100644 examples/itemviews/coloreditorfactory/window.h create mode 100644 examples/itemviews/combowidgetmapper/combowidgetmapper.pro create mode 100644 examples/itemviews/combowidgetmapper/main.cpp create mode 100644 examples/itemviews/combowidgetmapper/window.cpp create mode 100644 examples/itemviews/combowidgetmapper/window.h create mode 100644 examples/itemviews/customsortfiltermodel/customsortfiltermodel.pro create mode 100644 examples/itemviews/customsortfiltermodel/main.cpp create mode 100644 examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp create mode 100644 examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.h create mode 100644 examples/itemviews/customsortfiltermodel/window.cpp create mode 100644 examples/itemviews/customsortfiltermodel/window.h create mode 100644 examples/itemviews/dirview/dirview.pro create mode 100644 examples/itemviews/dirview/main.cpp create mode 100644 examples/itemviews/editabletreemodel/default.txt create mode 100644 examples/itemviews/editabletreemodel/editabletreemodel.pro create mode 100644 examples/itemviews/editabletreemodel/editabletreemodel.qrc create mode 100644 examples/itemviews/editabletreemodel/main.cpp create mode 100644 examples/itemviews/editabletreemodel/mainwindow.cpp create mode 100644 examples/itemviews/editabletreemodel/mainwindow.h create mode 100644 examples/itemviews/editabletreemodel/mainwindow.ui create mode 100644 examples/itemviews/editabletreemodel/treeitem.cpp create mode 100644 examples/itemviews/editabletreemodel/treeitem.h create mode 100644 examples/itemviews/editabletreemodel/treemodel.cpp create mode 100644 examples/itemviews/editabletreemodel/treemodel.h create mode 100644 examples/itemviews/fetchmore/fetchmore.pro create mode 100644 examples/itemviews/fetchmore/filelistmodel.cpp create mode 100644 examples/itemviews/fetchmore/filelistmodel.h create mode 100644 examples/itemviews/fetchmore/main.cpp create mode 100644 examples/itemviews/fetchmore/window.cpp create mode 100644 examples/itemviews/fetchmore/window.h create mode 100644 examples/itemviews/itemviews.pro create mode 100644 examples/itemviews/pixelator/imagemodel.cpp create mode 100644 examples/itemviews/pixelator/imagemodel.h create mode 100644 examples/itemviews/pixelator/images.qrc create mode 100644 examples/itemviews/pixelator/images/qt.png create mode 100644 examples/itemviews/pixelator/main.cpp create mode 100644 examples/itemviews/pixelator/mainwindow.cpp create mode 100644 examples/itemviews/pixelator/mainwindow.h create mode 100644 examples/itemviews/pixelator/pixelator.pro create mode 100644 examples/itemviews/pixelator/pixeldelegate.cpp create mode 100644 examples/itemviews/pixelator/pixeldelegate.h create mode 100644 examples/itemviews/puzzle/example.jpg create mode 100644 examples/itemviews/puzzle/main.cpp create mode 100644 examples/itemviews/puzzle/mainwindow.cpp create mode 100644 examples/itemviews/puzzle/mainwindow.h create mode 100644 examples/itemviews/puzzle/piecesmodel.cpp create mode 100644 examples/itemviews/puzzle/piecesmodel.h create mode 100644 examples/itemviews/puzzle/puzzle.pro create mode 100644 examples/itemviews/puzzle/puzzle.qrc create mode 100644 examples/itemviews/puzzle/puzzlewidget.cpp create mode 100644 examples/itemviews/puzzle/puzzlewidget.h create mode 100644 examples/itemviews/simpledommodel/domitem.cpp create mode 100644 examples/itemviews/simpledommodel/domitem.h create mode 100644 examples/itemviews/simpledommodel/dommodel.cpp create mode 100644 examples/itemviews/simpledommodel/dommodel.h create mode 100644 examples/itemviews/simpledommodel/main.cpp create mode 100644 examples/itemviews/simpledommodel/mainwindow.cpp create mode 100644 examples/itemviews/simpledommodel/mainwindow.h create mode 100644 examples/itemviews/simpledommodel/simpledommodel.pro create mode 100644 examples/itemviews/simpletreemodel/default.txt create mode 100644 examples/itemviews/simpletreemodel/main.cpp create mode 100644 examples/itemviews/simpletreemodel/simpletreemodel.pro create mode 100644 examples/itemviews/simpletreemodel/simpletreemodel.qrc create mode 100644 examples/itemviews/simpletreemodel/treeitem.cpp create mode 100644 examples/itemviews/simpletreemodel/treeitem.h create mode 100644 examples/itemviews/simpletreemodel/treemodel.cpp create mode 100644 examples/itemviews/simpletreemodel/treemodel.h create mode 100644 examples/itemviews/simplewidgetmapper/main.cpp create mode 100644 examples/itemviews/simplewidgetmapper/simplewidgetmapper.pro create mode 100644 examples/itemviews/simplewidgetmapper/window.cpp create mode 100644 examples/itemviews/simplewidgetmapper/window.h create mode 100644 examples/itemviews/spinboxdelegate/delegate.cpp create mode 100644 examples/itemviews/spinboxdelegate/delegate.h create mode 100644 examples/itemviews/spinboxdelegate/main.cpp create mode 100644 examples/itemviews/spinboxdelegate/spinboxdelegate.pro create mode 100644 examples/itemviews/stardelegate/main.cpp create mode 100644 examples/itemviews/stardelegate/stardelegate.cpp create mode 100644 examples/itemviews/stardelegate/stardelegate.h create mode 100644 examples/itemviews/stardelegate/stardelegate.pro create mode 100644 examples/itemviews/stardelegate/stareditor.cpp create mode 100644 examples/itemviews/stardelegate/stareditor.h create mode 100644 examples/itemviews/stardelegate/starrating.cpp create mode 100644 examples/itemviews/stardelegate/starrating.h create mode 100644 examples/layouts/README create mode 100644 examples/layouts/basiclayouts/basiclayouts.pro create mode 100644 examples/layouts/basiclayouts/dialog.cpp create mode 100644 examples/layouts/basiclayouts/dialog.h create mode 100644 examples/layouts/basiclayouts/main.cpp create mode 100644 examples/layouts/borderlayout/borderlayout.cpp create mode 100644 examples/layouts/borderlayout/borderlayout.h create mode 100644 examples/layouts/borderlayout/borderlayout.pro create mode 100644 examples/layouts/borderlayout/main.cpp create mode 100644 examples/layouts/borderlayout/window.cpp create mode 100644 examples/layouts/borderlayout/window.h create mode 100644 examples/layouts/dynamiclayouts/dialog.cpp create mode 100644 examples/layouts/dynamiclayouts/dialog.h create mode 100644 examples/layouts/dynamiclayouts/dynamiclayouts.pro create mode 100644 examples/layouts/dynamiclayouts/main.cpp create mode 100644 examples/layouts/flowlayout/flowlayout.cpp create mode 100644 examples/layouts/flowlayout/flowlayout.h create mode 100644 examples/layouts/flowlayout/flowlayout.pro create mode 100644 examples/layouts/flowlayout/main.cpp create mode 100644 examples/layouts/flowlayout/window.cpp create mode 100644 examples/layouts/flowlayout/window.h create mode 100644 examples/layouts/layouts.pro create mode 100644 examples/linguist/README create mode 100644 examples/linguist/arrowpad/arrowpad.cpp create mode 100644 examples/linguist/arrowpad/arrowpad.h create mode 100644 examples/linguist/arrowpad/arrowpad.pro create mode 100644 examples/linguist/arrowpad/main.cpp create mode 100644 examples/linguist/arrowpad/mainwindow.cpp create mode 100644 examples/linguist/arrowpad/mainwindow.h create mode 100644 examples/linguist/hellotr/hellotr.pro create mode 100644 examples/linguist/hellotr/main.cpp create mode 100644 examples/linguist/linguist.pro create mode 100644 examples/linguist/trollprint/main.cpp create mode 100644 examples/linguist/trollprint/mainwindow.cpp create mode 100644 examples/linguist/trollprint/mainwindow.h create mode 100644 examples/linguist/trollprint/printpanel.cpp create mode 100644 examples/linguist/trollprint/printpanel.h create mode 100644 examples/linguist/trollprint/trollprint.pro create mode 100644 examples/linguist/trollprint/trollprint_pt.ts create mode 100644 examples/mainwindows/README create mode 100644 examples/mainwindows/application/application.pro create mode 100644 examples/mainwindows/application/application.qrc create mode 100644 examples/mainwindows/application/images/copy.png create mode 100644 examples/mainwindows/application/images/cut.png create mode 100644 examples/mainwindows/application/images/new.png create mode 100644 examples/mainwindows/application/images/open.png create mode 100644 examples/mainwindows/application/images/paste.png create mode 100644 examples/mainwindows/application/images/save.png create mode 100644 examples/mainwindows/application/main.cpp create mode 100644 examples/mainwindows/application/mainwindow.cpp create mode 100644 examples/mainwindows/application/mainwindow.h create mode 100644 examples/mainwindows/dockwidgets/dockwidgets.pro create mode 100644 examples/mainwindows/dockwidgets/dockwidgets.qrc create mode 100644 examples/mainwindows/dockwidgets/images/new.png create mode 100644 examples/mainwindows/dockwidgets/images/print.png create mode 100644 examples/mainwindows/dockwidgets/images/save.png create mode 100644 examples/mainwindows/dockwidgets/images/undo.png create mode 100644 examples/mainwindows/dockwidgets/main.cpp create mode 100644 examples/mainwindows/dockwidgets/mainwindow.cpp create mode 100644 examples/mainwindows/dockwidgets/mainwindow.h create mode 100644 examples/mainwindows/mainwindows.pro create mode 100644 examples/mainwindows/mdi/images/copy.png create mode 100644 examples/mainwindows/mdi/images/cut.png create mode 100644 examples/mainwindows/mdi/images/new.png create mode 100644 examples/mainwindows/mdi/images/open.png create mode 100644 examples/mainwindows/mdi/images/paste.png create mode 100644 examples/mainwindows/mdi/images/save.png create mode 100644 examples/mainwindows/mdi/main.cpp create mode 100644 examples/mainwindows/mdi/mainwindow.cpp create mode 100644 examples/mainwindows/mdi/mainwindow.h create mode 100644 examples/mainwindows/mdi/mdi.pro create mode 100644 examples/mainwindows/mdi/mdi.qrc create mode 100644 examples/mainwindows/mdi/mdichild.cpp create mode 100644 examples/mainwindows/mdi/mdichild.h create mode 100644 examples/mainwindows/menus/main.cpp create mode 100644 examples/mainwindows/menus/mainwindow.cpp create mode 100644 examples/mainwindows/menus/mainwindow.h create mode 100644 examples/mainwindows/menus/menus.pro create mode 100644 examples/mainwindows/recentfiles/main.cpp create mode 100644 examples/mainwindows/recentfiles/mainwindow.cpp create mode 100644 examples/mainwindows/recentfiles/mainwindow.h create mode 100644 examples/mainwindows/recentfiles/recentfiles.pro create mode 100644 examples/mainwindows/sdi/images/copy.png create mode 100644 examples/mainwindows/sdi/images/cut.png create mode 100644 examples/mainwindows/sdi/images/new.png create mode 100644 examples/mainwindows/sdi/images/open.png create mode 100644 examples/mainwindows/sdi/images/paste.png create mode 100644 examples/mainwindows/sdi/images/save.png create mode 100644 examples/mainwindows/sdi/main.cpp create mode 100644 examples/mainwindows/sdi/mainwindow.cpp create mode 100644 examples/mainwindows/sdi/mainwindow.h create mode 100644 examples/mainwindows/sdi/sdi.pro create mode 100644 examples/mainwindows/sdi/sdi.qrc create mode 100644 examples/network/README create mode 100644 examples/network/blockingfortuneclient/blockingclient.cpp create mode 100644 examples/network/blockingfortuneclient/blockingclient.h create mode 100644 examples/network/blockingfortuneclient/blockingfortuneclient.pro create mode 100644 examples/network/blockingfortuneclient/fortunethread.cpp create mode 100644 examples/network/blockingfortuneclient/fortunethread.h create mode 100644 examples/network/blockingfortuneclient/main.cpp create mode 100644 examples/network/broadcastreceiver/broadcastreceiver.pro create mode 100644 examples/network/broadcastreceiver/main.cpp create mode 100644 examples/network/broadcastreceiver/receiver.cpp create mode 100644 examples/network/broadcastreceiver/receiver.h create mode 100644 examples/network/broadcastsender/broadcastsender.pro create mode 100644 examples/network/broadcastsender/main.cpp create mode 100644 examples/network/broadcastsender/sender.cpp create mode 100644 examples/network/broadcastsender/sender.h create mode 100644 examples/network/download/download.pro create mode 100644 examples/network/download/main.cpp create mode 100644 examples/network/downloadmanager/downloadmanager.cpp create mode 100644 examples/network/downloadmanager/downloadmanager.h create mode 100644 examples/network/downloadmanager/downloadmanager.pro create mode 100644 examples/network/downloadmanager/main.cpp create mode 100644 examples/network/downloadmanager/textprogressbar.cpp create mode 100644 examples/network/downloadmanager/textprogressbar.h create mode 100644 examples/network/fortuneclient/client.cpp create mode 100644 examples/network/fortuneclient/client.h create mode 100644 examples/network/fortuneclient/fortuneclient.pro create mode 100644 examples/network/fortuneclient/main.cpp create mode 100644 examples/network/fortuneserver/fortuneserver.pro create mode 100644 examples/network/fortuneserver/main.cpp create mode 100644 examples/network/fortuneserver/server.cpp create mode 100644 examples/network/fortuneserver/server.h create mode 100644 examples/network/ftp/ftp.pro create mode 100644 examples/network/ftp/ftp.qrc create mode 100644 examples/network/ftp/ftpwindow.cpp create mode 100644 examples/network/ftp/ftpwindow.h create mode 100644 examples/network/ftp/images/cdtoparent.png create mode 100644 examples/network/ftp/images/dir.png create mode 100644 examples/network/ftp/images/file.png create mode 100644 examples/network/ftp/main.cpp create mode 100644 examples/network/http/authenticationdialog.ui create mode 100644 examples/network/http/http.pro create mode 100644 examples/network/http/httpwindow.cpp create mode 100644 examples/network/http/httpwindow.h create mode 100644 examples/network/http/main.cpp create mode 100644 examples/network/loopback/dialog.cpp create mode 100644 examples/network/loopback/dialog.h create mode 100644 examples/network/loopback/loopback.pro create mode 100644 examples/network/loopback/main.cpp create mode 100644 examples/network/network-chat/chatdialog.cpp create mode 100644 examples/network/network-chat/chatdialog.h create mode 100644 examples/network/network-chat/chatdialog.ui create mode 100644 examples/network/network-chat/client.cpp create mode 100644 examples/network/network-chat/client.h create mode 100644 examples/network/network-chat/connection.cpp create mode 100644 examples/network/network-chat/connection.h create mode 100644 examples/network/network-chat/main.cpp create mode 100644 examples/network/network-chat/network-chat.pro create mode 100644 examples/network/network-chat/peermanager.cpp create mode 100644 examples/network/network-chat/peermanager.h create mode 100644 examples/network/network-chat/server.cpp create mode 100644 examples/network/network-chat/server.h create mode 100644 examples/network/network.pro create mode 100644 examples/network/securesocketclient/certificateinfo.cpp create mode 100644 examples/network/securesocketclient/certificateinfo.h create mode 100644 examples/network/securesocketclient/certificateinfo.ui create mode 100644 examples/network/securesocketclient/encrypted.png create mode 100644 examples/network/securesocketclient/main.cpp create mode 100644 examples/network/securesocketclient/securesocketclient.pro create mode 100644 examples/network/securesocketclient/securesocketclient.qrc create mode 100644 examples/network/securesocketclient/sslclient.cpp create mode 100644 examples/network/securesocketclient/sslclient.h create mode 100644 examples/network/securesocketclient/sslclient.ui create mode 100644 examples/network/securesocketclient/sslerrors.ui create mode 100644 examples/network/threadedfortuneserver/dialog.cpp create mode 100644 examples/network/threadedfortuneserver/dialog.h create mode 100644 examples/network/threadedfortuneserver/fortuneserver.cpp create mode 100644 examples/network/threadedfortuneserver/fortuneserver.h create mode 100644 examples/network/threadedfortuneserver/fortunethread.cpp create mode 100644 examples/network/threadedfortuneserver/fortunethread.h create mode 100644 examples/network/threadedfortuneserver/main.cpp create mode 100644 examples/network/threadedfortuneserver/threadedfortuneserver.pro create mode 100644 examples/network/torrent/addtorrentdialog.cpp create mode 100644 examples/network/torrent/addtorrentdialog.h create mode 100644 examples/network/torrent/bencodeparser.cpp create mode 100644 examples/network/torrent/bencodeparser.h create mode 100644 examples/network/torrent/connectionmanager.cpp create mode 100644 examples/network/torrent/connectionmanager.h create mode 100644 examples/network/torrent/filemanager.cpp create mode 100644 examples/network/torrent/filemanager.h create mode 100644 examples/network/torrent/forms/addtorrentform.ui create mode 100644 examples/network/torrent/icons.qrc create mode 100644 examples/network/torrent/icons/1downarrow.png create mode 100644 examples/network/torrent/icons/1uparrow.png create mode 100644 examples/network/torrent/icons/bottom.png create mode 100644 examples/network/torrent/icons/edit_add.png create mode 100644 examples/network/torrent/icons/edit_remove.png create mode 100644 examples/network/torrent/icons/exit.png create mode 100644 examples/network/torrent/icons/peertopeer.png create mode 100644 examples/network/torrent/icons/player_pause.png create mode 100644 examples/network/torrent/icons/player_play.png create mode 100644 examples/network/torrent/icons/player_stop.png create mode 100644 examples/network/torrent/icons/stop.png create mode 100644 examples/network/torrent/main.cpp create mode 100644 examples/network/torrent/mainwindow.cpp create mode 100644 examples/network/torrent/mainwindow.h create mode 100644 examples/network/torrent/metainfo.cpp create mode 100644 examples/network/torrent/metainfo.h create mode 100644 examples/network/torrent/peerwireclient.cpp create mode 100644 examples/network/torrent/peerwireclient.h create mode 100644 examples/network/torrent/ratecontroller.cpp create mode 100644 examples/network/torrent/ratecontroller.h create mode 100644 examples/network/torrent/torrent.pro create mode 100644 examples/network/torrent/torrentclient.cpp create mode 100644 examples/network/torrent/torrentclient.h create mode 100644 examples/network/torrent/torrentserver.cpp create mode 100644 examples/network/torrent/torrentserver.h create mode 100644 examples/network/torrent/trackerclient.cpp create mode 100644 examples/network/torrent/trackerclient.h create mode 100644 examples/opengl/2dpainting/2dpainting.pro create mode 100644 examples/opengl/2dpainting/glwidget.cpp create mode 100644 examples/opengl/2dpainting/glwidget.h create mode 100644 examples/opengl/2dpainting/helper.cpp create mode 100644 examples/opengl/2dpainting/helper.h create mode 100644 examples/opengl/2dpainting/main.cpp create mode 100644 examples/opengl/2dpainting/widget.cpp create mode 100644 examples/opengl/2dpainting/widget.h create mode 100644 examples/opengl/2dpainting/window.cpp create mode 100644 examples/opengl/2dpainting/window.h create mode 100644 examples/opengl/README create mode 100644 examples/opengl/framebufferobject/bubbles.svg create mode 100644 examples/opengl/framebufferobject/designer.png create mode 100644 examples/opengl/framebufferobject/framebufferobject.pro create mode 100644 examples/opengl/framebufferobject/framebufferobject.qrc create mode 100644 examples/opengl/framebufferobject/glwidget.cpp create mode 100644 examples/opengl/framebufferobject/glwidget.h create mode 100644 examples/opengl/framebufferobject/main.cpp create mode 100644 examples/opengl/framebufferobject2/cubelogo.png create mode 100644 examples/opengl/framebufferobject2/framebufferobject2.pro create mode 100644 examples/opengl/framebufferobject2/framebufferobject2.qrc create mode 100644 examples/opengl/framebufferobject2/glwidget.cpp create mode 100644 examples/opengl/framebufferobject2/glwidget.h create mode 100644 examples/opengl/framebufferobject2/main.cpp create mode 100644 examples/opengl/grabber/glwidget.cpp create mode 100644 examples/opengl/grabber/glwidget.h create mode 100644 examples/opengl/grabber/grabber.pro create mode 100644 examples/opengl/grabber/main.cpp create mode 100644 examples/opengl/grabber/mainwindow.cpp create mode 100644 examples/opengl/grabber/mainwindow.h create mode 100644 examples/opengl/hellogl/glwidget.cpp create mode 100644 examples/opengl/hellogl/glwidget.h create mode 100644 examples/opengl/hellogl/hellogl.pro create mode 100644 examples/opengl/hellogl/main.cpp create mode 100644 examples/opengl/hellogl/window.cpp create mode 100644 examples/opengl/hellogl/window.h create mode 100644 examples/opengl/hellogl_es/bubble.cpp create mode 100644 examples/opengl/hellogl_es/bubble.h create mode 100644 examples/opengl/hellogl_es/cl_helper.h create mode 100644 examples/opengl/hellogl_es/glwidget.cpp create mode 100644 examples/opengl/hellogl_es/glwidget.h create mode 100644 examples/opengl/hellogl_es/hellogl_es.pro create mode 100644 examples/opengl/hellogl_es/main.cpp create mode 100644 examples/opengl/hellogl_es/mainwindow.cpp create mode 100644 examples/opengl/hellogl_es/mainwindow.h create mode 100644 examples/opengl/hellogl_es/qt.png create mode 100644 examples/opengl/hellogl_es/texture.qrc create mode 100644 examples/opengl/hellogl_es2/bubble.cpp create mode 100644 examples/opengl/hellogl_es2/bubble.h create mode 100644 examples/opengl/hellogl_es2/glwidget.cpp create mode 100644 examples/opengl/hellogl_es2/glwidget.h create mode 100644 examples/opengl/hellogl_es2/hellogl_es2.pro create mode 100644 examples/opengl/hellogl_es2/main.cpp create mode 100644 examples/opengl/hellogl_es2/mainwindow.cpp create mode 100644 examples/opengl/hellogl_es2/mainwindow.h create mode 100644 examples/opengl/hellogl_es2/qt.png create mode 100644 examples/opengl/hellogl_es2/texture.qrc create mode 100644 examples/opengl/opengl.pro create mode 100644 examples/opengl/overpainting/bubble.cpp create mode 100644 examples/opengl/overpainting/bubble.h create mode 100644 examples/opengl/overpainting/glwidget.cpp create mode 100644 examples/opengl/overpainting/glwidget.h create mode 100644 examples/opengl/overpainting/main.cpp create mode 100644 examples/opengl/overpainting/overpainting.pro create mode 100644 examples/opengl/pbuffers/cubelogo.png create mode 100644 examples/opengl/pbuffers/glwidget.cpp create mode 100644 examples/opengl/pbuffers/glwidget.h create mode 100644 examples/opengl/pbuffers/main.cpp create mode 100644 examples/opengl/pbuffers/pbuffers.pro create mode 100644 examples/opengl/pbuffers/pbuffers.qrc create mode 100644 examples/opengl/pbuffers2/bubbles.svg create mode 100644 examples/opengl/pbuffers2/designer.png create mode 100644 examples/opengl/pbuffers2/glwidget.cpp create mode 100644 examples/opengl/pbuffers2/glwidget.h create mode 100644 examples/opengl/pbuffers2/main.cpp create mode 100644 examples/opengl/pbuffers2/pbuffers2.pro create mode 100644 examples/opengl/pbuffers2/pbuffers2.qrc create mode 100644 examples/opengl/samplebuffers/glwidget.cpp create mode 100644 examples/opengl/samplebuffers/glwidget.h create mode 100644 examples/opengl/samplebuffers/main.cpp create mode 100644 examples/opengl/samplebuffers/samplebuffers.pro create mode 100644 examples/opengl/textures/glwidget.cpp create mode 100644 examples/opengl/textures/glwidget.h create mode 100644 examples/opengl/textures/images/side1.png create mode 100644 examples/opengl/textures/images/side2.png create mode 100644 examples/opengl/textures/images/side3.png create mode 100644 examples/opengl/textures/images/side4.png create mode 100644 examples/opengl/textures/images/side5.png create mode 100644 examples/opengl/textures/images/side6.png create mode 100644 examples/opengl/textures/main.cpp create mode 100644 examples/opengl/textures/textures.pro create mode 100644 examples/opengl/textures/textures.qrc create mode 100644 examples/opengl/textures/window.cpp create mode 100644 examples/opengl/textures/window.h create mode 100644 examples/painting/README create mode 100644 examples/painting/basicdrawing/basicdrawing.pro create mode 100644 examples/painting/basicdrawing/basicdrawing.qrc create mode 100644 examples/painting/basicdrawing/images/brick.png create mode 100644 examples/painting/basicdrawing/images/qt-logo.png create mode 100644 examples/painting/basicdrawing/main.cpp create mode 100644 examples/painting/basicdrawing/renderarea.cpp create mode 100644 examples/painting/basicdrawing/renderarea.h create mode 100644 examples/painting/basicdrawing/window.cpp create mode 100644 examples/painting/basicdrawing/window.h create mode 100644 examples/painting/concentriccircles/circlewidget.cpp create mode 100644 examples/painting/concentriccircles/circlewidget.h create mode 100644 examples/painting/concentriccircles/concentriccircles.pro create mode 100644 examples/painting/concentriccircles/main.cpp create mode 100644 examples/painting/concentriccircles/window.cpp create mode 100644 examples/painting/concentriccircles/window.h create mode 100644 examples/painting/fontsampler/fontsampler.pro create mode 100644 examples/painting/fontsampler/main.cpp create mode 100644 examples/painting/fontsampler/mainwindow.cpp create mode 100644 examples/painting/fontsampler/mainwindow.h create mode 100644 examples/painting/fontsampler/mainwindowbase.ui create mode 100644 examples/painting/imagecomposition/imagecomposer.cpp create mode 100644 examples/painting/imagecomposition/imagecomposer.h create mode 100644 examples/painting/imagecomposition/imagecomposition.pro create mode 100644 examples/painting/imagecomposition/imagecomposition.qrc create mode 100644 examples/painting/imagecomposition/images/background.png create mode 100644 examples/painting/imagecomposition/images/blackrectangle.png create mode 100644 examples/painting/imagecomposition/images/butterfly.png create mode 100644 examples/painting/imagecomposition/images/checker.png create mode 100644 examples/painting/imagecomposition/main.cpp create mode 100644 examples/painting/painterpaths/main.cpp create mode 100644 examples/painting/painterpaths/painterpaths.pro create mode 100644 examples/painting/painterpaths/renderarea.cpp create mode 100644 examples/painting/painterpaths/renderarea.h create mode 100644 examples/painting/painterpaths/window.cpp create mode 100644 examples/painting/painterpaths/window.h create mode 100644 examples/painting/painting.pro create mode 100644 examples/painting/svgviewer/files/bubbles.svg create mode 100644 examples/painting/svgviewer/files/cubic.svg create mode 100644 examples/painting/svgviewer/files/spheres.svg create mode 100644 examples/painting/svgviewer/main.cpp create mode 100644 examples/painting/svgviewer/mainwindow.cpp create mode 100644 examples/painting/svgviewer/mainwindow.h create mode 100644 examples/painting/svgviewer/svgview.cpp create mode 100644 examples/painting/svgviewer/svgview.h create mode 100644 examples/painting/svgviewer/svgviewer.pro create mode 100644 examples/painting/svgviewer/svgviewer.qrc create mode 100644 examples/painting/transformations/main.cpp create mode 100644 examples/painting/transformations/renderarea.cpp create mode 100644 examples/painting/transformations/renderarea.h create mode 100644 examples/painting/transformations/transformations.pro create mode 100644 examples/painting/transformations/window.cpp create mode 100644 examples/painting/transformations/window.h create mode 100644 examples/phonon/README create mode 100644 examples/phonon/capabilities/capabilities.pro create mode 100644 examples/phonon/capabilities/main.cpp create mode 100644 examples/phonon/capabilities/window.cpp create mode 100644 examples/phonon/capabilities/window.h create mode 100644 examples/phonon/musicplayer/main.cpp create mode 100644 examples/phonon/musicplayer/mainwindow.cpp create mode 100644 examples/phonon/musicplayer/mainwindow.h create mode 100644 examples/phonon/musicplayer/musicplayer.pro create mode 100644 examples/phonon/phonon.pro create mode 100644 examples/qmake/precompile/main.cpp create mode 100644 examples/qmake/precompile/mydialog.cpp create mode 100644 examples/qmake/precompile/mydialog.h create mode 100644 examples/qmake/precompile/mydialog.ui create mode 100644 examples/qmake/precompile/myobject.cpp create mode 100644 examples/qmake/precompile/myobject.h create mode 100644 examples/qmake/precompile/precompile.pro create mode 100644 examples/qmake/precompile/stable.h create mode 100644 examples/qmake/precompile/util.cpp create mode 100644 examples/qmake/tutorial/hello.cpp create mode 100644 examples/qmake/tutorial/hello.h create mode 100644 examples/qmake/tutorial/hellounix.cpp create mode 100644 examples/qmake/tutorial/hellowin.cpp create mode 100644 examples/qmake/tutorial/main.cpp create mode 100644 examples/qtconcurrent/README create mode 100644 examples/qtconcurrent/imagescaling/imagescaling.cpp create mode 100644 examples/qtconcurrent/imagescaling/imagescaling.h create mode 100644 examples/qtconcurrent/imagescaling/imagescaling.pro create mode 100644 examples/qtconcurrent/imagescaling/main.cpp create mode 100644 examples/qtconcurrent/map/main.cpp create mode 100644 examples/qtconcurrent/map/map.pro create mode 100644 examples/qtconcurrent/progressdialog/main.cpp create mode 100644 examples/qtconcurrent/progressdialog/progressdialog.pro create mode 100644 examples/qtconcurrent/qtconcurrent.pro create mode 100644 examples/qtconcurrent/runfunction/main.cpp create mode 100644 examples/qtconcurrent/runfunction/runfunction.pro create mode 100644 examples/qtconcurrent/wordcount/main.cpp create mode 100644 examples/qtconcurrent/wordcount/wordcount.pro create mode 100644 examples/qtestlib/README create mode 100644 examples/qtestlib/qtestlib.pro create mode 100644 examples/qtestlib/tutorial1/testqstring.cpp create mode 100644 examples/qtestlib/tutorial1/tutorial1.pro create mode 100644 examples/qtestlib/tutorial2/testqstring.cpp create mode 100644 examples/qtestlib/tutorial2/tutorial2.pro create mode 100644 examples/qtestlib/tutorial3/testgui.cpp create mode 100644 examples/qtestlib/tutorial3/tutorial3.pro create mode 100644 examples/qtestlib/tutorial4/testgui.cpp create mode 100644 examples/qtestlib/tutorial4/tutorial4.pro create mode 100644 examples/qtestlib/tutorial5/benchmarking.cpp create mode 100644 examples/qtestlib/tutorial5/tutorial5.pro create mode 100644 examples/qws/README create mode 100644 examples/qws/ahigl/ahigl.pro create mode 100644 examples/qws/ahigl/qscreenahigl_qws.cpp create mode 100644 examples/qws/ahigl/qscreenahigl_qws.h create mode 100644 examples/qws/ahigl/qscreenahiglplugin.cpp create mode 100644 examples/qws/ahigl/qwindowsurface_ahigl.cpp create mode 100644 examples/qws/ahigl/qwindowsurface_ahigl_p.h create mode 100644 examples/qws/dbscreen/dbscreen.cpp create mode 100644 examples/qws/dbscreen/dbscreen.h create mode 100644 examples/qws/dbscreen/dbscreen.pro create mode 100644 examples/qws/dbscreen/dbscreendriverplugin.cpp create mode 100644 examples/qws/framebuffer/framebuffer.pro create mode 100644 examples/qws/framebuffer/main.c create mode 100644 examples/qws/mousecalibration/calibration.cpp create mode 100644 examples/qws/mousecalibration/calibration.h create mode 100644 examples/qws/mousecalibration/main.cpp create mode 100644 examples/qws/mousecalibration/mousecalibration.pro create mode 100644 examples/qws/mousecalibration/scribblewidget.cpp create mode 100644 examples/qws/mousecalibration/scribblewidget.h create mode 100644 examples/qws/qws.pro create mode 100644 examples/qws/simpledecoration/analogclock.cpp create mode 100644 examples/qws/simpledecoration/analogclock.h create mode 100644 examples/qws/simpledecoration/main.cpp create mode 100644 examples/qws/simpledecoration/mydecoration.cpp create mode 100644 examples/qws/simpledecoration/mydecoration.h create mode 100644 examples/qws/simpledecoration/simpledecoration.pro create mode 100644 examples/qws/svgalib/README create mode 100644 examples/qws/svgalib/svgalib.pro create mode 100644 examples/qws/svgalib/svgalibpaintdevice.cpp create mode 100644 examples/qws/svgalib/svgalibpaintdevice.h create mode 100644 examples/qws/svgalib/svgalibpaintengine.cpp create mode 100644 examples/qws/svgalib/svgalibpaintengine.h create mode 100644 examples/qws/svgalib/svgalibplugin.cpp create mode 100644 examples/qws/svgalib/svgalibscreen.cpp create mode 100644 examples/qws/svgalib/svgalibscreen.h create mode 100644 examples/qws/svgalib/svgalibsurface.cpp create mode 100644 examples/qws/svgalib/svgalibsurface.h create mode 100644 examples/richtext/README create mode 100644 examples/richtext/calendar/calendar.pro create mode 100644 examples/richtext/calendar/main.cpp create mode 100644 examples/richtext/calendar/mainwindow.cpp create mode 100644 examples/richtext/calendar/mainwindow.h create mode 100644 examples/richtext/orderform/detailsdialog.cpp create mode 100644 examples/richtext/orderform/detailsdialog.h create mode 100644 examples/richtext/orderform/main.cpp create mode 100644 examples/richtext/orderform/mainwindow.cpp create mode 100644 examples/richtext/orderform/mainwindow.h create mode 100644 examples/richtext/orderform/orderform.pro create mode 100644 examples/richtext/richtext.pro create mode 100644 examples/richtext/syntaxhighlighter/highlighter.cpp create mode 100644 examples/richtext/syntaxhighlighter/highlighter.h create mode 100644 examples/richtext/syntaxhighlighter/main.cpp create mode 100644 examples/richtext/syntaxhighlighter/mainwindow.cpp create mode 100644 examples/richtext/syntaxhighlighter/mainwindow.h create mode 100644 examples/richtext/syntaxhighlighter/syntaxhighlighter.pro create mode 100644 examples/richtext/textobject/files/heart.svg create mode 100644 examples/richtext/textobject/main.cpp create mode 100644 examples/richtext/textobject/svgtextobject.cpp create mode 100644 examples/richtext/textobject/svgtextobject.h create mode 100644 examples/richtext/textobject/textobject.pro create mode 100644 examples/richtext/textobject/window.cpp create mode 100644 examples/richtext/textobject/window.h create mode 100644 examples/script/README create mode 100644 examples/script/calculator/calculator.js create mode 100644 examples/script/calculator/calculator.pro create mode 100644 examples/script/calculator/calculator.qrc create mode 100644 examples/script/calculator/calculator.ui create mode 100644 examples/script/calculator/main.cpp create mode 100644 examples/script/context2d/context2d.cpp create mode 100644 examples/script/context2d/context2d.h create mode 100644 examples/script/context2d/context2d.pro create mode 100644 examples/script/context2d/context2d.qrc create mode 100644 examples/script/context2d/domimage.cpp create mode 100644 examples/script/context2d/domimage.h create mode 100644 examples/script/context2d/environment.cpp create mode 100644 examples/script/context2d/environment.h create mode 100644 examples/script/context2d/main.cpp create mode 100644 examples/script/context2d/qcontext2dcanvas.cpp create mode 100644 examples/script/context2d/qcontext2dcanvas.h create mode 100644 examples/script/context2d/scripts/alpha.js create mode 100644 examples/script/context2d/scripts/arc.js create mode 100644 examples/script/context2d/scripts/bezier.js create mode 100644 examples/script/context2d/scripts/clock.js create mode 100644 examples/script/context2d/scripts/fill1.js create mode 100644 examples/script/context2d/scripts/grad.js create mode 100644 examples/script/context2d/scripts/linecap.js create mode 100644 examples/script/context2d/scripts/linestye.js create mode 100644 examples/script/context2d/scripts/moveto.js create mode 100644 examples/script/context2d/scripts/moveto2.js create mode 100644 examples/script/context2d/scripts/pacman.js create mode 100644 examples/script/context2d/scripts/plasma.js create mode 100644 examples/script/context2d/scripts/pong.js create mode 100644 examples/script/context2d/scripts/quad.js create mode 100644 examples/script/context2d/scripts/rgba.js create mode 100644 examples/script/context2d/scripts/rotate.js create mode 100644 examples/script/context2d/scripts/scale.js create mode 100644 examples/script/context2d/scripts/stroke1.js create mode 100644 examples/script/context2d/scripts/translate.js create mode 100644 examples/script/context2d/window.cpp create mode 100644 examples/script/context2d/window.h create mode 100644 examples/script/customclass/bytearrayclass.cpp create mode 100644 examples/script/customclass/bytearrayclass.h create mode 100644 examples/script/customclass/bytearrayclass.pri create mode 100644 examples/script/customclass/bytearrayprototype.cpp create mode 100644 examples/script/customclass/bytearrayprototype.h create mode 100644 examples/script/customclass/customclass.pro create mode 100644 examples/script/customclass/main.cpp create mode 100644 examples/script/defaultprototypes/code.js create mode 100644 examples/script/defaultprototypes/defaultprototypes.pro create mode 100644 examples/script/defaultprototypes/defaultprototypes.qrc create mode 100644 examples/script/defaultprototypes/main.cpp create mode 100644 examples/script/defaultprototypes/prototypes.cpp create mode 100644 examples/script/defaultprototypes/prototypes.h create mode 100644 examples/script/helloscript/helloscript.pro create mode 100644 examples/script/helloscript/helloscript.qrc create mode 100644 examples/script/helloscript/helloscript.qs create mode 100644 examples/script/helloscript/main.cpp create mode 100644 examples/script/marshal/main.cpp create mode 100644 examples/script/marshal/marshal.pro create mode 100644 examples/script/qscript/main.cpp create mode 100644 examples/script/qscript/qscript.pro create mode 100644 examples/script/qsdbg/example.qs create mode 100644 examples/script/qsdbg/main.cpp create mode 100644 examples/script/qsdbg/qsdbg.pri create mode 100644 examples/script/qsdbg/qsdbg.pro create mode 100644 examples/script/qsdbg/scriptbreakpointmanager.cpp create mode 100644 examples/script/qsdbg/scriptbreakpointmanager.h create mode 100644 examples/script/qsdbg/scriptdebugger.cpp create mode 100644 examples/script/qsdbg/scriptdebugger.h create mode 100644 examples/script/qstetrix/main.cpp create mode 100644 examples/script/qstetrix/qstetrix.pro create mode 100644 examples/script/qstetrix/tetrix.qrc create mode 100644 examples/script/qstetrix/tetrixboard.cpp create mode 100644 examples/script/qstetrix/tetrixboard.h create mode 100644 examples/script/qstetrix/tetrixboard.js create mode 100644 examples/script/qstetrix/tetrixpiece.js create mode 100644 examples/script/qstetrix/tetrixwindow.js create mode 100644 examples/script/qstetrix/tetrixwindow.ui create mode 100644 examples/script/script.pro create mode 100644 examples/sql/README create mode 100644 examples/sql/cachedtable/cachedtable.pro create mode 100644 examples/sql/cachedtable/main.cpp create mode 100644 examples/sql/cachedtable/tableeditor.cpp create mode 100644 examples/sql/cachedtable/tableeditor.h create mode 100644 examples/sql/connection.h create mode 100644 examples/sql/drilldown/drilldown.pro create mode 100644 examples/sql/drilldown/drilldown.qrc create mode 100644 examples/sql/drilldown/imageitem.cpp create mode 100644 examples/sql/drilldown/imageitem.h create mode 100644 examples/sql/drilldown/images/beijing.png create mode 100644 examples/sql/drilldown/images/berlin.png create mode 100644 examples/sql/drilldown/images/brisbane.png create mode 100644 examples/sql/drilldown/images/munich.png create mode 100644 examples/sql/drilldown/images/oslo.png create mode 100644 examples/sql/drilldown/images/redwood.png create mode 100644 examples/sql/drilldown/informationwindow.cpp create mode 100644 examples/sql/drilldown/informationwindow.h create mode 100644 examples/sql/drilldown/logo.png create mode 100644 examples/sql/drilldown/main.cpp create mode 100644 examples/sql/drilldown/view.cpp create mode 100644 examples/sql/drilldown/view.h create mode 100644 examples/sql/masterdetail/albumdetails.xml create mode 100644 examples/sql/masterdetail/database.h create mode 100644 examples/sql/masterdetail/dialog.cpp create mode 100644 examples/sql/masterdetail/dialog.h create mode 100644 examples/sql/masterdetail/images/icon.png create mode 100644 examples/sql/masterdetail/images/image.png create mode 100644 examples/sql/masterdetail/main.cpp create mode 100644 examples/sql/masterdetail/mainwindow.cpp create mode 100644 examples/sql/masterdetail/mainwindow.h create mode 100644 examples/sql/masterdetail/masterdetail.pro create mode 100644 examples/sql/masterdetail/masterdetail.qrc create mode 100644 examples/sql/querymodel/customsqlmodel.cpp create mode 100644 examples/sql/querymodel/customsqlmodel.h create mode 100644 examples/sql/querymodel/editablesqlmodel.cpp create mode 100644 examples/sql/querymodel/editablesqlmodel.h create mode 100644 examples/sql/querymodel/main.cpp create mode 100644 examples/sql/querymodel/querymodel.pro create mode 100644 examples/sql/relationaltablemodel/relationaltablemodel.cpp create mode 100644 examples/sql/relationaltablemodel/relationaltablemodel.pro create mode 100644 examples/sql/sql.pro create mode 100644 examples/sql/sqlwidgetmapper/main.cpp create mode 100644 examples/sql/sqlwidgetmapper/sqlwidgetmapper.pro create mode 100644 examples/sql/sqlwidgetmapper/window.cpp create mode 100644 examples/sql/sqlwidgetmapper/window.h create mode 100644 examples/sql/tablemodel/tablemodel.cpp create mode 100644 examples/sql/tablemodel/tablemodel.pro create mode 100644 examples/statemachine/README create mode 100644 examples/statemachine/citizenquartz/citizenquartz.pro create mode 100644 examples/statemachine/citizenquartz/citizenquartz.qrc create mode 100644 examples/statemachine/citizenquartz/clock.cpp create mode 100644 examples/statemachine/citizenquartz/clock.h create mode 100644 examples/statemachine/citizenquartz/clockbutton.cpp create mode 100644 examples/statemachine/citizenquartz/clockbutton.h create mode 100644 examples/statemachine/citizenquartz/clockdisplay.cpp create mode 100644 examples/statemachine/citizenquartz/clockdisplay.h create mode 100644 examples/statemachine/citizenquartz/images/alarm.png create mode 100644 examples/statemachine/citizenquartz/main.cpp create mode 100644 examples/statemachine/citizenquartz/propertyaddstate.cpp create mode 100644 examples/statemachine/citizenquartz/propertyaddstate.h create mode 100644 examples/statemachine/citizenquartz/sound/alarm.wav create mode 100644 examples/statemachine/citizenquartz/timeperiod.h create mode 100644 examples/statemachine/clockticking/clockticking.pro create mode 100644 examples/statemachine/clockticking/main.cpp create mode 100644 examples/statemachine/composition/composition.pro create mode 100644 examples/statemachine/composition/main.cpp create mode 100644 examples/statemachine/eventtransitions/eventtransitions.pro create mode 100644 examples/statemachine/eventtransitions/main.cpp create mode 100644 examples/statemachine/factorial/factorial.pro create mode 100644 examples/statemachine/factorial/main.cpp create mode 100644 examples/statemachine/helloworld/helloworld.pro create mode 100644 examples/statemachine/helloworld/main.cpp create mode 100644 examples/statemachine/pauseandresume/main.cpp create mode 100644 examples/statemachine/pauseandresume/pauseandresume.pro create mode 100644 examples/statemachine/pingpong/main.cpp create mode 100644 examples/statemachine/pingpong/pingpong.pro create mode 100644 examples/statemachine/statemachine.pro create mode 100644 examples/statemachine/trafficlight/main.cpp create mode 100644 examples/statemachine/trafficlight/trafficlight.pro create mode 100644 examples/statemachine/twowaybutton/main.cpp create mode 100644 examples/statemachine/twowaybutton/twowaybutton.pro create mode 100644 examples/threads/README create mode 100644 examples/threads/mandelbrot/main.cpp create mode 100644 examples/threads/mandelbrot/mandelbrot.pro create mode 100644 examples/threads/mandelbrot/mandelbrotwidget.cpp create mode 100644 examples/threads/mandelbrot/mandelbrotwidget.h create mode 100644 examples/threads/mandelbrot/renderthread.cpp create mode 100644 examples/threads/mandelbrot/renderthread.h create mode 100644 examples/threads/semaphores/semaphores.cpp create mode 100644 examples/threads/semaphores/semaphores.pro create mode 100644 examples/threads/threads.pro create mode 100644 examples/threads/waitconditions/waitconditions.cpp create mode 100644 examples/threads/waitconditions/waitconditions.pro create mode 100644 examples/tools/README create mode 100644 examples/tools/codecs/codecs.pro create mode 100644 examples/tools/codecs/encodedfiles/.gitattributes create mode 100644 examples/tools/codecs/encodedfiles/iso-8859-1.txt create mode 100644 examples/tools/codecs/encodedfiles/iso-8859-15.txt create mode 100644 examples/tools/codecs/encodedfiles/utf-16.txt create mode 100644 examples/tools/codecs/encodedfiles/utf-16be.txt create mode 100644 examples/tools/codecs/encodedfiles/utf-16le.txt create mode 100644 examples/tools/codecs/encodedfiles/utf-8.txt create mode 100644 examples/tools/codecs/main.cpp create mode 100644 examples/tools/codecs/mainwindow.cpp create mode 100644 examples/tools/codecs/mainwindow.h create mode 100644 examples/tools/codecs/previewform.cpp create mode 100644 examples/tools/codecs/previewform.h create mode 100644 examples/tools/completer/completer.pro create mode 100644 examples/tools/completer/completer.qrc create mode 100644 examples/tools/completer/dirmodel.cpp create mode 100644 examples/tools/completer/dirmodel.h create mode 100644 examples/tools/completer/main.cpp create mode 100644 examples/tools/completer/mainwindow.cpp create mode 100644 examples/tools/completer/mainwindow.h create mode 100644 examples/tools/completer/resources/countries.txt create mode 100644 examples/tools/completer/resources/wordlist.txt create mode 100644 examples/tools/customcompleter/customcompleter.pro create mode 100644 examples/tools/customcompleter/customcompleter.qrc create mode 100644 examples/tools/customcompleter/main.cpp create mode 100644 examples/tools/customcompleter/mainwindow.cpp create mode 100644 examples/tools/customcompleter/mainwindow.h create mode 100644 examples/tools/customcompleter/resources/wordlist.txt create mode 100644 examples/tools/customcompleter/textedit.cpp create mode 100644 examples/tools/customcompleter/textedit.h create mode 100644 examples/tools/echoplugin/echoplugin.pro create mode 100644 examples/tools/echoplugin/echowindow/echointerface.h create mode 100644 examples/tools/echoplugin/echowindow/echowindow.cpp create mode 100644 examples/tools/echoplugin/echowindow/echowindow.h create mode 100644 examples/tools/echoplugin/echowindow/echowindow.pro create mode 100644 examples/tools/echoplugin/echowindow/main.cpp create mode 100644 examples/tools/echoplugin/plugin/echoplugin.cpp create mode 100644 examples/tools/echoplugin/plugin/echoplugin.h create mode 100644 examples/tools/echoplugin/plugin/plugin.pro create mode 100644 examples/tools/i18n/i18n.pro create mode 100644 examples/tools/i18n/i18n.qrc create mode 100644 examples/tools/i18n/languagechooser.cpp create mode 100644 examples/tools/i18n/languagechooser.h create mode 100644 examples/tools/i18n/main.cpp create mode 100644 examples/tools/i18n/mainwindow.cpp create mode 100644 examples/tools/i18n/mainwindow.h create mode 100644 examples/tools/i18n/translations/i18n_ar.qm create mode 100644 examples/tools/i18n/translations/i18n_ar.ts create mode 100644 examples/tools/i18n/translations/i18n_cs.qm create mode 100644 examples/tools/i18n/translations/i18n_cs.ts create mode 100644 examples/tools/i18n/translations/i18n_de.qm create mode 100644 examples/tools/i18n/translations/i18n_de.ts create mode 100644 examples/tools/i18n/translations/i18n_el.qm create mode 100644 examples/tools/i18n/translations/i18n_el.ts create mode 100644 examples/tools/i18n/translations/i18n_en.qm create mode 100644 examples/tools/i18n/translations/i18n_en.ts create mode 100644 examples/tools/i18n/translations/i18n_eo.qm create mode 100644 examples/tools/i18n/translations/i18n_eo.ts create mode 100644 examples/tools/i18n/translations/i18n_fr.qm create mode 100644 examples/tools/i18n/translations/i18n_fr.ts create mode 100644 examples/tools/i18n/translations/i18n_it.qm create mode 100644 examples/tools/i18n/translations/i18n_it.ts create mode 100644 examples/tools/i18n/translations/i18n_jp.qm create mode 100644 examples/tools/i18n/translations/i18n_jp.ts create mode 100644 examples/tools/i18n/translations/i18n_ko.qm create mode 100644 examples/tools/i18n/translations/i18n_ko.ts create mode 100644 examples/tools/i18n/translations/i18n_no.qm create mode 100644 examples/tools/i18n/translations/i18n_no.ts create mode 100644 examples/tools/i18n/translations/i18n_ru.qm create mode 100644 examples/tools/i18n/translations/i18n_ru.ts create mode 100644 examples/tools/i18n/translations/i18n_sv.qm create mode 100644 examples/tools/i18n/translations/i18n_sv.ts create mode 100644 examples/tools/i18n/translations/i18n_zh.qm create mode 100644 examples/tools/i18n/translations/i18n_zh.ts create mode 100644 examples/tools/plugandpaint/interfaces.h create mode 100644 examples/tools/plugandpaint/main.cpp create mode 100644 examples/tools/plugandpaint/mainwindow.cpp create mode 100644 examples/tools/plugandpaint/mainwindow.h create mode 100644 examples/tools/plugandpaint/paintarea.cpp create mode 100644 examples/tools/plugandpaint/paintarea.h create mode 100644 examples/tools/plugandpaint/plugandpaint.pro create mode 100644 examples/tools/plugandpaint/plugindialog.cpp create mode 100644 examples/tools/plugandpaint/plugindialog.h create mode 100644 examples/tools/plugandpaintplugins/basictools/basictools.pro create mode 100644 examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp create mode 100644 examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h create mode 100644 examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro create mode 100644 examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.cpp create mode 100644 examples/tools/plugandpaintplugins/extrafilters/extrafiltersplugin.h create mode 100644 examples/tools/plugandpaintplugins/plugandpaintplugins.pro create mode 100644 examples/tools/regexp/main.cpp create mode 100644 examples/tools/regexp/regexp.pro create mode 100644 examples/tools/regexp/regexpdialog.cpp create mode 100644 examples/tools/regexp/regexpdialog.h create mode 100644 examples/tools/settingseditor/inifiles/licensepage.ini create mode 100644 examples/tools/settingseditor/inifiles/qsa.ini create mode 100644 examples/tools/settingseditor/locationdialog.cpp create mode 100644 examples/tools/settingseditor/locationdialog.h create mode 100644 examples/tools/settingseditor/main.cpp create mode 100644 examples/tools/settingseditor/mainwindow.cpp create mode 100644 examples/tools/settingseditor/mainwindow.h create mode 100644 examples/tools/settingseditor/settingseditor.pro create mode 100644 examples/tools/settingseditor/settingstree.cpp create mode 100644 examples/tools/settingseditor/settingstree.h create mode 100644 examples/tools/settingseditor/variantdelegate.cpp create mode 100644 examples/tools/settingseditor/variantdelegate.h create mode 100644 examples/tools/styleplugin/plugin/plugin.pro create mode 100644 examples/tools/styleplugin/plugin/simplestyle.cpp create mode 100644 examples/tools/styleplugin/plugin/simplestyle.h create mode 100644 examples/tools/styleplugin/plugin/simplestyleplugin.cpp create mode 100644 examples/tools/styleplugin/plugin/simplestyleplugin.h create mode 100644 examples/tools/styleplugin/styleplugin.pro create mode 100644 examples/tools/styleplugin/stylewindow/main.cpp create mode 100644 examples/tools/styleplugin/stylewindow/stylewindow.cpp create mode 100644 examples/tools/styleplugin/stylewindow/stylewindow.h create mode 100644 examples/tools/styleplugin/stylewindow/stylewindow.pro create mode 100644 examples/tools/tools.pro create mode 100644 examples/tools/treemodelcompleter/main.cpp create mode 100644 examples/tools/treemodelcompleter/mainwindow.cpp create mode 100644 examples/tools/treemodelcompleter/mainwindow.h create mode 100644 examples/tools/treemodelcompleter/resources/treemodel.txt create mode 100644 examples/tools/treemodelcompleter/treemodelcompleter.cpp create mode 100644 examples/tools/treemodelcompleter/treemodelcompleter.h create mode 100644 examples/tools/treemodelcompleter/treemodelcompleter.pro create mode 100644 examples/tools/treemodelcompleter/treemodelcompleter.qrc create mode 100644 examples/tools/undoframework/commands.cpp create mode 100644 examples/tools/undoframework/commands.h create mode 100644 examples/tools/undoframework/diagramitem.cpp create mode 100644 examples/tools/undoframework/diagramitem.h create mode 100644 examples/tools/undoframework/diagramscene.cpp create mode 100644 examples/tools/undoframework/diagramscene.h create mode 100644 examples/tools/undoframework/images/cross.png create mode 100644 examples/tools/undoframework/main.cpp create mode 100644 examples/tools/undoframework/mainwindow.cpp create mode 100644 examples/tools/undoframework/mainwindow.h create mode 100644 examples/tools/undoframework/undoframework.pro create mode 100644 examples/tools/undoframework/undoframework.qrc create mode 100644 examples/tutorials/README create mode 100644 examples/tutorials/addressbook-fr/README create mode 100644 examples/tutorials/addressbook-fr/addressbook-fr.pro create mode 100644 examples/tutorials/addressbook-fr/part1/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part1/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part1/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part1/part1.pro create mode 100644 examples/tutorials/addressbook-fr/part2/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part2/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part2/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part2/part2.pro create mode 100644 examples/tutorials/addressbook-fr/part3/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part3/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part3/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part3/part3.pro create mode 100644 examples/tutorials/addressbook-fr/part4/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part4/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part4/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part4/part4.pro create mode 100644 examples/tutorials/addressbook-fr/part5/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part5/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part5/finddialog.cpp create mode 100644 examples/tutorials/addressbook-fr/part5/finddialog.h create mode 100644 examples/tutorials/addressbook-fr/part5/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part5/part5.pro create mode 100644 examples/tutorials/addressbook-fr/part6/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part6/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part6/finddialog.cpp create mode 100644 examples/tutorials/addressbook-fr/part6/finddialog.h create mode 100644 examples/tutorials/addressbook-fr/part6/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part6/part6.pro create mode 100644 examples/tutorials/addressbook-fr/part7/addressbook.cpp create mode 100644 examples/tutorials/addressbook-fr/part7/addressbook.h create mode 100644 examples/tutorials/addressbook-fr/part7/finddialog.cpp create mode 100644 examples/tutorials/addressbook-fr/part7/finddialog.h create mode 100644 examples/tutorials/addressbook-fr/part7/main.cpp create mode 100644 examples/tutorials/addressbook-fr/part7/part7.pro create mode 100644 examples/tutorials/addressbook/README create mode 100644 examples/tutorials/addressbook/addressbook.pro create mode 100644 examples/tutorials/addressbook/part1/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part1/addressbook.h create mode 100644 examples/tutorials/addressbook/part1/main.cpp create mode 100644 examples/tutorials/addressbook/part1/part1.pro create mode 100644 examples/tutorials/addressbook/part2/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part2/addressbook.h create mode 100644 examples/tutorials/addressbook/part2/main.cpp create mode 100644 examples/tutorials/addressbook/part2/part2.pro create mode 100644 examples/tutorials/addressbook/part3/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part3/addressbook.h create mode 100644 examples/tutorials/addressbook/part3/main.cpp create mode 100644 examples/tutorials/addressbook/part3/part3.pro create mode 100644 examples/tutorials/addressbook/part4/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part4/addressbook.h create mode 100644 examples/tutorials/addressbook/part4/main.cpp create mode 100644 examples/tutorials/addressbook/part4/part4.pro create mode 100644 examples/tutorials/addressbook/part5/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part5/addressbook.h create mode 100644 examples/tutorials/addressbook/part5/finddialog.cpp create mode 100644 examples/tutorials/addressbook/part5/finddialog.h create mode 100644 examples/tutorials/addressbook/part5/main.cpp create mode 100644 examples/tutorials/addressbook/part5/part5.pro create mode 100644 examples/tutorials/addressbook/part6/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part6/addressbook.h create mode 100644 examples/tutorials/addressbook/part6/finddialog.cpp create mode 100644 examples/tutorials/addressbook/part6/finddialog.h create mode 100644 examples/tutorials/addressbook/part6/main.cpp create mode 100644 examples/tutorials/addressbook/part6/part6.pro create mode 100644 examples/tutorials/addressbook/part7/addressbook.cpp create mode 100644 examples/tutorials/addressbook/part7/addressbook.h create mode 100644 examples/tutorials/addressbook/part7/finddialog.cpp create mode 100644 examples/tutorials/addressbook/part7/finddialog.h create mode 100644 examples/tutorials/addressbook/part7/main.cpp create mode 100644 examples/tutorials/addressbook/part7/part7.pro create mode 100644 examples/tutorials/tutorials.pro create mode 100644 examples/uitools/multipleinheritance/calculatorform.cpp create mode 100644 examples/uitools/multipleinheritance/calculatorform.h create mode 100644 examples/uitools/multipleinheritance/calculatorform.ui create mode 100644 examples/uitools/multipleinheritance/main.cpp create mode 100644 examples/uitools/multipleinheritance/multipleinheritance.pro create mode 100644 examples/uitools/textfinder/forms/input.txt create mode 100644 examples/uitools/textfinder/forms/textfinder.ui create mode 100644 examples/uitools/textfinder/main.cpp create mode 100644 examples/uitools/textfinder/textfinder.cpp create mode 100644 examples/uitools/textfinder/textfinder.h create mode 100644 examples/uitools/textfinder/textfinder.pro create mode 100644 examples/uitools/textfinder/textfinder.qrc create mode 100644 examples/uitools/uitools.pro create mode 100755 examples/webkit/formextractor/form.html create mode 100644 examples/webkit/formextractor/formextractor.cpp create mode 100644 examples/webkit/formextractor/formextractor.h create mode 100644 examples/webkit/formextractor/formextractor.pro create mode 100644 examples/webkit/formextractor/formextractor.qrc create mode 100644 examples/webkit/formextractor/formextractor.ui create mode 100644 examples/webkit/formextractor/main.cpp create mode 100644 examples/webkit/formextractor/mainwindow.cpp create mode 100644 examples/webkit/formextractor/mainwindow.h create mode 100644 examples/webkit/previewer/main.cpp create mode 100644 examples/webkit/previewer/mainwindow.cpp create mode 100644 examples/webkit/previewer/mainwindow.h create mode 100644 examples/webkit/previewer/previewer.cpp create mode 100644 examples/webkit/previewer/previewer.h create mode 100644 examples/webkit/previewer/previewer.pro create mode 100644 examples/webkit/previewer/previewer.ui create mode 100644 examples/webkit/webkit.pro create mode 100644 examples/widgets/README create mode 100644 examples/widgets/analogclock/analogclock.cpp create mode 100644 examples/widgets/analogclock/analogclock.h create mode 100644 examples/widgets/analogclock/analogclock.pro create mode 100644 examples/widgets/analogclock/main.cpp create mode 100644 examples/widgets/calculator/button.cpp create mode 100644 examples/widgets/calculator/button.h create mode 100644 examples/widgets/calculator/calculator.cpp create mode 100644 examples/widgets/calculator/calculator.h create mode 100644 examples/widgets/calculator/calculator.pro create mode 100644 examples/widgets/calculator/main.cpp create mode 100644 examples/widgets/calendarwidget/calendarwidget.pro create mode 100644 examples/widgets/calendarwidget/main.cpp create mode 100644 examples/widgets/calendarwidget/window.cpp create mode 100644 examples/widgets/calendarwidget/window.h create mode 100644 examples/widgets/charactermap/charactermap.pro create mode 100644 examples/widgets/charactermap/characterwidget.cpp create mode 100644 examples/widgets/charactermap/characterwidget.h create mode 100644 examples/widgets/charactermap/main.cpp create mode 100644 examples/widgets/charactermap/mainwindow.cpp create mode 100644 examples/widgets/charactermap/mainwindow.h create mode 100644 examples/widgets/codeeditor/codeeditor.cpp create mode 100644 examples/widgets/codeeditor/codeeditor.h create mode 100644 examples/widgets/codeeditor/codeeditor.pro create mode 100644 examples/widgets/codeeditor/main.cpp create mode 100644 examples/widgets/digitalclock/digitalclock.cpp create mode 100644 examples/widgets/digitalclock/digitalclock.h create mode 100644 examples/widgets/digitalclock/digitalclock.pro create mode 100644 examples/widgets/digitalclock/main.cpp create mode 100644 examples/widgets/groupbox/groupbox.pro create mode 100644 examples/widgets/groupbox/main.cpp create mode 100644 examples/widgets/groupbox/window.cpp create mode 100644 examples/widgets/groupbox/window.h create mode 100644 examples/widgets/icons/iconpreviewarea.cpp create mode 100644 examples/widgets/icons/iconpreviewarea.h create mode 100644 examples/widgets/icons/icons.pro create mode 100644 examples/widgets/icons/iconsizespinbox.cpp create mode 100644 examples/widgets/icons/iconsizespinbox.h create mode 100644 examples/widgets/icons/imagedelegate.cpp create mode 100644 examples/widgets/icons/imagedelegate.h create mode 100644 examples/widgets/icons/images/designer.png create mode 100644 examples/widgets/icons/images/find_disabled.png create mode 100644 examples/widgets/icons/images/find_normal.png create mode 100644 examples/widgets/icons/images/monkey_off_128x128.png create mode 100644 examples/widgets/icons/images/monkey_off_16x16.png create mode 100644 examples/widgets/icons/images/monkey_off_32x32.png create mode 100644 examples/widgets/icons/images/monkey_off_64x64.png create mode 100644 examples/widgets/icons/images/monkey_on_128x128.png create mode 100644 examples/widgets/icons/images/monkey_on_16x16.png create mode 100644 examples/widgets/icons/images/monkey_on_32x32.png create mode 100644 examples/widgets/icons/images/monkey_on_64x64.png create mode 100644 examples/widgets/icons/images/qt_extended_16x16.png create mode 100644 examples/widgets/icons/images/qt_extended_32x32.png create mode 100644 examples/widgets/icons/images/qt_extended_48x48.png create mode 100644 examples/widgets/icons/main.cpp create mode 100644 examples/widgets/icons/mainwindow.cpp create mode 100644 examples/widgets/icons/mainwindow.h create mode 100644 examples/widgets/imageviewer/imageviewer.cpp create mode 100644 examples/widgets/imageviewer/imageviewer.h create mode 100644 examples/widgets/imageviewer/imageviewer.pro create mode 100644 examples/widgets/imageviewer/main.cpp create mode 100644 examples/widgets/lineedits/lineedits.pro create mode 100644 examples/widgets/lineedits/main.cpp create mode 100644 examples/widgets/lineedits/window.cpp create mode 100644 examples/widgets/lineedits/window.h create mode 100644 examples/widgets/movie/animation.mng create mode 100644 examples/widgets/movie/main.cpp create mode 100644 examples/widgets/movie/movie.pro create mode 100644 examples/widgets/movie/movieplayer.cpp create mode 100644 examples/widgets/movie/movieplayer.h create mode 100644 examples/widgets/scribble/main.cpp create mode 100644 examples/widgets/scribble/mainwindow.cpp create mode 100644 examples/widgets/scribble/mainwindow.h create mode 100644 examples/widgets/scribble/scribble.pro create mode 100644 examples/widgets/scribble/scribblearea.cpp create mode 100644 examples/widgets/scribble/scribblearea.h create mode 100644 examples/widgets/shapedclock/main.cpp create mode 100644 examples/widgets/shapedclock/shapedclock.cpp create mode 100644 examples/widgets/shapedclock/shapedclock.h create mode 100644 examples/widgets/shapedclock/shapedclock.pro create mode 100644 examples/widgets/sliders/main.cpp create mode 100644 examples/widgets/sliders/sliders.pro create mode 100644 examples/widgets/sliders/slidersgroup.cpp create mode 100644 examples/widgets/sliders/slidersgroup.h create mode 100644 examples/widgets/sliders/window.cpp create mode 100644 examples/widgets/sliders/window.h create mode 100644 examples/widgets/spinboxes/main.cpp create mode 100644 examples/widgets/spinboxes/spinboxes.pro create mode 100644 examples/widgets/spinboxes/window.cpp create mode 100644 examples/widgets/spinboxes/window.h create mode 100644 examples/widgets/styles/images/woodbackground.png create mode 100644 examples/widgets/styles/images/woodbutton.png create mode 100644 examples/widgets/styles/main.cpp create mode 100644 examples/widgets/styles/norwegianwoodstyle.cpp create mode 100644 examples/widgets/styles/norwegianwoodstyle.h create mode 100644 examples/widgets/styles/styles.pro create mode 100644 examples/widgets/styles/styles.qrc create mode 100644 examples/widgets/styles/widgetgallery.cpp create mode 100644 examples/widgets/styles/widgetgallery.h create mode 100644 examples/widgets/stylesheet/images/checkbox_checked.png create mode 100644 examples/widgets/stylesheet/images/checkbox_checked_hover.png create mode 100644 examples/widgets/stylesheet/images/checkbox_checked_pressed.png create mode 100644 examples/widgets/stylesheet/images/checkbox_unchecked.png create mode 100644 examples/widgets/stylesheet/images/checkbox_unchecked_hover.png create mode 100644 examples/widgets/stylesheet/images/checkbox_unchecked_pressed.png create mode 100644 examples/widgets/stylesheet/images/down_arrow.png create mode 100644 examples/widgets/stylesheet/images/down_arrow_disabled.png create mode 100644 examples/widgets/stylesheet/images/frame.png create mode 100644 examples/widgets/stylesheet/images/pagefold.png create mode 100644 examples/widgets/stylesheet/images/pushbutton.png create mode 100644 examples/widgets/stylesheet/images/pushbutton_hover.png create mode 100644 examples/widgets/stylesheet/images/pushbutton_pressed.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_checked.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_checked_hover.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_checked_pressed.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_unchecked.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_unchecked_hover.png create mode 100644 examples/widgets/stylesheet/images/radiobutton_unchecked_pressed.png create mode 100644 examples/widgets/stylesheet/images/sizegrip.png create mode 100644 examples/widgets/stylesheet/images/spindown.png create mode 100644 examples/widgets/stylesheet/images/spindown_hover.png create mode 100644 examples/widgets/stylesheet/images/spindown_off.png create mode 100644 examples/widgets/stylesheet/images/spindown_pressed.png create mode 100644 examples/widgets/stylesheet/images/spinup.png create mode 100644 examples/widgets/stylesheet/images/spinup_hover.png create mode 100644 examples/widgets/stylesheet/images/spinup_off.png create mode 100644 examples/widgets/stylesheet/images/spinup_pressed.png create mode 100644 examples/widgets/stylesheet/images/up_arrow.png create mode 100644 examples/widgets/stylesheet/images/up_arrow_disabled.png create mode 100644 examples/widgets/stylesheet/layouts/default.ui create mode 100644 examples/widgets/stylesheet/layouts/pagefold.ui create mode 100644 examples/widgets/stylesheet/main.cpp create mode 100644 examples/widgets/stylesheet/mainwindow.cpp create mode 100644 examples/widgets/stylesheet/mainwindow.h create mode 100644 examples/widgets/stylesheet/mainwindow.ui create mode 100644 examples/widgets/stylesheet/qss/coffee.qss create mode 100644 examples/widgets/stylesheet/qss/default.qss create mode 100644 examples/widgets/stylesheet/qss/pagefold.qss create mode 100644 examples/widgets/stylesheet/stylesheet.pro create mode 100644 examples/widgets/stylesheet/stylesheet.qrc create mode 100644 examples/widgets/stylesheet/stylesheeteditor.cpp create mode 100644 examples/widgets/stylesheet/stylesheeteditor.h create mode 100644 examples/widgets/stylesheet/stylesheeteditor.ui create mode 100644 examples/widgets/tablet/main.cpp create mode 100644 examples/widgets/tablet/mainwindow.cpp create mode 100644 examples/widgets/tablet/mainwindow.h create mode 100644 examples/widgets/tablet/tablet.pro create mode 100644 examples/widgets/tablet/tabletapplication.cpp create mode 100644 examples/widgets/tablet/tabletapplication.h create mode 100644 examples/widgets/tablet/tabletcanvas.cpp create mode 100644 examples/widgets/tablet/tabletcanvas.h create mode 100644 examples/widgets/tetrix/main.cpp create mode 100644 examples/widgets/tetrix/tetrix.pro create mode 100644 examples/widgets/tetrix/tetrixboard.cpp create mode 100644 examples/widgets/tetrix/tetrixboard.h create mode 100644 examples/widgets/tetrix/tetrixpiece.cpp create mode 100644 examples/widgets/tetrix/tetrixpiece.h create mode 100644 examples/widgets/tetrix/tetrixwindow.cpp create mode 100644 examples/widgets/tetrix/tetrixwindow.h create mode 100644 examples/widgets/tooltips/images/circle.png create mode 100644 examples/widgets/tooltips/images/square.png create mode 100644 examples/widgets/tooltips/images/triangle.png create mode 100644 examples/widgets/tooltips/main.cpp create mode 100644 examples/widgets/tooltips/shapeitem.cpp create mode 100644 examples/widgets/tooltips/shapeitem.h create mode 100644 examples/widgets/tooltips/sortingbox.cpp create mode 100644 examples/widgets/tooltips/sortingbox.h create mode 100644 examples/widgets/tooltips/tooltips.pro create mode 100644 examples/widgets/tooltips/tooltips.qrc create mode 100644 examples/widgets/validators/ledoff.png create mode 100644 examples/widgets/validators/ledon.png create mode 100644 examples/widgets/validators/ledwidget.cpp create mode 100644 examples/widgets/validators/ledwidget.h create mode 100644 examples/widgets/validators/localeselector.cpp create mode 100644 examples/widgets/validators/localeselector.h create mode 100644 examples/widgets/validators/main.cpp create mode 100644 examples/widgets/validators/validators.pro create mode 100644 examples/widgets/validators/validators.qrc create mode 100644 examples/widgets/validators/validators.ui create mode 100644 examples/widgets/widgets.pro create mode 100644 examples/widgets/wiggly/dialog.cpp create mode 100644 examples/widgets/wiggly/dialog.h create mode 100644 examples/widgets/wiggly/main.cpp create mode 100644 examples/widgets/wiggly/wiggly.pro create mode 100644 examples/widgets/wiggly/wigglywidget.cpp create mode 100644 examples/widgets/wiggly/wigglywidget.h create mode 100644 examples/widgets/windowflags/controllerwindow.cpp create mode 100644 examples/widgets/windowflags/controllerwindow.h create mode 100644 examples/widgets/windowflags/main.cpp create mode 100644 examples/widgets/windowflags/previewwindow.cpp create mode 100644 examples/widgets/windowflags/previewwindow.h create mode 100644 examples/widgets/windowflags/windowflags.pro create mode 100644 examples/xml/README create mode 100644 examples/xml/dombookmarks/dombookmarks.pro create mode 100644 examples/xml/dombookmarks/frank.xbel create mode 100644 examples/xml/dombookmarks/jennifer.xbel create mode 100644 examples/xml/dombookmarks/main.cpp create mode 100644 examples/xml/dombookmarks/mainwindow.cpp create mode 100644 examples/xml/dombookmarks/mainwindow.h create mode 100644 examples/xml/dombookmarks/xbeltree.cpp create mode 100644 examples/xml/dombookmarks/xbeltree.h create mode 100644 examples/xml/rsslisting/main.cpp create mode 100644 examples/xml/rsslisting/rsslisting.cpp create mode 100644 examples/xml/rsslisting/rsslisting.h create mode 100644 examples/xml/rsslisting/rsslisting.pro create mode 100644 examples/xml/saxbookmarks/frank.xbel create mode 100644 examples/xml/saxbookmarks/jennifer.xbel create mode 100644 examples/xml/saxbookmarks/main.cpp create mode 100644 examples/xml/saxbookmarks/mainwindow.cpp create mode 100644 examples/xml/saxbookmarks/mainwindow.h create mode 100644 examples/xml/saxbookmarks/saxbookmarks.pro create mode 100644 examples/xml/saxbookmarks/xbelgenerator.cpp create mode 100644 examples/xml/saxbookmarks/xbelgenerator.h create mode 100644 examples/xml/saxbookmarks/xbelhandler.cpp create mode 100644 examples/xml/saxbookmarks/xbelhandler.h create mode 100644 examples/xml/streambookmarks/frank.xbel create mode 100644 examples/xml/streambookmarks/jennifer.xbel create mode 100644 examples/xml/streambookmarks/main.cpp create mode 100644 examples/xml/streambookmarks/mainwindow.cpp create mode 100644 examples/xml/streambookmarks/mainwindow.h create mode 100644 examples/xml/streambookmarks/streambookmarks.pro create mode 100644 examples/xml/streambookmarks/xbelreader.cpp create mode 100644 examples/xml/streambookmarks/xbelreader.h create mode 100644 examples/xml/streambookmarks/xbelwriter.cpp create mode 100644 examples/xml/streambookmarks/xbelwriter.h create mode 100644 examples/xml/xml.pro create mode 100644 examples/xml/xmlstreamlint/main.cpp create mode 100644 examples/xml/xmlstreamlint/xmlstreamlint.pro create mode 100644 examples/xmlpatterns/README create mode 100644 examples/xmlpatterns/filetree/filetree.cpp create mode 100644 examples/xmlpatterns/filetree/filetree.h create mode 100644 examples/xmlpatterns/filetree/filetree.pro create mode 100644 examples/xmlpatterns/filetree/forms/mainwindow.ui create mode 100644 examples/xmlpatterns/filetree/main.cpp create mode 100644 examples/xmlpatterns/filetree/mainwindow.cpp create mode 100644 examples/xmlpatterns/filetree/mainwindow.h create mode 100644 examples/xmlpatterns/filetree/queries.qrc create mode 100644 examples/xmlpatterns/filetree/queries/listCPPFiles.xq create mode 100644 examples/xmlpatterns/filetree/queries/wholeTree.xq create mode 100644 examples/xmlpatterns/qobjectxmlmodel/forms/mainwindow.ui create mode 100644 examples/xmlpatterns/qobjectxmlmodel/main.cpp create mode 100644 examples/xmlpatterns/qobjectxmlmodel/mainwindow.cpp create mode 100644 examples/xmlpatterns/qobjectxmlmodel/mainwindow.h create mode 100644 examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.cpp create mode 100644 examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.h create mode 100644 examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro create mode 100644 examples/xmlpatterns/qobjectxmlmodel/queries.qrc create mode 100644 examples/xmlpatterns/qobjectxmlmodel/queries/statisticsInHTML.xq create mode 100644 examples/xmlpatterns/qobjectxmlmodel/queries/wholeTree.xq create mode 100644 examples/xmlpatterns/recipes/files/allRecipes.xq create mode 100644 examples/xmlpatterns/recipes/files/cookbook.xml create mode 100644 examples/xmlpatterns/recipes/files/liquidIngredientsInSoup.xq create mode 100644 examples/xmlpatterns/recipes/files/mushroomSoup.xq create mode 100644 examples/xmlpatterns/recipes/files/preparationLessThan30.xq create mode 100644 examples/xmlpatterns/recipes/files/preparationTimes.xq create mode 100644 examples/xmlpatterns/recipes/forms/querywidget.ui create mode 100644 examples/xmlpatterns/recipes/main.cpp create mode 100644 examples/xmlpatterns/recipes/querymainwindow.cpp create mode 100644 examples/xmlpatterns/recipes/querymainwindow.h create mode 100644 examples/xmlpatterns/recipes/recipes.pro create mode 100644 examples/xmlpatterns/recipes/recipes.qrc create mode 100644 examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp create mode 100644 examples/xmlpatterns/shared/xmlsyntaxhighlighter.h create mode 100644 examples/xmlpatterns/trafficinfo/main.cpp create mode 100644 examples/xmlpatterns/trafficinfo/mainwindow.cpp create mode 100644 examples/xmlpatterns/trafficinfo/mainwindow.h create mode 100644 examples/xmlpatterns/trafficinfo/station_example.wml create mode 100644 examples/xmlpatterns/trafficinfo/stationdialog.cpp create mode 100644 examples/xmlpatterns/trafficinfo/stationdialog.h create mode 100644 examples/xmlpatterns/trafficinfo/stationdialog.ui create mode 100644 examples/xmlpatterns/trafficinfo/stationquery.cpp create mode 100644 examples/xmlpatterns/trafficinfo/stationquery.h create mode 100644 examples/xmlpatterns/trafficinfo/time_example.wml create mode 100644 examples/xmlpatterns/trafficinfo/timequery.cpp create mode 100644 examples/xmlpatterns/trafficinfo/timequery.h create mode 100644 examples/xmlpatterns/trafficinfo/trafficinfo.pro create mode 100644 examples/xmlpatterns/xmlpatterns.pro create mode 100644 examples/xmlpatterns/xquery/globalVariables/globalVariables.pro create mode 100644 examples/xmlpatterns/xquery/globalVariables/globals.cpp create mode 100644 examples/xmlpatterns/xquery/globalVariables/globals.gccxml create mode 100644 examples/xmlpatterns/xquery/globalVariables/globals.html create mode 100644 examples/xmlpatterns/xquery/globalVariables/reportGlobals.xq create mode 100644 examples/xmlpatterns/xquery/xquery.pro create mode 100644 lib/README create mode 100644 lib/fonts/DejaVuSans-Bold.ttf create mode 100644 lib/fonts/DejaVuSans-BoldOblique.ttf create mode 100644 lib/fonts/DejaVuSans-Oblique.ttf create mode 100644 lib/fonts/DejaVuSans.ttf create mode 100644 lib/fonts/DejaVuSansMono-Bold.ttf create mode 100644 lib/fonts/DejaVuSansMono-BoldOblique.ttf create mode 100644 lib/fonts/DejaVuSansMono-Oblique.ttf create mode 100644 lib/fonts/DejaVuSansMono.ttf create mode 100644 lib/fonts/DejaVuSerif-Bold.ttf create mode 100644 lib/fonts/DejaVuSerif-BoldOblique.ttf create mode 100644 lib/fonts/DejaVuSerif-Oblique.ttf create mode 100644 lib/fonts/DejaVuSerif.ttf create mode 100644 lib/fonts/README create mode 100644 lib/fonts/UTBI____.pfa create mode 100644 lib/fonts/UTB_____.pfa create mode 100644 lib/fonts/UTI_____.pfa create mode 100644 lib/fonts/UTRG____.pfa create mode 100644 lib/fonts/Vera.ttf create mode 100644 lib/fonts/VeraBI.ttf create mode 100644 lib/fonts/VeraBd.ttf create mode 100644 lib/fonts/VeraIt.ttf create mode 100644 lib/fonts/VeraMoBI.ttf create mode 100644 lib/fonts/VeraMoBd.ttf create mode 100644 lib/fonts/VeraMoIt.ttf create mode 100644 lib/fonts/VeraMono.ttf create mode 100644 lib/fonts/VeraSe.ttf create mode 100644 lib/fonts/VeraSeBd.ttf create mode 100644 lib/fonts/c0419bt_.pfb create mode 100644 lib/fonts/c0582bt_.pfb create mode 100644 lib/fonts/c0583bt_.pfb create mode 100644 lib/fonts/c0611bt_.pfb create mode 100644 lib/fonts/c0632bt_.pfb create mode 100644 lib/fonts/c0633bt_.pfb create mode 100644 lib/fonts/c0648bt_.pfb create mode 100644 lib/fonts/c0649bt_.pfb create mode 100644 lib/fonts/cour.pfa create mode 100644 lib/fonts/courb.pfa create mode 100644 lib/fonts/courbi.pfa create mode 100644 lib/fonts/couri.pfa create mode 100644 lib/fonts/cursor.pfa create mode 100644 lib/fonts/fixed_120_50.qpf create mode 100644 lib/fonts/fixed_70_50.qpf create mode 100644 lib/fonts/helvetica_100_50.qpf create mode 100644 lib/fonts/helvetica_100_50i.qpf create mode 100644 lib/fonts/helvetica_100_75.qpf create mode 100644 lib/fonts/helvetica_100_75i.qpf create mode 100644 lib/fonts/helvetica_120_50.qpf create mode 100644 lib/fonts/helvetica_120_50i.qpf create mode 100644 lib/fonts/helvetica_120_75.qpf create mode 100644 lib/fonts/helvetica_120_75i.qpf create mode 100644 lib/fonts/helvetica_140_50.qpf create mode 100644 lib/fonts/helvetica_140_50i.qpf create mode 100644 lib/fonts/helvetica_140_75.qpf create mode 100644 lib/fonts/helvetica_140_75i.qpf create mode 100644 lib/fonts/helvetica_180_50.qpf create mode 100644 lib/fonts/helvetica_180_50i.qpf create mode 100644 lib/fonts/helvetica_180_75.qpf create mode 100644 lib/fonts/helvetica_180_75i.qpf create mode 100644 lib/fonts/helvetica_240_50.qpf create mode 100644 lib/fonts/helvetica_240_50i.qpf create mode 100644 lib/fonts/helvetica_240_75.qpf create mode 100644 lib/fonts/helvetica_240_75i.qpf create mode 100644 lib/fonts/helvetica_80_50.qpf create mode 100644 lib/fonts/helvetica_80_50i.qpf create mode 100644 lib/fonts/helvetica_80_75.qpf create mode 100644 lib/fonts/helvetica_80_75i.qpf create mode 100644 lib/fonts/japanese_230_50.qpf create mode 100644 lib/fonts/l047013t.pfa create mode 100644 lib/fonts/l047016t.pfa create mode 100644 lib/fonts/l047033t.pfa create mode 100644 lib/fonts/l047036t.pfa create mode 100644 lib/fonts/l048013t.pfa create mode 100644 lib/fonts/l048016t.pfa create mode 100644 lib/fonts/l048033t.pfa create mode 100644 lib/fonts/l048036t.pfa create mode 100644 lib/fonts/l049013t.pfa create mode 100644 lib/fonts/l049016t.pfa create mode 100644 lib/fonts/l049033t.pfa create mode 100644 lib/fonts/l049036t.pfa create mode 100644 lib/fonts/micro_40_50.qpf create mode 100644 lib/fonts/unifont_160_50.qpf create mode 100644 mkspecs/aix-g++-64/qmake.conf create mode 100644 mkspecs/aix-g++-64/qplatformdefs.h create mode 100644 mkspecs/aix-g++/qmake.conf create mode 100644 mkspecs/aix-g++/qplatformdefs.h create mode 100644 mkspecs/aix-xlc-64/qmake.conf create mode 100644 mkspecs/aix-xlc-64/qplatformdefs.h create mode 100644 mkspecs/aix-xlc/qmake.conf create mode 100644 mkspecs/aix-xlc/qplatformdefs.h create mode 100644 mkspecs/common/g++.conf create mode 100644 mkspecs/common/linux.conf create mode 100644 mkspecs/common/llvm.conf create mode 100644 mkspecs/common/mac-g++.conf create mode 100644 mkspecs/common/mac-llvm.conf create mode 100644 mkspecs/common/mac.conf create mode 100644 mkspecs/common/qws.conf create mode 100644 mkspecs/common/unix.conf create mode 100644 mkspecs/common/wince.conf create mode 100644 mkspecs/cygwin-g++/qmake.conf create mode 100644 mkspecs/cygwin-g++/qplatformdefs.h create mode 100644 mkspecs/darwin-g++/qmake.conf create mode 100644 mkspecs/darwin-g++/qplatformdefs.h create mode 100644 mkspecs/features/assistant.prf create mode 100644 mkspecs/features/build_pass.prf create mode 100644 mkspecs/features/dbusadaptors.prf create mode 100644 mkspecs/features/dbusinterfaces.prf create mode 100644 mkspecs/features/debug.prf create mode 100644 mkspecs/features/debug_and_release.prf create mode 100644 mkspecs/features/default_post.prf create mode 100644 mkspecs/features/default_pre.prf create mode 100644 mkspecs/features/designer.prf create mode 100644 mkspecs/features/dll.prf create mode 100644 mkspecs/features/exclusive_builds.prf create mode 100644 mkspecs/features/help.prf create mode 100644 mkspecs/features/incredibuild_xge.prf create mode 100644 mkspecs/features/lex.prf create mode 100644 mkspecs/features/link_pkgconfig.prf create mode 100644 mkspecs/features/mac/default_post.prf create mode 100644 mkspecs/features/mac/default_pre.prf create mode 100644 mkspecs/features/mac/dwarf2.prf create mode 100644 mkspecs/features/mac/objective_c.prf create mode 100644 mkspecs/features/mac/ppc.prf create mode 100644 mkspecs/features/mac/ppc64.prf create mode 100644 mkspecs/features/mac/rez.prf create mode 100644 mkspecs/features/mac/sdk.prf create mode 100644 mkspecs/features/mac/x86.prf create mode 100644 mkspecs/features/mac/x86_64.prf create mode 100644 mkspecs/features/moc.prf create mode 100644 mkspecs/features/no_debug_info.prf create mode 100644 mkspecs/features/qdbus.prf create mode 100644 mkspecs/features/qt.prf create mode 100644 mkspecs/features/qt_config.prf create mode 100644 mkspecs/features/qt_functions.prf create mode 100644 mkspecs/features/qtestlib.prf create mode 100644 mkspecs/features/qtopia.prf create mode 100644 mkspecs/features/qtopiainc.prf create mode 100644 mkspecs/features/qtopialib.prf create mode 100644 mkspecs/features/qttest_p4.prf create mode 100644 mkspecs/features/release.prf create mode 100644 mkspecs/features/resources.prf create mode 100644 mkspecs/features/shared.prf create mode 100644 mkspecs/features/silent.prf create mode 100644 mkspecs/features/static.prf create mode 100644 mkspecs/features/static_and_shared.prf create mode 100644 mkspecs/features/staticlib.prf create mode 100644 mkspecs/features/uic.prf create mode 100644 mkspecs/features/uitools.prf create mode 100644 mkspecs/features/unix/bsymbolic_functions.prf create mode 100644 mkspecs/features/unix/dylib.prf create mode 100644 mkspecs/features/unix/hide_symbols.prf create mode 100644 mkspecs/features/unix/largefile.prf create mode 100644 mkspecs/features/unix/opengl.prf create mode 100644 mkspecs/features/unix/separate_debug_info.prf create mode 100644 mkspecs/features/unix/thread.prf create mode 100644 mkspecs/features/unix/x11.prf create mode 100644 mkspecs/features/unix/x11inc.prf create mode 100644 mkspecs/features/unix/x11lib.prf create mode 100644 mkspecs/features/unix/x11sm.prf create mode 100644 mkspecs/features/use_c_linker.prf create mode 100644 mkspecs/features/warn_off.prf create mode 100644 mkspecs/features/warn_on.prf create mode 100644 mkspecs/features/win32/console.prf create mode 100644 mkspecs/features/win32/default_post.prf create mode 100644 mkspecs/features/win32/default_pre.prf create mode 100644 mkspecs/features/win32/dumpcpp.prf create mode 100644 mkspecs/features/win32/embed_manifest_dll.prf create mode 100644 mkspecs/features/win32/embed_manifest_exe.prf create mode 100644 mkspecs/features/win32/exceptions.prf create mode 100644 mkspecs/features/win32/exceptions_off.prf create mode 100644 mkspecs/features/win32/opengl.prf create mode 100644 mkspecs/features/win32/qaxcontainer.prf create mode 100644 mkspecs/features/win32/qaxserver.prf create mode 100644 mkspecs/features/win32/qt_dll.prf create mode 100644 mkspecs/features/win32/rtti.prf create mode 100644 mkspecs/features/win32/rtti_off.prf create mode 100644 mkspecs/features/win32/stl.prf create mode 100644 mkspecs/features/win32/stl_off.prf create mode 100644 mkspecs/features/win32/thread.prf create mode 100644 mkspecs/features/win32/thread_off.prf create mode 100644 mkspecs/features/win32/windows.prf create mode 100644 mkspecs/features/yacc.prf create mode 100644 mkspecs/freebsd-g++/qmake.conf create mode 100644 mkspecs/freebsd-g++/qplatformdefs.h create mode 100644 mkspecs/freebsd-g++34/qmake.conf create mode 100644 mkspecs/freebsd-g++34/qplatformdefs.h create mode 100644 mkspecs/freebsd-g++40/qmake.conf create mode 100644 mkspecs/freebsd-g++40/qplatformdefs.h create mode 100644 mkspecs/freebsd-icc/qmake.conf create mode 100644 mkspecs/freebsd-icc/qplatformdefs.h create mode 100644 mkspecs/hpux-acc-64/qmake.conf create mode 100644 mkspecs/hpux-acc-64/qplatformdefs.h create mode 100644 mkspecs/hpux-acc-o64/qmake.conf create mode 100644 mkspecs/hpux-acc-o64/qplatformdefs.h create mode 100644 mkspecs/hpux-acc/qmake.conf create mode 100644 mkspecs/hpux-acc/qplatformdefs.h create mode 100644 mkspecs/hpux-g++-64/qmake.conf create mode 100644 mkspecs/hpux-g++-64/qplatformdefs.h create mode 100644 mkspecs/hpux-g++/qmake.conf create mode 100644 mkspecs/hpux-g++/qplatformdefs.h create mode 100644 mkspecs/hpuxi-acc-32/qmake.conf create mode 100644 mkspecs/hpuxi-acc-32/qplatformdefs.h create mode 100644 mkspecs/hpuxi-acc-64/qmake.conf create mode 100644 mkspecs/hpuxi-acc-64/qplatformdefs.h create mode 100644 mkspecs/hpuxi-g++-64/qmake.conf create mode 100644 mkspecs/hpuxi-g++-64/qplatformdefs.h create mode 100644 mkspecs/hurd-g++/qmake.conf create mode 100644 mkspecs/hurd-g++/qplatformdefs.h create mode 100644 mkspecs/irix-cc-64/qmake.conf create mode 100644 mkspecs/irix-cc-64/qplatformdefs.h create mode 100644 mkspecs/irix-cc/qmake.conf create mode 100644 mkspecs/irix-cc/qplatformdefs.h create mode 100644 mkspecs/irix-g++-64/qmake.conf create mode 100644 mkspecs/irix-g++-64/qplatformdefs.h create mode 100644 mkspecs/irix-g++/qmake.conf create mode 100644 mkspecs/irix-g++/qplatformdefs.h create mode 100644 mkspecs/linux-cxx/qmake.conf create mode 100644 mkspecs/linux-cxx/qplatformdefs.h create mode 100644 mkspecs/linux-ecc-64/qmake.conf create mode 100644 mkspecs/linux-ecc-64/qplatformdefs.h create mode 100644 mkspecs/linux-g++-32/qmake.conf create mode 100644 mkspecs/linux-g++-32/qplatformdefs.h create mode 100644 mkspecs/linux-g++-64/qmake.conf create mode 100644 mkspecs/linux-g++-64/qplatformdefs.h create mode 100644 mkspecs/linux-g++/qmake.conf create mode 100644 mkspecs/linux-g++/qplatformdefs.h create mode 100644 mkspecs/linux-icc-32/qmake.conf create mode 100644 mkspecs/linux-icc-32/qplatformdefs.h create mode 100644 mkspecs/linux-icc-64/qmake.conf create mode 100644 mkspecs/linux-icc-64/qplatformdefs.h create mode 100644 mkspecs/linux-icc/qmake.conf create mode 100644 mkspecs/linux-icc/qplatformdefs.h create mode 100644 mkspecs/linux-kcc/qmake.conf create mode 100644 mkspecs/linux-kcc/qplatformdefs.h create mode 100644 mkspecs/linux-llvm/qmake.conf create mode 100644 mkspecs/linux-llvm/qplatformdefs.h create mode 100644 mkspecs/linux-lsb-g++/qmake.conf create mode 100644 mkspecs/linux-lsb-g++/qplatformdefs.h create mode 100644 mkspecs/linux-pgcc/qmake.conf create mode 100644 mkspecs/linux-pgcc/qplatformdefs.h create mode 100644 mkspecs/lynxos-g++/qmake.conf create mode 100644 mkspecs/lynxos-g++/qplatformdefs.h create mode 100644 mkspecs/macx-g++/Info.plist.app create mode 100644 mkspecs/macx-g++/Info.plist.lib create mode 100644 mkspecs/macx-g++/qmake.conf create mode 100644 mkspecs/macx-g++/qplatformdefs.h create mode 100644 mkspecs/macx-g++42/Info.plist.app create mode 100644 mkspecs/macx-g++42/Info.plist.lib create mode 100644 mkspecs/macx-g++42/qmake.conf create mode 100644 mkspecs/macx-g++42/qplatformdefs.h create mode 100644 mkspecs/macx-icc/qmake.conf create mode 100644 mkspecs/macx-icc/qplatformdefs.h create mode 100644 mkspecs/macx-llvm/Info.plist.app create mode 100644 mkspecs/macx-llvm/Info.plist.lib create mode 100644 mkspecs/macx-llvm/qmake.conf create mode 100644 mkspecs/macx-llvm/qplatformdefs.h create mode 100755 mkspecs/macx-pbuilder/Info.plist.app create mode 100755 mkspecs/macx-pbuilder/qmake.conf create mode 100644 mkspecs/macx-pbuilder/qplatformdefs.h create mode 100755 mkspecs/macx-xcode/Info.plist.app create mode 100644 mkspecs/macx-xcode/Info.plist.lib create mode 100755 mkspecs/macx-xcode/qmake.conf create mode 100644 mkspecs/macx-xcode/qplatformdefs.h create mode 100644 mkspecs/macx-xlc/qmake.conf create mode 100644 mkspecs/macx-xlc/qplatformdefs.h create mode 100644 mkspecs/netbsd-g++/qmake.conf create mode 100644 mkspecs/netbsd-g++/qplatformdefs.h create mode 100644 mkspecs/openbsd-g++/qmake.conf create mode 100644 mkspecs/openbsd-g++/qplatformdefs.h create mode 100644 mkspecs/qws/freebsd-generic-g++/qmake.conf create mode 100644 mkspecs/qws/freebsd-generic-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-arm-g++/qmake.conf create mode 100644 mkspecs/qws/linux-arm-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-armv6-g++/qmake.conf create mode 100644 mkspecs/qws/linux-armv6-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-avr32-g++/qmake.conf create mode 100644 mkspecs/qws/linux-avr32-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-cellon-g++/qmake.conf create mode 100644 mkspecs/qws/linux-cellon-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-dm7000-g++/qmake.conf create mode 100644 mkspecs/qws/linux-dm7000-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-dm800-g++/qmake.conf create mode 100644 mkspecs/qws/linux-dm800-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-generic-g++-32/qmake.conf create mode 100644 mkspecs/qws/linux-generic-g++-32/qplatformdefs.h create mode 100644 mkspecs/qws/linux-generic-g++/qmake.conf create mode 100644 mkspecs/qws/linux-generic-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-ipaq-g++/qmake.conf create mode 100644 mkspecs/qws/linux-ipaq-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-lsb-g++/qmake.conf create mode 100644 mkspecs/qws/linux-lsb-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-mips-g++/qmake.conf create mode 100644 mkspecs/qws/linux-mips-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-ppc-g++/qmake.conf create mode 100644 mkspecs/qws/linux-ppc-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-sh-g++/qmake.conf create mode 100644 mkspecs/qws/linux-sh-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-sh4al-g++/qmake.conf create mode 100644 mkspecs/qws/linux-sh4al-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-sharp-g++/qmake.conf create mode 100644 mkspecs/qws/linux-sharp-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-x86-g++/qmake.conf create mode 100644 mkspecs/qws/linux-x86-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-x86_64-g++/qmake.conf create mode 100644 mkspecs/qws/linux-x86_64-g++/qplatformdefs.h create mode 100644 mkspecs/qws/linux-zylonite-g++/qmake.conf create mode 100644 mkspecs/qws/linux-zylonite-g++/qplatformdefs.h create mode 100644 mkspecs/qws/macx-generic-g++/qmake.conf create mode 100644 mkspecs/qws/macx-generic-g++/qplatformdefs.h create mode 100644 mkspecs/qws/solaris-generic-g++/qmake.conf create mode 100644 mkspecs/qws/solaris-generic-g++/qplatformdefs.h create mode 100644 mkspecs/sco-cc/qmake.conf create mode 100644 mkspecs/sco-cc/qplatformdefs.h create mode 100644 mkspecs/sco-g++/qmake.conf create mode 100644 mkspecs/sco-g++/qplatformdefs.h create mode 100644 mkspecs/solaris-cc-64/qmake.conf create mode 100644 mkspecs/solaris-cc-64/qplatformdefs.h create mode 100644 mkspecs/solaris-cc/qmake.conf create mode 100644 mkspecs/solaris-cc/qplatformdefs.h create mode 100644 mkspecs/solaris-g++-64/qmake.conf create mode 100644 mkspecs/solaris-g++-64/qplatformdefs.h create mode 100644 mkspecs/solaris-g++/qmake.conf create mode 100644 mkspecs/solaris-g++/qplatformdefs.h create mode 100644 mkspecs/tru64-cxx/qmake.conf create mode 100644 mkspecs/tru64-cxx/qplatformdefs.h create mode 100644 mkspecs/tru64-g++/qmake.conf create mode 100644 mkspecs/tru64-g++/qplatformdefs.h create mode 100644 mkspecs/unixware-cc/qmake.conf create mode 100644 mkspecs/unixware-cc/qplatformdefs.h create mode 100644 mkspecs/unixware-g++/qmake.conf create mode 100644 mkspecs/unixware-g++/qplatformdefs.h create mode 100644 mkspecs/win32-borland/qmake.conf create mode 100644 mkspecs/win32-borland/qplatformdefs.h create mode 100644 mkspecs/win32-g++/qmake.conf create mode 100644 mkspecs/win32-g++/qplatformdefs.h create mode 100644 mkspecs/win32-icc/qmake.conf create mode 100644 mkspecs/win32-icc/qplatformdefs.h create mode 100644 mkspecs/win32-msvc.net/qmake.conf create mode 100644 mkspecs/win32-msvc.net/qplatformdefs.h create mode 100644 mkspecs/win32-msvc/features/incremental.prf create mode 100644 mkspecs/win32-msvc/features/incremental_off.prf create mode 100644 mkspecs/win32-msvc/qmake.conf create mode 100644 mkspecs/win32-msvc/qplatformdefs.h create mode 100644 mkspecs/win32-msvc2002/qmake.conf create mode 100644 mkspecs/win32-msvc2002/qplatformdefs.h create mode 100644 mkspecs/win32-msvc2003/qmake.conf create mode 100644 mkspecs/win32-msvc2003/qplatformdefs.h create mode 100644 mkspecs/win32-msvc2005/qmake.conf create mode 100644 mkspecs/win32-msvc2005/qplatformdefs.h create mode 100644 mkspecs/win32-msvc2008/qmake.conf create mode 100644 mkspecs/win32-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince50standard-armv4i-msvc2005/default_post.prf create mode 100644 mkspecs/wince50standard-armv4i-msvc2005/qmake.conf create mode 100644 mkspecs/wince50standard-armv4i-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wince50standard-armv4i-msvc2008/default_post.prf create mode 100644 mkspecs/wince50standard-armv4i-msvc2008/qmake.conf create mode 100644 mkspecs/wince50standard-armv4i-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince50standard-mipsii-msvc2005/default_post.prf create mode 100644 mkspecs/wince50standard-mipsii-msvc2005/qmake.conf create mode 100644 mkspecs/wince50standard-mipsii-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wince50standard-mipsii-msvc2008/default_post.prf create mode 100644 mkspecs/wince50standard-mipsii-msvc2008/qmake.conf create mode 100644 mkspecs/wince50standard-mipsii-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince50standard-mipsiv-msvc2005/qmake.conf create mode 100644 mkspecs/wince50standard-mipsiv-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wince50standard-mipsiv-msvc2008/qmake.conf create mode 100644 mkspecs/wince50standard-mipsiv-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince50standard-sh4-msvc2005/qmake.conf create mode 100644 mkspecs/wince50standard-sh4-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wince50standard-sh4-msvc2008/qmake.conf create mode 100644 mkspecs/wince50standard-sh4-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince50standard-x86-msvc2005/default_post.prf create mode 100644 mkspecs/wince50standard-x86-msvc2005/qmake.conf create mode 100644 mkspecs/wince50standard-x86-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wince50standard-x86-msvc2008/default_post.prf create mode 100644 mkspecs/wince50standard-x86-msvc2008/qmake.conf create mode 100644 mkspecs/wince50standard-x86-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wince60standard-armv4i-msvc2005/qmake.conf create mode 100644 mkspecs/wince60standard-armv4i-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wincewm50pocket-msvc2005/default_post.prf create mode 100644 mkspecs/wincewm50pocket-msvc2005/qmake.conf create mode 100644 mkspecs/wincewm50pocket-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wincewm50pocket-msvc2008/default_post.prf create mode 100644 mkspecs/wincewm50pocket-msvc2008/qmake.conf create mode 100644 mkspecs/wincewm50pocket-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wincewm50smart-msvc2005/default_post.prf create mode 100644 mkspecs/wincewm50smart-msvc2005/qmake.conf create mode 100644 mkspecs/wincewm50smart-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wincewm50smart-msvc2008/default_post.prf create mode 100644 mkspecs/wincewm50smart-msvc2008/qmake.conf create mode 100644 mkspecs/wincewm50smart-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wincewm60professional-msvc2005/default_post.prf create mode 100644 mkspecs/wincewm60professional-msvc2005/qmake.conf create mode 100644 mkspecs/wincewm60professional-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wincewm60professional-msvc2008/default_post.prf create mode 100644 mkspecs/wincewm60professional-msvc2008/qmake.conf create mode 100644 mkspecs/wincewm60professional-msvc2008/qplatformdefs.h create mode 100644 mkspecs/wincewm60standard-msvc2005/default_post.prf create mode 100644 mkspecs/wincewm60standard-msvc2005/qmake.conf create mode 100644 mkspecs/wincewm60standard-msvc2005/qplatformdefs.h create mode 100644 mkspecs/wincewm60standard-msvc2008/default_post.prf create mode 100644 mkspecs/wincewm60standard-msvc2008/qmake.conf create mode 100644 mkspecs/wincewm60standard-msvc2008/qplatformdefs.h create mode 100644 projects.pro create mode 100644 qmake/CHANGES create mode 100644 qmake/Makefile.unix create mode 100644 qmake/Makefile.win32 create mode 100644 qmake/Makefile.win32-g++ create mode 100644 qmake/Makefile.win32-g++-sh create mode 100644 qmake/cachekeys.h create mode 100644 qmake/generators/mac/pbuilder_pbx.cpp create mode 100644 qmake/generators/mac/pbuilder_pbx.h create mode 100644 qmake/generators/makefile.cpp create mode 100644 qmake/generators/makefile.h create mode 100644 qmake/generators/makefiledeps.cpp create mode 100644 qmake/generators/makefiledeps.h create mode 100644 qmake/generators/metamakefile.cpp create mode 100644 qmake/generators/metamakefile.h create mode 100644 qmake/generators/projectgenerator.cpp create mode 100644 qmake/generators/projectgenerator.h create mode 100644 qmake/generators/unix/unixmake.cpp create mode 100644 qmake/generators/unix/unixmake.h create mode 100644 qmake/generators/unix/unixmake2.cpp create mode 100644 qmake/generators/win32/borland_bmake.cpp create mode 100644 qmake/generators/win32/borland_bmake.h create mode 100644 qmake/generators/win32/mingw_make.cpp create mode 100644 qmake/generators/win32/mingw_make.h create mode 100644 qmake/generators/win32/msvc_dsp.cpp create mode 100644 qmake/generators/win32/msvc_dsp.h create mode 100644 qmake/generators/win32/msvc_nmake.cpp create mode 100644 qmake/generators/win32/msvc_nmake.h create mode 100644 qmake/generators/win32/msvc_objectmodel.cpp create mode 100644 qmake/generators/win32/msvc_objectmodel.h create mode 100644 qmake/generators/win32/msvc_vcproj.cpp create mode 100644 qmake/generators/win32/msvc_vcproj.h create mode 100644 qmake/generators/win32/winmakefile.cpp create mode 100644 qmake/generators/win32/winmakefile.h create mode 100644 qmake/generators/xmloutput.cpp create mode 100644 qmake/generators/xmloutput.h create mode 100644 qmake/main.cpp create mode 100644 qmake/meta.cpp create mode 100644 qmake/meta.h create mode 100644 qmake/option.cpp create mode 100644 qmake/option.h create mode 100644 qmake/project.cpp create mode 100644 qmake/project.h create mode 100644 qmake/property.cpp create mode 100644 qmake/property.h create mode 100644 qmake/qmake.pri create mode 100644 qmake/qmake.pro create mode 100644 qmake/qmake_pch.h create mode 100644 src/3rdparty/.gitattributes create mode 100644 src/3rdparty/Makefile create mode 100644 src/3rdparty/README create mode 100644 src/3rdparty/clucene/APACHE.license create mode 100644 src/3rdparty/clucene/AUTHORS create mode 100644 src/3rdparty/clucene/COPYING create mode 100644 src/3rdparty/clucene/ChangeLog create mode 100644 src/3rdparty/clucene/LGPL.license create mode 100644 src/3rdparty/clucene/README create mode 100644 src/3rdparty/clucene/src/CLucene.h create mode 100644 src/3rdparty/clucene/src/CLucene/CLBackwards.h create mode 100644 src/3rdparty/clucene/src/CLucene/CLConfig.h create mode 100644 src/3rdparty/clucene/src/CLucene/CLMonolithic.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/LuceneThreads.h create mode 100644 src/3rdparty/clucene/src/CLucene/StdHeader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/StdHeader.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/AnalysisHeader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/AnalysisHeader.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/Analyzers.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/Analyzers.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardAnalyzer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardAnalyzer.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizer.h create mode 100644 src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizerConstants.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/CompilerAcc.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/CompilerBcb.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/CompilerGcc.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/CompilerMsvc.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/PlatformMac.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/PlatformUnix.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/PlatformWin32.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/compiler.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/define_std.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/gunichartables.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/gunichartables.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_lltot.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tchar.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tcscasecmp.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tcslwr.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tcstod.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tcstoll.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_tprintf.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/repl_wchar.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/threadCSection.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/threadPthread.h create mode 100644 src/3rdparty/clucene/src/CLucene/config/threads.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/config/utf8.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/debug/condition.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/debug/condition.h create mode 100644 src/3rdparty/clucene/src/CLucene/debug/error.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/debug/error.h create mode 100644 src/3rdparty/clucene/src/CLucene/debug/lucenebase.h create mode 100644 src/3rdparty/clucene/src/CLucene/debug/mem.h create mode 100644 src/3rdparty/clucene/src/CLucene/debug/memtracking.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/document/DateField.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/document/DateField.h create mode 100644 src/3rdparty/clucene/src/CLucene/document/Document.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/document/Document.h create mode 100644 src/3rdparty/clucene/src/CLucene/document/Field.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/document/Field.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/CompoundFile.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/CompoundFile.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/DocumentWriter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/DocumentWriter.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldInfo.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldInfos.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldInfos.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldsReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldsReader.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldsWriter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/FieldsWriter.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexModifier.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexModifier.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexReader.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexWriter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/IndexWriter.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/MultiReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/MultiReader.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentHeader.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentInfos.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentInfos.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMergeInfo.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMergeInfo.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMergeQueue.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMergeQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMerger.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentMerger.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentTermDocs.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentTermEnum.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentTermEnum.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentTermPositions.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/SegmentTermVector.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/Term.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/Term.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfo.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfo.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfosReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfosReader.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfosWriter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermInfosWriter.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermVector.h create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermVectorReader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/TermVectorWriter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/index/Terms.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/Lexer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/Lexer.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/MultiFieldQueryParser.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/MultiFieldQueryParser.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryParser.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryParser.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryParserBase.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryParserBase.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryToken.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/QueryToken.h create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/TokenList.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/queryParser/TokenList.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/BooleanClause.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/BooleanQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/BooleanQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/BooleanScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/BooleanScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/CachingWrapperFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/CachingWrapperFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/ChainedFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/ChainedFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Compare.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/ConjunctionScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/ConjunctionScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/DateFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/DateFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/ExactPhraseScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/ExactPhraseScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Explanation.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/Explanation.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldCache.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldCache.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldCacheImpl.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldCacheImpl.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldDoc.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldDocSortedHitQueue.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldDocSortedHitQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldSortedHitQueue.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FieldSortedHitQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Filter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FilteredTermEnum.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/FuzzyQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/FuzzyQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/HitQueue.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/HitQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Hits.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/IndexSearcher.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/IndexSearcher.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/MultiSearcher.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/MultiSearcher.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/MultiTermQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/MultiTermQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhrasePositions.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhrasePositions.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhraseQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhraseQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhraseQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhraseScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/PhraseScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/PrefixQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/PrefixQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/QueryFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/QueryFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/RangeFilter.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/RangeFilter.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/RangeQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/RangeQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Scorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/SearchHeader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/SearchHeader.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Similarity.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/Similarity.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/SloppyPhraseScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/SloppyPhraseScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/Sort.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/Sort.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/TermQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/TermQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/TermScorer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/TermScorer.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/WildcardQuery.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/WildcardQuery.h create mode 100644 src/3rdparty/clucene/src/CLucene/search/WildcardTermEnum.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/search/WildcardTermEnum.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/Directory.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/FSDirectory.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/FSDirectory.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/IndexInput.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/IndexInput.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/IndexOutput.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/IndexOutput.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/InputStream.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/Lock.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/Lock.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/MMapInput.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/OutputStream.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/RAMDirectory.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/RAMDirectory.h create mode 100644 src/3rdparty/clucene/src/CLucene/store/TransactionalRAMDirectory.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/store/TransactionalRAMDirectory.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/Arrays.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/BitSet.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/BitSet.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/Equators.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/Equators.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/FastCharStream.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/FastCharStream.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/Misc.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/Misc.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/PriorityQueue.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/Reader.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/Reader.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/StringBuffer.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/StringBuffer.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/StringIntern.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/StringIntern.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/ThreadLocal.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/ThreadLocal.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/VoidList.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/VoidMap.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/bufferedstream.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/dirent.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/dirent.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp create mode 100644 src/3rdparty/clucene/src/CLucene/util/fileinputstream.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/inputstreambuffer.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/jstreamsconfig.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/streambase.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/stringreader.h create mode 100644 src/3rdparty/clucene/src/CLucene/util/subinputstream.h create mode 100644 src/3rdparty/des/des.cpp create mode 100644 src/3rdparty/easing/easing.cpp create mode 100644 src/3rdparty/easing/legal.qdoc create mode 100644 src/3rdparty/freetype/ChangeLog create mode 100644 src/3rdparty/freetype/ChangeLog.20 create mode 100644 src/3rdparty/freetype/ChangeLog.21 create mode 100644 src/3rdparty/freetype/ChangeLog.22 create mode 100644 src/3rdparty/freetype/Jamfile create mode 100644 src/3rdparty/freetype/Jamrules create mode 100644 src/3rdparty/freetype/Makefile create mode 100644 src/3rdparty/freetype/README create mode 100644 src/3rdparty/freetype/README.CVS create mode 100644 src/3rdparty/freetype/autogen.sh create mode 100644 src/3rdparty/freetype/builds/amiga/README create mode 100644 src/3rdparty/freetype/builds/amiga/include/freetype/config/ftconfig.h create mode 100644 src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h create mode 100644 src/3rdparty/freetype/builds/amiga/makefile create mode 100644 src/3rdparty/freetype/builds/amiga/makefile.os4 create mode 100644 src/3rdparty/freetype/builds/amiga/smakefile create mode 100644 src/3rdparty/freetype/builds/amiga/src/base/ftdebug.c create mode 100644 src/3rdparty/freetype/builds/amiga/src/base/ftsystem.c create mode 100644 src/3rdparty/freetype/builds/ansi/ansi-def.mk create mode 100644 src/3rdparty/freetype/builds/ansi/ansi.mk create mode 100644 src/3rdparty/freetype/builds/atari/ATARI.H create mode 100644 src/3rdparty/freetype/builds/atari/FNames.SIC create mode 100644 src/3rdparty/freetype/builds/atari/FREETYPE.PRJ create mode 100644 src/3rdparty/freetype/builds/atari/README.TXT create mode 100644 src/3rdparty/freetype/builds/beos/beos-def.mk create mode 100644 src/3rdparty/freetype/builds/beos/beos.mk create mode 100644 src/3rdparty/freetype/builds/beos/detect.mk create mode 100644 src/3rdparty/freetype/builds/compiler/ansi-cc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/bcc-dev.mk create mode 100644 src/3rdparty/freetype/builds/compiler/bcc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/emx.mk create mode 100644 src/3rdparty/freetype/builds/compiler/gcc-dev.mk create mode 100644 src/3rdparty/freetype/builds/compiler/gcc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/intelc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/unix-lcc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/visualage.mk create mode 100644 src/3rdparty/freetype/builds/compiler/visualc.mk create mode 100644 src/3rdparty/freetype/builds/compiler/watcom.mk create mode 100644 src/3rdparty/freetype/builds/compiler/win-lcc.mk create mode 100644 src/3rdparty/freetype/builds/detect.mk create mode 100644 src/3rdparty/freetype/builds/dos/detect.mk create mode 100644 src/3rdparty/freetype/builds/dos/dos-def.mk create mode 100644 src/3rdparty/freetype/builds/dos/dos-emx.mk create mode 100644 src/3rdparty/freetype/builds/dos/dos-gcc.mk create mode 100644 src/3rdparty/freetype/builds/dos/dos-wat.mk create mode 100644 src/3rdparty/freetype/builds/exports.mk create mode 100644 src/3rdparty/freetype/builds/freetype.mk create mode 100644 src/3rdparty/freetype/builds/link_dos.mk create mode 100644 src/3rdparty/freetype/builds/link_std.mk create mode 100644 src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt create mode 100644 src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt create mode 100644 src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt create mode 100644 src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt create mode 100644 src/3rdparty/freetype/builds/mac/README create mode 100755 src/3rdparty/freetype/builds/mac/ascii2mpw.py create mode 100644 src/3rdparty/freetype/builds/mac/ftlib.prj.xml create mode 100644 src/3rdparty/freetype/builds/mac/ftmac.c create mode 100644 src/3rdparty/freetype/builds/modules.mk create mode 100644 src/3rdparty/freetype/builds/newline create mode 100644 src/3rdparty/freetype/builds/os2/detect.mk create mode 100644 src/3rdparty/freetype/builds/os2/os2-def.mk create mode 100644 src/3rdparty/freetype/builds/os2/os2-dev.mk create mode 100644 src/3rdparty/freetype/builds/os2/os2-gcc.mk create mode 100644 src/3rdparty/freetype/builds/symbian/bld.inf create mode 100644 src/3rdparty/freetype/builds/symbian/freetype.mmp create mode 100644 src/3rdparty/freetype/builds/toplevel.mk create mode 100644 src/3rdparty/freetype/builds/unix/aclocal.m4 create mode 100755 src/3rdparty/freetype/builds/unix/config.guess create mode 100755 src/3rdparty/freetype/builds/unix/config.sub create mode 100755 src/3rdparty/freetype/builds/unix/configure create mode 100644 src/3rdparty/freetype/builds/unix/configure.ac create mode 100644 src/3rdparty/freetype/builds/unix/configure.raw create mode 100644 src/3rdparty/freetype/builds/unix/detect.mk create mode 100644 src/3rdparty/freetype/builds/unix/freetype-config.in create mode 100644 src/3rdparty/freetype/builds/unix/freetype2.in create mode 100644 src/3rdparty/freetype/builds/unix/freetype2.m4 create mode 100644 src/3rdparty/freetype/builds/unix/ft-munmap.m4 create mode 100644 src/3rdparty/freetype/builds/unix/ft2unix.h create mode 100644 src/3rdparty/freetype/builds/unix/ftconfig.h create mode 100644 src/3rdparty/freetype/builds/unix/ftconfig.in create mode 100644 src/3rdparty/freetype/builds/unix/ftsystem.c create mode 100755 src/3rdparty/freetype/builds/unix/install-sh create mode 100644 src/3rdparty/freetype/builds/unix/install.mk create mode 100755 src/3rdparty/freetype/builds/unix/ltmain.sh create mode 100755 src/3rdparty/freetype/builds/unix/mkinstalldirs create mode 100644 src/3rdparty/freetype/builds/unix/unix-cc.in create mode 100644 src/3rdparty/freetype/builds/unix/unix-def.in create mode 100644 src/3rdparty/freetype/builds/unix/unix-dev.mk create mode 100644 src/3rdparty/freetype/builds/unix/unix-lcc.mk create mode 100644 src/3rdparty/freetype/builds/unix/unix.mk create mode 100644 src/3rdparty/freetype/builds/unix/unixddef.mk create mode 100644 src/3rdparty/freetype/builds/vms/ftconfig.h create mode 100644 src/3rdparty/freetype/builds/vms/ftsystem.c create mode 100644 src/3rdparty/freetype/builds/win32/detect.mk create mode 100644 src/3rdparty/freetype/builds/win32/ftdebug.c create mode 100644 src/3rdparty/freetype/builds/win32/visualc/freetype.dsp create mode 100644 src/3rdparty/freetype/builds/win32/visualc/freetype.dsw create mode 100644 src/3rdparty/freetype/builds/win32/visualc/freetype.sln create mode 100644 src/3rdparty/freetype/builds/win32/visualc/freetype.vcproj create mode 100644 src/3rdparty/freetype/builds/win32/visualc/index.html create mode 100644 src/3rdparty/freetype/builds/win32/visualce/freetype.dsp create mode 100644 src/3rdparty/freetype/builds/win32/visualce/freetype.dsw create mode 100644 src/3rdparty/freetype/builds/win32/visualce/freetype.vcproj create mode 100644 src/3rdparty/freetype/builds/win32/visualce/index.html create mode 100644 src/3rdparty/freetype/builds/win32/w32-bcc.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-bccd.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-dev.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-gcc.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-icc.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-intl.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-lcc.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-mingw32.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-vcc.mk create mode 100644 src/3rdparty/freetype/builds/win32/w32-wat.mk create mode 100644 src/3rdparty/freetype/builds/win32/win32-def.mk create mode 100755 src/3rdparty/freetype/configure create mode 100644 src/3rdparty/freetype/devel/ft2build.h create mode 100644 src/3rdparty/freetype/devel/ftoption.h create mode 100644 src/3rdparty/freetype/docs/CHANGES create mode 100644 src/3rdparty/freetype/docs/CUSTOMIZE create mode 100644 src/3rdparty/freetype/docs/DEBUG create mode 100644 src/3rdparty/freetype/docs/FTL.TXT create mode 100644 src/3rdparty/freetype/docs/GPL.TXT create mode 100644 src/3rdparty/freetype/docs/INSTALL create mode 100644 src/3rdparty/freetype/docs/INSTALL.ANY create mode 100644 src/3rdparty/freetype/docs/INSTALL.CROSS create mode 100644 src/3rdparty/freetype/docs/INSTALL.GNU create mode 100644 src/3rdparty/freetype/docs/INSTALL.MAC create mode 100644 src/3rdparty/freetype/docs/INSTALL.UNIX create mode 100644 src/3rdparty/freetype/docs/INSTALL.VMS create mode 100644 src/3rdparty/freetype/docs/LICENSE.TXT create mode 100644 src/3rdparty/freetype/docs/MAKEPP create mode 100644 src/3rdparty/freetype/docs/PATENTS create mode 100644 src/3rdparty/freetype/docs/PROBLEMS create mode 100644 src/3rdparty/freetype/docs/TODO create mode 100644 src/3rdparty/freetype/docs/TRUETYPE create mode 100644 src/3rdparty/freetype/docs/UPGRADE.UNIX create mode 100644 src/3rdparty/freetype/docs/VERSION.DLL create mode 100644 src/3rdparty/freetype/docs/formats.txt create mode 100644 src/3rdparty/freetype/docs/raster.txt create mode 100644 src/3rdparty/freetype/docs/reference/README create mode 100644 src/3rdparty/freetype/docs/reference/ft2-base_interface.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-basic_types.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-computations.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-font_formats.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-gasp_table.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-glyph_management.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-gx_validation.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-gzip.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-incremental.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-index.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-list_processing.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-lzw.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-mac_specific.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-module_management.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-ot_validation.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-outline_processing.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-raster.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-sizes_management.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-system_interface.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-toc.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-type1_tables.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-user_allocation.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-version.html create mode 100644 src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html create mode 100644 src/3rdparty/freetype/docs/release create mode 100644 src/3rdparty/freetype/include/freetype/config/ftconfig.h create mode 100644 src/3rdparty/freetype/include/freetype/config/ftheader.h create mode 100644 src/3rdparty/freetype/include/freetype/config/ftmodule.h create mode 100644 src/3rdparty/freetype/include/freetype/config/ftoption.h create mode 100644 src/3rdparty/freetype/include/freetype/config/ftstdlib.h create mode 100644 src/3rdparty/freetype/include/freetype/freetype.h create mode 100644 src/3rdparty/freetype/include/freetype/ftbbox.h create mode 100644 src/3rdparty/freetype/include/freetype/ftbdf.h create mode 100644 src/3rdparty/freetype/include/freetype/ftbitmap.h create mode 100644 src/3rdparty/freetype/include/freetype/ftcache.h create mode 100644 src/3rdparty/freetype/include/freetype/ftchapters.h create mode 100644 src/3rdparty/freetype/include/freetype/ftcid.h create mode 100644 src/3rdparty/freetype/include/freetype/fterrdef.h create mode 100644 src/3rdparty/freetype/include/freetype/fterrors.h create mode 100644 src/3rdparty/freetype/include/freetype/ftgasp.h create mode 100644 src/3rdparty/freetype/include/freetype/ftglyph.h create mode 100644 src/3rdparty/freetype/include/freetype/ftgxval.h create mode 100644 src/3rdparty/freetype/include/freetype/ftgzip.h create mode 100644 src/3rdparty/freetype/include/freetype/ftimage.h create mode 100644 src/3rdparty/freetype/include/freetype/ftincrem.h create mode 100644 src/3rdparty/freetype/include/freetype/ftlcdfil.h create mode 100644 src/3rdparty/freetype/include/freetype/ftlist.h create mode 100644 src/3rdparty/freetype/include/freetype/ftlzw.h create mode 100644 src/3rdparty/freetype/include/freetype/ftmac.h create mode 100644 src/3rdparty/freetype/include/freetype/ftmm.h create mode 100644 src/3rdparty/freetype/include/freetype/ftmodapi.h create mode 100644 src/3rdparty/freetype/include/freetype/ftmoderr.h create mode 100644 src/3rdparty/freetype/include/freetype/ftotval.h create mode 100644 src/3rdparty/freetype/include/freetype/ftoutln.h create mode 100644 src/3rdparty/freetype/include/freetype/ftpfr.h create mode 100644 src/3rdparty/freetype/include/freetype/ftrender.h create mode 100644 src/3rdparty/freetype/include/freetype/ftsizes.h create mode 100644 src/3rdparty/freetype/include/freetype/ftsnames.h create mode 100644 src/3rdparty/freetype/include/freetype/ftstroke.h create mode 100644 src/3rdparty/freetype/include/freetype/ftsynth.h create mode 100644 src/3rdparty/freetype/include/freetype/ftsystem.h create mode 100644 src/3rdparty/freetype/include/freetype/fttrigon.h create mode 100644 src/3rdparty/freetype/include/freetype/fttypes.h create mode 100644 src/3rdparty/freetype/include/freetype/ftwinfnt.h create mode 100644 src/3rdparty/freetype/include/freetype/ftxf86.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/autohint.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftcalc.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftdebug.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftdriver.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftgloadr.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftmemory.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftobjs.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftrfork.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftserv.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftstream.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/fttrace.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/ftvalid.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/internal.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/pcftypes.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/psaux.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/pshints.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svbdf.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svcid.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svgldict.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svgxval.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svkern.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svmm.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svotval.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svpfr.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svpostnm.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svpscmap.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svsfnt.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svtteng.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svttglyf.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svwinfnt.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/services/svxf86nm.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/sfnt.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/t1types.h create mode 100644 src/3rdparty/freetype/include/freetype/internal/tttypes.h create mode 100644 src/3rdparty/freetype/include/freetype/t1tables.h create mode 100644 src/3rdparty/freetype/include/freetype/ttnameid.h create mode 100644 src/3rdparty/freetype/include/freetype/tttables.h create mode 100644 src/3rdparty/freetype/include/freetype/tttags.h create mode 100644 src/3rdparty/freetype/include/freetype/ttunpat.h create mode 100644 src/3rdparty/freetype/include/ft2build.h create mode 100644 src/3rdparty/freetype/modules.cfg create mode 100644 src/3rdparty/freetype/objs/README create mode 100644 src/3rdparty/freetype/src/Jamfile create mode 100644 src/3rdparty/freetype/src/autofit/Jamfile create mode 100644 src/3rdparty/freetype/src/autofit/afangles.c create mode 100644 src/3rdparty/freetype/src/autofit/afangles.h create mode 100644 src/3rdparty/freetype/src/autofit/afcjk.c create mode 100644 src/3rdparty/freetype/src/autofit/afcjk.h create mode 100644 src/3rdparty/freetype/src/autofit/afdummy.c create mode 100644 src/3rdparty/freetype/src/autofit/afdummy.h create mode 100644 src/3rdparty/freetype/src/autofit/aferrors.h create mode 100644 src/3rdparty/freetype/src/autofit/afglobal.c create mode 100644 src/3rdparty/freetype/src/autofit/afglobal.h create mode 100644 src/3rdparty/freetype/src/autofit/afhints.c create mode 100644 src/3rdparty/freetype/src/autofit/afhints.h create mode 100644 src/3rdparty/freetype/src/autofit/afindic.c create mode 100644 src/3rdparty/freetype/src/autofit/afindic.h create mode 100644 src/3rdparty/freetype/src/autofit/aflatin.c create mode 100644 src/3rdparty/freetype/src/autofit/aflatin.h create mode 100644 src/3rdparty/freetype/src/autofit/aflatin2.c create mode 100644 src/3rdparty/freetype/src/autofit/aflatin2.h create mode 100644 src/3rdparty/freetype/src/autofit/afloader.c create mode 100644 src/3rdparty/freetype/src/autofit/afloader.h create mode 100644 src/3rdparty/freetype/src/autofit/afmodule.c create mode 100644 src/3rdparty/freetype/src/autofit/afmodule.h create mode 100644 src/3rdparty/freetype/src/autofit/aftypes.h create mode 100644 src/3rdparty/freetype/src/autofit/afwarp.c create mode 100644 src/3rdparty/freetype/src/autofit/afwarp.h create mode 100644 src/3rdparty/freetype/src/autofit/autofit.c create mode 100644 src/3rdparty/freetype/src/autofit/module.mk create mode 100644 src/3rdparty/freetype/src/autofit/rules.mk create mode 100644 src/3rdparty/freetype/src/base/Jamfile create mode 100644 src/3rdparty/freetype/src/base/ftapi.c create mode 100644 src/3rdparty/freetype/src/base/ftbase.c create mode 100644 src/3rdparty/freetype/src/base/ftbbox.c create mode 100644 src/3rdparty/freetype/src/base/ftbdf.c create mode 100644 src/3rdparty/freetype/src/base/ftbitmap.c create mode 100644 src/3rdparty/freetype/src/base/ftcalc.c create mode 100644 src/3rdparty/freetype/src/base/ftcid.c create mode 100644 src/3rdparty/freetype/src/base/ftdbgmem.c create mode 100644 src/3rdparty/freetype/src/base/ftdebug.c create mode 100644 src/3rdparty/freetype/src/base/ftgasp.c create mode 100644 src/3rdparty/freetype/src/base/ftgloadr.c create mode 100644 src/3rdparty/freetype/src/base/ftglyph.c create mode 100644 src/3rdparty/freetype/src/base/ftgxval.c create mode 100644 src/3rdparty/freetype/src/base/ftinit.c create mode 100644 src/3rdparty/freetype/src/base/ftlcdfil.c create mode 100644 src/3rdparty/freetype/src/base/ftmac.c create mode 100644 src/3rdparty/freetype/src/base/ftmm.c create mode 100644 src/3rdparty/freetype/src/base/ftnames.c create mode 100644 src/3rdparty/freetype/src/base/ftobjs.c create mode 100644 src/3rdparty/freetype/src/base/ftotval.c create mode 100644 src/3rdparty/freetype/src/base/ftoutln.c create mode 100644 src/3rdparty/freetype/src/base/ftpatent.c create mode 100644 src/3rdparty/freetype/src/base/ftpfr.c create mode 100644 src/3rdparty/freetype/src/base/ftrfork.c create mode 100644 src/3rdparty/freetype/src/base/ftstream.c create mode 100644 src/3rdparty/freetype/src/base/ftstroke.c create mode 100644 src/3rdparty/freetype/src/base/ftsynth.c create mode 100644 src/3rdparty/freetype/src/base/ftsystem.c create mode 100644 src/3rdparty/freetype/src/base/fttrigon.c create mode 100644 src/3rdparty/freetype/src/base/fttype1.c create mode 100644 src/3rdparty/freetype/src/base/ftutil.c create mode 100644 src/3rdparty/freetype/src/base/ftwinfnt.c create mode 100644 src/3rdparty/freetype/src/base/ftxf86.c create mode 100644 src/3rdparty/freetype/src/base/rules.mk create mode 100644 src/3rdparty/freetype/src/bdf/Jamfile create mode 100644 src/3rdparty/freetype/src/bdf/README create mode 100644 src/3rdparty/freetype/src/bdf/bdf.c create mode 100644 src/3rdparty/freetype/src/bdf/bdf.h create mode 100644 src/3rdparty/freetype/src/bdf/bdfdrivr.c create mode 100644 src/3rdparty/freetype/src/bdf/bdfdrivr.h create mode 100644 src/3rdparty/freetype/src/bdf/bdferror.h create mode 100644 src/3rdparty/freetype/src/bdf/bdflib.c create mode 100644 src/3rdparty/freetype/src/bdf/module.mk create mode 100644 src/3rdparty/freetype/src/bdf/rules.mk create mode 100644 src/3rdparty/freetype/src/cache/Jamfile create mode 100644 src/3rdparty/freetype/src/cache/ftcache.c create mode 100644 src/3rdparty/freetype/src/cache/ftcbasic.c create mode 100644 src/3rdparty/freetype/src/cache/ftccache.c create mode 100644 src/3rdparty/freetype/src/cache/ftccache.h create mode 100644 src/3rdparty/freetype/src/cache/ftccback.h create mode 100644 src/3rdparty/freetype/src/cache/ftccmap.c create mode 100644 src/3rdparty/freetype/src/cache/ftcerror.h create mode 100644 src/3rdparty/freetype/src/cache/ftcglyph.c create mode 100644 src/3rdparty/freetype/src/cache/ftcglyph.h create mode 100644 src/3rdparty/freetype/src/cache/ftcimage.c create mode 100644 src/3rdparty/freetype/src/cache/ftcimage.h create mode 100644 src/3rdparty/freetype/src/cache/ftcmanag.c create mode 100644 src/3rdparty/freetype/src/cache/ftcmanag.h create mode 100644 src/3rdparty/freetype/src/cache/ftcmru.c create mode 100644 src/3rdparty/freetype/src/cache/ftcmru.h create mode 100644 src/3rdparty/freetype/src/cache/ftcsbits.c create mode 100644 src/3rdparty/freetype/src/cache/ftcsbits.h create mode 100644 src/3rdparty/freetype/src/cache/rules.mk create mode 100644 src/3rdparty/freetype/src/cff/Jamfile create mode 100644 src/3rdparty/freetype/src/cff/cff.c create mode 100644 src/3rdparty/freetype/src/cff/cffcmap.c create mode 100644 src/3rdparty/freetype/src/cff/cffcmap.h create mode 100644 src/3rdparty/freetype/src/cff/cffdrivr.c create mode 100644 src/3rdparty/freetype/src/cff/cffdrivr.h create mode 100644 src/3rdparty/freetype/src/cff/cfferrs.h create mode 100644 src/3rdparty/freetype/src/cff/cffgload.c create mode 100644 src/3rdparty/freetype/src/cff/cffgload.h create mode 100644 src/3rdparty/freetype/src/cff/cffload.c create mode 100644 src/3rdparty/freetype/src/cff/cffload.h create mode 100644 src/3rdparty/freetype/src/cff/cffobjs.c create mode 100644 src/3rdparty/freetype/src/cff/cffobjs.h create mode 100644 src/3rdparty/freetype/src/cff/cffparse.c create mode 100644 src/3rdparty/freetype/src/cff/cffparse.h create mode 100644 src/3rdparty/freetype/src/cff/cfftoken.h create mode 100644 src/3rdparty/freetype/src/cff/cfftypes.h create mode 100644 src/3rdparty/freetype/src/cff/module.mk create mode 100644 src/3rdparty/freetype/src/cff/rules.mk create mode 100644 src/3rdparty/freetype/src/cid/Jamfile create mode 100644 src/3rdparty/freetype/src/cid/ciderrs.h create mode 100644 src/3rdparty/freetype/src/cid/cidgload.c create mode 100644 src/3rdparty/freetype/src/cid/cidgload.h create mode 100644 src/3rdparty/freetype/src/cid/cidload.c create mode 100644 src/3rdparty/freetype/src/cid/cidload.h create mode 100644 src/3rdparty/freetype/src/cid/cidobjs.c create mode 100644 src/3rdparty/freetype/src/cid/cidobjs.h create mode 100644 src/3rdparty/freetype/src/cid/cidparse.c create mode 100644 src/3rdparty/freetype/src/cid/cidparse.h create mode 100644 src/3rdparty/freetype/src/cid/cidriver.c create mode 100644 src/3rdparty/freetype/src/cid/cidriver.h create mode 100644 src/3rdparty/freetype/src/cid/cidtoken.h create mode 100644 src/3rdparty/freetype/src/cid/module.mk create mode 100644 src/3rdparty/freetype/src/cid/rules.mk create mode 100644 src/3rdparty/freetype/src/cid/type1cid.c create mode 100644 src/3rdparty/freetype/src/gxvalid/Jamfile create mode 100644 src/3rdparty/freetype/src/gxvalid/README create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvalid.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvalid.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvbsln.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvcommn.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvcommn.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxverror.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvfeat.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvfeat.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvfgen.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvjust.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvkern.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvlcar.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmod.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmod.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort0.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort1.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort2.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort4.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmort5.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx.h create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx0.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx1.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx2.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx4.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvmorx5.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvopbd.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvprop.c create mode 100644 src/3rdparty/freetype/src/gxvalid/gxvtrak.c create mode 100644 src/3rdparty/freetype/src/gxvalid/module.mk create mode 100644 src/3rdparty/freetype/src/gxvalid/rules.mk create mode 100644 src/3rdparty/freetype/src/gzip/Jamfile create mode 100644 src/3rdparty/freetype/src/gzip/adler32.c create mode 100644 src/3rdparty/freetype/src/gzip/ftgzip.c create mode 100644 src/3rdparty/freetype/src/gzip/infblock.c create mode 100644 src/3rdparty/freetype/src/gzip/infblock.h create mode 100644 src/3rdparty/freetype/src/gzip/infcodes.c create mode 100644 src/3rdparty/freetype/src/gzip/infcodes.h create mode 100644 src/3rdparty/freetype/src/gzip/inffixed.h create mode 100644 src/3rdparty/freetype/src/gzip/inflate.c create mode 100644 src/3rdparty/freetype/src/gzip/inftrees.c create mode 100644 src/3rdparty/freetype/src/gzip/inftrees.h create mode 100644 src/3rdparty/freetype/src/gzip/infutil.c create mode 100644 src/3rdparty/freetype/src/gzip/infutil.h create mode 100644 src/3rdparty/freetype/src/gzip/rules.mk create mode 100644 src/3rdparty/freetype/src/gzip/zconf.h create mode 100644 src/3rdparty/freetype/src/gzip/zlib.h create mode 100644 src/3rdparty/freetype/src/gzip/zutil.c create mode 100644 src/3rdparty/freetype/src/gzip/zutil.h create mode 100644 src/3rdparty/freetype/src/lzw/Jamfile create mode 100644 src/3rdparty/freetype/src/lzw/ftlzw.c create mode 100644 src/3rdparty/freetype/src/lzw/ftzopen.c create mode 100644 src/3rdparty/freetype/src/lzw/ftzopen.h create mode 100644 src/3rdparty/freetype/src/lzw/rules.mk create mode 100644 src/3rdparty/freetype/src/otvalid/Jamfile create mode 100644 src/3rdparty/freetype/src/otvalid/module.mk create mode 100644 src/3rdparty/freetype/src/otvalid/otvalid.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvalid.h create mode 100644 src/3rdparty/freetype/src/otvalid/otvbase.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvcommn.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvcommn.h create mode 100644 src/3rdparty/freetype/src/otvalid/otverror.h create mode 100644 src/3rdparty/freetype/src/otvalid/otvgdef.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvgpos.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvgpos.h create mode 100644 src/3rdparty/freetype/src/otvalid/otvgsub.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvjstf.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvmath.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvmod.c create mode 100644 src/3rdparty/freetype/src/otvalid/otvmod.h create mode 100644 src/3rdparty/freetype/src/otvalid/rules.mk create mode 100644 src/3rdparty/freetype/src/pcf/Jamfile create mode 100644 src/3rdparty/freetype/src/pcf/README create mode 100644 src/3rdparty/freetype/src/pcf/module.mk create mode 100644 src/3rdparty/freetype/src/pcf/pcf.c create mode 100644 src/3rdparty/freetype/src/pcf/pcf.h create mode 100644 src/3rdparty/freetype/src/pcf/pcfdrivr.c create mode 100644 src/3rdparty/freetype/src/pcf/pcfdrivr.h create mode 100644 src/3rdparty/freetype/src/pcf/pcferror.h create mode 100644 src/3rdparty/freetype/src/pcf/pcfread.c create mode 100644 src/3rdparty/freetype/src/pcf/pcfread.h create mode 100644 src/3rdparty/freetype/src/pcf/pcfutil.c create mode 100644 src/3rdparty/freetype/src/pcf/pcfutil.h create mode 100644 src/3rdparty/freetype/src/pcf/rules.mk create mode 100644 src/3rdparty/freetype/src/pfr/Jamfile create mode 100644 src/3rdparty/freetype/src/pfr/module.mk create mode 100644 src/3rdparty/freetype/src/pfr/pfr.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrcmap.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrcmap.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrdrivr.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrdrivr.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrerror.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrgload.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrgload.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrload.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrload.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrobjs.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrobjs.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrsbit.c create mode 100644 src/3rdparty/freetype/src/pfr/pfrsbit.h create mode 100644 src/3rdparty/freetype/src/pfr/pfrtypes.h create mode 100644 src/3rdparty/freetype/src/pfr/rules.mk create mode 100644 src/3rdparty/freetype/src/psaux/Jamfile create mode 100644 src/3rdparty/freetype/src/psaux/afmparse.c create mode 100644 src/3rdparty/freetype/src/psaux/afmparse.h create mode 100644 src/3rdparty/freetype/src/psaux/module.mk create mode 100644 src/3rdparty/freetype/src/psaux/psaux.c create mode 100644 src/3rdparty/freetype/src/psaux/psauxerr.h create mode 100644 src/3rdparty/freetype/src/psaux/psauxmod.c create mode 100644 src/3rdparty/freetype/src/psaux/psauxmod.h create mode 100644 src/3rdparty/freetype/src/psaux/psconv.c create mode 100644 src/3rdparty/freetype/src/psaux/psconv.h create mode 100644 src/3rdparty/freetype/src/psaux/psobjs.c create mode 100644 src/3rdparty/freetype/src/psaux/psobjs.h create mode 100644 src/3rdparty/freetype/src/psaux/rules.mk create mode 100644 src/3rdparty/freetype/src/psaux/t1cmap.c create mode 100644 src/3rdparty/freetype/src/psaux/t1cmap.h create mode 100644 src/3rdparty/freetype/src/psaux/t1decode.c create mode 100644 src/3rdparty/freetype/src/psaux/t1decode.h create mode 100644 src/3rdparty/freetype/src/pshinter/Jamfile create mode 100644 src/3rdparty/freetype/src/pshinter/module.mk create mode 100644 src/3rdparty/freetype/src/pshinter/pshalgo.c create mode 100644 src/3rdparty/freetype/src/pshinter/pshalgo.h create mode 100644 src/3rdparty/freetype/src/pshinter/pshglob.c create mode 100644 src/3rdparty/freetype/src/pshinter/pshglob.h create mode 100644 src/3rdparty/freetype/src/pshinter/pshinter.c create mode 100644 src/3rdparty/freetype/src/pshinter/pshmod.c create mode 100644 src/3rdparty/freetype/src/pshinter/pshmod.h create mode 100644 src/3rdparty/freetype/src/pshinter/pshnterr.h create mode 100644 src/3rdparty/freetype/src/pshinter/pshrec.c create mode 100644 src/3rdparty/freetype/src/pshinter/pshrec.h create mode 100644 src/3rdparty/freetype/src/pshinter/rules.mk create mode 100644 src/3rdparty/freetype/src/psnames/Jamfile create mode 100644 src/3rdparty/freetype/src/psnames/module.mk create mode 100644 src/3rdparty/freetype/src/psnames/psmodule.c create mode 100644 src/3rdparty/freetype/src/psnames/psmodule.h create mode 100644 src/3rdparty/freetype/src/psnames/psnamerr.h create mode 100644 src/3rdparty/freetype/src/psnames/psnames.c create mode 100644 src/3rdparty/freetype/src/psnames/pstables.h create mode 100644 src/3rdparty/freetype/src/psnames/rules.mk create mode 100644 src/3rdparty/freetype/src/raster/Jamfile create mode 100644 src/3rdparty/freetype/src/raster/ftmisc.h create mode 100644 src/3rdparty/freetype/src/raster/ftraster.c create mode 100644 src/3rdparty/freetype/src/raster/ftraster.h create mode 100644 src/3rdparty/freetype/src/raster/ftrend1.c create mode 100644 src/3rdparty/freetype/src/raster/ftrend1.h create mode 100644 src/3rdparty/freetype/src/raster/module.mk create mode 100644 src/3rdparty/freetype/src/raster/raster.c create mode 100644 src/3rdparty/freetype/src/raster/rasterrs.h create mode 100644 src/3rdparty/freetype/src/raster/rules.mk create mode 100644 src/3rdparty/freetype/src/sfnt/Jamfile create mode 100644 src/3rdparty/freetype/src/sfnt/module.mk create mode 100644 src/3rdparty/freetype/src/sfnt/rules.mk create mode 100644 src/3rdparty/freetype/src/sfnt/sfdriver.c create mode 100644 src/3rdparty/freetype/src/sfnt/sfdriver.h create mode 100644 src/3rdparty/freetype/src/sfnt/sferrors.h create mode 100644 src/3rdparty/freetype/src/sfnt/sfnt.c create mode 100644 src/3rdparty/freetype/src/sfnt/sfobjs.c create mode 100644 src/3rdparty/freetype/src/sfnt/sfobjs.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttbdf.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttbdf.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttcmap.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttcmap.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttkern.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttkern.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttload.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttload.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttmtx.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttmtx.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttpost.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttpost.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttsbit.c create mode 100644 src/3rdparty/freetype/src/sfnt/ttsbit.h create mode 100644 src/3rdparty/freetype/src/sfnt/ttsbit0.c create mode 100644 src/3rdparty/freetype/src/smooth/Jamfile create mode 100644 src/3rdparty/freetype/src/smooth/ftgrays.c create mode 100644 src/3rdparty/freetype/src/smooth/ftgrays.h create mode 100644 src/3rdparty/freetype/src/smooth/ftsmerrs.h create mode 100644 src/3rdparty/freetype/src/smooth/ftsmooth.c create mode 100644 src/3rdparty/freetype/src/smooth/ftsmooth.h create mode 100644 src/3rdparty/freetype/src/smooth/module.mk create mode 100644 src/3rdparty/freetype/src/smooth/rules.mk create mode 100644 src/3rdparty/freetype/src/smooth/smooth.c create mode 100644 src/3rdparty/freetype/src/tools/Jamfile create mode 100644 src/3rdparty/freetype/src/tools/apinames.c create mode 100644 src/3rdparty/freetype/src/tools/cordic.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/content.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/docbeauty.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/docmaker.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/formatter.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/sources.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/tohtml.py create mode 100644 src/3rdparty/freetype/src/tools/docmaker/utils.py create mode 100644 src/3rdparty/freetype/src/tools/ftrandom/Makefile create mode 100644 src/3rdparty/freetype/src/tools/ftrandom/README create mode 100644 src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c create mode 100644 src/3rdparty/freetype/src/tools/glnames.py create mode 100644 src/3rdparty/freetype/src/tools/test_afm.c create mode 100644 src/3rdparty/freetype/src/tools/test_bbox.c create mode 100644 src/3rdparty/freetype/src/tools/test_trig.c create mode 100644 src/3rdparty/freetype/src/truetype/Jamfile create mode 100644 src/3rdparty/freetype/src/truetype/module.mk create mode 100644 src/3rdparty/freetype/src/truetype/rules.mk create mode 100644 src/3rdparty/freetype/src/truetype/truetype.c create mode 100644 src/3rdparty/freetype/src/truetype/ttdriver.c create mode 100644 src/3rdparty/freetype/src/truetype/ttdriver.h create mode 100644 src/3rdparty/freetype/src/truetype/tterrors.h create mode 100644 src/3rdparty/freetype/src/truetype/ttgload.c create mode 100644 src/3rdparty/freetype/src/truetype/ttgload.h create mode 100644 src/3rdparty/freetype/src/truetype/ttgxvar.c create mode 100644 src/3rdparty/freetype/src/truetype/ttgxvar.h create mode 100644 src/3rdparty/freetype/src/truetype/ttinterp.c create mode 100644 src/3rdparty/freetype/src/truetype/ttinterp.h create mode 100644 src/3rdparty/freetype/src/truetype/ttobjs.c create mode 100644 src/3rdparty/freetype/src/truetype/ttobjs.h create mode 100644 src/3rdparty/freetype/src/truetype/ttpload.c create mode 100644 src/3rdparty/freetype/src/truetype/ttpload.h create mode 100644 src/3rdparty/freetype/src/type1/Jamfile create mode 100644 src/3rdparty/freetype/src/type1/module.mk create mode 100644 src/3rdparty/freetype/src/type1/rules.mk create mode 100644 src/3rdparty/freetype/src/type1/t1afm.c create mode 100644 src/3rdparty/freetype/src/type1/t1afm.h create mode 100644 src/3rdparty/freetype/src/type1/t1driver.c create mode 100644 src/3rdparty/freetype/src/type1/t1driver.h create mode 100644 src/3rdparty/freetype/src/type1/t1errors.h create mode 100644 src/3rdparty/freetype/src/type1/t1gload.c create mode 100644 src/3rdparty/freetype/src/type1/t1gload.h create mode 100644 src/3rdparty/freetype/src/type1/t1load.c create mode 100644 src/3rdparty/freetype/src/type1/t1load.h create mode 100644 src/3rdparty/freetype/src/type1/t1objs.c create mode 100644 src/3rdparty/freetype/src/type1/t1objs.h create mode 100644 src/3rdparty/freetype/src/type1/t1parse.c create mode 100644 src/3rdparty/freetype/src/type1/t1parse.h create mode 100644 src/3rdparty/freetype/src/type1/t1tokens.h create mode 100644 src/3rdparty/freetype/src/type1/type1.c create mode 100644 src/3rdparty/freetype/src/type42/Jamfile create mode 100644 src/3rdparty/freetype/src/type42/module.mk create mode 100644 src/3rdparty/freetype/src/type42/rules.mk create mode 100644 src/3rdparty/freetype/src/type42/t42drivr.c create mode 100644 src/3rdparty/freetype/src/type42/t42drivr.h create mode 100644 src/3rdparty/freetype/src/type42/t42error.h create mode 100644 src/3rdparty/freetype/src/type42/t42objs.c create mode 100644 src/3rdparty/freetype/src/type42/t42objs.h create mode 100644 src/3rdparty/freetype/src/type42/t42parse.c create mode 100644 src/3rdparty/freetype/src/type42/t42parse.h create mode 100644 src/3rdparty/freetype/src/type42/t42types.h create mode 100644 src/3rdparty/freetype/src/type42/type42.c create mode 100644 src/3rdparty/freetype/src/winfonts/Jamfile create mode 100644 src/3rdparty/freetype/src/winfonts/fnterrs.h create mode 100644 src/3rdparty/freetype/src/winfonts/module.mk create mode 100644 src/3rdparty/freetype/src/winfonts/rules.mk create mode 100644 src/3rdparty/freetype/src/winfonts/winfnt.c create mode 100644 src/3rdparty/freetype/src/winfonts/winfnt.h create mode 100644 src/3rdparty/freetype/version.sed create mode 100644 src/3rdparty/freetype/vms_make.com create mode 100644 src/3rdparty/harfbuzz/.gitignore create mode 100644 src/3rdparty/harfbuzz/AUTHORS create mode 100644 src/3rdparty/harfbuzz/COPYING create mode 100644 src/3rdparty/harfbuzz/ChangeLog create mode 100644 src/3rdparty/harfbuzz/Makefile.am create mode 100644 src/3rdparty/harfbuzz/NEWS create mode 100644 src/3rdparty/harfbuzz/README create mode 100755 src/3rdparty/harfbuzz/autogen.sh create mode 100644 src/3rdparty/harfbuzz/configure.ac create mode 100644 src/3rdparty/harfbuzz/src/.gitignore create mode 100644 src/3rdparty/harfbuzz/src/Makefile.am create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-arabic.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-buffer-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-buffer.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-buffer.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-dump-main.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-dump.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-dump.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-external.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gdef.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gdef.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-global.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gpos.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gpos.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gsub.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-gsub.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-hangul.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-impl.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-impl.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-khmer.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-myanmar.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-open-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-open.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-open.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-shape.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-shaper-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-shaper.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-stream-private.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-stream.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-stream.h create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-thai.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-tibetan.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz.c create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz.h create mode 100644 src/3rdparty/harfbuzz/tests/Makefile.am create mode 100644 src/3rdparty/harfbuzz/tests/linebreaking/.gitignore create mode 100644 src/3rdparty/harfbuzz/tests/linebreaking/Makefile.am create mode 100644 src/3rdparty/harfbuzz/tests/linebreaking/harfbuzz-qt.cpp create mode 100644 src/3rdparty/harfbuzz/tests/linebreaking/main.cpp create mode 100644 src/3rdparty/harfbuzz/tests/shaping/.gitignore create mode 100644 src/3rdparty/harfbuzz/tests/shaping/Makefile.am create mode 100644 src/3rdparty/harfbuzz/tests/shaping/README create mode 100644 src/3rdparty/harfbuzz/tests/shaping/main.cpp create mode 100644 src/3rdparty/libjpeg/README create mode 100644 src/3rdparty/libjpeg/change.log create mode 100644 src/3rdparty/libjpeg/coderules.doc create mode 100644 src/3rdparty/libjpeg/filelist.doc create mode 100644 src/3rdparty/libjpeg/install.doc create mode 100644 src/3rdparty/libjpeg/jcapimin.c create mode 100644 src/3rdparty/libjpeg/jcapistd.c create mode 100644 src/3rdparty/libjpeg/jccoefct.c create mode 100644 src/3rdparty/libjpeg/jccolor.c create mode 100644 src/3rdparty/libjpeg/jcdctmgr.c create mode 100644 src/3rdparty/libjpeg/jchuff.c create mode 100644 src/3rdparty/libjpeg/jchuff.h create mode 100644 src/3rdparty/libjpeg/jcinit.c create mode 100644 src/3rdparty/libjpeg/jcmainct.c create mode 100644 src/3rdparty/libjpeg/jcmarker.c create mode 100644 src/3rdparty/libjpeg/jcmaster.c create mode 100644 src/3rdparty/libjpeg/jcomapi.c create mode 100644 src/3rdparty/libjpeg/jconfig.bcc create mode 100644 src/3rdparty/libjpeg/jconfig.cfg create mode 100644 src/3rdparty/libjpeg/jconfig.dj create mode 100644 src/3rdparty/libjpeg/jconfig.doc create mode 100644 src/3rdparty/libjpeg/jconfig.h create mode 100644 src/3rdparty/libjpeg/jconfig.mac create mode 100644 src/3rdparty/libjpeg/jconfig.manx create mode 100644 src/3rdparty/libjpeg/jconfig.mc6 create mode 100644 src/3rdparty/libjpeg/jconfig.sas create mode 100644 src/3rdparty/libjpeg/jconfig.st create mode 100644 src/3rdparty/libjpeg/jconfig.vc create mode 100644 src/3rdparty/libjpeg/jconfig.vms create mode 100644 src/3rdparty/libjpeg/jconfig.wat create mode 100644 src/3rdparty/libjpeg/jcparam.c create mode 100644 src/3rdparty/libjpeg/jcphuff.c create mode 100644 src/3rdparty/libjpeg/jcprepct.c create mode 100644 src/3rdparty/libjpeg/jcsample.c create mode 100644 src/3rdparty/libjpeg/jctrans.c create mode 100644 src/3rdparty/libjpeg/jdapimin.c create mode 100644 src/3rdparty/libjpeg/jdapistd.c create mode 100644 src/3rdparty/libjpeg/jdatadst.c create mode 100644 src/3rdparty/libjpeg/jdatasrc.c create mode 100644 src/3rdparty/libjpeg/jdcoefct.c create mode 100644 src/3rdparty/libjpeg/jdcolor.c create mode 100644 src/3rdparty/libjpeg/jdct.h create mode 100644 src/3rdparty/libjpeg/jddctmgr.c create mode 100644 src/3rdparty/libjpeg/jdhuff.c create mode 100644 src/3rdparty/libjpeg/jdhuff.h create mode 100644 src/3rdparty/libjpeg/jdinput.c create mode 100644 src/3rdparty/libjpeg/jdmainct.c create mode 100644 src/3rdparty/libjpeg/jdmarker.c create mode 100644 src/3rdparty/libjpeg/jdmaster.c create mode 100644 src/3rdparty/libjpeg/jdmerge.c create mode 100644 src/3rdparty/libjpeg/jdphuff.c create mode 100644 src/3rdparty/libjpeg/jdpostct.c create mode 100644 src/3rdparty/libjpeg/jdsample.c create mode 100644 src/3rdparty/libjpeg/jdtrans.c create mode 100644 src/3rdparty/libjpeg/jerror.c create mode 100644 src/3rdparty/libjpeg/jerror.h create mode 100644 src/3rdparty/libjpeg/jfdctflt.c create mode 100644 src/3rdparty/libjpeg/jfdctfst.c create mode 100644 src/3rdparty/libjpeg/jfdctint.c create mode 100644 src/3rdparty/libjpeg/jidctflt.c create mode 100644 src/3rdparty/libjpeg/jidctfst.c create mode 100644 src/3rdparty/libjpeg/jidctint.c create mode 100644 src/3rdparty/libjpeg/jidctred.c create mode 100644 src/3rdparty/libjpeg/jinclude.h create mode 100644 src/3rdparty/libjpeg/jmemmgr.c create mode 100644 src/3rdparty/libjpeg/jmemnobs.c create mode 100644 src/3rdparty/libjpeg/jmemsys.h create mode 100644 src/3rdparty/libjpeg/jmorecfg.h create mode 100644 src/3rdparty/libjpeg/jpegint.h create mode 100644 src/3rdparty/libjpeg/jpeglib.h create mode 100644 src/3rdparty/libjpeg/jquant1.c create mode 100644 src/3rdparty/libjpeg/jquant2.c create mode 100644 src/3rdparty/libjpeg/jutils.c create mode 100644 src/3rdparty/libjpeg/jversion.h create mode 100644 src/3rdparty/libjpeg/libjpeg.doc create mode 100644 src/3rdparty/libjpeg/makefile.ansi create mode 100644 src/3rdparty/libjpeg/makefile.bcc create mode 100644 src/3rdparty/libjpeg/makefile.cfg create mode 100644 src/3rdparty/libjpeg/makefile.dj create mode 100644 src/3rdparty/libjpeg/makefile.manx create mode 100644 src/3rdparty/libjpeg/makefile.mc6 create mode 100644 src/3rdparty/libjpeg/makefile.mms create mode 100644 src/3rdparty/libjpeg/makefile.sas create mode 100644 src/3rdparty/libjpeg/makefile.unix create mode 100644 src/3rdparty/libjpeg/makefile.vc create mode 100644 src/3rdparty/libjpeg/makefile.vms create mode 100644 src/3rdparty/libjpeg/makefile.wat create mode 100644 src/3rdparty/libjpeg/structure.doc create mode 100644 src/3rdparty/libjpeg/usage.doc create mode 100644 src/3rdparty/libjpeg/wizard.doc create mode 100644 src/3rdparty/libmng/CHANGES create mode 100644 src/3rdparty/libmng/LICENSE create mode 100644 src/3rdparty/libmng/README create mode 100644 src/3rdparty/libmng/README.autoconf create mode 100644 src/3rdparty/libmng/README.config create mode 100644 src/3rdparty/libmng/README.contrib create mode 100644 src/3rdparty/libmng/README.dll create mode 100644 src/3rdparty/libmng/README.examples create mode 100644 src/3rdparty/libmng/README.footprint create mode 100644 src/3rdparty/libmng/README.packaging create mode 100644 src/3rdparty/libmng/doc/Plan1.png create mode 100644 src/3rdparty/libmng/doc/Plan2.png create mode 100644 src/3rdparty/libmng/doc/doc.readme create mode 100644 src/3rdparty/libmng/doc/libmng.txt create mode 100644 src/3rdparty/libmng/doc/man/jng.5 create mode 100644 src/3rdparty/libmng/doc/man/libmng.3 create mode 100644 src/3rdparty/libmng/doc/man/mng.5 create mode 100644 src/3rdparty/libmng/doc/misc/magic.dif create mode 100644 src/3rdparty/libmng/doc/rpm/libmng-1.0.10-rhconf.patch create mode 100644 src/3rdparty/libmng/doc/rpm/libmng.spec create mode 100644 src/3rdparty/libmng/libmng.h create mode 100644 src/3rdparty/libmng/libmng_callback_xs.c create mode 100644 src/3rdparty/libmng/libmng_chunk_descr.c create mode 100644 src/3rdparty/libmng/libmng_chunk_descr.h create mode 100644 src/3rdparty/libmng/libmng_chunk_io.c create mode 100644 src/3rdparty/libmng/libmng_chunk_io.h create mode 100644 src/3rdparty/libmng/libmng_chunk_prc.c create mode 100644 src/3rdparty/libmng/libmng_chunk_prc.h create mode 100644 src/3rdparty/libmng/libmng_chunk_xs.c create mode 100644 src/3rdparty/libmng/libmng_chunks.h create mode 100644 src/3rdparty/libmng/libmng_cms.c create mode 100644 src/3rdparty/libmng/libmng_cms.h create mode 100644 src/3rdparty/libmng/libmng_conf.h create mode 100644 src/3rdparty/libmng/libmng_data.h create mode 100644 src/3rdparty/libmng/libmng_display.c create mode 100644 src/3rdparty/libmng/libmng_display.h create mode 100644 src/3rdparty/libmng/libmng_dither.c create mode 100644 src/3rdparty/libmng/libmng_dither.h create mode 100644 src/3rdparty/libmng/libmng_error.c create mode 100644 src/3rdparty/libmng/libmng_error.h create mode 100644 src/3rdparty/libmng/libmng_filter.c create mode 100644 src/3rdparty/libmng/libmng_filter.h create mode 100644 src/3rdparty/libmng/libmng_hlapi.c create mode 100644 src/3rdparty/libmng/libmng_jpeg.c create mode 100644 src/3rdparty/libmng/libmng_jpeg.h create mode 100644 src/3rdparty/libmng/libmng_memory.h create mode 100644 src/3rdparty/libmng/libmng_object_prc.c create mode 100644 src/3rdparty/libmng/libmng_object_prc.h create mode 100644 src/3rdparty/libmng/libmng_objects.h create mode 100644 src/3rdparty/libmng/libmng_pixels.c create mode 100644 src/3rdparty/libmng/libmng_pixels.h create mode 100644 src/3rdparty/libmng/libmng_prop_xs.c create mode 100644 src/3rdparty/libmng/libmng_read.c create mode 100644 src/3rdparty/libmng/libmng_read.h create mode 100644 src/3rdparty/libmng/libmng_trace.c create mode 100644 src/3rdparty/libmng/libmng_trace.h create mode 100644 src/3rdparty/libmng/libmng_types.h create mode 100644 src/3rdparty/libmng/libmng_write.c create mode 100644 src/3rdparty/libmng/libmng_write.h create mode 100644 src/3rdparty/libmng/libmng_zlib.c create mode 100644 src/3rdparty/libmng/libmng_zlib.h create mode 100644 src/3rdparty/libmng/makefiles/Makefile.am create mode 100644 src/3rdparty/libmng/makefiles/README create mode 100644 src/3rdparty/libmng/makefiles/configure.in create mode 100644 src/3rdparty/libmng/makefiles/makefile.bcb3 create mode 100644 src/3rdparty/libmng/makefiles/makefile.dj create mode 100644 src/3rdparty/libmng/makefiles/makefile.linux create mode 100644 src/3rdparty/libmng/makefiles/makefile.mingw create mode 100644 src/3rdparty/libmng/makefiles/makefile.mingwdll create mode 100644 src/3rdparty/libmng/makefiles/makefile.qnx create mode 100644 src/3rdparty/libmng/makefiles/makefile.unix create mode 100644 src/3rdparty/libmng/makefiles/makefile.vcwin32 create mode 100755 src/3rdparty/libmng/unmaintained/autogen.sh create mode 100644 src/3rdparty/libpng/ANNOUNCE create mode 100644 src/3rdparty/libpng/CHANGES create mode 100644 src/3rdparty/libpng/INSTALL create mode 100644 src/3rdparty/libpng/KNOWNBUG create mode 100644 src/3rdparty/libpng/LICENSE create mode 100644 src/3rdparty/libpng/README create mode 100644 src/3rdparty/libpng/TODO create mode 100644 src/3rdparty/libpng/Y2KINFO create mode 100755 src/3rdparty/libpng/configure create mode 100644 src/3rdparty/libpng/example.c create mode 100644 src/3rdparty/libpng/libpng-1.2.29.txt create mode 100644 src/3rdparty/libpng/libpng.3 create mode 100644 src/3rdparty/libpng/libpngpf.3 create mode 100644 src/3rdparty/libpng/png.5 create mode 100644 src/3rdparty/libpng/png.c create mode 100644 src/3rdparty/libpng/png.h create mode 100644 src/3rdparty/libpng/pngbar.jpg create mode 100644 src/3rdparty/libpng/pngbar.png create mode 100644 src/3rdparty/libpng/pngconf.h create mode 100644 src/3rdparty/libpng/pngerror.c create mode 100644 src/3rdparty/libpng/pnggccrd.c create mode 100644 src/3rdparty/libpng/pngget.c create mode 100644 src/3rdparty/libpng/pngmem.c create mode 100644 src/3rdparty/libpng/pngnow.png create mode 100644 src/3rdparty/libpng/pngpread.c create mode 100644 src/3rdparty/libpng/pngread.c create mode 100644 src/3rdparty/libpng/pngrio.c create mode 100644 src/3rdparty/libpng/pngrtran.c create mode 100644 src/3rdparty/libpng/pngrutil.c create mode 100644 src/3rdparty/libpng/pngset.c create mode 100644 src/3rdparty/libpng/pngtest.c create mode 100644 src/3rdparty/libpng/pngtest.png create mode 100644 src/3rdparty/libpng/pngtrans.c create mode 100644 src/3rdparty/libpng/pngvcrd.c create mode 100644 src/3rdparty/libpng/pngwio.c create mode 100644 src/3rdparty/libpng/pngwrite.c create mode 100644 src/3rdparty/libpng/pngwtran.c create mode 100644 src/3rdparty/libpng/pngwutil.c create mode 100644 src/3rdparty/libpng/projects/beos/x86-shared.proj create mode 100644 src/3rdparty/libpng/projects/beos/x86-shared.txt create mode 100644 src/3rdparty/libpng/projects/beos/x86-static.proj create mode 100644 src/3rdparty/libpng/projects/beos/x86-static.txt create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpng.bpf create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpng.bpg create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpng.bpr create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpng.cpp create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpng.readme.txt create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpngstat.bpf create mode 100644 src/3rdparty/libpng/projects/cbuilder5/libpngstat.bpr create mode 100644 src/3rdparty/libpng/projects/cbuilder5/zlib.readme.txt create mode 100644 src/3rdparty/libpng/projects/netware.txt create mode 100644 src/3rdparty/libpng/projects/visualc6/README.txt create mode 100644 src/3rdparty/libpng/projects/visualc6/libpng.dsp create mode 100644 src/3rdparty/libpng/projects/visualc6/libpng.dsw create mode 100644 src/3rdparty/libpng/projects/visualc6/pngtest.dsp create mode 100644 src/3rdparty/libpng/projects/visualc71/PRJ0041.mak create mode 100644 src/3rdparty/libpng/projects/visualc71/README.txt create mode 100644 src/3rdparty/libpng/projects/visualc71/README_zlib.txt create mode 100644 src/3rdparty/libpng/projects/visualc71/libpng.sln create mode 100644 src/3rdparty/libpng/projects/visualc71/libpng.vcproj create mode 100644 src/3rdparty/libpng/projects/visualc71/pngtest.vcproj create mode 100644 src/3rdparty/libpng/projects/visualc71/zlib.vcproj create mode 100644 src/3rdparty/libpng/projects/wince.txt create mode 100644 src/3rdparty/libpng/scripts/CMakeLists.txt create mode 100644 src/3rdparty/libpng/scripts/SCOPTIONS.ppc create mode 100644 src/3rdparty/libpng/scripts/descrip.mms create mode 100755 src/3rdparty/libpng/scripts/libpng-config-body.in create mode 100755 src/3rdparty/libpng/scripts/libpng-config-head.in create mode 100755 src/3rdparty/libpng/scripts/libpng-config.in create mode 100644 src/3rdparty/libpng/scripts/libpng.icc create mode 100644 src/3rdparty/libpng/scripts/libpng.pc-configure.in create mode 100644 src/3rdparty/libpng/scripts/libpng.pc.in create mode 100644 src/3rdparty/libpng/scripts/makefile.32sunu create mode 100644 src/3rdparty/libpng/scripts/makefile.64sunu create mode 100644 src/3rdparty/libpng/scripts/makefile.acorn create mode 100644 src/3rdparty/libpng/scripts/makefile.aix create mode 100644 src/3rdparty/libpng/scripts/makefile.amiga create mode 100644 src/3rdparty/libpng/scripts/makefile.atari create mode 100644 src/3rdparty/libpng/scripts/makefile.bc32 create mode 100644 src/3rdparty/libpng/scripts/makefile.beos create mode 100644 src/3rdparty/libpng/scripts/makefile.bor create mode 100644 src/3rdparty/libpng/scripts/makefile.cygwin create mode 100644 src/3rdparty/libpng/scripts/makefile.darwin create mode 100644 src/3rdparty/libpng/scripts/makefile.dec create mode 100644 src/3rdparty/libpng/scripts/makefile.dj2 create mode 100644 src/3rdparty/libpng/scripts/makefile.elf create mode 100644 src/3rdparty/libpng/scripts/makefile.freebsd create mode 100644 src/3rdparty/libpng/scripts/makefile.gcc create mode 100644 src/3rdparty/libpng/scripts/makefile.gcmmx create mode 100644 src/3rdparty/libpng/scripts/makefile.hp64 create mode 100644 src/3rdparty/libpng/scripts/makefile.hpgcc create mode 100644 src/3rdparty/libpng/scripts/makefile.hpux create mode 100644 src/3rdparty/libpng/scripts/makefile.ibmc create mode 100644 src/3rdparty/libpng/scripts/makefile.intel create mode 100644 src/3rdparty/libpng/scripts/makefile.knr create mode 100644 src/3rdparty/libpng/scripts/makefile.linux create mode 100644 src/3rdparty/libpng/scripts/makefile.mingw create mode 100644 src/3rdparty/libpng/scripts/makefile.mips create mode 100644 src/3rdparty/libpng/scripts/makefile.msc create mode 100644 src/3rdparty/libpng/scripts/makefile.ne12bsd create mode 100644 src/3rdparty/libpng/scripts/makefile.netbsd create mode 100644 src/3rdparty/libpng/scripts/makefile.nommx create mode 100644 src/3rdparty/libpng/scripts/makefile.openbsd create mode 100644 src/3rdparty/libpng/scripts/makefile.os2 create mode 100644 src/3rdparty/libpng/scripts/makefile.sco create mode 100644 src/3rdparty/libpng/scripts/makefile.sggcc create mode 100644 src/3rdparty/libpng/scripts/makefile.sgi create mode 100644 src/3rdparty/libpng/scripts/makefile.so9 create mode 100644 src/3rdparty/libpng/scripts/makefile.solaris create mode 100644 src/3rdparty/libpng/scripts/makefile.solaris-x86 create mode 100644 src/3rdparty/libpng/scripts/makefile.std create mode 100644 src/3rdparty/libpng/scripts/makefile.sunos create mode 100644 src/3rdparty/libpng/scripts/makefile.tc3 create mode 100644 src/3rdparty/libpng/scripts/makefile.vcawin32 create mode 100644 src/3rdparty/libpng/scripts/makefile.vcwin32 create mode 100644 src/3rdparty/libpng/scripts/makefile.watcom create mode 100644 src/3rdparty/libpng/scripts/makevms.com create mode 100644 src/3rdparty/libpng/scripts/pngos2.def create mode 100644 src/3rdparty/libpng/scripts/pngw32.def create mode 100644 src/3rdparty/libpng/scripts/pngw32.rc create mode 100644 src/3rdparty/libpng/scripts/smakefile.ppc create mode 100644 src/3rdparty/libtiff/COPYRIGHT create mode 100644 src/3rdparty/libtiff/ChangeLog create mode 100644 src/3rdparty/libtiff/HOWTO-RELEASE create mode 100644 src/3rdparty/libtiff/Makefile.am create mode 100644 src/3rdparty/libtiff/Makefile.in create mode 100644 src/3rdparty/libtiff/Makefile.vc create mode 100644 src/3rdparty/libtiff/README create mode 100644 src/3rdparty/libtiff/RELEASE-DATE create mode 100644 src/3rdparty/libtiff/SConstruct create mode 100644 src/3rdparty/libtiff/TODO create mode 100644 src/3rdparty/libtiff/VERSION create mode 100644 src/3rdparty/libtiff/aclocal.m4 create mode 100755 src/3rdparty/libtiff/autogen.sh create mode 100755 src/3rdparty/libtiff/config/compile create mode 100755 src/3rdparty/libtiff/config/config.guess create mode 100755 src/3rdparty/libtiff/config/config.sub create mode 100755 src/3rdparty/libtiff/config/depcomp create mode 100755 src/3rdparty/libtiff/config/install-sh create mode 100755 src/3rdparty/libtiff/config/ltmain.sh create mode 100755 src/3rdparty/libtiff/config/missing create mode 100755 src/3rdparty/libtiff/config/mkinstalldirs create mode 100755 src/3rdparty/libtiff/configure create mode 100644 src/3rdparty/libtiff/configure.ac create mode 100644 src/3rdparty/libtiff/html/Makefile.am create mode 100644 src/3rdparty/libtiff/html/Makefile.in create mode 100644 src/3rdparty/libtiff/html/TIFFTechNote2.html create mode 100644 src/3rdparty/libtiff/html/addingtags.html create mode 100644 src/3rdparty/libtiff/html/bugs.html create mode 100644 src/3rdparty/libtiff/html/build.html create mode 100644 src/3rdparty/libtiff/html/contrib.html create mode 100644 src/3rdparty/libtiff/html/document.html create mode 100644 src/3rdparty/libtiff/html/images.html create mode 100644 src/3rdparty/libtiff/html/images/Makefile.am create mode 100644 src/3rdparty/libtiff/html/images/Makefile.in create mode 100644 src/3rdparty/libtiff/html/images/back.gif create mode 100644 src/3rdparty/libtiff/html/images/bali.jpg create mode 100644 src/3rdparty/libtiff/html/images/cat.gif create mode 100644 src/3rdparty/libtiff/html/images/cover.jpg create mode 100644 src/3rdparty/libtiff/html/images/cramps.gif create mode 100644 src/3rdparty/libtiff/html/images/dave.gif create mode 100644 src/3rdparty/libtiff/html/images/info.gif create mode 100644 src/3rdparty/libtiff/html/images/jello.jpg create mode 100644 src/3rdparty/libtiff/html/images/jim.gif create mode 100644 src/3rdparty/libtiff/html/images/note.gif create mode 100644 src/3rdparty/libtiff/html/images/oxford.gif create mode 100644 src/3rdparty/libtiff/html/images/quad.jpg create mode 100644 src/3rdparty/libtiff/html/images/ring.gif create mode 100644 src/3rdparty/libtiff/html/images/smallliz.jpg create mode 100644 src/3rdparty/libtiff/html/images/strike.gif create mode 100644 src/3rdparty/libtiff/html/images/warning.gif create mode 100644 src/3rdparty/libtiff/html/index.html create mode 100644 src/3rdparty/libtiff/html/internals.html create mode 100644 src/3rdparty/libtiff/html/intro.html create mode 100644 src/3rdparty/libtiff/html/libtiff.html create mode 100644 src/3rdparty/libtiff/html/man/Makefile.am create mode 100644 src/3rdparty/libtiff/html/man/Makefile.in create mode 100644 src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFDataWidth.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFError.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFGetField.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFPrintDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFRGBAImage.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadEncodedTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBAImage.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBATile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRawStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRawTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadScanline.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFSetDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFSetField.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWarning.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteRawStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteRawTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteScanline.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFbuffer.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFmemory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/fax2ps.1.html create mode 100644 src/3rdparty/libtiff/html/man/fax2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/gif2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/index.html create mode 100644 src/3rdparty/libtiff/html/man/libtiff.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/pal2rgb.1.html create mode 100644 src/3rdparty/libtiff/html/man/ppm2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/ras2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/raw2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html create mode 100644 src/3rdparty/libtiff/html/man/sgi2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/thumbnail.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2bw.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2pdf.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2ps.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2rgba.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffcmp.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffcp.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffdither.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffdump.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffgt.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffinfo.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffmedian.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffset.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffsplit.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffsv.1.html create mode 100644 src/3rdparty/libtiff/html/misc.html create mode 100644 src/3rdparty/libtiff/html/support.html create mode 100644 src/3rdparty/libtiff/html/tools.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta007.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta016.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta018.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta024.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta028.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta029.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta031.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta032.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta033.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta034.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta035.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta036.html create mode 100644 src/3rdparty/libtiff/html/v3.5.1.html create mode 100644 src/3rdparty/libtiff/html/v3.5.2.html create mode 100644 src/3rdparty/libtiff/html/v3.5.3.html create mode 100644 src/3rdparty/libtiff/html/v3.5.4.html create mode 100644 src/3rdparty/libtiff/html/v3.5.5.html create mode 100644 src/3rdparty/libtiff/html/v3.5.6-beta.html create mode 100644 src/3rdparty/libtiff/html/v3.5.7.html create mode 100644 src/3rdparty/libtiff/html/v3.6.0.html create mode 100644 src/3rdparty/libtiff/html/v3.6.1.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0alpha.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0beta.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0beta2.html create mode 100644 src/3rdparty/libtiff/html/v3.7.1.html create mode 100644 src/3rdparty/libtiff/html/v3.7.2.html create mode 100644 src/3rdparty/libtiff/html/v3.7.3.html create mode 100644 src/3rdparty/libtiff/html/v3.7.4.html create mode 100644 src/3rdparty/libtiff/html/v3.8.0.html create mode 100644 src/3rdparty/libtiff/html/v3.8.1.html create mode 100644 src/3rdparty/libtiff/html/v3.8.2.html create mode 100644 src/3rdparty/libtiff/libtiff/Makefile.am create mode 100644 src/3rdparty/libtiff/libtiff/Makefile.in create mode 100644 src/3rdparty/libtiff/libtiff/Makefile.vc create mode 100644 src/3rdparty/libtiff/libtiff/SConstruct create mode 100644 src/3rdparty/libtiff/libtiff/libtiff.def create mode 100644 src/3rdparty/libtiff/libtiff/mkg3states.c create mode 100644 src/3rdparty/libtiff/libtiff/t4.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_acorn.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_apple.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_atari.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_aux.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_close.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_codec.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_color.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_compress.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.h.in create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.h.vc create mode 100644 src/3rdparty/libtiff/libtiff/tif_dir.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dir.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirinfo.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirread.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirwrite.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dumpmode.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_error.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_extension.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3sm.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_flush.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_getimage.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_jpeg.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_luv.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_lzw.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_msdos.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_next.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_ojpeg.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_open.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_packbits.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_pixarlog.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_predict.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_predict.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_print.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_read.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_stream.cxx create mode 100644 src/3rdparty/libtiff/libtiff/tif_strip.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_swab.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_thunder.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_tile.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_unix.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_version.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_warning.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_win3.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_win32.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_write.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_zip.c create mode 100644 src/3rdparty/libtiff/libtiff/tiff.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.h.in create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.h.vc create mode 100644 src/3rdparty/libtiff/libtiff/tiffio.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffio.hxx create mode 100644 src/3rdparty/libtiff/libtiff/tiffiop.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffvers.h create mode 100644 src/3rdparty/libtiff/libtiff/uvcode.h create mode 100644 src/3rdparty/libtiff/m4/acinclude.m4 create mode 100644 src/3rdparty/libtiff/m4/libtool.m4 create mode 100644 src/3rdparty/libtiff/m4/ltoptions.m4 create mode 100644 src/3rdparty/libtiff/m4/ltsugar.m4 create mode 100644 src/3rdparty/libtiff/m4/ltversion.m4 create mode 100644 src/3rdparty/libtiff/nmake.opt create mode 100644 src/3rdparty/libtiff/port/Makefile.am create mode 100644 src/3rdparty/libtiff/port/Makefile.in create mode 100644 src/3rdparty/libtiff/port/Makefile.vc create mode 100644 src/3rdparty/libtiff/port/dummy.c create mode 100644 src/3rdparty/libtiff/port/getopt.c create mode 100644 src/3rdparty/libtiff/port/lfind.c create mode 100644 src/3rdparty/libtiff/port/strcasecmp.c create mode 100644 src/3rdparty/libtiff/port/strtoul.c create mode 100644 src/3rdparty/libtiff/test/Makefile.am create mode 100644 src/3rdparty/libtiff/test/Makefile.in create mode 100644 src/3rdparty/libtiff/test/ascii_tag.c create mode 100644 src/3rdparty/libtiff/test/check_tag.c create mode 100644 src/3rdparty/libtiff/test/long_tag.c create mode 100644 src/3rdparty/libtiff/test/short_tag.c create mode 100644 src/3rdparty/libtiff/test/strip.c create mode 100644 src/3rdparty/libtiff/test/strip_rw.c create mode 100644 src/3rdparty/libtiff/test/test_arrays.c create mode 100644 src/3rdparty/libtiff/test/test_arrays.h create mode 100644 src/3rdparty/md4/md4.cpp create mode 100644 src/3rdparty/md4/md4.h create mode 100644 src/3rdparty/md5/md5.cpp create mode 100644 src/3rdparty/md5/md5.h create mode 100644 src/3rdparty/patches/freetype-2.3.5-config.patch create mode 100644 src/3rdparty/patches/freetype-2.3.6-ascii.patch create mode 100644 src/3rdparty/patches/libjpeg-6b-config.patch create mode 100644 src/3rdparty/patches/libmng-1.0.10-endless-loop.patch create mode 100644 src/3rdparty/patches/libpng-1.2.20-elf-visibility.patch create mode 100644 src/3rdparty/patches/libtiff-3.8.2-config.patch create mode 100644 src/3rdparty/patches/sqlite-3.5.6-config.patch create mode 100644 src/3rdparty/patches/sqlite-3.5.6-wince.patch create mode 100644 src/3rdparty/patches/zlib-1.2.3-elf-visibility.patch create mode 100644 src/3rdparty/phonon/CMakeLists.txt create mode 100644 src/3rdparty/phonon/COPYING.LIB create mode 100644 src/3rdparty/phonon/ds9/CMakeLists.txt create mode 100644 src/3rdparty/phonon/ds9/ConfigureChecks.cmake create mode 100644 src/3rdparty/phonon/ds9/abstractvideorenderer.cpp create mode 100644 src/3rdparty/phonon/ds9/abstractvideorenderer.h create mode 100644 src/3rdparty/phonon/ds9/audiooutput.cpp create mode 100644 src/3rdparty/phonon/ds9/audiooutput.h create mode 100644 src/3rdparty/phonon/ds9/backend.cpp create mode 100644 src/3rdparty/phonon/ds9/backend.h create mode 100644 src/3rdparty/phonon/ds9/backendnode.cpp create mode 100644 src/3rdparty/phonon/ds9/backendnode.h create mode 100644 src/3rdparty/phonon/ds9/compointer.h create mode 100644 src/3rdparty/phonon/ds9/ds9.desktop create mode 100644 src/3rdparty/phonon/ds9/effect.cpp create mode 100644 src/3rdparty/phonon/ds9/effect.h create mode 100644 src/3rdparty/phonon/ds9/fakesource.cpp create mode 100644 src/3rdparty/phonon/ds9/fakesource.h create mode 100644 src/3rdparty/phonon/ds9/iodevicereader.cpp create mode 100644 src/3rdparty/phonon/ds9/iodevicereader.h create mode 100644 src/3rdparty/phonon/ds9/lgpl-2.1.txt create mode 100644 src/3rdparty/phonon/ds9/lgpl-3.txt create mode 100644 src/3rdparty/phonon/ds9/mediagraph.cpp create mode 100644 src/3rdparty/phonon/ds9/mediagraph.h create mode 100644 src/3rdparty/phonon/ds9/mediaobject.cpp create mode 100644 src/3rdparty/phonon/ds9/mediaobject.h create mode 100644 src/3rdparty/phonon/ds9/phononds9_namespace.h create mode 100644 src/3rdparty/phonon/ds9/qasyncreader.cpp create mode 100644 src/3rdparty/phonon/ds9/qasyncreader.h create mode 100644 src/3rdparty/phonon/ds9/qaudiocdreader.cpp create mode 100644 src/3rdparty/phonon/ds9/qaudiocdreader.h create mode 100644 src/3rdparty/phonon/ds9/qbasefilter.cpp create mode 100644 src/3rdparty/phonon/ds9/qbasefilter.h create mode 100644 src/3rdparty/phonon/ds9/qmeminputpin.cpp create mode 100644 src/3rdparty/phonon/ds9/qmeminputpin.h create mode 100644 src/3rdparty/phonon/ds9/qpin.cpp create mode 100644 src/3rdparty/phonon/ds9/qpin.h create mode 100644 src/3rdparty/phonon/ds9/videorenderer_soft.cpp create mode 100644 src/3rdparty/phonon/ds9/videorenderer_soft.h create mode 100644 src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp create mode 100644 src/3rdparty/phonon/ds9/videorenderer_vmr9.h create mode 100644 src/3rdparty/phonon/ds9/videowidget.cpp create mode 100644 src/3rdparty/phonon/ds9/videowidget.h create mode 100644 src/3rdparty/phonon/ds9/volumeeffect.cpp create mode 100644 src/3rdparty/phonon/ds9/volumeeffect.h create mode 100644 src/3rdparty/phonon/gstreamer/CMakeLists.txt create mode 100644 src/3rdparty/phonon/gstreamer/ConfigureChecks.cmake create mode 100644 src/3rdparty/phonon/gstreamer/Messages.sh create mode 100644 src/3rdparty/phonon/gstreamer/abstractrenderer.cpp create mode 100644 src/3rdparty/phonon/gstreamer/abstractrenderer.h create mode 100644 src/3rdparty/phonon/gstreamer/alsasink2.c create mode 100644 src/3rdparty/phonon/gstreamer/alsasink2.h create mode 100644 src/3rdparty/phonon/gstreamer/artssink.cpp create mode 100644 src/3rdparty/phonon/gstreamer/artssink.h create mode 100644 src/3rdparty/phonon/gstreamer/audioeffect.cpp create mode 100644 src/3rdparty/phonon/gstreamer/audioeffect.h create mode 100644 src/3rdparty/phonon/gstreamer/audiooutput.cpp create mode 100644 src/3rdparty/phonon/gstreamer/audiooutput.h create mode 100644 src/3rdparty/phonon/gstreamer/backend.cpp create mode 100644 src/3rdparty/phonon/gstreamer/backend.h create mode 100644 src/3rdparty/phonon/gstreamer/common.h create mode 100644 src/3rdparty/phonon/gstreamer/devicemanager.cpp create mode 100644 src/3rdparty/phonon/gstreamer/devicemanager.h create mode 100644 src/3rdparty/phonon/gstreamer/effect.cpp create mode 100644 src/3rdparty/phonon/gstreamer/effect.h create mode 100644 src/3rdparty/phonon/gstreamer/effectmanager.cpp create mode 100644 src/3rdparty/phonon/gstreamer/effectmanager.h create mode 100644 src/3rdparty/phonon/gstreamer/glrenderer.cpp create mode 100644 src/3rdparty/phonon/gstreamer/glrenderer.h create mode 100644 src/3rdparty/phonon/gstreamer/gsthelper.cpp create mode 100644 src/3rdparty/phonon/gstreamer/gsthelper.h create mode 100644 src/3rdparty/phonon/gstreamer/gstreamer.desktop create mode 100644 src/3rdparty/phonon/gstreamer/lgpl-2.1.txt create mode 100644 src/3rdparty/phonon/gstreamer/lgpl-3.txt create mode 100644 src/3rdparty/phonon/gstreamer/medianode.cpp create mode 100644 src/3rdparty/phonon/gstreamer/medianode.h create mode 100644 src/3rdparty/phonon/gstreamer/medianodeevent.cpp create mode 100644 src/3rdparty/phonon/gstreamer/medianodeevent.h create mode 100644 src/3rdparty/phonon/gstreamer/mediaobject.cpp create mode 100644 src/3rdparty/phonon/gstreamer/mediaobject.h create mode 100644 src/3rdparty/phonon/gstreamer/message.cpp create mode 100644 src/3rdparty/phonon/gstreamer/message.h create mode 100644 src/3rdparty/phonon/gstreamer/phononsrc.cpp create mode 100644 src/3rdparty/phonon/gstreamer/phononsrc.h create mode 100644 src/3rdparty/phonon/gstreamer/qwidgetvideosink.cpp create mode 100644 src/3rdparty/phonon/gstreamer/qwidgetvideosink.h create mode 100644 src/3rdparty/phonon/gstreamer/streamreader.cpp create mode 100644 src/3rdparty/phonon/gstreamer/streamreader.h create mode 100644 src/3rdparty/phonon/gstreamer/videowidget.cpp create mode 100644 src/3rdparty/phonon/gstreamer/videowidget.h create mode 100644 src/3rdparty/phonon/gstreamer/volumefadereffect.cpp create mode 100644 src/3rdparty/phonon/gstreamer/volumefadereffect.h create mode 100644 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp create mode 100644 src/3rdparty/phonon/gstreamer/widgetrenderer.h create mode 100644 src/3rdparty/phonon/gstreamer/x11renderer.cpp create mode 100644 src/3rdparty/phonon/gstreamer/x11renderer.h create mode 100644 src/3rdparty/phonon/includes/CMakeLists.txt create mode 100644 src/3rdparty/phonon/includes/Phonon/AbstractAudioOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/AbstractMediaStream create mode 100644 src/3rdparty/phonon/includes/Phonon/AbstractVideoOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/AddonInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioDevice create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioDeviceEnumerator create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioOutputDevice create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioOutputDeviceModel create mode 100644 src/3rdparty/phonon/includes/Phonon/AudioOutputInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/BackendCapabilities create mode 100644 src/3rdparty/phonon/includes/Phonon/BackendInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/Effect create mode 100644 src/3rdparty/phonon/includes/Phonon/EffectDescription create mode 100644 src/3rdparty/phonon/includes/Phonon/EffectDescriptionModel create mode 100644 src/3rdparty/phonon/includes/Phonon/EffectInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/EffectParameter create mode 100644 src/3rdparty/phonon/includes/Phonon/EffectWidget create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/AbstractVideoDataOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/AudioDataOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/SnapshotInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/VideoDataOutput create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/VideoDataOutputInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/VideoFrame create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/VideoFrame2 create mode 100644 src/3rdparty/phonon/includes/Phonon/Experimental/Visualization create mode 100644 src/3rdparty/phonon/includes/Phonon/Global create mode 100644 src/3rdparty/phonon/includes/Phonon/MediaController create mode 100644 src/3rdparty/phonon/includes/Phonon/MediaNode create mode 100644 src/3rdparty/phonon/includes/Phonon/MediaObject create mode 100644 src/3rdparty/phonon/includes/Phonon/MediaObjectInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/MediaSource create mode 100644 src/3rdparty/phonon/includes/Phonon/ObjectDescription create mode 100644 src/3rdparty/phonon/includes/Phonon/ObjectDescriptionModel create mode 100644 src/3rdparty/phonon/includes/Phonon/Path create mode 100644 src/3rdparty/phonon/includes/Phonon/PlatformPlugin create mode 100644 src/3rdparty/phonon/includes/Phonon/SeekSlider create mode 100644 src/3rdparty/phonon/includes/Phonon/StreamInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/VideoPlayer create mode 100644 src/3rdparty/phonon/includes/Phonon/VideoWidget create mode 100644 src/3rdparty/phonon/includes/Phonon/VideoWidgetInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/VolumeFaderEffect create mode 100644 src/3rdparty/phonon/includes/Phonon/VolumeFaderInterface create mode 100644 src/3rdparty/phonon/includes/Phonon/VolumeSlider create mode 100644 src/3rdparty/phonon/phonon.pc.cmake create mode 100644 src/3rdparty/phonon/phonon/.krazy create mode 100644 src/3rdparty/phonon/phonon/BUGS create mode 100644 src/3rdparty/phonon/phonon/CMakeLists.txt create mode 100644 src/3rdparty/phonon/phonon/IDEAS create mode 100644 src/3rdparty/phonon/phonon/Messages.sh create mode 100644 src/3rdparty/phonon/phonon/TODO create mode 100644 src/3rdparty/phonon/phonon/abstractaudiooutput.cpp create mode 100644 src/3rdparty/phonon/phonon/abstractaudiooutput.h create mode 100644 src/3rdparty/phonon/phonon/abstractaudiooutput_p.cpp create mode 100644 src/3rdparty/phonon/phonon/abstractaudiooutput_p.h create mode 100644 src/3rdparty/phonon/phonon/abstractmediastream.cpp create mode 100644 src/3rdparty/phonon/phonon/abstractmediastream.h create mode 100644 src/3rdparty/phonon/phonon/abstractmediastream_p.h create mode 100644 src/3rdparty/phonon/phonon/abstractvideooutput.cpp create mode 100644 src/3rdparty/phonon/phonon/abstractvideooutput.h create mode 100644 src/3rdparty/phonon/phonon/abstractvideooutput_p.cpp create mode 100644 src/3rdparty/phonon/phonon/abstractvideooutput_p.h create mode 100644 src/3rdparty/phonon/phonon/addoninterface.h create mode 100644 src/3rdparty/phonon/phonon/audiooutput.cpp create mode 100644 src/3rdparty/phonon/phonon/audiooutput.h create mode 100644 src/3rdparty/phonon/phonon/audiooutput_p.h create mode 100644 src/3rdparty/phonon/phonon/audiooutputadaptor.cpp create mode 100644 src/3rdparty/phonon/phonon/audiooutputadaptor_p.h create mode 100644 src/3rdparty/phonon/phonon/audiooutputinterface.cpp create mode 100644 src/3rdparty/phonon/phonon/audiooutputinterface.h create mode 100644 src/3rdparty/phonon/phonon/backend.dox create mode 100644 src/3rdparty/phonon/phonon/backendcapabilities.cpp create mode 100644 src/3rdparty/phonon/phonon/backendcapabilities.h create mode 100644 src/3rdparty/phonon/phonon/backendcapabilities_p.h create mode 100644 src/3rdparty/phonon/phonon/backendinterface.h create mode 100644 src/3rdparty/phonon/phonon/effect.cpp create mode 100644 src/3rdparty/phonon/phonon/effect.h create mode 100644 src/3rdparty/phonon/phonon/effect_p.h create mode 100644 src/3rdparty/phonon/phonon/effectinterface.h create mode 100644 src/3rdparty/phonon/phonon/effectparameter.cpp create mode 100644 src/3rdparty/phonon/phonon/effectparameter.h create mode 100644 src/3rdparty/phonon/phonon/effectparameter_p.h create mode 100644 src/3rdparty/phonon/phonon/effectwidget.cpp create mode 100644 src/3rdparty/phonon/phonon/effectwidget.h create mode 100644 src/3rdparty/phonon/phonon/effectwidget_p.h create mode 100755 src/3rdparty/phonon/phonon/extractmethodcalls.rb create mode 100644 src/3rdparty/phonon/phonon/factory.cpp create mode 100644 src/3rdparty/phonon/phonon/factory_p.h create mode 100644 src/3rdparty/phonon/phonon/frontendinterface_p.h create mode 100644 src/3rdparty/phonon/phonon/globalconfig.cpp create mode 100644 src/3rdparty/phonon/phonon/globalconfig_p.h create mode 100644 src/3rdparty/phonon/phonon/globalstatic_p.h create mode 100644 src/3rdparty/phonon/phonon/iodevicestream.cpp create mode 100644 src/3rdparty/phonon/phonon/iodevicestream_p.h create mode 100644 src/3rdparty/phonon/phonon/mediacontroller.cpp create mode 100644 src/3rdparty/phonon/phonon/mediacontroller.h create mode 100644 src/3rdparty/phonon/phonon/medianode.cpp create mode 100644 src/3rdparty/phonon/phonon/medianode.h create mode 100644 src/3rdparty/phonon/phonon/medianode_p.h create mode 100644 src/3rdparty/phonon/phonon/medianodedestructionhandler_p.h create mode 100644 src/3rdparty/phonon/phonon/mediaobject.cpp create mode 100644 src/3rdparty/phonon/phonon/mediaobject.dox create mode 100644 src/3rdparty/phonon/phonon/mediaobject.h create mode 100644 src/3rdparty/phonon/phonon/mediaobject_p.h create mode 100644 src/3rdparty/phonon/phonon/mediaobjectinterface.h create mode 100644 src/3rdparty/phonon/phonon/mediasource.cpp create mode 100644 src/3rdparty/phonon/phonon/mediasource.h create mode 100644 src/3rdparty/phonon/phonon/mediasource_p.h create mode 100644 src/3rdparty/phonon/phonon/objectdescription.cpp create mode 100644 src/3rdparty/phonon/phonon/objectdescription.h create mode 100644 src/3rdparty/phonon/phonon/objectdescription_p.h create mode 100644 src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp create mode 100644 src/3rdparty/phonon/phonon/objectdescriptionmodel.h create mode 100644 src/3rdparty/phonon/phonon/objectdescriptionmodel_p.h create mode 100644 src/3rdparty/phonon/phonon/org.kde.Phonon.AudioOutput.xml create mode 100644 src/3rdparty/phonon/phonon/path.cpp create mode 100644 src/3rdparty/phonon/phonon/path.h create mode 100644 src/3rdparty/phonon/phonon/path_p.h create mode 100644 src/3rdparty/phonon/phonon/phonon_export.h create mode 100644 src/3rdparty/phonon/phonon/phonondefs.h create mode 100644 src/3rdparty/phonon/phonon/phonondefs_p.h create mode 100644 src/3rdparty/phonon/phonon/phononnamespace.cpp create mode 100644 src/3rdparty/phonon/phonon/phononnamespace.h create mode 100644 src/3rdparty/phonon/phonon/phononnamespace.h.in create mode 100644 src/3rdparty/phonon/phonon/phononnamespace_p.h create mode 100644 src/3rdparty/phonon/phonon/platform.cpp create mode 100644 src/3rdparty/phonon/phonon/platform_p.h create mode 100644 src/3rdparty/phonon/phonon/platformplugin.h create mode 100755 src/3rdparty/phonon/phonon/preprocessandextract.sh create mode 100644 src/3rdparty/phonon/phonon/qsettingsgroup_p.h create mode 100644 src/3rdparty/phonon/phonon/seekslider.cpp create mode 100644 src/3rdparty/phonon/phonon/seekslider.h create mode 100644 src/3rdparty/phonon/phonon/seekslider_p.h create mode 100644 src/3rdparty/phonon/phonon/stream-thoughts create mode 100644 src/3rdparty/phonon/phonon/streaminterface.cpp create mode 100644 src/3rdparty/phonon/phonon/streaminterface.h create mode 100644 src/3rdparty/phonon/phonon/streaminterface_p.h create mode 100644 src/3rdparty/phonon/phonon/videoplayer.cpp create mode 100644 src/3rdparty/phonon/phonon/videoplayer.h create mode 100644 src/3rdparty/phonon/phonon/videowidget.cpp create mode 100644 src/3rdparty/phonon/phonon/videowidget.h create mode 100644 src/3rdparty/phonon/phonon/videowidget_p.h create mode 100644 src/3rdparty/phonon/phonon/videowidgetinterface.h create mode 100644 src/3rdparty/phonon/phonon/volumefadereffect.cpp create mode 100644 src/3rdparty/phonon/phonon/volumefadereffect.h create mode 100644 src/3rdparty/phonon/phonon/volumefadereffect_p.h create mode 100644 src/3rdparty/phonon/phonon/volumefaderinterface.h create mode 100644 src/3rdparty/phonon/phonon/volumeslider.cpp create mode 100644 src/3rdparty/phonon/phonon/volumeslider.h create mode 100644 src/3rdparty/phonon/phonon/volumeslider_p.h create mode 100644 src/3rdparty/phonon/qt7/CMakeLists.txt create mode 100644 src/3rdparty/phonon/qt7/ConfigureChecks.cmake create mode 100644 src/3rdparty/phonon/qt7/audioconnection.h create mode 100644 src/3rdparty/phonon/qt7/audioconnection.mm create mode 100644 src/3rdparty/phonon/qt7/audiodevice.h create mode 100644 src/3rdparty/phonon/qt7/audiodevice.mm create mode 100644 src/3rdparty/phonon/qt7/audioeffects.h create mode 100644 src/3rdparty/phonon/qt7/audioeffects.mm create mode 100644 src/3rdparty/phonon/qt7/audiograph.h create mode 100644 src/3rdparty/phonon/qt7/audiograph.mm create mode 100644 src/3rdparty/phonon/qt7/audiomixer.h create mode 100644 src/3rdparty/phonon/qt7/audiomixer.mm create mode 100644 src/3rdparty/phonon/qt7/audionode.h create mode 100644 src/3rdparty/phonon/qt7/audionode.mm create mode 100644 src/3rdparty/phonon/qt7/audiooutput.h create mode 100644 src/3rdparty/phonon/qt7/audiooutput.mm create mode 100644 src/3rdparty/phonon/qt7/audiopartoutput.h create mode 100644 src/3rdparty/phonon/qt7/audiopartoutput.mm create mode 100644 src/3rdparty/phonon/qt7/audiosplitter.h create mode 100644 src/3rdparty/phonon/qt7/audiosplitter.mm create mode 100644 src/3rdparty/phonon/qt7/backend.h create mode 100644 src/3rdparty/phonon/qt7/backend.mm create mode 100644 src/3rdparty/phonon/qt7/backendheader.h create mode 100644 src/3rdparty/phonon/qt7/backendheader.mm create mode 100644 src/3rdparty/phonon/qt7/backendinfo.h create mode 100644 src/3rdparty/phonon/qt7/backendinfo.mm create mode 100644 src/3rdparty/phonon/qt7/lgpl-2.1.txt create mode 100644 src/3rdparty/phonon/qt7/lgpl-3.txt create mode 100644 src/3rdparty/phonon/qt7/medianode.h create mode 100644 src/3rdparty/phonon/qt7/medianode.mm create mode 100644 src/3rdparty/phonon/qt7/medianodeevent.h create mode 100644 src/3rdparty/phonon/qt7/medianodeevent.mm create mode 100644 src/3rdparty/phonon/qt7/medianodevideopart.h create mode 100644 src/3rdparty/phonon/qt7/medianodevideopart.mm create mode 100644 src/3rdparty/phonon/qt7/mediaobject.h create mode 100644 src/3rdparty/phonon/qt7/mediaobject.mm create mode 100644 src/3rdparty/phonon/qt7/mediaobjectaudionode.h create mode 100644 src/3rdparty/phonon/qt7/mediaobjectaudionode.mm create mode 100644 src/3rdparty/phonon/qt7/quicktimeaudioplayer.h create mode 100644 src/3rdparty/phonon/qt7/quicktimeaudioplayer.mm create mode 100644 src/3rdparty/phonon/qt7/quicktimemetadata.h create mode 100644 src/3rdparty/phonon/qt7/quicktimemetadata.mm create mode 100644 src/3rdparty/phonon/qt7/quicktimestreamreader.h create mode 100644 src/3rdparty/phonon/qt7/quicktimestreamreader.mm create mode 100644 src/3rdparty/phonon/qt7/quicktimevideoplayer.h create mode 100644 src/3rdparty/phonon/qt7/quicktimevideoplayer.mm create mode 100644 src/3rdparty/phonon/qt7/videoeffect.h create mode 100644 src/3rdparty/phonon/qt7/videoeffect.mm create mode 100644 src/3rdparty/phonon/qt7/videoframe.h create mode 100644 src/3rdparty/phonon/qt7/videoframe.mm create mode 100644 src/3rdparty/phonon/qt7/videowidget.h create mode 100644 src/3rdparty/phonon/qt7/videowidget.mm create mode 100644 src/3rdparty/phonon/waveout/audiooutput.cpp create mode 100644 src/3rdparty/phonon/waveout/audiooutput.h create mode 100644 src/3rdparty/phonon/waveout/backend.cpp create mode 100644 src/3rdparty/phonon/waveout/backend.h create mode 100644 src/3rdparty/phonon/waveout/mediaobject.cpp create mode 100644 src/3rdparty/phonon/waveout/mediaobject.h create mode 100644 src/3rdparty/ptmalloc/COPYRIGHT create mode 100644 src/3rdparty/ptmalloc/ChangeLog create mode 100644 src/3rdparty/ptmalloc/Makefile create mode 100644 src/3rdparty/ptmalloc/README create mode 100644 src/3rdparty/ptmalloc/lran2.h create mode 100644 src/3rdparty/ptmalloc/malloc-2.8.3.h create mode 100644 src/3rdparty/ptmalloc/malloc-private.h create mode 100644 src/3rdparty/ptmalloc/malloc.c create mode 100644 src/3rdparty/ptmalloc/ptmalloc3.c create mode 100644 src/3rdparty/ptmalloc/sysdeps/generic/atomic.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/generic/malloc-machine.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/generic/thread-st.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/pthread/malloc-machine.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/pthread/thread-st.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/solaris/malloc-machine.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/solaris/thread-st.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/sproc/malloc-machine.h create mode 100644 src/3rdparty/ptmalloc/sysdeps/sproc/thread-st.h create mode 100644 src/3rdparty/sha1/sha1.cpp create mode 100644 src/3rdparty/sqlite/shell.c create mode 100644 src/3rdparty/sqlite/sqlite3.c create mode 100644 src/3rdparty/sqlite/sqlite3.h create mode 100644 src/3rdparty/webkit/ChangeLog create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/APICast.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSBase.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSBasePrivate.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackFunction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSProfilerPrivate.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSProfilerPrivate.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSRetainPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRefBSTR.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRefBSTR.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JSValueRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JavaScript.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/JavaScriptCore.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/OpaqueJSString.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/API/WebKitAvailability.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/AUTHORS create mode 100644 src/3rdparty/webkit/JavaScriptCore/COPYING.LIB create mode 100644 src/3rdparty/webkit/JavaScriptCore/ChangeLog create mode 100644 src/3rdparty/webkit/JavaScriptCore/ChangeLog-2002-12-03 create mode 100644 src/3rdparty/webkit/JavaScriptCore/ChangeLog-2003-10-25 create mode 100644 src/3rdparty/webkit/JavaScriptCore/ChangeLog-2007-10-14 create mode 100644 src/3rdparty/webkit/JavaScriptCore/ChangeLog-2008-08-10 create mode 100644 src/3rdparty/webkit/JavaScriptCore/DerivedSources.make create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/APICast.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSBase.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSContextRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSObjectRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSRetainPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRefCF.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSValueRef.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScript.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScriptCore.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/OpaqueJSString.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore/WebKitAvailability.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/Info.plist create mode 100644 src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.order create mode 100644 src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri create mode 100644 src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro create mode 100644 src/3rdparty/webkit/JavaScriptCore/JavaScriptCorePrefix.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/THANKS create mode 100644 src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/EvalCodeCache.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/Instruction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/JumpTable.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/JumpTable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/StructureStubInfo.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecode/StructureStubInfo.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/Label.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/LabelScope.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/bytecompiler/SegmentedVector.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/config.h create mode 100755 src/3rdparty/webkit/JavaScriptCore/create_hash_table create mode 100644 src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.h create mode 100755 src/3rdparty/webkit/JavaScriptCore/docs/make-bytecode-docs.pl create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/generated/chartables.c create mode 100644 src/3rdparty/webkit/JavaScriptCore/headers.pri create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/Register.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocatorWin.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JIT.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JITArithmetic.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/jsc.cpp create mode 100755 src/3rdparty/webkit/JavaScriptCore/make-generated-sources.sh create mode 100644 src/3rdparty/webkit/JavaScriptCore/os-win32/stdbool.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/os-win32/stdint.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/os-wince/ce_time.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/os-wince/ce_time.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Keywords.table create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Lexer.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/NodeInfo.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Parser.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/Parser.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/ResultType.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/SourceCode.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/parser/SourceProvider.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/AUTHORS create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/COPYING create mode 100755 src/3rdparty/webkit/JavaScriptCore/pcre/dftables create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre.pri create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_compile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_internal.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_tables.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_ucp_searchfuncs.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/pcre_xclass.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/ucpinternal.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/pcre/ucptable.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/CallIdentifier.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/HeavyProfile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/HeavyProfile.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/Profile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/Profile.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfileGenerator.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfileGenerator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfileNode.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfileNode.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfilerServer.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/ProfilerServer.mm create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/TreeProfile.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/profiler/TreeProfile.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Arguments.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ByteArray.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ByteArray.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/CallData.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/CallData.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ClassInfo.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/CollectorHeapIterator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Completion.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Completion.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateMath.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DateMath.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Error.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Error.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ExceptionHelpers.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ExceptionHelpers.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/GetterSetter.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/GetterSetter.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/InitializeThreading.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/InitializeThreading.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSImmediate.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSImmediate.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSNotAnObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSNotAnObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSNumberCell.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSNumberCell.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSStaticScopeObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSStaticScopeObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSString.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSString.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSType.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSValue.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSValue.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Operations.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Operations.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PropertyMapHashTable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PropertySlot.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PropertySlot.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/PutPropertySlot.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpMatchesArray.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChainMark.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StructureChain.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/StructureTransitionTable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/SymbolTable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Tracing.d create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/Tracing.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/TypeInfo.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/runtime/UString.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/CharacterClass.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/CharacterClass.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/CharacterClassConstructor.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/CharacterClassConstructor.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/Escapes.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/Quantifier.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WREC.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WREC.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECFunctors.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECFunctors.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECGenerator.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECGenerator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECParser.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wrec/WRECParser.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ASCIICType.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/AVLTree.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/AlwaysInline.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Deque.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/DisallowCType.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Forward.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/GetPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashCountedSet.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashFunctions.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashIterators.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashTable.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashTable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/HashTraits.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ListHashSet.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ListRefPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/MallocZoneSupport.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/NotFound.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/PassRefPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RefCountedLeakCounter.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RefCountedLeakCounter.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/RetainPtr.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/TCPackedCache.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/TCPageMap.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/TCSpinLock.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/TCSystemAlloc.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/TCSystemAlloc.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecificWin.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingGtk.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingNone.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingQt.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/UnusedParam.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/VectorTraits.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/qt/MainThreadQt.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/CollatorDefault.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/UTF8.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/UTF8.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Unicode.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h create mode 100644 src/3rdparty/webkit/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h create mode 100644 src/3rdparty/webkit/VERSION create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2002-12-03 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2003-10-25 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2005-08-23 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2005-12-19 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2006-05-10 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2006-12-31 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2007-10-14 create mode 100644 src/3rdparty/webkit/WebCore/ChangeLog-2008-08-10 create mode 100644 src/3rdparty/webkit/WebCore/DerivedSources.cpp create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/debugger/Debugger.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/debugger/DebuggerCallFrame.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/interpreter/CallFrame.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/interpreter/Interpreter.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/masm/X86Assembler.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/parser/Parser.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/parser/SourceCode.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/parser/SourceProvider.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/pcre/pcre.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/profiler/Profile.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/profiler/ProfileNode.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/profiler/Profiler.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/ArgList.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/ArrayPrototype.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/BooleanObject.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/ByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/CallData.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Collector.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/CollectorHeapIterator.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Completion.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/ConstructData.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/DateInstance.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Error.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/FunctionConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/FunctionPrototype.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Identifier.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/InitializeThreading.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/InternalFunction.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSArray.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSByteArray.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSFunction.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSGlobalData.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSGlobalObject.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSLock.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSNumberCell.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSObject.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSString.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/JSValue.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Lookup.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/ObjectPrototype.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Operations.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/PropertyMap.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/PropertyNameArray.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Protect.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/PrototypeFunction.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/StringObject.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/StringPrototype.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/Structure.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/SymbolTable.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime/UString.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wrec/WREC.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/ASCIICType.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/AlwaysInline.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Assertions.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Deque.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/DisallowCType.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/FastMalloc.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Forward.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/GetPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashCountedSet.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashFunctions.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashMap.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashSet.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashTable.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/HashTraits.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/ListHashSet.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/ListRefPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Locker.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/MainThread.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/MathExtras.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/MessageQueue.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Noncopyable.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/NotFound.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/OwnArrayPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/OwnPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/PassRefPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Platform.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/RandomNumber.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/RefCounted.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/RefCountedLeakCounter.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/RefPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/RetainPtr.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/StdLibExtras.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/StringExtras.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/ThreadSpecific.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Threading.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/UnusedParam.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/Vector.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/VectorTraits.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/dtoa.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode/Collator.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode/UTF8.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode/Unicode.h create mode 100644 src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h create mode 100644 src/3rdparty/webkit/WebCore/Info.plist create mode 100644 src/3rdparty/webkit/WebCore/LICENSE-APPLE create mode 100644 src/3rdparty/webkit/WebCore/LICENSE-LGPL-2 create mode 100644 src/3rdparty/webkit/WebCore/LICENSE-LGPL-2.1 create mode 100644 src/3rdparty/webkit/WebCore/Resources/aliasCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/cellCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/contextMenuCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/copyCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/crossHairCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/deleteButton.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/deleteButton.tiff create mode 100644 src/3rdparty/webkit/WebCore/Resources/deleteButtonPressed.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/deleteButtonPressed.tiff create mode 100644 src/3rdparty/webkit/WebCore/Resources/eastResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/eastWestResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/helpCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/linkCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/missingImage.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/missingImage.tiff create mode 100644 src/3rdparty/webkit/WebCore/Resources/moveCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/noDropCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/noneCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northEastResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northEastSouthWestResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northSouthResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northWestResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/northWestSouthEastResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/notAllowedCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/nullPlugin.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/progressCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/southEastResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/southResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/southWestResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/textAreaResizeCorner.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/textAreaResizeCorner.tiff create mode 100644 src/3rdparty/webkit/WebCore/Resources/urlIcon.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/verticalTextCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/waitCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/westResizeCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/zoomInCursor.png create mode 100644 src/3rdparty/webkit/WebCore/Resources/zoomOutCursor.png create mode 100644 src/3rdparty/webkit/WebCore/WebCore.DashboardSupport.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.JNI.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.LP64.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.NPAPI.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.SVG.Animation.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.SVG.Filters.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.SVG.ForeignObject.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.SVG.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.Tiger.exp create mode 100644 src/3rdparty/webkit/WebCore/WebCore.order create mode 100644 src/3rdparty/webkit/WebCore/WebCore.pro create mode 100644 src/3rdparty/webkit/WebCore/WebCore.qrc create mode 100644 src/3rdparty/webkit/WebCore/WebCorePrefix.cpp create mode 100644 src/3rdparty/webkit/WebCore/WebCorePrefix.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/DOMTimer.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/DOMTimer.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/GCController.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCSSStyleDeclarationCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSClipboardCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSConsoleCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMStringListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDatabaseCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSDocumentFragmentCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventTargetBase.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSEventTargetNodeCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSGeolocationCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAppletElementCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLEmbedElementCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLInputElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLInputElementCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLObjectElementCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHTMLSelectElementCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHistoryCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSHistoryCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSLocationCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSLocationCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSMimeTypeArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNavigatorCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSNodeListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSPluginArrayCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSPluginCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSPluginElementFunctions.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSPluginElementFunctions.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSQLTransactionCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGLengthCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPODTypeWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSStorageCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSStorageCustom.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetListCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorCustom.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedPageData.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedPageData.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCallFrame.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCallFrame.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCallStack.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptCallStack.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerGtk.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerWx.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptInstance.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptString.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp create mode 100644 src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/IDLParser.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/IDLStructure.pm create mode 100644 src/3rdparty/webkit/WebCore/bindings/scripts/InFilesParser.pm create mode 100755 src/3rdparty/webkit/WebCore/bindings/scripts/generate-bindings.pl create mode 100644 src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/NP_jsobject.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_class.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_instance.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_runtime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/c/c_utility.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_class.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.h create mode 100755 src/3rdparty/webkit/WebCore/bridge/make_testbindings create mode 100644 src/3rdparty/webkit/WebCore/bridge/npapi.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/npruntime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/npruntime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/npruntime_impl.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/npruntime_internal.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/npruntime_priv.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_class.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_array.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_method.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_object.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/runtime_root.h create mode 100644 src/3rdparty/webkit/WebCore/bridge/test.js create mode 100644 src/3rdparty/webkit/WebCore/bridge/testC.js create mode 100644 src/3rdparty/webkit/WebCore/bridge/testM.js create mode 100644 src/3rdparty/webkit/WebCore/bridge/testbindings.cpp create mode 100644 src/3rdparty/webkit/WebCore/bridge/testbindings.mm create mode 100644 src/3rdparty/webkit/WebCore/bridge/testqtbindings.cpp create mode 100755 src/3rdparty/webkit/WebCore/combine-javascript-resources create mode 100644 src/3rdparty/webkit/WebCore/config.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSBorderImageValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSBorderImageValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCanvasValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCanvasValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCharsetRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCharsetRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCharsetRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCursorImageValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSCursorImageValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFace.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFace.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceSource.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceSource.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceSrcValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontFaceSrcValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontSelector.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFontSelector.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSFunctionValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSGradientValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSGradientValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSGrammar.y create mode 100644 src/3rdparty/webkit/WebCore/css/CSSHelper.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSHelper.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImageGeneratorValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImageGeneratorValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImageValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImageValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImportRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSImportRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSInheritedValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSInheritedValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSInitialValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSInitialValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSMediaRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSMediaRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSMediaRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSNamespace.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPageRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPageRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPageRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSParser.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSParserValues.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSProperty.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSProperty.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in create mode 100644 src/3rdparty/webkit/WebCore/css/CSSQuirkPrimitiveValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSReflectValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSReflectValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSReflectionDirection.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRuleList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRuleList.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSRuleList.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSegmentedFontFace.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSegmentedFontFace.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSelector.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSelector.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSSelectorList.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSStyleSheet.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSTimingFunctionValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSTimingFunctionValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSUnicodeRangeValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSUnicodeRangeValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSUnknownRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSUnknownRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValue.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValueList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValueList.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSValueList.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariableDependentValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariableDependentValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.idl create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/CSSVariablesRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/Counter.h create mode 100644 src/3rdparty/webkit/WebCore/css/Counter.idl create mode 100644 src/3rdparty/webkit/WebCore/css/DashboardRegion.h create mode 100644 src/3rdparty/webkit/WebCore/css/DashboardSupportCSSPropertyNames.in create mode 100644 src/3rdparty/webkit/WebCore/css/FontFamilyValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/FontFamilyValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/FontValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/FontValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/MediaFeatureNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/MediaFeatureNames.h create mode 100644 src/3rdparty/webkit/WebCore/css/MediaList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/MediaList.h create mode 100644 src/3rdparty/webkit/WebCore/css/MediaList.idl create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQuery.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQuery.h create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQueryExp.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/MediaQueryExp.h create mode 100644 src/3rdparty/webkit/WebCore/css/Pair.h create mode 100644 src/3rdparty/webkit/WebCore/css/RGBColor.idl create mode 100644 src/3rdparty/webkit/WebCore/css/Rect.h create mode 100644 src/3rdparty/webkit/WebCore/css/Rect.idl create mode 100644 src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in create mode 100644 src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/SVGCSSValueKeywords.in create mode 100644 src/3rdparty/webkit/WebCore/css/ShadowValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/ShadowValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/StyleBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/StyleBase.h create mode 100644 src/3rdparty/webkit/WebCore/css/StyleList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/StyleList.h create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheet.idl create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheetList.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheetList.h create mode 100644 src/3rdparty/webkit/WebCore/css/StyleSheetList.idl create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframeRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframeRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframeRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframesRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframesRule.h create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframesRule.idl create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSTransformValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSTransformValue.h create mode 100644 src/3rdparty/webkit/WebCore/css/WebKitCSSTransformValue.idl create mode 100644 src/3rdparty/webkit/WebCore/css/html4.css create mode 100755 src/3rdparty/webkit/WebCore/css/make-css-file-arrays.pl create mode 100644 src/3rdparty/webkit/WebCore/css/makegrammar.pl create mode 100644 src/3rdparty/webkit/WebCore/css/makeprop.pl create mode 100644 src/3rdparty/webkit/WebCore/css/maketokenizer create mode 100644 src/3rdparty/webkit/WebCore/css/makevalues.pl create mode 100644 src/3rdparty/webkit/WebCore/css/mediaControls.css create mode 100644 src/3rdparty/webkit/WebCore/css/qt/mediaControls-extras.css create mode 100644 src/3rdparty/webkit/WebCore/css/quirks.css create mode 100644 src/3rdparty/webkit/WebCore/css/svg.css create mode 100644 src/3rdparty/webkit/WebCore/css/themeWin.css create mode 100644 src/3rdparty/webkit/WebCore/css/themeWinQuirks.css create mode 100644 src/3rdparty/webkit/WebCore/css/tokenizer.flex create mode 100644 src/3rdparty/webkit/WebCore/css/view-source.css create mode 100644 src/3rdparty/webkit/WebCore/css/wml.css create mode 100644 src/3rdparty/webkit/WebCore/dom/ActiveDOMObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ActiveDOMObject.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Attr.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Attr.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Attr.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Attribute.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Attribute.h create mode 100644 src/3rdparty/webkit/WebCore/dom/BeforeTextInsertedEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/BeforeTextInsertedEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/BeforeUnloadEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/BeforeUnloadEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/CDATASection.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/CDATASection.h create mode 100644 src/3rdparty/webkit/WebCore/dom/CDATASection.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/CSSMappedAttributeDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/CSSMappedAttributeDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/dom/CharacterData.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/CharacterData.h create mode 100644 src/3rdparty/webkit/WebCore/dom/CharacterData.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ChildNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ChildNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNames.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ClassNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Clipboard.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Clipboard.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Clipboard.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ClipboardAccessPolicy.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ClipboardEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ClipboardEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Comment.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Comment.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Comment.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ContainerNode.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ContainerNodeAlgorithms.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMCoreException.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMCoreException.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMImplementation.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMImplementation.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMStringList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMStringList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DOMStringList.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DocPtr.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Document.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Document.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Document.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentFragment.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentFragment.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentMarker.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentType.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentType.h create mode 100644 src/3rdparty/webkit/WebCore/dom/DocumentType.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EditingText.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/EditingText.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Element.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Element.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Element.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ElementRareData.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Entity.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Entity.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Entity.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/EntityReference.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/EntityReference.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EntityReference.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Event.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Event.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Event.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/EventException.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EventException.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/EventListener.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EventListener.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/EventNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/EventNames.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTarget.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTarget.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTarget.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTargetNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTargetNode.h create mode 100644 src/3rdparty/webkit/WebCore/dom/EventTargetNode.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ExceptionBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ExceptionBase.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ExceptionCode.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ExceptionCode.h create mode 100644 src/3rdparty/webkit/WebCore/dom/FormControlElement.h create mode 100644 src/3rdparty/webkit/WebCore/dom/KeyboardEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/KeyboardEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/KeyboardEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/MappedAttribute.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MappedAttribute.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MappedAttributeEntry.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageChannel.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageChannel.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MessageEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/MessagePort.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MessagePort.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MessagePort.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/MouseEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MouseEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MouseEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/MouseRelatedEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MouseRelatedEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MutationEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/MutationEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/MutationEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/NameNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NameNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedMappedAttrMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedMappedAttrMap.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedNodeMap.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Node.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Node.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Node.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeFilter.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeFilter.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeFilter.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeFilterCondition.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeFilterCondition.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeIterator.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeIterator.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeIterator.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeList.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeRareData.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeRenderStyle.h create mode 100644 src/3rdparty/webkit/WebCore/dom/NodeWithIndex.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Notation.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Notation.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Notation.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/OverflowEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/OverflowEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/OverflowEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Position.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Position.h create mode 100644 src/3rdparty/webkit/WebCore/dom/PositionIterator.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/PositionIterator.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/ProgressEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ProgressEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ProgressEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/QualifiedName.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/QualifiedName.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Range.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Range.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Range.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/RangeBoundaryPoint.h create mode 100644 src/3rdparty/webkit/WebCore/dom/RangeException.h create mode 100644 src/3rdparty/webkit/WebCore/dom/RangeException.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ScriptElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ScriptElement.h create mode 100644 src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h create mode 100644 src/3rdparty/webkit/WebCore/dom/SelectorNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/SelectorNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/StaticNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/StaticNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/StaticStringList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/StaticStringList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/StyleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/StyleElement.h create mode 100644 src/3rdparty/webkit/WebCore/dom/StyledElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/StyledElement.h create mode 100644 src/3rdparty/webkit/WebCore/dom/TagNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/TagNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Text.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Text.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Text.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/TextEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/TextEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/TextEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Tokenizer.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Traversal.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Traversal.h create mode 100644 src/3rdparty/webkit/WebCore/dom/TreeWalker.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/TreeWalker.h create mode 100644 src/3rdparty/webkit/WebCore/dom/TreeWalker.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/UIEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/UIEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/UIEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/UIEventWithKeyState.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/UIEventWithKeyState.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitAnimationEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitAnimationEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitAnimationEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitTransitionEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitTransitionEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WebKitTransitionEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/WheelEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WheelEvent.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WheelEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/Worker.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/Worker.h create mode 100644 src/3rdparty/webkit/WebCore/dom/Worker.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerContext.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerContext.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerLocation.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerLocation.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerLocation.idl create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerMessagingProxy.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerMessagingProxy.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerTask.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerTask.h create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerThread.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/WorkerThread.h create mode 100644 src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h create mode 100644 src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp create mode 100644 src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp create mode 100755 src/3rdparty/webkit/WebCore/dom/make_names.pl create mode 100644 src/3rdparty/webkit/WebCore/editing/AppendNodeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/AppendNodeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/CreateLinkCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/CreateLinkCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteButton.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteButton.h create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteButtonController.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteButtonController.h create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteFromTextNodeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteFromTextNodeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/EditAction.h create mode 100644 src/3rdparty/webkit/WebCore/editing/EditCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/EditCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/Editor.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/Editor.h create mode 100644 src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/EditorDeleteAction.h create mode 100644 src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h create mode 100644 src/3rdparty/webkit/WebCore/editing/FormatBlockCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/FormatBlockCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/HTMLInterchange.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/HTMLInterchange.h create mode 100644 src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertIntoTextNodeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertIntoTextNodeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertLineBreakCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertLineBreakCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertListCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertListCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertNodeBeforeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertNodeBeforeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertTextCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/InsertTextCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/JoinTextNodesCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/JoinTextNodesCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/MergeIdenticalElementsCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/MergeIdenticalElementsCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/ModifySelectionListLevel.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/ModifySelectionListLevel.h create mode 100644 src/3rdparty/webkit/WebCore/editing/MoveSelectionCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/MoveSelectionCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveCSSPropertyCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveCSSPropertyCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodeAttributeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodeAttributeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodePreservingChildrenCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/RemoveNodePreservingChildrenCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/Selection.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/Selection.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SelectionController.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SelectionController.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SetNodeAttributeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SetNodeAttributeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SmartReplace.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SmartReplace.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SmartReplaceCF.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitElementCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitElementCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitTextNodeCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitTextNodeCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitTextNodeContainingElementCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/SplitTextNodeContainingElementCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/TextAffinity.h create mode 100644 src/3rdparty/webkit/WebCore/editing/TextGranularity.h create mode 100644 src/3rdparty/webkit/WebCore/editing/TextIterator.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/TextIterator.h create mode 100644 src/3rdparty/webkit/WebCore/editing/TypingCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/TypingCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/UnlinkCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/UnlinkCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/VisiblePosition.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/VisiblePosition.h create mode 100644 src/3rdparty/webkit/WebCore/editing/WrapContentsInDummySpanCommand.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/WrapContentsInDummySpanCommand.h create mode 100644 src/3rdparty/webkit/WebCore/editing/htmlediting.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/htmlediting.h create mode 100644 src/3rdparty/webkit/WebCore/editing/markup.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/markup.h create mode 100644 src/3rdparty/webkit/WebCore/editing/qt/EditorQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/visible_units.cpp create mode 100644 src/3rdparty/webkit/WebCore/editing/visible_units.h create mode 100644 src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSGrammar.h create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c create mode 100644 src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h create mode 100644 src/3rdparty/webkit/WebCore/generated/ColorData.c create mode 100644 src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/Grammar.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/Grammar.h create mode 100644 src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c create mode 100644 src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/HTMLNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSAttr.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSAttr.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSBarInfo.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCDATASection.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSValue.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCharacterData.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSClipboard.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSComment.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSComment.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSConsole.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSConsole.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCounter.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSCounter.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMParser.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMStringList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMStringList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDOMWindowBase.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDatabase.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocument.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSDocumentType.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEntity.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEntity.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEntityReference.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEventException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEventException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEventTargetNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSEventTargetNode.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSFile.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSFile.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSFileList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSFileList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSGeolocation.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSGeoposition.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHistory.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSHistory.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSImageData.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSImageData.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSLocation.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSLocation.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMediaError.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMediaList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMessagePort.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMimeType.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNavigator.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNode.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNodeList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNotation.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSNotation.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPlugin.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPluginArray.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSPositionError.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRange.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRange.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRangeException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRect.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSRect.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLError.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGColor.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLength.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRect.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSScreen.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSScreen.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStorage.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStorage.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSText.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSText.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTextEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSUIEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorker.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorker.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerContextBase.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathException.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXPathResult.h create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h create mode 100644 src/3rdparty/webkit/WebCore/generated/Lexer.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/MathObject.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/SVGElementFactory.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/SVGElementFactory.h create mode 100644 src/3rdparty/webkit/WebCore/generated/SVGNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/SVGNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h create mode 100644 src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h create mode 100644 src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/XLinkNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/XLinkNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/XMLNames.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/XMLNames.h create mode 100644 src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp create mode 100644 src/3rdparty/webkit/WebCore/generated/XPathGrammar.h create mode 100644 src/3rdparty/webkit/WebCore/generated/chartables.c create mode 100644 src/3rdparty/webkit/WebCore/generated/tokenizer.cpp create mode 100644 src/3rdparty/webkit/WebCore/history/BackForwardList.cpp create mode 100644 src/3rdparty/webkit/WebCore/history/BackForwardList.h create mode 100644 src/3rdparty/webkit/WebCore/history/CachedPage.cpp create mode 100644 src/3rdparty/webkit/WebCore/history/CachedPage.h create mode 100644 src/3rdparty/webkit/WebCore/history/CachedPagePlatformData.h create mode 100644 src/3rdparty/webkit/WebCore/history/HistoryItem.cpp create mode 100644 src/3rdparty/webkit/WebCore/history/HistoryItem.h create mode 100644 src/3rdparty/webkit/WebCore/history/PageCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/history/PageCache.h create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasGradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasGradient.h create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasGradient.idl create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasPattern.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasPattern.h create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasPattern.idl create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.idl create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/CanvasStyle.h create mode 100644 src/3rdparty/webkit/WebCore/html/DocTypeStrings.gperf create mode 100644 src/3rdparty/webkit/WebCore/html/File.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/File.h create mode 100644 src/3rdparty/webkit/WebCore/html/File.idl create mode 100644 src/3rdparty/webkit/WebCore/html/FileList.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/FileList.h create mode 100644 src/3rdparty/webkit/WebCore/html/FileList.idl create mode 100644 src/3rdparty/webkit/WebCore/html/FormDataList.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/FormDataList.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAudioElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLAudioElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBRElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLButtonElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCollection.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLCollection.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDListElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDListElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDivElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDivElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDivElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDocument.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLDocument.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLElementFactory.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLElementFactory.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLEntityNames.gperf create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFontElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormCollection.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFormElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameOwnerElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameOwnerElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHRElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHRElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLImageElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLImageLoader.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLInputElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLKeygenElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLKeygenElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLIElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLIElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLIElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLabelElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLabelElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLabelElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLegendElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLegendElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLegendElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLinkElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLLinkElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMapElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMapElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMapElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMediaElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMenuElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMenuElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLMetaElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLModElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLModElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLModElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLNameCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLNameCollection.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOListElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOListElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLObjectElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLObjectElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParamElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParamElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParamElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParser.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParserErrorCodes.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLParserErrorCodes.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPlugInElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPlugInElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPlugInImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPlugInImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPreElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPreElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLPreElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLScriptElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLScriptElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLScriptElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSourceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSourceElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLSourceElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLStyleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLStyleElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableColElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableColElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableRowsCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableRowsCollection.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTagNames.in create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTitleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTitleElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLUListElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLUListElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLUListElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLVideoElement.idl create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLViewSourceDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/HTMLViewSourceDocument.h create mode 100644 src/3rdparty/webkit/WebCore/html/ImageData.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/ImageData.h create mode 100644 src/3rdparty/webkit/WebCore/html/ImageData.idl create mode 100644 src/3rdparty/webkit/WebCore/html/MediaError.h create mode 100644 src/3rdparty/webkit/WebCore/html/MediaError.idl create mode 100644 src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/PreloadScanner.h create mode 100644 src/3rdparty/webkit/WebCore/html/TextMetrics.h create mode 100644 src/3rdparty/webkit/WebCore/html/TextMetrics.idl create mode 100644 src/3rdparty/webkit/WebCore/html/TimeRanges.cpp create mode 100644 src/3rdparty/webkit/WebCore/html/TimeRanges.h create mode 100644 src/3rdparty/webkit/WebCore/html/TimeRanges.idl create mode 100644 src/3rdparty/webkit/WebCore/html/VoidCallback.h create mode 100644 src/3rdparty/webkit/WebCore/html/VoidCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorClient.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/InspectorController.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.idl create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugListener.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfile.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfile.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.h create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Console.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DataGrid.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Database.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseTableView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/FontView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ImageView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/back.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/checker.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/clearConsoleButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/closeButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/consoleButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/database.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/databaseTable.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/databasesIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerContinue.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerPause.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepInto.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepOut.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepOver.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDown.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDownBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDownWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRight.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDown.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/dockButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/elementsIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/enableButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/errorIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/errorMediumIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/excludeButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/focusButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/forward.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeader.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderPressed.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderSelected.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderSelectedPressed.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/goArrow.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/graphLabelCalloutLeft.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/graphLabelCalloutRight.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/largerResourcesButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/nodeSearchButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneBottomGrow.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneBottomGrowActive.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneGrowHandleLine.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/pauseOnExceptionButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/percentButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileGroupIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileSmallIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/profilesIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/profilesSilhouette.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/recordButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/reloadButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceCSSIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceDocumentIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceDocumentIconSmall.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceJSIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcePlainIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcePlainIconSmall.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesSizeGraphIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesTimeGraphIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/scriptsIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/scriptsSilhouette.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallBlue.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallBrightBlue.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallGray.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segment.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentEnd.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentHover.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentHoverEnd.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentSelected.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentSelectedEnd.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/splitviewDimple.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/splitviewDividerBackground.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarBackground.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarBottomBackground.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarButtons.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarMenuButton.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarMenuButtonSelected.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarResizerHorizontal.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarResizerVertical.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillBlue.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillGray.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillGreen.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillOrange.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillPurple.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillRed.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillYellow.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillBlue.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillGray.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillGreen.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillOrange.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillPurple.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillRed.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillYellow.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipBalloon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipBalloonBottom.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/tipIconPressed.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/toolbarItemSelected.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeDownTriangleBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeDownTriangleWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeRightTriangleBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeRightTriangleWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeUpTriangleBlack.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeUpTriangleWhite.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/userInputIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/userInputPreviousIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningMediumIcon.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningsErrors.png create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/MetricsSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Object.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/PanelEnablerView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Placard.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/PropertiesSection.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/PropertiesSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ScopeChainSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/Script.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ScriptView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SidebarTreeElement.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/View.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/treeoutline.js create mode 100644 src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js create mode 100644 src/3rdparty/webkit/WebCore/loader/Cache.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/Cache.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachePolicy.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedCSSStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedCSSStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedFont.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedFont.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedImage.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResource.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResource.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResourceClient.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResourceClientWalker.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResourceClientWalker.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResourceHandle.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedResourceHandle.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedScript.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedScript.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedXBLDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedXBLDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedXSLStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/CachedXSLStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/loader/DocLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/DocLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/DocumentLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/EmptyClients.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FTPDirectoryDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/FTPDirectoryDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FormState.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/FormState.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/FrameLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h create mode 100644 src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h create mode 100644 src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/ImageDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/ImageLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/ImageLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/MainResourceLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/MediaDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/MediaDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/NavigationAction.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/NavigationAction.h create mode 100644 src/3rdparty/webkit/WebCore/loader/NetscapePlugInStreamLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/NetscapePlugInStreamLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/PluginDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/PluginDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/ProgressTracker.h create mode 100644 src/3rdparty/webkit/WebCore/loader/Request.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/Request.h create mode 100644 src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/ResourceLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/SubresourceLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/SubresourceLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/SubresourceLoaderClient.h create mode 100644 src/3rdparty/webkit/WebCore/loader/SubstituteData.h create mode 100644 src/3rdparty/webkit/WebCore/loader/SubstituteResource.h create mode 100644 src/3rdparty/webkit/WebCore/loader/TextDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/TextDocument.h create mode 100644 src/3rdparty/webkit/WebCore/loader/TextResourceDecoder.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/TextResourceDecoder.h create mode 100644 src/3rdparty/webkit/WebCore/loader/UserStyleSheetLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/UserStyleSheetLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.h create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.idl create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ManifestParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/appcache/ManifestParser.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/Archive.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/cf/LegacyWebArchive.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/cf/LegacyWebArchive.h create mode 100644 src/3rdparty/webkit/WebCore/loader/archive/cf/LegacyWebArchiveMac.mm create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseClient.h create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconFetcher.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconFetcher.h create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconRecord.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/IconRecord.h create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h create mode 100644 src/3rdparty/webkit/WebCore/loader/loader.cpp create mode 100644 src/3rdparty/webkit/WebCore/loader/loader.h create mode 100755 src/3rdparty/webkit/WebCore/make-generated-sources.sh create mode 100755 src/3rdparty/webkit/WebCore/move-js-headers.sh create mode 100644 src/3rdparty/webkit/WebCore/page/AXObjectCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AXObjectCache.h create mode 100644 src/3rdparty/webkit/WebCore/page/AbstractView.idl create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityImageMapLink.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityImageMapLink.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityList.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityList.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityListBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityListBox.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityListBoxOption.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityListBoxOption.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityObject.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityRenderObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityRenderObject.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTable.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTable.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableCell.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableCell.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableColumn.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableColumn.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableHeaderContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableHeaderContainer.h create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableRow.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/AccessibilityTableRow.h create mode 100644 src/3rdparty/webkit/WebCore/page/BarInfo.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/BarInfo.h create mode 100644 src/3rdparty/webkit/WebCore/page/BarInfo.idl create mode 100644 src/3rdparty/webkit/WebCore/page/Chrome.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Chrome.h create mode 100644 src/3rdparty/webkit/WebCore/page/ChromeClient.h create mode 100644 src/3rdparty/webkit/WebCore/page/Console.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Console.h create mode 100644 src/3rdparty/webkit/WebCore/page/Console.idl create mode 100644 src/3rdparty/webkit/WebCore/page/ContextMenuClient.h create mode 100644 src/3rdparty/webkit/WebCore/page/ContextMenuController.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/ContextMenuController.h create mode 100644 src/3rdparty/webkit/WebCore/page/DOMSelection.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/DOMSelection.h create mode 100644 src/3rdparty/webkit/WebCore/page/DOMSelection.idl create mode 100644 src/3rdparty/webkit/WebCore/page/DOMWindow.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/DOMWindow.h create mode 100644 src/3rdparty/webkit/WebCore/page/DOMWindow.idl create mode 100644 src/3rdparty/webkit/WebCore/page/DragActions.h create mode 100644 src/3rdparty/webkit/WebCore/page/DragClient.h create mode 100644 src/3rdparty/webkit/WebCore/page/DragController.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/DragController.h create mode 100644 src/3rdparty/webkit/WebCore/page/EditorClient.h create mode 100644 src/3rdparty/webkit/WebCore/page/EventHandler.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/EventHandler.h create mode 100644 src/3rdparty/webkit/WebCore/page/FocusController.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/FocusController.h create mode 100644 src/3rdparty/webkit/WebCore/page/FocusDirection.h create mode 100644 src/3rdparty/webkit/WebCore/page/Frame.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Frame.h create mode 100644 src/3rdparty/webkit/WebCore/page/FrameLoadRequest.h create mode 100644 src/3rdparty/webkit/WebCore/page/FramePrivate.h create mode 100644 src/3rdparty/webkit/WebCore/page/FrameTree.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/FrameTree.h create mode 100644 src/3rdparty/webkit/WebCore/page/FrameView.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/FrameView.h create mode 100644 src/3rdparty/webkit/WebCore/page/Geolocation.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Geolocation.h create mode 100644 src/3rdparty/webkit/WebCore/page/Geolocation.idl create mode 100644 src/3rdparty/webkit/WebCore/page/Geoposition.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Geoposition.h create mode 100644 src/3rdparty/webkit/WebCore/page/Geoposition.idl create mode 100644 src/3rdparty/webkit/WebCore/page/History.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/History.h create mode 100644 src/3rdparty/webkit/WebCore/page/History.idl create mode 100644 src/3rdparty/webkit/WebCore/page/Location.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Location.h create mode 100644 src/3rdparty/webkit/WebCore/page/Location.idl create mode 100644 src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h create mode 100644 src/3rdparty/webkit/WebCore/page/Navigator.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Navigator.h create mode 100644 src/3rdparty/webkit/WebCore/page/Navigator.idl create mode 100644 src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/NavigatorBase.h create mode 100644 src/3rdparty/webkit/WebCore/page/Page.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Page.h create mode 100644 src/3rdparty/webkit/WebCore/page/PageGroup.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/PageGroup.h create mode 100644 src/3rdparty/webkit/WebCore/page/PositionCallback.h create mode 100644 src/3rdparty/webkit/WebCore/page/PositionCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/page/PositionError.h create mode 100644 src/3rdparty/webkit/WebCore/page/PositionError.idl create mode 100644 src/3rdparty/webkit/WebCore/page/PositionErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/page/PositionErrorCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/page/PositionOptions.h create mode 100644 src/3rdparty/webkit/WebCore/page/PrintContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/PrintContext.h create mode 100644 src/3rdparty/webkit/WebCore/page/Screen.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Screen.h create mode 100644 src/3rdparty/webkit/WebCore/page/Screen.idl create mode 100644 src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/SecurityOrigin.h create mode 100644 src/3rdparty/webkit/WebCore/page/SecurityOriginHash.h create mode 100644 src/3rdparty/webkit/WebCore/page/Settings.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/Settings.h create mode 100644 src/3rdparty/webkit/WebCore/page/WindowFeatures.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/WindowFeatures.h create mode 100644 src/3rdparty/webkit/WebCore/page/WorkerNavigator.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/WorkerNavigator.h create mode 100644 src/3rdparty/webkit/WebCore/page/WorkerNavigator.idl create mode 100644 src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/animation/AnimationBase.h create mode 100644 src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/animation/AnimationController.h create mode 100644 src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h create mode 100644 src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.h create mode 100644 src/3rdparty/webkit/WebCore/page/animation/KeyframeAnimation.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/animation/KeyframeAnimation.h create mode 100644 src/3rdparty/webkit/WebCore/page/chromium/AccessibilityObjectChromium.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/chromium/AccessibilityObjectWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/page/qt/AccessibilityObjectQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/qt/FrameQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/AXObjectCacheWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/AccessibilityObjectWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/AccessibilityObjectWrapperWin.h create mode 100644 src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/EventHandlerWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/FrameCGWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/FrameCairoWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/FrameWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/page/win/FrameWin.h create mode 100644 src/3rdparty/webkit/WebCore/page/win/PageWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Arena.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Arena.h create mode 100644 src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ColorData.gperf create mode 100644 src/3rdparty/webkit/WebCore/platform/ContextMenu.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/ContextMenu.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ContextMenuItem.h create mode 100644 src/3rdparty/webkit/WebCore/platform/CookieJar.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Cursor.h create mode 100644 src/3rdparty/webkit/WebCore/platform/DeprecatedPtrList.h create mode 100644 src/3rdparty/webkit/WebCore/platform/DeprecatedPtrListImpl.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/DeprecatedPtrListImpl.h create mode 100644 src/3rdparty/webkit/WebCore/platform/DragData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/DragData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/DragImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/DragImage.h create mode 100644 src/3rdparty/webkit/WebCore/platform/EventLoop.h create mode 100644 src/3rdparty/webkit/WebCore/platform/FileChooser.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/FileChooser.h create mode 100644 src/3rdparty/webkit/WebCore/platform/FileSystem.h create mode 100644 src/3rdparty/webkit/WebCore/platform/FloatConversion.h create mode 100644 src/3rdparty/webkit/WebCore/platform/GeolocationService.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/GeolocationService.h create mode 100644 src/3rdparty/webkit/WebCore/platform/HostWindow.h create mode 100644 src/3rdparty/webkit/WebCore/platform/KURL.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/KURL.h create mode 100644 src/3rdparty/webkit/WebCore/platform/KURLHash.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Language.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Length.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Length.h create mode 100644 src/3rdparty/webkit/WebCore/platform/LengthBox.h create mode 100644 src/3rdparty/webkit/WebCore/platform/LengthSize.h create mode 100644 src/3rdparty/webkit/WebCore/platform/LinkHash.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/LinkHash.h create mode 100644 src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Logging.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Logging.h create mode 100644 src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h create mode 100644 src/3rdparty/webkit/WebCore/platform/NotImplemented.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Pasteboard.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformMenuDescription.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformMouseEvent.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformScreen.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PopupMenu.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PopupMenuClient.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PopupMenuStyle.h create mode 100644 src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollTypes.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollView.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollView.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Scrollbar.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollbarTheme.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollbarThemeComposite.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/ScrollbarThemeComposite.h create mode 100644 src/3rdparty/webkit/WebCore/platform/SearchPopupMenu.h create mode 100644 src/3rdparty/webkit/WebCore/platform/SharedBuffer.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/SharedBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/SharedTimer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Sound.h create mode 100644 src/3rdparty/webkit/WebCore/platform/StaticConstructors.h create mode 100644 src/3rdparty/webkit/WebCore/platform/SystemTime.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Theme.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Theme.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ThemeTypes.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ThreadCheck.h create mode 100644 src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Timer.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Timer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/TreeShared.h create mode 100644 src/3rdparty/webkit/WebCore/platform/Widget.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/Widget.h create mode 100644 src/3rdparty/webkit/WebCore/platform/animation/Animation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/animation/Animation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/animation/AnimationList.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/animation/AnimationList.h create mode 100644 src/3rdparty/webkit/WebCore/platform/animation/TimingFunction.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Color.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Color.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/DashArray.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint3D.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint3D.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatQuad.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatQuad.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatRect.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatRect.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatSize.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FloatSize.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Font.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Font.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontCache.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontCache.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontDescription.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontDescription.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontFamily.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontFamily.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontFastPath.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontRenderingMode.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontSelector.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/FontTraitsMask.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GeneratedImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GeneratedImage.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Generator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GlyphBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContextPrivate.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsTypes.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/GraphicsTypes.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Icon.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Image.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/ImageObserver.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/IntRect.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/IntRect.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/IntSize.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/IntSizeHash.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Path.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Path.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/PathTraversalState.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/PathTraversalState.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Pattern.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Pattern.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Pen.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/Pen.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/StringTruncator.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/StringTruncator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/StrokeStyleApplier.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/TextRun.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/UnitBezier.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/WidthIterator.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/WidthIterator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEBlend.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEBlend.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ColorQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FloatPointQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FloatRectQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/GlyphPageTreeNodeQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/IntPointQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/IntRectQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/IntSizeQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/PatternQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/StillImageQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/StillImageQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/IdentityTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/MatrixTransformOperation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/MatrixTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/RotateTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/ScaleTransformOperation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/ScaleTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/SkewTransformOperation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/SkewTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperations.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperations.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/graphics/transforms/TranslateTransformOperation.h create mode 100644 src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/AutodrainedPool.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/BlockExceptions.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/BlockExceptions.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ClipboardMac.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ClipboardMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ContextMenuItemMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ContextMenuMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/CookieJar.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/CursorMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/DragDataMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/DragImageMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/EventLoopMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/FileChooserMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/FileSystemMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/FoundationExtras.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/KURLMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/KeyEventMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/Language.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/LoggingMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PasteboardHelper.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PlatformMouseEventMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PlatformScreenMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PopupMenuMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/PurgeableBufferMac.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SSLKeyGeneratorMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SchedulePairMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ScrollViewMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ScrollbarThemeMac.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ScrollbarThemeMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SearchPopupMenuMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SharedBufferMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SharedTimerMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SoftLinking.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SoundMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/SystemTimeMac.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/ThreadCheck.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreKeyGenerator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreKeyGenerator.m create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreNSStringExtras.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreNSStringExtras.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreObjCExtras.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreObjCExtras.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreTextRenderer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreTextRenderer.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreView.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebCoreView.m create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebFontCache.h create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WebFontCache.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WheelEventMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/network/AuthenticationChallengeBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/AuthenticationChallengeBase.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/Credential.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/Credential.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/DNS.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/FormData.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/FormData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/HTTPHeaderMap.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/HTTPParsers.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/HTTPParsers.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceErrorBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceErrorBase.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/chromium/ResourceResponse.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/AuthenticationChallenge.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/ResourceError.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/network/qt/ResourceResponse.h create mode 100644 src/3rdparty/webkit/WebCore/platform/posix/FileSystemPOSIX.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ContextMenuQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/CookieJarQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/EventLoopQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/KURLQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/KeyboardCodes.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/LoggingQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/MenuEventProxy.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PlatformScreenQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/QWebPopup.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ScrollViewQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/SearchPopupMenuQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/SoundQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/SystemTimeQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/qt/WidgetQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLValue.h create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteAuthorizer.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteStatement.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteStatement.h create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteTransaction.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/sql/SQLiteTransaction.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/AtomicString.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/AtomicStringHash.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/AtomicStringImpl.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/Base64.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/Base64.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/BidiContext.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/BidiContext.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/BidiResolver.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/CString.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/CString.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/ParserUtilities.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/PlatformString.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/RegularExpression.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/RegularExpression.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/SegmentedString.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/SegmentedString.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/String.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringBuilder.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringBuilder.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringHash.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/StringImpl.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBoundaries.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBoundariesICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBreakIterator.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodec.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodec.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecICU.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecICU.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecLatin1.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecLatin1.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecUTF16.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecUTF16.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecUserDefined.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextCodecUserDefined.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextDecoder.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextDecoder.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextDirection.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextEncoding.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextEncodingRegistry.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextEncodingRegistry.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/TextStream.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/UnicodeRange.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/UnicodeRange.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/cf/StringCF.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/cf/StringImplCF.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/CharsetData.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/ShapeArabic.c create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/ShapeArabic.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/StringImplMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/StringMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/TextBoundaries.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/TextCodecMac.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/TextCodecMac.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/character-sets.txt create mode 100644 src/3rdparty/webkit/WebCore/platform/text/mac/mac-encodings.txt create mode 100755 src/3rdparty/webkit/WebCore/platform/text/mac/make-charset-table.pl create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.h create mode 100644 src/3rdparty/webkit/WebCore/platform/text/symbian/StringImplSymbian.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/symbian/StringSymbian.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/platform/win/SystemTimeWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeType.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeType.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeType.idl create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.idl create mode 100644 src/3rdparty/webkit/WebCore/plugins/Plugin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/Plugin.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/Plugin.idl create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginArray.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginArray.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginArray.idl create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginData.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginData.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginDebug.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginInfoStore.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginInfoStore.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginMainThreadScheduler.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginMainThreadScheduler.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginPackage.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginStream.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginStream.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginView.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/PluginView.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/mac/PluginDataMac.mm create mode 100644 src/3rdparty/webkit/WebCore/plugins/mac/PluginPackageMac.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/npapi.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/npfunctions.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/qt/PluginDataQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginDataWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.h create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/CounterNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/CounterNode.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/EllipsisBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/EllipsisBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/GapRects.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/HitTestRequest.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/HitTestResult.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineRunBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/InlineTextBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/LayoutState.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/LayoutState.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/ListMarkerBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/ListMarkerBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/PointerEventsHitRules.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/PointerEventsHitRules.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderApplet.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderArena.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBR.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBR.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBlock.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderButton.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderContainer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderCounter.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderCounter.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFieldset.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFlow.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFlow.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFrame.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFrame.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderHTMLCanvas.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderHTMLCanvas.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderImageGeneratedContent.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderImageGeneratedContent.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderInline.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderLayer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderLegend.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderLegend.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListItem.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListItem.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderListMarker.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMarquee.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMedia.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderObject.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPart.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPartObject.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPartObject.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPath.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderPath.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderReplaced.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderReplica.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderReplica.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGBlock.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGBlock.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGContainer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGGradientStop.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGGradientStop.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGHiddenContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGHiddenContainer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGRoot.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGRoot.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTSpan.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTSpan.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTextPath.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTextPath.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTransformableContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGTransformableContainer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGViewportContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSVGViewportContainer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbarPart.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbarPart.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbarTheme.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderScrollbarTheme.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderSlider.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTable.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableCell.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableCol.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableRow.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableRow.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableSection.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTableSection.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderText.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderText.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTheme.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderThemeWin.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderThemeWin.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderVideo.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderVideo.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderView.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderView.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderWidget.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderWordBreak.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RenderWordBreak.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/RootInlineBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/TableLayout.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/bidi.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/bidi.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/break_lines.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/break_lines.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/BindingURI.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/BindingURI.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/BorderData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/BorderValue.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CollapsedBorderValue.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/ContentData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/ContentData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CounterContent.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CounterDirectives.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CounterDirectives.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CursorData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/CursorList.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/DataRef.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/FillLayer.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/KeyframeList.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/KeyframeList.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/NinePieceImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/NinePieceImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/OutlineValue.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleBackgroundData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleBackgroundData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleBoxData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleBoxData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleCachedImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleCachedImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleDashboardRegion.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleFlexibleBoxData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleFlexibleBoxData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleGeneratedImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleGeneratedImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleImage.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleMarqueeData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleMarqueeData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleMultiColData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleMultiColData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleRareInheritedData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleRareInheritedData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleRareNonInheritedData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleRareNonInheritedData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleReflection.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleSurroundData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleSurroundData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleTransformData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleTransformData.h create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleVisualData.cpp create mode 100644 src/3rdparty/webkit/WebCore/rendering/style/StyleVisualData.h create mode 100644 src/3rdparty/webkit/WebCore/storage/ChangeVersionWrapper.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/ChangeVersionWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/storage/Database.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/Database.h create mode 100644 src/3rdparty/webkit/WebCore/storage/Database.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseAuthorizer.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseAuthorizer.h create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseDetails.h create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseTask.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseTask.h create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseThread.h create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h create mode 100644 src/3rdparty/webkit/WebCore/storage/DatabaseTrackerClient.h create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorage.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorage.h create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageArea.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageArea.h create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageThread.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/LocalStorageThread.h create mode 100644 src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.h create mode 100644 src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLError.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLError.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSet.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSet.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSet.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSetRowList.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSetRowList.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLResultSetRowList.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatement.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatement.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatementCallback.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatementCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatementErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLStatementErrorCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransaction.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransaction.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransactionCallback.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransactionCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransactionErrorCallback.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SQLTransactionErrorCallback.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/SessionStorage.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SessionStorage.h create mode 100644 src/3rdparty/webkit/WebCore/storage/SessionStorageArea.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/SessionStorageArea.h create mode 100644 src/3rdparty/webkit/WebCore/storage/Storage.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/Storage.h create mode 100644 src/3rdparty/webkit/WebCore/storage/Storage.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageArea.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageArea.h create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageEvent.h create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/storage/StorageMap.h create mode 100644 src/3rdparty/webkit/WebCore/svg/ColorDistance.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/ColorDistance.h create mode 100644 src/3rdparty/webkit/WebCore/svg/ElementTimeControl.h create mode 100644 src/3rdparty/webkit/WebCore/svg/ElementTimeControl.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/Filter.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/Filter.h create mode 100644 src/3rdparty/webkit/WebCore/svg/FilterBuilder.h create mode 100644 src/3rdparty/webkit/WebCore/svg/FilterEffect.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/FilterEffect.h create mode 100644 src/3rdparty/webkit/WebCore/svg/GradientAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/PatternAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAngle.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAngle.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAngle.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateMotionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateMotionElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedAngle.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedBoolean.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedEnumeration.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedInteger.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedLength.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedLengthList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedNumber.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedNumberList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedPreserveAspectRatio.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedRect.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedString.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedTemplate.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimatedTransformList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCircleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCircleElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCircleElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGColor.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGColor.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGColor.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCursorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCursorElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGCursorElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefinitionSrcElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefinitionSrcElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefinitionSrcElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefsElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefsElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDefsElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDescElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDescElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDescElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDocument.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDocument.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstance.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGException.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGException.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFELightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFELightElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETileElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETileElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFont.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontData.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontData.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGlyphMap.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGGradientElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGHKernElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGHKernElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGHKernElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGImageElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGImageLoader.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLangSpace.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLangSpace.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLangSpace.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLength.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLength.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLength.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLengthList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLengthList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLengthList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLineElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLineElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGListTraits.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLocatable.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLocatable.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGLocatable.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMaskElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMaskElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMaskElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMatrix.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGNumber.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGNumberList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGNumberList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGNumberList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPaint.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPaint.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPaint.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSeg.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegArcAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegArcRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubic.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubic.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmooth.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadratic.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadratic.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontal.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontal.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVertical.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVertical.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVerticalRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegMovetoAbs.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPathSegMovetoRel.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPatternElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPatternElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPatternElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPoint.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPointList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPointList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPointList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolyElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRect.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRectElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRectElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRectElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRenderingIntent.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGRenderingIntent.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSVGElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSVGElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGScriptElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGScriptElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGScriptElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSetElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStopElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStopElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStopElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStringList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStringList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStringList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStylable.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStylable.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStylable.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyleElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyleElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledLocatableElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledLocatableElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledTransformableElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGStyledTransformableElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTRefElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTRefElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTRefElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTests.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTests.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTests.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTitleElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTitleElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransform.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransform.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransform.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformList.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformList.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformable.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGTransformable.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGURIReference.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGURIReference.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGURIReference.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGUseElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGUseElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewElement.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewSpec.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGViewSpec.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.h create mode 100644 src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SMILTime.h create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SMILTimeContainer.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SMILTimeContainer.h create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerGradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerGradient.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerLinearGradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerLinearGradient.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerPattern.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerPattern.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerRadialGradient.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerRadialGradient.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerSolid.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerSolid.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceClipper.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceClipper.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceFilter.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceFilter.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceListener.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMasker.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMasker.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGDistantLightSource.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDisplacementMap.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEFlood.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEFlood.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEGaussianBlur.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEGaussianBlur.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEImage.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEImage.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMerge.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMerge.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMorphology.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMorphology.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEOffset.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEOffset.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFESpecularLighting.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETile.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETile.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETurbulence.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETurbulence.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilterEffect.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilterEffect.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGLightSource.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGLightSource.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGPointLightSource.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGSpotLightSource.h create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/qt/RenderPathQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/qt/SVGPaintServerPatternQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/qt/SVGPaintServerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/qt/SVGResourceFilterQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/graphics/qt/SVGResourceMaskerQt.cpp create mode 100644 src/3rdparty/webkit/WebCore/svg/svgattrs.in create mode 100644 src/3rdparty/webkit/WebCore/svg/svgtags.in create mode 100644 src/3rdparty/webkit/WebCore/svg/xlinkattrs.in create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAccessElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAccessElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAnchorElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAnchorElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLAttributeNames.in create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLBRElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLBRElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLCardElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLDoElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLDocument.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLDocument.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLFieldSetElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLFieldSetElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLGoElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLImageElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLImageElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLImageLoader.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLInsertedLegendElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLInsertedLegendElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEvent.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEvent.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEventHandler.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEventHandler.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLMetaElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLMetaElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLNoopElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLOnEventElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLOnEventElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPageState.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPrevElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLPrevElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLRefreshElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLRefreshElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTableElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTableElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTagNames.in create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTaskElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTaskElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTemplateElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTemplateElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTimerElement.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLTimerElement.h create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLVariables.cpp create mode 100644 src/3rdparty/webkit/WebCore/wml/WMLVariables.h create mode 100644 src/3rdparty/webkit/WebCore/xml/DOMParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/DOMParser.h create mode 100644 src/3rdparty/webkit/WebCore/xml/DOMParser.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/NativeXPathNSResolver.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/NativeXPathNSResolver.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestException.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestException.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEvent.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEvent.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLSerializer.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLSerializer.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XMLSerializer.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathEvaluator.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathEvaluator.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathEvaluator.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathException.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathException.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathExpression.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathExpression.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathExpression.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathFunctions.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathGrammar.y create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNSResolver.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNSResolver.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNSResolver.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNamespace.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNamespace.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNodeSet.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathNodeSet.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathParser.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathParser.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathPath.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathPath.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathPredicate.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathPredicate.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathResult.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathResult.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathResult.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathStep.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathStep.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathUtil.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathUtil.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathValue.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathValue.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathVariableReference.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XPathVariableReference.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLImportRule.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLImportRule.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTExtensions.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTExtensions.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTProcessor.idl create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTUnicodeSort.cpp create mode 100644 src/3rdparty/webkit/WebCore/xml/XSLTUnicodeSort.h create mode 100644 src/3rdparty/webkit/WebCore/xml/xmlattrs.in create mode 100644 src/3rdparty/webkit/WebKit.pri create mode 100644 src/3rdparty/webkit/WebKit/ChangeLog create mode 100644 src/3rdparty/webkit/WebKit/LICENSE create mode 100644 src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/headers.pri create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Api/qwebview.h create mode 100644 src/3rdparty/webkit/WebKit/qt/ChangeLog create mode 100644 src/3rdparty/webkit/WebKit/qt/Plugins/ICOHandler.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/Plugins/ICOHandler.h create mode 100644 src/3rdparty/webkit/WebKit/qt/Plugins/Plugins.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/DragClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/DragClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditCommandQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditCommandQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.h create mode 100644 src/3rdparty/webkit/WebKit/qt/WebKit_pch.h create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/image.png create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp create mode 100644 src/3rdparty/webkit/WebKit/qt/tests/tests.pro create mode 100644 src/3rdparty/wintab/pktdef.h create mode 100644 src/3rdparty/wintab/wintab.h create mode 100644 src/3rdparty/xorg/wacomcfg.h create mode 100644 src/3rdparty/zlib/ChangeLog create mode 100644 src/3rdparty/zlib/FAQ create mode 100644 src/3rdparty/zlib/INDEX create mode 100644 src/3rdparty/zlib/Makefile create mode 100644 src/3rdparty/zlib/Makefile.in create mode 100644 src/3rdparty/zlib/README create mode 100644 src/3rdparty/zlib/adler32.c create mode 100644 src/3rdparty/zlib/algorithm.txt create mode 100644 src/3rdparty/zlib/compress.c create mode 100755 src/3rdparty/zlib/configure create mode 100644 src/3rdparty/zlib/crc32.c create mode 100644 src/3rdparty/zlib/crc32.h create mode 100644 src/3rdparty/zlib/deflate.c create mode 100644 src/3rdparty/zlib/deflate.h create mode 100644 src/3rdparty/zlib/example.c create mode 100644 src/3rdparty/zlib/examples/README.examples create mode 100644 src/3rdparty/zlib/examples/fitblk.c create mode 100644 src/3rdparty/zlib/examples/gun.c create mode 100644 src/3rdparty/zlib/examples/gzappend.c create mode 100644 src/3rdparty/zlib/examples/gzjoin.c create mode 100644 src/3rdparty/zlib/examples/gzlog.c create mode 100644 src/3rdparty/zlib/examples/gzlog.h create mode 100644 src/3rdparty/zlib/examples/zlib_how.html create mode 100644 src/3rdparty/zlib/examples/zpipe.c create mode 100644 src/3rdparty/zlib/examples/zran.c create mode 100644 src/3rdparty/zlib/gzio.c create mode 100644 src/3rdparty/zlib/infback.c create mode 100644 src/3rdparty/zlib/inffast.c create mode 100644 src/3rdparty/zlib/inffast.h create mode 100644 src/3rdparty/zlib/inffixed.h create mode 100644 src/3rdparty/zlib/inflate.c create mode 100644 src/3rdparty/zlib/inflate.h create mode 100644 src/3rdparty/zlib/inftrees.c create mode 100644 src/3rdparty/zlib/inftrees.h create mode 100644 src/3rdparty/zlib/make_vms.com create mode 100644 src/3rdparty/zlib/minigzip.c create mode 100644 src/3rdparty/zlib/projects/README.projects create mode 100644 src/3rdparty/zlib/projects/visualc6/README.txt create mode 100644 src/3rdparty/zlib/projects/visualc6/example.dsp create mode 100644 src/3rdparty/zlib/projects/visualc6/minigzip.dsp create mode 100644 src/3rdparty/zlib/projects/visualc6/zlib.dsp create mode 100644 src/3rdparty/zlib/projects/visualc6/zlib.dsw create mode 100644 src/3rdparty/zlib/trees.c create mode 100644 src/3rdparty/zlib/trees.h create mode 100644 src/3rdparty/zlib/uncompr.c create mode 100644 src/3rdparty/zlib/win32/DLL_FAQ.txt create mode 100644 src/3rdparty/zlib/win32/Makefile.bor create mode 100644 src/3rdparty/zlib/win32/Makefile.emx create mode 100644 src/3rdparty/zlib/win32/Makefile.gcc create mode 100644 src/3rdparty/zlib/win32/Makefile.msc create mode 100644 src/3rdparty/zlib/win32/VisualC.txt create mode 100644 src/3rdparty/zlib/win32/zlib.def create mode 100644 src/3rdparty/zlib/win32/zlib1.rc create mode 100644 src/3rdparty/zlib/zconf.h create mode 100644 src/3rdparty/zlib/zconf.in.h create mode 100644 src/3rdparty/zlib/zlib.3 create mode 100644 src/3rdparty/zlib/zlib.h create mode 100644 src/3rdparty/zlib/zutil.c create mode 100644 src/3rdparty/zlib/zutil.h create mode 100644 src/activeqt/activeqt.pro create mode 100644 src/activeqt/container/container.pro create mode 100644 src/activeqt/container/qaxbase.cpp create mode 100644 src/activeqt/container/qaxbase.h create mode 100644 src/activeqt/container/qaxdump.cpp create mode 100644 src/activeqt/container/qaxobject.cpp create mode 100644 src/activeqt/container/qaxobject.h create mode 100644 src/activeqt/container/qaxscript.cpp create mode 100644 src/activeqt/container/qaxscript.h create mode 100644 src/activeqt/container/qaxscriptwrapper.cpp create mode 100644 src/activeqt/container/qaxselect.cpp create mode 100644 src/activeqt/container/qaxselect.h create mode 100644 src/activeqt/container/qaxselect.ui create mode 100644 src/activeqt/container/qaxwidget.cpp create mode 100644 src/activeqt/container/qaxwidget.h create mode 100644 src/activeqt/control/control.pro create mode 100644 src/activeqt/control/qaxaggregated.h create mode 100644 src/activeqt/control/qaxbindable.cpp create mode 100644 src/activeqt/control/qaxbindable.h create mode 100644 src/activeqt/control/qaxfactory.cpp create mode 100644 src/activeqt/control/qaxfactory.h create mode 100644 src/activeqt/control/qaxmain.cpp create mode 100644 src/activeqt/control/qaxserver.cpp create mode 100644 src/activeqt/control/qaxserver.def create mode 100644 src/activeqt/control/qaxserver.ico create mode 100644 src/activeqt/control/qaxserver.rc create mode 100644 src/activeqt/control/qaxserverbase.cpp create mode 100644 src/activeqt/control/qaxserverdll.cpp create mode 100644 src/activeqt/control/qaxservermain.cpp create mode 100644 src/activeqt/shared/qaxtypes.cpp create mode 100644 src/activeqt/shared/qaxtypes.h create mode 100644 src/corelib/QtCore.dynlist create mode 100644 src/corelib/animation/animation.pri create mode 100644 src/corelib/animation/qabstractanimation.cpp create mode 100644 src/corelib/animation/qabstractanimation.h create mode 100644 src/corelib/animation/qabstractanimation_p.h create mode 100644 src/corelib/animation/qanimationgroup.cpp create mode 100644 src/corelib/animation/qanimationgroup.h create mode 100644 src/corelib/animation/qanimationgroup_p.h create mode 100644 src/corelib/animation/qparallelanimationgroup.cpp create mode 100644 src/corelib/animation/qparallelanimationgroup.h create mode 100644 src/corelib/animation/qparallelanimationgroup_p.h create mode 100644 src/corelib/animation/qpauseanimation.cpp create mode 100644 src/corelib/animation/qpauseanimation.h create mode 100644 src/corelib/animation/qpropertyanimation.cpp create mode 100644 src/corelib/animation/qpropertyanimation.h create mode 100644 src/corelib/animation/qpropertyanimation_p.h create mode 100644 src/corelib/animation/qsequentialanimationgroup.cpp create mode 100644 src/corelib/animation/qsequentialanimationgroup.h create mode 100644 src/corelib/animation/qsequentialanimationgroup_p.h create mode 100644 src/corelib/animation/qvariantanimation.cpp create mode 100644 src/corelib/animation/qvariantanimation.h create mode 100644 src/corelib/animation/qvariantanimation_p.h create mode 100644 src/corelib/arch/alpha/arch.pri create mode 100644 src/corelib/arch/alpha/qatomic_alpha.s create mode 100644 src/corelib/arch/arch.pri create mode 100644 src/corelib/arch/arm/arch.pri create mode 100644 src/corelib/arch/arm/qatomic_arm.cpp create mode 100644 src/corelib/arch/armv6/arch.pri create mode 100644 src/corelib/arch/avr32/arch.pri create mode 100644 src/corelib/arch/bfin/arch.pri create mode 100644 src/corelib/arch/generic/arch.pri create mode 100644 src/corelib/arch/generic/qatomic_generic_unix.cpp create mode 100644 src/corelib/arch/generic/qatomic_generic_windows.cpp create mode 100644 src/corelib/arch/i386/arch.pri create mode 100644 src/corelib/arch/i386/qatomic_i386.s create mode 100644 src/corelib/arch/ia64/arch.pri create mode 100644 src/corelib/arch/ia64/qatomic_ia64.s create mode 100644 src/corelib/arch/macosx/arch.pri create mode 100644 src/corelib/arch/macosx/qatomic32_ppc.s create mode 100644 src/corelib/arch/mips/arch.pri create mode 100644 src/corelib/arch/mips/qatomic_mips32.s create mode 100644 src/corelib/arch/mips/qatomic_mips64.s create mode 100644 src/corelib/arch/parisc/arch.pri create mode 100644 src/corelib/arch/parisc/q_ldcw.s create mode 100644 src/corelib/arch/parisc/qatomic_parisc.cpp create mode 100644 src/corelib/arch/powerpc/arch.pri create mode 100644 src/corelib/arch/powerpc/qatomic32.s create mode 100644 src/corelib/arch/powerpc/qatomic64.s create mode 100644 src/corelib/arch/qatomic_alpha.h create mode 100644 src/corelib/arch/qatomic_arch.h create mode 100644 src/corelib/arch/qatomic_arm.h create mode 100644 src/corelib/arch/qatomic_armv6.h create mode 100644 src/corelib/arch/qatomic_avr32.h create mode 100644 src/corelib/arch/qatomic_bfin.h create mode 100644 src/corelib/arch/qatomic_bootstrap.h create mode 100644 src/corelib/arch/qatomic_generic.h create mode 100644 src/corelib/arch/qatomic_i386.h create mode 100644 src/corelib/arch/qatomic_ia64.h create mode 100644 src/corelib/arch/qatomic_macosx.h create mode 100644 src/corelib/arch/qatomic_mips.h create mode 100644 src/corelib/arch/qatomic_parisc.h create mode 100644 src/corelib/arch/qatomic_powerpc.h create mode 100644 src/corelib/arch/qatomic_s390.h create mode 100644 src/corelib/arch/qatomic_sh.h create mode 100644 src/corelib/arch/qatomic_sh4a.h create mode 100644 src/corelib/arch/qatomic_sparc.h create mode 100644 src/corelib/arch/qatomic_windows.h create mode 100644 src/corelib/arch/qatomic_windowsce.h create mode 100644 src/corelib/arch/qatomic_x86_64.h create mode 100644 src/corelib/arch/s390/arch.pri create mode 100644 src/corelib/arch/sh/arch.pri create mode 100644 src/corelib/arch/sh/qatomic_sh.cpp create mode 100644 src/corelib/arch/sh4a/arch.pri create mode 100644 src/corelib/arch/sparc/arch.pri create mode 100644 src/corelib/arch/sparc/qatomic32.s create mode 100644 src/corelib/arch/sparc/qatomic64.s create mode 100644 src/corelib/arch/sparc/qatomic_sparc.cpp create mode 100644 src/corelib/arch/windows/arch.pri create mode 100644 src/corelib/arch/x86_64/arch.pri create mode 100644 src/corelib/arch/x86_64/qatomic_sun.s create mode 100644 src/corelib/codecs/codecs.pri create mode 100644 src/corelib/codecs/qfontlaocodec.cpp create mode 100644 src/corelib/codecs/qfontlaocodec_p.h create mode 100644 src/corelib/codecs/qiconvcodec.cpp create mode 100644 src/corelib/codecs/qiconvcodec_p.h create mode 100644 src/corelib/codecs/qisciicodec.cpp create mode 100644 src/corelib/codecs/qisciicodec_p.h create mode 100644 src/corelib/codecs/qlatincodec.cpp create mode 100644 src/corelib/codecs/qlatincodec_p.h create mode 100644 src/corelib/codecs/qsimplecodec.cpp create mode 100644 src/corelib/codecs/qsimplecodec_p.h create mode 100644 src/corelib/codecs/qtextcodec.cpp create mode 100644 src/corelib/codecs/qtextcodec.h create mode 100644 src/corelib/codecs/qtextcodec_p.h create mode 100644 src/corelib/codecs/qtextcodecplugin.cpp create mode 100644 src/corelib/codecs/qtextcodecplugin.h create mode 100644 src/corelib/codecs/qtsciicodec.cpp create mode 100644 src/corelib/codecs/qtsciicodec_p.h create mode 100644 src/corelib/codecs/qutfcodec.cpp create mode 100644 src/corelib/codecs/qutfcodec_p.h create mode 100644 src/corelib/concurrent/concurrent.pri create mode 100644 src/corelib/concurrent/qfuture.cpp create mode 100644 src/corelib/concurrent/qfuture.h create mode 100644 src/corelib/concurrent/qfutureinterface.cpp create mode 100644 src/corelib/concurrent/qfutureinterface.h create mode 100644 src/corelib/concurrent/qfutureinterface_p.h create mode 100644 src/corelib/concurrent/qfuturesynchronizer.cpp create mode 100644 src/corelib/concurrent/qfuturesynchronizer.h create mode 100644 src/corelib/concurrent/qfuturewatcher.cpp create mode 100644 src/corelib/concurrent/qfuturewatcher.h create mode 100644 src/corelib/concurrent/qfuturewatcher_p.h create mode 100644 src/corelib/concurrent/qrunnable.cpp create mode 100644 src/corelib/concurrent/qrunnable.h create mode 100644 src/corelib/concurrent/qtconcurrentcompilertest.h create mode 100644 src/corelib/concurrent/qtconcurrentexception.cpp create mode 100644 src/corelib/concurrent/qtconcurrentexception.h create mode 100644 src/corelib/concurrent/qtconcurrentfilter.cpp create mode 100644 src/corelib/concurrent/qtconcurrentfilter.h create mode 100644 src/corelib/concurrent/qtconcurrentfilterkernel.h create mode 100644 src/corelib/concurrent/qtconcurrentfunctionwrappers.h create mode 100644 src/corelib/concurrent/qtconcurrentiteratekernel.cpp create mode 100644 src/corelib/concurrent/qtconcurrentiteratekernel.h create mode 100644 src/corelib/concurrent/qtconcurrentmap.cpp create mode 100644 src/corelib/concurrent/qtconcurrentmap.h create mode 100644 src/corelib/concurrent/qtconcurrentmapkernel.h create mode 100644 src/corelib/concurrent/qtconcurrentmedian.h create mode 100644 src/corelib/concurrent/qtconcurrentreducekernel.h create mode 100644 src/corelib/concurrent/qtconcurrentresultstore.cpp create mode 100644 src/corelib/concurrent/qtconcurrentresultstore.h create mode 100644 src/corelib/concurrent/qtconcurrentrun.cpp create mode 100644 src/corelib/concurrent/qtconcurrentrun.h create mode 100644 src/corelib/concurrent/qtconcurrentrunbase.h create mode 100644 src/corelib/concurrent/qtconcurrentstoredfunctioncall.h create mode 100644 src/corelib/concurrent/qtconcurrentthreadengine.cpp create mode 100644 src/corelib/concurrent/qtconcurrentthreadengine.h create mode 100644 src/corelib/concurrent/qthreadpool.cpp create mode 100644 src/corelib/concurrent/qthreadpool.h create mode 100644 src/corelib/concurrent/qthreadpool_p.h create mode 100644 src/corelib/corelib.pro create mode 100644 src/corelib/global/global.pri create mode 100644 src/corelib/global/qconfig-dist.h create mode 100644 src/corelib/global/qconfig-large.h create mode 100644 src/corelib/global/qconfig-medium.h create mode 100644 src/corelib/global/qconfig-minimal.h create mode 100644 src/corelib/global/qconfig-small.h create mode 100644 src/corelib/global/qendian.h create mode 100644 src/corelib/global/qfeatures.h create mode 100644 src/corelib/global/qfeatures.txt create mode 100644 src/corelib/global/qglobal.cpp create mode 100644 src/corelib/global/qglobal.h create mode 100644 src/corelib/global/qlibraryinfo.cpp create mode 100644 src/corelib/global/qlibraryinfo.h create mode 100644 src/corelib/global/qmalloc.cpp create mode 100644 src/corelib/global/qnamespace.h create mode 100644 src/corelib/global/qnumeric.cpp create mode 100644 src/corelib/global/qnumeric.h create mode 100644 src/corelib/global/qnumeric_p.h create mode 100644 src/corelib/global/qt_pch.h create mode 100644 src/corelib/global/qt_windows.h create mode 100644 src/corelib/io/io.pri create mode 100644 src/corelib/io/qabstractfileengine.cpp create mode 100644 src/corelib/io/qabstractfileengine.h create mode 100644 src/corelib/io/qabstractfileengine_p.h create mode 100644 src/corelib/io/qbuffer.cpp create mode 100644 src/corelib/io/qbuffer.h create mode 100644 src/corelib/io/qdatastream.cpp create mode 100644 src/corelib/io/qdatastream.h create mode 100644 src/corelib/io/qdebug.cpp create mode 100644 src/corelib/io/qdebug.h create mode 100644 src/corelib/io/qdir.cpp create mode 100644 src/corelib/io/qdir.h create mode 100644 src/corelib/io/qdiriterator.cpp create mode 100644 src/corelib/io/qdiriterator.h create mode 100644 src/corelib/io/qfile.cpp create mode 100644 src/corelib/io/qfile.h create mode 100644 src/corelib/io/qfile_p.h create mode 100644 src/corelib/io/qfileinfo.cpp create mode 100644 src/corelib/io/qfileinfo.h create mode 100644 src/corelib/io/qfileinfo_p.h create mode 100644 src/corelib/io/qfilesystemwatcher.cpp create mode 100644 src/corelib/io/qfilesystemwatcher.h create mode 100644 src/corelib/io/qfilesystemwatcher_dnotify.cpp create mode 100644 src/corelib/io/qfilesystemwatcher_dnotify_p.h create mode 100644 src/corelib/io/qfilesystemwatcher_inotify.cpp create mode 100644 src/corelib/io/qfilesystemwatcher_inotify_p.h create mode 100644 src/corelib/io/qfilesystemwatcher_kqueue.cpp create mode 100644 src/corelib/io/qfilesystemwatcher_kqueue_p.h create mode 100644 src/corelib/io/qfilesystemwatcher_p.h create mode 100644 src/corelib/io/qfilesystemwatcher_win.cpp create mode 100644 src/corelib/io/qfilesystemwatcher_win_p.h create mode 100644 src/corelib/io/qfsfileengine.cpp create mode 100644 src/corelib/io/qfsfileengine.h create mode 100644 src/corelib/io/qfsfileengine_iterator.cpp create mode 100644 src/corelib/io/qfsfileengine_iterator_p.h create mode 100644 src/corelib/io/qfsfileengine_iterator_unix.cpp create mode 100644 src/corelib/io/qfsfileengine_iterator_win.cpp create mode 100644 src/corelib/io/qfsfileengine_p.h create mode 100644 src/corelib/io/qfsfileengine_unix.cpp create mode 100644 src/corelib/io/qfsfileengine_win.cpp create mode 100644 src/corelib/io/qiodevice.cpp create mode 100644 src/corelib/io/qiodevice.h create mode 100644 src/corelib/io/qiodevice_p.h create mode 100644 src/corelib/io/qprocess.cpp create mode 100644 src/corelib/io/qprocess.h create mode 100644 src/corelib/io/qprocess_p.h create mode 100644 src/corelib/io/qprocess_unix.cpp create mode 100644 src/corelib/io/qprocess_win.cpp create mode 100644 src/corelib/io/qresource.cpp create mode 100644 src/corelib/io/qresource.h create mode 100644 src/corelib/io/qresource_iterator.cpp create mode 100644 src/corelib/io/qresource_iterator_p.h create mode 100644 src/corelib/io/qresource_p.h create mode 100644 src/corelib/io/qsettings.cpp create mode 100644 src/corelib/io/qsettings.h create mode 100644 src/corelib/io/qsettings_mac.cpp create mode 100644 src/corelib/io/qsettings_p.h create mode 100644 src/corelib/io/qsettings_win.cpp create mode 100644 src/corelib/io/qtemporaryfile.cpp create mode 100644 src/corelib/io/qtemporaryfile.h create mode 100644 src/corelib/io/qtextstream.cpp create mode 100644 src/corelib/io/qtextstream.h create mode 100644 src/corelib/io/qurl.cpp create mode 100644 src/corelib/io/qurl.h create mode 100644 src/corelib/io/qwindowspipewriter.cpp create mode 100644 src/corelib/io/qwindowspipewriter_p.h create mode 100644 src/corelib/kernel/kernel.pri create mode 100644 src/corelib/kernel/qabstracteventdispatcher.cpp create mode 100644 src/corelib/kernel/qabstracteventdispatcher.h create mode 100644 src/corelib/kernel/qabstracteventdispatcher_p.h create mode 100644 src/corelib/kernel/qabstractitemmodel.cpp create mode 100644 src/corelib/kernel/qabstractitemmodel.h create mode 100644 src/corelib/kernel/qabstractitemmodel_p.h create mode 100644 src/corelib/kernel/qbasictimer.cpp create mode 100644 src/corelib/kernel/qbasictimer.h create mode 100644 src/corelib/kernel/qcore_mac.cpp create mode 100644 src/corelib/kernel/qcore_mac_p.h create mode 100644 src/corelib/kernel/qcoreapplication.cpp create mode 100644 src/corelib/kernel/qcoreapplication.h create mode 100644 src/corelib/kernel/qcoreapplication_mac.cpp create mode 100644 src/corelib/kernel/qcoreapplication_p.h create mode 100644 src/corelib/kernel/qcoreapplication_win.cpp create mode 100644 src/corelib/kernel/qcorecmdlineargs_p.h create mode 100644 src/corelib/kernel/qcoreevent.cpp create mode 100644 src/corelib/kernel/qcoreevent.h create mode 100644 src/corelib/kernel/qcoreglobaldata.cpp create mode 100644 src/corelib/kernel/qcoreglobaldata_p.h create mode 100644 src/corelib/kernel/qcrashhandler.cpp create mode 100644 src/corelib/kernel/qcrashhandler_p.h create mode 100644 src/corelib/kernel/qeventdispatcher_glib.cpp create mode 100644 src/corelib/kernel/qeventdispatcher_glib_p.h create mode 100644 src/corelib/kernel/qeventdispatcher_unix.cpp create mode 100644 src/corelib/kernel/qeventdispatcher_unix_p.h create mode 100644 src/corelib/kernel/qeventdispatcher_win.cpp create mode 100644 src/corelib/kernel/qeventdispatcher_win_p.h create mode 100644 src/corelib/kernel/qeventloop.cpp create mode 100644 src/corelib/kernel/qeventloop.h create mode 100644 src/corelib/kernel/qfunctions_p.h create mode 100644 src/corelib/kernel/qfunctions_wince.cpp create mode 100644 src/corelib/kernel/qfunctions_wince.h create mode 100644 src/corelib/kernel/qmath.h create mode 100644 src/corelib/kernel/qmetaobject.cpp create mode 100644 src/corelib/kernel/qmetaobject.h create mode 100644 src/corelib/kernel/qmetaobject_p.h create mode 100644 src/corelib/kernel/qmetatype.cpp create mode 100644 src/corelib/kernel/qmetatype.h create mode 100644 src/corelib/kernel/qmimedata.cpp create mode 100644 src/corelib/kernel/qmimedata.h create mode 100644 src/corelib/kernel/qobject.cpp create mode 100644 src/corelib/kernel/qobject.h create mode 100644 src/corelib/kernel/qobject_p.h create mode 100644 src/corelib/kernel/qobjectcleanuphandler.cpp create mode 100644 src/corelib/kernel/qobjectcleanuphandler.h create mode 100644 src/corelib/kernel/qobjectdefs.h create mode 100644 src/corelib/kernel/qpointer.cpp create mode 100644 src/corelib/kernel/qpointer.h create mode 100644 src/corelib/kernel/qsharedmemory.cpp create mode 100644 src/corelib/kernel/qsharedmemory.h create mode 100644 src/corelib/kernel/qsharedmemory_p.h create mode 100644 src/corelib/kernel/qsharedmemory_unix.cpp create mode 100644 src/corelib/kernel/qsharedmemory_win.cpp create mode 100644 src/corelib/kernel/qsignalmapper.cpp create mode 100644 src/corelib/kernel/qsignalmapper.h create mode 100644 src/corelib/kernel/qsocketnotifier.cpp create mode 100644 src/corelib/kernel/qsocketnotifier.h create mode 100644 src/corelib/kernel/qsystemsemaphore.cpp create mode 100644 src/corelib/kernel/qsystemsemaphore.h create mode 100644 src/corelib/kernel/qsystemsemaphore_p.h create mode 100644 src/corelib/kernel/qsystemsemaphore_unix.cpp create mode 100644 src/corelib/kernel/qsystemsemaphore_win.cpp create mode 100644 src/corelib/kernel/qtimer.cpp create mode 100644 src/corelib/kernel/qtimer.h create mode 100644 src/corelib/kernel/qtranslator.cpp create mode 100644 src/corelib/kernel/qtranslator.h create mode 100644 src/corelib/kernel/qtranslator_p.h create mode 100644 src/corelib/kernel/qvariant.cpp create mode 100644 src/corelib/kernel/qvariant.h create mode 100644 src/corelib/kernel/qvariant_p.h create mode 100644 src/corelib/kernel/qwineventnotifier_p.cpp create mode 100644 src/corelib/kernel/qwineventnotifier_p.h create mode 100644 src/corelib/plugin/plugin.pri create mode 100644 src/corelib/plugin/qfactoryinterface.h create mode 100644 src/corelib/plugin/qfactoryloader.cpp create mode 100644 src/corelib/plugin/qfactoryloader_p.h create mode 100644 src/corelib/plugin/qlibrary.cpp create mode 100644 src/corelib/plugin/qlibrary.h create mode 100644 src/corelib/plugin/qlibrary_p.h create mode 100644 src/corelib/plugin/qlibrary_unix.cpp create mode 100644 src/corelib/plugin/qlibrary_win.cpp create mode 100644 src/corelib/plugin/qplugin.h create mode 100644 src/corelib/plugin/qpluginloader.cpp create mode 100644 src/corelib/plugin/qpluginloader.h create mode 100644 src/corelib/plugin/quuid.cpp create mode 100644 src/corelib/plugin/quuid.h create mode 100644 src/corelib/statemachine/qabstractstate.cpp create mode 100644 src/corelib/statemachine/qabstractstate.h create mode 100644 src/corelib/statemachine/qabstractstate_p.h create mode 100644 src/corelib/statemachine/qabstracttransition.cpp create mode 100644 src/corelib/statemachine/qabstracttransition.h create mode 100644 src/corelib/statemachine/qabstracttransition_p.h create mode 100644 src/corelib/statemachine/qactionstate.cpp create mode 100644 src/corelib/statemachine/qactionstate.h create mode 100644 src/corelib/statemachine/qactionstate_p.h create mode 100644 src/corelib/statemachine/qanimationstate.cpp create mode 100644 src/corelib/statemachine/qanimationstate.h create mode 100644 src/corelib/statemachine/qboundevent_p.h create mode 100644 src/corelib/statemachine/qeventtransition.cpp create mode 100644 src/corelib/statemachine/qeventtransition.h create mode 100644 src/corelib/statemachine/qeventtransition_p.h create mode 100644 src/corelib/statemachine/qfinalstate.cpp create mode 100644 src/corelib/statemachine/qfinalstate.h create mode 100644 src/corelib/statemachine/qhistorystate.cpp create mode 100644 src/corelib/statemachine/qhistorystate.h create mode 100644 src/corelib/statemachine/qhistorystate_p.h create mode 100644 src/corelib/statemachine/qsignalevent.h create mode 100644 src/corelib/statemachine/qsignaleventgenerator_p.h create mode 100644 src/corelib/statemachine/qsignaltransition.cpp create mode 100644 src/corelib/statemachine/qsignaltransition.h create mode 100644 src/corelib/statemachine/qsignaltransition_p.h create mode 100644 src/corelib/statemachine/qstate.cpp create mode 100644 src/corelib/statemachine/qstate.h create mode 100644 src/corelib/statemachine/qstate_p.h create mode 100644 src/corelib/statemachine/qstateaction.cpp create mode 100644 src/corelib/statemachine/qstateaction.h create mode 100644 src/corelib/statemachine/qstateaction_p.h create mode 100644 src/corelib/statemachine/qstatefinishedevent.h create mode 100644 src/corelib/statemachine/qstatefinishedtransition.cpp create mode 100644 src/corelib/statemachine/qstatefinishedtransition.h create mode 100644 src/corelib/statemachine/qstatemachine.cpp create mode 100644 src/corelib/statemachine/qstatemachine.h create mode 100644 src/corelib/statemachine/qstatemachine_p.h create mode 100644 src/corelib/statemachine/qtransition.cpp create mode 100644 src/corelib/statemachine/qtransition.h create mode 100644 src/corelib/statemachine/qtransition_p.h create mode 100644 src/corelib/statemachine/statemachine.pri create mode 100644 src/corelib/thread/qatomic.cpp create mode 100644 src/corelib/thread/qatomic.h create mode 100644 src/corelib/thread/qbasicatomic.h create mode 100644 src/corelib/thread/qmutex.cpp create mode 100644 src/corelib/thread/qmutex.h create mode 100644 src/corelib/thread/qmutex_p.h create mode 100644 src/corelib/thread/qmutex_unix.cpp create mode 100644 src/corelib/thread/qmutex_win.cpp create mode 100644 src/corelib/thread/qmutexpool.cpp create mode 100644 src/corelib/thread/qmutexpool_p.h create mode 100644 src/corelib/thread/qorderedmutexlocker_p.h create mode 100644 src/corelib/thread/qreadwritelock.cpp create mode 100644 src/corelib/thread/qreadwritelock.h create mode 100644 src/corelib/thread/qreadwritelock_p.h create mode 100644 src/corelib/thread/qsemaphore.cpp create mode 100644 src/corelib/thread/qsemaphore.h create mode 100644 src/corelib/thread/qthread.cpp create mode 100644 src/corelib/thread/qthread.h create mode 100644 src/corelib/thread/qthread_p.h create mode 100644 src/corelib/thread/qthread_unix.cpp create mode 100644 src/corelib/thread/qthread_win.cpp create mode 100644 src/corelib/thread/qthreadstorage.cpp create mode 100644 src/corelib/thread/qthreadstorage.h create mode 100644 src/corelib/thread/qwaitcondition.h create mode 100644 src/corelib/thread/qwaitcondition_unix.cpp create mode 100644 src/corelib/thread/qwaitcondition_win.cpp create mode 100644 src/corelib/thread/thread.pri create mode 100644 src/corelib/tools/qalgorithms.h create mode 100644 src/corelib/tools/qbitarray.cpp create mode 100644 src/corelib/tools/qbitarray.h create mode 100644 src/corelib/tools/qbytearray.cpp create mode 100644 src/corelib/tools/qbytearray.h create mode 100644 src/corelib/tools/qbytearraymatcher.cpp create mode 100644 src/corelib/tools/qbytearraymatcher.h create mode 100644 src/corelib/tools/qcache.h create mode 100644 src/corelib/tools/qchar.cpp create mode 100644 src/corelib/tools/qchar.h create mode 100644 src/corelib/tools/qcontainerfwd.h create mode 100644 src/corelib/tools/qcryptographichash.cpp create mode 100644 src/corelib/tools/qcryptographichash.h create mode 100644 src/corelib/tools/qdatetime.cpp create mode 100644 src/corelib/tools/qdatetime.h create mode 100644 src/corelib/tools/qdatetime_p.h create mode 100644 src/corelib/tools/qdumper.cpp create mode 100644 src/corelib/tools/qeasingcurve.cpp create mode 100644 src/corelib/tools/qeasingcurve.h create mode 100644 src/corelib/tools/qharfbuzz.cpp create mode 100644 src/corelib/tools/qharfbuzz_p.h create mode 100644 src/corelib/tools/qhash.cpp create mode 100644 src/corelib/tools/qhash.h create mode 100644 src/corelib/tools/qiterator.h create mode 100644 src/corelib/tools/qline.cpp create mode 100644 src/corelib/tools/qline.h create mode 100644 src/corelib/tools/qlinkedlist.cpp create mode 100644 src/corelib/tools/qlinkedlist.h create mode 100644 src/corelib/tools/qlist.h create mode 100644 src/corelib/tools/qlistdata.cpp create mode 100644 src/corelib/tools/qlocale.cpp create mode 100644 src/corelib/tools/qlocale.h create mode 100644 src/corelib/tools/qlocale_data_p.h create mode 100644 src/corelib/tools/qlocale_p.h create mode 100644 src/corelib/tools/qmap.cpp create mode 100644 src/corelib/tools/qmap.h create mode 100644 src/corelib/tools/qpair.h create mode 100644 src/corelib/tools/qpodlist_p.h create mode 100644 src/corelib/tools/qpoint.cpp create mode 100644 src/corelib/tools/qpoint.h create mode 100644 src/corelib/tools/qqueue.cpp create mode 100644 src/corelib/tools/qqueue.h create mode 100644 src/corelib/tools/qrect.cpp create mode 100644 src/corelib/tools/qrect.h create mode 100644 src/corelib/tools/qregexp.cpp create mode 100644 src/corelib/tools/qregexp.h create mode 100644 src/corelib/tools/qringbuffer_p.h create mode 100644 src/corelib/tools/qset.h create mode 100644 src/corelib/tools/qshareddata.cpp create mode 100644 src/corelib/tools/qshareddata.h create mode 100644 src/corelib/tools/qsharedpointer.cpp create mode 100644 src/corelib/tools/qsharedpointer.h create mode 100644 src/corelib/tools/qsharedpointer_impl.h create mode 100644 src/corelib/tools/qsize.cpp create mode 100644 src/corelib/tools/qsize.h create mode 100644 src/corelib/tools/qstack.cpp create mode 100644 src/corelib/tools/qstack.h create mode 100644 src/corelib/tools/qstring.cpp create mode 100644 src/corelib/tools/qstring.h create mode 100644 src/corelib/tools/qstringlist.cpp create mode 100644 src/corelib/tools/qstringlist.h create mode 100644 src/corelib/tools/qstringmatcher.cpp create mode 100644 src/corelib/tools/qstringmatcher.h create mode 100644 src/corelib/tools/qtextboundaryfinder.cpp create mode 100644 src/corelib/tools/qtextboundaryfinder.h create mode 100644 src/corelib/tools/qtimeline.cpp create mode 100644 src/corelib/tools/qtimeline.h create mode 100644 src/corelib/tools/qtools_p.h create mode 100644 src/corelib/tools/qunicodetables.cpp create mode 100644 src/corelib/tools/qunicodetables_p.h create mode 100644 src/corelib/tools/qvarlengtharray.h create mode 100644 src/corelib/tools/qvector.cpp create mode 100644 src/corelib/tools/qvector.h create mode 100644 src/corelib/tools/qvsnprintf.cpp create mode 100644 src/corelib/tools/tools.pri create mode 100644 src/corelib/xml/.gitignore create mode 100755 src/corelib/xml/make-parser.sh create mode 100644 src/corelib/xml/qxmlstream.cpp create mode 100644 src/corelib/xml/qxmlstream.g create mode 100644 src/corelib/xml/qxmlstream.h create mode 100644 src/corelib/xml/qxmlstream_p.h create mode 100644 src/corelib/xml/qxmlutils.cpp create mode 100644 src/corelib/xml/qxmlutils_p.h create mode 100644 src/corelib/xml/xml.pri create mode 100644 src/dbus/dbus.pro create mode 100644 src/dbus/qdbus_symbols.cpp create mode 100644 src/dbus/qdbus_symbols_p.h create mode 100644 src/dbus/qdbusabstractadaptor.cpp create mode 100644 src/dbus/qdbusabstractadaptor.h create mode 100644 src/dbus/qdbusabstractadaptor_p.h create mode 100644 src/dbus/qdbusabstractinterface.cpp create mode 100644 src/dbus/qdbusabstractinterface.h create mode 100644 src/dbus/qdbusabstractinterface_p.h create mode 100644 src/dbus/qdbusargument.cpp create mode 100644 src/dbus/qdbusargument.h create mode 100644 src/dbus/qdbusargument_p.h create mode 100644 src/dbus/qdbusconnection.cpp create mode 100644 src/dbus/qdbusconnection.h create mode 100644 src/dbus/qdbusconnection_p.h create mode 100644 src/dbus/qdbusconnectioninterface.cpp create mode 100644 src/dbus/qdbusconnectioninterface.h create mode 100644 src/dbus/qdbuscontext.cpp create mode 100644 src/dbus/qdbuscontext.h create mode 100644 src/dbus/qdbuscontext_p.h create mode 100644 src/dbus/qdbusdemarshaller.cpp create mode 100644 src/dbus/qdbuserror.cpp create mode 100644 src/dbus/qdbuserror.h create mode 100644 src/dbus/qdbusextratypes.cpp create mode 100644 src/dbus/qdbusextratypes.h create mode 100644 src/dbus/qdbusintegrator.cpp create mode 100644 src/dbus/qdbusintegrator_p.h create mode 100644 src/dbus/qdbusinterface.cpp create mode 100644 src/dbus/qdbusinterface.h create mode 100644 src/dbus/qdbusinterface_p.h create mode 100644 src/dbus/qdbusinternalfilters.cpp create mode 100644 src/dbus/qdbusintrospection.cpp create mode 100644 src/dbus/qdbusintrospection_p.h create mode 100644 src/dbus/qdbusmacros.h create mode 100644 src/dbus/qdbusmarshaller.cpp create mode 100644 src/dbus/qdbusmessage.cpp create mode 100644 src/dbus/qdbusmessage.h create mode 100644 src/dbus/qdbusmessage_p.h create mode 100644 src/dbus/qdbusmetaobject.cpp create mode 100644 src/dbus/qdbusmetaobject_p.h create mode 100644 src/dbus/qdbusmetatype.cpp create mode 100644 src/dbus/qdbusmetatype.h create mode 100644 src/dbus/qdbusmetatype_p.h create mode 100644 src/dbus/qdbusmisc.cpp create mode 100644 src/dbus/qdbuspendingcall.cpp create mode 100644 src/dbus/qdbuspendingcall.h create mode 100644 src/dbus/qdbuspendingcall_p.h create mode 100644 src/dbus/qdbuspendingreply.cpp create mode 100644 src/dbus/qdbuspendingreply.h create mode 100644 src/dbus/qdbusreply.cpp create mode 100644 src/dbus/qdbusreply.h create mode 100644 src/dbus/qdbusserver.cpp create mode 100644 src/dbus/qdbusserver.h create mode 100644 src/dbus/qdbusthread.cpp create mode 100644 src/dbus/qdbusthreaddebug_p.h create mode 100644 src/dbus/qdbusutil.cpp create mode 100644 src/dbus/qdbusutil_p.h create mode 100644 src/dbus/qdbusxmlgenerator.cpp create mode 100644 src/dbus/qdbusxmlparser.cpp create mode 100644 src/dbus/qdbusxmlparser_p.h create mode 100644 src/gui/QtGui.dynlist create mode 100644 src/gui/accessible/accessible.pri create mode 100644 src/gui/accessible/qaccessible.cpp create mode 100644 src/gui/accessible/qaccessible.h create mode 100644 src/gui/accessible/qaccessible2.cpp create mode 100644 src/gui/accessible/qaccessible2.h create mode 100644 src/gui/accessible/qaccessible_mac.mm create mode 100644 src/gui/accessible/qaccessible_mac_carbon.cpp create mode 100644 src/gui/accessible/qaccessible_mac_cocoa.mm create mode 100644 src/gui/accessible/qaccessible_mac_p.h create mode 100644 src/gui/accessible/qaccessible_unix.cpp create mode 100644 src/gui/accessible/qaccessible_win.cpp create mode 100644 src/gui/accessible/qaccessiblebridge.cpp create mode 100644 src/gui/accessible/qaccessiblebridge.h create mode 100644 src/gui/accessible/qaccessibleobject.cpp create mode 100644 src/gui/accessible/qaccessibleobject.h create mode 100644 src/gui/accessible/qaccessibleplugin.cpp create mode 100644 src/gui/accessible/qaccessibleplugin.h create mode 100644 src/gui/accessible/qaccessiblewidget.cpp create mode 100644 src/gui/accessible/qaccessiblewidget.h create mode 100644 src/gui/animation/animation.pri create mode 100644 src/gui/animation/qitemanimation.cpp create mode 100644 src/gui/animation/qitemanimation.h create mode 100644 src/gui/animation/qitemanimation_p.h create mode 100644 src/gui/dialogs/dialogs.pri create mode 100644 src/gui/dialogs/images/fit-page-24.png create mode 100644 src/gui/dialogs/images/fit-page-32.png create mode 100644 src/gui/dialogs/images/fit-width-24.png create mode 100644 src/gui/dialogs/images/fit-width-32.png create mode 100644 src/gui/dialogs/images/go-first-24.png create mode 100644 src/gui/dialogs/images/go-first-32.png create mode 100644 src/gui/dialogs/images/go-last-24.png create mode 100644 src/gui/dialogs/images/go-last-32.png create mode 100644 src/gui/dialogs/images/go-next-24.png create mode 100644 src/gui/dialogs/images/go-next-32.png create mode 100644 src/gui/dialogs/images/go-previous-24.png create mode 100644 src/gui/dialogs/images/go-previous-32.png create mode 100644 src/gui/dialogs/images/layout-landscape-24.png create mode 100644 src/gui/dialogs/images/layout-landscape-32.png create mode 100644 src/gui/dialogs/images/layout-portrait-24.png create mode 100644 src/gui/dialogs/images/layout-portrait-32.png create mode 100644 src/gui/dialogs/images/page-setup-24.png create mode 100644 src/gui/dialogs/images/page-setup-32.png create mode 100644 src/gui/dialogs/images/print-24.png create mode 100644 src/gui/dialogs/images/print-32.png create mode 100644 src/gui/dialogs/images/qtlogo-64.png create mode 100644 src/gui/dialogs/images/status-color.png create mode 100644 src/gui/dialogs/images/status-gray-scale.png create mode 100644 src/gui/dialogs/images/view-page-multi-24.png create mode 100644 src/gui/dialogs/images/view-page-multi-32.png create mode 100644 src/gui/dialogs/images/view-page-one-24.png create mode 100644 src/gui/dialogs/images/view-page-one-32.png create mode 100644 src/gui/dialogs/images/view-page-sided-24.png create mode 100644 src/gui/dialogs/images/view-page-sided-32.png create mode 100644 src/gui/dialogs/images/zoom-in-24.png create mode 100644 src/gui/dialogs/images/zoom-in-32.png create mode 100644 src/gui/dialogs/images/zoom-out-24.png create mode 100644 src/gui/dialogs/images/zoom-out-32.png create mode 100644 src/gui/dialogs/qabstractpagesetupdialog.cpp create mode 100644 src/gui/dialogs/qabstractpagesetupdialog.h create mode 100644 src/gui/dialogs/qabstractpagesetupdialog_p.h create mode 100644 src/gui/dialogs/qabstractprintdialog.cpp create mode 100644 src/gui/dialogs/qabstractprintdialog.h create mode 100644 src/gui/dialogs/qabstractprintdialog_p.h create mode 100644 src/gui/dialogs/qcolordialog.cpp create mode 100644 src/gui/dialogs/qcolordialog.h create mode 100644 src/gui/dialogs/qcolordialog_mac.mm create mode 100644 src/gui/dialogs/qcolordialog_p.h create mode 100644 src/gui/dialogs/qdialog.cpp create mode 100644 src/gui/dialogs/qdialog.h create mode 100644 src/gui/dialogs/qdialog_p.h create mode 100644 src/gui/dialogs/qdialogsbinarycompat_win.cpp create mode 100644 src/gui/dialogs/qerrormessage.cpp create mode 100644 src/gui/dialogs/qerrormessage.h create mode 100644 src/gui/dialogs/qfiledialog.cpp create mode 100644 src/gui/dialogs/qfiledialog.h create mode 100644 src/gui/dialogs/qfiledialog.ui create mode 100644 src/gui/dialogs/qfiledialog_mac.mm create mode 100644 src/gui/dialogs/qfiledialog_p.h create mode 100644 src/gui/dialogs/qfiledialog_win.cpp create mode 100644 src/gui/dialogs/qfiledialog_wince.ui create mode 100644 src/gui/dialogs/qfileinfogatherer.cpp create mode 100644 src/gui/dialogs/qfileinfogatherer_p.h create mode 100644 src/gui/dialogs/qfilesystemmodel.cpp create mode 100644 src/gui/dialogs/qfilesystemmodel.h create mode 100644 src/gui/dialogs/qfilesystemmodel_p.h create mode 100644 src/gui/dialogs/qfontdialog.cpp create mode 100644 src/gui/dialogs/qfontdialog.h create mode 100644 src/gui/dialogs/qfontdialog_mac.mm create mode 100644 src/gui/dialogs/qfontdialog_p.h create mode 100644 src/gui/dialogs/qinputdialog.cpp create mode 100644 src/gui/dialogs/qinputdialog.h create mode 100644 src/gui/dialogs/qmessagebox.cpp create mode 100644 src/gui/dialogs/qmessagebox.h create mode 100644 src/gui/dialogs/qmessagebox.qrc create mode 100644 src/gui/dialogs/qnspanelproxy_mac.mm create mode 100644 src/gui/dialogs/qpagesetupdialog.cpp create mode 100644 src/gui/dialogs/qpagesetupdialog.h create mode 100644 src/gui/dialogs/qpagesetupdialog_mac.mm create mode 100644 src/gui/dialogs/qpagesetupdialog_unix.cpp create mode 100644 src/gui/dialogs/qpagesetupdialog_unix_p.h create mode 100644 src/gui/dialogs/qpagesetupdialog_win.cpp create mode 100644 src/gui/dialogs/qpagesetupwidget.ui create mode 100644 src/gui/dialogs/qprintdialog.h create mode 100644 src/gui/dialogs/qprintdialog.qrc create mode 100644 src/gui/dialogs/qprintdialog_mac.mm create mode 100644 src/gui/dialogs/qprintdialog_qws.cpp create mode 100644 src/gui/dialogs/qprintdialog_unix.cpp create mode 100644 src/gui/dialogs/qprintdialog_win.cpp create mode 100644 src/gui/dialogs/qprintpreviewdialog.cpp create mode 100644 src/gui/dialogs/qprintpreviewdialog.h create mode 100644 src/gui/dialogs/qprintpropertieswidget.ui create mode 100644 src/gui/dialogs/qprintsettingsoutput.ui create mode 100644 src/gui/dialogs/qprintwidget.ui create mode 100644 src/gui/dialogs/qprogressdialog.cpp create mode 100644 src/gui/dialogs/qprogressdialog.h create mode 100644 src/gui/dialogs/qsidebar.cpp create mode 100644 src/gui/dialogs/qsidebar_p.h create mode 100644 src/gui/dialogs/qwizard.cpp create mode 100644 src/gui/dialogs/qwizard.h create mode 100644 src/gui/dialogs/qwizard_win.cpp create mode 100644 src/gui/dialogs/qwizard_win_p.h create mode 100644 src/gui/embedded/embedded.pri create mode 100644 src/gui/embedded/qcopchannel_qws.cpp create mode 100644 src/gui/embedded/qcopchannel_qws.h create mode 100644 src/gui/embedded/qdecoration_qws.cpp create mode 100644 src/gui/embedded/qdecoration_qws.h create mode 100644 src/gui/embedded/qdecorationdefault_qws.cpp create mode 100644 src/gui/embedded/qdecorationdefault_qws.h create mode 100644 src/gui/embedded/qdecorationfactory_qws.cpp create mode 100644 src/gui/embedded/qdecorationfactory_qws.h create mode 100644 src/gui/embedded/qdecorationplugin_qws.cpp create mode 100644 src/gui/embedded/qdecorationplugin_qws.h create mode 100644 src/gui/embedded/qdecorationstyled_qws.cpp create mode 100644 src/gui/embedded/qdecorationstyled_qws.h create mode 100644 src/gui/embedded/qdecorationwindows_qws.cpp create mode 100644 src/gui/embedded/qdecorationwindows_qws.h create mode 100644 src/gui/embedded/qdirectpainter_qws.cpp create mode 100644 src/gui/embedded/qdirectpainter_qws.h create mode 100644 src/gui/embedded/qkbd_qws.cpp create mode 100644 src/gui/embedded/qkbd_qws.h create mode 100644 src/gui/embedded/qkbddriverfactory_qws.cpp create mode 100644 src/gui/embedded/qkbddriverfactory_qws.h create mode 100644 src/gui/embedded/qkbddriverplugin_qws.cpp create mode 100644 src/gui/embedded/qkbddriverplugin_qws.h create mode 100644 src/gui/embedded/qkbdpc101_qws.cpp create mode 100644 src/gui/embedded/qkbdpc101_qws.h create mode 100644 src/gui/embedded/qkbdsl5000_qws.cpp create mode 100644 src/gui/embedded/qkbdsl5000_qws.h create mode 100644 src/gui/embedded/qkbdtty_qws.cpp create mode 100644 src/gui/embedded/qkbdtty_qws.h create mode 100644 src/gui/embedded/qkbdum_qws.cpp create mode 100644 src/gui/embedded/qkbdum_qws.h create mode 100644 src/gui/embedded/qkbdusb_qws.cpp create mode 100644 src/gui/embedded/qkbdusb_qws.h create mode 100644 src/gui/embedded/qkbdvfb_qws.cpp create mode 100644 src/gui/embedded/qkbdvfb_qws.h create mode 100644 src/gui/embedded/qkbdvr41xx_qws.cpp create mode 100644 src/gui/embedded/qkbdvr41xx_qws.h create mode 100644 src/gui/embedded/qkbdyopy_qws.cpp create mode 100644 src/gui/embedded/qkbdyopy_qws.h create mode 100644 src/gui/embedded/qlock.cpp create mode 100644 src/gui/embedded/qlock_p.h create mode 100644 src/gui/embedded/qmouse_qws.cpp create mode 100644 src/gui/embedded/qmouse_qws.h create mode 100644 src/gui/embedded/qmousebus_qws.cpp create mode 100644 src/gui/embedded/qmousebus_qws.h create mode 100644 src/gui/embedded/qmousedriverfactory_qws.cpp create mode 100644 src/gui/embedded/qmousedriverfactory_qws.h create mode 100644 src/gui/embedded/qmousedriverplugin_qws.cpp create mode 100644 src/gui/embedded/qmousedriverplugin_qws.h create mode 100644 src/gui/embedded/qmouselinuxtp_qws.cpp create mode 100644 src/gui/embedded/qmouselinuxtp_qws.h create mode 100644 src/gui/embedded/qmousepc_qws.cpp create mode 100644 src/gui/embedded/qmousepc_qws.h create mode 100644 src/gui/embedded/qmousetslib_qws.cpp create mode 100644 src/gui/embedded/qmousetslib_qws.h create mode 100644 src/gui/embedded/qmousevfb_qws.cpp create mode 100644 src/gui/embedded/qmousevfb_qws.h create mode 100644 src/gui/embedded/qmousevr41xx_qws.cpp create mode 100644 src/gui/embedded/qmousevr41xx_qws.h create mode 100644 src/gui/embedded/qmouseyopy_qws.cpp create mode 100644 src/gui/embedded/qmouseyopy_qws.h create mode 100644 src/gui/embedded/qscreen_qws.cpp create mode 100644 src/gui/embedded/qscreen_qws.h create mode 100644 src/gui/embedded/qscreendriverfactory_qws.cpp create mode 100644 src/gui/embedded/qscreendriverfactory_qws.h create mode 100644 src/gui/embedded/qscreendriverplugin_qws.cpp create mode 100644 src/gui/embedded/qscreendriverplugin_qws.h create mode 100644 src/gui/embedded/qscreenlinuxfb_qws.cpp create mode 100644 src/gui/embedded/qscreenlinuxfb_qws.h create mode 100644 src/gui/embedded/qscreenmulti_qws.cpp create mode 100644 src/gui/embedded/qscreenmulti_qws_p.h create mode 100644 src/gui/embedded/qscreenproxy_qws.cpp create mode 100644 src/gui/embedded/qscreenproxy_qws.h create mode 100644 src/gui/embedded/qscreentransformed_qws.cpp create mode 100644 src/gui/embedded/qscreentransformed_qws.h create mode 100644 src/gui/embedded/qscreenvfb_qws.cpp create mode 100644 src/gui/embedded/qscreenvfb_qws.h create mode 100644 src/gui/embedded/qsoundqss_qws.cpp create mode 100644 src/gui/embedded/qsoundqss_qws.h create mode 100644 src/gui/embedded/qtransportauth_qws.cpp create mode 100644 src/gui/embedded/qtransportauth_qws.h create mode 100644 src/gui/embedded/qtransportauth_qws_p.h create mode 100644 src/gui/embedded/qtransportauthdefs_qws.h create mode 100644 src/gui/embedded/qunixsocket.cpp create mode 100644 src/gui/embedded/qunixsocket_p.h create mode 100644 src/gui/embedded/qunixsocketserver.cpp create mode 100644 src/gui/embedded/qunixsocketserver_p.h create mode 100644 src/gui/embedded/qvfbhdr.h create mode 100644 src/gui/embedded/qwindowsystem_p.h create mode 100644 src/gui/embedded/qwindowsystem_qws.cpp create mode 100644 src/gui/embedded/qwindowsystem_qws.h create mode 100644 src/gui/embedded/qwscommand_qws.cpp create mode 100644 src/gui/embedded/qwscommand_qws_p.h create mode 100644 src/gui/embedded/qwscursor_qws.cpp create mode 100644 src/gui/embedded/qwscursor_qws.h create mode 100644 src/gui/embedded/qwsdisplay_qws.h create mode 100644 src/gui/embedded/qwsdisplay_qws_p.h create mode 100644 src/gui/embedded/qwsembedwidget.cpp create mode 100644 src/gui/embedded/qwsembedwidget.h create mode 100644 src/gui/embedded/qwsevent_qws.cpp create mode 100644 src/gui/embedded/qwsevent_qws.h create mode 100644 src/gui/embedded/qwslock.cpp create mode 100644 src/gui/embedded/qwslock_p.h create mode 100644 src/gui/embedded/qwsmanager_p.h create mode 100644 src/gui/embedded/qwsmanager_qws.cpp create mode 100644 src/gui/embedded/qwsmanager_qws.h create mode 100644 src/gui/embedded/qwsproperty_qws.cpp create mode 100644 src/gui/embedded/qwsproperty_qws.h create mode 100644 src/gui/embedded/qwsprotocolitem_qws.h create mode 100644 src/gui/embedded/qwssharedmemory.cpp create mode 100644 src/gui/embedded/qwssharedmemory_p.h create mode 100644 src/gui/embedded/qwssignalhandler.cpp create mode 100644 src/gui/embedded/qwssignalhandler_p.h create mode 100644 src/gui/embedded/qwssocket_qws.cpp create mode 100644 src/gui/embedded/qwssocket_qws.h create mode 100644 src/gui/embedded/qwsutils_qws.h create mode 100644 src/gui/graphicsview/graphicsview.pri create mode 100644 src/gui/graphicsview/qgraphicsgridlayout.cpp create mode 100644 src/gui/graphicsview/qgraphicsgridlayout.h create mode 100644 src/gui/graphicsview/qgraphicsitem.cpp create mode 100644 src/gui/graphicsview/qgraphicsitem.h create mode 100644 src/gui/graphicsview/qgraphicsitem_p.h create mode 100644 src/gui/graphicsview/qgraphicsitemanimation.cpp create mode 100644 src/gui/graphicsview/qgraphicsitemanimation.h create mode 100644 src/gui/graphicsview/qgraphicslayout.cpp create mode 100644 src/gui/graphicsview/qgraphicslayout.h create mode 100644 src/gui/graphicsview/qgraphicslayout_p.cpp create mode 100644 src/gui/graphicsview/qgraphicslayout_p.h create mode 100644 src/gui/graphicsview/qgraphicslayoutitem.cpp create mode 100644 src/gui/graphicsview/qgraphicslayoutitem.h create mode 100644 src/gui/graphicsview/qgraphicslayoutitem_p.h create mode 100644 src/gui/graphicsview/qgraphicslinearlayout.cpp create mode 100644 src/gui/graphicsview/qgraphicslinearlayout.h create mode 100644 src/gui/graphicsview/qgraphicsproxywidget.cpp create mode 100644 src/gui/graphicsview/qgraphicsproxywidget.h create mode 100644 src/gui/graphicsview/qgraphicsproxywidget_p.h create mode 100644 src/gui/graphicsview/qgraphicsscene.cpp create mode 100644 src/gui/graphicsview/qgraphicsscene.h create mode 100644 src/gui/graphicsview/qgraphicsscene_bsp.cpp create mode 100644 src/gui/graphicsview/qgraphicsscene_bsp_p.h create mode 100644 src/gui/graphicsview/qgraphicsscene_p.h create mode 100644 src/gui/graphicsview/qgraphicssceneevent.cpp create mode 100644 src/gui/graphicsview/qgraphicssceneevent.h create mode 100644 src/gui/graphicsview/qgraphicsview.cpp create mode 100644 src/gui/graphicsview/qgraphicsview.h create mode 100644 src/gui/graphicsview/qgraphicsview_p.h create mode 100644 src/gui/graphicsview/qgraphicswidget.cpp create mode 100644 src/gui/graphicsview/qgraphicswidget.h create mode 100644 src/gui/graphicsview/qgraphicswidget_p.cpp create mode 100644 src/gui/graphicsview/qgraphicswidget_p.h create mode 100644 src/gui/graphicsview/qgridlayoutengine.cpp create mode 100644 src/gui/graphicsview/qgridlayoutengine_p.h create mode 100644 src/gui/gui.pro create mode 100644 src/gui/image/image.pri create mode 100644 src/gui/image/qbitmap.cpp create mode 100644 src/gui/image/qbitmap.h create mode 100644 src/gui/image/qbmphandler.cpp create mode 100644 src/gui/image/qbmphandler_p.h create mode 100644 src/gui/image/qicon.cpp create mode 100644 src/gui/image/qicon.h create mode 100644 src/gui/image/qiconengine.cpp create mode 100644 src/gui/image/qiconengine.h create mode 100644 src/gui/image/qiconengineplugin.cpp create mode 100644 src/gui/image/qiconengineplugin.h create mode 100644 src/gui/image/qimage.cpp create mode 100644 src/gui/image/qimage.h create mode 100644 src/gui/image/qimage_p.h create mode 100644 src/gui/image/qimageiohandler.cpp create mode 100644 src/gui/image/qimageiohandler.h create mode 100644 src/gui/image/qimagereader.cpp create mode 100644 src/gui/image/qimagereader.h create mode 100644 src/gui/image/qimagewriter.cpp create mode 100644 src/gui/image/qimagewriter.h create mode 100644 src/gui/image/qmovie.cpp create mode 100644 src/gui/image/qmovie.h create mode 100644 src/gui/image/qnativeimage.cpp create mode 100644 src/gui/image/qnativeimage_p.h create mode 100644 src/gui/image/qpaintengine_pic.cpp create mode 100644 src/gui/image/qpaintengine_pic_p.h create mode 100644 src/gui/image/qpicture.cpp create mode 100644 src/gui/image/qpicture.h create mode 100644 src/gui/image/qpicture_p.h create mode 100644 src/gui/image/qpictureformatplugin.cpp create mode 100644 src/gui/image/qpictureformatplugin.h create mode 100644 src/gui/image/qpixmap.cpp create mode 100644 src/gui/image/qpixmap.h create mode 100644 src/gui/image/qpixmap_mac.cpp create mode 100644 src/gui/image/qpixmap_mac_p.h create mode 100644 src/gui/image/qpixmap_qws.cpp create mode 100644 src/gui/image/qpixmap_raster.cpp create mode 100644 src/gui/image/qpixmap_raster_p.h create mode 100644 src/gui/image/qpixmap_win.cpp create mode 100644 src/gui/image/qpixmap_x11.cpp create mode 100644 src/gui/image/qpixmap_x11_p.h create mode 100644 src/gui/image/qpixmapcache.cpp create mode 100644 src/gui/image/qpixmapcache.h create mode 100644 src/gui/image/qpixmapdata.cpp create mode 100644 src/gui/image/qpixmapdata_p.h create mode 100644 src/gui/image/qpixmapdatafactory.cpp create mode 100644 src/gui/image/qpixmapdatafactory_p.h create mode 100644 src/gui/image/qpixmapfilter.cpp create mode 100644 src/gui/image/qpixmapfilter_p.h create mode 100644 src/gui/image/qpnghandler.cpp create mode 100644 src/gui/image/qpnghandler_p.h create mode 100644 src/gui/image/qppmhandler.cpp create mode 100644 src/gui/image/qppmhandler_p.h create mode 100644 src/gui/image/qxbmhandler.cpp create mode 100644 src/gui/image/qxbmhandler_p.h create mode 100644 src/gui/image/qxpmhandler.cpp create mode 100644 src/gui/image/qxpmhandler_p.h create mode 100644 src/gui/inputmethod/inputmethod.pri create mode 100644 src/gui/inputmethod/qinputcontext.cpp create mode 100644 src/gui/inputmethod/qinputcontext.h create mode 100644 src/gui/inputmethod/qinputcontext_p.h create mode 100644 src/gui/inputmethod/qinputcontextfactory.cpp create mode 100644 src/gui/inputmethod/qinputcontextfactory.h create mode 100644 src/gui/inputmethod/qinputcontextplugin.cpp create mode 100644 src/gui/inputmethod/qinputcontextplugin.h create mode 100644 src/gui/inputmethod/qmacinputcontext_mac.cpp create mode 100644 src/gui/inputmethod/qmacinputcontext_p.h create mode 100644 src/gui/inputmethod/qwininputcontext_p.h create mode 100644 src/gui/inputmethod/qwininputcontext_win.cpp create mode 100644 src/gui/inputmethod/qwsinputcontext_p.h create mode 100644 src/gui/inputmethod/qwsinputcontext_qws.cpp create mode 100644 src/gui/inputmethod/qximinputcontext_p.h create mode 100644 src/gui/inputmethod/qximinputcontext_x11.cpp create mode 100644 src/gui/itemviews/itemviews.pri create mode 100644 src/gui/itemviews/qabstractitemdelegate.cpp create mode 100644 src/gui/itemviews/qabstractitemdelegate.h create mode 100644 src/gui/itemviews/qabstractitemview.cpp create mode 100644 src/gui/itemviews/qabstractitemview.h create mode 100644 src/gui/itemviews/qabstractitemview_p.h create mode 100644 src/gui/itemviews/qabstractproxymodel.cpp create mode 100644 src/gui/itemviews/qabstractproxymodel.h create mode 100644 src/gui/itemviews/qabstractproxymodel_p.h create mode 100644 src/gui/itemviews/qbsptree.cpp create mode 100644 src/gui/itemviews/qbsptree_p.h create mode 100644 src/gui/itemviews/qcolumnview.cpp create mode 100644 src/gui/itemviews/qcolumnview.h create mode 100644 src/gui/itemviews/qcolumnview_p.h create mode 100644 src/gui/itemviews/qcolumnviewgrip.cpp create mode 100644 src/gui/itemviews/qcolumnviewgrip_p.h create mode 100644 src/gui/itemviews/qdatawidgetmapper.cpp create mode 100644 src/gui/itemviews/qdatawidgetmapper.h create mode 100644 src/gui/itemviews/qdirmodel.cpp create mode 100644 src/gui/itemviews/qdirmodel.h create mode 100644 src/gui/itemviews/qfileiconprovider.cpp create mode 100644 src/gui/itemviews/qfileiconprovider.h create mode 100644 src/gui/itemviews/qheaderview.cpp create mode 100644 src/gui/itemviews/qheaderview.h create mode 100644 src/gui/itemviews/qheaderview_p.h create mode 100644 src/gui/itemviews/qitemdelegate.cpp create mode 100644 src/gui/itemviews/qitemdelegate.h create mode 100644 src/gui/itemviews/qitemeditorfactory.cpp create mode 100644 src/gui/itemviews/qitemeditorfactory.h create mode 100644 src/gui/itemviews/qitemeditorfactory_p.h create mode 100644 src/gui/itemviews/qitemselectionmodel.cpp create mode 100644 src/gui/itemviews/qitemselectionmodel.h create mode 100644 src/gui/itemviews/qitemselectionmodel_p.h create mode 100644 src/gui/itemviews/qlistview.cpp create mode 100644 src/gui/itemviews/qlistview.h create mode 100644 src/gui/itemviews/qlistview_p.h create mode 100644 src/gui/itemviews/qlistwidget.cpp create mode 100644 src/gui/itemviews/qlistwidget.h create mode 100644 src/gui/itemviews/qlistwidget_p.h create mode 100644 src/gui/itemviews/qproxymodel.cpp create mode 100644 src/gui/itemviews/qproxymodel.h create mode 100644 src/gui/itemviews/qproxymodel_p.h create mode 100644 src/gui/itemviews/qsortfilterproxymodel.cpp create mode 100644 src/gui/itemviews/qsortfilterproxymodel.h create mode 100644 src/gui/itemviews/qstandarditemmodel.cpp create mode 100644 src/gui/itemviews/qstandarditemmodel.h create mode 100644 src/gui/itemviews/qstandarditemmodel_p.h create mode 100644 src/gui/itemviews/qstringlistmodel.cpp create mode 100644 src/gui/itemviews/qstringlistmodel.h create mode 100644 src/gui/itemviews/qstyleditemdelegate.cpp create mode 100644 src/gui/itemviews/qstyleditemdelegate.h create mode 100644 src/gui/itemviews/qtableview.cpp create mode 100644 src/gui/itemviews/qtableview.h create mode 100644 src/gui/itemviews/qtableview_p.h create mode 100644 src/gui/itemviews/qtablewidget.cpp create mode 100644 src/gui/itemviews/qtablewidget.h create mode 100644 src/gui/itemviews/qtablewidget_p.h create mode 100644 src/gui/itemviews/qtreeview.cpp create mode 100644 src/gui/itemviews/qtreeview.h create mode 100644 src/gui/itemviews/qtreeview_p.h create mode 100644 src/gui/itemviews/qtreewidget.cpp create mode 100644 src/gui/itemviews/qtreewidget.h create mode 100644 src/gui/itemviews/qtreewidget_p.h create mode 100644 src/gui/itemviews/qtreewidgetitemiterator.cpp create mode 100644 src/gui/itemviews/qtreewidgetitemiterator.h create mode 100644 src/gui/itemviews/qtreewidgetitemiterator_p.h create mode 100644 src/gui/itemviews/qwidgetitemdata_p.h create mode 100644 src/gui/kernel/kernel.pri create mode 100644 src/gui/kernel/mac.pri create mode 100644 src/gui/kernel/qaction.cpp create mode 100644 src/gui/kernel/qaction.h create mode 100644 src/gui/kernel/qaction_p.h create mode 100644 src/gui/kernel/qactiongroup.cpp create mode 100644 src/gui/kernel/qactiongroup.h create mode 100644 src/gui/kernel/qapplication.cpp create mode 100644 src/gui/kernel/qapplication.h create mode 100644 src/gui/kernel/qapplication_mac.mm create mode 100644 src/gui/kernel/qapplication_p.h create mode 100644 src/gui/kernel/qapplication_qws.cpp create mode 100644 src/gui/kernel/qapplication_win.cpp create mode 100644 src/gui/kernel/qapplication_x11.cpp create mode 100644 src/gui/kernel/qboxlayout.cpp create mode 100644 src/gui/kernel/qboxlayout.h create mode 100644 src/gui/kernel/qclipboard.cpp create mode 100644 src/gui/kernel/qclipboard.h create mode 100644 src/gui/kernel/qclipboard_mac.cpp create mode 100644 src/gui/kernel/qclipboard_p.h create mode 100644 src/gui/kernel/qclipboard_qws.cpp create mode 100644 src/gui/kernel/qclipboard_win.cpp create mode 100644 src/gui/kernel/qclipboard_x11.cpp create mode 100644 src/gui/kernel/qcocoaapplication_mac.mm create mode 100644 src/gui/kernel/qcocoaapplication_mac_p.h create mode 100644 src/gui/kernel/qcocoaapplicationdelegate_mac.mm create mode 100644 src/gui/kernel/qcocoaapplicationdelegate_mac_p.h create mode 100644 src/gui/kernel/qcocoamenuloader_mac.mm create mode 100644 src/gui/kernel/qcocoamenuloader_mac_p.h create mode 100644 src/gui/kernel/qcocoapanel_mac.mm create mode 100644 src/gui/kernel/qcocoapanel_mac_p.h create mode 100644 src/gui/kernel/qcocoaview_mac.mm create mode 100644 src/gui/kernel/qcocoaview_mac_p.h create mode 100644 src/gui/kernel/qcocoawindow_mac.mm create mode 100644 src/gui/kernel/qcocoawindow_mac_p.h create mode 100644 src/gui/kernel/qcocoawindowcustomthemeframe_mac.mm create mode 100644 src/gui/kernel/qcocoawindowcustomthemeframe_mac_p.h create mode 100644 src/gui/kernel/qcocoawindowdelegate_mac.mm create mode 100644 src/gui/kernel/qcocoawindowdelegate_mac_p.h create mode 100644 src/gui/kernel/qcursor.cpp create mode 100644 src/gui/kernel/qcursor.h create mode 100644 src/gui/kernel/qcursor_mac.mm create mode 100644 src/gui/kernel/qcursor_p.h create mode 100644 src/gui/kernel/qcursor_qws.cpp create mode 100644 src/gui/kernel/qcursor_win.cpp create mode 100644 src/gui/kernel/qcursor_x11.cpp create mode 100644 src/gui/kernel/qdesktopwidget.h create mode 100644 src/gui/kernel/qdesktopwidget_mac.mm create mode 100644 src/gui/kernel/qdesktopwidget_mac_p.h create mode 100644 src/gui/kernel/qdesktopwidget_qws.cpp create mode 100644 src/gui/kernel/qdesktopwidget_win.cpp create mode 100644 src/gui/kernel/qdesktopwidget_x11.cpp create mode 100644 src/gui/kernel/qdnd.cpp create mode 100644 src/gui/kernel/qdnd_mac.mm create mode 100644 src/gui/kernel/qdnd_p.h create mode 100644 src/gui/kernel/qdnd_qws.cpp create mode 100644 src/gui/kernel/qdnd_win.cpp create mode 100644 src/gui/kernel/qdnd_x11.cpp create mode 100644 src/gui/kernel/qdrag.cpp create mode 100644 src/gui/kernel/qdrag.h create mode 100644 src/gui/kernel/qevent.cpp create mode 100644 src/gui/kernel/qevent.h create mode 100644 src/gui/kernel/qevent_p.h create mode 100644 src/gui/kernel/qeventdispatcher_glib_qws.cpp create mode 100644 src/gui/kernel/qeventdispatcher_glib_qws_p.h create mode 100644 src/gui/kernel/qeventdispatcher_mac.mm create mode 100644 src/gui/kernel/qeventdispatcher_mac_p.h create mode 100644 src/gui/kernel/qeventdispatcher_qws.cpp create mode 100644 src/gui/kernel/qeventdispatcher_qws_p.h create mode 100644 src/gui/kernel/qeventdispatcher_x11.cpp create mode 100644 src/gui/kernel/qeventdispatcher_x11_p.h create mode 100644 src/gui/kernel/qformlayout.cpp create mode 100644 src/gui/kernel/qformlayout.h create mode 100644 src/gui/kernel/qgridlayout.cpp create mode 100644 src/gui/kernel/qgridlayout.h create mode 100644 src/gui/kernel/qguieventdispatcher_glib.cpp create mode 100644 src/gui/kernel/qguieventdispatcher_glib_p.h create mode 100644 src/gui/kernel/qguifunctions_wince.cpp create mode 100644 src/gui/kernel/qguifunctions_wince.h create mode 100644 src/gui/kernel/qguivariant.cpp create mode 100644 src/gui/kernel/qkeymapper.cpp create mode 100644 src/gui/kernel/qkeymapper_mac.cpp create mode 100644 src/gui/kernel/qkeymapper_p.h create mode 100644 src/gui/kernel/qkeymapper_qws.cpp create mode 100644 src/gui/kernel/qkeymapper_win.cpp create mode 100644 src/gui/kernel/qkeymapper_x11.cpp create mode 100644 src/gui/kernel/qkeymapper_x11_p.cpp create mode 100644 src/gui/kernel/qkeysequence.cpp create mode 100644 src/gui/kernel/qkeysequence.h create mode 100644 src/gui/kernel/qkeysequence_p.h create mode 100644 src/gui/kernel/qlayout.cpp create mode 100644 src/gui/kernel/qlayout.h create mode 100644 src/gui/kernel/qlayout_p.h create mode 100644 src/gui/kernel/qlayoutengine.cpp create mode 100644 src/gui/kernel/qlayoutengine_p.h create mode 100644 src/gui/kernel/qlayoutitem.cpp create mode 100644 src/gui/kernel/qlayoutitem.h create mode 100644 src/gui/kernel/qmacdefines_mac.h create mode 100644 src/gui/kernel/qmime.cpp create mode 100644 src/gui/kernel/qmime.h create mode 100644 src/gui/kernel/qmime_mac.cpp create mode 100644 src/gui/kernel/qmime_win.cpp create mode 100644 src/gui/kernel/qmotifdnd_x11.cpp create mode 100644 src/gui/kernel/qnsframeview_mac_p.h create mode 100644 src/gui/kernel/qnsthemeframe_mac_p.h create mode 100644 src/gui/kernel/qnstitledframe_mac_p.h create mode 100644 src/gui/kernel/qole_win.cpp create mode 100644 src/gui/kernel/qpalette.cpp create mode 100644 src/gui/kernel/qpalette.h create mode 100644 src/gui/kernel/qsessionmanager.h create mode 100644 src/gui/kernel/qsessionmanager_qws.cpp create mode 100644 src/gui/kernel/qshortcut.cpp create mode 100644 src/gui/kernel/qshortcut.h create mode 100644 src/gui/kernel/qshortcutmap.cpp create mode 100644 src/gui/kernel/qshortcutmap_p.h create mode 100644 src/gui/kernel/qsizepolicy.h create mode 100644 src/gui/kernel/qsound.cpp create mode 100644 src/gui/kernel/qsound.h create mode 100644 src/gui/kernel/qsound_mac.mm create mode 100644 src/gui/kernel/qsound_p.h create mode 100644 src/gui/kernel/qsound_qws.cpp create mode 100644 src/gui/kernel/qsound_win.cpp create mode 100644 src/gui/kernel/qsound_x11.cpp create mode 100644 src/gui/kernel/qstackedlayout.cpp create mode 100644 src/gui/kernel/qstackedlayout.h create mode 100644 src/gui/kernel/qt_cocoa_helpers_mac.mm create mode 100644 src/gui/kernel/qt_cocoa_helpers_mac_p.h create mode 100644 src/gui/kernel/qt_gui_pch.h create mode 100644 src/gui/kernel/qt_mac.cpp create mode 100644 src/gui/kernel/qt_mac_p.h create mode 100644 src/gui/kernel/qt_x11_p.h create mode 100644 src/gui/kernel/qtooltip.cpp create mode 100644 src/gui/kernel/qtooltip.h create mode 100644 src/gui/kernel/qwhatsthis.cpp create mode 100644 src/gui/kernel/qwhatsthis.h create mode 100644 src/gui/kernel/qwidget.cpp create mode 100644 src/gui/kernel/qwidget.h create mode 100644 src/gui/kernel/qwidget_mac.mm create mode 100644 src/gui/kernel/qwidget_p.h create mode 100644 src/gui/kernel/qwidget_qws.cpp create mode 100644 src/gui/kernel/qwidget_win.cpp create mode 100644 src/gui/kernel/qwidget_wince.cpp create mode 100644 src/gui/kernel/qwidget_x11.cpp create mode 100644 src/gui/kernel/qwidgetaction.cpp create mode 100644 src/gui/kernel/qwidgetaction.h create mode 100644 src/gui/kernel/qwidgetaction_p.h create mode 100644 src/gui/kernel/qwidgetcreate_x11.cpp create mode 100644 src/gui/kernel/qwindowdefs.h create mode 100644 src/gui/kernel/qwindowdefs_win.h create mode 100644 src/gui/kernel/qx11embed_x11.cpp create mode 100644 src/gui/kernel/qx11embed_x11.h create mode 100644 src/gui/kernel/qx11info_x11.cpp create mode 100644 src/gui/kernel/qx11info_x11.h create mode 100644 src/gui/kernel/win.pri create mode 100644 src/gui/kernel/x11.pri create mode 100644 src/gui/mac/images/copyarrowcursor.png create mode 100644 src/gui/mac/images/forbiddencursor.png create mode 100644 src/gui/mac/images/pluscursor.png create mode 100644 src/gui/mac/images/spincursor.png create mode 100644 src/gui/mac/images/waitcursor.png create mode 100644 src/gui/mac/maccursors.qrc create mode 100644 src/gui/mac/qt_menu.nib/classes.nib create mode 100644 src/gui/mac/qt_menu.nib/info.nib create mode 100644 src/gui/mac/qt_menu.nib/keyedobjects.nib create mode 100755 src/gui/painting/makepsheader.pl create mode 100644 src/gui/painting/painting.pri create mode 100644 src/gui/painting/qbackingstore.cpp create mode 100644 src/gui/painting/qbackingstore_p.h create mode 100644 src/gui/painting/qbezier.cpp create mode 100644 src/gui/painting/qbezier_p.h create mode 100644 src/gui/painting/qblendfunctions.cpp create mode 100644 src/gui/painting/qbrush.cpp create mode 100644 src/gui/painting/qbrush.h create mode 100644 src/gui/painting/qcolor.cpp create mode 100644 src/gui/painting/qcolor.h create mode 100644 src/gui/painting/qcolor_p.cpp create mode 100644 src/gui/painting/qcolor_p.h create mode 100644 src/gui/painting/qcolormap.h create mode 100644 src/gui/painting/qcolormap_mac.cpp create mode 100644 src/gui/painting/qcolormap_qws.cpp create mode 100644 src/gui/painting/qcolormap_win.cpp create mode 100644 src/gui/painting/qcolormap_x11.cpp create mode 100644 src/gui/painting/qcssutil.cpp create mode 100644 src/gui/painting/qcssutil_p.h create mode 100644 src/gui/painting/qcups.cpp create mode 100644 src/gui/painting/qcups_p.h create mode 100644 src/gui/painting/qdatabuffer_p.h create mode 100644 src/gui/painting/qdrawhelper.cpp create mode 100644 src/gui/painting/qdrawhelper_iwmmxt.cpp create mode 100644 src/gui/painting/qdrawhelper_mmx.cpp create mode 100644 src/gui/painting/qdrawhelper_mmx3dnow.cpp create mode 100644 src/gui/painting/qdrawhelper_mmx_p.h create mode 100644 src/gui/painting/qdrawhelper_p.h create mode 100644 src/gui/painting/qdrawhelper_sse.cpp create mode 100644 src/gui/painting/qdrawhelper_sse2.cpp create mode 100644 src/gui/painting/qdrawhelper_sse3dnow.cpp create mode 100644 src/gui/painting/qdrawhelper_sse_p.h create mode 100644 src/gui/painting/qdrawhelper_x86_p.h create mode 100644 src/gui/painting/qdrawutil.cpp create mode 100644 src/gui/painting/qdrawutil.h create mode 100644 src/gui/painting/qemulationpaintengine.cpp create mode 100644 src/gui/painting/qemulationpaintengine_p.h create mode 100644 src/gui/painting/qfixed_p.h create mode 100644 src/gui/painting/qgraphicssystem.cpp create mode 100644 src/gui/painting/qgraphicssystem_mac.cpp create mode 100644 src/gui/painting/qgraphicssystem_mac_p.h create mode 100644 src/gui/painting/qgraphicssystem_p.h create mode 100644 src/gui/painting/qgraphicssystem_qws.cpp create mode 100644 src/gui/painting/qgraphicssystem_qws_p.h create mode 100644 src/gui/painting/qgraphicssystem_raster.cpp create mode 100644 src/gui/painting/qgraphicssystem_raster_p.h create mode 100644 src/gui/painting/qgraphicssystemfactory.cpp create mode 100644 src/gui/painting/qgraphicssystemfactory_p.h create mode 100644 src/gui/painting/qgraphicssystemplugin.cpp create mode 100644 src/gui/painting/qgraphicssystemplugin_p.h create mode 100644 src/gui/painting/qgrayraster.c create mode 100644 src/gui/painting/qgrayraster_p.h create mode 100644 src/gui/painting/qimagescale.cpp create mode 100644 src/gui/painting/qimagescale_p.h create mode 100644 src/gui/painting/qmath_p.h create mode 100644 src/gui/painting/qmatrix.cpp create mode 100644 src/gui/painting/qmatrix.h create mode 100644 src/gui/painting/qmemrotate.cpp create mode 100644 src/gui/painting/qmemrotate_p.h create mode 100644 src/gui/painting/qoutlinemapper.cpp create mode 100644 src/gui/painting/qoutlinemapper_p.h create mode 100644 src/gui/painting/qpaintdevice.h create mode 100644 src/gui/painting/qpaintdevice_mac.cpp create mode 100644 src/gui/painting/qpaintdevice_qws.cpp create mode 100644 src/gui/painting/qpaintdevice_win.cpp create mode 100644 src/gui/painting/qpaintdevice_x11.cpp create mode 100644 src/gui/painting/qpaintengine.cpp create mode 100644 src/gui/painting/qpaintengine.h create mode 100644 src/gui/painting/qpaintengine_alpha.cpp create mode 100644 src/gui/painting/qpaintengine_alpha_p.h create mode 100644 src/gui/painting/qpaintengine_d3d.cpp create mode 100644 src/gui/painting/qpaintengine_d3d.fx create mode 100644 src/gui/painting/qpaintengine_d3d.qrc create mode 100644 src/gui/painting/qpaintengine_d3d_p.h create mode 100644 src/gui/painting/qpaintengine_mac.cpp create mode 100644 src/gui/painting/qpaintengine_mac_p.h create mode 100644 src/gui/painting/qpaintengine_p.h create mode 100644 src/gui/painting/qpaintengine_preview.cpp create mode 100644 src/gui/painting/qpaintengine_preview_p.h create mode 100644 src/gui/painting/qpaintengine_raster.cpp create mode 100644 src/gui/painting/qpaintengine_raster_p.h create mode 100644 src/gui/painting/qpaintengine_x11.cpp create mode 100644 src/gui/painting/qpaintengine_x11_p.h create mode 100644 src/gui/painting/qpaintengineex.cpp create mode 100644 src/gui/painting/qpaintengineex_p.h create mode 100644 src/gui/painting/qpainter.cpp create mode 100644 src/gui/painting/qpainter.h create mode 100644 src/gui/painting/qpainter_p.h create mode 100644 src/gui/painting/qpainterpath.cpp create mode 100644 src/gui/painting/qpainterpath.h create mode 100644 src/gui/painting/qpainterpath_p.h create mode 100644 src/gui/painting/qpathclipper.cpp create mode 100644 src/gui/painting/qpathclipper_p.h create mode 100644 src/gui/painting/qpdf.cpp create mode 100644 src/gui/painting/qpdf_p.h create mode 100644 src/gui/painting/qpen.cpp create mode 100644 src/gui/painting/qpen.h create mode 100644 src/gui/painting/qpen_p.h create mode 100644 src/gui/painting/qpolygon.cpp create mode 100644 src/gui/painting/qpolygon.h create mode 100644 src/gui/painting/qpolygonclipper_p.h create mode 100644 src/gui/painting/qprintengine.h create mode 100644 src/gui/painting/qprintengine_mac.mm create mode 100644 src/gui/painting/qprintengine_mac_p.h create mode 100644 src/gui/painting/qprintengine_pdf.cpp create mode 100644 src/gui/painting/qprintengine_pdf_p.h create mode 100644 src/gui/painting/qprintengine_ps.cpp create mode 100644 src/gui/painting/qprintengine_ps_p.h create mode 100644 src/gui/painting/qprintengine_qws.cpp create mode 100644 src/gui/painting/qprintengine_qws_p.h create mode 100644 src/gui/painting/qprintengine_win.cpp create mode 100644 src/gui/painting/qprintengine_win_p.h create mode 100644 src/gui/painting/qprinter.cpp create mode 100644 src/gui/painting/qprinter.h create mode 100644 src/gui/painting/qprinter_p.h create mode 100644 src/gui/painting/qprinterinfo.h create mode 100644 src/gui/painting/qprinterinfo_mac.cpp create mode 100644 src/gui/painting/qprinterinfo_unix.cpp create mode 100644 src/gui/painting/qprinterinfo_unix_p.h create mode 100644 src/gui/painting/qprinterinfo_win.cpp create mode 100644 src/gui/painting/qpsprinter.agl create mode 100644 src/gui/painting/qpsprinter.ps create mode 100644 src/gui/painting/qrasterdefs_p.h create mode 100644 src/gui/painting/qrasterizer.cpp create mode 100644 src/gui/painting/qrasterizer_p.h create mode 100644 src/gui/painting/qregion.cpp create mode 100644 src/gui/painting/qregion.h create mode 100644 src/gui/painting/qregion_mac.cpp create mode 100644 src/gui/painting/qregion_qws.cpp create mode 100644 src/gui/painting/qregion_win.cpp create mode 100644 src/gui/painting/qregion_wince.cpp create mode 100644 src/gui/painting/qregion_x11.cpp create mode 100644 src/gui/painting/qrgb.h create mode 100644 src/gui/painting/qstroker.cpp create mode 100644 src/gui/painting/qstroker_p.h create mode 100644 src/gui/painting/qstylepainter.cpp create mode 100644 src/gui/painting/qstylepainter.h create mode 100644 src/gui/painting/qtessellator.cpp create mode 100644 src/gui/painting/qtessellator_p.h create mode 100644 src/gui/painting/qtextureglyphcache.cpp create mode 100644 src/gui/painting/qtextureglyphcache_p.h create mode 100644 src/gui/painting/qtransform.cpp create mode 100644 src/gui/painting/qtransform.h create mode 100644 src/gui/painting/qvectorpath_p.h create mode 100644 src/gui/painting/qwindowsurface.cpp create mode 100644 src/gui/painting/qwindowsurface_d3d.cpp create mode 100644 src/gui/painting/qwindowsurface_d3d_p.h create mode 100644 src/gui/painting/qwindowsurface_mac.cpp create mode 100644 src/gui/painting/qwindowsurface_mac_p.h create mode 100644 src/gui/painting/qwindowsurface_p.h create mode 100644 src/gui/painting/qwindowsurface_qws.cpp create mode 100644 src/gui/painting/qwindowsurface_qws_p.h create mode 100644 src/gui/painting/qwindowsurface_raster.cpp create mode 100644 src/gui/painting/qwindowsurface_raster_p.h create mode 100644 src/gui/painting/qwindowsurface_x11.cpp create mode 100644 src/gui/painting/qwindowsurface_x11_p.h create mode 100644 src/gui/painting/qwmatrix.h create mode 100644 src/gui/statemachine/qbasickeyeventtransition.cpp create mode 100644 src/gui/statemachine/qbasickeyeventtransition_p.h create mode 100644 src/gui/statemachine/qbasicmouseeventtransition.cpp create mode 100644 src/gui/statemachine/qbasicmouseeventtransition_p.h create mode 100644 src/gui/statemachine/qguistatemachine.cpp create mode 100644 src/gui/statemachine/qkeyeventtransition.cpp create mode 100644 src/gui/statemachine/qkeyeventtransition.h create mode 100644 src/gui/statemachine/qmouseeventtransition.cpp create mode 100644 src/gui/statemachine/qmouseeventtransition.h create mode 100644 src/gui/statemachine/statemachine.pri create mode 100644 src/gui/styles/gtksymbols.cpp create mode 100644 src/gui/styles/gtksymbols_p.h create mode 100644 src/gui/styles/images/cdr-128.png create mode 100644 src/gui/styles/images/cdr-16.png create mode 100644 src/gui/styles/images/cdr-32.png create mode 100644 src/gui/styles/images/closedock-16.png create mode 100644 src/gui/styles/images/closedock-down-16.png create mode 100644 src/gui/styles/images/computer-16.png create mode 100644 src/gui/styles/images/computer-32.png create mode 100644 src/gui/styles/images/desktop-16.png create mode 100644 src/gui/styles/images/desktop-32.png create mode 100644 src/gui/styles/images/dirclosed-128.png create mode 100644 src/gui/styles/images/dirclosed-16.png create mode 100644 src/gui/styles/images/dirclosed-32.png create mode 100644 src/gui/styles/images/dirlink-128.png create mode 100644 src/gui/styles/images/dirlink-16.png create mode 100644 src/gui/styles/images/dirlink-32.png create mode 100644 src/gui/styles/images/diropen-128.png create mode 100644 src/gui/styles/images/diropen-16.png create mode 100644 src/gui/styles/images/diropen-32.png create mode 100644 src/gui/styles/images/dockdock-16.png create mode 100644 src/gui/styles/images/dockdock-down-16.png create mode 100644 src/gui/styles/images/down-128.png create mode 100644 src/gui/styles/images/down-16.png create mode 100644 src/gui/styles/images/down-32.png create mode 100644 src/gui/styles/images/dvd-128.png create mode 100644 src/gui/styles/images/dvd-16.png create mode 100644 src/gui/styles/images/dvd-32.png create mode 100644 src/gui/styles/images/file-128.png create mode 100644 src/gui/styles/images/file-16.png create mode 100644 src/gui/styles/images/file-32.png create mode 100644 src/gui/styles/images/filecontents-128.png create mode 100644 src/gui/styles/images/filecontents-16.png create mode 100644 src/gui/styles/images/filecontents-32.png create mode 100644 src/gui/styles/images/fileinfo-128.png create mode 100644 src/gui/styles/images/fileinfo-16.png create mode 100644 src/gui/styles/images/fileinfo-32.png create mode 100644 src/gui/styles/images/filelink-128.png create mode 100644 src/gui/styles/images/filelink-16.png create mode 100644 src/gui/styles/images/filelink-32.png create mode 100644 src/gui/styles/images/floppy-128.png create mode 100644 src/gui/styles/images/floppy-16.png create mode 100644 src/gui/styles/images/floppy-32.png create mode 100644 src/gui/styles/images/fontbitmap-16.png create mode 100644 src/gui/styles/images/fonttruetype-16.png create mode 100644 src/gui/styles/images/harddrive-128.png create mode 100644 src/gui/styles/images/harddrive-16.png create mode 100644 src/gui/styles/images/harddrive-32.png create mode 100644 src/gui/styles/images/left-128.png create mode 100644 src/gui/styles/images/left-16.png create mode 100644 src/gui/styles/images/left-32.png create mode 100644 src/gui/styles/images/media-pause-16.png create mode 100644 src/gui/styles/images/media-pause-32.png create mode 100644 src/gui/styles/images/media-play-16.png create mode 100644 src/gui/styles/images/media-play-32.png create mode 100644 src/gui/styles/images/media-seek-backward-16.png create mode 100644 src/gui/styles/images/media-seek-backward-32.png create mode 100644 src/gui/styles/images/media-seek-forward-16.png create mode 100644 src/gui/styles/images/media-seek-forward-32.png create mode 100644 src/gui/styles/images/media-skip-backward-16.png create mode 100644 src/gui/styles/images/media-skip-backward-32.png create mode 100644 src/gui/styles/images/media-skip-forward-16.png create mode 100644 src/gui/styles/images/media-skip-forward-32.png create mode 100644 src/gui/styles/images/media-stop-16.png create mode 100644 src/gui/styles/images/media-stop-32.png create mode 100644 src/gui/styles/images/media-volume-16.png create mode 100644 src/gui/styles/images/media-volume-muted-16.png create mode 100644 src/gui/styles/images/networkdrive-128.png create mode 100644 src/gui/styles/images/networkdrive-16.png create mode 100644 src/gui/styles/images/networkdrive-32.png create mode 100644 src/gui/styles/images/newdirectory-128.png create mode 100644 src/gui/styles/images/newdirectory-16.png create mode 100644 src/gui/styles/images/newdirectory-32.png create mode 100644 src/gui/styles/images/parentdir-128.png create mode 100644 src/gui/styles/images/parentdir-16.png create mode 100644 src/gui/styles/images/parentdir-32.png create mode 100644 src/gui/styles/images/refresh-24.png create mode 100644 src/gui/styles/images/refresh-32.png create mode 100644 src/gui/styles/images/right-128.png create mode 100644 src/gui/styles/images/right-16.png create mode 100644 src/gui/styles/images/right-32.png create mode 100644 src/gui/styles/images/standardbutton-apply-128.png create mode 100644 src/gui/styles/images/standardbutton-apply-16.png create mode 100644 src/gui/styles/images/standardbutton-apply-32.png create mode 100644 src/gui/styles/images/standardbutton-cancel-128.png create mode 100644 src/gui/styles/images/standardbutton-cancel-16.png create mode 100644 src/gui/styles/images/standardbutton-cancel-32.png create mode 100644 src/gui/styles/images/standardbutton-clear-128.png create mode 100644 src/gui/styles/images/standardbutton-clear-16.png create mode 100644 src/gui/styles/images/standardbutton-clear-32.png create mode 100644 src/gui/styles/images/standardbutton-close-128.png create mode 100644 src/gui/styles/images/standardbutton-close-16.png create mode 100644 src/gui/styles/images/standardbutton-close-32.png create mode 100644 src/gui/styles/images/standardbutton-closetab-16.png create mode 100644 src/gui/styles/images/standardbutton-closetab-down-16.png create mode 100644 src/gui/styles/images/standardbutton-closetab-hover-16.png create mode 100644 src/gui/styles/images/standardbutton-delete-128.png create mode 100644 src/gui/styles/images/standardbutton-delete-16.png create mode 100644 src/gui/styles/images/standardbutton-delete-32.png create mode 100644 src/gui/styles/images/standardbutton-help-128.png create mode 100644 src/gui/styles/images/standardbutton-help-16.png create mode 100644 src/gui/styles/images/standardbutton-help-32.png create mode 100644 src/gui/styles/images/standardbutton-no-128.png create mode 100644 src/gui/styles/images/standardbutton-no-16.png create mode 100644 src/gui/styles/images/standardbutton-no-32.png create mode 100644 src/gui/styles/images/standardbutton-ok-128.png create mode 100644 src/gui/styles/images/standardbutton-ok-16.png create mode 100644 src/gui/styles/images/standardbutton-ok-32.png create mode 100644 src/gui/styles/images/standardbutton-open-128.png create mode 100644 src/gui/styles/images/standardbutton-open-16.png create mode 100644 src/gui/styles/images/standardbutton-open-32.png create mode 100644 src/gui/styles/images/standardbutton-save-128.png create mode 100644 src/gui/styles/images/standardbutton-save-16.png create mode 100644 src/gui/styles/images/standardbutton-save-32.png create mode 100644 src/gui/styles/images/standardbutton-yes-128.png create mode 100644 src/gui/styles/images/standardbutton-yes-16.png create mode 100644 src/gui/styles/images/standardbutton-yes-32.png create mode 100644 src/gui/styles/images/stop-24.png create mode 100644 src/gui/styles/images/stop-32.png create mode 100644 src/gui/styles/images/trash-128.png create mode 100644 src/gui/styles/images/trash-16.png create mode 100644 src/gui/styles/images/trash-32.png create mode 100644 src/gui/styles/images/up-128.png create mode 100644 src/gui/styles/images/up-16.png create mode 100644 src/gui/styles/images/up-32.png create mode 100644 src/gui/styles/images/viewdetailed-128.png create mode 100644 src/gui/styles/images/viewdetailed-16.png create mode 100644 src/gui/styles/images/viewdetailed-32.png create mode 100644 src/gui/styles/images/viewlist-128.png create mode 100644 src/gui/styles/images/viewlist-16.png create mode 100644 src/gui/styles/images/viewlist-32.png create mode 100644 src/gui/styles/qcdestyle.cpp create mode 100644 src/gui/styles/qcdestyle.h create mode 100644 src/gui/styles/qcleanlooksstyle.cpp create mode 100644 src/gui/styles/qcleanlooksstyle.h create mode 100644 src/gui/styles/qcleanlooksstyle_p.h create mode 100644 src/gui/styles/qcommonstyle.cpp create mode 100644 src/gui/styles/qcommonstyle.h create mode 100644 src/gui/styles/qcommonstyle_p.h create mode 100644 src/gui/styles/qcommonstylepixmaps_p.h create mode 100644 src/gui/styles/qgtkpainter.cpp create mode 100644 src/gui/styles/qgtkpainter_p.h create mode 100644 src/gui/styles/qgtkstyle.cpp create mode 100644 src/gui/styles/qgtkstyle.h create mode 100644 src/gui/styles/qmacstyle_mac.h create mode 100644 src/gui/styles/qmacstyle_mac.mm create mode 100644 src/gui/styles/qmacstylepixmaps_mac_p.h create mode 100644 src/gui/styles/qmotifstyle.cpp create mode 100644 src/gui/styles/qmotifstyle.h create mode 100644 src/gui/styles/qmotifstyle_p.h create mode 100644 src/gui/styles/qplastiquestyle.cpp create mode 100644 src/gui/styles/qplastiquestyle.h create mode 100644 src/gui/styles/qstyle.cpp create mode 100644 src/gui/styles/qstyle.h create mode 100644 src/gui/styles/qstyle.qrc create mode 100644 src/gui/styles/qstyle_p.h create mode 100644 src/gui/styles/qstyle_wince.qrc create mode 100644 src/gui/styles/qstylefactory.cpp create mode 100644 src/gui/styles/qstylefactory.h create mode 100644 src/gui/styles/qstyleoption.cpp create mode 100644 src/gui/styles/qstyleoption.h create mode 100644 src/gui/styles/qstyleplugin.cpp create mode 100644 src/gui/styles/qstyleplugin.h create mode 100644 src/gui/styles/qstylesheetstyle.cpp create mode 100644 src/gui/styles/qstylesheetstyle_default.cpp create mode 100644 src/gui/styles/qstylesheetstyle_p.h create mode 100644 src/gui/styles/qwindowscestyle.cpp create mode 100644 src/gui/styles/qwindowscestyle.h create mode 100644 src/gui/styles/qwindowscestyle_p.h create mode 100644 src/gui/styles/qwindowsmobilestyle.cpp create mode 100644 src/gui/styles/qwindowsmobilestyle.h create mode 100644 src/gui/styles/qwindowsmobilestyle_p.h create mode 100644 src/gui/styles/qwindowsstyle.cpp create mode 100644 src/gui/styles/qwindowsstyle.h create mode 100644 src/gui/styles/qwindowsstyle_p.h create mode 100644 src/gui/styles/qwindowsvistastyle.cpp create mode 100644 src/gui/styles/qwindowsvistastyle.h create mode 100644 src/gui/styles/qwindowsvistastyle_p.h create mode 100644 src/gui/styles/qwindowsxpstyle.cpp create mode 100644 src/gui/styles/qwindowsxpstyle.h create mode 100644 src/gui/styles/qwindowsxpstyle_p.h create mode 100644 src/gui/styles/styles.pri create mode 100644 src/gui/text/qabstractfontengine_p.h create mode 100644 src/gui/text/qabstractfontengine_qws.cpp create mode 100644 src/gui/text/qabstractfontengine_qws.h create mode 100644 src/gui/text/qabstracttextdocumentlayout.cpp create mode 100644 src/gui/text/qabstracttextdocumentlayout.h create mode 100644 src/gui/text/qabstracttextdocumentlayout_p.h create mode 100644 src/gui/text/qcssparser.cpp create mode 100644 src/gui/text/qcssparser_p.h create mode 100644 src/gui/text/qcssscanner.cpp create mode 100644 src/gui/text/qfont.cpp create mode 100644 src/gui/text/qfont.h create mode 100644 src/gui/text/qfont_mac.cpp create mode 100644 src/gui/text/qfont_p.h create mode 100644 src/gui/text/qfont_qws.cpp create mode 100644 src/gui/text/qfont_win.cpp create mode 100644 src/gui/text/qfont_x11.cpp create mode 100644 src/gui/text/qfontdatabase.cpp create mode 100644 src/gui/text/qfontdatabase.h create mode 100644 src/gui/text/qfontdatabase_mac.cpp create mode 100644 src/gui/text/qfontdatabase_qws.cpp create mode 100644 src/gui/text/qfontdatabase_win.cpp create mode 100644 src/gui/text/qfontdatabase_x11.cpp create mode 100644 src/gui/text/qfontengine.cpp create mode 100644 src/gui/text/qfontengine_ft.cpp create mode 100644 src/gui/text/qfontengine_ft_p.h create mode 100644 src/gui/text/qfontengine_mac.mm create mode 100644 src/gui/text/qfontengine_p.h create mode 100644 src/gui/text/qfontengine_qpf.cpp create mode 100644 src/gui/text/qfontengine_qpf_p.h create mode 100644 src/gui/text/qfontengine_qws.cpp create mode 100644 src/gui/text/qfontengine_win.cpp create mode 100644 src/gui/text/qfontengine_win_p.h create mode 100644 src/gui/text/qfontengine_x11.cpp create mode 100644 src/gui/text/qfontengine_x11_p.h create mode 100644 src/gui/text/qfontengineglyphcache_p.h create mode 100644 src/gui/text/qfontinfo.h create mode 100644 src/gui/text/qfontmetrics.cpp create mode 100644 src/gui/text/qfontmetrics.h create mode 100644 src/gui/text/qfontsubset.cpp create mode 100644 src/gui/text/qfontsubset_p.h create mode 100644 src/gui/text/qfragmentmap.cpp create mode 100644 src/gui/text/qfragmentmap_p.h create mode 100644 src/gui/text/qpfutil.cpp create mode 100644 src/gui/text/qsyntaxhighlighter.cpp create mode 100644 src/gui/text/qsyntaxhighlighter.h create mode 100644 src/gui/text/qtextcontrol.cpp create mode 100644 src/gui/text/qtextcontrol_p.h create mode 100644 src/gui/text/qtextcontrol_p_p.h create mode 100644 src/gui/text/qtextcursor.cpp create mode 100644 src/gui/text/qtextcursor.h create mode 100644 src/gui/text/qtextcursor_p.h create mode 100644 src/gui/text/qtextdocument.cpp create mode 100644 src/gui/text/qtextdocument.h create mode 100644 src/gui/text/qtextdocument_p.cpp create mode 100644 src/gui/text/qtextdocument_p.h create mode 100644 src/gui/text/qtextdocumentfragment.cpp create mode 100644 src/gui/text/qtextdocumentfragment.h create mode 100644 src/gui/text/qtextdocumentfragment_p.h create mode 100644 src/gui/text/qtextdocumentlayout.cpp create mode 100644 src/gui/text/qtextdocumentlayout_p.h create mode 100644 src/gui/text/qtextdocumentwriter.cpp create mode 100644 src/gui/text/qtextdocumentwriter.h create mode 100644 src/gui/text/qtextengine.cpp create mode 100644 src/gui/text/qtextengine_mac.cpp create mode 100644 src/gui/text/qtextengine_p.h create mode 100644 src/gui/text/qtextformat.cpp create mode 100644 src/gui/text/qtextformat.h create mode 100644 src/gui/text/qtextformat_p.h create mode 100644 src/gui/text/qtexthtmlparser.cpp create mode 100644 src/gui/text/qtexthtmlparser_p.h create mode 100644 src/gui/text/qtextimagehandler.cpp create mode 100644 src/gui/text/qtextimagehandler_p.h create mode 100644 src/gui/text/qtextlayout.cpp create mode 100644 src/gui/text/qtextlayout.h create mode 100644 src/gui/text/qtextlist.cpp create mode 100644 src/gui/text/qtextlist.h create mode 100644 src/gui/text/qtextobject.cpp create mode 100644 src/gui/text/qtextobject.h create mode 100644 src/gui/text/qtextobject_p.h create mode 100644 src/gui/text/qtextodfwriter.cpp create mode 100644 src/gui/text/qtextodfwriter_p.h create mode 100644 src/gui/text/qtextoption.cpp create mode 100644 src/gui/text/qtextoption.h create mode 100644 src/gui/text/qtexttable.cpp create mode 100644 src/gui/text/qtexttable.h create mode 100644 src/gui/text/qtexttable_p.h create mode 100644 src/gui/text/qzip.cpp create mode 100644 src/gui/text/qzipreader_p.h create mode 100644 src/gui/text/qzipwriter_p.h create mode 100644 src/gui/text/text.pri create mode 100644 src/gui/util/qcompleter.cpp create mode 100644 src/gui/util/qcompleter.h create mode 100644 src/gui/util/qcompleter_p.h create mode 100644 src/gui/util/qdesktopservices.cpp create mode 100644 src/gui/util/qdesktopservices.h create mode 100644 src/gui/util/qdesktopservices_mac.cpp create mode 100644 src/gui/util/qdesktopservices_qws.cpp create mode 100644 src/gui/util/qdesktopservices_win.cpp create mode 100644 src/gui/util/qdesktopservices_x11.cpp create mode 100644 src/gui/util/qsystemtrayicon.cpp create mode 100644 src/gui/util/qsystemtrayicon.h create mode 100644 src/gui/util/qsystemtrayicon_mac.mm create mode 100644 src/gui/util/qsystemtrayicon_p.h create mode 100644 src/gui/util/qsystemtrayicon_qws.cpp create mode 100644 src/gui/util/qsystemtrayicon_win.cpp create mode 100644 src/gui/util/qsystemtrayicon_x11.cpp create mode 100644 src/gui/util/qundogroup.cpp create mode 100644 src/gui/util/qundogroup.h create mode 100644 src/gui/util/qundostack.cpp create mode 100644 src/gui/util/qundostack.h create mode 100644 src/gui/util/qundostack_p.h create mode 100644 src/gui/util/qundoview.cpp create mode 100644 src/gui/util/qundoview.h create mode 100644 src/gui/util/util.pri create mode 100644 src/gui/widgets/qabstractbutton.cpp create mode 100644 src/gui/widgets/qabstractbutton.h create mode 100644 src/gui/widgets/qabstractbutton_p.h create mode 100644 src/gui/widgets/qabstractscrollarea.cpp create mode 100644 src/gui/widgets/qabstractscrollarea.h create mode 100644 src/gui/widgets/qabstractscrollarea_p.h create mode 100644 src/gui/widgets/qabstractslider.cpp create mode 100644 src/gui/widgets/qabstractslider.h create mode 100644 src/gui/widgets/qabstractslider_p.h create mode 100644 src/gui/widgets/qabstractspinbox.cpp create mode 100644 src/gui/widgets/qabstractspinbox.h create mode 100644 src/gui/widgets/qabstractspinbox_p.h create mode 100644 src/gui/widgets/qbuttongroup.cpp create mode 100644 src/gui/widgets/qbuttongroup.h create mode 100644 src/gui/widgets/qcalendartextnavigator_p.h create mode 100644 src/gui/widgets/qcalendarwidget.cpp create mode 100644 src/gui/widgets/qcalendarwidget.h create mode 100644 src/gui/widgets/qcheckbox.cpp create mode 100644 src/gui/widgets/qcheckbox.h create mode 100644 src/gui/widgets/qcocoamenu_mac.mm create mode 100644 src/gui/widgets/qcocoamenu_mac_p.h create mode 100644 src/gui/widgets/qcocoatoolbardelegate_mac.mm create mode 100644 src/gui/widgets/qcocoatoolbardelegate_mac_p.h create mode 100644 src/gui/widgets/qcombobox.cpp create mode 100644 src/gui/widgets/qcombobox.h create mode 100644 src/gui/widgets/qcombobox_p.h create mode 100644 src/gui/widgets/qcommandlinkbutton.cpp create mode 100644 src/gui/widgets/qcommandlinkbutton.h create mode 100644 src/gui/widgets/qdatetimeedit.cpp create mode 100644 src/gui/widgets/qdatetimeedit.h create mode 100644 src/gui/widgets/qdatetimeedit_p.h create mode 100644 src/gui/widgets/qdial.cpp create mode 100644 src/gui/widgets/qdial.h create mode 100644 src/gui/widgets/qdialogbuttonbox.cpp create mode 100644 src/gui/widgets/qdialogbuttonbox.h create mode 100644 src/gui/widgets/qdockarealayout.cpp create mode 100644 src/gui/widgets/qdockarealayout_p.h create mode 100644 src/gui/widgets/qdockwidget.cpp create mode 100644 src/gui/widgets/qdockwidget.h create mode 100644 src/gui/widgets/qdockwidget_p.h create mode 100644 src/gui/widgets/qeffects.cpp create mode 100644 src/gui/widgets/qeffects_p.h create mode 100644 src/gui/widgets/qfocusframe.cpp create mode 100644 src/gui/widgets/qfocusframe.h create mode 100644 src/gui/widgets/qfontcombobox.cpp create mode 100644 src/gui/widgets/qfontcombobox.h create mode 100644 src/gui/widgets/qframe.cpp create mode 100644 src/gui/widgets/qframe.h create mode 100644 src/gui/widgets/qframe_p.h create mode 100644 src/gui/widgets/qgroupbox.cpp create mode 100644 src/gui/widgets/qgroupbox.h create mode 100644 src/gui/widgets/qlabel.cpp create mode 100644 src/gui/widgets/qlabel.h create mode 100644 src/gui/widgets/qlabel_p.h create mode 100644 src/gui/widgets/qlcdnumber.cpp create mode 100644 src/gui/widgets/qlcdnumber.h create mode 100644 src/gui/widgets/qlineedit.cpp create mode 100644 src/gui/widgets/qlineedit.h create mode 100644 src/gui/widgets/qlineedit_p.h create mode 100644 src/gui/widgets/qmaccocoaviewcontainer_mac.h create mode 100644 src/gui/widgets/qmaccocoaviewcontainer_mac.mm create mode 100644 src/gui/widgets/qmacnativewidget_mac.h create mode 100644 src/gui/widgets/qmacnativewidget_mac.mm create mode 100644 src/gui/widgets/qmainwindow.cpp create mode 100644 src/gui/widgets/qmainwindow.h create mode 100644 src/gui/widgets/qmainwindowlayout.cpp create mode 100644 src/gui/widgets/qmainwindowlayout_mac.mm create mode 100644 src/gui/widgets/qmainwindowlayout_p.h create mode 100644 src/gui/widgets/qmdiarea.cpp create mode 100644 src/gui/widgets/qmdiarea.h create mode 100644 src/gui/widgets/qmdiarea_p.h create mode 100644 src/gui/widgets/qmdisubwindow.cpp create mode 100644 src/gui/widgets/qmdisubwindow.h create mode 100644 src/gui/widgets/qmdisubwindow_p.h create mode 100644 src/gui/widgets/qmenu.cpp create mode 100644 src/gui/widgets/qmenu.h create mode 100644 src/gui/widgets/qmenu_mac.mm create mode 100644 src/gui/widgets/qmenu_p.h create mode 100644 src/gui/widgets/qmenu_wince.cpp create mode 100644 src/gui/widgets/qmenu_wince.rc create mode 100644 src/gui/widgets/qmenu_wince_resource_p.h create mode 100644 src/gui/widgets/qmenubar.cpp create mode 100644 src/gui/widgets/qmenubar.h create mode 100644 src/gui/widgets/qmenubar_p.h create mode 100644 src/gui/widgets/qmenudata.cpp create mode 100644 src/gui/widgets/qmenudata.h create mode 100644 src/gui/widgets/qplaintextedit.cpp create mode 100644 src/gui/widgets/qplaintextedit.h create mode 100644 src/gui/widgets/qplaintextedit_p.h create mode 100644 src/gui/widgets/qprintpreviewwidget.cpp create mode 100644 src/gui/widgets/qprintpreviewwidget.h create mode 100644 src/gui/widgets/qprogressbar.cpp create mode 100644 src/gui/widgets/qprogressbar.h create mode 100644 src/gui/widgets/qpushbutton.cpp create mode 100644 src/gui/widgets/qpushbutton.h create mode 100644 src/gui/widgets/qpushbutton_p.h create mode 100644 src/gui/widgets/qradiobutton.cpp create mode 100644 src/gui/widgets/qradiobutton.h create mode 100644 src/gui/widgets/qrubberband.cpp create mode 100644 src/gui/widgets/qrubberband.h create mode 100644 src/gui/widgets/qscrollarea.cpp create mode 100644 src/gui/widgets/qscrollarea.h create mode 100644 src/gui/widgets/qscrollarea_p.h create mode 100644 src/gui/widgets/qscrollbar.cpp create mode 100644 src/gui/widgets/qscrollbar.h create mode 100644 src/gui/widgets/qsizegrip.cpp create mode 100644 src/gui/widgets/qsizegrip.h create mode 100644 src/gui/widgets/qslider.cpp create mode 100644 src/gui/widgets/qslider.h create mode 100644 src/gui/widgets/qspinbox.cpp create mode 100644 src/gui/widgets/qspinbox.h create mode 100644 src/gui/widgets/qsplashscreen.cpp create mode 100644 src/gui/widgets/qsplashscreen.h create mode 100644 src/gui/widgets/qsplitter.cpp create mode 100644 src/gui/widgets/qsplitter.h create mode 100644 src/gui/widgets/qsplitter_p.h create mode 100644 src/gui/widgets/qstackedwidget.cpp create mode 100644 src/gui/widgets/qstackedwidget.h create mode 100644 src/gui/widgets/qstatusbar.cpp create mode 100644 src/gui/widgets/qstatusbar.h create mode 100644 src/gui/widgets/qtabbar.cpp create mode 100644 src/gui/widgets/qtabbar.h create mode 100644 src/gui/widgets/qtabbar_p.h create mode 100644 src/gui/widgets/qtabwidget.cpp create mode 100644 src/gui/widgets/qtabwidget.h create mode 100644 src/gui/widgets/qtextbrowser.cpp create mode 100644 src/gui/widgets/qtextbrowser.h create mode 100644 src/gui/widgets/qtextedit.cpp create mode 100644 src/gui/widgets/qtextedit.h create mode 100644 src/gui/widgets/qtextedit_p.h create mode 100644 src/gui/widgets/qtoolbar.cpp create mode 100644 src/gui/widgets/qtoolbar.h create mode 100644 src/gui/widgets/qtoolbar_p.h create mode 100644 src/gui/widgets/qtoolbararealayout.cpp create mode 100644 src/gui/widgets/qtoolbararealayout_p.h create mode 100644 src/gui/widgets/qtoolbarextension.cpp create mode 100644 src/gui/widgets/qtoolbarextension_p.h create mode 100644 src/gui/widgets/qtoolbarlayout.cpp create mode 100644 src/gui/widgets/qtoolbarlayout_p.h create mode 100644 src/gui/widgets/qtoolbarseparator.cpp create mode 100644 src/gui/widgets/qtoolbarseparator_p.h create mode 100644 src/gui/widgets/qtoolbox.cpp create mode 100644 src/gui/widgets/qtoolbox.h create mode 100644 src/gui/widgets/qtoolbutton.cpp create mode 100644 src/gui/widgets/qtoolbutton.h create mode 100644 src/gui/widgets/qvalidator.cpp create mode 100644 src/gui/widgets/qvalidator.h create mode 100644 src/gui/widgets/qwidgetanimator.cpp create mode 100644 src/gui/widgets/qwidgetanimator_p.h create mode 100644 src/gui/widgets/qwidgetresizehandler.cpp create mode 100644 src/gui/widgets/qwidgetresizehandler_p.h create mode 100644 src/gui/widgets/qworkspace.cpp create mode 100644 src/gui/widgets/qworkspace.h create mode 100644 src/gui/widgets/widgets.pri create mode 100644 src/network/access/access.pri create mode 100644 src/network/access/qabstractnetworkcache.cpp create mode 100644 src/network/access/qabstractnetworkcache.h create mode 100644 src/network/access/qabstractnetworkcache_p.h create mode 100644 src/network/access/qftp.cpp create mode 100644 src/network/access/qftp.h create mode 100644 src/network/access/qhttp.cpp create mode 100644 src/network/access/qhttp.h create mode 100644 src/network/access/qhttpnetworkconnection.cpp create mode 100644 src/network/access/qhttpnetworkconnection_p.h create mode 100644 src/network/access/qnetworkaccessbackend.cpp create mode 100644 src/network/access/qnetworkaccessbackend_p.h create mode 100644 src/network/access/qnetworkaccesscache.cpp create mode 100644 src/network/access/qnetworkaccesscache_p.h create mode 100644 src/network/access/qnetworkaccesscachebackend.cpp create mode 100644 src/network/access/qnetworkaccesscachebackend_p.h create mode 100644 src/network/access/qnetworkaccessdatabackend.cpp create mode 100644 src/network/access/qnetworkaccessdatabackend_p.h create mode 100644 src/network/access/qnetworkaccessdebugpipebackend.cpp create mode 100644 src/network/access/qnetworkaccessdebugpipebackend_p.h create mode 100644 src/network/access/qnetworkaccessfilebackend.cpp create mode 100644 src/network/access/qnetworkaccessfilebackend_p.h create mode 100644 src/network/access/qnetworkaccessftpbackend.cpp create mode 100644 src/network/access/qnetworkaccessftpbackend_p.h create mode 100644 src/network/access/qnetworkaccesshttpbackend.cpp create mode 100644 src/network/access/qnetworkaccesshttpbackend_p.h create mode 100644 src/network/access/qnetworkaccessmanager.cpp create mode 100644 src/network/access/qnetworkaccessmanager.h create mode 100644 src/network/access/qnetworkaccessmanager_p.h create mode 100644 src/network/access/qnetworkcookie.cpp create mode 100644 src/network/access/qnetworkcookie.h create mode 100644 src/network/access/qnetworkcookie_p.h create mode 100644 src/network/access/qnetworkdiskcache.cpp create mode 100644 src/network/access/qnetworkdiskcache.h create mode 100644 src/network/access/qnetworkdiskcache_p.h create mode 100644 src/network/access/qnetworkreply.cpp create mode 100644 src/network/access/qnetworkreply.h create mode 100644 src/network/access/qnetworkreply_p.h create mode 100644 src/network/access/qnetworkreplyimpl.cpp create mode 100644 src/network/access/qnetworkreplyimpl_p.h create mode 100644 src/network/access/qnetworkrequest.cpp create mode 100644 src/network/access/qnetworkrequest.h create mode 100644 src/network/access/qnetworkrequest_p.h create mode 100644 src/network/kernel/kernel.pri create mode 100644 src/network/kernel/qauthenticator.cpp create mode 100644 src/network/kernel/qauthenticator.h create mode 100644 src/network/kernel/qauthenticator_p.h create mode 100644 src/network/kernel/qhostaddress.cpp create mode 100644 src/network/kernel/qhostaddress.h create mode 100644 src/network/kernel/qhostaddress_p.h create mode 100644 src/network/kernel/qhostinfo.cpp create mode 100644 src/network/kernel/qhostinfo.h create mode 100644 src/network/kernel/qhostinfo_p.h create mode 100644 src/network/kernel/qhostinfo_unix.cpp create mode 100644 src/network/kernel/qhostinfo_win.cpp create mode 100644 src/network/kernel/qnetworkinterface.cpp create mode 100644 src/network/kernel/qnetworkinterface.h create mode 100644 src/network/kernel/qnetworkinterface_p.h create mode 100644 src/network/kernel/qnetworkinterface_unix.cpp create mode 100644 src/network/kernel/qnetworkinterface_win.cpp create mode 100644 src/network/kernel/qnetworkinterface_win_p.h create mode 100644 src/network/kernel/qnetworkproxy.cpp create mode 100644 src/network/kernel/qnetworkproxy.h create mode 100644 src/network/kernel/qnetworkproxy_generic.cpp create mode 100644 src/network/kernel/qnetworkproxy_mac.cpp create mode 100644 src/network/kernel/qnetworkproxy_win.cpp create mode 100644 src/network/kernel/qurlinfo.cpp create mode 100644 src/network/kernel/qurlinfo.h create mode 100644 src/network/network.pro create mode 100644 src/network/network.qrc create mode 100644 src/network/socket/qabstractsocket.cpp create mode 100644 src/network/socket/qabstractsocket.h create mode 100644 src/network/socket/qabstractsocket_p.h create mode 100644 src/network/socket/qabstractsocketengine.cpp create mode 100644 src/network/socket/qabstractsocketengine_p.h create mode 100644 src/network/socket/qhttpsocketengine.cpp create mode 100644 src/network/socket/qhttpsocketengine_p.h create mode 100644 src/network/socket/qlocalserver.cpp create mode 100644 src/network/socket/qlocalserver.h create mode 100644 src/network/socket/qlocalserver_p.h create mode 100644 src/network/socket/qlocalserver_tcp.cpp create mode 100644 src/network/socket/qlocalserver_unix.cpp create mode 100644 src/network/socket/qlocalserver_win.cpp create mode 100644 src/network/socket/qlocalsocket.cpp create mode 100644 src/network/socket/qlocalsocket.h create mode 100644 src/network/socket/qlocalsocket_p.h create mode 100644 src/network/socket/qlocalsocket_tcp.cpp create mode 100644 src/network/socket/qlocalsocket_unix.cpp create mode 100644 src/network/socket/qlocalsocket_win.cpp create mode 100644 src/network/socket/qnativesocketengine.cpp create mode 100644 src/network/socket/qnativesocketengine_p.h create mode 100644 src/network/socket/qnativesocketengine_unix.cpp create mode 100644 src/network/socket/qnativesocketengine_win.cpp create mode 100644 src/network/socket/qsocks5socketengine.cpp create mode 100644 src/network/socket/qsocks5socketengine_p.h create mode 100644 src/network/socket/qtcpserver.cpp create mode 100644 src/network/socket/qtcpserver.h create mode 100644 src/network/socket/qtcpsocket.cpp create mode 100644 src/network/socket/qtcpsocket.h create mode 100644 src/network/socket/qtcpsocket_p.h create mode 100644 src/network/socket/qudpsocket.cpp create mode 100644 src/network/socket/qudpsocket.h create mode 100644 src/network/socket/socket.pri create mode 100644 src/network/ssl/qssl.cpp create mode 100644 src/network/ssl/qssl.h create mode 100644 src/network/ssl/qsslcertificate.cpp create mode 100644 src/network/ssl/qsslcertificate.h create mode 100644 src/network/ssl/qsslcertificate_p.h create mode 100644 src/network/ssl/qsslcipher.cpp create mode 100644 src/network/ssl/qsslcipher.h create mode 100644 src/network/ssl/qsslcipher_p.h create mode 100644 src/network/ssl/qsslconfiguration.cpp create mode 100644 src/network/ssl/qsslconfiguration.h create mode 100644 src/network/ssl/qsslconfiguration_p.h create mode 100644 src/network/ssl/qsslerror.cpp create mode 100644 src/network/ssl/qsslerror.h create mode 100644 src/network/ssl/qsslkey.cpp create mode 100644 src/network/ssl/qsslkey.h create mode 100644 src/network/ssl/qsslkey_p.h create mode 100644 src/network/ssl/qsslsocket.cpp create mode 100644 src/network/ssl/qsslsocket.h create mode 100644 src/network/ssl/qsslsocket_openssl.cpp create mode 100644 src/network/ssl/qsslsocket_openssl_p.h create mode 100644 src/network/ssl/qsslsocket_openssl_symbols.cpp create mode 100644 src/network/ssl/qsslsocket_openssl_symbols_p.h create mode 100644 src/network/ssl/qsslsocket_p.h create mode 100644 src/network/ssl/qt-ca-bundle.crt create mode 100644 src/network/ssl/ssl.pri create mode 100644 src/opengl/gl2paintengineex/glgc_shader_source.h create mode 100644 src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp create mode 100644 src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h create mode 100644 src/opengl/gl2paintengineex/qglgradientcache.cpp create mode 100644 src/opengl/gl2paintengineex/qglgradientcache_p.h create mode 100644 src/opengl/gl2paintengineex/qglpexshadermanager.cpp create mode 100644 src/opengl/gl2paintengineex/qglpexshadermanager_p.h create mode 100644 src/opengl/gl2paintengineex/qglshader.cpp create mode 100644 src/opengl/gl2paintengineex/qglshader_p.h create mode 100644 src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp create mode 100644 src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h create mode 100644 src/opengl/opengl.pro create mode 100644 src/opengl/qegl.cpp create mode 100644 src/opengl/qegl_p.h create mode 100644 src/opengl/qegl_qws.cpp create mode 100644 src/opengl/qegl_wince.cpp create mode 100644 src/opengl/qegl_x11egl.cpp create mode 100644 src/opengl/qgl.cpp create mode 100644 src/opengl/qgl.h create mode 100644 src/opengl/qgl_cl_p.h create mode 100644 src/opengl/qgl_egl.cpp create mode 100644 src/opengl/qgl_egl_p.h create mode 100644 src/opengl/qgl_mac.mm create mode 100644 src/opengl/qgl_p.h create mode 100644 src/opengl/qgl_qws.cpp create mode 100644 src/opengl/qgl_win.cpp create mode 100644 src/opengl/qgl_wince.cpp create mode 100644 src/opengl/qgl_x11.cpp create mode 100644 src/opengl/qgl_x11egl.cpp create mode 100644 src/opengl/qglcolormap.cpp create mode 100644 src/opengl/qglcolormap.h create mode 100644 src/opengl/qglextensions.cpp create mode 100644 src/opengl/qglextensions_p.h create mode 100644 src/opengl/qglframebufferobject.cpp create mode 100644 src/opengl/qglframebufferobject.h create mode 100644 src/opengl/qglpaintdevice_qws.cpp create mode 100644 src/opengl/qglpaintdevice_qws_p.h create mode 100644 src/opengl/qglpixelbuffer.cpp create mode 100644 src/opengl/qglpixelbuffer.h create mode 100644 src/opengl/qglpixelbuffer_egl.cpp create mode 100644 src/opengl/qglpixelbuffer_mac.mm create mode 100644 src/opengl/qglpixelbuffer_p.h create mode 100644 src/opengl/qglpixelbuffer_win.cpp create mode 100644 src/opengl/qglpixelbuffer_x11.cpp create mode 100644 src/opengl/qglpixmapfilter.cpp create mode 100644 src/opengl/qglpixmapfilter_p.h create mode 100644 src/opengl/qglscreen_qws.cpp create mode 100644 src/opengl/qglscreen_qws.h create mode 100644 src/opengl/qglwindowsurface_qws.cpp create mode 100644 src/opengl/qglwindowsurface_qws_p.h create mode 100644 src/opengl/qgraphicssystem_gl.cpp create mode 100644 src/opengl/qgraphicssystem_gl_p.h create mode 100644 src/opengl/qpaintengine_opengl.cpp create mode 100644 src/opengl/qpaintengine_opengl_p.h create mode 100644 src/opengl/qpixmapdata_gl.cpp create mode 100644 src/opengl/qpixmapdata_gl_p.h create mode 100644 src/opengl/qwindowsurface_gl.cpp create mode 100644 src/opengl/qwindowsurface_gl_p.h create mode 100644 src/opengl/util/README-GLSL create mode 100644 src/opengl/util/brush_painter.glsl create mode 100644 src/opengl/util/brushes.conf create mode 100644 src/opengl/util/composition_mode_colorburn.glsl create mode 100644 src/opengl/util/composition_mode_colordodge.glsl create mode 100644 src/opengl/util/composition_mode_darken.glsl create mode 100644 src/opengl/util/composition_mode_difference.glsl create mode 100644 src/opengl/util/composition_mode_exclusion.glsl create mode 100644 src/opengl/util/composition_mode_hardlight.glsl create mode 100644 src/opengl/util/composition_mode_lighten.glsl create mode 100644 src/opengl/util/composition_mode_multiply.glsl create mode 100644 src/opengl/util/composition_mode_overlay.glsl create mode 100644 src/opengl/util/composition_mode_screen.glsl create mode 100644 src/opengl/util/composition_mode_softlight.glsl create mode 100644 src/opengl/util/composition_modes.conf create mode 100644 src/opengl/util/conical_brush.glsl create mode 100644 src/opengl/util/ellipse.glsl create mode 100644 src/opengl/util/ellipse_aa.glsl create mode 100644 src/opengl/util/ellipse_aa_copy.glsl create mode 100644 src/opengl/util/ellipse_aa_radial.glsl create mode 100644 src/opengl/util/ellipse_functions.glsl create mode 100644 src/opengl/util/fast_painter.glsl create mode 100644 src/opengl/util/fragmentprograms_p.h create mode 100644 src/opengl/util/generator.cpp create mode 100644 src/opengl/util/generator.pro create mode 100755 src/opengl/util/glsl_to_include.sh create mode 100644 src/opengl/util/linear_brush.glsl create mode 100644 src/opengl/util/masks.conf create mode 100644 src/opengl/util/painter.glsl create mode 100644 src/opengl/util/painter_nomask.glsl create mode 100644 src/opengl/util/pattern_brush.glsl create mode 100644 src/opengl/util/radial_brush.glsl create mode 100644 src/opengl/util/simple_porter_duff.glsl create mode 100644 src/opengl/util/solid_brush.glsl create mode 100644 src/opengl/util/texture_brush.glsl create mode 100644 src/opengl/util/trap_exact_aa.glsl create mode 100644 src/phonon/phonon.pro create mode 100644 src/plugins/accessible/accessible.pro create mode 100644 src/plugins/accessible/compat/compat.pro create mode 100644 src/plugins/accessible/compat/main.cpp create mode 100644 src/plugins/accessible/compat/q3complexwidgets.cpp create mode 100644 src/plugins/accessible/compat/q3complexwidgets.h create mode 100644 src/plugins/accessible/compat/q3simplewidgets.cpp create mode 100644 src/plugins/accessible/compat/q3simplewidgets.h create mode 100644 src/plugins/accessible/compat/qaccessiblecompat.cpp create mode 100644 src/plugins/accessible/compat/qaccessiblecompat.h create mode 100644 src/plugins/accessible/qaccessiblebase.pri create mode 100644 src/plugins/accessible/widgets/complexwidgets.cpp create mode 100644 src/plugins/accessible/widgets/complexwidgets.h create mode 100644 src/plugins/accessible/widgets/main.cpp create mode 100644 src/plugins/accessible/widgets/qaccessiblemenu.cpp create mode 100644 src/plugins/accessible/widgets/qaccessiblemenu.h create mode 100644 src/plugins/accessible/widgets/qaccessiblewidgets.cpp create mode 100644 src/plugins/accessible/widgets/qaccessiblewidgets.h create mode 100644 src/plugins/accessible/widgets/rangecontrols.cpp create mode 100644 src/plugins/accessible/widgets/rangecontrols.h create mode 100644 src/plugins/accessible/widgets/simplewidgets.cpp create mode 100644 src/plugins/accessible/widgets/simplewidgets.h create mode 100644 src/plugins/accessible/widgets/widgets.pro create mode 100644 src/plugins/codecs/cn/cn.pro create mode 100644 src/plugins/codecs/cn/main.cpp create mode 100644 src/plugins/codecs/cn/qgb18030codec.cpp create mode 100644 src/plugins/codecs/cn/qgb18030codec.h create mode 100644 src/plugins/codecs/codecs.pro create mode 100644 src/plugins/codecs/jp/jp.pro create mode 100644 src/plugins/codecs/jp/main.cpp create mode 100644 src/plugins/codecs/jp/qeucjpcodec.cpp create mode 100644 src/plugins/codecs/jp/qeucjpcodec.h create mode 100644 src/plugins/codecs/jp/qfontjpcodec.cpp create mode 100644 src/plugins/codecs/jp/qfontjpcodec.h create mode 100644 src/plugins/codecs/jp/qjiscodec.cpp create mode 100644 src/plugins/codecs/jp/qjiscodec.h create mode 100644 src/plugins/codecs/jp/qjpunicode.cpp create mode 100644 src/plugins/codecs/jp/qjpunicode.h create mode 100644 src/plugins/codecs/jp/qsjiscodec.cpp create mode 100644 src/plugins/codecs/jp/qsjiscodec.h create mode 100644 src/plugins/codecs/kr/cp949codetbl.h create mode 100644 src/plugins/codecs/kr/kr.pro create mode 100644 src/plugins/codecs/kr/main.cpp create mode 100644 src/plugins/codecs/kr/qeuckrcodec.cpp create mode 100644 src/plugins/codecs/kr/qeuckrcodec.h create mode 100644 src/plugins/codecs/tw/main.cpp create mode 100644 src/plugins/codecs/tw/qbig5codec.cpp create mode 100644 src/plugins/codecs/tw/qbig5codec.h create mode 100644 src/plugins/codecs/tw/tw.pro create mode 100644 src/plugins/decorations/decorations.pro create mode 100644 src/plugins/decorations/default/default.pro create mode 100644 src/plugins/decorations/default/main.cpp create mode 100644 src/plugins/decorations/styled/main.cpp create mode 100644 src/plugins/decorations/styled/styled.pro create mode 100644 src/plugins/decorations/windows/main.cpp create mode 100644 src/plugins/decorations/windows/windows.pro create mode 100644 src/plugins/gfxdrivers/ahi/ahi.pro create mode 100644 src/plugins/gfxdrivers/ahi/qscreenahi_qws.cpp create mode 100644 src/plugins/gfxdrivers/ahi/qscreenahi_qws.h create mode 100644 src/plugins/gfxdrivers/ahi/qscreenahiplugin.cpp create mode 100644 src/plugins/gfxdrivers/directfb/directfb.pro create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbmouse.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbscreen.h create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbscreenplugin.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp create mode 100644 src/plugins/gfxdrivers/directfb/qdirectfbsurface.h create mode 100644 src/plugins/gfxdrivers/gfxdrivers.pro create mode 100644 src/plugins/gfxdrivers/hybrid/hybrid.pro create mode 100644 src/plugins/gfxdrivers/hybrid/hybridplugin.cpp create mode 100644 src/plugins/gfxdrivers/hybrid/hybridscreen.cpp create mode 100644 src/plugins/gfxdrivers/hybrid/hybridscreen.h create mode 100644 src/plugins/gfxdrivers/hybrid/hybridsurface.cpp create mode 100644 src/plugins/gfxdrivers/hybrid/hybridsurface.h create mode 100644 src/plugins/gfxdrivers/linuxfb/linuxfb.pro create mode 100644 src/plugins/gfxdrivers/linuxfb/main.cpp create mode 100644 src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro create mode 100644 src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c create mode 100644 src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h create mode 100644 src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h create mode 100644 src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c create mode 100644 src/plugins/gfxdrivers/powervr/README create mode 100644 src/plugins/gfxdrivers/powervr/powervr.pro create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreenplugin.cpp create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp create mode 100644 src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h create mode 100644 src/plugins/gfxdrivers/qvfb/main.cpp create mode 100644 src/plugins/gfxdrivers/qvfb/qvfb.pro create mode 100644 src/plugins/gfxdrivers/transformed/main.cpp create mode 100644 src/plugins/gfxdrivers/transformed/transformed.pro create mode 100644 src/plugins/gfxdrivers/vnc/main.cpp create mode 100644 src/plugins/gfxdrivers/vnc/qscreenvnc_p.h create mode 100644 src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp create mode 100644 src/plugins/gfxdrivers/vnc/qscreenvnc_qws.h create mode 100644 src/plugins/gfxdrivers/vnc/vnc.pro create mode 100644 src/plugins/graphicssystems/graphicssystems.pro create mode 100644 src/plugins/graphicssystems/opengl/main.cpp create mode 100644 src/plugins/graphicssystems/opengl/opengl.pro create mode 100644 src/plugins/iconengines/iconengines.pro create mode 100644 src/plugins/iconengines/svgiconengine/main.cpp create mode 100644 src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp create mode 100644 src/plugins/iconengines/svgiconengine/qsvgiconengine.h create mode 100644 src/plugins/iconengines/svgiconengine/svgiconengine.pro create mode 100644 src/plugins/imageformats/gif/gif.pro create mode 100644 src/plugins/imageformats/gif/main.cpp create mode 100644 src/plugins/imageformats/gif/qgifhandler.cpp create mode 100644 src/plugins/imageformats/gif/qgifhandler.h create mode 100644 src/plugins/imageformats/ico/ico.pro create mode 100644 src/plugins/imageformats/ico/main.cpp create mode 100644 src/plugins/imageformats/ico/qicohandler.cpp create mode 100644 src/plugins/imageformats/ico/qicohandler.h create mode 100644 src/plugins/imageformats/imageformats.pro create mode 100644 src/plugins/imageformats/jpeg/jpeg.pro create mode 100644 src/plugins/imageformats/jpeg/main.cpp create mode 100644 src/plugins/imageformats/jpeg/qjpeghandler.cpp create mode 100644 src/plugins/imageformats/jpeg/qjpeghandler.h create mode 100644 src/plugins/imageformats/mng/main.cpp create mode 100644 src/plugins/imageformats/mng/mng.pro create mode 100644 src/plugins/imageformats/mng/qmnghandler.cpp create mode 100644 src/plugins/imageformats/mng/qmnghandler.h create mode 100644 src/plugins/imageformats/svg/main.cpp create mode 100644 src/plugins/imageformats/svg/qsvgiohandler.cpp create mode 100644 src/plugins/imageformats/svg/qsvgiohandler.h create mode 100644 src/plugins/imageformats/svg/svg.pro create mode 100644 src/plugins/imageformats/tiff/main.cpp create mode 100644 src/plugins/imageformats/tiff/qtiffhandler.cpp create mode 100644 src/plugins/imageformats/tiff/qtiffhandler.h create mode 100644 src/plugins/imageformats/tiff/tiff.pro create mode 100644 src/plugins/inputmethods/imsw-multi/imsw-multi.pro create mode 100644 src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp create mode 100644 src/plugins/inputmethods/imsw-multi/qmultiinputcontext.h create mode 100644 src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp create mode 100644 src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.h create mode 100644 src/plugins/inputmethods/inputmethods.pro create mode 100644 src/plugins/kbddrivers/kbddrivers.pro create mode 100644 src/plugins/kbddrivers/linuxis/README create mode 100644 src/plugins/kbddrivers/linuxis/linuxis.pro create mode 100644 src/plugins/kbddrivers/linuxis/linuxiskbddriverplugin.cpp create mode 100644 src/plugins/kbddrivers/linuxis/linuxiskbddriverplugin.h create mode 100644 src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp create mode 100644 src/plugins/kbddrivers/linuxis/linuxiskbdhandler.h create mode 100644 src/plugins/kbddrivers/sl5000/main.cpp create mode 100644 src/plugins/kbddrivers/sl5000/sl5000.pro create mode 100644 src/plugins/kbddrivers/usb/main.cpp create mode 100644 src/plugins/kbddrivers/usb/usb.pro create mode 100644 src/plugins/kbddrivers/vr41xx/main.cpp create mode 100644 src/plugins/kbddrivers/vr41xx/vr41xx.pro create mode 100644 src/plugins/kbddrivers/yopy/main.cpp create mode 100644 src/plugins/kbddrivers/yopy/yopy.pro create mode 100644 src/plugins/mousedrivers/bus/bus.pro create mode 100644 src/plugins/mousedrivers/bus/main.cpp create mode 100644 src/plugins/mousedrivers/linuxis/linuxis.pro create mode 100644 src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp create mode 100644 src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h create mode 100644 src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp create mode 100644 src/plugins/mousedrivers/linuxis/linuxismousehandler.h create mode 100644 src/plugins/mousedrivers/linuxtp/linuxtp.pro create mode 100644 src/plugins/mousedrivers/linuxtp/main.cpp create mode 100644 src/plugins/mousedrivers/mousedrivers.pro create mode 100644 src/plugins/mousedrivers/pc/main.cpp create mode 100644 src/plugins/mousedrivers/pc/pc.pro create mode 100644 src/plugins/mousedrivers/tslib/main.cpp create mode 100644 src/plugins/mousedrivers/tslib/tslib.pro create mode 100644 src/plugins/mousedrivers/vr41xx/main.cpp create mode 100644 src/plugins/mousedrivers/vr41xx/vr41xx.pro create mode 100644 src/plugins/mousedrivers/yopy/main.cpp create mode 100644 src/plugins/mousedrivers/yopy/yopy.pro create mode 100644 src/plugins/phonon/ds9/ds9.pro create mode 100644 src/plugins/phonon/gstreamer/gstreamer.pro create mode 100644 src/plugins/phonon/phonon.pro create mode 100644 src/plugins/phonon/qt7/qt7.pro create mode 100644 src/plugins/phonon/waveout/waveout.pro create mode 100644 src/plugins/plugins.pro create mode 100644 src/plugins/qpluginbase.pri create mode 100644 src/plugins/script/qtdbus/main.cpp create mode 100644 src/plugins/script/qtdbus/main.h create mode 100644 src/plugins/script/qtdbus/qtdbus.pro create mode 100644 src/plugins/script/script.pro create mode 100644 src/plugins/sqldrivers/README create mode 100644 src/plugins/sqldrivers/db2/README create mode 100644 src/plugins/sqldrivers/db2/db2.pro create mode 100644 src/plugins/sqldrivers/db2/main.cpp create mode 100644 src/plugins/sqldrivers/ibase/ibase.pro create mode 100644 src/plugins/sqldrivers/ibase/main.cpp create mode 100644 src/plugins/sqldrivers/mysql/README create mode 100644 src/plugins/sqldrivers/mysql/main.cpp create mode 100644 src/plugins/sqldrivers/mysql/mysql.pro create mode 100644 src/plugins/sqldrivers/oci/README create mode 100644 src/plugins/sqldrivers/oci/main.cpp create mode 100644 src/plugins/sqldrivers/oci/oci.pro create mode 100644 src/plugins/sqldrivers/odbc/README create mode 100644 src/plugins/sqldrivers/odbc/main.cpp create mode 100644 src/plugins/sqldrivers/odbc/odbc.pro create mode 100644 src/plugins/sqldrivers/psql/README create mode 100644 src/plugins/sqldrivers/psql/main.cpp create mode 100644 src/plugins/sqldrivers/psql/psql.pro create mode 100644 src/plugins/sqldrivers/qsqldriverbase.pri create mode 100644 src/plugins/sqldrivers/sqldrivers.pro create mode 100644 src/plugins/sqldrivers/sqlite/README create mode 100644 src/plugins/sqldrivers/sqlite/smain.cpp create mode 100644 src/plugins/sqldrivers/sqlite/sqlite.pro create mode 100644 src/plugins/sqldrivers/sqlite2/README create mode 100644 src/plugins/sqldrivers/sqlite2/smain.cpp create mode 100644 src/plugins/sqldrivers/sqlite2/sqlite2.pro create mode 100644 src/plugins/sqldrivers/tds/README create mode 100644 src/plugins/sqldrivers/tds/main.cpp create mode 100644 src/plugins/sqldrivers/tds/tds.pro create mode 100644 src/qbase.pri create mode 100644 src/qt3support/canvas/canvas.pri create mode 100644 src/qt3support/canvas/q3canvas.cpp create mode 100644 src/qt3support/canvas/q3canvas.h create mode 100644 src/qt3support/dialogs/dialogs.pri create mode 100644 src/qt3support/dialogs/q3filedialog.cpp create mode 100644 src/qt3support/dialogs/q3filedialog.h create mode 100644 src/qt3support/dialogs/q3filedialog_mac.cpp create mode 100644 src/qt3support/dialogs/q3filedialog_win.cpp create mode 100644 src/qt3support/dialogs/q3progressdialog.cpp create mode 100644 src/qt3support/dialogs/q3progressdialog.h create mode 100644 src/qt3support/dialogs/q3tabdialog.cpp create mode 100644 src/qt3support/dialogs/q3tabdialog.h create mode 100644 src/qt3support/dialogs/q3wizard.cpp create mode 100644 src/qt3support/dialogs/q3wizard.h create mode 100644 src/qt3support/itemviews/itemviews.pri create mode 100644 src/qt3support/itemviews/q3iconview.cpp create mode 100644 src/qt3support/itemviews/q3iconview.h create mode 100644 src/qt3support/itemviews/q3listbox.cpp create mode 100644 src/qt3support/itemviews/q3listbox.h create mode 100644 src/qt3support/itemviews/q3listview.cpp create mode 100644 src/qt3support/itemviews/q3listview.h create mode 100644 src/qt3support/itemviews/q3table.cpp create mode 100644 src/qt3support/itemviews/q3table.h create mode 100644 src/qt3support/network/network.pri create mode 100644 src/qt3support/network/q3dns.cpp create mode 100644 src/qt3support/network/q3dns.h create mode 100644 src/qt3support/network/q3ftp.cpp create mode 100644 src/qt3support/network/q3ftp.h create mode 100644 src/qt3support/network/q3http.cpp create mode 100644 src/qt3support/network/q3http.h create mode 100644 src/qt3support/network/q3localfs.cpp create mode 100644 src/qt3support/network/q3localfs.h create mode 100644 src/qt3support/network/q3network.cpp create mode 100644 src/qt3support/network/q3network.h create mode 100644 src/qt3support/network/q3networkprotocol.cpp create mode 100644 src/qt3support/network/q3networkprotocol.h create mode 100644 src/qt3support/network/q3serversocket.cpp create mode 100644 src/qt3support/network/q3serversocket.h create mode 100644 src/qt3support/network/q3socket.cpp create mode 100644 src/qt3support/network/q3socket.h create mode 100644 src/qt3support/network/q3socketdevice.cpp create mode 100644 src/qt3support/network/q3socketdevice.h create mode 100644 src/qt3support/network/q3socketdevice_unix.cpp create mode 100644 src/qt3support/network/q3socketdevice_win.cpp create mode 100644 src/qt3support/network/q3url.cpp create mode 100644 src/qt3support/network/q3url.h create mode 100644 src/qt3support/network/q3urloperator.cpp create mode 100644 src/qt3support/network/q3urloperator.h create mode 100644 src/qt3support/other/other.pri create mode 100644 src/qt3support/other/q3accel.cpp create mode 100644 src/qt3support/other/q3accel.h create mode 100644 src/qt3support/other/q3boxlayout.cpp create mode 100644 src/qt3support/other/q3boxlayout.h create mode 100644 src/qt3support/other/q3dragobject.cpp create mode 100644 src/qt3support/other/q3dragobject.h create mode 100644 src/qt3support/other/q3dropsite.cpp create mode 100644 src/qt3support/other/q3dropsite.h create mode 100644 src/qt3support/other/q3gridlayout.h create mode 100644 src/qt3support/other/q3membuf.cpp create mode 100644 src/qt3support/other/q3membuf_p.h create mode 100644 src/qt3support/other/q3mimefactory.cpp create mode 100644 src/qt3support/other/q3mimefactory.h create mode 100644 src/qt3support/other/q3polygonscanner.cpp create mode 100644 src/qt3support/other/q3polygonscanner.h create mode 100644 src/qt3support/other/q3process.cpp create mode 100644 src/qt3support/other/q3process.h create mode 100644 src/qt3support/other/q3process_unix.cpp create mode 100644 src/qt3support/other/q3process_win.cpp create mode 100644 src/qt3support/other/qiconset.h create mode 100644 src/qt3support/other/qt_compat_pch.h create mode 100644 src/qt3support/painting/painting.pri create mode 100644 src/qt3support/painting/q3paintdevicemetrics.cpp create mode 100644 src/qt3support/painting/q3paintdevicemetrics.h create mode 100644 src/qt3support/painting/q3paintengine_svg.cpp create mode 100644 src/qt3support/painting/q3paintengine_svg_p.h create mode 100644 src/qt3support/painting/q3painter.cpp create mode 100644 src/qt3support/painting/q3painter.h create mode 100644 src/qt3support/painting/q3picture.cpp create mode 100644 src/qt3support/painting/q3picture.h create mode 100644 src/qt3support/painting/q3pointarray.cpp create mode 100644 src/qt3support/painting/q3pointarray.h create mode 100644 src/qt3support/qt3support.pro create mode 100644 src/qt3support/sql/q3databrowser.cpp create mode 100644 src/qt3support/sql/q3databrowser.h create mode 100644 src/qt3support/sql/q3datatable.cpp create mode 100644 src/qt3support/sql/q3datatable.h create mode 100644 src/qt3support/sql/q3dataview.cpp create mode 100644 src/qt3support/sql/q3dataview.h create mode 100644 src/qt3support/sql/q3editorfactory.cpp create mode 100644 src/qt3support/sql/q3editorfactory.h create mode 100644 src/qt3support/sql/q3sqlcursor.cpp create mode 100644 src/qt3support/sql/q3sqlcursor.h create mode 100644 src/qt3support/sql/q3sqleditorfactory.cpp create mode 100644 src/qt3support/sql/q3sqleditorfactory.h create mode 100644 src/qt3support/sql/q3sqlfieldinfo.h create mode 100644 src/qt3support/sql/q3sqlform.cpp create mode 100644 src/qt3support/sql/q3sqlform.h create mode 100644 src/qt3support/sql/q3sqlmanager_p.cpp create mode 100644 src/qt3support/sql/q3sqlmanager_p.h create mode 100644 src/qt3support/sql/q3sqlpropertymap.cpp create mode 100644 src/qt3support/sql/q3sqlpropertymap.h create mode 100644 src/qt3support/sql/q3sqlrecordinfo.h create mode 100644 src/qt3support/sql/q3sqlselectcursor.cpp create mode 100644 src/qt3support/sql/q3sqlselectcursor.h create mode 100644 src/qt3support/sql/sql.pri create mode 100644 src/qt3support/text/q3multilineedit.cpp create mode 100644 src/qt3support/text/q3multilineedit.h create mode 100644 src/qt3support/text/q3richtext.cpp create mode 100644 src/qt3support/text/q3richtext_p.cpp create mode 100644 src/qt3support/text/q3richtext_p.h create mode 100644 src/qt3support/text/q3simplerichtext.cpp create mode 100644 src/qt3support/text/q3simplerichtext.h create mode 100644 src/qt3support/text/q3stylesheet.cpp create mode 100644 src/qt3support/text/q3stylesheet.h create mode 100644 src/qt3support/text/q3syntaxhighlighter.cpp create mode 100644 src/qt3support/text/q3syntaxhighlighter.h create mode 100644 src/qt3support/text/q3syntaxhighlighter_p.h create mode 100644 src/qt3support/text/q3textbrowser.cpp create mode 100644 src/qt3support/text/q3textbrowser.h create mode 100644 src/qt3support/text/q3textedit.cpp create mode 100644 src/qt3support/text/q3textedit.h create mode 100644 src/qt3support/text/q3textstream.cpp create mode 100644 src/qt3support/text/q3textstream.h create mode 100644 src/qt3support/text/q3textview.cpp create mode 100644 src/qt3support/text/q3textview.h create mode 100644 src/qt3support/text/text.pri create mode 100644 src/qt3support/tools/q3asciicache.h create mode 100644 src/qt3support/tools/q3asciidict.h create mode 100644 src/qt3support/tools/q3cache.h create mode 100644 src/qt3support/tools/q3cleanuphandler.h create mode 100644 src/qt3support/tools/q3cstring.cpp create mode 100644 src/qt3support/tools/q3cstring.h create mode 100644 src/qt3support/tools/q3deepcopy.cpp create mode 100644 src/qt3support/tools/q3deepcopy.h create mode 100644 src/qt3support/tools/q3dict.h create mode 100644 src/qt3support/tools/q3garray.cpp create mode 100644 src/qt3support/tools/q3garray.h create mode 100644 src/qt3support/tools/q3gcache.cpp create mode 100644 src/qt3support/tools/q3gcache.h create mode 100644 src/qt3support/tools/q3gdict.cpp create mode 100644 src/qt3support/tools/q3gdict.h create mode 100644 src/qt3support/tools/q3glist.cpp create mode 100644 src/qt3support/tools/q3glist.h create mode 100644 src/qt3support/tools/q3gvector.cpp create mode 100644 src/qt3support/tools/q3gvector.h create mode 100644 src/qt3support/tools/q3intcache.h create mode 100644 src/qt3support/tools/q3intdict.h create mode 100644 src/qt3support/tools/q3memarray.h create mode 100644 src/qt3support/tools/q3objectdict.h create mode 100644 src/qt3support/tools/q3ptrcollection.cpp create mode 100644 src/qt3support/tools/q3ptrcollection.h create mode 100644 src/qt3support/tools/q3ptrdict.h create mode 100644 src/qt3support/tools/q3ptrlist.h create mode 100644 src/qt3support/tools/q3ptrqueue.h create mode 100644 src/qt3support/tools/q3ptrstack.h create mode 100644 src/qt3support/tools/q3ptrvector.h create mode 100644 src/qt3support/tools/q3semaphore.cpp create mode 100644 src/qt3support/tools/q3semaphore.h create mode 100644 src/qt3support/tools/q3shared.cpp create mode 100644 src/qt3support/tools/q3shared.h create mode 100644 src/qt3support/tools/q3signal.cpp create mode 100644 src/qt3support/tools/q3signal.h create mode 100644 src/qt3support/tools/q3sortedlist.h create mode 100644 src/qt3support/tools/q3strlist.h create mode 100644 src/qt3support/tools/q3strvec.h create mode 100644 src/qt3support/tools/q3tl.h create mode 100644 src/qt3support/tools/q3valuelist.h create mode 100644 src/qt3support/tools/q3valuestack.h create mode 100644 src/qt3support/tools/q3valuevector.h create mode 100644 src/qt3support/tools/tools.pri create mode 100644 src/qt3support/widgets/q3action.cpp create mode 100644 src/qt3support/widgets/q3action.h create mode 100644 src/qt3support/widgets/q3button.cpp create mode 100644 src/qt3support/widgets/q3button.h create mode 100644 src/qt3support/widgets/q3buttongroup.cpp create mode 100644 src/qt3support/widgets/q3buttongroup.h create mode 100644 src/qt3support/widgets/q3combobox.cpp create mode 100644 src/qt3support/widgets/q3combobox.h create mode 100644 src/qt3support/widgets/q3datetimeedit.cpp create mode 100644 src/qt3support/widgets/q3datetimeedit.h create mode 100644 src/qt3support/widgets/q3dockarea.cpp create mode 100644 src/qt3support/widgets/q3dockarea.h create mode 100644 src/qt3support/widgets/q3dockwindow.cpp create mode 100644 src/qt3support/widgets/q3dockwindow.h create mode 100644 src/qt3support/widgets/q3frame.cpp create mode 100644 src/qt3support/widgets/q3frame.h create mode 100644 src/qt3support/widgets/q3grid.cpp create mode 100644 src/qt3support/widgets/q3grid.h create mode 100644 src/qt3support/widgets/q3gridview.cpp create mode 100644 src/qt3support/widgets/q3gridview.h create mode 100644 src/qt3support/widgets/q3groupbox.cpp create mode 100644 src/qt3support/widgets/q3groupbox.h create mode 100644 src/qt3support/widgets/q3hbox.cpp create mode 100644 src/qt3support/widgets/q3hbox.h create mode 100644 src/qt3support/widgets/q3header.cpp create mode 100644 src/qt3support/widgets/q3header.h create mode 100644 src/qt3support/widgets/q3hgroupbox.cpp create mode 100644 src/qt3support/widgets/q3hgroupbox.h create mode 100644 src/qt3support/widgets/q3mainwindow.cpp create mode 100644 src/qt3support/widgets/q3mainwindow.h create mode 100644 src/qt3support/widgets/q3mainwindow_p.h create mode 100644 src/qt3support/widgets/q3popupmenu.cpp create mode 100644 src/qt3support/widgets/q3popupmenu.h create mode 100644 src/qt3support/widgets/q3progressbar.cpp create mode 100644 src/qt3support/widgets/q3progressbar.h create mode 100644 src/qt3support/widgets/q3rangecontrol.cpp create mode 100644 src/qt3support/widgets/q3rangecontrol.h create mode 100644 src/qt3support/widgets/q3scrollview.cpp create mode 100644 src/qt3support/widgets/q3scrollview.h create mode 100644 src/qt3support/widgets/q3spinwidget.cpp create mode 100644 src/qt3support/widgets/q3titlebar.cpp create mode 100644 src/qt3support/widgets/q3titlebar_p.h create mode 100644 src/qt3support/widgets/q3toolbar.cpp create mode 100644 src/qt3support/widgets/q3toolbar.h create mode 100644 src/qt3support/widgets/q3vbox.cpp create mode 100644 src/qt3support/widgets/q3vbox.h create mode 100644 src/qt3support/widgets/q3vgroupbox.cpp create mode 100644 src/qt3support/widgets/q3vgroupbox.h create mode 100644 src/qt3support/widgets/q3whatsthis.cpp create mode 100644 src/qt3support/widgets/q3whatsthis.h create mode 100644 src/qt3support/widgets/q3widgetstack.cpp create mode 100644 src/qt3support/widgets/q3widgetstack.h create mode 100644 src/qt3support/widgets/widgets.pri create mode 100644 src/qt_install.pri create mode 100644 src/qt_targets.pri create mode 100644 src/script/instruction.table create mode 100644 src/script/qscript.g create mode 100644 src/script/qscriptable.cpp create mode 100644 src/script/qscriptable.h create mode 100644 src/script/qscriptable_p.h create mode 100644 src/script/qscriptarray_p.h create mode 100644 src/script/qscriptasm.cpp create mode 100644 src/script/qscriptasm_p.h create mode 100644 src/script/qscriptast.cpp create mode 100644 src/script/qscriptast_p.h create mode 100644 src/script/qscriptastfwd_p.h create mode 100644 src/script/qscriptastvisitor.cpp create mode 100644 src/script/qscriptastvisitor_p.h create mode 100644 src/script/qscriptbuffer_p.h create mode 100644 src/script/qscriptclass.cpp create mode 100644 src/script/qscriptclass.h create mode 100644 src/script/qscriptclass_p.h create mode 100644 src/script/qscriptclassdata.cpp create mode 100644 src/script/qscriptclassdata_p.h create mode 100644 src/script/qscriptclassinfo_p.h create mode 100644 src/script/qscriptclasspropertyiterator.cpp create mode 100644 src/script/qscriptclasspropertyiterator.h create mode 100644 src/script/qscriptclasspropertyiterator_p.h create mode 100644 src/script/qscriptcompiler.cpp create mode 100644 src/script/qscriptcompiler_p.h create mode 100644 src/script/qscriptcontext.cpp create mode 100644 src/script/qscriptcontext.h create mode 100644 src/script/qscriptcontext_p.cpp create mode 100644 src/script/qscriptcontext_p.h create mode 100644 src/script/qscriptcontextfwd_p.h create mode 100644 src/script/qscriptcontextinfo.cpp create mode 100644 src/script/qscriptcontextinfo.h create mode 100644 src/script/qscriptcontextinfo_p.h create mode 100644 src/script/qscriptecmaarray.cpp create mode 100644 src/script/qscriptecmaarray_p.h create mode 100644 src/script/qscriptecmaboolean.cpp create mode 100644 src/script/qscriptecmaboolean_p.h create mode 100644 src/script/qscriptecmacore.cpp create mode 100644 src/script/qscriptecmacore_p.h create mode 100644 src/script/qscriptecmadate.cpp create mode 100644 src/script/qscriptecmadate_p.h create mode 100644 src/script/qscriptecmaerror.cpp create mode 100644 src/script/qscriptecmaerror_p.h create mode 100644 src/script/qscriptecmafunction.cpp create mode 100644 src/script/qscriptecmafunction_p.h create mode 100644 src/script/qscriptecmaglobal.cpp create mode 100644 src/script/qscriptecmaglobal_p.h create mode 100644 src/script/qscriptecmamath.cpp create mode 100644 src/script/qscriptecmamath_p.h create mode 100644 src/script/qscriptecmanumber.cpp create mode 100644 src/script/qscriptecmanumber_p.h create mode 100644 src/script/qscriptecmaobject.cpp create mode 100644 src/script/qscriptecmaobject_p.h create mode 100644 src/script/qscriptecmaregexp.cpp create mode 100644 src/script/qscriptecmaregexp_p.h create mode 100644 src/script/qscriptecmastring.cpp create mode 100644 src/script/qscriptecmastring_p.h create mode 100644 src/script/qscriptengine.cpp create mode 100644 src/script/qscriptengine.h create mode 100644 src/script/qscriptengine_p.cpp create mode 100644 src/script/qscriptengine_p.h create mode 100644 src/script/qscriptengineagent.cpp create mode 100644 src/script/qscriptengineagent.h create mode 100644 src/script/qscriptengineagent_p.h create mode 100644 src/script/qscriptenginefwd_p.h create mode 100644 src/script/qscriptextensioninterface.h create mode 100644 src/script/qscriptextensionplugin.cpp create mode 100644 src/script/qscriptextensionplugin.h create mode 100644 src/script/qscriptextenumeration.cpp create mode 100644 src/script/qscriptextenumeration_p.h create mode 100644 src/script/qscriptextqobject.cpp create mode 100644 src/script/qscriptextqobject_p.h create mode 100644 src/script/qscriptextvariant.cpp create mode 100644 src/script/qscriptextvariant_p.h create mode 100644 src/script/qscriptfunction.cpp create mode 100644 src/script/qscriptfunction_p.h create mode 100644 src/script/qscriptgc_p.h create mode 100644 src/script/qscriptglobals_p.h create mode 100644 src/script/qscriptgrammar.cpp create mode 100644 src/script/qscriptgrammar_p.h create mode 100644 src/script/qscriptlexer.cpp create mode 100644 src/script/qscriptlexer_p.h create mode 100644 src/script/qscriptmember_p.h create mode 100644 src/script/qscriptmemberfwd_p.h create mode 100644 src/script/qscriptmemorypool_p.h create mode 100644 src/script/qscriptnameid_p.h create mode 100644 src/script/qscriptnodepool_p.h create mode 100644 src/script/qscriptobject_p.h create mode 100644 src/script/qscriptobjectdata_p.h create mode 100644 src/script/qscriptobjectfwd_p.h create mode 100644 src/script/qscriptparser.cpp create mode 100644 src/script/qscriptparser_p.h create mode 100644 src/script/qscriptprettypretty.cpp create mode 100644 src/script/qscriptprettypretty_p.h create mode 100644 src/script/qscriptrepository_p.h create mode 100644 src/script/qscriptstring.cpp create mode 100644 src/script/qscriptstring.h create mode 100644 src/script/qscriptstring_p.h create mode 100644 src/script/qscriptsyntaxchecker.cpp create mode 100644 src/script/qscriptsyntaxchecker_p.h create mode 100644 src/script/qscriptsyntaxcheckresult_p.h create mode 100644 src/script/qscriptvalue.cpp create mode 100644 src/script/qscriptvalue.h create mode 100644 src/script/qscriptvalue_p.h create mode 100644 src/script/qscriptvaluefwd_p.h create mode 100644 src/script/qscriptvalueimpl.cpp create mode 100644 src/script/qscriptvalueimpl_p.h create mode 100644 src/script/qscriptvalueimplfwd_p.h create mode 100644 src/script/qscriptvalueiterator.cpp create mode 100644 src/script/qscriptvalueiterator.h create mode 100644 src/script/qscriptvalueiterator_p.h create mode 100644 src/script/qscriptvalueiteratorimpl.cpp create mode 100644 src/script/qscriptvalueiteratorimpl_p.h create mode 100644 src/script/qscriptxmlgenerator.cpp create mode 100644 src/script/qscriptxmlgenerator_p.h create mode 100644 src/script/script.pri create mode 100644 src/script/script.pro create mode 100644 src/scripttools/debugging/debugging.pri create mode 100644 src/scripttools/debugging/images/breakpoint.png create mode 100644 src/scripttools/debugging/images/breakpoint.svg create mode 100644 src/scripttools/debugging/images/d_breakpoint.png create mode 100644 src/scripttools/debugging/images/d_breakpoint.svg create mode 100644 src/scripttools/debugging/images/d_interrupt.png create mode 100644 src/scripttools/debugging/images/d_play.png create mode 100644 src/scripttools/debugging/images/delete.png create mode 100644 src/scripttools/debugging/images/find.png create mode 100644 src/scripttools/debugging/images/interrupt.png create mode 100644 src/scripttools/debugging/images/location.png create mode 100644 src/scripttools/debugging/images/location.svg create mode 100644 src/scripttools/debugging/images/mac/closetab.png create mode 100644 src/scripttools/debugging/images/mac/next.png create mode 100644 src/scripttools/debugging/images/mac/plus.png create mode 100644 src/scripttools/debugging/images/mac/previous.png create mode 100644 src/scripttools/debugging/images/new.png create mode 100644 src/scripttools/debugging/images/play.png create mode 100644 src/scripttools/debugging/images/reload.png create mode 100644 src/scripttools/debugging/images/return.png create mode 100644 src/scripttools/debugging/images/runtocursor.png create mode 100644 src/scripttools/debugging/images/runtonewscript.png create mode 100644 src/scripttools/debugging/images/stepinto.png create mode 100644 src/scripttools/debugging/images/stepout.png create mode 100644 src/scripttools/debugging/images/stepover.png create mode 100644 src/scripttools/debugging/images/win/closetab.png create mode 100644 src/scripttools/debugging/images/win/next.png create mode 100644 src/scripttools/debugging/images/win/plus.png create mode 100644 src/scripttools/debugging/images/win/previous.png create mode 100644 src/scripttools/debugging/images/wrap.png create mode 100644 src/scripttools/debugging/qscriptbreakpointdata.cpp create mode 100644 src/scripttools/debugging/qscriptbreakpointdata_p.h create mode 100644 src/scripttools/debugging/qscriptbreakpointsmodel.cpp create mode 100644 src/scripttools/debugging/qscriptbreakpointsmodel_p.h create mode 100644 src/scripttools/debugging/qscriptbreakpointswidget.cpp create mode 100644 src/scripttools/debugging/qscriptbreakpointswidget_p.h create mode 100644 src/scripttools/debugging/qscriptbreakpointswidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptbreakpointswidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptcompletionproviderinterface_p.h create mode 100644 src/scripttools/debugging/qscriptcompletiontask.cpp create mode 100644 src/scripttools/debugging/qscriptcompletiontask_p.h create mode 100644 src/scripttools/debugging/qscriptcompletiontaskinterface.cpp create mode 100644 src/scripttools/debugging/qscriptcompletiontaskinterface_p.h create mode 100644 src/scripttools/debugging/qscriptcompletiontaskinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebugger.cpp create mode 100644 src/scripttools/debugging/qscriptdebugger_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggeragent.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggeragent_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggeragent_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerbackend.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerbackend_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerbackend_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodeview.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodeview_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodeviewinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodeviewinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodewidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodewidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodewidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommand.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercommand_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommandexecutor.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerjob.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsole.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsole_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommand.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommand_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandjob.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandmanager.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsoleglobalobject.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolehistorianinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolewidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerevent.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerevent_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggereventhandlerinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerfrontend.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerfrontend_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerfrontend_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerjob.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerjob_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerjob_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerjobschedulerinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalswidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerobjectsnapshotdelta_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerresponse.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerresponse_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerresponsehandlerinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptsmodel.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptswidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerstackmodel.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerstackmodel_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerstackwidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerstackwidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerstackwidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggervalue.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggervalue_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggervalueproperty.cpp create mode 100644 src/scripttools/debugging/qscriptdebuggervalueproperty_p.h create mode 100644 src/scripttools/debugging/qscriptdebuggerwidgetfactoryinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebugoutputwidget.cpp create mode 100644 src/scripttools/debugging/qscriptdebugoutputwidget_p.h create mode 100644 src/scripttools/debugging/qscriptdebugoutputwidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptedit.cpp create mode 100644 src/scripttools/debugging/qscriptedit_p.h create mode 100644 src/scripttools/debugging/qscriptenginedebugger.cpp create mode 100644 src/scripttools/debugging/qscriptenginedebugger.h create mode 100644 src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp create mode 100644 src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h create mode 100644 src/scripttools/debugging/qscripterrorlogwidget.cpp create mode 100644 src/scripttools/debugging/qscripterrorlogwidget_p.h create mode 100644 src/scripttools/debugging/qscripterrorlogwidgetinterface.cpp create mode 100644 src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h create mode 100644 src/scripttools/debugging/qscripterrorlogwidgetinterface_p_p.h create mode 100644 src/scripttools/debugging/qscriptmessagehandlerinterface_p.h create mode 100644 src/scripttools/debugging/qscriptobjectsnapshot.cpp create mode 100644 src/scripttools/debugging/qscriptobjectsnapshot_p.h create mode 100644 src/scripttools/debugging/qscriptscriptdata.cpp create mode 100644 src/scripttools/debugging/qscriptscriptdata_p.h create mode 100644 src/scripttools/debugging/qscriptstdmessagehandler.cpp create mode 100644 src/scripttools/debugging/qscriptstdmessagehandler_p.h create mode 100644 src/scripttools/debugging/qscriptsyntaxhighlighter.cpp create mode 100644 src/scripttools/debugging/qscriptsyntaxhighlighter_p.h create mode 100644 src/scripttools/debugging/qscripttooltipproviderinterface_p.h create mode 100644 src/scripttools/debugging/qscriptvalueproperty.cpp create mode 100644 src/scripttools/debugging/qscriptvalueproperty_p.h create mode 100644 src/scripttools/debugging/qscriptxmlparser.cpp create mode 100644 src/scripttools/debugging/qscriptxmlparser_p.h create mode 100644 src/scripttools/debugging/scripts/commands/advance.qs create mode 100644 src/scripttools/debugging/scripts/commands/backtrace.qs create mode 100644 src/scripttools/debugging/scripts/commands/break.qs create mode 100644 src/scripttools/debugging/scripts/commands/clear.qs create mode 100644 src/scripttools/debugging/scripts/commands/complete.qs create mode 100644 src/scripttools/debugging/scripts/commands/condition.qs create mode 100644 src/scripttools/debugging/scripts/commands/continue.qs create mode 100644 src/scripttools/debugging/scripts/commands/delete.qs create mode 100644 src/scripttools/debugging/scripts/commands/disable.qs create mode 100644 src/scripttools/debugging/scripts/commands/down.qs create mode 100644 src/scripttools/debugging/scripts/commands/enable.qs create mode 100644 src/scripttools/debugging/scripts/commands/eval.qs create mode 100644 src/scripttools/debugging/scripts/commands/finish.qs create mode 100644 src/scripttools/debugging/scripts/commands/frame.qs create mode 100644 src/scripttools/debugging/scripts/commands/help.qs create mode 100644 src/scripttools/debugging/scripts/commands/ignore.qs create mode 100644 src/scripttools/debugging/scripts/commands/info.qs create mode 100644 src/scripttools/debugging/scripts/commands/interrupt.qs create mode 100644 src/scripttools/debugging/scripts/commands/list.qs create mode 100644 src/scripttools/debugging/scripts/commands/next.qs create mode 100644 src/scripttools/debugging/scripts/commands/print.qs create mode 100644 src/scripttools/debugging/scripts/commands/return.qs create mode 100644 src/scripttools/debugging/scripts/commands/step.qs create mode 100644 src/scripttools/debugging/scripts/commands/tbreak.qs create mode 100644 src/scripttools/debugging/scripts/commands/up.qs create mode 100644 src/scripttools/debugging/scripttools_debugging.qrc create mode 100644 src/scripttools/scripttools.pro create mode 100644 src/sql/README.module create mode 100644 src/sql/drivers/db2/qsql_db2.cpp create mode 100644 src/sql/drivers/db2/qsql_db2.h create mode 100644 src/sql/drivers/drivers.pri create mode 100644 src/sql/drivers/ibase/qsql_ibase.cpp create mode 100644 src/sql/drivers/ibase/qsql_ibase.h create mode 100644 src/sql/drivers/mysql/qsql_mysql.cpp create mode 100644 src/sql/drivers/mysql/qsql_mysql.h create mode 100644 src/sql/drivers/oci/qsql_oci.cpp create mode 100644 src/sql/drivers/oci/qsql_oci.h create mode 100644 src/sql/drivers/odbc/qsql_odbc.cpp create mode 100644 src/sql/drivers/odbc/qsql_odbc.h create mode 100644 src/sql/drivers/psql/qsql_psql.cpp create mode 100644 src/sql/drivers/psql/qsql_psql.h create mode 100644 src/sql/drivers/sqlite/qsql_sqlite.cpp create mode 100644 src/sql/drivers/sqlite/qsql_sqlite.h create mode 100644 src/sql/drivers/sqlite2/qsql_sqlite2.cpp create mode 100644 src/sql/drivers/sqlite2/qsql_sqlite2.h create mode 100644 src/sql/drivers/tds/qsql_tds.cpp create mode 100644 src/sql/drivers/tds/qsql_tds.h create mode 100644 src/sql/kernel/kernel.pri create mode 100644 src/sql/kernel/qsql.h create mode 100644 src/sql/kernel/qsqlcachedresult.cpp create mode 100644 src/sql/kernel/qsqlcachedresult_p.h create mode 100644 src/sql/kernel/qsqldatabase.cpp create mode 100644 src/sql/kernel/qsqldatabase.h create mode 100644 src/sql/kernel/qsqldriver.cpp create mode 100644 src/sql/kernel/qsqldriver.h create mode 100644 src/sql/kernel/qsqldriverplugin.cpp create mode 100644 src/sql/kernel/qsqldriverplugin.h create mode 100644 src/sql/kernel/qsqlerror.cpp create mode 100644 src/sql/kernel/qsqlerror.h create mode 100644 src/sql/kernel/qsqlfield.cpp create mode 100644 src/sql/kernel/qsqlfield.h create mode 100644 src/sql/kernel/qsqlindex.cpp create mode 100644 src/sql/kernel/qsqlindex.h create mode 100644 src/sql/kernel/qsqlnulldriver_p.h create mode 100644 src/sql/kernel/qsqlquery.cpp create mode 100644 src/sql/kernel/qsqlquery.h create mode 100644 src/sql/kernel/qsqlrecord.cpp create mode 100644 src/sql/kernel/qsqlrecord.h create mode 100644 src/sql/kernel/qsqlresult.cpp create mode 100644 src/sql/kernel/qsqlresult.h create mode 100644 src/sql/models/models.pri create mode 100644 src/sql/models/qsqlquerymodel.cpp create mode 100644 src/sql/models/qsqlquerymodel.h create mode 100644 src/sql/models/qsqlquerymodel_p.h create mode 100644 src/sql/models/qsqlrelationaldelegate.cpp create mode 100644 src/sql/models/qsqlrelationaldelegate.h create mode 100644 src/sql/models/qsqlrelationaltablemodel.cpp create mode 100644 src/sql/models/qsqlrelationaltablemodel.h create mode 100644 src/sql/models/qsqltablemodel.cpp create mode 100644 src/sql/models/qsqltablemodel.h create mode 100644 src/sql/models/qsqltablemodel_p.h create mode 100644 src/sql/sql.pro create mode 100644 src/src.pro create mode 100644 src/svg/qgraphicssvgitem.cpp create mode 100644 src/svg/qgraphicssvgitem.h create mode 100644 src/svg/qsvgfont.cpp create mode 100644 src/svg/qsvgfont_p.h create mode 100644 src/svg/qsvggenerator.cpp create mode 100644 src/svg/qsvggenerator.h create mode 100644 src/svg/qsvggraphics.cpp create mode 100644 src/svg/qsvggraphics_p.h create mode 100644 src/svg/qsvghandler.cpp create mode 100644 src/svg/qsvghandler_p.h create mode 100644 src/svg/qsvgnode.cpp create mode 100644 src/svg/qsvgnode_p.h create mode 100644 src/svg/qsvgrenderer.cpp create mode 100644 src/svg/qsvgrenderer.h create mode 100644 src/svg/qsvgstructure.cpp create mode 100644 src/svg/qsvgstructure_p.h create mode 100644 src/svg/qsvgstyle.cpp create mode 100644 src/svg/qsvgstyle_p.h create mode 100644 src/svg/qsvgtinydocument.cpp create mode 100644 src/svg/qsvgtinydocument_p.h create mode 100644 src/svg/qsvgwidget.cpp create mode 100644 src/svg/qsvgwidget.h create mode 100644 src/svg/svg.pro create mode 100644 src/testlib/3rdparty/callgrind_p.h create mode 100644 src/testlib/3rdparty/cycle_p.h create mode 100644 src/testlib/3rdparty/valgrind_p.h create mode 100644 src/testlib/qabstracttestlogger.cpp create mode 100644 src/testlib/qabstracttestlogger_p.h create mode 100644 src/testlib/qasciikey.cpp create mode 100644 src/testlib/qbenchmark.cpp create mode 100644 src/testlib/qbenchmark.h create mode 100644 src/testlib/qbenchmark_p.h create mode 100644 src/testlib/qbenchmarkevent.cpp create mode 100644 src/testlib/qbenchmarkevent_p.h create mode 100644 src/testlib/qbenchmarkmeasurement.cpp create mode 100644 src/testlib/qbenchmarkmeasurement_p.h create mode 100644 src/testlib/qbenchmarkvalgrind.cpp create mode 100644 src/testlib/qbenchmarkvalgrind_p.h create mode 100644 src/testlib/qplaintestlogger.cpp create mode 100644 src/testlib/qplaintestlogger_p.h create mode 100644 src/testlib/qsignaldumper.cpp create mode 100644 src/testlib/qsignaldumper_p.h create mode 100644 src/testlib/qsignalspy.h create mode 100644 src/testlib/qtest.h create mode 100644 src/testlib/qtest_global.h create mode 100644 src/testlib/qtest_gui.h create mode 100644 src/testlib/qtestaccessible.h create mode 100644 src/testlib/qtestassert.h create mode 100644 src/testlib/qtestcase.cpp create mode 100644 src/testlib/qtestcase.h create mode 100644 src/testlib/qtestdata.cpp create mode 100644 src/testlib/qtestdata.h create mode 100644 src/testlib/qtestevent.h create mode 100644 src/testlib/qtesteventloop.h create mode 100644 src/testlib/qtestkeyboard.h create mode 100644 src/testlib/qtestlog.cpp create mode 100644 src/testlib/qtestlog_p.h create mode 100644 src/testlib/qtestmouse.h create mode 100644 src/testlib/qtestresult.cpp create mode 100644 src/testlib/qtestresult_p.h create mode 100644 src/testlib/qtestspontaneevent.h create mode 100644 src/testlib/qtestsystem.h create mode 100644 src/testlib/qtesttable.cpp create mode 100644 src/testlib/qtesttable_p.h create mode 100644 src/testlib/qxmltestlogger.cpp create mode 100644 src/testlib/qxmltestlogger_p.h create mode 100644 src/testlib/testlib.pro create mode 100644 src/tools/bootstrap/bootstrap.pri create mode 100644 src/tools/bootstrap/bootstrap.pro create mode 100644 src/tools/idc/idc.pro create mode 100644 src/tools/idc/main.cpp create mode 100644 src/tools/moc/generator.cpp create mode 100644 src/tools/moc/generator.h create mode 100644 src/tools/moc/keywords.cpp create mode 100644 src/tools/moc/main.cpp create mode 100644 src/tools/moc/moc.cpp create mode 100644 src/tools/moc/moc.h create mode 100644 src/tools/moc/moc.pri create mode 100644 src/tools/moc/moc.pro create mode 100644 src/tools/moc/mwerks_mac.cpp create mode 100644 src/tools/moc/mwerks_mac.h create mode 100644 src/tools/moc/outputrevision.h create mode 100644 src/tools/moc/parser.cpp create mode 100644 src/tools/moc/parser.h create mode 100644 src/tools/moc/ppkeywords.cpp create mode 100644 src/tools/moc/preprocessor.cpp create mode 100644 src/tools/moc/preprocessor.h create mode 100644 src/tools/moc/symbols.h create mode 100644 src/tools/moc/token.cpp create mode 100644 src/tools/moc/token.h create mode 100755 src/tools/moc/util/generate.sh create mode 100644 src/tools/moc/util/generate_keywords.cpp create mode 100644 src/tools/moc/util/generate_keywords.pro create mode 100644 src/tools/moc/util/licenseheader.txt create mode 100644 src/tools/moc/utils.h create mode 100644 src/tools/rcc/main.cpp create mode 100644 src/tools/rcc/rcc.cpp create mode 100644 src/tools/rcc/rcc.h create mode 100644 src/tools/rcc/rcc.pri create mode 100644 src/tools/rcc/rcc.pro create mode 100644 src/tools/uic/cpp/cpp.pri create mode 100644 src/tools/uic/cpp/cppextractimages.cpp create mode 100644 src/tools/uic/cpp/cppextractimages.h create mode 100644 src/tools/uic/cpp/cppwritedeclaration.cpp create mode 100644 src/tools/uic/cpp/cppwritedeclaration.h create mode 100644 src/tools/uic/cpp/cppwriteicondata.cpp create mode 100644 src/tools/uic/cpp/cppwriteicondata.h create mode 100644 src/tools/uic/cpp/cppwriteicondeclaration.cpp create mode 100644 src/tools/uic/cpp/cppwriteicondeclaration.h create mode 100644 src/tools/uic/cpp/cppwriteiconinitialization.cpp create mode 100644 src/tools/uic/cpp/cppwriteiconinitialization.h create mode 100644 src/tools/uic/cpp/cppwriteincludes.cpp create mode 100644 src/tools/uic/cpp/cppwriteincludes.h create mode 100644 src/tools/uic/cpp/cppwriteinitialization.cpp create mode 100644 src/tools/uic/cpp/cppwriteinitialization.h create mode 100644 src/tools/uic/customwidgetsinfo.cpp create mode 100644 src/tools/uic/customwidgetsinfo.h create mode 100644 src/tools/uic/databaseinfo.cpp create mode 100644 src/tools/uic/databaseinfo.h create mode 100644 src/tools/uic/driver.cpp create mode 100644 src/tools/uic/driver.h create mode 100644 src/tools/uic/globaldefs.h create mode 100644 src/tools/uic/main.cpp create mode 100644 src/tools/uic/option.h create mode 100644 src/tools/uic/treewalker.cpp create mode 100644 src/tools/uic/treewalker.h create mode 100644 src/tools/uic/ui4.cpp create mode 100644 src/tools/uic/ui4.h create mode 100644 src/tools/uic/uic.cpp create mode 100644 src/tools/uic/uic.h create mode 100644 src/tools/uic/uic.pri create mode 100644 src/tools/uic/uic.pro create mode 100644 src/tools/uic/utils.h create mode 100644 src/tools/uic/validator.cpp create mode 100644 src/tools/uic/validator.h create mode 100644 src/tools/uic3/converter.cpp create mode 100644 src/tools/uic3/deps.cpp create mode 100644 src/tools/uic3/domtool.cpp create mode 100644 src/tools/uic3/domtool.h create mode 100644 src/tools/uic3/embed.cpp create mode 100644 src/tools/uic3/form.cpp create mode 100644 src/tools/uic3/main.cpp create mode 100644 src/tools/uic3/object.cpp create mode 100644 src/tools/uic3/parser.cpp create mode 100644 src/tools/uic3/parser.h create mode 100644 src/tools/uic3/qt3to4.cpp create mode 100644 src/tools/uic3/qt3to4.h create mode 100644 src/tools/uic3/subclassing.cpp create mode 100644 src/tools/uic3/ui3reader.cpp create mode 100644 src/tools/uic3/ui3reader.h create mode 100644 src/tools/uic3/uic.cpp create mode 100644 src/tools/uic3/uic.h create mode 100644 src/tools/uic3/uic3.pro create mode 100644 src/tools/uic3/widgetinfo.cpp create mode 100644 src/tools/uic3/widgetinfo.h create mode 100644 src/winmain/qtmain_win.cpp create mode 100644 src/winmain/winmain.pro create mode 100644 src/xml/dom/dom.pri create mode 100644 src/xml/dom/qdom.cpp create mode 100644 src/xml/dom/qdom.h create mode 100644 src/xml/sax/qxml.cpp create mode 100644 src/xml/sax/qxml.h create mode 100644 src/xml/sax/sax.pri create mode 100644 src/xml/stream/qxmlstream.h create mode 100644 src/xml/stream/stream.pri create mode 100644 src/xml/xml.pro create mode 100644 src/xmlpatterns/.gitignore create mode 100644 src/xmlpatterns/Doxyfile create mode 100644 src/xmlpatterns/Mainpage.dox create mode 100644 src/xmlpatterns/acceltree/acceltree.pri create mode 100644 src/xmlpatterns/acceltree/qacceliterators.cpp create mode 100644 src/xmlpatterns/acceltree/qacceliterators_p.h create mode 100644 src/xmlpatterns/acceltree/qacceltree.cpp create mode 100644 src/xmlpatterns/acceltree/qacceltree_p.h create mode 100644 src/xmlpatterns/acceltree/qacceltreebuilder.cpp create mode 100644 src/xmlpatterns/acceltree/qacceltreebuilder_p.h create mode 100644 src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp create mode 100644 src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h create mode 100644 src/xmlpatterns/acceltree/qcompressedwhitespace.cpp create mode 100644 src/xmlpatterns/acceltree/qcompressedwhitespace_p.h create mode 100644 src/xmlpatterns/api/api.pri create mode 100644 src/xmlpatterns/api/qabstractmessagehandler.cpp create mode 100644 src/xmlpatterns/api/qabstractmessagehandler.h create mode 100644 src/xmlpatterns/api/qabstracturiresolver.cpp create mode 100644 src/xmlpatterns/api/qabstracturiresolver.h create mode 100644 src/xmlpatterns/api/qabstractxmlforwarditerator.cpp create mode 100644 src/xmlpatterns/api/qabstractxmlforwarditerator_p.h create mode 100644 src/xmlpatterns/api/qabstractxmlnodemodel.cpp create mode 100644 src/xmlpatterns/api/qabstractxmlnodemodel.h create mode 100644 src/xmlpatterns/api/qabstractxmlnodemodel_p.h create mode 100644 src/xmlpatterns/api/qabstractxmlreceiver.cpp create mode 100644 src/xmlpatterns/api/qabstractxmlreceiver.h create mode 100644 src/xmlpatterns/api/qabstractxmlreceiver_p.h create mode 100644 src/xmlpatterns/api/qdeviceresourceloader_p.h create mode 100644 src/xmlpatterns/api/qiodevicedelegate.cpp create mode 100644 src/xmlpatterns/api/qiodevicedelegate_p.h create mode 100644 src/xmlpatterns/api/qnetworkaccessdelegator.cpp create mode 100644 src/xmlpatterns/api/qnetworkaccessdelegator_p.h create mode 100644 src/xmlpatterns/api/qreferencecountedvalue_p.h create mode 100644 src/xmlpatterns/api/qresourcedelegator.cpp create mode 100644 src/xmlpatterns/api/qresourcedelegator_p.h create mode 100644 src/xmlpatterns/api/qsimplexmlnodemodel.cpp create mode 100644 src/xmlpatterns/api/qsimplexmlnodemodel.h create mode 100644 src/xmlpatterns/api/qsourcelocation.cpp create mode 100644 src/xmlpatterns/api/qsourcelocation.h create mode 100644 src/xmlpatterns/api/quriloader.cpp create mode 100644 src/xmlpatterns/api/quriloader_p.h create mode 100644 src/xmlpatterns/api/qvariableloader.cpp create mode 100644 src/xmlpatterns/api/qvariableloader_p.h create mode 100644 src/xmlpatterns/api/qxmlformatter.cpp create mode 100644 src/xmlpatterns/api/qxmlformatter.h create mode 100644 src/xmlpatterns/api/qxmlname.cpp create mode 100644 src/xmlpatterns/api/qxmlname.h create mode 100644 src/xmlpatterns/api/qxmlnamepool.cpp create mode 100644 src/xmlpatterns/api/qxmlnamepool.h create mode 100644 src/xmlpatterns/api/qxmlquery.cpp create mode 100644 src/xmlpatterns/api/qxmlquery.h create mode 100644 src/xmlpatterns/api/qxmlquery_p.h create mode 100644 src/xmlpatterns/api/qxmlresultitems.cpp create mode 100644 src/xmlpatterns/api/qxmlresultitems.h create mode 100644 src/xmlpatterns/api/qxmlresultitems_p.h create mode 100644 src/xmlpatterns/api/qxmlserializer.cpp create mode 100644 src/xmlpatterns/api/qxmlserializer.h create mode 100644 src/xmlpatterns/api/qxmlserializer_p.h create mode 100644 src/xmlpatterns/common.pri create mode 100644 src/xmlpatterns/data/data.pri create mode 100644 src/xmlpatterns/data/qabstractdatetime.cpp create mode 100644 src/xmlpatterns/data/qabstractdatetime_p.h create mode 100644 src/xmlpatterns/data/qabstractduration.cpp create mode 100644 src/xmlpatterns/data/qabstractduration_p.h create mode 100644 src/xmlpatterns/data/qabstractfloat.cpp create mode 100644 src/xmlpatterns/data/qabstractfloat_p.h create mode 100644 src/xmlpatterns/data/qabstractfloatcasters.cpp create mode 100644 src/xmlpatterns/data/qabstractfloatcasters_p.h create mode 100644 src/xmlpatterns/data/qabstractfloatmathematician.cpp create mode 100644 src/xmlpatterns/data/qabstractfloatmathematician_p.h create mode 100644 src/xmlpatterns/data/qanyuri.cpp create mode 100644 src/xmlpatterns/data/qanyuri_p.h create mode 100644 src/xmlpatterns/data/qatomiccaster.cpp create mode 100644 src/xmlpatterns/data/qatomiccaster_p.h create mode 100644 src/xmlpatterns/data/qatomiccasters.cpp create mode 100644 src/xmlpatterns/data/qatomiccasters_p.h create mode 100644 src/xmlpatterns/data/qatomiccomparator.cpp create mode 100644 src/xmlpatterns/data/qatomiccomparator_p.h create mode 100644 src/xmlpatterns/data/qatomiccomparators.cpp create mode 100644 src/xmlpatterns/data/qatomiccomparators_p.h create mode 100644 src/xmlpatterns/data/qatomicmathematician.cpp create mode 100644 src/xmlpatterns/data/qatomicmathematician_p.h create mode 100644 src/xmlpatterns/data/qatomicmathematicians.cpp create mode 100644 src/xmlpatterns/data/qatomicmathematicians_p.h create mode 100644 src/xmlpatterns/data/qatomicstring.cpp create mode 100644 src/xmlpatterns/data/qatomicstring_p.h create mode 100644 src/xmlpatterns/data/qatomicvalue.cpp create mode 100644 src/xmlpatterns/data/qbase64binary.cpp create mode 100644 src/xmlpatterns/data/qbase64binary_p.h create mode 100644 src/xmlpatterns/data/qboolean.cpp create mode 100644 src/xmlpatterns/data/qboolean_p.h create mode 100644 src/xmlpatterns/data/qcommonvalues.cpp create mode 100644 src/xmlpatterns/data/qcommonvalues_p.h create mode 100644 src/xmlpatterns/data/qdate.cpp create mode 100644 src/xmlpatterns/data/qdate_p.h create mode 100644 src/xmlpatterns/data/qdaytimeduration.cpp create mode 100644 src/xmlpatterns/data/qdaytimeduration_p.h create mode 100644 src/xmlpatterns/data/qdecimal.cpp create mode 100644 src/xmlpatterns/data/qdecimal_p.h create mode 100644 src/xmlpatterns/data/qderivedinteger_p.h create mode 100644 src/xmlpatterns/data/qderivedstring_p.h create mode 100644 src/xmlpatterns/data/qduration.cpp create mode 100644 src/xmlpatterns/data/qduration_p.h create mode 100644 src/xmlpatterns/data/qgday.cpp create mode 100644 src/xmlpatterns/data/qgday_p.h create mode 100644 src/xmlpatterns/data/qgmonth.cpp create mode 100644 src/xmlpatterns/data/qgmonth_p.h create mode 100644 src/xmlpatterns/data/qgmonthday.cpp create mode 100644 src/xmlpatterns/data/qgmonthday_p.h create mode 100644 src/xmlpatterns/data/qgyear.cpp create mode 100644 src/xmlpatterns/data/qgyear_p.h create mode 100644 src/xmlpatterns/data/qgyearmonth.cpp create mode 100644 src/xmlpatterns/data/qgyearmonth_p.h create mode 100644 src/xmlpatterns/data/qhexbinary.cpp create mode 100644 src/xmlpatterns/data/qhexbinary_p.h create mode 100644 src/xmlpatterns/data/qinteger.cpp create mode 100644 src/xmlpatterns/data/qinteger_p.h create mode 100644 src/xmlpatterns/data/qitem.cpp create mode 100644 src/xmlpatterns/data/qitem_p.h create mode 100644 src/xmlpatterns/data/qnodebuilder.cpp create mode 100644 src/xmlpatterns/data/qnodebuilder_p.h create mode 100644 src/xmlpatterns/data/qnodemodel.cpp create mode 100644 src/xmlpatterns/data/qqnamevalue.cpp create mode 100644 src/xmlpatterns/data/qqnamevalue_p.h create mode 100644 src/xmlpatterns/data/qresourceloader.cpp create mode 100644 src/xmlpatterns/data/qresourceloader_p.h create mode 100644 src/xmlpatterns/data/qschemadatetime.cpp create mode 100644 src/xmlpatterns/data/qschemadatetime_p.h create mode 100644 src/xmlpatterns/data/qschemanumeric.cpp create mode 100644 src/xmlpatterns/data/qschemanumeric_p.h create mode 100644 src/xmlpatterns/data/qschematime.cpp create mode 100644 src/xmlpatterns/data/qschematime_p.h create mode 100644 src/xmlpatterns/data/qsequencereceiver.cpp create mode 100644 src/xmlpatterns/data/qsequencereceiver_p.h create mode 100644 src/xmlpatterns/data/qsorttuple.cpp create mode 100644 src/xmlpatterns/data/qsorttuple_p.h create mode 100644 src/xmlpatterns/data/quntypedatomic.cpp create mode 100644 src/xmlpatterns/data/quntypedatomic_p.h create mode 100644 src/xmlpatterns/data/qvalidationerror.cpp create mode 100644 src/xmlpatterns/data/qvalidationerror_p.h create mode 100644 src/xmlpatterns/data/qyearmonthduration.cpp create mode 100644 src/xmlpatterns/data/qyearmonthduration_p.h create mode 100644 src/xmlpatterns/documentationGroups.dox create mode 100755 src/xmlpatterns/environment/createReportContext.sh create mode 100644 src/xmlpatterns/environment/createReportContext.xsl create mode 100644 src/xmlpatterns/environment/environment.pri create mode 100644 src/xmlpatterns/environment/qcurrentitemcontext.cpp create mode 100644 src/xmlpatterns/environment/qcurrentitemcontext_p.h create mode 100644 src/xmlpatterns/environment/qdelegatingdynamiccontext.cpp create mode 100644 src/xmlpatterns/environment/qdelegatingdynamiccontext_p.h create mode 100644 src/xmlpatterns/environment/qdelegatingstaticcontext.cpp create mode 100644 src/xmlpatterns/environment/qdelegatingstaticcontext_p.h create mode 100644 src/xmlpatterns/environment/qdynamiccontext.cpp create mode 100644 src/xmlpatterns/environment/qdynamiccontext_p.h create mode 100644 src/xmlpatterns/environment/qfocus.cpp create mode 100644 src/xmlpatterns/environment/qfocus_p.h create mode 100644 src/xmlpatterns/environment/qgenericdynamiccontext.cpp create mode 100644 src/xmlpatterns/environment/qgenericdynamiccontext_p.h create mode 100644 src/xmlpatterns/environment/qgenericstaticcontext.cpp create mode 100644 src/xmlpatterns/environment/qgenericstaticcontext_p.h create mode 100644 src/xmlpatterns/environment/qreceiverdynamiccontext.cpp create mode 100644 src/xmlpatterns/environment/qreceiverdynamiccontext_p.h create mode 100644 src/xmlpatterns/environment/qreportcontext.cpp create mode 100644 src/xmlpatterns/environment/qreportcontext_p.h create mode 100644 src/xmlpatterns/environment/qstackcontextbase.cpp create mode 100644 src/xmlpatterns/environment/qstackcontextbase_p.h create mode 100644 src/xmlpatterns/environment/qstaticbaseuricontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticbaseuricontext_p.h create mode 100644 src/xmlpatterns/environment/qstaticcompatibilitycontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticcompatibilitycontext_p.h create mode 100644 src/xmlpatterns/environment/qstaticcontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticcontext_p.h create mode 100644 src/xmlpatterns/environment/qstaticcurrentcontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticcurrentcontext_p.h create mode 100644 src/xmlpatterns/environment/qstaticfocuscontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticfocuscontext_p.h create mode 100644 src/xmlpatterns/environment/qstaticnamespacecontext.cpp create mode 100644 src/xmlpatterns/environment/qstaticnamespacecontext_p.h create mode 100644 src/xmlpatterns/expr/expr.pri create mode 100644 src/xmlpatterns/expr/qandexpression.cpp create mode 100644 src/xmlpatterns/expr/qandexpression_p.h create mode 100644 src/xmlpatterns/expr/qapplytemplate.cpp create mode 100644 src/xmlpatterns/expr/qapplytemplate_p.h create mode 100644 src/xmlpatterns/expr/qargumentreference.cpp create mode 100644 src/xmlpatterns/expr/qargumentreference_p.h create mode 100644 src/xmlpatterns/expr/qarithmeticexpression.cpp create mode 100644 src/xmlpatterns/expr/qarithmeticexpression_p.h create mode 100644 src/xmlpatterns/expr/qattributeconstructor.cpp create mode 100644 src/xmlpatterns/expr/qattributeconstructor_p.h create mode 100644 src/xmlpatterns/expr/qattributenamevalidator.cpp create mode 100644 src/xmlpatterns/expr/qattributenamevalidator_p.h create mode 100644 src/xmlpatterns/expr/qaxisstep.cpp create mode 100644 src/xmlpatterns/expr/qaxisstep_p.h create mode 100644 src/xmlpatterns/expr/qcachecells_p.h create mode 100644 src/xmlpatterns/expr/qcallsite.cpp create mode 100644 src/xmlpatterns/expr/qcallsite_p.h create mode 100644 src/xmlpatterns/expr/qcalltargetdescription.cpp create mode 100644 src/xmlpatterns/expr/qcalltargetdescription_p.h create mode 100644 src/xmlpatterns/expr/qcalltemplate.cpp create mode 100644 src/xmlpatterns/expr/qcalltemplate_p.h create mode 100644 src/xmlpatterns/expr/qcastableas.cpp create mode 100644 src/xmlpatterns/expr/qcastableas_p.h create mode 100644 src/xmlpatterns/expr/qcastas.cpp create mode 100644 src/xmlpatterns/expr/qcastas_p.h create mode 100644 src/xmlpatterns/expr/qcastingplatform.cpp create mode 100644 src/xmlpatterns/expr/qcastingplatform_p.h create mode 100644 src/xmlpatterns/expr/qcollationchecker.cpp create mode 100644 src/xmlpatterns/expr/qcollationchecker_p.h create mode 100644 src/xmlpatterns/expr/qcombinenodes.cpp create mode 100644 src/xmlpatterns/expr/qcombinenodes_p.h create mode 100644 src/xmlpatterns/expr/qcommentconstructor.cpp create mode 100644 src/xmlpatterns/expr/qcommentconstructor_p.h create mode 100644 src/xmlpatterns/expr/qcomparisonplatform.cpp create mode 100644 src/xmlpatterns/expr/qcomparisonplatform_p.h create mode 100644 src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp create mode 100644 src/xmlpatterns/expr/qcomputednamespaceconstructor_p.h create mode 100644 src/xmlpatterns/expr/qcontextitem.cpp create mode 100644 src/xmlpatterns/expr/qcontextitem_p.h create mode 100644 src/xmlpatterns/expr/qcopyof.cpp create mode 100644 src/xmlpatterns/expr/qcopyof_p.h create mode 100644 src/xmlpatterns/expr/qcurrentitemstore.cpp create mode 100644 src/xmlpatterns/expr/qcurrentitemstore_p.h create mode 100644 src/xmlpatterns/expr/qdocumentconstructor.cpp create mode 100644 src/xmlpatterns/expr/qdocumentconstructor_p.h create mode 100644 src/xmlpatterns/expr/qdocumentcontentvalidator.cpp create mode 100644 src/xmlpatterns/expr/qdocumentcontentvalidator_p.h create mode 100644 src/xmlpatterns/expr/qdynamiccontextstore.cpp create mode 100644 src/xmlpatterns/expr/qdynamiccontextstore_p.h create mode 100644 src/xmlpatterns/expr/qelementconstructor.cpp create mode 100644 src/xmlpatterns/expr/qelementconstructor_p.h create mode 100644 src/xmlpatterns/expr/qemptycontainer.cpp create mode 100644 src/xmlpatterns/expr/qemptycontainer_p.h create mode 100644 src/xmlpatterns/expr/qemptysequence.cpp create mode 100644 src/xmlpatterns/expr/qemptysequence_p.h create mode 100644 src/xmlpatterns/expr/qevaluationcache.cpp create mode 100644 src/xmlpatterns/expr/qevaluationcache_p.h create mode 100644 src/xmlpatterns/expr/qexpression.cpp create mode 100644 src/xmlpatterns/expr/qexpression_p.h create mode 100644 src/xmlpatterns/expr/qexpressiondispatch_p.h create mode 100644 src/xmlpatterns/expr/qexpressionfactory.cpp create mode 100644 src/xmlpatterns/expr/qexpressionfactory_p.h create mode 100644 src/xmlpatterns/expr/qexpressionsequence.cpp create mode 100644 src/xmlpatterns/expr/qexpressionsequence_p.h create mode 100644 src/xmlpatterns/expr/qexpressionvariablereference.cpp create mode 100644 src/xmlpatterns/expr/qexpressionvariablereference_p.h create mode 100644 src/xmlpatterns/expr/qexternalvariableloader.cpp create mode 100644 src/xmlpatterns/expr/qexternalvariableloader_p.h create mode 100644 src/xmlpatterns/expr/qexternalvariablereference.cpp create mode 100644 src/xmlpatterns/expr/qexternalvariablereference_p.h create mode 100644 src/xmlpatterns/expr/qfirstitempredicate.cpp create mode 100644 src/xmlpatterns/expr/qfirstitempredicate_p.h create mode 100644 src/xmlpatterns/expr/qforclause.cpp create mode 100644 src/xmlpatterns/expr/qforclause_p.h create mode 100644 src/xmlpatterns/expr/qgeneralcomparison.cpp create mode 100644 src/xmlpatterns/expr/qgeneralcomparison_p.h create mode 100644 src/xmlpatterns/expr/qgenericpredicate.cpp create mode 100644 src/xmlpatterns/expr/qgenericpredicate_p.h create mode 100644 src/xmlpatterns/expr/qifthenclause.cpp create mode 100644 src/xmlpatterns/expr/qifthenclause_p.h create mode 100644 src/xmlpatterns/expr/qinstanceof.cpp create mode 100644 src/xmlpatterns/expr/qinstanceof_p.h create mode 100644 src/xmlpatterns/expr/qletclause.cpp create mode 100644 src/xmlpatterns/expr/qletclause_p.h create mode 100644 src/xmlpatterns/expr/qliteral.cpp create mode 100644 src/xmlpatterns/expr/qliteral_p.h create mode 100644 src/xmlpatterns/expr/qliteralsequence.cpp create mode 100644 src/xmlpatterns/expr/qliteralsequence_p.h create mode 100644 src/xmlpatterns/expr/qnamespaceconstructor.cpp create mode 100644 src/xmlpatterns/expr/qnamespaceconstructor_p.h create mode 100644 src/xmlpatterns/expr/qncnameconstructor.cpp create mode 100644 src/xmlpatterns/expr/qncnameconstructor_p.h create mode 100644 src/xmlpatterns/expr/qnodecomparison.cpp create mode 100644 src/xmlpatterns/expr/qnodecomparison_p.h create mode 100644 src/xmlpatterns/expr/qnodesort.cpp create mode 100644 src/xmlpatterns/expr/qnodesort_p.h create mode 100644 src/xmlpatterns/expr/qoperandsiterator_p.h create mode 100644 src/xmlpatterns/expr/qoptimizationpasses.cpp create mode 100644 src/xmlpatterns/expr/qoptimizationpasses_p.h create mode 100644 src/xmlpatterns/expr/qoptimizerblocks.cpp create mode 100644 src/xmlpatterns/expr/qoptimizerblocks_p.h create mode 100644 src/xmlpatterns/expr/qoptimizerframework.cpp create mode 100644 src/xmlpatterns/expr/qoptimizerframework_p.h create mode 100644 src/xmlpatterns/expr/qorderby.cpp create mode 100644 src/xmlpatterns/expr/qorderby_p.h create mode 100644 src/xmlpatterns/expr/qorexpression.cpp create mode 100644 src/xmlpatterns/expr/qorexpression_p.h create mode 100644 src/xmlpatterns/expr/qpaircontainer.cpp create mode 100644 src/xmlpatterns/expr/qpaircontainer_p.h create mode 100644 src/xmlpatterns/expr/qparentnodeaxis.cpp create mode 100644 src/xmlpatterns/expr/qparentnodeaxis_p.h create mode 100644 src/xmlpatterns/expr/qpath.cpp create mode 100644 src/xmlpatterns/expr/qpath_p.h create mode 100644 src/xmlpatterns/expr/qpositionalvariablereference.cpp create mode 100644 src/xmlpatterns/expr/qpositionalvariablereference_p.h create mode 100644 src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp create mode 100644 src/xmlpatterns/expr/qprocessinginstructionconstructor_p.h create mode 100644 src/xmlpatterns/expr/qqnameconstructor.cpp create mode 100644 src/xmlpatterns/expr/qqnameconstructor_p.h create mode 100644 src/xmlpatterns/expr/qquantifiedexpression.cpp create mode 100644 src/xmlpatterns/expr/qquantifiedexpression_p.h create mode 100644 src/xmlpatterns/expr/qrangeexpression.cpp create mode 100644 src/xmlpatterns/expr/qrangeexpression_p.h create mode 100644 src/xmlpatterns/expr/qrangevariablereference.cpp create mode 100644 src/xmlpatterns/expr/qrangevariablereference_p.h create mode 100644 src/xmlpatterns/expr/qreturnorderby.cpp create mode 100644 src/xmlpatterns/expr/qreturnorderby_p.h create mode 100644 src/xmlpatterns/expr/qsimplecontentconstructor.cpp create mode 100644 src/xmlpatterns/expr/qsimplecontentconstructor_p.h create mode 100644 src/xmlpatterns/expr/qsinglecontainer.cpp create mode 100644 src/xmlpatterns/expr/qsinglecontainer_p.h create mode 100644 src/xmlpatterns/expr/qsourcelocationreflection.cpp create mode 100644 src/xmlpatterns/expr/qsourcelocationreflection_p.h create mode 100644 src/xmlpatterns/expr/qstaticbaseuristore.cpp create mode 100644 src/xmlpatterns/expr/qstaticbaseuristore_p.h create mode 100644 src/xmlpatterns/expr/qstaticcompatibilitystore.cpp create mode 100644 src/xmlpatterns/expr/qstaticcompatibilitystore_p.h create mode 100644 src/xmlpatterns/expr/qtemplate.cpp create mode 100644 src/xmlpatterns/expr/qtemplate_p.h create mode 100644 src/xmlpatterns/expr/qtemplateinvoker.cpp create mode 100644 src/xmlpatterns/expr/qtemplateinvoker_p.h create mode 100644 src/xmlpatterns/expr/qtemplatemode.cpp create mode 100644 src/xmlpatterns/expr/qtemplatemode_p.h create mode 100644 src/xmlpatterns/expr/qtemplateparameterreference.cpp create mode 100644 src/xmlpatterns/expr/qtemplateparameterreference_p.h create mode 100644 src/xmlpatterns/expr/qtemplatepattern_p.h create mode 100644 src/xmlpatterns/expr/qtextnodeconstructor.cpp create mode 100644 src/xmlpatterns/expr/qtextnodeconstructor_p.h create mode 100644 src/xmlpatterns/expr/qtreatas.cpp create mode 100644 src/xmlpatterns/expr/qtreatas_p.h create mode 100644 src/xmlpatterns/expr/qtriplecontainer.cpp create mode 100644 src/xmlpatterns/expr/qtriplecontainer_p.h create mode 100644 src/xmlpatterns/expr/qtruthpredicate.cpp create mode 100644 src/xmlpatterns/expr/qtruthpredicate_p.h create mode 100644 src/xmlpatterns/expr/qunaryexpression.cpp create mode 100644 src/xmlpatterns/expr/qunaryexpression_p.h create mode 100644 src/xmlpatterns/expr/qunlimitedcontainer.cpp create mode 100644 src/xmlpatterns/expr/qunlimitedcontainer_p.h create mode 100644 src/xmlpatterns/expr/qunresolvedvariablereference.cpp create mode 100644 src/xmlpatterns/expr/qunresolvedvariablereference_p.h create mode 100644 src/xmlpatterns/expr/quserfunction.cpp create mode 100644 src/xmlpatterns/expr/quserfunction_p.h create mode 100644 src/xmlpatterns/expr/quserfunctioncallsite.cpp create mode 100644 src/xmlpatterns/expr/quserfunctioncallsite_p.h create mode 100644 src/xmlpatterns/expr/qvalidate.cpp create mode 100644 src/xmlpatterns/expr/qvalidate_p.h create mode 100644 src/xmlpatterns/expr/qvaluecomparison.cpp create mode 100644 src/xmlpatterns/expr/qvaluecomparison_p.h create mode 100644 src/xmlpatterns/expr/qvariabledeclaration.cpp create mode 100644 src/xmlpatterns/expr/qvariabledeclaration_p.h create mode 100644 src/xmlpatterns/expr/qvariablereference.cpp create mode 100644 src/xmlpatterns/expr/qvariablereference_p.h create mode 100644 src/xmlpatterns/expr/qwithparam_p.h create mode 100644 src/xmlpatterns/expr/qxsltsimplecontentconstructor.cpp create mode 100644 src/xmlpatterns/expr/qxsltsimplecontentconstructor_p.h create mode 100644 src/xmlpatterns/functions/functions.pri create mode 100644 src/xmlpatterns/functions/qabstractfunctionfactory.cpp create mode 100644 src/xmlpatterns/functions/qabstractfunctionfactory_p.h create mode 100644 src/xmlpatterns/functions/qaccessorfns.cpp create mode 100644 src/xmlpatterns/functions/qaccessorfns_p.h create mode 100644 src/xmlpatterns/functions/qaggregatefns.cpp create mode 100644 src/xmlpatterns/functions/qaggregatefns_p.h create mode 100644 src/xmlpatterns/functions/qaggregator.cpp create mode 100644 src/xmlpatterns/functions/qaggregator_p.h create mode 100644 src/xmlpatterns/functions/qassemblestringfns.cpp create mode 100644 src/xmlpatterns/functions/qassemblestringfns_p.h create mode 100644 src/xmlpatterns/functions/qbooleanfns.cpp create mode 100644 src/xmlpatterns/functions/qbooleanfns_p.h create mode 100644 src/xmlpatterns/functions/qcomparescaseaware.cpp create mode 100644 src/xmlpatterns/functions/qcomparescaseaware_p.h create mode 100644 src/xmlpatterns/functions/qcomparestringfns.cpp create mode 100644 src/xmlpatterns/functions/qcomparestringfns_p.h create mode 100644 src/xmlpatterns/functions/qcomparingaggregator.cpp create mode 100644 src/xmlpatterns/functions/qcomparingaggregator_p.h create mode 100644 src/xmlpatterns/functions/qconstructorfunctionsfactory.cpp create mode 100644 src/xmlpatterns/functions/qconstructorfunctionsfactory_p.h create mode 100644 src/xmlpatterns/functions/qcontextfns.cpp create mode 100644 src/xmlpatterns/functions/qcontextfns_p.h create mode 100644 src/xmlpatterns/functions/qcontextnodechecker.cpp create mode 100644 src/xmlpatterns/functions/qcontextnodechecker_p.h create mode 100644 src/xmlpatterns/functions/qcurrentfn.cpp create mode 100644 src/xmlpatterns/functions/qcurrentfn_p.h create mode 100644 src/xmlpatterns/functions/qdatetimefn.cpp create mode 100644 src/xmlpatterns/functions/qdatetimefn_p.h create mode 100644 src/xmlpatterns/functions/qdatetimefns.cpp create mode 100644 src/xmlpatterns/functions/qdatetimefns_p.h create mode 100644 src/xmlpatterns/functions/qdeepequalfn.cpp create mode 100644 src/xmlpatterns/functions/qdeepequalfn_p.h create mode 100644 src/xmlpatterns/functions/qdocumentfn.cpp create mode 100644 src/xmlpatterns/functions/qdocumentfn_p.h create mode 100644 src/xmlpatterns/functions/qelementavailablefn.cpp create mode 100644 src/xmlpatterns/functions/qelementavailablefn_p.h create mode 100644 src/xmlpatterns/functions/qerrorfn.cpp create mode 100644 src/xmlpatterns/functions/qerrorfn_p.h create mode 100644 src/xmlpatterns/functions/qfunctionargument.cpp create mode 100644 src/xmlpatterns/functions/qfunctionargument_p.h create mode 100644 src/xmlpatterns/functions/qfunctionavailablefn.cpp create mode 100644 src/xmlpatterns/functions/qfunctionavailablefn_p.h create mode 100644 src/xmlpatterns/functions/qfunctioncall.cpp create mode 100644 src/xmlpatterns/functions/qfunctioncall_p.h create mode 100644 src/xmlpatterns/functions/qfunctionfactory.cpp create mode 100644 src/xmlpatterns/functions/qfunctionfactory_p.h create mode 100644 src/xmlpatterns/functions/qfunctionfactorycollection.cpp create mode 100644 src/xmlpatterns/functions/qfunctionfactorycollection_p.h create mode 100644 src/xmlpatterns/functions/qfunctionsignature.cpp create mode 100644 src/xmlpatterns/functions/qfunctionsignature_p.h create mode 100644 src/xmlpatterns/functions/qgenerateidfn.cpp create mode 100644 src/xmlpatterns/functions/qgenerateidfn_p.h create mode 100644 src/xmlpatterns/functions/qnodefns.cpp create mode 100644 src/xmlpatterns/functions/qnodefns_p.h create mode 100644 src/xmlpatterns/functions/qnumericfns.cpp create mode 100644 src/xmlpatterns/functions/qnumericfns_p.h create mode 100644 src/xmlpatterns/functions/qpatternmatchingfns.cpp create mode 100644 src/xmlpatterns/functions/qpatternmatchingfns_p.h create mode 100644 src/xmlpatterns/functions/qpatternplatform.cpp create mode 100644 src/xmlpatterns/functions/qpatternplatform_p.h create mode 100644 src/xmlpatterns/functions/qqnamefns.cpp create mode 100644 src/xmlpatterns/functions/qqnamefns_p.h create mode 100644 src/xmlpatterns/functions/qresolveurifn.cpp create mode 100644 src/xmlpatterns/functions/qresolveurifn_p.h create mode 100644 src/xmlpatterns/functions/qsequencefns.cpp create mode 100644 src/xmlpatterns/functions/qsequencefns_p.h create mode 100644 src/xmlpatterns/functions/qsequencegeneratingfns.cpp create mode 100644 src/xmlpatterns/functions/qsequencegeneratingfns_p.h create mode 100644 src/xmlpatterns/functions/qstaticbaseuricontainer_p.h create mode 100644 src/xmlpatterns/functions/qstaticnamespacescontainer.cpp create mode 100644 src/xmlpatterns/functions/qstaticnamespacescontainer_p.h create mode 100644 src/xmlpatterns/functions/qstringvaluefns.cpp create mode 100644 src/xmlpatterns/functions/qstringvaluefns_p.h create mode 100644 src/xmlpatterns/functions/qsubstringfns.cpp create mode 100644 src/xmlpatterns/functions/qsubstringfns_p.h create mode 100644 src/xmlpatterns/functions/qsystempropertyfn.cpp create mode 100644 src/xmlpatterns/functions/qsystempropertyfn_p.h create mode 100644 src/xmlpatterns/functions/qtimezonefns.cpp create mode 100644 src/xmlpatterns/functions/qtimezonefns_p.h create mode 100644 src/xmlpatterns/functions/qtracefn.cpp create mode 100644 src/xmlpatterns/functions/qtracefn_p.h create mode 100644 src/xmlpatterns/functions/qtypeavailablefn.cpp create mode 100644 src/xmlpatterns/functions/qtypeavailablefn_p.h create mode 100644 src/xmlpatterns/functions/qunparsedentitypublicidfn.cpp create mode 100644 src/xmlpatterns/functions/qunparsedentitypublicidfn_p.h create mode 100644 src/xmlpatterns/functions/qunparsedentityurifn.cpp create mode 100644 src/xmlpatterns/functions/qunparsedentityurifn_p.h create mode 100644 src/xmlpatterns/functions/qunparsedtextavailablefn.cpp create mode 100644 src/xmlpatterns/functions/qunparsedtextavailablefn_p.h create mode 100644 src/xmlpatterns/functions/qunparsedtextfn.cpp create mode 100644 src/xmlpatterns/functions/qunparsedtextfn_p.h create mode 100644 src/xmlpatterns/functions/qxpath10corefunctions.cpp create mode 100644 src/xmlpatterns/functions/qxpath10corefunctions_p.h create mode 100644 src/xmlpatterns/functions/qxpath20corefunctions.cpp create mode 100644 src/xmlpatterns/functions/qxpath20corefunctions_p.h create mode 100644 src/xmlpatterns/functions/qxslt20corefunctions.cpp create mode 100644 src/xmlpatterns/functions/qxslt20corefunctions_p.h create mode 100644 src/xmlpatterns/iterators/iterators.pri create mode 100644 src/xmlpatterns/iterators/qcachingiterator.cpp create mode 100644 src/xmlpatterns/iterators/qcachingiterator_p.h create mode 100644 src/xmlpatterns/iterators/qdeduplicateiterator.cpp create mode 100644 src/xmlpatterns/iterators/qdeduplicateiterator_p.h create mode 100644 src/xmlpatterns/iterators/qdistinctiterator.cpp create mode 100644 src/xmlpatterns/iterators/qdistinctiterator_p.h create mode 100644 src/xmlpatterns/iterators/qemptyiterator_p.h create mode 100644 src/xmlpatterns/iterators/qexceptiterator.cpp create mode 100644 src/xmlpatterns/iterators/qexceptiterator_p.h create mode 100644 src/xmlpatterns/iterators/qindexofiterator.cpp create mode 100644 src/xmlpatterns/iterators/qindexofiterator_p.h create mode 100644 src/xmlpatterns/iterators/qinsertioniterator.cpp create mode 100644 src/xmlpatterns/iterators/qinsertioniterator_p.h create mode 100644 src/xmlpatterns/iterators/qintersectiterator.cpp create mode 100644 src/xmlpatterns/iterators/qintersectiterator_p.h create mode 100644 src/xmlpatterns/iterators/qitemmappingiterator_p.h create mode 100644 src/xmlpatterns/iterators/qrangeiterator.cpp create mode 100644 src/xmlpatterns/iterators/qrangeiterator_p.h create mode 100644 src/xmlpatterns/iterators/qremovaliterator.cpp create mode 100644 src/xmlpatterns/iterators/qremovaliterator_p.h create mode 100644 src/xmlpatterns/iterators/qsequencemappingiterator_p.h create mode 100644 src/xmlpatterns/iterators/qsingletoniterator_p.h create mode 100644 src/xmlpatterns/iterators/qsubsequenceiterator.cpp create mode 100644 src/xmlpatterns/iterators/qsubsequenceiterator_p.h create mode 100644 src/xmlpatterns/iterators/qtocodepointsiterator.cpp create mode 100644 src/xmlpatterns/iterators/qtocodepointsiterator_p.h create mode 100644 src/xmlpatterns/iterators/qunioniterator.cpp create mode 100644 src/xmlpatterns/iterators/qunioniterator_p.h create mode 100644 src/xmlpatterns/janitors/janitors.pri create mode 100644 src/xmlpatterns/janitors/qargumentconverter.cpp create mode 100644 src/xmlpatterns/janitors/qargumentconverter_p.h create mode 100644 src/xmlpatterns/janitors/qatomizer.cpp create mode 100644 src/xmlpatterns/janitors/qatomizer_p.h create mode 100644 src/xmlpatterns/janitors/qcardinalityverifier.cpp create mode 100644 src/xmlpatterns/janitors/qcardinalityverifier_p.h create mode 100644 src/xmlpatterns/janitors/qebvextractor.cpp create mode 100644 src/xmlpatterns/janitors/qebvextractor_p.h create mode 100644 src/xmlpatterns/janitors/qitemverifier.cpp create mode 100644 src/xmlpatterns/janitors/qitemverifier_p.h create mode 100644 src/xmlpatterns/janitors/quntypedatomicconverter.cpp create mode 100644 src/xmlpatterns/janitors/quntypedatomicconverter_p.h create mode 100644 src/xmlpatterns/parser/.gitattributes create mode 100644 src/xmlpatterns/parser/.gitignore create mode 100644 src/xmlpatterns/parser/TokenLookup.gperf create mode 100755 src/xmlpatterns/parser/createParser.sh create mode 100755 src/xmlpatterns/parser/createTokenLookup.sh create mode 100755 src/xmlpatterns/parser/createXSLTTokenLookup.sh create mode 100644 src/xmlpatterns/parser/parser.pri create mode 100644 src/xmlpatterns/parser/qmaintainingreader.cpp create mode 100644 src/xmlpatterns/parser/qmaintainingreader_p.h create mode 100644 src/xmlpatterns/parser/qparsercontext.cpp create mode 100644 src/xmlpatterns/parser/qparsercontext_p.h create mode 100644 src/xmlpatterns/parser/qquerytransformparser.cpp create mode 100644 src/xmlpatterns/parser/qquerytransformparser_p.h create mode 100644 src/xmlpatterns/parser/qtokenizer_p.h create mode 100644 src/xmlpatterns/parser/qtokenlookup.cpp create mode 100644 src/xmlpatterns/parser/qtokenrevealer.cpp create mode 100644 src/xmlpatterns/parser/qtokenrevealer_p.h create mode 100644 src/xmlpatterns/parser/qtokensource.cpp create mode 100644 src/xmlpatterns/parser/qtokensource_p.h create mode 100644 src/xmlpatterns/parser/querytransformparser.ypp create mode 100644 src/xmlpatterns/parser/qxquerytokenizer.cpp create mode 100644 src/xmlpatterns/parser/qxquerytokenizer_p.h create mode 100644 src/xmlpatterns/parser/qxslttokenizer.cpp create mode 100644 src/xmlpatterns/parser/qxslttokenizer_p.h create mode 100644 src/xmlpatterns/parser/qxslttokenlookup.cpp create mode 100644 src/xmlpatterns/parser/qxslttokenlookup.xml create mode 100644 src/xmlpatterns/parser/qxslttokenlookup_p.h create mode 100644 src/xmlpatterns/parser/trolltechHeader.txt create mode 100644 src/xmlpatterns/parser/winCEWorkaround.sed create mode 100644 src/xmlpatterns/projection/projection.pri create mode 100644 src/xmlpatterns/projection/qdocumentprojector.cpp create mode 100644 src/xmlpatterns/projection/qdocumentprojector_p.h create mode 100644 src/xmlpatterns/projection/qprojectedexpression_p.h create mode 100644 src/xmlpatterns/qtokenautomaton/README create mode 100644 src/xmlpatterns/qtokenautomaton/exampleFile.xml create mode 100644 src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl create mode 100644 src/xmlpatterns/qtokenautomaton/qtokenautomaton.xsd create mode 100644 src/xmlpatterns/query.pri create mode 100644 src/xmlpatterns/type/qabstractnodetest.cpp create mode 100644 src/xmlpatterns/type/qabstractnodetest_p.h create mode 100644 src/xmlpatterns/type/qanyitemtype.cpp create mode 100644 src/xmlpatterns/type/qanyitemtype_p.h create mode 100644 src/xmlpatterns/type/qanynodetype.cpp create mode 100644 src/xmlpatterns/type/qanynodetype_p.h create mode 100644 src/xmlpatterns/type/qanysimpletype.cpp create mode 100644 src/xmlpatterns/type/qanysimpletype_p.h create mode 100644 src/xmlpatterns/type/qanytype.cpp create mode 100644 src/xmlpatterns/type/qanytype_p.h create mode 100644 src/xmlpatterns/type/qatomiccasterlocator.cpp create mode 100644 src/xmlpatterns/type/qatomiccasterlocator_p.h create mode 100644 src/xmlpatterns/type/qatomiccasterlocators.cpp create mode 100644 src/xmlpatterns/type/qatomiccasterlocators_p.h create mode 100644 src/xmlpatterns/type/qatomiccomparatorlocator.cpp create mode 100644 src/xmlpatterns/type/qatomiccomparatorlocator_p.h create mode 100644 src/xmlpatterns/type/qatomiccomparatorlocators.cpp create mode 100644 src/xmlpatterns/type/qatomiccomparatorlocators_p.h create mode 100644 src/xmlpatterns/type/qatomicmathematicianlocator.cpp create mode 100644 src/xmlpatterns/type/qatomicmathematicianlocator_p.h create mode 100644 src/xmlpatterns/type/qatomicmathematicianlocators.cpp create mode 100644 src/xmlpatterns/type/qatomicmathematicianlocators_p.h create mode 100644 src/xmlpatterns/type/qatomictype.cpp create mode 100644 src/xmlpatterns/type/qatomictype_p.h create mode 100644 src/xmlpatterns/type/qatomictypedispatch_p.h create mode 100644 src/xmlpatterns/type/qbasictypesfactory.cpp create mode 100644 src/xmlpatterns/type/qbasictypesfactory_p.h create mode 100644 src/xmlpatterns/type/qbuiltinatomictype.cpp create mode 100644 src/xmlpatterns/type/qbuiltinatomictype_p.h create mode 100644 src/xmlpatterns/type/qbuiltinatomictypes.cpp create mode 100644 src/xmlpatterns/type/qbuiltinatomictypes_p.h create mode 100644 src/xmlpatterns/type/qbuiltinnodetype.cpp create mode 100644 src/xmlpatterns/type/qbuiltinnodetype_p.h create mode 100644 src/xmlpatterns/type/qbuiltintypes.cpp create mode 100644 src/xmlpatterns/type/qbuiltintypes_p.h create mode 100644 src/xmlpatterns/type/qcardinality.cpp create mode 100644 src/xmlpatterns/type/qcardinality_p.h create mode 100644 src/xmlpatterns/type/qcommonsequencetypes.cpp create mode 100644 src/xmlpatterns/type/qcommonsequencetypes_p.h create mode 100644 src/xmlpatterns/type/qebvtype.cpp create mode 100644 src/xmlpatterns/type/qebvtype_p.h create mode 100644 src/xmlpatterns/type/qemptysequencetype.cpp create mode 100644 src/xmlpatterns/type/qemptysequencetype_p.h create mode 100644 src/xmlpatterns/type/qgenericsequencetype.cpp create mode 100644 src/xmlpatterns/type/qgenericsequencetype_p.h create mode 100644 src/xmlpatterns/type/qitemtype.cpp create mode 100644 src/xmlpatterns/type/qitemtype_p.h create mode 100644 src/xmlpatterns/type/qlocalnametest.cpp create mode 100644 src/xmlpatterns/type/qlocalnametest_p.h create mode 100644 src/xmlpatterns/type/qmultiitemtype.cpp create mode 100644 src/xmlpatterns/type/qmultiitemtype_p.h create mode 100644 src/xmlpatterns/type/qnamespacenametest.cpp create mode 100644 src/xmlpatterns/type/qnamespacenametest_p.h create mode 100644 src/xmlpatterns/type/qnonetype.cpp create mode 100644 src/xmlpatterns/type/qnonetype_p.h create mode 100644 src/xmlpatterns/type/qnumerictype.cpp create mode 100644 src/xmlpatterns/type/qnumerictype_p.h create mode 100644 src/xmlpatterns/type/qprimitives_p.h create mode 100644 src/xmlpatterns/type/qqnametest.cpp create mode 100644 src/xmlpatterns/type/qqnametest_p.h create mode 100644 src/xmlpatterns/type/qschemacomponent.cpp create mode 100644 src/xmlpatterns/type/qschemacomponent_p.h create mode 100644 src/xmlpatterns/type/qschematype.cpp create mode 100644 src/xmlpatterns/type/qschematype_p.h create mode 100644 src/xmlpatterns/type/qschematypefactory.cpp create mode 100644 src/xmlpatterns/type/qschematypefactory_p.h create mode 100644 src/xmlpatterns/type/qsequencetype.cpp create mode 100644 src/xmlpatterns/type/qsequencetype_p.h create mode 100644 src/xmlpatterns/type/qtypechecker.cpp create mode 100644 src/xmlpatterns/type/qtypechecker_p.h create mode 100644 src/xmlpatterns/type/quntyped.cpp create mode 100644 src/xmlpatterns/type/quntyped_p.h create mode 100644 src/xmlpatterns/type/qxsltnodetest.cpp create mode 100644 src/xmlpatterns/type/qxsltnodetest_p.h create mode 100644 src/xmlpatterns/type/type.pri create mode 100644 src/xmlpatterns/utils/qautoptr.cpp create mode 100644 src/xmlpatterns/utils/qautoptr_p.h create mode 100644 src/xmlpatterns/utils/qcommonnamespaces_p.h create mode 100644 src/xmlpatterns/utils/qcppcastinghelper_p.h create mode 100644 src/xmlpatterns/utils/qdebug_p.h create mode 100644 src/xmlpatterns/utils/qdelegatingnamespaceresolver.cpp create mode 100644 src/xmlpatterns/utils/qdelegatingnamespaceresolver_p.h create mode 100644 src/xmlpatterns/utils/qgenericnamespaceresolver.cpp create mode 100644 src/xmlpatterns/utils/qgenericnamespaceresolver_p.h create mode 100644 src/xmlpatterns/utils/qnamepool.cpp create mode 100644 src/xmlpatterns/utils/qnamepool_p.h create mode 100644 src/xmlpatterns/utils/qnamespacebinding_p.h create mode 100644 src/xmlpatterns/utils/qnamespaceresolver.cpp create mode 100644 src/xmlpatterns/utils/qnamespaceresolver_p.h create mode 100644 src/xmlpatterns/utils/qnodenamespaceresolver.cpp create mode 100644 src/xmlpatterns/utils/qnodenamespaceresolver_p.h create mode 100644 src/xmlpatterns/utils/qoutputvalidator.cpp create mode 100644 src/xmlpatterns/utils/qoutputvalidator_p.h create mode 100644 src/xmlpatterns/utils/qpatternistlocale.cpp create mode 100644 src/xmlpatterns/utils/qpatternistlocale_p.h create mode 100644 src/xmlpatterns/utils/qxpathhelper.cpp create mode 100644 src/xmlpatterns/utils/qxpathhelper_p.h create mode 100644 src/xmlpatterns/utils/utils.pri create mode 100644 src/xmlpatterns/xmlpatterns.pro create mode 100644 tests/README create mode 100644 tests/arthur/.gitattributes create mode 100644 tests/arthur/README create mode 100644 tests/arthur/arthurtester.pri create mode 100644 tests/arthur/arthurtester.pro create mode 100644 tests/arthur/common/common.pri create mode 100644 tests/arthur/common/common.pro create mode 100644 tests/arthur/common/framework.cpp create mode 100644 tests/arthur/common/framework.h create mode 100644 tests/arthur/common/images.qrc create mode 100644 tests/arthur/common/images/alpha.png create mode 100644 tests/arthur/common/images/alpha2x2.png create mode 100644 tests/arthur/common/images/bitmap.png create mode 100644 tests/arthur/common/images/border.png create mode 100644 tests/arthur/common/images/dome_argb32.png create mode 100644 tests/arthur/common/images/dome_indexed.png create mode 100644 tests/arthur/common/images/dome_indexed_mask.png create mode 100644 tests/arthur/common/images/dome_mono.png create mode 100644 tests/arthur/common/images/dome_mono_128.png create mode 100644 tests/arthur/common/images/dome_mono_palette.png create mode 100644 tests/arthur/common/images/dome_rgb32.png create mode 100644 tests/arthur/common/images/dot.png create mode 100644 tests/arthur/common/images/face.png create mode 100644 tests/arthur/common/images/gam030.png create mode 100644 tests/arthur/common/images/gam045.png create mode 100644 tests/arthur/common/images/gam056.png create mode 100644 tests/arthur/common/images/gam100.png create mode 100644 tests/arthur/common/images/gam200.png create mode 100644 tests/arthur/common/images/image.png create mode 100644 tests/arthur/common/images/mask.png create mode 100644 tests/arthur/common/images/mask_100.png create mode 100644 tests/arthur/common/images/masked.png create mode 100644 tests/arthur/common/images/sign.png create mode 100644 tests/arthur/common/images/solid.png create mode 100644 tests/arthur/common/images/solid2x2.png create mode 100644 tests/arthur/common/images/struct-image-01.jpg create mode 100644 tests/arthur/common/images/struct-image-01.png create mode 100644 tests/arthur/common/images/zebra.png create mode 100644 tests/arthur/common/paintcommands.cpp create mode 100644 tests/arthur/common/paintcommands.h create mode 100644 tests/arthur/common/qengines.cpp create mode 100644 tests/arthur/common/qengines.h create mode 100644 tests/arthur/common/xmldata.cpp create mode 100644 tests/arthur/common/xmldata.h create mode 100644 tests/arthur/data/1.1/color-prop-03-t.svg create mode 100644 tests/arthur/data/1.1/coords-trans-01-b.svg create mode 100644 tests/arthur/data/1.1/coords-trans-02-t.svg create mode 100644 tests/arthur/data/1.1/coords-trans-03-t.svg create mode 100644 tests/arthur/data/1.1/coords-trans-04-t.svg create mode 100644 tests/arthur/data/1.1/coords-trans-05-t.svg create mode 100644 tests/arthur/data/1.1/coords-trans-06-t.svg create mode 100644 tests/arthur/data/1.1/fonts-elem-01-t.svg create mode 100644 tests/arthur/data/1.1/fonts-elem-02-t.svg create mode 100644 tests/arthur/data/1.1/interact-zoom-01-t.svg create mode 100644 tests/arthur/data/1.1/linking-a-04-t.svg create mode 100644 tests/arthur/data/1.1/linking-uri-03-t.svg create mode 100644 tests/arthur/data/1.1/metadata-example-01-b.svg create mode 100644 tests/arthur/data/1.1/painting-fill-01-t.svg create mode 100644 tests/arthur/data/1.1/painting-fill-02-t.svg create mode 100644 tests/arthur/data/1.1/painting-fill-03-t.svg create mode 100644 tests/arthur/data/1.1/painting-fill-04-t.svg create mode 100644 tests/arthur/data/1.1/painting-stroke-01-t.svg create mode 100644 tests/arthur/data/1.1/painting-stroke-02-t.svg create mode 100644 tests/arthur/data/1.1/painting-stroke-03-t.svg create mode 100644 tests/arthur/data/1.1/painting-stroke-04-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-01-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-02-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-04-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-05-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-06-t.svg create mode 100644 tests/arthur/data/1.1/paths-data-07-t.svg create mode 100644 tests/arthur/data/1.1/pservers-grad-07-b.svg create mode 100644 tests/arthur/data/1.1/pservers-grad-11-b.svg create mode 100644 tests/arthur/data/1.1/render-elems-01-t.svg create mode 100644 tests/arthur/data/1.1/render-elems-02-t.svg create mode 100644 tests/arthur/data/1.1/render-elems-03-t.svg create mode 100644 tests/arthur/data/1.1/render-elems-06-t.svg create mode 100644 tests/arthur/data/1.1/render-elems-07-t.svg create mode 100644 tests/arthur/data/1.1/render-elems-08-t.svg create mode 100644 tests/arthur/data/1.1/render-groups-03-t.svg create mode 100644 tests/arthur/data/1.1/shapes-circle-01-t.svg create mode 100644 tests/arthur/data/1.1/shapes-ellipse-01-t.svg create mode 100644 tests/arthur/data/1.1/shapes-line-01-t.svg create mode 100644 tests/arthur/data/1.1/shapes-polygon-01-t.svg create mode 100644 tests/arthur/data/1.1/shapes-polyline-01-t.svg create mode 100644 tests/arthur/data/1.1/shapes-rect-01-t.svg create mode 100644 tests/arthur/data/1.1/struct-cond-01-t.svg create mode 100644 tests/arthur/data/1.1/struct-cond-02-t.svg create mode 100644 tests/arthur/data/1.1/struct-defs-01-t.svg create mode 100644 tests/arthur/data/1.1/struct-group-01-t.svg create mode 100644 tests/arthur/data/1.1/struct-image-01-t.svg create mode 100644 tests/arthur/data/1.1/struct-image-03-t.svg create mode 100644 tests/arthur/data/1.1/struct-image-04-t.svg create mode 100644 tests/arthur/data/1.1/styling-pres-01-t.svg create mode 100644 tests/arthur/data/1.1/text-fonts-01-t.svg create mode 100644 tests/arthur/data/1.1/text-fonts-02-t.svg create mode 100644 tests/arthur/data/1.1/text-intro-01-t.svg create mode 100644 tests/arthur/data/1.1/text-intro-04-t.svg create mode 100644 tests/arthur/data/1.1/text-ws-01-t.svg create mode 100644 tests/arthur/data/1.1/text-ws-02-t.svg create mode 100644 tests/arthur/data/1.2/07_07.svg create mode 100644 tests/arthur/data/1.2/07_12.svg create mode 100644 tests/arthur/data/1.2/08_02.svg create mode 100644 tests/arthur/data/1.2/08_03.svg create mode 100644 tests/arthur/data/1.2/08_04.svg create mode 100644 tests/arthur/data/1.2/09_02.svg create mode 100644 tests/arthur/data/1.2/09_03.svg create mode 100644 tests/arthur/data/1.2/09_04.svg create mode 100644 tests/arthur/data/1.2/09_05.svg create mode 100644 tests/arthur/data/1.2/09_06.svg create mode 100644 tests/arthur/data/1.2/09_07.svg create mode 100644 tests/arthur/data/1.2/10_03.svg create mode 100644 tests/arthur/data/1.2/10_04.svg create mode 100644 tests/arthur/data/1.2/10_05.svg create mode 100644 tests/arthur/data/1.2/10_06.svg create mode 100644 tests/arthur/data/1.2/10_07.svg create mode 100644 tests/arthur/data/1.2/10_08.svg create mode 100644 tests/arthur/data/1.2/10_09.svg create mode 100644 tests/arthur/data/1.2/10_10.svg create mode 100644 tests/arthur/data/1.2/10_11.svg create mode 100644 tests/arthur/data/1.2/11_01.svg create mode 100644 tests/arthur/data/1.2/11_02.svg create mode 100644 tests/arthur/data/1.2/11_03.svg create mode 100644 tests/arthur/data/1.2/13_01.svg create mode 100644 tests/arthur/data/1.2/13_02.svg create mode 100644 tests/arthur/data/1.2/19_01.svg create mode 100644 tests/arthur/data/1.2/19_02.svg create mode 100644 tests/arthur/data/1.2/animation.svg create mode 100644 tests/arthur/data/1.2/cubic02.svg create mode 100644 tests/arthur/data/1.2/fillrule-evenodd.svg create mode 100644 tests/arthur/data/1.2/fillrule-nonzero.svg create mode 100644 tests/arthur/data/1.2/linecap.svg create mode 100644 tests/arthur/data/1.2/linejoin.svg create mode 100644 tests/arthur/data/1.2/media01.svg create mode 100644 tests/arthur/data/1.2/media02.svg create mode 100644 tests/arthur/data/1.2/media03.svg create mode 100644 tests/arthur/data/1.2/media04.svg create mode 100644 tests/arthur/data/1.2/media05.svg create mode 100644 tests/arthur/data/1.2/mpath01.svg create mode 100644 tests/arthur/data/1.2/non-scaling-stroke.svg create mode 100644 tests/arthur/data/1.2/noonoo.svg create mode 100644 tests/arthur/data/1.2/referencedRect.svg create mode 100644 tests/arthur/data/1.2/referencedRect2.svg create mode 100644 tests/arthur/data/1.2/solidcolor.svg create mode 100644 tests/arthur/data/1.2/textArea01.svg create mode 100644 tests/arthur/data/1.2/timed-lyrics.svg create mode 100644 tests/arthur/data/1.2/use.svg create mode 100644 tests/arthur/data/bugs/.gitattributes create mode 100644 tests/arthur/data/bugs/gradient-defaults.svg create mode 100644 tests/arthur/data/bugs/gradient_pen_fill.svg create mode 100644 tests/arthur/data/bugs/openglcurve.svg create mode 100644 tests/arthur/data/bugs/org_module.svg create mode 100644 tests/arthur/data/bugs/resolve_linear.svg create mode 100644 tests/arthur/data/bugs/resolve_radial.svg create mode 100644 tests/arthur/data/bugs/text_pens.svg create mode 100644 tests/arthur/data/framework.ini create mode 100644 tests/arthur/data/images/alpha.png create mode 100644 tests/arthur/data/images/bitmap.png create mode 100644 tests/arthur/data/images/border.png create mode 100644 tests/arthur/data/images/dome_argb32.png create mode 100644 tests/arthur/data/images/dome_indexed.png create mode 100644 tests/arthur/data/images/dome_indexed_mask.png create mode 100644 tests/arthur/data/images/dome_mono.png create mode 100644 tests/arthur/data/images/dome_mono_128.png create mode 100644 tests/arthur/data/images/dome_mono_palette.png create mode 100644 tests/arthur/data/images/dome_rgb32.png create mode 100644 tests/arthur/data/images/dot.png create mode 100644 tests/arthur/data/images/face.png create mode 100644 tests/arthur/data/images/gam030.png create mode 100644 tests/arthur/data/images/gam045.png create mode 100644 tests/arthur/data/images/gam056.png create mode 100644 tests/arthur/data/images/gam100.png create mode 100644 tests/arthur/data/images/gam200.png create mode 100644 tests/arthur/data/images/image.png create mode 100644 tests/arthur/data/images/mask.png create mode 100644 tests/arthur/data/images/mask_100.png create mode 100644 tests/arthur/data/images/masked.png create mode 100644 tests/arthur/data/images/paths.qps create mode 100644 tests/arthur/data/images/pens.qps create mode 100644 tests/arthur/data/images/sign.png create mode 100644 tests/arthur/data/images/solid.png create mode 100644 tests/arthur/data/images/struct-image-01.jpg create mode 100644 tests/arthur/data/images/struct-image-01.png create mode 100644 tests/arthur/data/qps/alphas.qps create mode 100644 tests/arthur/data/qps/alphas_qps.png create mode 100644 tests/arthur/data/qps/arcs.qps create mode 100644 tests/arthur/data/qps/arcs2.qps create mode 100644 tests/arthur/data/qps/arcs2_qps.png create mode 100644 tests/arthur/data/qps/arcs_qps.png create mode 100644 tests/arthur/data/qps/background.qps create mode 100644 tests/arthur/data/qps/background_brush.qps create mode 100644 tests/arthur/data/qps/background_brush_qps.png create mode 100644 tests/arthur/data/qps/background_qps.png create mode 100644 tests/arthur/data/qps/beziers.qps create mode 100644 tests/arthur/data/qps/beziers_qps.png create mode 100644 tests/arthur/data/qps/bitmaps.qps create mode 100644 tests/arthur/data/qps/bitmaps_qps.png create mode 100644 tests/arthur/data/qps/brush_pens.qps create mode 100644 tests/arthur/data/qps/brush_pens_qps.png create mode 100644 tests/arthur/data/qps/brushes.qps create mode 100644 tests/arthur/data/qps/brushes_qps.png create mode 100644 tests/arthur/data/qps/clippaths.qps create mode 100644 tests/arthur/data/qps/clippaths_qps.png create mode 100644 tests/arthur/data/qps/clipping.qps create mode 100644 tests/arthur/data/qps/clipping_qps.png create mode 100644 tests/arthur/data/qps/clipping_state.qps create mode 100644 tests/arthur/data/qps/clipping_state_qps.png create mode 100644 tests/arthur/data/qps/cliprects.qps create mode 100644 tests/arthur/data/qps/cliprects_qps.png create mode 100644 tests/arthur/data/qps/conical_gradients.qps create mode 100644 tests/arthur/data/qps/conical_gradients_perspectives.qps create mode 100644 tests/arthur/data/qps/conical_gradients_perspectives_qps.png create mode 100644 tests/arthur/data/qps/conical_gradients_qps.png create mode 100644 tests/arthur/data/qps/dashes.qps create mode 100644 tests/arthur/data/qps/dashes_qps.png create mode 100644 tests/arthur/data/qps/degeneratebeziers.qps create mode 100644 tests/arthur/data/qps/degeneratebeziers_qps.png create mode 100644 tests/arthur/data/qps/deviceclipping.qps create mode 100644 tests/arthur/data/qps/deviceclipping_qps.png create mode 100644 tests/arthur/data/qps/drawpoints.qps create mode 100644 tests/arthur/data/qps/drawpoints_qps.png create mode 100644 tests/arthur/data/qps/drawtext.qps create mode 100644 tests/arthur/data/qps/drawtext_qps.png create mode 100644 tests/arthur/data/qps/ellipses.qps create mode 100644 tests/arthur/data/qps/ellipses_qps.png create mode 100644 tests/arthur/data/qps/filltest.qps create mode 100644 tests/arthur/data/qps/filltest_qps.png create mode 100644 tests/arthur/data/qps/fonts.qps create mode 100644 tests/arthur/data/qps/fonts_qps.png create mode 100644 tests/arthur/data/qps/gradients.qps create mode 100644 tests/arthur/data/qps/gradients_qps.png create mode 100644 tests/arthur/data/qps/image_formats.qps create mode 100644 tests/arthur/data/qps/image_formats_qps.png create mode 100644 tests/arthur/data/qps/images.qps create mode 100644 tests/arthur/data/qps/images2.qps create mode 100644 tests/arthur/data/qps/images2_qps.png create mode 100644 tests/arthur/data/qps/images_qps.png create mode 100644 tests/arthur/data/qps/join_cap_styles.qps create mode 100644 tests/arthur/data/qps/join_cap_styles_duplicate_control_points.qps create mode 100644 tests/arthur/data/qps/join_cap_styles_duplicate_control_points_qps.png create mode 100644 tests/arthur/data/qps/join_cap_styles_qps.png create mode 100644 tests/arthur/data/qps/linear_gradients.qps create mode 100644 tests/arthur/data/qps/linear_gradients_perspectives.qps create mode 100644 tests/arthur/data/qps/linear_gradients_perspectives_qps.png create mode 100644 tests/arthur/data/qps/linear_gradients_qps.png create mode 100644 tests/arthur/data/qps/linear_resolving_gradients.qps create mode 100644 tests/arthur/data/qps/linear_resolving_gradients_qps.png create mode 100644 tests/arthur/data/qps/lineconsistency.qps create mode 100644 tests/arthur/data/qps/lineconsistency_qps.png create mode 100644 tests/arthur/data/qps/linedashes.qps create mode 100644 tests/arthur/data/qps/linedashes2.qps create mode 100644 tests/arthur/data/qps/linedashes2_aa.qps create mode 100644 tests/arthur/data/qps/linedashes2_aa_qps.png create mode 100644 tests/arthur/data/qps/linedashes2_qps.png create mode 100644 tests/arthur/data/qps/linedashes_qps.png create mode 100644 tests/arthur/data/qps/lines.qps create mode 100644 tests/arthur/data/qps/lines2.qps create mode 100644 tests/arthur/data/qps/lines2_qps.png create mode 100644 tests/arthur/data/qps/lines_qps.png create mode 100644 tests/arthur/data/qps/object_bounding_mode.qps create mode 100644 tests/arthur/data/qps/object_bounding_mode_qps.png create mode 100644 tests/arthur/data/qps/pathfill.qps create mode 100644 tests/arthur/data/qps/pathfill_qps.png create mode 100644 tests/arthur/data/qps/paths.qps create mode 100644 tests/arthur/data/qps/paths_aa.qps create mode 100644 tests/arthur/data/qps/paths_aa_qps.png create mode 100644 tests/arthur/data/qps/paths_qps.png create mode 100644 tests/arthur/data/qps/pens.qps create mode 100644 tests/arthur/data/qps/pens_aa.qps create mode 100644 tests/arthur/data/qps/pens_aa_qps.png create mode 100644 tests/arthur/data/qps/pens_cosmetic.qps create mode 100644 tests/arthur/data/qps/pens_cosmetic_qps.png create mode 100644 tests/arthur/data/qps/pens_qps.png create mode 100644 tests/arthur/data/qps/perspectives.qps create mode 100644 tests/arthur/data/qps/perspectives2.qps create mode 100644 tests/arthur/data/qps/perspectives2_qps.png create mode 100644 tests/arthur/data/qps/perspectives_qps.png create mode 100644 tests/arthur/data/qps/pixmap_rotation.qps create mode 100644 tests/arthur/data/qps/pixmap_rotation_qps.png create mode 100644 tests/arthur/data/qps/pixmap_scaling.qps create mode 100644 tests/arthur/data/qps/pixmap_subpixel.qps create mode 100644 tests/arthur/data/qps/pixmap_subpixel_qps.png create mode 100644 tests/arthur/data/qps/pixmaps.qps create mode 100644 tests/arthur/data/qps/pixmaps_qps.png create mode 100644 tests/arthur/data/qps/porter_duff.qps create mode 100644 tests/arthur/data/qps/porter_duff2.qps create mode 100644 tests/arthur/data/qps/porter_duff2_qps.png create mode 100644 tests/arthur/data/qps/porter_duff_qps.png create mode 100644 tests/arthur/data/qps/primitives.qps create mode 100644 tests/arthur/data/qps/primitives_qps.png create mode 100644 tests/arthur/data/qps/radial_gradients.qps create mode 100644 tests/arthur/data/qps/radial_gradients_perspectives.qps create mode 100644 tests/arthur/data/qps/radial_gradients_perspectives_qps.png create mode 100644 tests/arthur/data/qps/radial_gradients_qps.png create mode 100644 tests/arthur/data/qps/rasterops.qps create mode 100644 tests/arthur/data/qps/rasterops_qps.png create mode 100644 tests/arthur/data/qps/sizes.qps create mode 100644 tests/arthur/data/qps/sizes_qps.png create mode 100644 tests/arthur/data/qps/text.qps create mode 100644 tests/arthur/data/qps/text_perspectives.qps create mode 100644 tests/arthur/data/qps/text_perspectives_qps.png create mode 100644 tests/arthur/data/qps/text_qps.png create mode 100644 tests/arthur/data/qps/tiled_pixmap.qps create mode 100644 tests/arthur/data/qps/tiled_pixmap_qps.png create mode 100644 tests/arthur/data/random/arcs02.svg create mode 100644 tests/arthur/data/random/atop.svg create mode 100644 tests/arthur/data/random/clinton.svg create mode 100644 tests/arthur/data/random/cowboy.svg create mode 100644 tests/arthur/data/random/gear_is_rising.svg create mode 100644 tests/arthur/data/random/gearflowers.svg create mode 100644 tests/arthur/data/random/kde-look.svg create mode 100644 tests/arthur/data/random/linear_grad_transform.svg create mode 100644 tests/arthur/data/random/longhorn.svg create mode 100644 tests/arthur/data/random/multiply.svg create mode 100644 tests/arthur/data/random/picasso.svg create mode 100644 tests/arthur/data/random/porterduff.svg create mode 100644 tests/arthur/data/random/radial_grad_transform.svg create mode 100644 tests/arthur/data/random/solidcolor.svg create mode 100644 tests/arthur/data/random/spiral.svg create mode 100644 tests/arthur/data/random/tests.svg create mode 100644 tests/arthur/data/random/tests2.svg create mode 100644 tests/arthur/data/random/tiger.svg create mode 100644 tests/arthur/data/random/uluru.png create mode 100644 tests/arthur/data/random/worldcup.svg create mode 100644 tests/arthur/datagenerator/datagenerator.cpp create mode 100644 tests/arthur/datagenerator/datagenerator.h create mode 100644 tests/arthur/datagenerator/datagenerator.pri create mode 100644 tests/arthur/datagenerator/datagenerator.pro create mode 100644 tests/arthur/datagenerator/main.cpp create mode 100644 tests/arthur/datagenerator/xmlgenerator.cpp create mode 100644 tests/arthur/datagenerator/xmlgenerator.h create mode 100644 tests/arthur/htmlgenerator/htmlgenerator.cpp create mode 100644 tests/arthur/htmlgenerator/htmlgenerator.h create mode 100644 tests/arthur/htmlgenerator/htmlgenerator.pro create mode 100644 tests/arthur/htmlgenerator/main.cpp create mode 100644 tests/arthur/lance/enum.png create mode 100644 tests/arthur/lance/icons.qrc create mode 100644 tests/arthur/lance/interactivewidget.cpp create mode 100644 tests/arthur/lance/interactivewidget.h create mode 100644 tests/arthur/lance/lance.pro create mode 100644 tests/arthur/lance/main.cpp create mode 100644 tests/arthur/lance/tools.png create mode 100644 tests/arthur/lance/widgets.h create mode 100644 tests/arthur/performancediff/main.cpp create mode 100644 tests/arthur/performancediff/performancediff.cpp create mode 100644 tests/arthur/performancediff/performancediff.h create mode 100644 tests/arthur/performancediff/performancediff.pro create mode 100644 tests/arthur/shower/main.cpp create mode 100644 tests/arthur/shower/shower.cpp create mode 100644 tests/arthur/shower/shower.h create mode 100644 tests/arthur/shower/shower.pro create mode 100644 tests/auto/atwrapper/.gitignore create mode 100644 tests/auto/atwrapper/TODO create mode 100644 tests/auto/atwrapper/atWrapper.cpp create mode 100644 tests/auto/atwrapper/atWrapper.h create mode 100644 tests/auto/atwrapper/atWrapper.pro create mode 100644 tests/auto/atwrapper/atWrapperAutotest.cpp create mode 100644 tests/auto/atwrapper/desert.ini create mode 100644 tests/auto/atwrapper/ephron.ini create mode 100644 tests/auto/atwrapper/gullgubben.ini create mode 100644 tests/auto/atwrapper/honshu.ini create mode 100644 tests/auto/atwrapper/kramer.ini create mode 100644 tests/auto/atwrapper/scruffy.ini create mode 100644 tests/auto/atwrapper/spareribs.ini create mode 100644 tests/auto/atwrapper/titan.ini create mode 100644 tests/auto/auto.pro create mode 100644 tests/auto/bic/.gitignore create mode 100644 tests/auto/bic/bic.pro create mode 100644 tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt create mode 100644 tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt create mode 100644 tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt create mode 100644 tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt create mode 100755 tests/auto/bic/gen.sh create mode 100644 tests/auto/bic/qbic.cpp create mode 100644 tests/auto/bic/qbic.h create mode 100644 tests/auto/bic/tst_bic.cpp create mode 100644 tests/auto/checkxmlfiles/.gitignore create mode 100644 tests/auto/checkxmlfiles/checkxmlfiles.pro create mode 100644 tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp create mode 100644 tests/auto/collections/.gitignore create mode 100644 tests/auto/collections/collections.pro create mode 100644 tests/auto/collections/tst_collections.cpp create mode 100644 tests/auto/compile/.gitignore create mode 100644 tests/auto/compile/baseclass.cpp create mode 100644 tests/auto/compile/baseclass.h create mode 100644 tests/auto/compile/compile.pro create mode 100644 tests/auto/compile/derivedclass.cpp create mode 100644 tests/auto/compile/derivedclass.h create mode 100644 tests/auto/compile/tst_compile.cpp create mode 100644 tests/auto/compilerwarnings/.gitignore create mode 100644 tests/auto/compilerwarnings/compilerwarnings.pro create mode 100644 tests/auto/compilerwarnings/compilerwarnings.qrc create mode 100644 tests/auto/compilerwarnings/test.cpp create mode 100644 tests/auto/compilerwarnings/tst_compilerwarnings.cpp create mode 100644 tests/auto/exceptionsafety/.gitignore create mode 100644 tests/auto/exceptionsafety/exceptionsafety.pro create mode 100644 tests/auto/exceptionsafety/tst_exceptionsafety.cpp create mode 100644 tests/auto/headers/.gitignore create mode 100644 tests/auto/headers/headers.pro create mode 100644 tests/auto/headers/tst_headers.cpp create mode 100644 tests/auto/languagechange/.gitignore create mode 100644 tests/auto/languagechange/languagechange.pro create mode 100644 tests/auto/languagechange/tst_languagechange.cpp create mode 100644 tests/auto/macgui/.gitignore create mode 100644 tests/auto/macgui/guitest.cpp create mode 100644 tests/auto/macgui/guitest.h create mode 100644 tests/auto/macgui/macgui.pro create mode 100644 tests/auto/macgui/tst_gui.cpp create mode 100644 tests/auto/macplist/app/app.pro create mode 100644 tests/auto/macplist/app/main.cpp create mode 100644 tests/auto/macplist/macplist.pro create mode 100644 tests/auto/macplist/test/test.pro create mode 100644 tests/auto/macplist/tst_macplist.cpp create mode 100644 tests/auto/mediaobject/.gitignore create mode 100644 tests/auto/mediaobject/media/sax.mp3 create mode 100644 tests/auto/mediaobject/media/sax.ogg create mode 100644 tests/auto/mediaobject/media/sax.wav create mode 100755 tests/auto/mediaobject/mediaobject.pro create mode 100644 tests/auto/mediaobject/mediaobject.qrc create mode 100644 tests/auto/mediaobject/qtesthelper.h create mode 100644 tests/auto/mediaobject/tst_mediaobject.cpp create mode 100644 tests/auto/mediaobject_wince_ds9/dummy.cpp create mode 100644 tests/auto/mediaobject_wince_ds9/mediaobject_wince_ds9.pro create mode 100644 tests/auto/moc/.gitattributes create mode 100644 tests/auto/moc/.gitignore create mode 100644 tests/auto/moc/Header create mode 100644 tests/auto/moc/Test.framework/Headers/testinterface.h create mode 100644 tests/auto/moc/assign-namespace.h create mode 100644 tests/auto/moc/backslash-newlines.h create mode 100644 tests/auto/moc/c-comments.h create mode 100644 tests/auto/moc/cstyle-enums.h create mode 100644 tests/auto/moc/dir-in-include-path.h create mode 100644 tests/auto/moc/escapes-in-string-literals.h create mode 100644 tests/auto/moc/extraqualification.h create mode 100644 tests/auto/moc/forgotten-qinterface.h create mode 100644 tests/auto/moc/gadgetwithnoenums.h create mode 100644 tests/auto/moc/interface-from-framework.h create mode 100644 tests/auto/moc/macro-on-cmdline.h create mode 100644 tests/auto/moc/moc.pro create mode 100644 tests/auto/moc/namespaced-flags.h create mode 100644 tests/auto/moc/no-keywords.h create mode 100644 tests/auto/moc/oldstyle-casts.h create mode 100644 tests/auto/moc/os9-newlines.h create mode 100644 tests/auto/moc/parse-boost.h create mode 100644 tests/auto/moc/pure-virtual-signals.h create mode 100644 tests/auto/moc/qinvokable.h create mode 100644 tests/auto/moc/qprivateslots.h create mode 100644 tests/auto/moc/single_function_keyword.h create mode 100644 tests/auto/moc/slots-with-void-template.h create mode 100644 tests/auto/moc/task189996.h create mode 100644 tests/auto/moc/task192552.h create mode 100644 tests/auto/moc/task234909.h create mode 100644 tests/auto/moc/task240368.h create mode 100644 tests/auto/moc/task71021/dummy create mode 100644 tests/auto/moc/task87883.h create mode 100644 tests/auto/moc/template-gtgt.h create mode 100644 tests/auto/moc/testproject/Plugin/Plugin.h create mode 100644 tests/auto/moc/testproject/include/Plugin create mode 100644 tests/auto/moc/trigraphs.h create mode 100644 tests/auto/moc/tst_moc.cpp create mode 100644 tests/auto/moc/using-namespaces.h create mode 100644 tests/auto/moc/warn-on-multiple-qobject-subclasses.h create mode 100644 tests/auto/moc/warn-on-property-without-read.h create mode 100644 tests/auto/moc/win-newlines.h create mode 100644 tests/auto/modeltest/modeltest.cpp create mode 100644 tests/auto/modeltest/modeltest.h create mode 100644 tests/auto/modeltest/modeltest.pro create mode 100644 tests/auto/modeltest/tst_modeltest.cpp create mode 100644 tests/auto/network-settings.h create mode 100644 tests/auto/patternistexamplefiletree/.gitignore create mode 100644 tests/auto/patternistexamplefiletree/patternistexamplefiletree.pro create mode 100644 tests/auto/patternistexamplefiletree/tst_patternistexamplefiletree.cpp create mode 100644 tests/auto/patternistexamples/.gitignore create mode 100644 tests/auto/patternistexamples/patternistexamples.pro create mode 100644 tests/auto/patternistexamples/tst_patternistexamples.cpp create mode 100644 tests/auto/patternistheaders/.gitignore create mode 100644 tests/auto/patternistheaders/patternistheaders.pro create mode 100644 tests/auto/patternistheaders/tst_patternistheaders.cpp create mode 100644 tests/auto/q3accel/.gitignore create mode 100644 tests/auto/q3accel/q3accel.pro create mode 100644 tests/auto/q3accel/tst_q3accel.cpp create mode 100644 tests/auto/q3action/.gitignore create mode 100644 tests/auto/q3action/q3action.pro create mode 100644 tests/auto/q3action/tst_q3action.cpp create mode 100644 tests/auto/q3actiongroup/.gitignore create mode 100644 tests/auto/q3actiongroup/q3actiongroup.pro create mode 100644 tests/auto/q3actiongroup/tst_q3actiongroup.cpp create mode 100644 tests/auto/q3buttongroup/.gitignore create mode 100644 tests/auto/q3buttongroup/clickLock/clickLock.pro create mode 100644 tests/auto/q3buttongroup/clickLock/main.cpp create mode 100644 tests/auto/q3buttongroup/q3buttongroup.pro create mode 100644 tests/auto/q3buttongroup/tst_q3buttongroup.cpp create mode 100644 tests/auto/q3buttongroup/tst_q3buttongroup.pro create mode 100644 tests/auto/q3canvas/.gitignore create mode 100644 tests/auto/q3canvas/backgroundrect.png create mode 100644 tests/auto/q3canvas/q3canvas.pro create mode 100644 tests/auto/q3canvas/tst_q3canvas.cpp create mode 100644 tests/auto/q3checklistitem/.gitignore create mode 100644 tests/auto/q3checklistitem/q3checklistitem.pro create mode 100644 tests/auto/q3checklistitem/tst_q3checklistitem.cpp create mode 100644 tests/auto/q3combobox/.gitignore create mode 100644 tests/auto/q3combobox/q3combobox.pro create mode 100644 tests/auto/q3combobox/tst_q3combobox.cpp create mode 100644 tests/auto/q3cstring/.gitignore create mode 100644 tests/auto/q3cstring/q3cstring.pro create mode 100644 tests/auto/q3cstring/tst_q3cstring.cpp create mode 100644 tests/auto/q3databrowser/.gitignore create mode 100644 tests/auto/q3databrowser/q3databrowser.pro create mode 100644 tests/auto/q3databrowser/tst_q3databrowser.cpp create mode 100644 tests/auto/q3dateedit/.gitignore create mode 100644 tests/auto/q3dateedit/q3dateedit.pro create mode 100644 tests/auto/q3dateedit/tst_q3dateedit.cpp create mode 100644 tests/auto/q3datetimeedit/.gitignore create mode 100644 tests/auto/q3datetimeedit/q3datetimeedit.pro create mode 100644 tests/auto/q3datetimeedit/tst_q3datetimeedit.cpp create mode 100644 tests/auto/q3deepcopy/.gitignore create mode 100644 tests/auto/q3deepcopy/q3deepcopy.pro create mode 100644 tests/auto/q3deepcopy/tst_q3deepcopy.cpp create mode 100644 tests/auto/q3dict/.gitignore create mode 100644 tests/auto/q3dict/q3dict.pro create mode 100644 tests/auto/q3dict/tst_q3dict.cpp create mode 100644 tests/auto/q3dns/.gitignore create mode 100644 tests/auto/q3dns/q3dns.pro create mode 100644 tests/auto/q3dns/tst_q3dns.cpp create mode 100644 tests/auto/q3dockwindow/.gitignore create mode 100644 tests/auto/q3dockwindow/q3dockwindow.pro create mode 100644 tests/auto/q3dockwindow/tst_q3dockwindow.cpp create mode 100644 tests/auto/q3filedialog/.gitignore create mode 100644 tests/auto/q3filedialog/q3filedialog.pro create mode 100644 tests/auto/q3filedialog/tst_q3filedialog.cpp create mode 100644 tests/auto/q3frame/.gitignore create mode 100644 tests/auto/q3frame/q3frame.pro create mode 100644 tests/auto/q3frame/tst_q3frame.cpp create mode 100644 tests/auto/q3groupbox/.gitignore create mode 100644 tests/auto/q3groupbox/q3groupbox.pro create mode 100644 tests/auto/q3groupbox/tst_q3groupbox.cpp create mode 100644 tests/auto/q3hbox/.gitignore create mode 100644 tests/auto/q3hbox/q3hbox.pro create mode 100644 tests/auto/q3hbox/tst_q3hbox.cpp create mode 100644 tests/auto/q3header/.gitignore create mode 100644 tests/auto/q3header/q3header.pro create mode 100644 tests/auto/q3header/tst_q3header.cpp create mode 100644 tests/auto/q3iconview/.gitignore create mode 100644 tests/auto/q3iconview/q3iconview.pro create mode 100644 tests/auto/q3iconview/tst_q3iconview.cpp create mode 100644 tests/auto/q3listbox/q3listbox.pro create mode 100644 tests/auto/q3listbox/tst_qlistbox.cpp create mode 100644 tests/auto/q3listview/.gitignore create mode 100644 tests/auto/q3listview/q3listview.pro create mode 100644 tests/auto/q3listview/tst_q3listview.cpp create mode 100644 tests/auto/q3listviewitemiterator/.gitignore create mode 100644 tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro create mode 100644 tests/auto/q3listviewitemiterator/tst_q3listviewitemiterator.cpp create mode 100644 tests/auto/q3mainwindow/.gitignore create mode 100644 tests/auto/q3mainwindow/q3mainwindow.pro create mode 100644 tests/auto/q3mainwindow/tst_q3mainwindow.cpp create mode 100644 tests/auto/q3popupmenu/.gitignore create mode 100644 tests/auto/q3popupmenu/q3popupmenu.pro create mode 100644 tests/auto/q3popupmenu/tst_q3popupmenu.cpp create mode 100644 tests/auto/q3process/.gitignore create mode 100644 tests/auto/q3process/cat/cat.pro create mode 100644 tests/auto/q3process/cat/main.cpp create mode 100644 tests/auto/q3process/echo/echo.pro create mode 100644 tests/auto/q3process/echo/main.cpp create mode 100644 tests/auto/q3process/q3process.pro create mode 100644 tests/auto/q3process/tst/tst.pro create mode 100644 tests/auto/q3process/tst_q3process.cpp create mode 100644 tests/auto/q3progressbar/.gitignore create mode 100644 tests/auto/q3progressbar/q3progressbar.pro create mode 100644 tests/auto/q3progressbar/tst_q3progressbar.cpp create mode 100644 tests/auto/q3progressdialog/.gitignore create mode 100644 tests/auto/q3progressdialog/q3progressdialog.pro create mode 100644 tests/auto/q3progressdialog/tst_q3progressdialog.cpp create mode 100644 tests/auto/q3ptrlist/.gitignore create mode 100644 tests/auto/q3ptrlist/q3ptrlist.pro create mode 100644 tests/auto/q3ptrlist/tst_q3ptrlist.cpp create mode 100644 tests/auto/q3richtext/.gitignore create mode 100644 tests/auto/q3richtext/q3richtext.pro create mode 100644 tests/auto/q3richtext/tst_q3richtext.cpp create mode 100644 tests/auto/q3scrollview/q3scrollview.pro create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Motif-32x96x96_0.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Motif-32x96x96_1.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Motif-32x96x96_2.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-16x96x96_0.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-16x96x96_1.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-16x96x96_2.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-32x96x96_0.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-32x96x96_1.png create mode 100644 tests/auto/q3scrollview/testdata/center/pix_Windows-32x96x96_2.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Motif-32x96x96_win32_data0.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Motif-32x96x96_win32_data1.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Windows-16x96x96_win32_data0.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Windows-16x96x96_win32_data1.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Windows-32x96x96_win32_data0.png create mode 100644 tests/auto/q3scrollview/testdata/drawContents/res_Windows-32x96x96_win32_data1.png create mode 100644 tests/auto/q3scrollview/tst_qscrollview.cpp create mode 100644 tests/auto/q3semaphore/.gitignore create mode 100644 tests/auto/q3semaphore/q3semaphore.pro create mode 100644 tests/auto/q3semaphore/tst_q3semaphore.cpp create mode 100644 tests/auto/q3serversocket/.gitignore create mode 100644 tests/auto/q3serversocket/q3serversocket.pro create mode 100644 tests/auto/q3serversocket/tst_q3serversocket.cpp create mode 100644 tests/auto/q3socket/.gitignore create mode 100644 tests/auto/q3socket/q3socket.pro create mode 100644 tests/auto/q3socket/tst_qsocket.cpp create mode 100644 tests/auto/q3socketdevice/.gitignore create mode 100644 tests/auto/q3socketdevice/q3socketdevice.pro create mode 100644 tests/auto/q3socketdevice/tst_q3socketdevice.cpp create mode 100644 tests/auto/q3sqlcursor/.gitignore create mode 100644 tests/auto/q3sqlcursor/q3sqlcursor.pro create mode 100644 tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp create mode 100644 tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro create mode 100644 tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp create mode 100644 tests/auto/q3stylesheet/.gitignore create mode 100644 tests/auto/q3stylesheet/q3stylesheet.pro create mode 100644 tests/auto/q3stylesheet/tst_q3stylesheet.cpp create mode 100644 tests/auto/q3tabdialog/.gitignore create mode 100644 tests/auto/q3tabdialog/q3tabdialog.pro create mode 100644 tests/auto/q3tabdialog/tst_q3tabdialog.cpp create mode 100644 tests/auto/q3table/.gitignore create mode 100644 tests/auto/q3table/q3table.pro create mode 100644 tests/auto/q3table/tst_q3table.cpp create mode 100644 tests/auto/q3textbrowser/.gitignore create mode 100644 tests/auto/q3textbrowser/anchor.html create mode 100644 tests/auto/q3textbrowser/q3textbrowser.pro create mode 100644 tests/auto/q3textbrowser/tst_q3textbrowser.cpp create mode 100644 tests/auto/q3textedit/.gitignore create mode 100644 tests/auto/q3textedit/q3textedit.pro create mode 100644 tests/auto/q3textedit/tst_q3textedit.cpp create mode 100644 tests/auto/q3textstream/.gitignore create mode 100644 tests/auto/q3textstream/q3textstream.pro create mode 100644 tests/auto/q3textstream/tst_q3textstream.cpp create mode 100644 tests/auto/q3timeedit/.gitignore create mode 100644 tests/auto/q3timeedit/q3timeedit.pro create mode 100644 tests/auto/q3timeedit/tst_q3timeedit.cpp create mode 100644 tests/auto/q3toolbar/.gitignore create mode 100644 tests/auto/q3toolbar/q3toolbar.pro create mode 100644 tests/auto/q3toolbar/tst_q3toolbar.cpp create mode 100644 tests/auto/q3uridrag/q3uridrag.pro create mode 100644 tests/auto/q3uridrag/tst_q3uridrag.cpp create mode 100644 tests/auto/q3urloperator/.gitattributes create mode 100644 tests/auto/q3urloperator/.gitignore create mode 100644 tests/auto/q3urloperator/copy.res/rfc3252.txt create mode 100755 tests/auto/q3urloperator/listData/executable.exe create mode 100644 tests/auto/q3urloperator/listData/readOnly create mode 100755 tests/auto/q3urloperator/listData/readWriteExec.exe create mode 100644 tests/auto/q3urloperator/q3urloperator.pro create mode 100644 tests/auto/q3urloperator/stop/bigfile create mode 100644 tests/auto/q3urloperator/tst_q3urloperator.cpp create mode 100644 tests/auto/q3valuelist/.gitignore create mode 100644 tests/auto/q3valuelist/q3valuelist.pro create mode 100644 tests/auto/q3valuelist/tst_q3valuelist.cpp create mode 100644 tests/auto/q3valuevector/.gitignore create mode 100644 tests/auto/q3valuevector/q3valuevector.pro create mode 100644 tests/auto/q3valuevector/tst_q3valuevector.cpp create mode 100644 tests/auto/q3widgetstack/q3widgetstack.pro create mode 100644 tests/auto/q3widgetstack/tst_q3widgetstack.cpp create mode 100644 tests/auto/q_func_info/.gitignore create mode 100644 tests/auto/q_func_info/q_func_info.pro create mode 100644 tests/auto/q_func_info/tst_q_func_info.cpp create mode 100644 tests/auto/qabstractbutton/.gitignore create mode 100644 tests/auto/qabstractbutton/qabstractbutton.pro create mode 100644 tests/auto/qabstractbutton/tst_qabstractbutton.cpp create mode 100644 tests/auto/qabstractitemmodel/.gitignore create mode 100644 tests/auto/qabstractitemmodel/qabstractitemmodel.pro create mode 100644 tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp create mode 100644 tests/auto/qabstractitemview/.gitignore create mode 100644 tests/auto/qabstractitemview/qabstractitemview.pro create mode 100644 tests/auto/qabstractitemview/tst_qabstractitemview.cpp create mode 100644 tests/auto/qabstractmessagehandler/.gitignore create mode 100644 tests/auto/qabstractmessagehandler/qabstractmessagehandler.pro create mode 100644 tests/auto/qabstractmessagehandler/tst_qabstractmessagehandler.cpp create mode 100644 tests/auto/qabstractnetworkcache/.gitignore create mode 100644 tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_cachecontrol-expire.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_cachecontrol.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_etag200.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_etag304.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_expires200.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_expires304.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_expires500.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_lastModified200.cgi create mode 100644 tests/auto/qabstractnetworkcache/tests/httpcachetest_lastModified304.cgi create mode 100644 tests/auto/qabstractnetworkcache/tst_qabstractnetworkcache.cpp create mode 100644 tests/auto/qabstractprintdialog/.gitignore create mode 100644 tests/auto/qabstractprintdialog/qabstractprintdialog.pro create mode 100644 tests/auto/qabstractprintdialog/tst_qabstractprintdialog.cpp create mode 100644 tests/auto/qabstractproxymodel/.gitignore create mode 100644 tests/auto/qabstractproxymodel/qabstractproxymodel.pro create mode 100644 tests/auto/qabstractproxymodel/tst_qabstractproxymodel.cpp create mode 100644 tests/auto/qabstractscrollarea/.gitignore create mode 100644 tests/auto/qabstractscrollarea/qabstractscrollarea.pro create mode 100644 tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp create mode 100644 tests/auto/qabstractslider/.gitignore create mode 100644 tests/auto/qabstractslider/qabstractslider.pro create mode 100644 tests/auto/qabstractslider/tst_qabstractslider.cpp create mode 100644 tests/auto/qabstractsocket/.gitignore create mode 100644 tests/auto/qabstractsocket/qabstractsocket.pro create mode 100644 tests/auto/qabstractsocket/tst_qabstractsocket.cpp create mode 100644 tests/auto/qabstractspinbox/.gitignore create mode 100644 tests/auto/qabstractspinbox/qabstractspinbox.pro create mode 100644 tests/auto/qabstractspinbox/tst_qabstractspinbox.cpp create mode 100644 tests/auto/qabstracttextdocumentlayout/.gitignore create mode 100644 tests/auto/qabstracttextdocumentlayout/qabstracttextdocumentlayout.pro create mode 100644 tests/auto/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp create mode 100644 tests/auto/qabstracturiresolver/.gitignore create mode 100644 tests/auto/qabstracturiresolver/TestURIResolver.h create mode 100644 tests/auto/qabstracturiresolver/qabstracturiresolver.pro create mode 100644 tests/auto/qabstracturiresolver/tst_qabstracturiresolver.cpp create mode 100644 tests/auto/qabstractxmlforwarditerator/.gitignore create mode 100644 tests/auto/qabstractxmlforwarditerator/qabstractxmlforwarditerator.pro create mode 100644 tests/auto/qabstractxmlforwarditerator/tst_qabstractxmlforwarditerator.cpp create mode 100644 tests/auto/qabstractxmlnodemodel/.gitignore create mode 100644 tests/auto/qabstractxmlnodemodel/LoadingModel.cpp create mode 100644 tests/auto/qabstractxmlnodemodel/LoadingModel.h create mode 100644 tests/auto/qabstractxmlnodemodel/TestNodeModel.h create mode 100644 tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro create mode 100644 tests/auto/qabstractxmlnodemodel/tree.xml create mode 100644 tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp create mode 100644 tests/auto/qabstractxmlreceiver/.gitignore create mode 100644 tests/auto/qabstractxmlreceiver/TestAbstractXmlReceiver.h create mode 100644 tests/auto/qabstractxmlreceiver/qabstractxmlreceiver.pro create mode 100644 tests/auto/qabstractxmlreceiver/tst_qabstractxmlreceiver.cpp create mode 100644 tests/auto/qaccessibility/.gitignore create mode 100644 tests/auto/qaccessibility/qaccessibility.pro create mode 100644 tests/auto/qaccessibility/tst_qaccessibility.cpp create mode 100644 tests/auto/qaccessibility_mac/.gitignore create mode 100644 tests/auto/qaccessibility_mac/buttons.ui create mode 100644 tests/auto/qaccessibility_mac/combobox.ui create mode 100644 tests/auto/qaccessibility_mac/form.ui create mode 100644 tests/auto/qaccessibility_mac/groups.ui create mode 100644 tests/auto/qaccessibility_mac/label.ui create mode 100644 tests/auto/qaccessibility_mac/lineedit.ui create mode 100644 tests/auto/qaccessibility_mac/listview.ui create mode 100644 tests/auto/qaccessibility_mac/qaccessibility_mac.pro create mode 100644 tests/auto/qaccessibility_mac/qaccessibility_mac.qrc create mode 100644 tests/auto/qaccessibility_mac/radiobutton.ui create mode 100644 tests/auto/qaccessibility_mac/scrollbar.ui create mode 100644 tests/auto/qaccessibility_mac/splitters.ui create mode 100644 tests/auto/qaccessibility_mac/tableview.ui create mode 100644 tests/auto/qaccessibility_mac/tabs.ui create mode 100644 tests/auto/qaccessibility_mac/textBrowser.ui create mode 100644 tests/auto/qaccessibility_mac/tst_qaccessibility_mac.cpp create mode 100644 tests/auto/qaction/.gitignore create mode 100644 tests/auto/qaction/qaction.pro create mode 100644 tests/auto/qaction/tst_qaction.cpp create mode 100644 tests/auto/qactiongroup/.gitignore create mode 100644 tests/auto/qactiongroup/qactiongroup.pro create mode 100644 tests/auto/qactiongroup/tst_qactiongroup.cpp create mode 100644 tests/auto/qalgorithms/.gitignore create mode 100644 tests/auto/qalgorithms/qalgorithms.pro create mode 100644 tests/auto/qalgorithms/tst_qalgorithms.cpp create mode 100644 tests/auto/qanimationgroup/qanimationgroup.pro create mode 100644 tests/auto/qanimationgroup/tst_qanimationgroup.cpp create mode 100644 tests/auto/qanimationstate/qanimationstate.pro create mode 100644 tests/auto/qanimationstate/tst_qanimationstate.cpp create mode 100644 tests/auto/qapplication/.gitignore create mode 100644 tests/auto/qapplication/desktopsettingsaware/desktopsettingsaware.pro create mode 100644 tests/auto/qapplication/desktopsettingsaware/main.cpp create mode 100644 tests/auto/qapplication/qapplication.pro create mode 100644 tests/auto/qapplication/test/test.pro create mode 100644 tests/auto/qapplication/tmp/README create mode 100644 tests/auto/qapplication/tst_qapplication.cpp create mode 100644 tests/auto/qapplication/wincmdline/main.cpp create mode 100644 tests/auto/qapplication/wincmdline/wincmdline.pro create mode 100644 tests/auto/qapplicationargumentparser/.gitignore create mode 100644 tests/auto/qapplicationargumentparser/qapplicationargumentparser.pro create mode 100644 tests/auto/qapplicationargumentparser/tst_qapplicationargumentparser.cpp create mode 100644 tests/auto/qatomicint/.gitignore create mode 100644 tests/auto/qatomicint/qatomicint.pro create mode 100644 tests/auto/qatomicint/tst_qatomicint.cpp create mode 100644 tests/auto/qatomicpointer/.gitignore create mode 100644 tests/auto/qatomicpointer/qatomicpointer.pro create mode 100644 tests/auto/qatomicpointer/tst_qatomicpointer.cpp create mode 100644 tests/auto/qautoptr/.gitignore create mode 100644 tests/auto/qautoptr/qautoptr.pro create mode 100644 tests/auto/qautoptr/tst_qautoptr.cpp create mode 100644 tests/auto/qbitarray/.gitignore create mode 100644 tests/auto/qbitarray/qbitarray.pro create mode 100644 tests/auto/qbitarray/tst_qbitarray.cpp create mode 100644 tests/auto/qboxlayout/.gitignore create mode 100644 tests/auto/qboxlayout/qboxlayout.pro create mode 100644 tests/auto/qboxlayout/tst_qboxlayout.cpp create mode 100644 tests/auto/qbrush/.gitignore create mode 100644 tests/auto/qbrush/qbrush.pro create mode 100644 tests/auto/qbrush/tst_qbrush.cpp create mode 100644 tests/auto/qbuffer/.gitignore create mode 100644 tests/auto/qbuffer/qbuffer.pro create mode 100644 tests/auto/qbuffer/tst_qbuffer.cpp create mode 100644 tests/auto/qbuttongroup/.gitignore create mode 100644 tests/auto/qbuttongroup/qbuttongroup.pro create mode 100644 tests/auto/qbuttongroup/tst_qbuttongroup.cpp create mode 100644 tests/auto/qbytearray/.gitignore create mode 100644 tests/auto/qbytearray/qbytearray.pro create mode 100644 tests/auto/qbytearray/rfc3252.txt create mode 100644 tests/auto/qbytearray/tst_qbytearray.cpp create mode 100644 tests/auto/qcache/.gitignore create mode 100644 tests/auto/qcache/qcache.pro create mode 100644 tests/auto/qcache/tst_qcache.cpp create mode 100644 tests/auto/qcalendarwidget/.gitignore create mode 100644 tests/auto/qcalendarwidget/qcalendarwidget.pro create mode 100644 tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp create mode 100644 tests/auto/qchar/.gitignore create mode 100644 tests/auto/qchar/NormalizationTest.txt create mode 100644 tests/auto/qchar/qchar.pro create mode 100644 tests/auto/qchar/tst_qchar.cpp create mode 100644 tests/auto/qcheckbox/.gitignore create mode 100644 tests/auto/qcheckbox/qcheckbox.pro create mode 100644 tests/auto/qcheckbox/tst_qcheckbox.cpp create mode 100644 tests/auto/qclipboard/.gitignore create mode 100644 tests/auto/qclipboard/copier/copier.pro create mode 100644 tests/auto/qclipboard/copier/main.cpp create mode 100644 tests/auto/qclipboard/paster/main.cpp create mode 100644 tests/auto/qclipboard/paster/paster.pro create mode 100644 tests/auto/qclipboard/qclipboard.pro create mode 100644 tests/auto/qclipboard/test/test.pro create mode 100644 tests/auto/qclipboard/tst_qclipboard.cpp create mode 100644 tests/auto/qcolor/.gitignore create mode 100644 tests/auto/qcolor/qcolor.pro create mode 100644 tests/auto/qcolor/tst_qcolor.cpp create mode 100644 tests/auto/qcolordialog/.gitignore create mode 100644 tests/auto/qcolordialog/qcolordialog.pro create mode 100644 tests/auto/qcolordialog/tst_qcolordialog.cpp create mode 100644 tests/auto/qcolumnview/.gitignore create mode 100644 tests/auto/qcolumnview/qcolumnview.pro create mode 100644 tests/auto/qcolumnview/tst_qcolumnview.cpp create mode 100644 tests/auto/qcombobox/.gitignore create mode 100644 tests/auto/qcombobox/qcombobox.pro create mode 100644 tests/auto/qcombobox/tst_qcombobox.cpp create mode 100644 tests/auto/qcommandlinkbutton/.gitignore create mode 100644 tests/auto/qcommandlinkbutton/qcommandlinkbutton.pro create mode 100644 tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp create mode 100644 tests/auto/qcompleter/.gitignore create mode 100644 tests/auto/qcompleter/qcompleter.pro create mode 100644 tests/auto/qcompleter/tst_qcompleter.cpp create mode 100644 tests/auto/qcomplextext/.gitignore create mode 100644 tests/auto/qcomplextext/bidireorderstring.h create mode 100644 tests/auto/qcomplextext/qcomplextext.pro create mode 100644 tests/auto/qcomplextext/tst_qcomplextext.cpp create mode 100644 tests/auto/qcopchannel/.gitignore create mode 100644 tests/auto/qcopchannel/qcopchannel.pro create mode 100644 tests/auto/qcopchannel/test/test.pro create mode 100644 tests/auto/qcopchannel/testSend/main.cpp create mode 100644 tests/auto/qcopchannel/testSend/testSend.pro create mode 100644 tests/auto/qcopchannel/tst_qcopchannel.cpp create mode 100644 tests/auto/qcoreapplication/.gitignore create mode 100644 tests/auto/qcoreapplication/qcoreapplication.pro create mode 100644 tests/auto/qcoreapplication/tst_qcoreapplication.cpp create mode 100644 tests/auto/qcryptographichash/.gitignore create mode 100644 tests/auto/qcryptographichash/qcryptographichash.pro create mode 100644 tests/auto/qcryptographichash/tst_qcryptographichash.cpp create mode 100644 tests/auto/qcssparser/.gitignore create mode 100644 tests/auto/qcssparser/qcssparser.pro create mode 100644 tests/auto/qcssparser/testdata/scanner/comments/input create mode 100644 tests/auto/qcssparser/testdata/scanner/comments/output create mode 100644 tests/auto/qcssparser/testdata/scanner/comments2/input create mode 100644 tests/auto/qcssparser/testdata/scanner/comments2/output create mode 100644 tests/auto/qcssparser/testdata/scanner/comments3/input create mode 100644 tests/auto/qcssparser/testdata/scanner/comments3/output create mode 100644 tests/auto/qcssparser/testdata/scanner/comments4/input create mode 100644 tests/auto/qcssparser/testdata/scanner/comments4/output create mode 100644 tests/auto/qcssparser/testdata/scanner/quotedstring/input create mode 100644 tests/auto/qcssparser/testdata/scanner/quotedstring/output create mode 100644 tests/auto/qcssparser/testdata/scanner/simple/input create mode 100644 tests/auto/qcssparser/testdata/scanner/simple/output create mode 100644 tests/auto/qcssparser/testdata/scanner/unicode/input create mode 100644 tests/auto/qcssparser/testdata/scanner/unicode/output create mode 100644 tests/auto/qcssparser/tst_cssparser.cpp create mode 100644 tests/auto/qdatastream/.gitignore create mode 100644 tests/auto/qdatastream/datastream.q42 create mode 100644 tests/auto/qdatastream/gearflowers.svg create mode 100644 tests/auto/qdatastream/qdatastream.pro create mode 100644 tests/auto/qdatastream/tests2.svg create mode 100644 tests/auto/qdatastream/tst_qdatastream.cpp create mode 100644 tests/auto/qdatawidgetmapper/.gitignore create mode 100644 tests/auto/qdatawidgetmapper/qdatawidgetmapper.pro create mode 100644 tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp create mode 100644 tests/auto/qdate/.gitignore create mode 100644 tests/auto/qdate/qdate.pro create mode 100644 tests/auto/qdate/tst_qdate.cpp create mode 100644 tests/auto/qdatetime/.gitignore create mode 100644 tests/auto/qdatetime/qdatetime.pro create mode 100644 tests/auto/qdatetime/tst_qdatetime.cpp create mode 100644 tests/auto/qdatetimeedit/.gitignore create mode 100644 tests/auto/qdatetimeedit/qdatetimeedit.pro create mode 100644 tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp create mode 100644 tests/auto/qdbusabstractadaptor/.gitignore create mode 100644 tests/auto/qdbusabstractadaptor/qdbusabstractadaptor.pro create mode 100644 tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp create mode 100644 tests/auto/qdbusconnection/.gitignore create mode 100644 tests/auto/qdbusconnection/qdbusconnection.pro create mode 100644 tests/auto/qdbusconnection/tst_qdbusconnection.cpp create mode 100644 tests/auto/qdbuscontext/.gitignore create mode 100644 tests/auto/qdbuscontext/qdbuscontext.pro create mode 100644 tests/auto/qdbuscontext/tst_qdbuscontext.cpp create mode 100644 tests/auto/qdbusinterface/.gitignore create mode 100644 tests/auto/qdbusinterface/qdbusinterface.pro create mode 100644 tests/auto/qdbusinterface/tst_qdbusinterface.cpp create mode 100644 tests/auto/qdbuslocalcalls/.gitignore create mode 100644 tests/auto/qdbuslocalcalls/qdbuslocalcalls.pro create mode 100644 tests/auto/qdbuslocalcalls/tst_qdbuslocalcalls.cpp create mode 100644 tests/auto/qdbusmarshall/.gitignore create mode 100644 tests/auto/qdbusmarshall/common.h create mode 100644 tests/auto/qdbusmarshall/dummy.cpp create mode 100644 tests/auto/qdbusmarshall/qdbusmarshall.pro create mode 100644 tests/auto/qdbusmarshall/qpong/qpong.cpp create mode 100644 tests/auto/qdbusmarshall/qpong/qpong.pro create mode 100644 tests/auto/qdbusmarshall/test/test.pro create mode 100644 tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp create mode 100644 tests/auto/qdbusmetaobject/.gitignore create mode 100644 tests/auto/qdbusmetaobject/qdbusmetaobject.pro create mode 100644 tests/auto/qdbusmetaobject/tst_qdbusmetaobject.cpp create mode 100644 tests/auto/qdbusmetatype/.gitignore create mode 100644 tests/auto/qdbusmetatype/qdbusmetatype.pro create mode 100644 tests/auto/qdbusmetatype/tst_qdbusmetatype.cpp create mode 100644 tests/auto/qdbuspendingcall/.gitignore create mode 100644 tests/auto/qdbuspendingcall/qdbuspendingcall.pro create mode 100644 tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp create mode 100644 tests/auto/qdbuspendingreply/.gitignore create mode 100644 tests/auto/qdbuspendingreply/qdbuspendingreply.pro create mode 100644 tests/auto/qdbuspendingreply/tst_qdbuspendingreply.cpp create mode 100644 tests/auto/qdbusperformance/.gitignore create mode 100644 tests/auto/qdbusperformance/qdbusperformance.pro create mode 100644 tests/auto/qdbusperformance/server/server.cpp create mode 100644 tests/auto/qdbusperformance/server/server.pro create mode 100644 tests/auto/qdbusperformance/serverobject.h create mode 100644 tests/auto/qdbusperformance/test/test.pro create mode 100644 tests/auto/qdbusperformance/tst_qdbusperformance.cpp create mode 100644 tests/auto/qdbusreply/.gitignore create mode 100644 tests/auto/qdbusreply/qdbusreply.pro create mode 100644 tests/auto/qdbusreply/tst_qdbusreply.cpp create mode 100644 tests/auto/qdbusserver/.gitignore create mode 100644 tests/auto/qdbusserver/qdbusserver.pro create mode 100644 tests/auto/qdbusserver/server.cpp create mode 100644 tests/auto/qdbusserver/tst_qdbusserver.cpp create mode 100644 tests/auto/qdbusthreading/.gitignore create mode 100644 tests/auto/qdbusthreading/qdbusthreading.pro create mode 100644 tests/auto/qdbusthreading/tst_qdbusthreading.cpp create mode 100644 tests/auto/qdbusxmlparser/.gitignore create mode 100644 tests/auto/qdbusxmlparser/qdbusxmlparser.pro create mode 100644 tests/auto/qdbusxmlparser/tst_qdbusxmlparser.cpp create mode 100644 tests/auto/qdebug/.gitignore create mode 100644 tests/auto/qdebug/qdebug.pro create mode 100644 tests/auto/qdebug/tst_qdebug.cpp create mode 100644 tests/auto/qdesktopservices/.gitignore create mode 100644 tests/auto/qdesktopservices/qdesktopservices.pro create mode 100644 tests/auto/qdesktopservices/tst_qdesktopservices.cpp create mode 100644 tests/auto/qdesktopwidget/.gitignore create mode 100644 tests/auto/qdesktopwidget/qdesktopwidget.pro create mode 100644 tests/auto/qdesktopwidget/tst_qdesktopwidget.cpp create mode 100644 tests/auto/qdial/.gitignore create mode 100644 tests/auto/qdial/qdial.pro create mode 100644 tests/auto/qdial/tst_qdial.cpp create mode 100644 tests/auto/qdialog/.gitignore create mode 100644 tests/auto/qdialog/qdialog.pro create mode 100644 tests/auto/qdialog/tst_qdialog.cpp create mode 100644 tests/auto/qdialogbuttonbox/.gitignore create mode 100644 tests/auto/qdialogbuttonbox/qdialogbuttonbox.pro create mode 100644 tests/auto/qdialogbuttonbox/tst_qdialogbuttonbox.cpp create mode 100644 tests/auto/qdir/.gitignore create mode 100644 tests/auto/qdir/entrylist/directory/dummy create mode 100644 tests/auto/qdir/entrylist/file create mode 100644 tests/auto/qdir/qdir.pro create mode 100644 tests/auto/qdir/qdir.qrc create mode 100644 tests/auto/qdir/resources/entryList/file1.data create mode 100644 tests/auto/qdir/resources/entryList/file2.data create mode 100644 tests/auto/qdir/resources/entryList/file3.data create mode 100644 tests/auto/qdir/resources/entryList/file4.nothing create mode 100644 tests/auto/qdir/searchdir/subdir1/picker.png create mode 100644 tests/auto/qdir/searchdir/subdir2/picker.png create mode 100644 tests/auto/qdir/testData/empty create mode 100644 tests/auto/qdir/testdir/dir/Makefile create mode 100644 tests/auto/qdir/testdir/dir/qdir.pro create mode 100644 tests/auto/qdir/testdir/dir/qrc_qdir.cpp create mode 100644 tests/auto/qdir/testdir/dir/tmp/empty create mode 100644 tests/auto/qdir/testdir/dir/tst_qdir.cpp create mode 100644 tests/auto/qdir/testdir/spaces/foo. bar create mode 100644 tests/auto/qdir/testdir/spaces/foo.bar create mode 100644 tests/auto/qdir/tst_qdir.cpp create mode 100644 tests/auto/qdir/types/a create mode 100644 tests/auto/qdir/types/a.a create mode 100644 tests/auto/qdir/types/a.b create mode 100644 tests/auto/qdir/types/a.c create mode 100644 tests/auto/qdir/types/b create mode 100644 tests/auto/qdir/types/b.a create mode 100644 tests/auto/qdir/types/b.b create mode 100644 tests/auto/qdir/types/b.c create mode 100644 tests/auto/qdir/types/c create mode 100644 tests/auto/qdir/types/c.a create mode 100644 tests/auto/qdir/types/c.b create mode 100644 tests/auto/qdir/types/c.c create mode 100644 tests/auto/qdir/types/d.a/dummy create mode 100644 tests/auto/qdir/types/d.b/dummy create mode 100644 tests/auto/qdir/types/d.c/dummy create mode 100644 tests/auto/qdir/types/d/dummy create mode 100644 tests/auto/qdir/types/e.a/dummy create mode 100644 tests/auto/qdir/types/e.b/dummy create mode 100644 tests/auto/qdir/types/e.c/dummy create mode 100644 tests/auto/qdir/types/e/dummy create mode 100644 tests/auto/qdir/types/f.a/dummy create mode 100644 tests/auto/qdir/types/f.b/dummy create mode 100644 tests/auto/qdir/types/f.c/dummy create mode 100644 tests/auto/qdir/types/f/dummy create mode 100644 tests/auto/qdirectpainter/.gitignore create mode 100644 tests/auto/qdirectpainter/qdirectpainter.pro create mode 100644 tests/auto/qdirectpainter/runDirectPainter/main.cpp create mode 100644 tests/auto/qdirectpainter/runDirectPainter/runDirectPainter.pro create mode 100644 tests/auto/qdirectpainter/test/test.pro create mode 100644 tests/auto/qdirectpainter/tst_qdirectpainter.cpp create mode 100644 tests/auto/qdiriterator/.gitignore create mode 100644 tests/auto/qdiriterator/entrylist/directory/dummy create mode 100644 tests/auto/qdiriterator/entrylist/file create mode 100644 tests/auto/qdiriterator/foo/bar/readme.txt create mode 100644 tests/auto/qdiriterator/qdiriterator.pro create mode 100644 tests/auto/qdiriterator/qdiriterator.qrc create mode 100644 tests/auto/qdiriterator/recursiveDirs/dir1/aPage.html create mode 100644 tests/auto/qdiriterator/recursiveDirs/dir1/textFileB.txt create mode 100644 tests/auto/qdiriterator/recursiveDirs/textFileA.txt create mode 100644 tests/auto/qdiriterator/tst_qdiriterator.cpp create mode 100644 tests/auto/qdirmodel/.gitignore create mode 100644 tests/auto/qdirmodel/dirtest/test1/dummy create mode 100644 tests/auto/qdirmodel/dirtest/test1/test create mode 100644 tests/auto/qdirmodel/qdirmodel.pro create mode 100644 tests/auto/qdirmodel/test/file01.tst create mode 100644 tests/auto/qdirmodel/test/file02.tst create mode 100644 tests/auto/qdirmodel/test/file03.tst create mode 100644 tests/auto/qdirmodel/test/file04.tst create mode 100644 tests/auto/qdirmodel/tst_qdirmodel.cpp create mode 100644 tests/auto/qdockwidget/.gitignore create mode 100644 tests/auto/qdockwidget/qdockwidget.pro create mode 100644 tests/auto/qdockwidget/tst_qdockwidget.cpp create mode 100644 tests/auto/qdom/.gitattributes create mode 100644 tests/auto/qdom/.gitignore create mode 100644 tests/auto/qdom/doubleNamespaces.xml create mode 100644 tests/auto/qdom/qdom.pro create mode 100644 tests/auto/qdom/testdata/excludedCodecs.txt create mode 100644 tests/auto/qdom/testdata/toString_01/doc01.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc02.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc03.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc04.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc05.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc_euc-jp.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc_iso-2022-jp.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc_little-endian.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc_utf-16.xml create mode 100644 tests/auto/qdom/testdata/toString_01/doc_utf-8.xml create mode 100644 tests/auto/qdom/tst_qdom.cpp create mode 100644 tests/auto/qdom/umlaut.xml create mode 100644 tests/auto/qdoublespinbox/.gitignore create mode 100644 tests/auto/qdoublespinbox/qdoublespinbox.pro create mode 100644 tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp create mode 100644 tests/auto/qdoublevalidator/.gitignore create mode 100644 tests/auto/qdoublevalidator/qdoublevalidator.pro create mode 100644 tests/auto/qdoublevalidator/tst_qdoublevalidator.cpp create mode 100644 tests/auto/qdrag/.gitignore create mode 100644 tests/auto/qdrag/qdrag.pro create mode 100644 tests/auto/qdrag/tst_qdrag.cpp create mode 100644 tests/auto/qeasingcurve/qeasingcurve.pro create mode 100644 tests/auto/qeasingcurve/tst_qeasingcurve.cpp create mode 100644 tests/auto/qerrormessage/.gitignore create mode 100644 tests/auto/qerrormessage/qerrormessage.pro create mode 100644 tests/auto/qerrormessage/tst_qerrormessage.cpp create mode 100644 tests/auto/qevent/.gitignore create mode 100644 tests/auto/qevent/qevent.pro create mode 100644 tests/auto/qevent/tst_qevent.cpp create mode 100644 tests/auto/qeventloop/.gitignore create mode 100644 tests/auto/qeventloop/qeventloop.pro create mode 100644 tests/auto/qeventloop/tst_qeventloop.cpp create mode 100644 tests/auto/qexplicitlyshareddatapointer/.gitignore create mode 100644 tests/auto/qexplicitlyshareddatapointer/qexplicitlyshareddatapointer.pro create mode 100644 tests/auto/qexplicitlyshareddatapointer/tst_qexplicitlyshareddatapointer.cpp create mode 100644 tests/auto/qfile/.gitattributes create mode 100644 tests/auto/qfile/.gitignore create mode 100644 tests/auto/qfile/dosfile.txt create mode 100644 tests/auto/qfile/forCopying.txt create mode 100644 tests/auto/qfile/forRenaming.txt create mode 100644 tests/auto/qfile/noendofline.txt create mode 100644 tests/auto/qfile/qfile.pro create mode 100644 tests/auto/qfile/qfile.qrc create mode 100644 tests/auto/qfile/resources/file1.ext1 create mode 100644 tests/auto/qfile/stdinprocess/main.cpp create mode 100644 tests/auto/qfile/stdinprocess/stdinprocess.pro create mode 100644 tests/auto/qfile/test/test.pro create mode 100644 tests/auto/qfile/testfile.txt create mode 100644 tests/auto/qfile/testlog.txt create mode 100644 tests/auto/qfile/tst_qfile.cpp create mode 100644 tests/auto/qfile/two.dots.file create mode 100644 tests/auto/qfiledialog/.gitignore create mode 100644 tests/auto/qfiledialog/qfiledialog.pro create mode 100644 tests/auto/qfiledialog/tst_qfiledialog.cpp create mode 100644 tests/auto/qfileiconprovider/.gitignore create mode 100644 tests/auto/qfileiconprovider/qfileiconprovider.pro create mode 100644 tests/auto/qfileiconprovider/tst_qfileiconprovider.cpp create mode 100644 tests/auto/qfileinfo/.gitignore create mode 100644 tests/auto/qfileinfo/qfileinfo.pro create mode 100644 tests/auto/qfileinfo/qfileinfo.qrc create mode 100644 tests/auto/qfileinfo/resources/file1 create mode 100644 tests/auto/qfileinfo/resources/file1.ext1 create mode 100644 tests/auto/qfileinfo/resources/file1.ext1.ext2 create mode 100644 tests/auto/qfileinfo/tst_qfileinfo.cpp create mode 100644 tests/auto/qfilesystemmodel/.gitignore create mode 100644 tests/auto/qfilesystemmodel/qfilesystemmodel.pro create mode 100644 tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp create mode 100644 tests/auto/qfilesystemwatcher/.gitignore create mode 100644 tests/auto/qfilesystemwatcher/qfilesystemwatcher.pro create mode 100644 tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp create mode 100644 tests/auto/qflags/.gitignore create mode 100644 tests/auto/qflags/qflags.pro create mode 100644 tests/auto/qflags/tst_qflags.cpp create mode 100644 tests/auto/qfocusevent/.gitignore create mode 100644 tests/auto/qfocusevent/qfocusevent.pro create mode 100644 tests/auto/qfocusevent/tst_qfocusevent.cpp create mode 100644 tests/auto/qfocusframe/.gitignore create mode 100644 tests/auto/qfocusframe/qfocusframe.pro create mode 100644 tests/auto/qfocusframe/tst_qfocusframe.cpp create mode 100644 tests/auto/qfont/.gitignore create mode 100644 tests/auto/qfont/qfont.pro create mode 100644 tests/auto/qfont/tst_qfont.cpp create mode 100644 tests/auto/qfontcombobox/.gitignore create mode 100644 tests/auto/qfontcombobox/qfontcombobox.pro create mode 100644 tests/auto/qfontcombobox/tst_qfontcombobox.cpp create mode 100644 tests/auto/qfontdatabase/.gitignore create mode 100644 tests/auto/qfontdatabase/FreeMono.ttf create mode 100644 tests/auto/qfontdatabase/qfontdatabase.pro create mode 100644 tests/auto/qfontdatabase/tst_qfontdatabase.cpp create mode 100644 tests/auto/qfontdialog/.gitignore create mode 100644 tests/auto/qfontdialog/qfontdialog.pro create mode 100644 tests/auto/qfontdialog/tst_qfontdialog.cpp create mode 100644 tests/auto/qfontdialog/tst_qfontdialog_mac_helpers.mm create mode 100644 tests/auto/qfontmetrics/.gitignore create mode 100644 tests/auto/qfontmetrics/qfontmetrics.pro create mode 100644 tests/auto/qfontmetrics/tst_qfontmetrics.cpp create mode 100644 tests/auto/qformlayout/.gitignore create mode 100644 tests/auto/qformlayout/qformlayout.pro create mode 100644 tests/auto/qformlayout/tst_qformlayout.cpp create mode 100644 tests/auto/qftp/.gitattributes create mode 100644 tests/auto/qftp/.gitignore create mode 100644 tests/auto/qftp/qftp.pro create mode 100644 tests/auto/qftp/rfc3252.txt create mode 100644 tests/auto/qftp/tst_qftp.cpp create mode 100644 tests/auto/qfuture/.gitignore create mode 100644 tests/auto/qfuture/qfuture.pro create mode 100644 tests/auto/qfuture/tst_qfuture.cpp create mode 100644 tests/auto/qfuture/versioncheck.h create mode 100644 tests/auto/qfuturewatcher/.gitignore create mode 100644 tests/auto/qfuturewatcher/qfuturewatcher.pro create mode 100644 tests/auto/qfuturewatcher/tst_qfuturewatcher.cpp create mode 100644 tests/auto/qgetputenv/.gitignore create mode 100644 tests/auto/qgetputenv/qgetputenv.pro create mode 100644 tests/auto/qgetputenv/tst_qgetputenv.cpp create mode 100644 tests/auto/qgl/.gitignore create mode 100644 tests/auto/qgl/qgl.pro create mode 100644 tests/auto/qgl/tst_qgl.cpp create mode 100644 tests/auto/qglobal/.gitignore create mode 100644 tests/auto/qglobal/qglobal.pro create mode 100644 tests/auto/qglobal/tst_qglobal.cpp create mode 100644 tests/auto/qgraphicsgridlayout/.gitignore create mode 100644 tests/auto/qgraphicsgridlayout/qgraphicsgridlayout.pro create mode 100644 tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp create mode 100644 tests/auto/qgraphicsitem/.gitignore create mode 100644 tests/auto/qgraphicsitem/nestedClipping_reference.png create mode 100644 tests/auto/qgraphicsitem/qgraphicsitem.pro create mode 100644 tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp create mode 100644 tests/auto/qgraphicsitemanimation/.gitignore create mode 100644 tests/auto/qgraphicsitemanimation/qgraphicsitemanimation.pro create mode 100644 tests/auto/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp create mode 100644 tests/auto/qgraphicslayout/.gitignore create mode 100644 tests/auto/qgraphicslayout/qgraphicslayout.pro create mode 100644 tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp create mode 100644 tests/auto/qgraphicslayoutitem/.gitignore create mode 100644 tests/auto/qgraphicslayoutitem/qgraphicslayoutitem.pro create mode 100644 tests/auto/qgraphicslayoutitem/tst_qgraphicslayoutitem.cpp create mode 100644 tests/auto/qgraphicslinearlayout/.gitignore create mode 100644 tests/auto/qgraphicslinearlayout/qgraphicslinearlayout.pro create mode 100644 tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp create mode 100644 tests/auto/qgraphicspixmapitem/.gitignore create mode 100644 tests/auto/qgraphicspixmapitem/qgraphicspixmapitem.pro create mode 100644 tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp create mode 100644 tests/auto/qgraphicspolygonitem/.gitignore create mode 100644 tests/auto/qgraphicspolygonitem/qgraphicspolygonitem.pro create mode 100644 tests/auto/qgraphicspolygonitem/tst_qgraphicspolygonitem.cpp create mode 100644 tests/auto/qgraphicsproxywidget/.gitignore create mode 100644 tests/auto/qgraphicsproxywidget/qgraphicsproxywidget.pro create mode 100644 tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp create mode 100644 tests/auto/qgraphicsscene/.gitignore create mode 100644 tests/auto/qgraphicsscene/Ash_European.jpg create mode 100644 tests/auto/qgraphicsscene/graphicsScene_selection.data create mode 100644 tests/auto/qgraphicsscene/images.qrc create mode 100644 tests/auto/qgraphicsscene/qgraphicsscene.pro create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-45-deg-left.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-45-deg-right.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-scale-2x.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-translate-0-50.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-translate-50-0.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-all-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-bottomleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-bottomright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/all-topright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottom-bottomright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottom-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottomleft-all-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottomleft-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottomright-all-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/bottomright-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/left-bottomright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/left-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/right-bottomright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/right-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/top-bottomright-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/top-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/topleft-all-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/topleft-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/topright-all-untransformed.png create mode 100644 tests/auto/qgraphicsscene/testData/render/topright-topleft-untransformed.png create mode 100644 tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp create mode 100644 tests/auto/qgraphicsview/.gitignore create mode 100644 tests/auto/qgraphicsview/qgraphicsview.pro create mode 100644 tests/auto/qgraphicsview/tst_qgraphicsview.cpp create mode 100644 tests/auto/qgraphicsview/tst_qgraphicsview_2.cpp create mode 100644 tests/auto/qgraphicswidget/.gitignore create mode 100644 tests/auto/qgraphicswidget/qgraphicswidget.pro create mode 100644 tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp create mode 100644 tests/auto/qgridlayout/.gitignore create mode 100644 tests/auto/qgridlayout/qgridlayout.pro create mode 100644 tests/auto/qgridlayout/sortdialog.ui create mode 100644 tests/auto/qgridlayout/tst_qgridlayout.cpp create mode 100644 tests/auto/qgroupbox/.gitignore create mode 100644 tests/auto/qgroupbox/qgroupbox.pro create mode 100644 tests/auto/qgroupbox/tst_qgroupbox.cpp create mode 100644 tests/auto/qguivariant/.gitignore create mode 100644 tests/auto/qguivariant/qguivariant.pro create mode 100644 tests/auto/qguivariant/tst_qguivariant.cpp create mode 100644 tests/auto/qhash/.gitignore create mode 100644 tests/auto/qhash/qhash.pro create mode 100644 tests/auto/qhash/tst_qhash.cpp create mode 100644 tests/auto/qheaderview/.gitignore create mode 100644 tests/auto/qheaderview/qheaderview.pro create mode 100644 tests/auto/qheaderview/tst_qheaderview.cpp create mode 100644 tests/auto/qhelpcontentmodel/.gitignore create mode 100644 tests/auto/qhelpcontentmodel/data/collection.qhc create mode 100644 tests/auto/qhelpcontentmodel/data/qmake-3.3.8.qch create mode 100644 tests/auto/qhelpcontentmodel/data/qmake-4.3.0.qch create mode 100644 tests/auto/qhelpcontentmodel/data/test.qch create mode 100644 tests/auto/qhelpcontentmodel/qhelpcontentmodel.pro create mode 100644 tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.cpp create mode 100644 tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro create mode 100644 tests/auto/qhelpenginecore/.gitignore create mode 100644 tests/auto/qhelpenginecore/data/collection.qhc create mode 100644 tests/auto/qhelpenginecore/data/collection1.qhc create mode 100644 tests/auto/qhelpenginecore/data/linguist-3.3.8.qch create mode 100644 tests/auto/qhelpenginecore/data/qmake-3.3.8.qch create mode 100644 tests/auto/qhelpenginecore/data/qmake-4.3.0.qch create mode 100644 tests/auto/qhelpenginecore/data/test.html create mode 100644 tests/auto/qhelpenginecore/data/test.qch create mode 100644 tests/auto/qhelpenginecore/qhelpenginecore.pro create mode 100644 tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp create mode 100644 tests/auto/qhelpenginecore/tst_qhelpenginecore.pro create mode 100644 tests/auto/qhelpgenerator/.gitignore create mode 100644 tests/auto/qhelpgenerator/data/cars.html create mode 100644 tests/auto/qhelpgenerator/data/classic.css create mode 100644 tests/auto/qhelpgenerator/data/fancy.html create mode 100644 tests/auto/qhelpgenerator/data/people.html create mode 100644 tests/auto/qhelpgenerator/data/sub/about.html create mode 100644 tests/auto/qhelpgenerator/data/test.html create mode 100644 tests/auto/qhelpgenerator/data/test.qhp create mode 100644 tests/auto/qhelpgenerator/qhelpgenerator.pro create mode 100644 tests/auto/qhelpgenerator/tst_qhelpgenerator.cpp create mode 100644 tests/auto/qhelpgenerator/tst_qhelpgenerator.pro create mode 100644 tests/auto/qhelpindexmodel/.gitignore create mode 100644 tests/auto/qhelpindexmodel/data/collection.qhc create mode 100644 tests/auto/qhelpindexmodel/data/collection1.qhc create mode 100644 tests/auto/qhelpindexmodel/data/linguist-3.3.8.qch create mode 100644 tests/auto/qhelpindexmodel/data/qmake-3.3.8.qch create mode 100644 tests/auto/qhelpindexmodel/data/qmake-4.3.0.qch create mode 100644 tests/auto/qhelpindexmodel/data/test.html create mode 100644 tests/auto/qhelpindexmodel/data/test.qch create mode 100644 tests/auto/qhelpindexmodel/qhelpindexmodel.pro create mode 100644 tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp create mode 100644 tests/auto/qhelpindexmodel/tst_qhelpindexmodel.pro create mode 100644 tests/auto/qhelpprojectdata/.gitignore create mode 100644 tests/auto/qhelpprojectdata/data/test.qhp create mode 100644 tests/auto/qhelpprojectdata/qhelpprojectdata.pro create mode 100644 tests/auto/qhelpprojectdata/tst_qhelpprojectdata.cpp create mode 100644 tests/auto/qhelpprojectdata/tst_qhelpprojectdata.pro create mode 100644 tests/auto/qhostaddress/.gitignore create mode 100644 tests/auto/qhostaddress/qhostaddress.pro create mode 100644 tests/auto/qhostaddress/tst_qhostaddress.cpp create mode 100644 tests/auto/qhostinfo/.gitignore create mode 100644 tests/auto/qhostinfo/qhostinfo.pro create mode 100644 tests/auto/qhostinfo/tst_qhostinfo.cpp create mode 100644 tests/auto/qhttp/.gitattributes create mode 100644 tests/auto/qhttp/.gitignore create mode 100644 tests/auto/qhttp/dummyserver.h create mode 100644 tests/auto/qhttp/qhttp.pro create mode 100644 tests/auto/qhttp/rfc3252.txt create mode 100644 tests/auto/qhttp/trolltech create mode 100644 tests/auto/qhttp/tst_qhttp.cpp create mode 100755 tests/auto/qhttp/webserver/cgi-bin/retrieve_testfile.cgi create mode 100755 tests/auto/qhttp/webserver/cgi-bin/rfc.cgi create mode 100755 tests/auto/qhttp/webserver/cgi-bin/store_testfile.cgi create mode 100644 tests/auto/qhttp/webserver/index.html create mode 100644 tests/auto/qhttp/webserver/rfc3252 create mode 100644 tests/auto/qhttp/webserver/rfc3252.txt create mode 100644 tests/auto/qhttpnetworkconnection/.gitignore create mode 100644 tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro create mode 100644 tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp create mode 100644 tests/auto/qhttpnetworkreply/.gitignore create mode 100644 tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro create mode 100644 tests/auto/qhttpnetworkreply/tst_qhttpnetworkreply.cpp create mode 100644 tests/auto/qhttpsocketengine/.gitignore create mode 100644 tests/auto/qhttpsocketengine/qhttpsocketengine.pro create mode 100644 tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp create mode 100644 tests/auto/qicoimageformat/.gitignore create mode 100644 tests/auto/qicoimageformat/icons/invalid/35floppy.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/35FLOPPY.ICO create mode 100644 tests/auto/qicoimageformat/icons/valid/AddPerfMon.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/App.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/Obj_N2_Internal_Mem.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/Status_Play.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/TIMER01.ICO create mode 100644 tests/auto/qicoimageformat/icons/valid/WORLD.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/WORLDH.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/abcardWindow.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/semitransparent.ico create mode 100644 tests/auto/qicoimageformat/icons/valid/trolltechlogo_tiny.ico create mode 100644 tests/auto/qicoimageformat/qicoimageformat.pro create mode 100644 tests/auto/qicoimageformat/tst_qticoimageformat.cpp create mode 100644 tests/auto/qicon/.gitignore create mode 100644 tests/auto/qicon/heart.svg create mode 100644 tests/auto/qicon/heart.svgz create mode 100644 tests/auto/qicon/image.png create mode 100644 tests/auto/qicon/image.tga create mode 100644 tests/auto/qicon/qicon.pro create mode 100644 tests/auto/qicon/rect.png create mode 100644 tests/auto/qicon/rect.svg create mode 100644 tests/auto/qicon/trash.svg create mode 100644 tests/auto/qicon/tst_qicon.cpp create mode 100644 tests/auto/qicon/tst_qicon.qrc create mode 100644 tests/auto/qimage/.gitignore create mode 100644 tests/auto/qimage/images/image.bmp create mode 100644 tests/auto/qimage/images/image.gif create mode 100644 tests/auto/qimage/images/image.ico create mode 100644 tests/auto/qimage/images/image.jpg create mode 100644 tests/auto/qimage/images/image.pbm create mode 100644 tests/auto/qimage/images/image.pgm create mode 100644 tests/auto/qimage/images/image.png create mode 100644 tests/auto/qimage/images/image.ppm create mode 100644 tests/auto/qimage/images/image.xbm create mode 100644 tests/auto/qimage/images/image.xpm create mode 100644 tests/auto/qimage/qimage.pro create mode 100644 tests/auto/qimage/tst_qimage.cpp create mode 100644 tests/auto/qimageiohandler/.gitignore create mode 100644 tests/auto/qimageiohandler/qimageiohandler.pro create mode 100644 tests/auto/qimageiohandler/tst_qimageiohandler.cpp create mode 100644 tests/auto/qimagereader/.gitignore create mode 100644 tests/auto/qimagereader/images/16bpp.bmp create mode 100644 tests/auto/qimagereader/images/4bpp-rle.bmp create mode 100644 tests/auto/qimagereader/images/YCbCr_cmyk.jpg create mode 100644 tests/auto/qimagereader/images/YCbCr_cmyk.png create mode 100644 tests/auto/qimagereader/images/YCbCr_rgb.jpg create mode 100644 tests/auto/qimagereader/images/away.png create mode 100644 tests/auto/qimagereader/images/ball.mng create mode 100644 tests/auto/qimagereader/images/bat1.gif create mode 100644 tests/auto/qimagereader/images/bat2.gif create mode 100644 tests/auto/qimagereader/images/beavis.jpg create mode 100644 tests/auto/qimagereader/images/black.png create mode 100644 tests/auto/qimagereader/images/black.xpm create mode 100644 tests/auto/qimagereader/images/colorful.bmp create mode 100644 tests/auto/qimagereader/images/corrupt-colors.xpm create mode 100644 tests/auto/qimagereader/images/corrupt-data.tif create mode 100644 tests/auto/qimagereader/images/corrupt-pixels.xpm create mode 100644 tests/auto/qimagereader/images/corrupt.bmp create mode 100644 tests/auto/qimagereader/images/corrupt.gif create mode 100644 tests/auto/qimagereader/images/corrupt.jpg create mode 100644 tests/auto/qimagereader/images/corrupt.mng create mode 100644 tests/auto/qimagereader/images/corrupt.png create mode 100644 tests/auto/qimagereader/images/corrupt.xbm create mode 100644 tests/auto/qimagereader/images/crash-signed-char.bmp create mode 100644 tests/auto/qimagereader/images/earth.gif create mode 100644 tests/auto/qimagereader/images/fire.mng create mode 100644 tests/auto/qimagereader/images/font.bmp create mode 100644 tests/auto/qimagereader/images/gnus.xbm create mode 100644 tests/auto/qimagereader/images/image.pbm create mode 100644 tests/auto/qimagereader/images/image.pgm create mode 100644 tests/auto/qimagereader/images/image.png create mode 100644 tests/auto/qimagereader/images/image.ppm create mode 100644 tests/auto/qimagereader/images/kollada-noext create mode 100644 tests/auto/qimagereader/images/kollada.png create mode 100644 tests/auto/qimagereader/images/marble.xpm create mode 100644 tests/auto/qimagereader/images/namedcolors.xpm create mode 100644 tests/auto/qimagereader/images/negativeheight.bmp create mode 100644 tests/auto/qimagereader/images/noclearcode.bmp create mode 100644 tests/auto/qimagereader/images/noclearcode.gif create mode 100644 tests/auto/qimagereader/images/nontransparent.xpm create mode 100644 tests/auto/qimagereader/images/pngwithcompressedtext.png create mode 100644 tests/auto/qimagereader/images/pngwithtext.png create mode 100644 tests/auto/qimagereader/images/rgba_adobedeflate_littleendian.tif create mode 100644 tests/auto/qimagereader/images/rgba_lzw_littleendian.tif create mode 100644 tests/auto/qimagereader/images/rgba_nocompression_bigendian.tif create mode 100644 tests/auto/qimagereader/images/rgba_nocompression_littleendian.tif create mode 100644 tests/auto/qimagereader/images/rgba_packbits_littleendian.tif create mode 100644 tests/auto/qimagereader/images/rgba_zipdeflate_littleendian.tif create mode 100644 tests/auto/qimagereader/images/runners.ppm create mode 100644 tests/auto/qimagereader/images/teapot.ppm create mode 100644 tests/auto/qimagereader/images/test.ppm create mode 100644 tests/auto/qimagereader/images/test.xpm create mode 100644 tests/auto/qimagereader/images/transparent.xpm create mode 100644 tests/auto/qimagereader/images/trolltech.gif create mode 100644 tests/auto/qimagereader/images/tst7.bmp create mode 100644 tests/auto/qimagereader/images/tst7.png create mode 100644 tests/auto/qimagereader/qimagereader.pro create mode 100644 tests/auto/qimagereader/qimagereader.qrc create mode 100644 tests/auto/qimagereader/tst_qimagereader.cpp create mode 100644 tests/auto/qimagewriter/.gitignore create mode 100644 tests/auto/qimagewriter/images/YCbCr_cmyk.jpg create mode 100644 tests/auto/qimagewriter/images/YCbCr_rgb.jpg create mode 100644 tests/auto/qimagewriter/images/beavis.jpg create mode 100644 tests/auto/qimagewriter/images/colorful.bmp create mode 100644 tests/auto/qimagewriter/images/earth.gif create mode 100644 tests/auto/qimagewriter/images/font.bmp create mode 100644 tests/auto/qimagewriter/images/gnus.xbm create mode 100644 tests/auto/qimagewriter/images/kollada.png create mode 100644 tests/auto/qimagewriter/images/marble.xpm create mode 100644 tests/auto/qimagewriter/images/ship63.pbm create mode 100644 tests/auto/qimagewriter/images/teapot.ppm create mode 100644 tests/auto/qimagewriter/images/teapot.tiff create mode 100644 tests/auto/qimagewriter/images/trolltech.gif create mode 100644 tests/auto/qimagewriter/qimagewriter.pro create mode 100644 tests/auto/qimagewriter/tst_qimagewriter.cpp create mode 100644 tests/auto/qinputdialog/.gitignore create mode 100644 tests/auto/qinputdialog/qinputdialog.pro create mode 100644 tests/auto/qinputdialog/tst_qinputdialog.cpp create mode 100644 tests/auto/qintvalidator/.gitignore create mode 100644 tests/auto/qintvalidator/qintvalidator.pro create mode 100644 tests/auto/qintvalidator/tst_qintvalidator.cpp create mode 100644 tests/auto/qiodevice/.gitignore create mode 100644 tests/auto/qiodevice/qiodevice.pro create mode 100644 tests/auto/qiodevice/tst_qiodevice.cpp create mode 100644 tests/auto/qitemdelegate/.gitignore create mode 100644 tests/auto/qitemdelegate/qitemdelegate.pro create mode 100644 tests/auto/qitemdelegate/tst_qitemdelegate.cpp create mode 100644 tests/auto/qitemeditorfactory/.gitignore create mode 100644 tests/auto/qitemeditorfactory/qitemeditorfactory.pro create mode 100644 tests/auto/qitemeditorfactory/tst_qitemeditorfactory.cpp create mode 100644 tests/auto/qitemmodel/.gitignore create mode 100644 tests/auto/qitemmodel/README create mode 100644 tests/auto/qitemmodel/modelstotest.cpp create mode 100644 tests/auto/qitemmodel/qitemmodel.pro create mode 100644 tests/auto/qitemmodel/tst_qitemmodel.cpp create mode 100644 tests/auto/qitemselectionmodel/.gitignore create mode 100644 tests/auto/qitemselectionmodel/qitemselectionmodel.pro create mode 100644 tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp create mode 100644 tests/auto/qitemview/.gitignore create mode 100644 tests/auto/qitemview/qitemview.pro create mode 100644 tests/auto/qitemview/tst_qitemview.cpp create mode 100644 tests/auto/qitemview/viewstotest.cpp create mode 100644 tests/auto/qkeyevent/.gitignore create mode 100644 tests/auto/qkeyevent/qkeyevent.pro create mode 100644 tests/auto/qkeyevent/tst_qkeyevent.cpp create mode 100644 tests/auto/qkeysequence/.gitignore create mode 100644 tests/auto/qkeysequence/keys_de.qm create mode 100644 tests/auto/qkeysequence/keys_de.ts create mode 100644 tests/auto/qkeysequence/qkeysequence.pro create mode 100644 tests/auto/qkeysequence/tst_qkeysequence.cpp create mode 100644 tests/auto/qlabel/.gitignore create mode 100644 tests/auto/qlabel/green.png create mode 100644 tests/auto/qlabel/qlabel.pro create mode 100644 tests/auto/qlabel/red.png create mode 100644 tests/auto/qlabel/testdata/acc_01/res_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/acc_01/res_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data10.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data3.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data4.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data5.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data6.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data7.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data8.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Motif_data9.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data10.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data3.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data4.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data5.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data6.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data7.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data8.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_data9.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data10.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data3.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data4.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data5.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data6.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data7.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data8.qsnap create mode 100644 tests/auto/qlabel/testdata/setAlignment/alignRes_Windows_win32_data9.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Motif_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Motif_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_win32_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setIndent/indentRes_Windows_win32_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/Vpix_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/Vpix_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/Vpix_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/empty_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/empty_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/empty_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/scaledVpix_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/scaledVpix_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setPixmap/scaledVpix_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Motif_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Motif_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Motif_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Motif_data3.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_data3.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_win32_data0.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_win32_data1.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_win32_data2.qsnap create mode 100644 tests/auto/qlabel/testdata/setText/res_Windows_win32_data3.qsnap create mode 100644 tests/auto/qlabel/tst_qlabel.cpp create mode 100644 tests/auto/qlayout/.gitignore create mode 100644 tests/auto/qlayout/baseline/smartmaxsize create mode 100644 tests/auto/qlayout/qlayout.pro create mode 100644 tests/auto/qlayout/tst_qlayout.cpp create mode 100644 tests/auto/qlcdnumber/.gitignore create mode 100644 tests/auto/qlcdnumber/qlcdnumber.pro create mode 100644 tests/auto/qlcdnumber/tst_qlcdnumber.cpp create mode 100644 tests/auto/qlibrary/.gitignore create mode 100644 tests/auto/qlibrary/lib/lib.pro create mode 100644 tests/auto/qlibrary/lib/mylib.c create mode 100644 tests/auto/qlibrary/lib2/lib2.pro create mode 100644 tests/auto/qlibrary/lib2/mylib.c create mode 100644 tests/auto/qlibrary/library_path/invalid.so create mode 100644 tests/auto/qlibrary/qlibrary.pro create mode 100644 tests/auto/qlibrary/tst/tst.pro create mode 100644 tests/auto/qlibrary/tst_qlibrary.cpp create mode 100644 tests/auto/qline/.gitignore create mode 100644 tests/auto/qline/qline.pro create mode 100644 tests/auto/qline/tst_qline.cpp create mode 100644 tests/auto/qlineedit/.gitignore create mode 100644 tests/auto/qlineedit/qlineedit.pro create mode 100644 tests/auto/qlineedit/testdata/frame/noFrame_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/frame/noFrame_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/frame/useFrame_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/frame/useFrame_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/auto_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/auto_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/hcenter_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/hcenter_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/left_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/left_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/right_Motif-32x96x96_win.png create mode 100644 tests/auto/qlineedit/testdata/setAlignment/right_Windows-32x96x96_win.png create mode 100644 tests/auto/qlineedit/tst_qlineedit.cpp create mode 100644 tests/auto/qlist/.gitignore create mode 100644 tests/auto/qlist/qlist.pro create mode 100644 tests/auto/qlist/tst_qlist.cpp create mode 100644 tests/auto/qlistview/.gitignore create mode 100644 tests/auto/qlistview/qlistview.pro create mode 100644 tests/auto/qlistview/tst_qlistview.cpp create mode 100644 tests/auto/qlistwidget/.gitignore create mode 100644 tests/auto/qlistwidget/qlistwidget.pro create mode 100644 tests/auto/qlistwidget/tst_qlistwidget.cpp create mode 100644 tests/auto/qlocale/.gitignore create mode 100644 tests/auto/qlocale/qlocale.pro create mode 100644 tests/auto/qlocale/syslocaleapp/syslocaleapp.cpp create mode 100644 tests/auto/qlocale/syslocaleapp/syslocaleapp.pro create mode 100644 tests/auto/qlocale/test/test.pro create mode 100644 tests/auto/qlocale/tst_qlocale.cpp create mode 100644 tests/auto/qlocalsocket/.gitignore create mode 100644 tests/auto/qlocalsocket/example/client/client.pro create mode 100644 tests/auto/qlocalsocket/example/client/main.cpp create mode 100644 tests/auto/qlocalsocket/example/example.pro create mode 100644 tests/auto/qlocalsocket/example/server/main.cpp create mode 100644 tests/auto/qlocalsocket/example/server/server.pro create mode 100644 tests/auto/qlocalsocket/lackey/lackey.pro create mode 100644 tests/auto/qlocalsocket/lackey/main.cpp create mode 100755 tests/auto/qlocalsocket/lackey/scripts/client.js create mode 100644 tests/auto/qlocalsocket/lackey/scripts/server.js create mode 100644 tests/auto/qlocalsocket/qlocalsocket.pro create mode 100644 tests/auto/qlocalsocket/test/test.pro create mode 100644 tests/auto/qlocalsocket/tst_qlocalsocket.cpp create mode 100644 tests/auto/qmacstyle/.gitignore create mode 100644 tests/auto/qmacstyle/qmacstyle.pro create mode 100644 tests/auto/qmacstyle/tst_qmacstyle.cpp create mode 100644 tests/auto/qmainwindow/.gitignore create mode 100644 tests/auto/qmainwindow/qmainwindow.pro create mode 100644 tests/auto/qmainwindow/tst_qmainwindow.cpp create mode 100644 tests/auto/qmake/.gitignore create mode 100644 tests/auto/qmake/qmake.pro create mode 100644 tests/auto/qmake/testcompiler.cpp create mode 100644 tests/auto/qmake/testcompiler.h create mode 100644 tests/auto/qmake/testdata/comments/comments.pro create mode 100644 tests/auto/qmake/testdata/duplicateLibraryEntries/duplib.pro create mode 100644 tests/auto/qmake/testdata/export_across_file_boundaries/.qmake.cache create mode 100644 tests/auto/qmake/testdata/export_across_file_boundaries/features/default_pre.prf create mode 100644 tests/auto/qmake/testdata/export_across_file_boundaries/foo.pro create mode 100644 tests/auto/qmake/testdata/export_across_file_boundaries/oink.pri create mode 100644 tests/auto/qmake/testdata/findDeps/findDeps.pro create mode 100644 tests/auto/qmake/testdata/findDeps/main.cpp create mode 100644 tests/auto/qmake/testdata/findDeps/object1.h create mode 100644 tests/auto/qmake/testdata/findDeps/object2.h create mode 100644 tests/auto/qmake/testdata/findDeps/object3.h create mode 100644 tests/auto/qmake/testdata/findDeps/object4.h create mode 100644 tests/auto/qmake/testdata/findDeps/object5.h create mode 100644 tests/auto/qmake/testdata/findDeps/object6.h create mode 100644 tests/auto/qmake/testdata/findDeps/object7.h create mode 100644 tests/auto/qmake/testdata/findDeps/object8.h create mode 100644 tests/auto/qmake/testdata/findDeps/object9.h create mode 100644 tests/auto/qmake/testdata/findMocs/findMocs.pro create mode 100644 tests/auto/qmake/testdata/findMocs/main.cpp create mode 100644 tests/auto/qmake/testdata/findMocs/object1.h create mode 100644 tests/auto/qmake/testdata/findMocs/object2.h create mode 100644 tests/auto/qmake/testdata/findMocs/object3.h create mode 100644 tests/auto/qmake/testdata/findMocs/object4.h create mode 100644 tests/auto/qmake/testdata/findMocs/object5.h create mode 100644 tests/auto/qmake/testdata/findMocs/object6.h create mode 100644 tests/auto/qmake/testdata/findMocs/object7.h create mode 100644 tests/auto/qmake/testdata/func_export/func_export.pro create mode 100644 tests/auto/qmake/testdata/func_variables/func_variables.pro create mode 100644 tests/auto/qmake/testdata/functions/1.cpp create mode 100644 tests/auto/qmake/testdata/functions/2.cpp create mode 100644 tests/auto/qmake/testdata/functions/functions.pro create mode 100644 tests/auto/qmake/testdata/functions/infiletest.pro create mode 100644 tests/auto/qmake/testdata/functions/one/1.cpp create mode 100644 tests/auto/qmake/testdata/functions/one/2.cpp create mode 100644 tests/auto/qmake/testdata/functions/three/wildcard21.cpp create mode 100644 tests/auto/qmake/testdata/functions/three/wildcard22.cpp create mode 100644 tests/auto/qmake/testdata/functions/two/1.cpp create mode 100644 tests/auto/qmake/testdata/functions/two/2.cpp create mode 100644 tests/auto/qmake/testdata/functions/wildcard21.cpp create mode 100644 tests/auto/qmake/testdata/functions/wildcard22.cpp create mode 100644 tests/auto/qmake/testdata/include_dir/foo.pro create mode 100644 tests/auto/qmake/testdata/include_dir/main.cpp create mode 100644 tests/auto/qmake/testdata/include_dir/test_file.cpp create mode 100644 tests/auto/qmake/testdata/include_dir/test_file.h create mode 100644 tests/auto/qmake/testdata/include_dir/untitled.ui create mode 100644 tests/auto/qmake/testdata/include_dir_build/README create mode 100644 tests/auto/qmake/testdata/install_depends/foo.pro create mode 100644 tests/auto/qmake/testdata/install_depends/main.cpp create mode 100644 tests/auto/qmake/testdata/install_depends/test1 create mode 100644 tests/auto/qmake/testdata/install_depends/test2 create mode 100644 tests/auto/qmake/testdata/install_depends/test_file.cpp create mode 100644 tests/auto/qmake/testdata/install_depends/test_file.h create mode 100644 tests/auto/qmake/testdata/one_space/main.cpp create mode 100644 tests/auto/qmake/testdata/one_space/one_space.pro create mode 100644 tests/auto/qmake/testdata/operators/operators.pro create mode 100644 tests/auto/qmake/testdata/prompt/prompt.pro create mode 100644 tests/auto/qmake/testdata/quotedfilenames/main.cpp create mode 100644 tests/auto/qmake/testdata/quotedfilenames/quotedfilenames.pro create mode 100644 tests/auto/qmake/testdata/quotedfilenames/rc folder/logo.png create mode 100644 tests/auto/qmake/testdata/quotedfilenames/rc folder/test.qrc create mode 100644 tests/auto/qmake/testdata/shadow_files/foo.pro create mode 100644 tests/auto/qmake/testdata/shadow_files/main.cpp create mode 100644 tests/auto/qmake/testdata/shadow_files/test.txt create mode 100644 tests/auto/qmake/testdata/shadow_files/test_file.cpp create mode 100644 tests/auto/qmake/testdata/shadow_files/test_file.h create mode 100644 tests/auto/qmake/testdata/shadow_files_build/README create mode 100644 tests/auto/qmake/testdata/shadow_files_build/foo.bar create mode 100644 tests/auto/qmake/testdata/simple_app/main.cpp create mode 100644 tests/auto/qmake/testdata/simple_app/simple_app.pro create mode 100644 tests/auto/qmake/testdata/simple_app/test_file.cpp create mode 100644 tests/auto/qmake/testdata/simple_app/test_file.h create mode 100644 tests/auto/qmake/testdata/simple_dll/simple.cpp create mode 100644 tests/auto/qmake/testdata/simple_dll/simple.h create mode 100644 tests/auto/qmake/testdata/simple_dll/simple_dll.pro create mode 100644 tests/auto/qmake/testdata/simple_lib/simple.cpp create mode 100644 tests/auto/qmake/testdata/simple_lib/simple.h create mode 100644 tests/auto/qmake/testdata/simple_lib/simple_lib.pro create mode 100644 tests/auto/qmake/testdata/subdirs/simple_app/main.cpp create mode 100644 tests/auto/qmake/testdata/subdirs/simple_app/simple_app.pro create mode 100644 tests/auto/qmake/testdata/subdirs/simple_app/test_file.cpp create mode 100644 tests/auto/qmake/testdata/subdirs/simple_app/test_file.h create mode 100644 tests/auto/qmake/testdata/subdirs/simple_dll/simple.cpp create mode 100644 tests/auto/qmake/testdata/subdirs/simple_dll/simple.h create mode 100644 tests/auto/qmake/testdata/subdirs/simple_dll/simple_dll.pro create mode 100644 tests/auto/qmake/testdata/subdirs/subdirs.pro create mode 100644 tests/auto/qmake/testdata/variables/variables.pro create mode 100644 tests/auto/qmake/tst_qmake.cpp create mode 100644 tests/auto/qmap/.gitignore create mode 100644 tests/auto/qmap/qmap.pro create mode 100644 tests/auto/qmap/tst_qmap.cpp create mode 100644 tests/auto/qmdiarea/.gitignore create mode 100644 tests/auto/qmdiarea/qmdiarea.pro create mode 100644 tests/auto/qmdiarea/tst_qmdiarea.cpp create mode 100644 tests/auto/qmdisubwindow/.gitignore create mode 100644 tests/auto/qmdisubwindow/qmdisubwindow.pro create mode 100644 tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp create mode 100644 tests/auto/qmenu/.gitignore create mode 100644 tests/auto/qmenu/qmenu.pro create mode 100644 tests/auto/qmenu/tst_qmenu.cpp create mode 100644 tests/auto/qmenubar/.gitignore create mode 100644 tests/auto/qmenubar/qmenubar.pro create mode 100644 tests/auto/qmenubar/tst_qmenubar.cpp create mode 100644 tests/auto/qmessagebox/.gitignore create mode 100644 tests/auto/qmessagebox/qmessagebox.pro create mode 100644 tests/auto/qmessagebox/tst_qmessagebox.cpp create mode 100644 tests/auto/qmetaobject/.gitignore create mode 100644 tests/auto/qmetaobject/qmetaobject.pro create mode 100644 tests/auto/qmetaobject/tst_qmetaobject.cpp create mode 100644 tests/auto/qmetatype/.gitignore create mode 100644 tests/auto/qmetatype/qmetatype.pro create mode 100644 tests/auto/qmetatype/tst_qmetatype.cpp create mode 100644 tests/auto/qmouseevent/.gitignore create mode 100644 tests/auto/qmouseevent/qmouseevent.pro create mode 100644 tests/auto/qmouseevent/tst_qmouseevent.cpp create mode 100644 tests/auto/qmouseevent_modal/.gitignore create mode 100644 tests/auto/qmouseevent_modal/qmouseevent_modal.pro create mode 100644 tests/auto/qmouseevent_modal/tst_qmouseevent_modal.cpp create mode 100644 tests/auto/qmovie/.gitignore create mode 100644 tests/auto/qmovie/animations/comicsecard.gif create mode 100644 tests/auto/qmovie/animations/dutch.mng create mode 100644 tests/auto/qmovie/animations/trolltech.gif create mode 100644 tests/auto/qmovie/qmovie.pro create mode 100644 tests/auto/qmovie/tst_qmovie.cpp create mode 100644 tests/auto/qmultiscreen/.gitignore create mode 100644 tests/auto/qmultiscreen/qmultiscreen.pro create mode 100644 tests/auto/qmultiscreen/tst_qmultiscreen.cpp create mode 100644 tests/auto/qmutex/.gitignore create mode 100644 tests/auto/qmutex/qmutex.pro create mode 100644 tests/auto/qmutex/tst_qmutex.cpp create mode 100644 tests/auto/qmutexlocker/.gitignore create mode 100644 tests/auto/qmutexlocker/qmutexlocker.pro create mode 100644 tests/auto/qmutexlocker/tst_qmutexlocker.cpp create mode 100644 tests/auto/qnativesocketengine/.gitignore create mode 100644 tests/auto/qnativesocketengine/qnativesocketengine.pro create mode 100644 tests/auto/qnativesocketengine/qsocketengine.pri create mode 100644 tests/auto/qnativesocketengine/tst_qnativesocketengine.cpp create mode 100644 tests/auto/qnetworkaddressentry/.gitignore create mode 100644 tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro create mode 100644 tests/auto/qnetworkaddressentry/tst_qnetworkaddressentry.cpp create mode 100644 tests/auto/qnetworkcachemetadata/.gitignore create mode 100644 tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro create mode 100644 tests/auto/qnetworkcachemetadata/tst_qnetworkcachemetadata.cpp create mode 100644 tests/auto/qnetworkcookie/.gitignore create mode 100644 tests/auto/qnetworkcookie/qnetworkcookie.pro create mode 100644 tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp create mode 100644 tests/auto/qnetworkcookiejar/.gitignore create mode 100644 tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro create mode 100644 tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp create mode 100644 tests/auto/qnetworkdiskcache/.gitignore create mode 100644 tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro create mode 100644 tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp create mode 100644 tests/auto/qnetworkinterface/.gitignore create mode 100644 tests/auto/qnetworkinterface/qnetworkinterface.pro create mode 100644 tests/auto/qnetworkinterface/tst_qnetworkinterface.cpp create mode 100644 tests/auto/qnetworkproxy/.gitignore create mode 100644 tests/auto/qnetworkproxy/qnetworkproxy.pro create mode 100644 tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp create mode 100644 tests/auto/qnetworkreply/.gitattributes create mode 100644 tests/auto/qnetworkreply/.gitignore create mode 100644 tests/auto/qnetworkreply/bigfile create mode 100644 tests/auto/qnetworkreply/echo/echo.pro create mode 100644 tests/auto/qnetworkreply/echo/main.cpp create mode 100644 tests/auto/qnetworkreply/empty create mode 100644 tests/auto/qnetworkreply/qnetworkreply.pro create mode 100644 tests/auto/qnetworkreply/qnetworkreply.qrc create mode 100644 tests/auto/qnetworkreply/resource create mode 100644 tests/auto/qnetworkreply/rfc3252.txt create mode 100644 tests/auto/qnetworkreply/test/test.pro create mode 100644 tests/auto/qnetworkreply/tst_qnetworkreply.cpp create mode 100644 tests/auto/qnetworkrequest/.gitignore create mode 100644 tests/auto/qnetworkrequest/qnetworkrequest.pro create mode 100644 tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp create mode 100644 tests/auto/qnumeric/.gitignore create mode 100644 tests/auto/qnumeric/qnumeric.pro create mode 100644 tests/auto/qnumeric/tst_qnumeric.cpp create mode 100644 tests/auto/qobject/.gitignore create mode 100644 tests/auto/qobject/qobject.pro create mode 100644 tests/auto/qobject/signalbug.cpp create mode 100644 tests/auto/qobject/signalbug.h create mode 100644 tests/auto/qobject/signalbug.pro create mode 100644 tests/auto/qobject/tst_qobject.cpp create mode 100644 tests/auto/qobject/tst_qobject.pro create mode 100644 tests/auto/qobjectperformance/.gitignore create mode 100644 tests/auto/qobjectperformance/qobjectperformance.pro create mode 100644 tests/auto/qobjectperformance/tst_qobjectperformance.cpp create mode 100644 tests/auto/qobjectrace/.gitignore create mode 100644 tests/auto/qobjectrace/qobjectrace.pro create mode 100644 tests/auto/qobjectrace/tst_qobjectrace.cpp create mode 100644 tests/auto/qpaintengine/.gitignore create mode 100644 tests/auto/qpaintengine/qpaintengine.pro create mode 100644 tests/auto/qpaintengine/tst_qpaintengine.cpp create mode 100644 tests/auto/qpainter/.gitignore create mode 100644 tests/auto/qpainter/drawEllipse/10x10SizeAt0x0.png create mode 100644 tests/auto/qpainter/drawEllipse/10x10SizeAt100x100.png create mode 100644 tests/auto/qpainter/drawEllipse/10x10SizeAt200x200.png create mode 100644 tests/auto/qpainter/drawEllipse/13x100SizeAt0x0.png create mode 100644 tests/auto/qpainter/drawEllipse/13x100SizeAt100x100.png create mode 100644 tests/auto/qpainter/drawEllipse/13x100SizeAt200x200.png create mode 100644 tests/auto/qpainter/drawEllipse/200x200SizeAt0x0.png create mode 100644 tests/auto/qpainter/drawEllipse/200x200SizeAt100x100.png create mode 100644 tests/auto/qpainter/drawEllipse/200x200SizeAt200x200.png create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/dst.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_AndNotROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_AndROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_ClearROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_CopyROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NandROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NopROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NorROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NotAndROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NotCopyROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NotOrROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NotROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_NotXorROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_OrNotROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_OrROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_SetROP.xbm create mode 100644 tests/auto/qpainter/drawLine_rop_bitmap/res/res_XorROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop/dst1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/dst2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/dst3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndNotROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_AndROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_ClearROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_CopyROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NandROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NopROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NorROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotAndROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotCopyROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotOrROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_NotXorROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrNotROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_OrROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_SetROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP0.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP1.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP2.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP3.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP4.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP5.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP6.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/res/res_XorROP7.png create mode 100644 tests/auto/qpainter/drawPixmap_rop/src1.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop/src2-mask.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop/src2.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop/src3.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/dst.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_AndNotROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_AndROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_ClearROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_CopyROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NandROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NopROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NorROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NotAndROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NotCopyROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NotOrROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NotROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_NotXorROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_OrNotROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_OrROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_SetROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/res/res_XorROP.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/src1-mask.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/src1.xbm create mode 100644 tests/auto/qpainter/drawPixmap_rop_bitmap/src2.xbm create mode 100644 tests/auto/qpainter/qpainter.pro create mode 100644 tests/auto/qpainter/task217400.png create mode 100644 tests/auto/qpainter/tst_qpainter.cpp create mode 100644 tests/auto/qpainter/utils/createImages/createImages.pro create mode 100644 tests/auto/qpainter/utils/createImages/main.cpp create mode 100644 tests/auto/qpainterpath/.gitignore create mode 100644 tests/auto/qpainterpath/qpainterpath.pro create mode 100644 tests/auto/qpainterpath/tst_qpainterpath.cpp create mode 100644 tests/auto/qpainterpathstroker/.gitignore create mode 100644 tests/auto/qpainterpathstroker/qpainterpathstroker.pro create mode 100644 tests/auto/qpainterpathstroker/tst_qpainterpathstroker.cpp create mode 100644 tests/auto/qpalette/.gitignore create mode 100644 tests/auto/qpalette/qpalette.pro create mode 100644 tests/auto/qpalette/tst_qpalette.cpp create mode 100644 tests/auto/qparallelanimationgroup/qparallelanimationgroup.pro create mode 100644 tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp create mode 100644 tests/auto/qpathclipper/.gitignore create mode 100644 tests/auto/qpathclipper/paths.cpp create mode 100644 tests/auto/qpathclipper/paths.h create mode 100644 tests/auto/qpathclipper/qpathclipper.pro create mode 100644 tests/auto/qpathclipper/tst_qpathclipper.cpp create mode 100644 tests/auto/qpen/.gitignore create mode 100644 tests/auto/qpen/qpen.pro create mode 100644 tests/auto/qpen/tst_qpen.cpp create mode 100644 tests/auto/qpicture/.gitignore create mode 100644 tests/auto/qpicture/qpicture.pro create mode 100644 tests/auto/qpicture/tst_qpicture.cpp create mode 100644 tests/auto/qpixmap/.gitignore create mode 100644 tests/auto/qpixmap/convertFromImage/task31722_0/img1.png create mode 100644 tests/auto/qpixmap/convertFromImage/task31722_0/img2.png create mode 100644 tests/auto/qpixmap/convertFromImage/task31722_1/img1.png create mode 100644 tests/auto/qpixmap/convertFromImage/task31722_1/img2.png create mode 100644 tests/auto/qpixmap/qpixmap.pro create mode 100644 tests/auto/qpixmap/tst_qpixmap.cpp create mode 100644 tests/auto/qpixmapcache/.gitignore create mode 100644 tests/auto/qpixmapcache/qpixmapcache.pro create mode 100644 tests/auto/qpixmapcache/tst_qpixmapcache.cpp create mode 100644 tests/auto/qpixmapfilter/noise.png create mode 100644 tests/auto/qpixmapfilter/qpixmapfilter.pro create mode 100644 tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp create mode 100644 tests/auto/qplaintextedit/.gitignore create mode 100644 tests/auto/qplaintextedit/qplaintextedit.pro create mode 100644 tests/auto/qplaintextedit/tst_qplaintextedit.cpp create mode 100644 tests/auto/qplugin/.gitignore create mode 100644 tests/auto/qplugin/debugplugin/debugplugin.pro create mode 100644 tests/auto/qplugin/debugplugin/main.cpp create mode 100644 tests/auto/qplugin/qplugin.pro create mode 100644 tests/auto/qplugin/releaseplugin/main.cpp create mode 100644 tests/auto/qplugin/releaseplugin/releaseplugin.pro create mode 100644 tests/auto/qplugin/tst_qplugin.cpp create mode 100644 tests/auto/qplugin/tst_qplugin.pro create mode 100644 tests/auto/qpluginloader/.gitignore create mode 100644 tests/auto/qpluginloader/almostplugin/almostplugin.cpp create mode 100644 tests/auto/qpluginloader/almostplugin/almostplugin.h create mode 100644 tests/auto/qpluginloader/almostplugin/almostplugin.pro create mode 100644 tests/auto/qpluginloader/lib/lib.pro create mode 100644 tests/auto/qpluginloader/lib/mylib.c create mode 100644 tests/auto/qpluginloader/qpluginloader.pro create mode 100644 tests/auto/qpluginloader/theplugin/plugininterface.h create mode 100644 tests/auto/qpluginloader/theplugin/theplugin.cpp create mode 100644 tests/auto/qpluginloader/theplugin/theplugin.h create mode 100644 tests/auto/qpluginloader/theplugin/theplugin.pro create mode 100644 tests/auto/qpluginloader/tst/tst.pro create mode 100644 tests/auto/qpluginloader/tst_qpluginloader.cpp create mode 100644 tests/auto/qpoint/.gitignore create mode 100644 tests/auto/qpoint/qpoint.pro create mode 100644 tests/auto/qpoint/tst_qpoint.cpp create mode 100644 tests/auto/qpointarray/.gitignore create mode 100644 tests/auto/qpointarray/qpointarray.pro create mode 100644 tests/auto/qpointarray/tst_qpointarray.cpp create mode 100644 tests/auto/qpointer/.gitignore create mode 100644 tests/auto/qpointer/qpointer.pro create mode 100644 tests/auto/qpointer/tst_qpointer.cpp create mode 100644 tests/auto/qprinter/.gitignore create mode 100644 tests/auto/qprinter/qprinter.pro create mode 100644 tests/auto/qprinter/tst_qprinter.cpp create mode 100644 tests/auto/qprinterinfo/.gitignore create mode 100644 tests/auto/qprinterinfo/qprinterinfo.pro create mode 100644 tests/auto/qprinterinfo/tst_qprinterinfo.cpp create mode 100644 tests/auto/qprocess/.gitignore create mode 100644 tests/auto/qprocess/fileWriterProcess/fileWriterProcess.pro create mode 100644 tests/auto/qprocess/fileWriterProcess/main.cpp create mode 100644 tests/auto/qprocess/qprocess.pro create mode 100644 tests/auto/qprocess/test/test.pro create mode 100755 tests/auto/qprocess/testBatFiles/simple.bat create mode 100755 tests/auto/qprocess/testBatFiles/with space.bat create mode 100644 tests/auto/qprocess/testDetached/main.cpp create mode 100644 tests/auto/qprocess/testDetached/testDetached.pro create mode 100644 tests/auto/qprocess/testExitCodes/main.cpp create mode 100644 tests/auto/qprocess/testExitCodes/testExitCodes.pro create mode 100644 tests/auto/qprocess/testGuiProcess/main.cpp create mode 100644 tests/auto/qprocess/testGuiProcess/testGuiProcess.pro create mode 100644 tests/auto/qprocess/testProcessCrash/main.cpp create mode 100644 tests/auto/qprocess/testProcessCrash/testProcessCrash.pro create mode 100644 tests/auto/qprocess/testProcessDeadWhileReading/main.cpp create mode 100644 tests/auto/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro create mode 100644 tests/auto/qprocess/testProcessEOF/main.cpp create mode 100644 tests/auto/qprocess/testProcessEOF/testProcessEOF.pro create mode 100644 tests/auto/qprocess/testProcessEcho/main.cpp create mode 100644 tests/auto/qprocess/testProcessEcho/testProcessEcho.pro create mode 100644 tests/auto/qprocess/testProcessEcho2/main.cpp create mode 100644 tests/auto/qprocess/testProcessEcho2/testProcessEcho2.pro create mode 100644 tests/auto/qprocess/testProcessEcho3/main.cpp create mode 100644 tests/auto/qprocess/testProcessEcho3/testProcessEcho3.pro create mode 100644 tests/auto/qprocess/testProcessEchoGui/main_win.cpp create mode 100644 tests/auto/qprocess/testProcessEchoGui/testProcessEchoGui.pro create mode 100644 tests/auto/qprocess/testProcessLoopback/main.cpp create mode 100644 tests/auto/qprocess/testProcessLoopback/testProcessLoopback.pro create mode 100644 tests/auto/qprocess/testProcessNormal/main.cpp create mode 100644 tests/auto/qprocess/testProcessNormal/testProcessNormal.pro create mode 100644 tests/auto/qprocess/testProcessOutput/main.cpp create mode 100644 tests/auto/qprocess/testProcessOutput/testProcessOutput.pro create mode 100644 tests/auto/qprocess/testProcessSpacesArgs/main.cpp create mode 100644 tests/auto/qprocess/testProcessSpacesArgs/nospace.pro create mode 100644 tests/auto/qprocess/testProcessSpacesArgs/onespace.pro create mode 100644 tests/auto/qprocess/testProcessSpacesArgs/twospaces.pro create mode 100644 tests/auto/qprocess/testSetWorkingDirectory/main.cpp create mode 100644 tests/auto/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro create mode 100644 tests/auto/qprocess/testSoftExit/main_unix.cpp create mode 100644 tests/auto/qprocess/testSoftExit/main_win.cpp create mode 100644 tests/auto/qprocess/testSoftExit/testSoftExit.pro create mode 100644 tests/auto/qprocess/testSpaceInName/main.cpp create mode 100644 tests/auto/qprocess/testSpaceInName/testSpaceInName.pro create mode 100644 tests/auto/qprocess/tst_qprocess.cpp create mode 100644 tests/auto/qprogressbar/.gitignore create mode 100644 tests/auto/qprogressbar/qprogressbar.pro create mode 100644 tests/auto/qprogressbar/tst_qprogressbar.cpp create mode 100644 tests/auto/qprogressdialog/.gitignore create mode 100644 tests/auto/qprogressdialog/qprogressdialog.pro create mode 100644 tests/auto/qprogressdialog/tst_qprogressdialog.cpp create mode 100644 tests/auto/qpropertyanimation/qpropertyanimation.pro create mode 100644 tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp create mode 100644 tests/auto/qpushbutton/.gitignore create mode 100644 tests/auto/qpushbutton/qpushbutton.pro create mode 100644 tests/auto/qpushbutton/testdata/setEnabled/disabled_Windows_win32_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setEnabled/enabled_Motif_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setEnabled/enabled_Windows_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setEnabled/enabled_Windows_win32_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setPixmap/Vpix_Motif_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setPixmap/Vpix_Windows_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setPixmap/Vpix_Windows_win32_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setText/simple_Motif_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setText/simple_Windows_data0.qsnap create mode 100644 tests/auto/qpushbutton/testdata/setText/simple_Windows_win32_data0.qsnap create mode 100644 tests/auto/qpushbutton/tst_qpushbutton.cpp create mode 100644 tests/auto/qqueue/.gitignore create mode 100644 tests/auto/qqueue/qqueue.pro create mode 100755 tests/auto/qqueue/tst_qqueue.cpp create mode 100644 tests/auto/qradiobutton/.gitignore create mode 100644 tests/auto/qradiobutton/qradiobutton.pro create mode 100644 tests/auto/qradiobutton/tst_qradiobutton.cpp create mode 100644 tests/auto/qrand/.gitignore create mode 100644 tests/auto/qrand/qrand.pro create mode 100644 tests/auto/qrand/tst_qrand.cpp create mode 100644 tests/auto/qreadlocker/.gitignore create mode 100644 tests/auto/qreadlocker/qreadlocker.pro create mode 100644 tests/auto/qreadlocker/tst_qreadlocker.cpp create mode 100644 tests/auto/qreadwritelock/.gitignore create mode 100644 tests/auto/qreadwritelock/qreadwritelock.pro create mode 100644 tests/auto/qreadwritelock/tst_qreadwritelock.cpp create mode 100644 tests/auto/qrect/.gitignore create mode 100644 tests/auto/qrect/qrect.pro create mode 100644 tests/auto/qrect/tst_qrect.cpp create mode 100644 tests/auto/qregexp/.gitignore create mode 100644 tests/auto/qregexp/qregexp.pro create mode 100644 tests/auto/qregexp/tst_qregexp.cpp create mode 100644 tests/auto/qregexpvalidator/.gitignore create mode 100644 tests/auto/qregexpvalidator/qregexpvalidator.pro create mode 100644 tests/auto/qregexpvalidator/tst_qregexpvalidator.cpp create mode 100644 tests/auto/qregion/.gitignore create mode 100644 tests/auto/qregion/qregion.pro create mode 100644 tests/auto/qregion/tst_qregion.cpp create mode 100644 tests/auto/qresourceengine/.gitattributes create mode 100644 tests/auto/qresourceengine/.gitignore create mode 100644 tests/auto/qresourceengine/parentdir.txt create mode 100644 tests/auto/qresourceengine/qresourceengine.pro create mode 100644 tests/auto/qresourceengine/testqrc/aliasdir/aliasdir.txt create mode 100644 tests/auto/qresourceengine/testqrc/aliasdir/compressme.txt create mode 100644 tests/auto/qresourceengine/testqrc/blahblah.txt create mode 100644 tests/auto/qresourceengine/testqrc/currentdir.txt create mode 100644 tests/auto/qresourceengine/testqrc/currentdir2.txt create mode 100644 tests/auto/qresourceengine/testqrc/otherdir/otherdir.txt create mode 100644 tests/auto/qresourceengine/testqrc/search_file.txt create mode 100644 tests/auto/qresourceengine/testqrc/searchpath1/search_file.txt create mode 100644 tests/auto/qresourceengine/testqrc/searchpath2/search_file.txt create mode 100644 tests/auto/qresourceengine/testqrc/subdir/subdir.txt create mode 100644 tests/auto/qresourceengine/testqrc/test.qrc create mode 100644 tests/auto/qresourceengine/testqrc/test/german.txt create mode 100644 tests/auto/qresourceengine/testqrc/test/test/test1.txt create mode 100644 tests/auto/qresourceengine/testqrc/test/test/test2.txt create mode 100644 tests/auto/qresourceengine/testqrc/test/testdir.txt create mode 100644 tests/auto/qresourceengine/testqrc/test/testdir2.txt create mode 100644 tests/auto/qresourceengine/tst_resourceengine.cpp create mode 100644 tests/auto/qscriptable/.gitignore create mode 100644 tests/auto/qscriptable/qscriptable.pro create mode 100644 tests/auto/qscriptable/tst_qscriptable.cpp create mode 100644 tests/auto/qscriptclass/.gitignore create mode 100644 tests/auto/qscriptclass/qscriptclass.pro create mode 100644 tests/auto/qscriptclass/tst_qscriptclass.cpp create mode 100644 tests/auto/qscriptcontext/.gitignore create mode 100644 tests/auto/qscriptcontext/qscriptcontext.pro create mode 100644 tests/auto/qscriptcontext/tst_qscriptcontext.cpp create mode 100644 tests/auto/qscriptcontextinfo/.gitignore create mode 100644 tests/auto/qscriptcontextinfo/qscriptcontextinfo.pro create mode 100644 tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp create mode 100644 tests/auto/qscriptengine/.gitignore create mode 100644 tests/auto/qscriptengine/qscriptengine.pro create mode 100644 tests/auto/qscriptengine/script/com/__init__.js create mode 100644 tests/auto/qscriptengine/script/com/trolltech/__init__.js create mode 100644 tests/auto/qscriptengine/script/com/trolltech/recursive/__init__.js create mode 100644 tests/auto/qscriptengine/script/com/trolltech/syntaxerror/__init__.js create mode 100644 tests/auto/qscriptengine/tst_qscriptengine.cpp create mode 100644 tests/auto/qscriptengineagent/.gitignore create mode 100644 tests/auto/qscriptengineagent/qscriptengineagent.pro create mode 100644 tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp create mode 100644 tests/auto/qscriptenginedebugger/.gitignore create mode 100644 tests/auto/qscriptenginedebugger/qscriptenginedebugger.pro create mode 100644 tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp create mode 100644 tests/auto/qscriptjstestsuite/.gitignore create mode 100644 tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.1.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.1.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.2.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.3.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.5-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.5.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.5.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.5.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/15.4.5.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Array/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.3.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.3.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.2-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.3-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.3-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/15.6.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Boolean/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.1.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.1.1-2.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.1.13-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.2.2-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.1-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.2-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.8-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.8-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.8-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.8-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.3.8-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.4.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-13.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.10-9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.11-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.12-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.13-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.14.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.15.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.16.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.17.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.18.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.19.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.20.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.21-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.22-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-13.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-14.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-15.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-16.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-17.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-18.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.23-9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.24-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.25-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.26-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.27-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.28-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.29-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.3-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.30-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.31-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.32-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.33-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.34-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.35-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.36-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.37-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.37-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.37-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.37-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.37-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.4-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/15.9.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Date/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.3-1.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.4-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.5-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.5-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.8-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.1.8-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.2.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.2.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.2.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.2.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/10.2.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ExecutionContexts/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.10-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.10-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.10-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.12-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.12-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.12-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.12-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.2-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.13.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.14-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.1-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.1-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.1-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-10-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-6-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-7-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-8-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.2-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.3-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.3-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.3-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.2.3-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.3.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.3.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.5.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.5.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.5.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.6.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.6.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.6.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.6.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.6.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.7.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.7.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.7.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.8.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.8.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.8.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.8.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.9.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.9.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.9.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Expressions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.1.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.1.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.1.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.2.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.2.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.3.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.3.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.5.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/15.3.5.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/FunctionObjects/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.1.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.5-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/15.1.2.7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/GlobalObject/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.2-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-13-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.3-9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.1-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.1-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.1-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-10-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-11-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-12-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-13-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-14-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-15-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-16-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-6-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-7-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-8-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.2-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-10-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-11-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-12-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-13-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-14-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-15-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-16-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-6-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-7-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-8-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.4.3-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-10-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-4-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-8-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.5-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.7.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/7.8.2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/LexicalConventions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.6-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.7-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.7-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.8-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.8-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.8-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.13.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.14.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.15.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.16.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.17.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.18.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/15.8.2.9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Math/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/NativeObjects/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/NativeObjects/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.3-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.3-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.4-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.4-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.5-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.5-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.6-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.6-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.6-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.2-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/15.7.4.3-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Number/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.1.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.2.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.2.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/15.2.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/ObjectObjects/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma/README create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/SourceText/6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/SourceText/6-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/SourceText/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/SourceText/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.10-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-8.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.2-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-10.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-19.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-6-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-7-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-8-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.6.3-9-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.7-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.8-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/12.9-1-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Statements/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.10-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.11-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.12-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.12-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.12-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.12-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.12-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.2-2-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.2-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.3-3-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.4-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.4-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.5-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.5-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.5-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.6-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.7-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.7-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.8-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.8-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.8-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.9-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/15.5.5.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/String/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.5-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.8.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.9-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Types/8.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Types/8.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Types/8.6.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Types/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/Types/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/10.1.4-9.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/10.1.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/10.1.8-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/11.6.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/11.6.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/11.6.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/11.6.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.1.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.2.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.2.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.2.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.3.1.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.3.1.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.3.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.3.2.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.3.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.5.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.5.4.2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.5.4.4-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.5.4.5-6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.5.4.7-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.6.3.1-5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.6.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.6.4-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.7.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.7.4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.8-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/15.9.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/8.6.2.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/9.9-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/extensions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/jsref.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma/template.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/boolean-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/boolean-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/date-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/date-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/date-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/date-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-008.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-009.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-010-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/exception-011-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-008.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-009.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-010.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-011.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-012.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-013.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-014.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-015.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-016.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-017.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/expression-019.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/function-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/global-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/global-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-008.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-009.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-010.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-011.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-012.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-013.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-014.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-015.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-016.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-017.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-018.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-019.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-020.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-021.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-022.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-023.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-024.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-025.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-026.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-027.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-028.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-029.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-030.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-031.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-032.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-033.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-034.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-035.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-036.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-037.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-038.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-039.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-040.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-041.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-042.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-047.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-048.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-049.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-050.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-051.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-052.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-053.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/lexical-054.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/number-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/number-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/number-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-008.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/statement-009.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/string-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Exceptions/string-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Expressions/StrictEquality-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Expressions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Expressions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/FunctionObjects/apply-001-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/FunctionObjects/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/FunctionObjects/call-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/FunctionObjects/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/LexicalConventions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/LexicalConventions/keywords-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/LexicalConventions/regexp-literals-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/LexicalConventions/regexp-literals-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/LexicalConventions/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/README create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/constructor-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/exec-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/exec-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/function-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/hex-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/multiline-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/octal-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/octal-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/octal-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/properties-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/properties-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/regexp-enumerate-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/regress-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/RegExp/unicode-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/dowhile-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/forin-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/forin-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/if-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/label-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/label-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/switch-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/switch-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/switch-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/switch-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-005.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-007.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-008.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-009.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-010.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/try-012.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/while-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/while-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/while-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/Statements/while-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/match-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/match-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/match-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/match-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/replace-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/split-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/split-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/String/split-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/constructor-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/function-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-002.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-003-n.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-004-n.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-005-n.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/instanceof-006.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/extensions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/instanceof-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/instanceof-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/instanceof-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/regress-7635.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/instanceof/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/jsref.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_2/template.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/15.4.4.11-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/15.4.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/15.4.4.4-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/15.4.5.1-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-101488.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-130451.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-322135-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-322135-02.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-322135-03.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-322135-04.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-387501.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-421325.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/regress-430717.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Array/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.1.2-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.3.2-1.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.4.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.4.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.5-02.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.5.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.6.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/15.9.5.7.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Date/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/15.11.1.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/15.11.4.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/15.11.7.6-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/15.11.7.6-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/15.11.7.6-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/binding-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/regress-181654.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/regress-181914.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/regress-58946.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/regress-95101.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Exceptions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/10.1.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/10.1.3-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/10.1.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/10.1.4-1.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/10.6.1-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/regress-23346.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/regress-448595-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/ExecutionContexts/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.10-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.10-02.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.10-03.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.6.1-1.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.7.1-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.7.2-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.7.3-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/11.9.6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Expressions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/FunExpr/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/FunExpr/fe-001-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/FunExpr/fe-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/FunExpr/fe-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/FunExpr/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/15.3.4.3-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/15.3.4.4-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/arguments-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/arguments-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/call-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-131964.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-137181.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-193555.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-313570.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-49286.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-58274.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-85880.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-94506.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/regress-97921.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/scope-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/scope-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Function/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/LexicalConventions/7.9.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/LexicalConventions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/LexicalConventions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.2-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.3-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.3-02.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.5-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.6-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.7-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/15.7.4.7-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/regress-442242-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Number/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/NumberFormatting/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/NumberFormatting/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/NumberFormatting/tostring-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/8.6.1-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/8.6.2.6-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/class-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/class-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/class-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/class-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/class-005.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/regress-361274.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/regress-385393-07.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/regress-72773.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/regress-79129-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Object/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/11.13.1-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/11.13.1-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/11.4.1-001.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/11.4.1-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/order-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Operators/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/README create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.2-1.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.2.12.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.3.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.3.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.4.1-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.4.1-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.4.1-3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.4.1-4.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.4.1-5-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.6.2-1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/15.10.6.2-2.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/octal-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/octal-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/perlstress-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/perlstress-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-100199.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-105972.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-119909.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-122076.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-123437.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-165353.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-169497.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-169534.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-187133.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-188206.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-191479.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-202564.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-209067.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-209919.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-216591.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-220367-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-223273.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-223535.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-224676.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-225289.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-225343.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-24712.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-285219.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-28686.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-289669.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-307456.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-309840.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-311414.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-312351.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-31316.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-330684.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-334158.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-346090.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-367888.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375642.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375711.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375715-01-n.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375715-02.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375715-03.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-375715-04.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-57572.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-57631.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-67773.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-72964.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-76683.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-78156.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-85721.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-87231.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/regress-98306.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/RegExp/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/regress-385393-04.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/regress-419152.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/regress-420087.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/regress-420610.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/regress-441477-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Regress/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/12.6.3.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-121744.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-131348.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-157509.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-194364.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-226517.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-302439.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-324650.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-74474-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-74474-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-74474-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-83532-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/regress-83532-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Statements/switch-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/15.5.4.11.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/15.5.4.14.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-104375.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-189898.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-304376.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-313567.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-392378.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/regress-83293.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/String/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/regress-352044-01.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/regress-352044-02-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-001-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-001.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-002-n.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-003.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-004.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/Unicode/uc-005.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/browser.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/10.1.3-2.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/7.9.1.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/browser.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-103087.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-188206-01.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-188206-02.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-220367-002.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-228087.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-274152.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-320854.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-327170.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-368516.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-385393-03.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-429248.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/regress-430740.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/extensions/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tests/ecma_3/shell.js create mode 100755 tests/auto/qscriptjstestsuite/tests/ecma_3/template.js create mode 100644 tests/auto/qscriptjstestsuite/tests/shell.js create mode 100644 tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp create mode 100644 tests/auto/qscriptqobject/.gitignore create mode 100644 tests/auto/qscriptqobject/qscriptqobject.pro create mode 100644 tests/auto/qscriptqobject/tst_qscriptqobject.cpp create mode 100644 tests/auto/qscriptstring/.gitignore create mode 100644 tests/auto/qscriptstring/qscriptstring.pro create mode 100644 tests/auto/qscriptstring/tst_qscriptstring.cpp create mode 100644 tests/auto/qscriptv8testsuite/qscriptv8testsuite.pro create mode 100644 tests/auto/qscriptv8testsuite/tests/apply.js create mode 100644 tests/auto/qscriptv8testsuite/tests/arguments-call-apply.js create mode 100644 tests/auto/qscriptv8testsuite/tests/arguments-enum.js create mode 100644 tests/auto/qscriptv8testsuite/tests/arguments-indirect.js create mode 100644 tests/auto/qscriptv8testsuite/tests/arguments-opt.js create mode 100644 tests/auto/qscriptv8testsuite/tests/arguments.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-concat.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-functions-prototype.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-indexing.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-iteration.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-join.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-length.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-sort.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-splice-webkit.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array-splice.js create mode 100644 tests/auto/qscriptv8testsuite/tests/array_length.js create mode 100644 tests/auto/qscriptv8testsuite/tests/ascii-regexp-subject.js create mode 100644 tests/auto/qscriptv8testsuite/tests/binary-operation-overwrite.js create mode 100644 tests/auto/qscriptv8testsuite/tests/body-not-visible.js create mode 100644 tests/auto/qscriptv8testsuite/tests/call-non-function-call.js create mode 100644 tests/auto/qscriptv8testsuite/tests/call-non-function.js create mode 100644 tests/auto/qscriptv8testsuite/tests/call.js create mode 100644 tests/auto/qscriptv8testsuite/tests/char-escape.js create mode 100644 tests/auto/qscriptv8testsuite/tests/class-of-builtins.js create mode 100644 tests/auto/qscriptv8testsuite/tests/closure.js create mode 100644 tests/auto/qscriptv8testsuite/tests/compare-nan.js create mode 100644 tests/auto/qscriptv8testsuite/tests/const-redecl.js create mode 100644 tests/auto/qscriptv8testsuite/tests/const.js create mode 100644 tests/auto/qscriptv8testsuite/tests/cyclic-array-to-string.js create mode 100644 tests/auto/qscriptv8testsuite/tests/date-parse.js create mode 100644 tests/auto/qscriptv8testsuite/tests/date.js create mode 100644 tests/auto/qscriptv8testsuite/tests/declare-locally.js create mode 100644 tests/auto/qscriptv8testsuite/tests/deep-recursion.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delay-syntax-error.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delete-global-properties.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delete-in-eval.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delete-in-with.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delete-vars-from-eval.js create mode 100644 tests/auto/qscriptv8testsuite/tests/delete.js create mode 100644 tests/auto/qscriptv8testsuite/tests/do-not-strip-fc.js create mode 100644 tests/auto/qscriptv8testsuite/tests/dont-enum-array-holes.js create mode 100644 tests/auto/qscriptv8testsuite/tests/dont-reinit-global-var.js create mode 100644 tests/auto/qscriptv8testsuite/tests/double-equals.js create mode 100644 tests/auto/qscriptv8testsuite/tests/dtoa.js create mode 100644 tests/auto/qscriptv8testsuite/tests/enumeration_order.js create mode 100644 tests/auto/qscriptv8testsuite/tests/escape.js create mode 100644 tests/auto/qscriptv8testsuite/tests/eval-typeof-non-existing.js create mode 100644 tests/auto/qscriptv8testsuite/tests/execScript-case-insensitive.js create mode 100644 tests/auto/qscriptv8testsuite/tests/extra-arguments.js create mode 100644 tests/auto/qscriptv8testsuite/tests/extra-commas.js create mode 100644 tests/auto/qscriptv8testsuite/tests/for-in-null-or-undefined.js create mode 100644 tests/auto/qscriptv8testsuite/tests/for-in-special-cases.js create mode 100644 tests/auto/qscriptv8testsuite/tests/for-in.js create mode 100644 tests/auto/qscriptv8testsuite/tests/fun-as-prototype.js create mode 100644 tests/auto/qscriptv8testsuite/tests/fun_name.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function-arguments-null.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function-caller.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function-property.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function-prototype.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function-source.js create mode 100644 tests/auto/qscriptv8testsuite/tests/function.js create mode 100644 tests/auto/qscriptv8testsuite/tests/fuzz-accessors.js create mode 100644 tests/auto/qscriptv8testsuite/tests/getter-in-value-prototype.js create mode 100644 tests/auto/qscriptv8testsuite/tests/global-const-var-conflicts.js create mode 100644 tests/auto/qscriptv8testsuite/tests/global-vars-eval.js create mode 100644 tests/auto/qscriptv8testsuite/tests/global-vars-with.js create mode 100644 tests/auto/qscriptv8testsuite/tests/has-own-property.js create mode 100644 tests/auto/qscriptv8testsuite/tests/html-comments.js create mode 100644 tests/auto/qscriptv8testsuite/tests/html-string-funcs.js create mode 100644 tests/auto/qscriptv8testsuite/tests/if-in-undefined.js create mode 100644 tests/auto/qscriptv8testsuite/tests/in.js create mode 100644 tests/auto/qscriptv8testsuite/tests/instanceof.js create mode 100644 tests/auto/qscriptv8testsuite/tests/integer-to-string.js create mode 100644 tests/auto/qscriptv8testsuite/tests/invalid-lhs.js create mode 100644 tests/auto/qscriptv8testsuite/tests/keyed-ic.js create mode 100644 tests/auto/qscriptv8testsuite/tests/large-object-literal.js create mode 100644 tests/auto/qscriptv8testsuite/tests/lazy-load.js create mode 100644 tests/auto/qscriptv8testsuite/tests/length.js create mode 100644 tests/auto/qscriptv8testsuite/tests/math-min-max.js create mode 100644 tests/auto/qscriptv8testsuite/tests/megamorphic-callbacks.js create mode 100644 tests/auto/qscriptv8testsuite/tests/mjsunit.js create mode 100644 tests/auto/qscriptv8testsuite/tests/mul-exhaustive.js create mode 100644 tests/auto/qscriptv8testsuite/tests/negate-zero.js create mode 100644 tests/auto/qscriptv8testsuite/tests/negate.js create mode 100644 tests/auto/qscriptv8testsuite/tests/nested-repetition-count-overflow.js create mode 100644 tests/auto/qscriptv8testsuite/tests/new.js create mode 100644 tests/auto/qscriptv8testsuite/tests/newline-in-string.js create mode 100644 tests/auto/qscriptv8testsuite/tests/no-branch-elimination.js create mode 100644 tests/auto/qscriptv8testsuite/tests/no-octal-constants-above-256.js create mode 100644 tests/auto/qscriptv8testsuite/tests/no-semicolon.js create mode 100644 tests/auto/qscriptv8testsuite/tests/non-ascii-replace.js create mode 100644 tests/auto/qscriptv8testsuite/tests/nul-characters.js create mode 100644 tests/auto/qscriptv8testsuite/tests/number-limits.js create mode 100644 tests/auto/qscriptv8testsuite/tests/number-tostring.js create mode 100644 tests/auto/qscriptv8testsuite/tests/obj-construct.js create mode 100644 tests/auto/qscriptv8testsuite/tests/parse-int-float.js create mode 100644 tests/auto/qscriptv8testsuite/tests/property-object-key.js create mode 100644 tests/auto/qscriptv8testsuite/tests/proto.js create mode 100644 tests/auto/qscriptv8testsuite/tests/prototype.js create mode 100644 tests/auto/qscriptv8testsuite/tests/regexp-multiline-stack-trace.js create mode 100644 tests/auto/qscriptv8testsuite/tests/regexp-multiline.js create mode 100644 tests/auto/qscriptv8testsuite/tests/regexp-standalones.js create mode 100644 tests/auto/qscriptv8testsuite/tests/regexp-static.js create mode 100644 tests/auto/qscriptv8testsuite/tests/regexp.js create mode 100644 tests/auto/qscriptv8testsuite/tests/scanner.js create mode 100644 tests/auto/qscriptv8testsuite/tests/smi-negative-zero.js create mode 100644 tests/auto/qscriptv8testsuite/tests/smi-ops.js create mode 100644 tests/auto/qscriptv8testsuite/tests/sparse-array-reverse.js create mode 100644 tests/auto/qscriptv8testsuite/tests/sparse-array.js create mode 100644 tests/auto/qscriptv8testsuite/tests/str-to-num.js create mode 100644 tests/auto/qscriptv8testsuite/tests/stress-array-push.js create mode 100644 tests/auto/qscriptv8testsuite/tests/strict-equals.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-case.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-charat.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-charcodeat.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-flatten.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-index.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-indexof.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-lastindexof.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-localecompare.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-search.js create mode 100644 tests/auto/qscriptv8testsuite/tests/string-split.js create mode 100644 tests/auto/qscriptv8testsuite/tests/substr.js create mode 100644 tests/auto/qscriptv8testsuite/tests/this-in-callbacks.js create mode 100644 tests/auto/qscriptv8testsuite/tests/this.js create mode 100644 tests/auto/qscriptv8testsuite/tests/throw-exception-for-null-access.js create mode 100644 tests/auto/qscriptv8testsuite/tests/to-precision.js create mode 100644 tests/auto/qscriptv8testsuite/tests/tobool.js create mode 100644 tests/auto/qscriptv8testsuite/tests/toint32.js create mode 100644 tests/auto/qscriptv8testsuite/tests/touint32.js create mode 100644 tests/auto/qscriptv8testsuite/tests/try-finally-nested.js create mode 100644 tests/auto/qscriptv8testsuite/tests/try.js create mode 100644 tests/auto/qscriptv8testsuite/tests/try_catch_scopes.js create mode 100644 tests/auto/qscriptv8testsuite/tests/unicode-string-to-number.js create mode 100644 tests/auto/qscriptv8testsuite/tests/unicode-test.js create mode 100644 tests/auto/qscriptv8testsuite/tests/unusual-constructor.js create mode 100644 tests/auto/qscriptv8testsuite/tests/uri.js create mode 100644 tests/auto/qscriptv8testsuite/tests/value-callic-prototype-change.js create mode 100644 tests/auto/qscriptv8testsuite/tests/var.js create mode 100644 tests/auto/qscriptv8testsuite/tests/with-leave.js create mode 100644 tests/auto/qscriptv8testsuite/tests/with-parameter-access.js create mode 100644 tests/auto/qscriptv8testsuite/tests/with-value.js create mode 100644 tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp create mode 100644 tests/auto/qscriptvalue/.gitignore create mode 100644 tests/auto/qscriptvalue/qscriptvalue.pro create mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue.cpp create mode 100644 tests/auto/qscriptvalueiterator/.gitignore create mode 100644 tests/auto/qscriptvalueiterator/qscriptvalueiterator.pro create mode 100644 tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp create mode 100644 tests/auto/qscrollarea/.gitignore create mode 100644 tests/auto/qscrollarea/qscrollarea.pro create mode 100644 tests/auto/qscrollarea/tst_qscrollarea.cpp create mode 100644 tests/auto/qscrollbar/.gitignore create mode 100644 tests/auto/qscrollbar/qscrollbar.pro create mode 100644 tests/auto/qscrollbar/tst_qscrollbar.cpp create mode 100644 tests/auto/qsemaphore/.gitignore create mode 100644 tests/auto/qsemaphore/qsemaphore.pro create mode 100644 tests/auto/qsemaphore/tst_qsemaphore.cpp create mode 100644 tests/auto/qsequentialanimationgroup/qsequentialanimationgroup.pro create mode 100644 tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp create mode 100644 tests/auto/qset/.gitignore create mode 100644 tests/auto/qset/qset.pro create mode 100644 tests/auto/qset/tst_qset.cpp create mode 100644 tests/auto/qsettings/.gitignore create mode 100644 tests/auto/qsettings/qsettings.pro create mode 100644 tests/auto/qsettings/qsettings.qrc create mode 100644 tests/auto/qsettings/resourcefile.ini create mode 100644 tests/auto/qsettings/resourcefile2.ini create mode 100644 tests/auto/qsettings/resourcefile3.ini create mode 100644 tests/auto/qsettings/resourcefile4.ini create mode 100644 tests/auto/qsettings/resourcefile5.ini create mode 100644 tests/auto/qsettings/tst_qsettings.cpp create mode 100644 tests/auto/qsharedmemory/.gitignore create mode 100644 tests/auto/qsharedmemory/lackey/lackey.pro create mode 100644 tests/auto/qsharedmemory/lackey/main.cpp create mode 100644 tests/auto/qsharedmemory/lackey/scripts/consumer.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/producer.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/readonly_segfault.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/systemlock_read.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/systemlock_readwrite.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/systemsemaphore_acquire.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/systemsemaphore_acquirerelease.js create mode 100644 tests/auto/qsharedmemory/lackey/scripts/systemsemaphore_release.js create mode 100644 tests/auto/qsharedmemory/qsharedmemory.pro create mode 100644 tests/auto/qsharedmemory/qsystemlock/qsystemlock.pro create mode 100644 tests/auto/qsharedmemory/qsystemlock/tst_qsystemlock.cpp create mode 100644 tests/auto/qsharedmemory/src/qsystemlock.cpp create mode 100644 tests/auto/qsharedmemory/src/qsystemlock.h create mode 100644 tests/auto/qsharedmemory/src/qsystemlock_p.h create mode 100644 tests/auto/qsharedmemory/src/qsystemlock_unix.cpp create mode 100644 tests/auto/qsharedmemory/src/qsystemlock_win.cpp create mode 100644 tests/auto/qsharedmemory/src/src.pri create mode 100644 tests/auto/qsharedmemory/test/test.pro create mode 100644 tests/auto/qsharedmemory/tst_qsharedmemory.cpp create mode 100644 tests/auto/qsharedpointer/.gitignore create mode 100644 tests/auto/qsharedpointer/externaltests.cpp create mode 100644 tests/auto/qsharedpointer/externaltests.h create mode 100644 tests/auto/qsharedpointer/externaltests.pri create mode 100644 tests/auto/qsharedpointer/qsharedpointer.pro create mode 100644 tests/auto/qsharedpointer/tst_qsharedpointer.cpp create mode 100644 tests/auto/qshortcut/.gitignore create mode 100644 tests/auto/qshortcut/qshortcut.pro create mode 100644 tests/auto/qshortcut/tst_qshortcut.cpp create mode 100644 tests/auto/qsidebar/.gitignore create mode 100644 tests/auto/qsidebar/qsidebar.pro create mode 100644 tests/auto/qsidebar/tst_qsidebar.cpp create mode 100644 tests/auto/qsignalmapper/.gitignore create mode 100644 tests/auto/qsignalmapper/qsignalmapper.pro create mode 100644 tests/auto/qsignalmapper/tst_qsignalmapper.cpp create mode 100644 tests/auto/qsignalspy/.gitignore create mode 100644 tests/auto/qsignalspy/qsignalspy.pro create mode 100644 tests/auto/qsignalspy/tst_qsignalspy.cpp create mode 100644 tests/auto/qsimplexmlnodemodel/.gitignore create mode 100644 tests/auto/qsimplexmlnodemodel/TestSimpleNodeModel.h create mode 100644 tests/auto/qsimplexmlnodemodel/qsimplexmlnodemodel.pro create mode 100644 tests/auto/qsimplexmlnodemodel/tst_qsimplexmlnodemodel.cpp create mode 100644 tests/auto/qsize/.gitignore create mode 100644 tests/auto/qsize/qsize.pro create mode 100644 tests/auto/qsize/tst_qsize.cpp create mode 100644 tests/auto/qsizef/.gitignore create mode 100644 tests/auto/qsizef/qsizef.pro create mode 100644 tests/auto/qsizef/tst_qsizef.cpp create mode 100644 tests/auto/qsizegrip/.gitignore create mode 100644 tests/auto/qsizegrip/qsizegrip.pro create mode 100644 tests/auto/qsizegrip/tst_qsizegrip.cpp create mode 100644 tests/auto/qslider/.gitignore create mode 100644 tests/auto/qslider/qslider.pro create mode 100644 tests/auto/qslider/tst_qslider.cpp create mode 100644 tests/auto/qsocketnotifier/.gitignore create mode 100644 tests/auto/qsocketnotifier/qsocketnotifier.pro create mode 100644 tests/auto/qsocketnotifier/tst_qsocketnotifier.cpp create mode 100644 tests/auto/qsocks5socketengine/.gitignore create mode 100644 tests/auto/qsocks5socketengine/qsocks5socketengine.pro create mode 100644 tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp create mode 100644 tests/auto/qsortfilterproxymodel/.gitignore create mode 100644 tests/auto/qsortfilterproxymodel/qsortfilterproxymodel.pro create mode 100644 tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp create mode 100644 tests/auto/qsound/.gitignore create mode 100644 tests/auto/qsound/4.wav create mode 100644 tests/auto/qsound/qsound.pro create mode 100644 tests/auto/qsound/tst_qsound.cpp create mode 100644 tests/auto/qsourcelocation/.gitignore create mode 100644 tests/auto/qsourcelocation/qsourcelocation.pro create mode 100644 tests/auto/qsourcelocation/tst_qsourcelocation.cpp create mode 100644 tests/auto/qspinbox/.gitignore create mode 100644 tests/auto/qspinbox/qspinbox.pro create mode 100644 tests/auto/qspinbox/tst_qspinbox.cpp create mode 100644 tests/auto/qsplitter/.gitignore create mode 100644 tests/auto/qsplitter/extradata.txt create mode 100644 tests/auto/qsplitter/qsplitter.pro create mode 100644 tests/auto/qsplitter/setSizes3.dat create mode 100644 tests/auto/qsplitter/tst_qsplitter.cpp create mode 100644 tests/auto/qsql/.gitignore create mode 100644 tests/auto/qsql/qsql.pro create mode 100644 tests/auto/qsql/tst_qsql.cpp create mode 100644 tests/auto/qsqldatabase/.gitignore create mode 100644 tests/auto/qsqldatabase/qsqldatabase.pro create mode 100755 tests/auto/qsqldatabase/testdata/qtest.mdb create mode 100644 tests/auto/qsqldatabase/tst_databases.h create mode 100644 tests/auto/qsqldatabase/tst_qsqldatabase.cpp create mode 100644 tests/auto/qsqlerror/.gitignore create mode 100644 tests/auto/qsqlerror/qsqlerror.pro create mode 100644 tests/auto/qsqlerror/tst_qsqlerror.cpp create mode 100644 tests/auto/qsqlfield/.gitignore create mode 100644 tests/auto/qsqlfield/qsqlfield.pro create mode 100644 tests/auto/qsqlfield/tst_qsqlfield.cpp create mode 100644 tests/auto/qsqlquery/.gitignore create mode 100644 tests/auto/qsqlquery/qsqlquery.pro create mode 100644 tests/auto/qsqlquery/tst_qsqlquery.cpp create mode 100644 tests/auto/qsqlquerymodel/.gitignore create mode 100644 tests/auto/qsqlquerymodel/qsqlquerymodel.pro create mode 100644 tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp create mode 100644 tests/auto/qsqlrecord/.gitignore create mode 100644 tests/auto/qsqlrecord/qsqlrecord.pro create mode 100644 tests/auto/qsqlrecord/tst_qsqlrecord.cpp create mode 100644 tests/auto/qsqlrelationaltablemodel/.gitignore create mode 100644 tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro create mode 100644 tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp create mode 100644 tests/auto/qsqltablemodel/.gitignore create mode 100644 tests/auto/qsqltablemodel/qsqltablemodel.pro create mode 100644 tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp create mode 100644 tests/auto/qsqlthread/.gitignore create mode 100644 tests/auto/qsqlthread/qsqlthread.pro create mode 100644 tests/auto/qsqlthread/tst_qsqlthread.cpp create mode 100644 tests/auto/qsslcertificate/.gitignore create mode 100644 tests/auto/qsslcertificate/certificates/ca-cert.pem create mode 100644 tests/auto/qsslcertificate/certificates/ca-cert.pem.digest-md5 create mode 100644 tests/auto/qsslcertificate/certificates/ca-cert.pem.digest-sha1 create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss-san.pem create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss-san.pem.san create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.der create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.der.pubkey create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.pem create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.pem.digest-md5 create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.pem.digest-sha1 create mode 100644 tests/auto/qsslcertificate/certificates/cert-ss.pem.pubkey create mode 100644 tests/auto/qsslcertificate/certificates/cert.der create mode 100644 tests/auto/qsslcertificate/certificates/cert.der.pubkey create mode 100644 tests/auto/qsslcertificate/certificates/cert.pem create mode 100644 tests/auto/qsslcertificate/certificates/cert.pem.digest-md5 create mode 100644 tests/auto/qsslcertificate/certificates/cert.pem.digest-sha1 create mode 100644 tests/auto/qsslcertificate/certificates/cert.pem.pubkey create mode 100755 tests/auto/qsslcertificate/certificates/gencertificates.sh create mode 100644 tests/auto/qsslcertificate/certificates/san.cnf create mode 100644 tests/auto/qsslcertificate/more-certificates/trailing-whitespace.pem create mode 100644 tests/auto/qsslcertificate/qsslcertificate.pro create mode 100644 tests/auto/qsslcertificate/tst_qsslcertificate.cpp create mode 100644 tests/auto/qsslcipher/.gitignore create mode 100644 tests/auto/qsslcipher/qsslcipher.pro create mode 100644 tests/auto/qsslcipher/tst_qsslcipher.cpp create mode 100644 tests/auto/qsslerror/.gitignore create mode 100644 tests/auto/qsslerror/qsslerror.pro create mode 100644 tests/auto/qsslerror/tst_qsslerror.cpp create mode 100644 tests/auto/qsslkey/.gitignore create mode 100644 tests/auto/qsslkey/keys/dsa-pri-1024.der create mode 100644 tests/auto/qsslkey/keys/dsa-pri-1024.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pri-512.der create mode 100644 tests/auto/qsslkey/keys/dsa-pri-512.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pri-576.der create mode 100644 tests/auto/qsslkey/keys/dsa-pri-576.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pri-960.der create mode 100644 tests/auto/qsslkey/keys/dsa-pri-960.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pub-1024.der create mode 100644 tests/auto/qsslkey/keys/dsa-pub-1024.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pub-512.der create mode 100644 tests/auto/qsslkey/keys/dsa-pub-512.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pub-576.der create mode 100644 tests/auto/qsslkey/keys/dsa-pub-576.pem create mode 100644 tests/auto/qsslkey/keys/dsa-pub-960.der create mode 100644 tests/auto/qsslkey/keys/dsa-pub-960.pem create mode 100755 tests/auto/qsslkey/keys/genkeys.sh create mode 100644 tests/auto/qsslkey/keys/rsa-pri-1023.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-1023.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-1024.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-1024.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-2048.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-2048.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-40.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-40.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-511.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-511.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-512.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-512.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pri-999.der create mode 100644 tests/auto/qsslkey/keys/rsa-pri-999.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-1023.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-1023.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-1024.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-1024.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-2048.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-2048.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-40.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-40.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-511.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-511.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-512.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-512.pem create mode 100644 tests/auto/qsslkey/keys/rsa-pub-999.der create mode 100644 tests/auto/qsslkey/keys/rsa-pub-999.pem create mode 100644 tests/auto/qsslkey/qsslkey.pro create mode 100644 tests/auto/qsslkey/tst_qsslkey.cpp create mode 100644 tests/auto/qsslsocket/.gitignore create mode 100644 tests/auto/qsslsocket/certs/fluke.cert create mode 100644 tests/auto/qsslsocket/certs/fluke.key create mode 100644 tests/auto/qsslsocket/certs/qt-test-server-cacert.pem create mode 100644 tests/auto/qsslsocket/qsslsocket.pro create mode 100644 tests/auto/qsslsocket/ssl.tar.gz create mode 100644 tests/auto/qsslsocket/tst_qsslsocket.cpp create mode 100644 tests/auto/qstackedlayout/.gitignore create mode 100644 tests/auto/qstackedlayout/qstackedlayout.pro create mode 100644 tests/auto/qstackedlayout/tst_qstackedlayout.cpp create mode 100644 tests/auto/qstackedwidget/.gitignore create mode 100644 tests/auto/qstackedwidget/qstackedwidget.pro create mode 100644 tests/auto/qstackedwidget/tst_qstackedwidget.cpp create mode 100644 tests/auto/qstandarditem/.gitignore create mode 100644 tests/auto/qstandarditem/qstandarditem.pro create mode 100644 tests/auto/qstandarditem/tst_qstandarditem.cpp create mode 100644 tests/auto/qstandarditemmodel/.gitignore create mode 100644 tests/auto/qstandarditemmodel/qstandarditemmodel.pro create mode 100644 tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp create mode 100644 tests/auto/qstate/qstate.pro create mode 100644 tests/auto/qstate/tst_qstate.cpp create mode 100644 tests/auto/qstatemachine/qstatemachine.pro create mode 100644 tests/auto/qstatemachine/tst_qstatemachine.cpp create mode 100644 tests/auto/qstatusbar/.gitignore create mode 100644 tests/auto/qstatusbar/qstatusbar.pro create mode 100644 tests/auto/qstatusbar/tst_qstatusbar.cpp create mode 100644 tests/auto/qstl/.gitignore create mode 100644 tests/auto/qstl/qstl.pro create mode 100644 tests/auto/qstl/tst_qstl.cpp create mode 100644 tests/auto/qstring/.gitignore create mode 100644 tests/auto/qstring/double_data.h create mode 100644 tests/auto/qstring/qstring.pro create mode 100644 tests/auto/qstring/tst_qstring.cpp create mode 100644 tests/auto/qstringlist/.gitignore create mode 100644 tests/auto/qstringlist/qstringlist.pro create mode 100644 tests/auto/qstringlist/tst_qstringlist.cpp create mode 100644 tests/auto/qstringlistmodel/.gitignore create mode 100644 tests/auto/qstringlistmodel/qmodellistener.h create mode 100644 tests/auto/qstringlistmodel/qstringlistmodel.pro create mode 100644 tests/auto/qstringlistmodel/tst_qstringlistmodel.cpp create mode 100644 tests/auto/qstringmatcher/.gitignore create mode 100644 tests/auto/qstringmatcher/qstringmatcher.pro create mode 100644 tests/auto/qstringmatcher/tst_qstringmatcher.cpp create mode 100644 tests/auto/qstyle/.gitignore create mode 100644 tests/auto/qstyle/images/mac/button.png create mode 100644 tests/auto/qstyle/images/mac/combobox.png create mode 100644 tests/auto/qstyle/images/mac/lineedit.png create mode 100644 tests/auto/qstyle/images/mac/mdi.png create mode 100644 tests/auto/qstyle/images/mac/menu.png create mode 100644 tests/auto/qstyle/images/mac/radiobutton.png create mode 100644 tests/auto/qstyle/images/mac/slider.png create mode 100644 tests/auto/qstyle/images/mac/spinbox.png create mode 100644 tests/auto/qstyle/images/vista/button.png create mode 100644 tests/auto/qstyle/images/vista/combobox.png create mode 100644 tests/auto/qstyle/images/vista/lineedit.png create mode 100644 tests/auto/qstyle/images/vista/menu.png create mode 100644 tests/auto/qstyle/images/vista/radiobutton.png create mode 100644 tests/auto/qstyle/images/vista/slider.png create mode 100644 tests/auto/qstyle/images/vista/spinbox.png create mode 100644 tests/auto/qstyle/qstyle.pro create mode 100644 tests/auto/qstyle/task_25863.png create mode 100644 tests/auto/qstyle/tst_qstyle.cpp create mode 100644 tests/auto/qstyleoption/.gitignore create mode 100644 tests/auto/qstyleoption/qstyleoption.pro create mode 100644 tests/auto/qstyleoption/tst_qstyleoption.cpp create mode 100644 tests/auto/qstylesheetstyle/.gitignore create mode 100644 tests/auto/qstylesheetstyle/images/testimage.png create mode 100644 tests/auto/qstylesheetstyle/qstylesheetstyle.pro create mode 100644 tests/auto/qstylesheetstyle/resources.qrc create mode 100644 tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp create mode 100644 tests/auto/qsvgdevice/.gitignore create mode 100644 tests/auto/qsvgdevice/qsvgdevice.pro create mode 100644 tests/auto/qsvgdevice/tst_qsvgdevice.cpp create mode 100644 tests/auto/qsvggenerator/.gitignore create mode 100644 tests/auto/qsvggenerator/qsvggenerator.pro create mode 100644 tests/auto/qsvggenerator/referenceSvgs/fileName_output.svg create mode 100644 tests/auto/qsvggenerator/referenceSvgs/radial_gradient.svg create mode 100644 tests/auto/qsvggenerator/tst_qsvggenerator.cpp create mode 100644 tests/auto/qsvgrenderer/.gitattributes create mode 100644 tests/auto/qsvgrenderer/.gitignore create mode 100644 tests/auto/qsvgrenderer/heart.svgz create mode 100644 tests/auto/qsvgrenderer/large.svg create mode 100644 tests/auto/qsvgrenderer/large.svgz create mode 100644 tests/auto/qsvgrenderer/qsvgrenderer.pro create mode 100644 tests/auto/qsvgrenderer/resources.qrc create mode 100644 tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp create mode 100644 tests/auto/qsyntaxhighlighter/.gitignore create mode 100644 tests/auto/qsyntaxhighlighter/qsyntaxhighlighter.pro create mode 100644 tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp create mode 100644 tests/auto/qsysinfo/.gitignore create mode 100644 tests/auto/qsysinfo/qsysinfo.pro create mode 100644 tests/auto/qsysinfo/tst_qsysinfo.cpp create mode 100644 tests/auto/qsystemsemaphore/.gitignore create mode 100644 tests/auto/qsystemsemaphore/files.qrc create mode 100644 tests/auto/qsystemsemaphore/qsystemsemaphore.pro create mode 100644 tests/auto/qsystemsemaphore/test/test.pro create mode 100644 tests/auto/qsystemsemaphore/tst_qsystemsemaphore.cpp create mode 100644 tests/auto/qsystemtrayicon/.gitignore create mode 100644 tests/auto/qsystemtrayicon/icons/icon.png create mode 100644 tests/auto/qsystemtrayicon/qsystemtrayicon.pro create mode 100644 tests/auto/qsystemtrayicon/tst_qsystemtrayicon.cpp create mode 100644 tests/auto/qtabbar/.gitignore create mode 100644 tests/auto/qtabbar/qtabbar.pro create mode 100644 tests/auto/qtabbar/tst_qtabbar.cpp create mode 100644 tests/auto/qtableview/.gitignore create mode 100644 tests/auto/qtableview/qtableview.pro create mode 100644 tests/auto/qtableview/tst_qtableview.cpp create mode 100644 tests/auto/qtablewidget/.gitignore create mode 100644 tests/auto/qtablewidget/qtablewidget.pro create mode 100644 tests/auto/qtablewidget/tst_qtablewidget.cpp create mode 100644 tests/auto/qtabwidget/.gitignore create mode 100644 tests/auto/qtabwidget/qtabwidget.pro create mode 100644 tests/auto/qtabwidget/tst_qtabwidget.cpp create mode 100644 tests/auto/qtconcurrentfilter/.gitignore create mode 100644 tests/auto/qtconcurrentfilter/qtconcurrentfilter.pro create mode 100644 tests/auto/qtconcurrentfilter/tst_qtconcurrentfilter.cpp create mode 100644 tests/auto/qtconcurrentiteratekernel/.gitignore create mode 100644 tests/auto/qtconcurrentiteratekernel/qtconcurrentiteratekernel.pro create mode 100644 tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp create mode 100644 tests/auto/qtconcurrentmap/.gitignore create mode 100644 tests/auto/qtconcurrentmap/functions.h create mode 100644 tests/auto/qtconcurrentmap/qtconcurrentmap.pro create mode 100644 tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp create mode 100644 tests/auto/qtconcurrentrun/.gitignore create mode 100644 tests/auto/qtconcurrentrun/qtconcurrentrun.pro create mode 100644 tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp create mode 100644 tests/auto/qtconcurrentthreadengine/.gitignore create mode 100644 tests/auto/qtconcurrentthreadengine/qtconcurrentthreadengine.pro create mode 100644 tests/auto/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp create mode 100644 tests/auto/qtcpserver/.gitignore create mode 100644 tests/auto/qtcpserver/crashingServer/crashingServer.pro create mode 100644 tests/auto/qtcpserver/crashingServer/main.cpp create mode 100644 tests/auto/qtcpserver/qtcpserver.pro create mode 100644 tests/auto/qtcpserver/test/test.pro create mode 100644 tests/auto/qtcpserver/tst_qtcpserver.cpp create mode 100644 tests/auto/qtcpsocket/.gitignore create mode 100644 tests/auto/qtcpsocket/qtcpsocket.pro create mode 100644 tests/auto/qtcpsocket/stressTest/Test.cpp create mode 100644 tests/auto/qtcpsocket/stressTest/Test.h create mode 100644 tests/auto/qtcpsocket/stressTest/main.cpp create mode 100644 tests/auto/qtcpsocket/stressTest/stressTest.pro create mode 100644 tests/auto/qtcpsocket/test/test.pro create mode 100644 tests/auto/qtcpsocket/tst_qtcpsocket.cpp create mode 100644 tests/auto/qtemporaryfile/.gitignore create mode 100644 tests/auto/qtemporaryfile/qtemporaryfile.pro create mode 100644 tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp create mode 100644 tests/auto/qtessellator/.gitignore create mode 100644 tests/auto/qtessellator/XrenderFake.h create mode 100644 tests/auto/qtessellator/arc.cpp create mode 100644 tests/auto/qtessellator/arc.data create mode 100644 tests/auto/qtessellator/arc.h create mode 100644 tests/auto/qtessellator/datafiles.qrc create mode 100644 tests/auto/qtessellator/dataparser.cpp create mode 100644 tests/auto/qtessellator/dataparser.h create mode 100644 tests/auto/qtessellator/oldtessellator.cpp create mode 100644 tests/auto/qtessellator/oldtessellator.h create mode 100644 tests/auto/qtessellator/qnum.h create mode 100644 tests/auto/qtessellator/qtessellator.pro create mode 100644 tests/auto/qtessellator/sample_data.h create mode 100644 tests/auto/qtessellator/simple.cpp create mode 100644 tests/auto/qtessellator/simple.data create mode 100644 tests/auto/qtessellator/simple.h create mode 100644 tests/auto/qtessellator/testtessellator.cpp create mode 100644 tests/auto/qtessellator/testtessellator.h create mode 100644 tests/auto/qtessellator/tst_tessellator.cpp create mode 100644 tests/auto/qtessellator/utils.cpp create mode 100644 tests/auto/qtessellator/utils.h create mode 100644 tests/auto/qtextblock/.gitignore create mode 100644 tests/auto/qtextblock/qtextblock.pro create mode 100644 tests/auto/qtextblock/tst_qtextblock.cpp create mode 100644 tests/auto/qtextboundaryfinder/.gitignore create mode 100644 tests/auto/qtextboundaryfinder/data/GraphemeBreakTest.txt create mode 100644 tests/auto/qtextboundaryfinder/data/SentenceBreakTest.txt create mode 100644 tests/auto/qtextboundaryfinder/data/WordBreakTest.txt create mode 100644 tests/auto/qtextboundaryfinder/qtextboundaryfinder.pro create mode 100644 tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp create mode 100644 tests/auto/qtextbrowser.html create mode 100644 tests/auto/qtextbrowser/.gitignore create mode 100644 tests/auto/qtextbrowser/anchor.html create mode 100644 tests/auto/qtextbrowser/bigpage.html create mode 100644 tests/auto/qtextbrowser/firstpage.html create mode 100644 tests/auto/qtextbrowser/pagewithbg.html create mode 100644 tests/auto/qtextbrowser/pagewithimage.html create mode 100644 tests/auto/qtextbrowser/pagewithoutbg.html create mode 100644 tests/auto/qtextbrowser/qtextbrowser.pro create mode 100644 tests/auto/qtextbrowser/secondpage.html create mode 100644 tests/auto/qtextbrowser/subdir/index.html create mode 100644 tests/auto/qtextbrowser/thirdpage.html create mode 100644 tests/auto/qtextbrowser/tst_qtextbrowser.cpp create mode 100644 tests/auto/qtextcodec/.gitattributes create mode 100644 tests/auto/qtextcodec/.gitignore create mode 100644 tests/auto/qtextcodec/QT4-crashtest.txt create mode 100644 tests/auto/qtextcodec/echo/echo.pro create mode 100644 tests/auto/qtextcodec/echo/main.cpp create mode 100644 tests/auto/qtextcodec/korean.txt create mode 100644 tests/auto/qtextcodec/qtextcodec.pro create mode 100644 tests/auto/qtextcodec/test/test.pro create mode 100644 tests/auto/qtextcodec/tst_qtextcodec.cpp create mode 100644 tests/auto/qtextcodec/utf8.txt create mode 100644 tests/auto/qtextcursor/.gitignore create mode 100644 tests/auto/qtextcursor/qtextcursor.pro create mode 100644 tests/auto/qtextcursor/tst_qtextcursor.cpp create mode 100644 tests/auto/qtextdocument/.gitignore create mode 100644 tests/auto/qtextdocument/common.h create mode 100644 tests/auto/qtextdocument/qtextdocument.pro create mode 100644 tests/auto/qtextdocument/tst_qtextdocument.cpp create mode 100644 tests/auto/qtextdocumentfragment/.gitignore create mode 100644 tests/auto/qtextdocumentfragment/qtextdocumentfragment.pro create mode 100644 tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp create mode 100644 tests/auto/qtextdocumentlayout/.gitignore create mode 100644 tests/auto/qtextdocumentlayout/qtextdocumentlayout.pro create mode 100644 tests/auto/qtextdocumentlayout/tst_qtextdocumentlayout.cpp create mode 100644 tests/auto/qtextedit/.gitignore create mode 100644 tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/last-char-on-line.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/nowrap_long.png create mode 100644 tests/auto/qtextedit/fullWidthSelection/single-full-width-line.png create mode 100644 tests/auto/qtextedit/qtextedit.pro create mode 100644 tests/auto/qtextedit/tst_qtextedit.cpp create mode 100644 tests/auto/qtextformat/.gitignore create mode 100644 tests/auto/qtextformat/qtextformat.pro create mode 100644 tests/auto/qtextformat/tst_qtextformat.cpp create mode 100644 tests/auto/qtextlayout/.gitignore create mode 100644 tests/auto/qtextlayout/qtextlayout.pro create mode 100644 tests/auto/qtextlayout/tst_qtextlayout.cpp create mode 100644 tests/auto/qtextlist/.gitignore create mode 100644 tests/auto/qtextlist/qtextlist.pro create mode 100644 tests/auto/qtextlist/tst_qtextlist.cpp create mode 100644 tests/auto/qtextobject/.gitignore create mode 100644 tests/auto/qtextobject/qtextobject.pro create mode 100644 tests/auto/qtextobject/tst_qtextobject.cpp create mode 100644 tests/auto/qtextodfwriter/.gitignore create mode 100644 tests/auto/qtextodfwriter/qtextodfwriter.pro create mode 100644 tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp create mode 100644 tests/auto/qtextpiecetable/.gitignore create mode 100644 tests/auto/qtextpiecetable/qtextpiecetable.pro create mode 100644 tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp create mode 100644 tests/auto/qtextscriptengine/.gitignore create mode 100644 tests/auto/qtextscriptengine/generate/generate.pro create mode 100644 tests/auto/qtextscriptengine/generate/main.cpp create mode 100644 tests/auto/qtextscriptengine/qtextscriptengine.pro create mode 100644 tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp create mode 100644 tests/auto/qtextstream/.gitattributes create mode 100644 tests/auto/qtextstream/.gitignore create mode 100644 tests/auto/qtextstream/qtextstream.pro create mode 100644 tests/auto/qtextstream/qtextstream.qrc create mode 100644 tests/auto/qtextstream/readAllStdinProcess/main.cpp create mode 100644 tests/auto/qtextstream/readAllStdinProcess/readAllStdinProcess.pro create mode 100644 tests/auto/qtextstream/readLineStdinProcess/main.cpp create mode 100644 tests/auto/qtextstream/readLineStdinProcess/readLineStdinProcess.pro create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QByteArray_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QChar_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_QString_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_char_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_double_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_float_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_int_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_long_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_short_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_uint_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ulong_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shift_ushort_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource10.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource11.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource12.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource20.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource21.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/operator_shiftright_resource9.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QByteArray_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QChar_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_QString_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_char_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_double_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_float_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_int_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_long_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_short_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_uint_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ulong_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/big_endian/qt3_operator_shift_ushort_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QByteArray_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QChar_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_QString_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_char_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_double_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_float_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_int_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_long_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_short_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_uint_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ulong_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shift_ushort_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource10.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource11.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource12.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource20.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource21.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/operator_shiftright_resource9.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QByteArray_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QChar_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_QString_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_char_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_double_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_float_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_int_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Latin1_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Locale_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_RawUnicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeNetworkOrder_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeReverse_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_UnicodeUTF8_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_5.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_6.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_7.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_long_resource_Unicode_8.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_short_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_uint_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ulong_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Latin1_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Latin1_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Latin1_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Latin1_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Latin1_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Locale_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Locale_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Locale_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Locale_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Locale_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_RawUnicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_RawUnicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_RawUnicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_RawUnicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_RawUnicode_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeNetworkOrder_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeReverse_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_UnicodeUTF8_4.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Unicode_0.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Unicode_1.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Unicode_2.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Unicode_3.data create mode 100644 tests/auto/qtextstream/resources/little_endian/qt3_operator_shift_ushort_resource_Unicode_4.data create mode 100644 tests/auto/qtextstream/rfc3261.txt create mode 100644 tests/auto/qtextstream/shift-jis.txt create mode 100644 tests/auto/qtextstream/stdinProcess/main.cpp create mode 100644 tests/auto/qtextstream/stdinProcess/stdinProcess.pro create mode 100644 tests/auto/qtextstream/task113817.txt create mode 100644 tests/auto/qtextstream/test/test.pro create mode 100644 tests/auto/qtextstream/tst_qtextstream.cpp create mode 100644 tests/auto/qtexttable/.gitignore create mode 100644 tests/auto/qtexttable/qtexttable.pro create mode 100644 tests/auto/qtexttable/tst_qtexttable.cpp create mode 100644 tests/auto/qthread/.gitignore create mode 100644 tests/auto/qthread/qthread.pro create mode 100644 tests/auto/qthread/tst_qthread.cpp create mode 100644 tests/auto/qthreadonce/.gitignore create mode 100644 tests/auto/qthreadonce/qthreadonce.cpp create mode 100644 tests/auto/qthreadonce/qthreadonce.h create mode 100644 tests/auto/qthreadonce/qthreadonce.pro create mode 100644 tests/auto/qthreadonce/tst_qthreadonce.cpp create mode 100644 tests/auto/qthreadpool/.gitignore create mode 100644 tests/auto/qthreadpool/qthreadpool.pro create mode 100644 tests/auto/qthreadpool/tst_qthreadpool.cpp create mode 100644 tests/auto/qthreadstorage/.gitignore create mode 100644 tests/auto/qthreadstorage/qthreadstorage.pro create mode 100644 tests/auto/qthreadstorage/tst_qthreadstorage.cpp create mode 100644 tests/auto/qtime/.gitignore create mode 100644 tests/auto/qtime/qtime.pro create mode 100644 tests/auto/qtime/tst_qtime.cpp create mode 100644 tests/auto/qtimeline/.gitignore create mode 100644 tests/auto/qtimeline/qtimeline.pro create mode 100644 tests/auto/qtimeline/tst_qtimeline.cpp create mode 100644 tests/auto/qtimer/.gitignore create mode 100644 tests/auto/qtimer/qtimer.pro create mode 100644 tests/auto/qtimer/tst_qtimer.cpp create mode 100644 tests/auto/qtmd5/.gitignore create mode 100644 tests/auto/qtmd5/qtmd5.pro create mode 100644 tests/auto/qtmd5/tst_qtmd5.cpp create mode 100644 tests/auto/qtokenautomaton/.gitignore create mode 100755 tests/auto/qtokenautomaton/generateTokenizers.sh create mode 100644 tests/auto/qtokenautomaton/qtokenautomaton.pro create mode 100644 tests/auto/qtokenautomaton/tokenizers/basic/basic.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/basic/basic.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/basic/basic.xml create mode 100644 tests/auto/qtokenautomaton/tokenizers/basicNamespace/basicNamespace.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/basicNamespace/basicNamespace.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/basicNamespace/basicNamespace.xml create mode 100644 tests/auto/qtokenautomaton/tokenizers/boilerplate/boilerplate.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/boilerplate/boilerplate.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/boilerplate/boilerplate.xml create mode 100644 tests/auto/qtokenautomaton/tokenizers/noNamespace/noNamespace.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/noNamespace/noNamespace.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/noNamespace/noNamespace.xml create mode 100644 tests/auto/qtokenautomaton/tokenizers/noToString/noToString.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/noToString/noToString.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/noToString/noToString.xml create mode 100644 tests/auto/qtokenautomaton/tokenizers/withNamespace/withNamespace.cpp create mode 100644 tests/auto/qtokenautomaton/tokenizers/withNamespace/withNamespace.h create mode 100644 tests/auto/qtokenautomaton/tokenizers/withNamespace/withNamespace.xml create mode 100644 tests/auto/qtokenautomaton/tst_qtokenautomaton.cpp create mode 100644 tests/auto/qtoolbar/.gitignore create mode 100644 tests/auto/qtoolbar/qtoolbar.pro create mode 100644 tests/auto/qtoolbar/tst_qtoolbar.cpp create mode 100644 tests/auto/qtoolbox/.gitignore create mode 100644 tests/auto/qtoolbox/qtoolbox.pro create mode 100644 tests/auto/qtoolbox/tst_qtoolbox.cpp create mode 100644 tests/auto/qtoolbutton/.gitignore create mode 100644 tests/auto/qtoolbutton/qtoolbutton.pro create mode 100644 tests/auto/qtoolbutton/tst_qtoolbutton.cpp create mode 100644 tests/auto/qtooltip/.gitignore create mode 100644 tests/auto/qtooltip/qtooltip.pro create mode 100644 tests/auto/qtooltip/tst_qtooltip.cpp create mode 100644 tests/auto/qtransform/.gitignore create mode 100644 tests/auto/qtransform/qtransform.pro create mode 100644 tests/auto/qtransform/tst_qtransform.cpp create mode 100644 tests/auto/qtransformedscreen/.gitignore create mode 100644 tests/auto/qtransformedscreen/qtransformedscreen.pro create mode 100644 tests/auto/qtransformedscreen/tst_qtransformedscreen.cpp create mode 100644 tests/auto/qtranslator/.gitignore create mode 100644 tests/auto/qtranslator/hellotr_la.qm create mode 100644 tests/auto/qtranslator/hellotr_la.ts create mode 100644 tests/auto/qtranslator/msgfmt_from_po.qm create mode 100644 tests/auto/qtranslator/qtranslator.pro create mode 100644 tests/auto/qtranslator/tst_qtranslator.cpp create mode 100644 tests/auto/qtreeview/.gitignore create mode 100644 tests/auto/qtreeview/qtreeview.pro create mode 100644 tests/auto/qtreeview/tst_qtreeview.cpp create mode 100644 tests/auto/qtreewidget/.gitignore create mode 100644 tests/auto/qtreewidget/qtreewidget.pro create mode 100644 tests/auto/qtreewidget/tst_qtreewidget.cpp create mode 100644 tests/auto/qtreewidgetitemiterator/.gitignore create mode 100644 tests/auto/qtreewidgetitemiterator/qtreewidgetitemiterator.pro create mode 100644 tests/auto/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp create mode 100644 tests/auto/qtwidgets/.gitignore create mode 100644 tests/auto/qtwidgets/advanced.ui create mode 100644 tests/auto/qtwidgets/icons/big.png create mode 100644 tests/auto/qtwidgets/icons/folder.png create mode 100644 tests/auto/qtwidgets/icons/icon.bmp create mode 100644 tests/auto/qtwidgets/icons/icon.png create mode 100644 tests/auto/qtwidgets/mainwindow.cpp create mode 100644 tests/auto/qtwidgets/mainwindow.h create mode 100644 tests/auto/qtwidgets/qtstyles.qrc create mode 100644 tests/auto/qtwidgets/qtwidgets.pro create mode 100644 tests/auto/qtwidgets/standard.ui create mode 100644 tests/auto/qtwidgets/system.ui create mode 100644 tests/auto/qtwidgets/tst_qtwidgets.cpp create mode 100644 tests/auto/qudpsocket/.gitignore create mode 100644 tests/auto/qudpsocket/clientserver/clientserver.pro create mode 100644 tests/auto/qudpsocket/clientserver/main.cpp create mode 100644 tests/auto/qudpsocket/qudpsocket.pro create mode 100644 tests/auto/qudpsocket/test/test.pro create mode 100644 tests/auto/qudpsocket/tst_qudpsocket.cpp create mode 100644 tests/auto/qudpsocket/udpServer/main.cpp create mode 100644 tests/auto/qudpsocket/udpServer/udpServer.pro create mode 100644 tests/auto/qundogroup/.gitignore create mode 100644 tests/auto/qundogroup/qundogroup.pro create mode 100644 tests/auto/qundogroup/tst_qundogroup.cpp create mode 100644 tests/auto/qundostack/.gitignore create mode 100644 tests/auto/qundostack/qundostack.pro create mode 100644 tests/auto/qundostack/tst_qundostack.cpp create mode 100644 tests/auto/qurl/.gitignore create mode 100644 tests/auto/qurl/idna-test.c create mode 100644 tests/auto/qurl/qurl.pro create mode 100644 tests/auto/qurl/tst_qurl.cpp create mode 100644 tests/auto/quuid/.gitignore create mode 100644 tests/auto/quuid/quuid.pro create mode 100644 tests/auto/quuid/tst_quuid.cpp create mode 100644 tests/auto/qvariant/.gitignore create mode 100644 tests/auto/qvariant/qvariant.pro create mode 100644 tests/auto/qvariant/tst_qvariant.cpp create mode 100644 tests/auto/qvarlengtharray/.gitignore create mode 100644 tests/auto/qvarlengtharray/qvarlengtharray.pro create mode 100644 tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp create mode 100644 tests/auto/qvector/.gitignore create mode 100644 tests/auto/qvector/qvector.pro create mode 100644 tests/auto/qvector/tst_qvector.cpp create mode 100644 tests/auto/qwaitcondition/.gitignore create mode 100644 tests/auto/qwaitcondition/qwaitcondition.pro create mode 100644 tests/auto/qwaitcondition/tst_qwaitcondition.cpp create mode 100644 tests/auto/qwebframe/.gitignore create mode 100644 tests/auto/qwebframe/dummy.cpp create mode 100644 tests/auto/qwebframe/qwebframe.pro create mode 100644 tests/auto/qwebpage/.gitignore create mode 100644 tests/auto/qwebpage/dummy.cpp create mode 100644 tests/auto/qwebpage/qwebpage.pro create mode 100644 tests/auto/qwidget/.gitignore create mode 100644 tests/auto/qwidget/geometry-fullscreen.dat create mode 100644 tests/auto/qwidget/geometry-maximized.dat create mode 100644 tests/auto/qwidget/geometry.dat create mode 100644 tests/auto/qwidget/qwidget.pro create mode 100644 tests/auto/qwidget/qwidget.qrc create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Motif_data0.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Motif_data1.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Motif_data2.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Motif_data3.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Windows_data0.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Windows_data1.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Windows_data2.qsnap create mode 100644 tests/auto/qwidget/testdata/paintEvent/res_Windows_data3.qsnap create mode 100644 tests/auto/qwidget/tst_qwidget.cpp create mode 100644 tests/auto/qwidget/tst_qwidget_mac_helpers.h create mode 100644 tests/auto/qwidget/tst_qwidget_mac_helpers.mm create mode 100644 tests/auto/qwidget_window/.gitignore create mode 100644 tests/auto/qwidget_window/qwidget_window.pro create mode 100644 tests/auto/qwidget_window/tst_qwidget_window.cpp create mode 100644 tests/auto/qwidgetaction/.gitignore create mode 100644 tests/auto/qwidgetaction/qwidgetaction.pro create mode 100644 tests/auto/qwidgetaction/tst_qwidgetaction.cpp create mode 100644 tests/auto/qwindowsurface/.gitignore create mode 100644 tests/auto/qwindowsurface/qwindowsurface.pro create mode 100644 tests/auto/qwindowsurface/tst_qwindowsurface.cpp create mode 100644 tests/auto/qwineventnotifier/.gitignore create mode 100644 tests/auto/qwineventnotifier/qwineventnotifier.pro create mode 100644 tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp create mode 100644 tests/auto/qwizard/.gitignore create mode 100644 tests/auto/qwizard/images/background.png create mode 100644 tests/auto/qwizard/images/banner.png create mode 100644 tests/auto/qwizard/images/logo.png create mode 100644 tests/auto/qwizard/images/watermark.png create mode 100644 tests/auto/qwizard/qwizard.pro create mode 100644 tests/auto/qwizard/qwizard.qrc create mode 100644 tests/auto/qwizard/tst_qwizard.cpp create mode 100644 tests/auto/qwmatrix/.gitignore create mode 100644 tests/auto/qwmatrix/qwmatrix.pro create mode 100644 tests/auto/qwmatrix/tst_qwmatrix.cpp create mode 100644 tests/auto/qworkspace/.gitignore create mode 100644 tests/auto/qworkspace/qworkspace.pro create mode 100644 tests/auto/qworkspace/tst_qworkspace.cpp create mode 100644 tests/auto/qwritelocker/.gitignore create mode 100644 tests/auto/qwritelocker/qwritelocker.pro create mode 100644 tests/auto/qwritelocker/tst_qwritelocker.cpp create mode 100644 tests/auto/qwsembedwidget/.gitignore create mode 100644 tests/auto/qwsembedwidget/qwsembedwidget.pro create mode 100644 tests/auto/qwsembedwidget/tst_qwsembedwidget.cpp create mode 100644 tests/auto/qwsinputmethod/.gitignore create mode 100644 tests/auto/qwsinputmethod/qwsinputmethod.pro create mode 100644 tests/auto/qwsinputmethod/tst_qwsinputmethod.cpp create mode 100644 tests/auto/qwswindowsystem/.gitignore create mode 100644 tests/auto/qwswindowsystem/qwswindowsystem.pro create mode 100644 tests/auto/qwswindowsystem/tst_qwswindowsystem.cpp create mode 100644 tests/auto/qx11info/.gitignore create mode 100644 tests/auto/qx11info/qx11info.pro create mode 100644 tests/auto/qx11info/tst_qx11info.cpp create mode 100644 tests/auto/qxml/.gitignore create mode 100644 tests/auto/qxml/0x010D.xml create mode 100644 tests/auto/qxml/qxml.pro create mode 100644 tests/auto/qxml/tst_qxml.cpp create mode 100644 tests/auto/qxmlformatter/.gitignore create mode 100644 tests/auto/qxmlformatter/baselines/.gitattributes create mode 100644 tests/auto/qxmlformatter/baselines/K2-DirectConElemContent-46.xml create mode 100644 tests/auto/qxmlformatter/baselines/adjacentNodes.xml create mode 100644 tests/auto/qxmlformatter/baselines/classExample.xml create mode 100644 tests/auto/qxmlformatter/baselines/documentElementWithWS.xml create mode 100644 tests/auto/qxmlformatter/baselines/documentNodes.xml create mode 100644 tests/auto/qxmlformatter/baselines/elementsWithWS.xml create mode 100644 tests/auto/qxmlformatter/baselines/emptySequence.xml create mode 100644 tests/auto/qxmlformatter/baselines/indentedAdjacentNodes.xml create mode 100644 tests/auto/qxmlformatter/baselines/indentedMixedContent.xml create mode 100644 tests/auto/qxmlformatter/baselines/mixedContent.xml create mode 100644 tests/auto/qxmlformatter/baselines/mixedTopLevelContent.xml create mode 100644 tests/auto/qxmlformatter/baselines/nodesAndWhitespaceAtomics.xml create mode 100644 tests/auto/qxmlformatter/baselines/onlyDocumentNode.xml create mode 100644 tests/auto/qxmlformatter/baselines/prolog.xml create mode 100644 tests/auto/qxmlformatter/baselines/simpleDocument.xml create mode 100644 tests/auto/qxmlformatter/baselines/singleElement.xml create mode 100644 tests/auto/qxmlformatter/baselines/singleTextNode.xml create mode 100644 tests/auto/qxmlformatter/baselines/textNodeAtomicValue.xml create mode 100644 tests/auto/qxmlformatter/baselines/threeAtomics.xml create mode 100644 tests/auto/qxmlformatter/input/K2-DirectConElemContent-46.xq create mode 100644 tests/auto/qxmlformatter/input/adjacentNodes.xml create mode 100644 tests/auto/qxmlformatter/input/adjacentNodes.xq create mode 100644 tests/auto/qxmlformatter/input/classExample.xml create mode 100644 tests/auto/qxmlformatter/input/classExample.xq create mode 100644 tests/auto/qxmlformatter/input/documentElementWithWS.xml create mode 100644 tests/auto/qxmlformatter/input/documentElementWithWS.xq create mode 100644 tests/auto/qxmlformatter/input/documentNodes.xq create mode 100644 tests/auto/qxmlformatter/input/elementsWithWS.xml create mode 100644 tests/auto/qxmlformatter/input/elementsWithWS.xq create mode 100644 tests/auto/qxmlformatter/input/emptySequence.xq create mode 100644 tests/auto/qxmlformatter/input/indentedAdjacentNodes.xml create mode 100644 tests/auto/qxmlformatter/input/indentedAdjacentNodes.xq create mode 100644 tests/auto/qxmlformatter/input/indentedMixedContent.xml create mode 100644 tests/auto/qxmlformatter/input/indentedMixedContent.xq create mode 100644 tests/auto/qxmlformatter/input/mixedContent.xml create mode 100644 tests/auto/qxmlformatter/input/mixedContent.xq create mode 100644 tests/auto/qxmlformatter/input/mixedTopLevelContent.xq create mode 100644 tests/auto/qxmlformatter/input/nodesAndWhitespaceAtomics.xq create mode 100644 tests/auto/qxmlformatter/input/onlyDocumentNode.xq create mode 100644 tests/auto/qxmlformatter/input/prolog.xml create mode 100644 tests/auto/qxmlformatter/input/prolog.xq create mode 100644 tests/auto/qxmlformatter/input/simpleDocument.xml create mode 100644 tests/auto/qxmlformatter/input/simpleDocument.xq create mode 100644 tests/auto/qxmlformatter/input/singleElement.xml create mode 100644 tests/auto/qxmlformatter/input/singleElement.xq create mode 100644 tests/auto/qxmlformatter/input/singleTextNode.xq create mode 100644 tests/auto/qxmlformatter/input/textNodeAtomicValue.xq create mode 100644 tests/auto/qxmlformatter/input/threeAtomics.xq create mode 100644 tests/auto/qxmlformatter/qxmlformatter.pro create mode 100644 tests/auto/qxmlformatter/tst_qxmlformatter.cpp create mode 100644 tests/auto/qxmlinputsource/.gitignore create mode 100644 tests/auto/qxmlinputsource/qxmlinputsource.pro create mode 100644 tests/auto/qxmlinputsource/tst_qxmlinputsource.cpp create mode 100644 tests/auto/qxmlitem/.gitignore create mode 100644 tests/auto/qxmlitem/qxmlitem.pro create mode 100644 tests/auto/qxmlitem/tst_qxmlitem.cpp create mode 100644 tests/auto/qxmlname/.gitignore create mode 100644 tests/auto/qxmlname/qxmlname.pro create mode 100644 tests/auto/qxmlname/tst_qxmlname.cpp create mode 100644 tests/auto/qxmlnamepool/.gitignore create mode 100644 tests/auto/qxmlnamepool/qxmlnamepool.pro create mode 100644 tests/auto/qxmlnamepool/tst_qxmlnamepool.cpp create mode 100644 tests/auto/qxmlnodemodelindex/.gitignore create mode 100644 tests/auto/qxmlnodemodelindex/qxmlnodemodelindex.pro create mode 100644 tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp create mode 100644 tests/auto/qxmlquery/.gitignore create mode 100644 tests/auto/qxmlquery/MessageSilencer.h create mode 100644 tests/auto/qxmlquery/MessageValidator.cpp create mode 100644 tests/auto/qxmlquery/MessageValidator.h create mode 100644 tests/auto/qxmlquery/NetworkOverrider.h create mode 100644 tests/auto/qxmlquery/PushBaseliner.h create mode 100644 tests/auto/qxmlquery/TestFundament.cpp create mode 100644 tests/auto/qxmlquery/TestFundament.h create mode 100644 tests/auto/qxmlquery/data/notWellformed.xml create mode 100644 tests/auto/qxmlquery/data/oneElement.xml create mode 100644 tests/auto/qxmlquery/input.qrc create mode 100644 tests/auto/qxmlquery/input.xml create mode 100644 tests/auto/qxmlquery/pushBaselines/allAtomics.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/concat.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/emptySequence.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/errorFunction.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/nodeSequence.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/oneElement.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/onePlusOne.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/onlyDocumentNode.ref create mode 100644 tests/auto/qxmlquery/pushBaselines/openDocument.ref create mode 100644 tests/auto/qxmlquery/qxmlquery.pro create mode 100644 tests/auto/qxmlquery/tst_qxmlquery.cpp create mode 100644 tests/auto/qxmlresultitems/.gitignore create mode 100644 tests/auto/qxmlresultitems/qxmlresultitems.pro create mode 100644 tests/auto/qxmlresultitems/tst_qxmlresultitems.cpp create mode 100644 tests/auto/qxmlserializer/.gitignore create mode 100644 tests/auto/qxmlserializer/qxmlserializer.pro create mode 100644 tests/auto/qxmlserializer/tst_qxmlserializer.cpp create mode 100644 tests/auto/qxmlsimplereader/.gitattributes create mode 100644 tests/auto/qxmlsimplereader/.gitignore create mode 100644 tests/auto/qxmlsimplereader/encodings/doc_euc-jp.xml create mode 100644 tests/auto/qxmlsimplereader/encodings/doc_iso-2022-jp.xml.ref create mode 100644 tests/auto/qxmlsimplereader/encodings/doc_little-endian.xml create mode 100644 tests/auto/qxmlsimplereader/encodings/doc_utf-16.xml create mode 100644 tests/auto/qxmlsimplereader/encodings/doc_utf-8.xml create mode 100755 tests/auto/qxmlsimplereader/generate_ref_files.sh create mode 100644 tests/auto/qxmlsimplereader/parser/main.cpp create mode 100644 tests/auto/qxmlsimplereader/parser/parser.cpp create mode 100644 tests/auto/qxmlsimplereader/parser/parser.h create mode 100644 tests/auto/qxmlsimplereader/parser/parser.pro create mode 100644 tests/auto/qxmlsimplereader/qxmlsimplereader.pro create mode 100644 tests/auto/qxmlsimplereader/tst_qxmlsimplereader.cpp create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/001.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/001.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/002.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/002.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/003.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/003.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/004.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/004.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/005.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/005.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/006.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/006.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/007.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/007.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/008.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/008.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/009.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/009.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/010.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/010.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/011.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/011.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/012.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/012.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/013.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/013.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/014.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/014.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/015.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/015.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/016.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/016.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/017.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/017.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/018.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/018.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/019.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/019.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/020.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/020.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/021.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/021.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/022.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/022.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/023.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/023.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/024.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/024.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/025.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/025.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/026.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/026.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/027.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/027.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/028.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/028.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/029.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/029.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/030.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/030.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/031.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/031.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/032.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/032.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/033.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/033.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/034.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/034.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/035.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/035.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/036.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/036.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/037.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/037.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/038.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/038.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/039.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/039.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/040.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/040.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/041.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/041.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/042.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/042.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/043.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/043.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/044.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/044.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/045.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/045.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/046.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/046.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/047.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/047.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/048.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/048.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/049.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/049.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/050.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/050.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/051.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/051.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/052.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/052.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/053.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/053.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/054.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/054.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/055.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/055.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/056.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/056.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/057.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/057.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/058.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/058.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/059.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/059.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/060.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/060.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/061.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/061.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/062.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/062.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/063.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/063.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/064.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/064.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/065.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/065.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/066.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/066.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/067.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/067.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/068.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/068.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/069.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/069.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/070.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/070.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/071.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/071.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/072.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/072.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/073.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/073.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/074.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/074.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/075.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/075.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/076.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/076.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/077.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/077.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/078.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/078.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/079.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/079.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/080.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/080.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/081.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/081.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/082.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/082.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/083.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/083.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/084.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/084.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/085.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/085.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/086.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/086.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/087.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/087.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/088.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/088.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/089.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/089.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/090.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/090.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/091.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/091.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/092.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/092.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/093.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/093.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/094.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/094.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/095.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/095.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/096.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/096.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/097.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/097.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/098.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/098.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/099.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/099.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/100.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/100.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/101.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/101.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/102.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/102.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/103.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/103.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/104.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/104.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/105.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/105.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/106.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/106.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/107.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/107.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/108.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/108.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/109.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/109.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/110.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/110.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/111.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/111.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/112.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/112.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/113.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/113.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/114.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/114.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/115.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/115.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/116.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/116.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/117.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/117.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/118.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/118.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/119.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/119.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/120.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/120.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/121.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/121.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/122.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/122.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/123.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/123.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/124.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/124.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/125.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/125.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/126.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/126.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/127.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/127.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/128.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/128.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/129.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/129.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/130.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/130.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/131.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/131.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/132.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/132.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/133.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/133.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/134.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/134.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/135.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/135.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/136.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/136.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/137.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/137.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/138.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/138.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/139.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/139.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/140.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/140.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/141.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/141.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/142.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/142.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/143.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/143.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/144.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/144.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/145.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/145.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/146.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/146.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/147.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/147.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/148.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/148.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/149.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/149.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/150.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/150.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/151.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/151.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/152.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/152.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/153.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/153.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/154.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/154.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/155.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/155.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/156.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/156.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/157.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/157.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/158.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/158.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/159.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/159.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/160.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/160.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/161.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/161.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/162.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/162.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/163.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/163.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/164.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/164.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/165.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/165.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/166.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/166.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/167.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/167.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/168.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/168.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/169.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/169.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/170.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/170.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/171.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/171.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/172.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/172.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/173.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/173.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/174.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/174.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/175.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/175.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/176.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/176.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/177.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/177.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/178.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/178.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/179.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/179.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/180.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/180.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/181.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/181.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/182.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/182.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/183.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/183.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/184.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/184.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/185.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/185.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/185.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/186.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/186.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/not-wf/sa/null.ent create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/001.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/002.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/003.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/004.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/005.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/006.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/007.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/008.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/009.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/010.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/011.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/012.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/013.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/014.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_1.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_2.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/undef_entity_3.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/001.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/002.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-1.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003-2.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/003.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-1.ent create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004-2.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/004.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-1.ent create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005-2.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/005.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/006.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/007.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/008.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/009.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/010.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/011.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/012.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/013.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/014.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/015.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/016.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/017.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/018.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/019.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/020.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/021.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/022.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/023.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/024.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/025.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/026.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/027.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/028.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/029.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/030.xml.ref create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-1.ent create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031-2.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/not-sa/031.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/001.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/002.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/003.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/004.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/005.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/006.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/007.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/008.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/009.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/010.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/011.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/012.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/013.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/014.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/015.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/016.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/017.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/018.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/019.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/020.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/021.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/022.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/023.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/024.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/025.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/026.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/027.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/028.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/029.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/030.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/031.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/032.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/033.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/034.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/035.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/036.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/037.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/038.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/039.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/040.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/041.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/042.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/043.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/044.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/045.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/046.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/047.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/048.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/049.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/050.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/051.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/052.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/053.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/054.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/055.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/056.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/057.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/058.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/059.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/060.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/061.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/062.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/063.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/064.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/065.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/066.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/067.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/068.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/069.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/070.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/071.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/072.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/073.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/074.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/075.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/076.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/077.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/078.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/079.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/080.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/081.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/082.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/083.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/084.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/085.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/086.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/087.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/088.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.bak create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/089.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/090.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/091.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/092.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/093.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/094.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/095.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/096.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/097.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/098.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/099.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/100.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/101.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/102.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/103.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/104.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/105.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/106.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/107.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/108.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/109.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/110.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/111.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/112.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/113.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/114.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/115.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/116.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/117.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/118.xml.ref create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/sa/119.xml.ref create mode 100644 tests/auto/qxmlstream/.gitattributes create mode 100644 tests/auto/qxmlstream/.gitignore create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/matrix.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/changes.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E14.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15c.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15d.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15e.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15f.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15g.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15h.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15i.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15j.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15k.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E15l.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E18-ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E19.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E2a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E2b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E34.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E36.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E36.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E38.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E38.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E41.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E48.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E50.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E55.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E57.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E60.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E60.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E61.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E9a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/E9b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/errata2e.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/E18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/E19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/out/E24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir1/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir1/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir1/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir1/E18-ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir1/E18-pe create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir2/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir2/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir2/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir2/E18-ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/subdir2/E18-extpe create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-2e/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E05a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E05b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06c.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06d.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06e.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06f.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06g.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06h.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E06i.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/E13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/errata3e.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/errata-3e/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/038.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/039.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/041.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/042.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.0/rmt-ns10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/1.1/rmt-ns11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/CVS/Entries.Log create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/NE13a.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/NE13b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/NE13c.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/errata1e.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/errata-1e/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/namespaces/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/001.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/002.pe create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/003.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/004.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/005_1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/005_2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/006_1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/006_2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/009.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/038.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/039.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/041.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/042.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/047.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/048.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/049.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/050.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/051.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/052.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/053.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/054.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/055.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/056.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/057.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/047.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/048.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/049.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/050.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/051.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/052.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/053.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/054.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/xml11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/eduni/xml-1.1/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/a_oasis-logo.gif create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/committee.css create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/files/top3.jpe create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/finalCatalog.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/ibm_oasis_invalid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/ibm_oasis_not-wf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/ibm_oasis_readme.txt create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/ibm_oasis_valid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/ibm28i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P28/out/ibm28i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/ibm32i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/ibm32i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/ibm32i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P32/out/ibm32i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/ibm39i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/ibm39i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/ibm39i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/ibm39i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/ibm39i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/ibm39i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/ibm39i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P39/out/ibm39i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/ibm41i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/ibm41i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/out/ibm41i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P41/out/ibm41i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/ibm45i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P45/out/ibm45i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/ibm49i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/ibm49i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/ibm49i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/out/ibm49i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P49/out/ibm49i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/ibm50i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/ibm50i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P50/out/ibm50i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/ibm51i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/ibm51i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/ibm51i03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/ibm51i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/ibm51i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/ibm51i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P51/out/ibm51i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/ibm56i18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P56/out/ibm56i18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/ibm58i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/ibm58i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/out/ibm58i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P58/out/ibm58i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/ibm59i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P59/out/ibm59i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/ibm60i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/ibm60i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/ibm60i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/ibm60i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/ibm60i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/ibm60i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/ibm60i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P60/out/ibm60i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i03.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/ibm68i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/ibm68i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/ibm68i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/ibm68i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P68/out/ibm68i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i03.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/ibm69i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/ibm69i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/ibm69i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/ibm69i03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P69/out/ibm69i04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/ibm76i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/invalid/P76/out/ibm76i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/ibm01n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/ibm01n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P01/ibm01n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n31.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n32.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P02/ibm02n33.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P03/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P03/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P03/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P03/ibm03n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P04/ibm04n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/ibm05n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/ibm05n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/ibm05n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/ibm05n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P05/ibm05n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/ibm09n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/ibm09n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/ibm09n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P09/ibm09n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P10/ibm10n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/ibm11n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/ibm11n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/ibm11n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P11/ibm11n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/ibm12n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/ibm12n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P12/ibm12n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/ibm13n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/ibm13n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/ibm13n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P13/student.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/ibm14n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/ibm14n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P14/ibm14n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/ibm15n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/ibm15n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/ibm15n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P15/ibm15n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/ibm16n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/ibm16n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/ibm16n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P16/ibm16n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/ibm17n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/ibm17n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/ibm17n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P17/ibm17n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P18/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P18/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P18/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P18/ibm18n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P18/ibm18n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/ibm19n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/ibm19n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P19/ibm19n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P20/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P20/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P20/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P20/ibm20n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/ibm21n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/ibm21n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P21/ibm21n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/ibm22n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/ibm22n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P22/ibm22n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P23/ibm23n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P24/ibm24n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P25/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P25/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P25/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P25/ibm25n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P25/ibm25n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P26/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P26/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P26/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P26/ibm26n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P27/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P27/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P27/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P27/ibm27n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P28/ibm28n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/cat.txt create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P29/ibm29n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P30/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P30/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P30/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P30/ibm30n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P30/ibm30n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P31/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P31/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P31/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P31/ibm31n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P31/ibm31n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n06.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n09.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P32/ibm32n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P39/ibm39n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/ibm40n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/ibm40n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/ibm40n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/ibm40n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P40/ibm40n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n10.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n11.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P41/ibm41n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/ibm42n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/ibm42n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/ibm42n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/ibm42n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P42/ibm42n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/ibm43n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/ibm43n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/ibm43n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P43/ibm43n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/ibm44n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/ibm44n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/ibm44n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P44/ibm44n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P45/ibm45n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/ibm46n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/ibm46n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/ibm46n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/ibm46n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P46/ibm46n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P47/ibm47n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P48/ibm48n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P49/ibm49n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P50/ibm50n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P51/ibm51n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P52/ibm52n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P53/ibm53n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P54/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P54/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P54/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P54/ibm54n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P54/ibm54n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/ibm55n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/ibm55n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P55/ibm55n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P56/ibm56n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P57/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P57/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P57/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P57/ibm57n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P58/ibm58n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P59/ibm59n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P60/ibm60n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P61/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P61/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P61/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P61/ibm61n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P61/ibm61n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n05.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n06.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n07.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n08.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P62/ibm62n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n05.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n06.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n07.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P63/ibm63n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P64/ibm64n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/ibm65n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/ibm65n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/ibm65n02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P65/ibm65n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P66/ibm66n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n06.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P68/ibm68n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P69/ibm69n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm70n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P71/ibm71n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P72/ibm72n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P73/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P73/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P73/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P73/ibm73n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P73/ibm73n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P74/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P74/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P74/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P74/ibm74n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/empty.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P75/ibm75n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P76/ibm76n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n03.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P77/ibm77n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/ibm78n01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/ibm78n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/ibm78n02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P78/ibm78n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/ibm79n01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/ibm79n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/ibm79n02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P79/ibm79n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P80/ibm80n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P81/ibm81n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P82/ibm82n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P83/ibm83n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n100.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n101.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n102.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n103.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n104.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n105.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n106.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n107.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n108.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n109.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n110.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n111.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n112.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n113.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n114.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n115.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n116.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n117.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n118.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n119.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n120.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n121.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n122.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n123.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n124.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n125.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n126.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n127.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n128.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n129.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n130.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n131.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n132.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n133.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n134.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n135.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n136.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n137.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n138.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n139.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n140.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n141.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n142.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n143.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n144.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n145.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n146.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n147.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n148.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n149.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n150.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n151.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n152.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n153.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n154.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n155.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n156.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n157.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n158.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n159.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n160.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n161.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n162.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n163.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n164.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n165.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n166.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n167.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n168.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n169.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n170.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n171.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n172.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n173.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n174.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n175.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n176.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n177.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n178.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n179.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n180.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n181.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n182.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n183.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n184.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n185.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n186.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n187.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n188.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n189.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n190.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n191.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n192.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n193.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n194.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n195.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n196.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n197.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n198.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n31.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n32.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n33.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n34.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n35.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n36.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n37.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n38.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n39.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n40.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n41.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n42.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n43.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n44.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n45.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n46.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n47.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n48.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n49.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n50.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n51.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n52.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n53.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n54.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n55.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n56.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n57.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n58.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n59.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n60.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n61.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n62.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n63.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n64.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n65.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n66.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n67.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n68.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n69.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n70.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n71.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n72.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n73.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n74.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n75.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n76.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n77.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n78.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n79.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n80.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n81.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n82.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n83.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n84.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n85.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n86.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n87.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n88.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n89.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n90.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n91.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n92.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n93.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n94.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n95.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n96.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n97.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n98.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P85/ibm85n99.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/ibm86n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/ibm86n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/ibm86n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P86/ibm86n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n31.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n32.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n33.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n34.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n35.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n36.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n37.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n38.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n39.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n40.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n41.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n42.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n43.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n44.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n45.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n46.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n47.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n48.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n49.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n50.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n51.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n52.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n53.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n54.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n55.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n56.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n57.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n58.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n59.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n60.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n61.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n62.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n63.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n64.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n66.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n67.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n68.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n69.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n70.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n71.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n72.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n73.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n74.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n75.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n76.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n77.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n78.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n79.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n80.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n81.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n82.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n83.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n84.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P87/ibm87n85.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P88/ibm88n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/P89/ibm89n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/432gewf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/ltinentval.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/misc/simpleltinentval.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/p28a/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/p28a/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/p28a/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/p28a/ibm28an01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/not-wf/p28a/ibm28an01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/ibm01v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P01/out/ibm01v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/ibm02v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P02/out/ibm02v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/ibm03v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P03/out/ibm03v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/ibm09v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/ibm09v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/ibm09v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/ibm09v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/ibm09v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/out/ibm09v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P09/student.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/ibm10v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P10/out/ibm10v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/ibm11v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/ibm11v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/ibm11v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/ibm11v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/ibm11v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/ibm11v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/ibm11v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/out/ibm11v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P11/student.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/ibm12v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/ibm12v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/ibm12v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/ibm12v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/ibm12v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/ibm12v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/ibm12v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/out/ibm12v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P12/student.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/ibm13v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/out/ibm13v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P13/student.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/ibm14v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/ibm14v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/ibm14v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/ibm14v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/ibm14v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P14/out/ibm14v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/ibm15v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/ibm15v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/ibm15v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/ibm15v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/ibm15v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/ibm15v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/ibm15v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P15/out/ibm15v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/ibm16v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/ibm16v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/ibm16v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/ibm16v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/ibm16v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P16/out/ibm16v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/ibm17v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P17/out/ibm17v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/ibm18v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P18/out/ibm18v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/ibm19v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P19/out/ibm19v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/ibm20v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/ibm20v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/out/ibm20v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P20/out/ibm20v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/ibm21v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P21/out/ibm21v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/ibm22v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P22/out/ibm22v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/ibm23v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P23/out/ibm23v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/ibm24v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/ibm24v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/out/ibm24v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P24/out/ibm24v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/ibm25v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/ibm25v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/ibm25v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/ibm25v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/ibm25v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/ibm25v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/ibm25v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P25/out/ibm25v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/ibm26v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P26/out/ibm26v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/ibm27v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/ibm27v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/ibm27v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/ibm27v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/ibm27v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P27/out/ibm27v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/ibm28v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/ibm28v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/ibm28v02.txt create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/ibm28v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/out/ibm28v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P28/out/ibm28v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/ibm29v01.txt create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/ibm29v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/ibm29v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/out/ibm29v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P29/out/ibm29v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/ibm30v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/ibm30v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/ibm30v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/ibm30v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/out/ibm30v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P30/out/ibm30v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/ibm31v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/ibm31v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P31/out/ibm31v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/ibm32v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/ibm32v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/ibm32v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/ibm32v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P32/out/ibm32v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/ibm33v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P33/out/ibm33v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/ibm34v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P34/out/ibm34v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/ibm35v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P35/out/ibm35v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/ibm36v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P36/out/ibm36v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/ibm37v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P37/out/ibm37v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/ibm38v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P38/out/ibm38v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/ibm39v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P39/out/ibm39v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/ibm40v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P40/out/ibm40v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/ibm41v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P41/out/ibm41v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/ibm42v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P42/out/ibm42v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/ibm43v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P43/out/ibm43v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/ibm44v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P44/out/ibm44v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/ibm45v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P45/out/ibm45v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/ibm47v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P47/out/ibm47v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/ibm49v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/ibm49v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P49/out/ibm49v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/ibm50v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/ibm50v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P50/out/ibm50v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/ibm51v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/ibm51v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/ibm51v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/out/ibm51v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P51/out/ibm51v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/ibm52v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P52/out/ibm52v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/ibm54v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/ibm54v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/ibm54v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/ibmlogo.gif create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/ibm54v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/ibm54v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/out/ibm54v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P54/xmltech.gif create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/ibm55v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P55/out/ibm55v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/ibm56v10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P56/out/ibm56v10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/ibm57v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P57/out/ibm57v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/ibm58v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/ibm58v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/out/ibm58v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P58/out/ibm58v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/ibm59v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/ibm59v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/out/ibm59v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P59/out/ibm59v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/ibm60v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/ibm60v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/ibm60v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/ibm60v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/ibm60v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/ibm60v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/ibm60v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P60/out/ibm60v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/ibm61v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/ibm61v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/ibm61v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/ibm61v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/out/ibm61v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P61/out/ibm61v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v05.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/ibm62v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/ibm62v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/ibm62v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/ibm62v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/ibm62v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P62/out/ibm62v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v04.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v05.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/ibm63v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/ibm63v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/ibm63v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/ibm63v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/ibm63v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P63/out/ibm63v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/ibm64v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/ibm64v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/ibm64v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P64/out/ibm64v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/ibm65v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/ibm65v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/ibm65v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/ibm65v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/out/ibm65v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P65/out/ibm65v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/ibm66v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P66/out/ibm66v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/ibm67v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P67/out/ibm67v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/ibm68v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/ibm68v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/ibm68v02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/ibm68v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/out/ibm68v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P68/out/ibm68v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/ibm69v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/ibm69v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/ibm69v02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/ibm69v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/out/ibm69v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P69/out/ibm69v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/ibm70v01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/ibm70v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P70/out/ibm70v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/ibm78v01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/ibm78v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/ibm78v02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/ibm78v03.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P78/out/ibm78v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/ibm79v01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/ibm79v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P79/out/ibm79v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/ibm82v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P82/out/ibm82v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/ibm85v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P85/out/ibm85v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/ibm86v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P86/out/ibm86v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/ibm87v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P87/out/ibm87v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/ibm88v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P88/out/ibm88v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/ibm89v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/valid/P89/out/ibm89v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/ibm_invalid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/ibm_not-wf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/ibm_valid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/P46/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/P46/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/P46/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/P46/ibm46i01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/invalid/P46/ibm46i02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n31.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n32.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n33.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n34.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n35.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n36.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n37.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n38.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n39.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n40.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n41.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n42.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n43.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n44.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n45.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n46.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n47.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n48.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n49.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n50.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n51.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n52.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n53.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n54.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n55.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n56.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n57.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n58.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n59.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n60.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n61.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n62.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n63.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n64.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n64.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n65.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n65.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n66.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n66.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n67.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n68.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n69.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n70.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P02/ibm02n71.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04/ibm04n28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P04a/ibm04an28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P05/ibm05n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n05.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n06.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n07.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n08.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n09.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n10.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n11.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n12.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n14.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n16.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n17.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n18.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/not-wf/P77/ibm77n21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v06.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P02/ibm02v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v02.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v03.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v09.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/ibm03v09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P03/out/ibm03v09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04/ibm04v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04a/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04a/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04a/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P04a/ibm04av01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/ibm05v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/ibm05v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/ibm05v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/ibm05v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P05/ibm05v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P07/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P07/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P07/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P07/ibm07v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v02.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v03.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v04.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v05.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v06.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v07.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v08.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v09.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v10.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v11.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v12.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v13.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v14.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v15.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v16.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v17.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v18.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v19.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v20.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v21.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v22.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v23.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v24.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v25.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v26.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v27.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v28.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v29.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v30.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/ibm/xml-1.1/valid/P77/ibm77v30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/japanese.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-euc-jp.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-iso-2022-jp.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-little-endian.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-shift_jis.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/pr-xml-utf-8.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-euc-jp.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-iso-2022-jp.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-little-endian.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-shift_jis.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/weekly-utf-8.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/e2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/oasis.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p01pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail30.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail31.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail7.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail8.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p02fail9.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail17.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail18.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail19.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail26.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail27.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail28.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail29.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail7.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail8.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03fail9.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p03pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p04fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p04fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p04fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p04pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p05pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p06fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p06pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p07pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p08fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p08fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p08pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p09pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p10fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p10fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p10fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p10pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p11fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p11fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p11pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12fail7.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p12pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p14fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p14fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p14fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p14pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p15fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p15fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p15fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p15pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p16pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p18fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p18fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p18fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p18pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p22pass6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p23pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p24pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p25fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p25pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p25pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p26fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p26fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p26pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p27fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p27pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p27pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p27pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p27pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass4.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass5.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p28pass5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p29fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p29pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30pass2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p30pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31pass2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p31pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p32pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p39pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p40pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p41fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p41fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p41fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p41pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p41pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p42fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p42fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p42fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p42pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p42pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p43fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p43fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p43fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p43pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44pass2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44pass3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44pass4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p44pass5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p45fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p45fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p45fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p45fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p45pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p46pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p47fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p47fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p47fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p47fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p47pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p48fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p48fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p48pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p49fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p49pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p50fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p50pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51fail7.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p51pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p52fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p52fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p52pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p53pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p54fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p54pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p55fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p55pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p56pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p57fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p57pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail7.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58fail8.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p58pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p59fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p59fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p59fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p59pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p60pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p61fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p61fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p61pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p61pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62fail2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p62pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63fail2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p63pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64fail1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64fail2.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64pass1.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p64pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p66pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p68fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p68fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p68fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p68pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p69fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p69fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p69fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p69pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p70fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p70pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p71fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p71fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p71fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p71fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p71pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p72fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p72fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p72fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p72fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p72pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p73pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p74fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p74fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p74fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p74pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail5.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75fail6.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p75pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p76fail1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p76fail2.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p76fail3.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p76fail4.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/oasis/p76pass1.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/readme.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/cxml.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr15.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/attr16.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/dtd01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/dtd02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/dtd03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/dtd06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/el06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/empty.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/id09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/not-sa14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional14.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional20.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional21.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional22.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional23.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional24.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/optional25.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/required00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/required01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/required02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/root.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/utf16b.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/invalid/utf16l.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/attlist11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/cond.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/cond01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/cond02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/content01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/content02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/content03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/decl01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/decl01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd07.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/dtd07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/element00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/element01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/element02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/element03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/element04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/encoding07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/not-sa03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pi.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pubid01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pubid02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pubid03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pubid04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/pubid05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml07.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml08.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml09.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml10.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml11.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml12.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/sgml13.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/not-wf/uri01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/sun-error.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/sun-invalid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/sun-not-wf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/sun-valid.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/dtd00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/dtd01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/dtdtest.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/element.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/ext01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/ext01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/ext02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/not-sa01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/not-sa02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/not-sa03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/not-sa04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/notation01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/notation01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/null.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/optional.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/dtd00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/dtd01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/element.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/ext01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/ext02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/not-sa01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/not-sa02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/not-sa03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/not-sa04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/notation01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/optional.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/pe00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/pe02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/pe03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/required00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sa01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sa02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sa03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sa04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sa05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/sgml01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/out/v-lang06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe00.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe01.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe01.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/pe03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/required00.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sa05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/sgml01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang01.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang02.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang03.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang04.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang05.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/sun/valid/v-lang06.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconf-20010315.htm create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconf-20010315.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconf-20020521.htm create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconf-20031030.htm create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconf.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconformance.msxsl create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmlconformance.xsl create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/canonxml.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries.Log create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/038.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/039.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/041.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/042.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/047.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/048.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/049.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/050.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/051.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/052.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/053.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/054.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/055.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/056.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/057.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/058.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/059.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/060.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/061.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/062.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/063.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/064.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/065.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/066.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/067.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/068.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/069.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/070.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/071.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/072.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/073.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/074.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/075.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/076.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/077.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/078.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/079.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/080.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/081.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/082.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/083.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/084.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/085.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/086.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/087.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/088.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/089.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/090.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/091.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/092.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/093.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/094.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/095.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/096.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/097.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/098.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/099.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/100.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/101.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/102.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/103.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/104.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/105.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/106.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/107.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/108.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/109.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/110.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/111.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/112.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/113.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/114.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/115.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/116.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/117.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/118.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/119.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/120.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/121.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/122.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/123.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/124.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/125.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/126.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/127.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/128.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/129.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/130.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/131.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/132.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/133.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/134.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/135.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/136.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/137.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/138.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/139.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/140.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/141.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/142.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/143.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/144.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/145.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/146.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/147.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/148.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/149.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/150.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/151.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/152.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/153.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/154.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/155.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/156.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/157.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/158.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/159.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/160.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/161.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/162.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/163.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/164.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/165.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/166.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/167.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/168.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/169.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/170.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/171.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/172.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/173.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/174.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/175.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/176.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/177.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/178.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/179.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/180.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/181.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/182.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/183.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/184.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/186.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/null.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/readme.html create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries.Log create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-1.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-2.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/038.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/039.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/041.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/042.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/047.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/048.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/049.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/050.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/051.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/052.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/053.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/054.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/055.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/056.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/057.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/058.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/059.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/060.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/061.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/062.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/063.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/064.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/065.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/066.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/067.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/068.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/069.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/070.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/071.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/072.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/073.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/074.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/075.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/076.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/077.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/078.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/079.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/080.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/081.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/082.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/083.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/084.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/085.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/086.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/087.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/088.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/090.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/091.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/092.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/093.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/094.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/095.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/096.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.ent create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/098.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/099.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/100.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/101.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/102.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/103.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/104.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/105.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/106.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/107.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/108.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/109.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/110.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/111.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/112.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/113.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/114.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/115.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/116.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/117.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/118.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/119.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/001.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/002.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/003.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/004.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/005.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/006.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/007.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/008.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/009.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/010.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/011.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/012.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/013.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/014.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/015.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/016.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/017.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/018.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/019.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/020.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/021.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/022.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/023.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/024.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/025.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/026.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/027.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/028.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/029.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/030.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/031.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/032.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/033.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/034.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/035.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/036.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/037.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/038.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/039.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/040.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/041.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/042.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/043.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/044.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/045.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/046.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/047.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/048.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/049.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/050.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/051.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/052.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/053.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/054.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/055.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/056.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/057.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/058.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/059.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/060.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/061.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/062.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/063.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/064.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/065.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/066.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/067.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/068.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/069.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/070.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/071.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/072.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/073.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/074.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/075.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/076.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/077.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/078.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/079.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/080.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/081.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/082.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/083.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/084.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/085.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/086.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/087.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/088.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/090.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/091.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/092.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/093.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/094.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/095.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/096.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/097.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/098.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/099.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/100.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/101.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/102.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/103.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/104.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/105.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/106.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/107.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/108.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/109.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/110.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/111.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/112.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/113.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/114.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/115.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/116.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/117.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/118.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/119.xml create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Entries create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Repository create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Root create mode 100644 tests/auto/qxmlstream/XML-Test-Suite/xmlconf/xmltest/xmltest.xml create mode 100644 tests/auto/qxmlstream/data/001.ref create mode 100644 tests/auto/qxmlstream/data/001.xml create mode 100644 tests/auto/qxmlstream/data/002.ref create mode 100644 tests/auto/qxmlstream/data/002.xml create mode 100644 tests/auto/qxmlstream/data/003.ref create mode 100644 tests/auto/qxmlstream/data/003.xml create mode 100644 tests/auto/qxmlstream/data/004.ref create mode 100644 tests/auto/qxmlstream/data/004.xml create mode 100644 tests/auto/qxmlstream/data/005.ref create mode 100644 tests/auto/qxmlstream/data/005.xml create mode 100644 tests/auto/qxmlstream/data/006.ref create mode 100644 tests/auto/qxmlstream/data/006.xml create mode 100644 tests/auto/qxmlstream/data/007.ref create mode 100644 tests/auto/qxmlstream/data/007.xml create mode 100644 tests/auto/qxmlstream/data/008.ref create mode 100644 tests/auto/qxmlstream/data/008.xml create mode 100644 tests/auto/qxmlstream/data/009.ref create mode 100644 tests/auto/qxmlstream/data/009.xml create mode 100644 tests/auto/qxmlstream/data/010.ref create mode 100644 tests/auto/qxmlstream/data/010.xml create mode 100644 tests/auto/qxmlstream/data/011.ref create mode 100644 tests/auto/qxmlstream/data/011.xml create mode 100644 tests/auto/qxmlstream/data/012.ref create mode 100644 tests/auto/qxmlstream/data/012.xml create mode 100644 tests/auto/qxmlstream/data/013.ref create mode 100644 tests/auto/qxmlstream/data/013.xml create mode 100644 tests/auto/qxmlstream/data/014.ref create mode 100644 tests/auto/qxmlstream/data/014.xml create mode 100644 tests/auto/qxmlstream/data/015.ref create mode 100644 tests/auto/qxmlstream/data/015.xml create mode 100644 tests/auto/qxmlstream/data/016.ref create mode 100644 tests/auto/qxmlstream/data/016.xml create mode 100644 tests/auto/qxmlstream/data/017.ref create mode 100644 tests/auto/qxmlstream/data/017.xml create mode 100644 tests/auto/qxmlstream/data/018.ref create mode 100644 tests/auto/qxmlstream/data/018.xml create mode 100644 tests/auto/qxmlstream/data/019.ref create mode 100644 tests/auto/qxmlstream/data/019.xml create mode 100644 tests/auto/qxmlstream/data/020.ref create mode 100644 tests/auto/qxmlstream/data/020.xml create mode 100644 tests/auto/qxmlstream/data/021.ref create mode 100644 tests/auto/qxmlstream/data/021.xml create mode 100644 tests/auto/qxmlstream/data/022.ref create mode 100644 tests/auto/qxmlstream/data/022.xml create mode 100644 tests/auto/qxmlstream/data/023.ref create mode 100644 tests/auto/qxmlstream/data/023.xml create mode 100644 tests/auto/qxmlstream/data/024.ref create mode 100644 tests/auto/qxmlstream/data/024.xml create mode 100644 tests/auto/qxmlstream/data/025.ref create mode 100644 tests/auto/qxmlstream/data/025.xml create mode 100644 tests/auto/qxmlstream/data/026.ref create mode 100644 tests/auto/qxmlstream/data/026.xml create mode 100644 tests/auto/qxmlstream/data/027.ref create mode 100644 tests/auto/qxmlstream/data/027.xml create mode 100644 tests/auto/qxmlstream/data/028.ref create mode 100644 tests/auto/qxmlstream/data/028.xml create mode 100644 tests/auto/qxmlstream/data/029.ref create mode 100644 tests/auto/qxmlstream/data/029.xml create mode 100644 tests/auto/qxmlstream/data/030.ref create mode 100644 tests/auto/qxmlstream/data/030.xml create mode 100644 tests/auto/qxmlstream/data/031.ref create mode 100644 tests/auto/qxmlstream/data/031.xml create mode 100644 tests/auto/qxmlstream/data/032.ref create mode 100644 tests/auto/qxmlstream/data/032.xml create mode 100644 tests/auto/qxmlstream/data/033.ref create mode 100644 tests/auto/qxmlstream/data/033.xml create mode 100644 tests/auto/qxmlstream/data/034.ref create mode 100644 tests/auto/qxmlstream/data/034.xml create mode 100644 tests/auto/qxmlstream/data/035.ref create mode 100644 tests/auto/qxmlstream/data/035.xml create mode 100644 tests/auto/qxmlstream/data/036.ref create mode 100644 tests/auto/qxmlstream/data/036.xml create mode 100644 tests/auto/qxmlstream/data/037.ref create mode 100644 tests/auto/qxmlstream/data/037.xml create mode 100644 tests/auto/qxmlstream/data/038.ref create mode 100644 tests/auto/qxmlstream/data/038.xml create mode 100644 tests/auto/qxmlstream/data/039.ref create mode 100644 tests/auto/qxmlstream/data/039.xml create mode 100644 tests/auto/qxmlstream/data/040.ref create mode 100644 tests/auto/qxmlstream/data/040.xml create mode 100644 tests/auto/qxmlstream/data/041.ref create mode 100644 tests/auto/qxmlstream/data/041.xml create mode 100644 tests/auto/qxmlstream/data/042.ref create mode 100644 tests/auto/qxmlstream/data/042.xml create mode 100644 tests/auto/qxmlstream/data/043.ref create mode 100644 tests/auto/qxmlstream/data/043.xml create mode 100644 tests/auto/qxmlstream/data/044.ref create mode 100644 tests/auto/qxmlstream/data/044.xml create mode 100644 tests/auto/qxmlstream/data/045.ref create mode 100644 tests/auto/qxmlstream/data/045.xml create mode 100644 tests/auto/qxmlstream/data/046.ref create mode 100644 tests/auto/qxmlstream/data/046.xml create mode 100644 tests/auto/qxmlstream/data/047.ref create mode 100644 tests/auto/qxmlstream/data/047.xml create mode 100644 tests/auto/qxmlstream/data/048.ref create mode 100644 tests/auto/qxmlstream/data/048.xml create mode 100644 tests/auto/qxmlstream/data/051reduced.ref create mode 100644 tests/auto/qxmlstream/data/051reduced.xml create mode 100644 tests/auto/qxmlstream/data/1.ref create mode 100644 tests/auto/qxmlstream/data/1.xml create mode 100644 tests/auto/qxmlstream/data/10.ref create mode 100644 tests/auto/qxmlstream/data/10.xml create mode 100644 tests/auto/qxmlstream/data/11.ref create mode 100644 tests/auto/qxmlstream/data/11.xml create mode 100644 tests/auto/qxmlstream/data/12.ref create mode 100644 tests/auto/qxmlstream/data/12.xml create mode 100644 tests/auto/qxmlstream/data/13.ref create mode 100644 tests/auto/qxmlstream/data/13.xml create mode 100644 tests/auto/qxmlstream/data/14.ref create mode 100644 tests/auto/qxmlstream/data/14.xml create mode 100644 tests/auto/qxmlstream/data/15.ref create mode 100644 tests/auto/qxmlstream/data/15.xml create mode 100644 tests/auto/qxmlstream/data/16.ref create mode 100644 tests/auto/qxmlstream/data/16.xml create mode 100644 tests/auto/qxmlstream/data/2.ref create mode 100644 tests/auto/qxmlstream/data/2.xml create mode 100644 tests/auto/qxmlstream/data/20.ref create mode 100644 tests/auto/qxmlstream/data/20.xml create mode 100644 tests/auto/qxmlstream/data/21.ref create mode 100644 tests/auto/qxmlstream/data/21.xml create mode 100644 tests/auto/qxmlstream/data/22.ref create mode 100644 tests/auto/qxmlstream/data/22.xml create mode 100644 tests/auto/qxmlstream/data/3.ref create mode 100644 tests/auto/qxmlstream/data/3.xml create mode 100644 tests/auto/qxmlstream/data/4.ref create mode 100644 tests/auto/qxmlstream/data/4.xml create mode 100644 tests/auto/qxmlstream/data/5.ref create mode 100644 tests/auto/qxmlstream/data/5.xml create mode 100644 tests/auto/qxmlstream/data/6.ref create mode 100644 tests/auto/qxmlstream/data/6.xml create mode 100644 tests/auto/qxmlstream/data/7.ref create mode 100644 tests/auto/qxmlstream/data/7.xml create mode 100644 tests/auto/qxmlstream/data/8.ref create mode 100644 tests/auto/qxmlstream/data/8.xml create mode 100644 tests/auto/qxmlstream/data/9.ref create mode 100644 tests/auto/qxmlstream/data/9.xml create mode 100644 tests/auto/qxmlstream/data/books.ref create mode 100644 tests/auto/qxmlstream/data/books.xml create mode 100644 tests/auto/qxmlstream/data/colonInPI.ref create mode 100644 tests/auto/qxmlstream/data/colonInPI.xml create mode 100644 tests/auto/qxmlstream/data/mixedContent.ref create mode 100644 tests/auto/qxmlstream/data/mixedContent.xml create mode 100644 tests/auto/qxmlstream/data/namespaceCDATA.ref create mode 100644 tests/auto/qxmlstream/data/namespaceCDATA.xml create mode 100644 tests/auto/qxmlstream/data/namespaces create mode 100644 tests/auto/qxmlstream/data/org_module.ref create mode 100644 tests/auto/qxmlstream/data/org_module.xml create mode 100644 tests/auto/qxmlstream/data/spaceBracket.ref create mode 100644 tests/auto/qxmlstream/data/spaceBracket.xml create mode 100644 tests/auto/qxmlstream/qc14n.h create mode 100644 tests/auto/qxmlstream/qxmlstream.pro create mode 100755 tests/auto/qxmlstream/setupSuite.sh create mode 100644 tests/auto/qxmlstream/tst_qxmlstream.cpp create mode 100644 tests/auto/qzip/.gitignore create mode 100644 tests/auto/qzip/qzip.pro create mode 100644 tests/auto/qzip/testdata/symlink.zip create mode 100644 tests/auto/qzip/testdata/test.zip create mode 100644 tests/auto/qzip/tst_qzip.cpp create mode 100644 tests/auto/rcc/.gitignore create mode 100644 tests/auto/rcc/data/images.bin.expected create mode 100644 tests/auto/rcc/data/images.expected create mode 100644 tests/auto/rcc/data/images.qrc create mode 100644 tests/auto/rcc/data/images/circle.png create mode 100644 tests/auto/rcc/data/images/square.png create mode 100644 tests/auto/rcc/data/images/subdir/triangle.png create mode 100644 tests/auto/rcc/rcc.pro create mode 100644 tests/auto/rcc/tst_rcc.cpp create mode 100755 tests/auto/runQtXmlPatternsTests.sh create mode 100644 tests/auto/selftests/.gitignore create mode 100644 tests/auto/selftests/README create mode 100644 tests/auto/selftests/alive/.gitignore create mode 100644 tests/auto/selftests/alive/alive.pro create mode 100644 tests/auto/selftests/alive/qtestalive.cpp create mode 100644 tests/auto/selftests/alive/tst_alive.cpp create mode 100644 tests/auto/selftests/assert/assert.pro create mode 100644 tests/auto/selftests/assert/tst_assert.cpp create mode 100644 tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro create mode 100644 tests/auto/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp create mode 100644 tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro create mode 100644 tests/auto/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp create mode 100644 tests/auto/selftests/benchliboptions/benchliboptions.pro create mode 100644 tests/auto/selftests/benchliboptions/tst_benchliboptions.cpp create mode 100644 tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro create mode 100644 tests/auto/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp create mode 100644 tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro create mode 100644 tests/auto/selftests/benchlibwalltime/tst_benchlibwalltime.cpp create mode 100644 tests/auto/selftests/cmptest/cmptest.pro create mode 100644 tests/auto/selftests/cmptest/tst_cmptest.cpp create mode 100644 tests/auto/selftests/commandlinedata/commandlinedata.pro create mode 100644 tests/auto/selftests/commandlinedata/tst_commandlinedata.cpp create mode 100644 tests/auto/selftests/crashes/crashes.pro create mode 100644 tests/auto/selftests/crashes/tst_crashes.cpp create mode 100644 tests/auto/selftests/datatable/datatable.pro create mode 100644 tests/auto/selftests/datatable/tst_datatable.cpp create mode 100644 tests/auto/selftests/datetime/datetime.pro create mode 100644 tests/auto/selftests/datetime/tst_datetime.cpp create mode 100644 tests/auto/selftests/differentexec/differentexec.pro create mode 100644 tests/auto/selftests/differentexec/tst_differentexec.cpp create mode 100644 tests/auto/selftests/exception/exception.pro create mode 100644 tests/auto/selftests/exception/tst_exception.cpp create mode 100644 tests/auto/selftests/expected_alive.txt create mode 100644 tests/auto/selftests/expected_assert.txt create mode 100644 tests/auto/selftests/expected_benchlibcallgrind.txt create mode 100644 tests/auto/selftests/expected_benchlibeventcounter.txt create mode 100644 tests/auto/selftests/expected_benchliboptions.txt create mode 100644 tests/auto/selftests/expected_benchlibtickcounter.txt create mode 100644 tests/auto/selftests/expected_benchlibwalltime.txt create mode 100644 tests/auto/selftests/expected_cmptest.txt create mode 100644 tests/auto/selftests/expected_commandlinedata.txt create mode 100644 tests/auto/selftests/expected_crashes_1.txt create mode 100644 tests/auto/selftests/expected_crashes_2.txt create mode 100644 tests/auto/selftests/expected_datatable.txt create mode 100644 tests/auto/selftests/expected_datetime.txt create mode 100644 tests/auto/selftests/expected_differentexec.txt create mode 100644 tests/auto/selftests/expected_exception.txt create mode 100644 tests/auto/selftests/expected_expectfail.txt create mode 100644 tests/auto/selftests/expected_failinit.txt create mode 100644 tests/auto/selftests/expected_failinitdata.txt create mode 100644 tests/auto/selftests/expected_fatal.txt create mode 100644 tests/auto/selftests/expected_fetchbogus.txt create mode 100644 tests/auto/selftests/expected_globaldata.txt create mode 100644 tests/auto/selftests/expected_maxwarnings.txt create mode 100644 tests/auto/selftests/expected_multiexec.txt create mode 100644 tests/auto/selftests/expected_qexecstringlist.txt create mode 100644 tests/auto/selftests/expected_singleskip.txt create mode 100644 tests/auto/selftests/expected_skip.txt create mode 100644 tests/auto/selftests/expected_skipglobal.txt create mode 100644 tests/auto/selftests/expected_skipinit.txt create mode 100644 tests/auto/selftests/expected_skipinitdata.txt create mode 100644 tests/auto/selftests/expected_sleep.txt create mode 100644 tests/auto/selftests/expected_strcmp.txt create mode 100644 tests/auto/selftests/expected_subtest.txt create mode 100644 tests/auto/selftests/expected_waitwithoutgui.txt create mode 100644 tests/auto/selftests/expected_warnings.txt create mode 100644 tests/auto/selftests/expectfail/expectfail.pro create mode 100644 tests/auto/selftests/expectfail/tst_expectfail.cpp create mode 100644 tests/auto/selftests/failinit/failinit.pro create mode 100644 tests/auto/selftests/failinit/tst_failinit.cpp create mode 100644 tests/auto/selftests/failinitdata/failinitdata.pro create mode 100644 tests/auto/selftests/failinitdata/tst_failinitdata.cpp create mode 100644 tests/auto/selftests/fetchbogus/fetchbogus.pro create mode 100644 tests/auto/selftests/fetchbogus/tst_fetchbogus.cpp create mode 100644 tests/auto/selftests/globaldata/globaldata.pro create mode 100644 tests/auto/selftests/globaldata/tst_globaldata.cpp create mode 100644 tests/auto/selftests/maxwarnings/maxwarnings.cpp create mode 100644 tests/auto/selftests/maxwarnings/maxwarnings.pro create mode 100644 tests/auto/selftests/multiexec/multiexec.pro create mode 100644 tests/auto/selftests/multiexec/tst_multiexec.cpp create mode 100644 tests/auto/selftests/qexecstringlist/qexecstringlist.pro create mode 100644 tests/auto/selftests/qexecstringlist/tst_qexecstringlist.cpp create mode 100644 tests/auto/selftests/selftests.pro create mode 100644 tests/auto/selftests/selftests.qrc create mode 100644 tests/auto/selftests/singleskip/singleskip.pro create mode 100644 tests/auto/selftests/singleskip/tst_singleskip.cpp create mode 100644 tests/auto/selftests/skip/skip.pro create mode 100644 tests/auto/selftests/skip/tst_skip.cpp create mode 100644 tests/auto/selftests/skipglobal/skipglobal.pro create mode 100644 tests/auto/selftests/skipglobal/tst_skipglobal.cpp create mode 100644 tests/auto/selftests/skipinit/skipinit.pro create mode 100644 tests/auto/selftests/skipinit/tst_skipinit.cpp create mode 100644 tests/auto/selftests/skipinitdata/skipinitdata.pro create mode 100644 tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp create mode 100644 tests/auto/selftests/sleep/sleep.pro create mode 100644 tests/auto/selftests/sleep/tst_sleep.cpp create mode 100644 tests/auto/selftests/strcmp/strcmp.pro create mode 100644 tests/auto/selftests/strcmp/tst_strcmp.cpp create mode 100644 tests/auto/selftests/subtest/subtest.pro create mode 100644 tests/auto/selftests/subtest/tst_subtest.cpp create mode 100644 tests/auto/selftests/test/test.pro create mode 100644 tests/auto/selftests/tst_selftests.cpp create mode 100755 tests/auto/selftests/updateBaselines.sh create mode 100644 tests/auto/selftests/waitwithoutgui/tst_waitwithoutgui.cpp create mode 100644 tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro create mode 100644 tests/auto/selftests/warnings/tst_warnings.cpp create mode 100644 tests/auto/selftests/warnings/warnings.pro create mode 100644 tests/auto/solutions.pri create mode 100644 tests/auto/symbols/.gitignore create mode 100644 tests/auto/symbols/symbols.pro create mode 100644 tests/auto/symbols/tst_symbols.cpp create mode 100755 tests/auto/test.pl create mode 100644 tests/auto/tests.xml create mode 100644 tests/auto/uic/.gitignore create mode 100644 tests/auto/uic/baseline/.gitattributes create mode 100644 tests/auto/uic/baseline/Dialog_with_Buttons_Bottom.ui create mode 100644 tests/auto/uic/baseline/Dialog_with_Buttons_Bottom.ui.h create mode 100644 tests/auto/uic/baseline/Dialog_with_Buttons_Right.ui create mode 100644 tests/auto/uic/baseline/Dialog_with_Buttons_Right.ui.h create mode 100644 tests/auto/uic/baseline/Dialog_without_Buttons.ui create mode 100644 tests/auto/uic/baseline/Dialog_without_Buttons.ui.h create mode 100644 tests/auto/uic/baseline/Main_Window.ui create mode 100644 tests/auto/uic/baseline/Main_Window.ui.h create mode 100644 tests/auto/uic/baseline/Widget.ui create mode 100644 tests/auto/uic/baseline/Widget.ui.h create mode 100644 tests/auto/uic/baseline/addlinkdialog.ui create mode 100644 tests/auto/uic/baseline/addlinkdialog.ui.h create mode 100644 tests/auto/uic/baseline/addtorrentform.ui create mode 100644 tests/auto/uic/baseline/addtorrentform.ui.h create mode 100644 tests/auto/uic/baseline/authenticationdialog.ui create mode 100644 tests/auto/uic/baseline/authenticationdialog.ui.h create mode 100644 tests/auto/uic/baseline/backside.ui create mode 100644 tests/auto/uic/baseline/backside.ui.h create mode 100644 tests/auto/uic/baseline/batchtranslation.ui create mode 100644 tests/auto/uic/baseline/batchtranslation.ui.h create mode 100644 tests/auto/uic/baseline/bookmarkdialog.ui create mode 100644 tests/auto/uic/baseline/bookmarkdialog.ui.h create mode 100644 tests/auto/uic/baseline/bookwindow.ui create mode 100644 tests/auto/uic/baseline/bookwindow.ui.h create mode 100644 tests/auto/uic/baseline/browserwidget.ui create mode 100644 tests/auto/uic/baseline/browserwidget.ui.h create mode 100644 tests/auto/uic/baseline/calculator.ui create mode 100644 tests/auto/uic/baseline/calculator.ui.h create mode 100644 tests/auto/uic/baseline/calculatorform.ui create mode 100644 tests/auto/uic/baseline/calculatorform.ui.h create mode 100644 tests/auto/uic/baseline/certificateinfo.ui create mode 100644 tests/auto/uic/baseline/certificateinfo.ui.h create mode 100644 tests/auto/uic/baseline/chatdialog.ui create mode 100644 tests/auto/uic/baseline/chatdialog.ui.h create mode 100644 tests/auto/uic/baseline/chatmainwindow.ui create mode 100644 tests/auto/uic/baseline/chatmainwindow.ui.h create mode 100644 tests/auto/uic/baseline/chatsetnickname.ui create mode 100644 tests/auto/uic/baseline/chatsetnickname.ui.h create mode 100644 tests/auto/uic/baseline/config.ui create mode 100644 tests/auto/uic/baseline/config.ui.h create mode 100644 tests/auto/uic/baseline/connectdialog.ui create mode 100644 tests/auto/uic/baseline/connectdialog.ui.h create mode 100644 tests/auto/uic/baseline/controller.ui create mode 100644 tests/auto/uic/baseline/controller.ui.h create mode 100644 tests/auto/uic/baseline/cookies.ui create mode 100644 tests/auto/uic/baseline/cookies.ui.h create mode 100644 tests/auto/uic/baseline/cookiesexceptions.ui create mode 100644 tests/auto/uic/baseline/cookiesexceptions.ui.h create mode 100644 tests/auto/uic/baseline/default.ui create mode 100644 tests/auto/uic/baseline/default.ui.h create mode 100644 tests/auto/uic/baseline/dialog.ui create mode 100644 tests/auto/uic/baseline/dialog.ui.h create mode 100644 tests/auto/uic/baseline/downloaditem.ui create mode 100644 tests/auto/uic/baseline/downloaditem.ui.h create mode 100644 tests/auto/uic/baseline/downloads.ui create mode 100644 tests/auto/uic/baseline/downloads.ui.h create mode 100644 tests/auto/uic/baseline/embeddeddialog.ui create mode 100644 tests/auto/uic/baseline/embeddeddialog.ui.h create mode 100644 tests/auto/uic/baseline/filespage.ui create mode 100644 tests/auto/uic/baseline/filespage.ui.h create mode 100644 tests/auto/uic/baseline/filternamedialog.ui create mode 100644 tests/auto/uic/baseline/filternamedialog.ui.h create mode 100644 tests/auto/uic/baseline/filterpage.ui create mode 100644 tests/auto/uic/baseline/filterpage.ui.h create mode 100644 tests/auto/uic/baseline/finddialog.ui create mode 100644 tests/auto/uic/baseline/finddialog.ui.h create mode 100644 tests/auto/uic/baseline/form.ui create mode 100644 tests/auto/uic/baseline/form.ui.h create mode 100644 tests/auto/uic/baseline/formwindowsettings.ui create mode 100644 tests/auto/uic/baseline/formwindowsettings.ui.h create mode 100644 tests/auto/uic/baseline/generalpage.ui create mode 100644 tests/auto/uic/baseline/generalpage.ui.h create mode 100644 tests/auto/uic/baseline/gridpanel.ui create mode 100644 tests/auto/uic/baseline/gridpanel.ui.h create mode 100644 tests/auto/uic/baseline/helpdialog.ui create mode 100644 tests/auto/uic/baseline/helpdialog.ui.h create mode 100644 tests/auto/uic/baseline/history.ui create mode 100644 tests/auto/uic/baseline/history.ui.h create mode 100644 tests/auto/uic/baseline/identifierpage.ui create mode 100644 tests/auto/uic/baseline/identifierpage.ui.h create mode 100644 tests/auto/uic/baseline/imagedialog.ui create mode 100644 tests/auto/uic/baseline/imagedialog.ui.h create mode 100644 tests/auto/uic/baseline/inputpage.ui create mode 100644 tests/auto/uic/baseline/inputpage.ui.h create mode 100644 tests/auto/uic/baseline/installdialog.ui create mode 100644 tests/auto/uic/baseline/installdialog.ui.h create mode 100644 tests/auto/uic/baseline/languagesdialog.ui create mode 100644 tests/auto/uic/baseline/languagesdialog.ui.h create mode 100644 tests/auto/uic/baseline/listwidgeteditor.ui create mode 100644 tests/auto/uic/baseline/listwidgeteditor.ui.h create mode 100644 tests/auto/uic/baseline/mainwindow.ui create mode 100644 tests/auto/uic/baseline/mainwindow.ui.h create mode 100644 tests/auto/uic/baseline/mainwindowbase.ui create mode 100644 tests/auto/uic/baseline/mainwindowbase.ui.h create mode 100644 tests/auto/uic/baseline/mydialog.ui create mode 100644 tests/auto/uic/baseline/mydialog.ui.h create mode 100644 tests/auto/uic/baseline/myform.ui create mode 100644 tests/auto/uic/baseline/myform.ui.h create mode 100644 tests/auto/uic/baseline/newactiondialog.ui create mode 100644 tests/auto/uic/baseline/newactiondialog.ui.h create mode 100644 tests/auto/uic/baseline/newdynamicpropertydialog.ui create mode 100644 tests/auto/uic/baseline/newdynamicpropertydialog.ui.h create mode 100644 tests/auto/uic/baseline/newform.ui create mode 100644 tests/auto/uic/baseline/newform.ui.h create mode 100644 tests/auto/uic/baseline/orderdialog.ui create mode 100644 tests/auto/uic/baseline/orderdialog.ui.h create mode 100644 tests/auto/uic/baseline/outputpage.ui create mode 100644 tests/auto/uic/baseline/outputpage.ui.h create mode 100644 tests/auto/uic/baseline/pagefold.ui create mode 100644 tests/auto/uic/baseline/pagefold.ui.h create mode 100644 tests/auto/uic/baseline/paletteeditor.ui create mode 100644 tests/auto/uic/baseline/paletteeditor.ui.h create mode 100644 tests/auto/uic/baseline/paletteeditoradvancedbase.ui create mode 100644 tests/auto/uic/baseline/paletteeditoradvancedbase.ui.h create mode 100644 tests/auto/uic/baseline/passworddialog.ui create mode 100644 tests/auto/uic/baseline/passworddialog.ui.h create mode 100644 tests/auto/uic/baseline/pathpage.ui create mode 100644 tests/auto/uic/baseline/pathpage.ui.h create mode 100644 tests/auto/uic/baseline/phrasebookbox.ui create mode 100644 tests/auto/uic/baseline/phrasebookbox.ui.h create mode 100644 tests/auto/uic/baseline/plugindialog.ui create mode 100644 tests/auto/uic/baseline/plugindialog.ui.h create mode 100644 tests/auto/uic/baseline/preferencesdialog.ui create mode 100644 tests/auto/uic/baseline/preferencesdialog.ui.h create mode 100644 tests/auto/uic/baseline/previewconfigurationwidget.ui create mode 100644 tests/auto/uic/baseline/previewconfigurationwidget.ui.h create mode 100644 tests/auto/uic/baseline/previewdialogbase.ui create mode 100644 tests/auto/uic/baseline/previewdialogbase.ui.h create mode 100644 tests/auto/uic/baseline/previewwidget.ui create mode 100644 tests/auto/uic/baseline/previewwidget.ui.h create mode 100644 tests/auto/uic/baseline/previewwidgetbase.ui create mode 100644 tests/auto/uic/baseline/previewwidgetbase.ui.h create mode 100644 tests/auto/uic/baseline/proxy.ui create mode 100644 tests/auto/uic/baseline/proxy.ui.h create mode 100644 tests/auto/uic/baseline/qfiledialog.ui create mode 100644 tests/auto/uic/baseline/qfiledialog.ui.h create mode 100644 tests/auto/uic/baseline/qpagesetupwidget.ui create mode 100644 tests/auto/uic/baseline/qpagesetupwidget.ui.h create mode 100644 tests/auto/uic/baseline/qprintpropertieswidget.ui create mode 100644 tests/auto/uic/baseline/qprintpropertieswidget.ui.h create mode 100644 tests/auto/uic/baseline/qprintsettingsoutput.ui create mode 100644 tests/auto/uic/baseline/qprintsettingsoutput.ui.h create mode 100644 tests/auto/uic/baseline/qprintwidget.ui create mode 100644 tests/auto/uic/baseline/qprintwidget.ui.h create mode 100644 tests/auto/uic/baseline/qsqlconnectiondialog.ui create mode 100644 tests/auto/uic/baseline/qsqlconnectiondialog.ui.h create mode 100644 tests/auto/uic/baseline/qtgradientdialog.ui create mode 100644 tests/auto/uic/baseline/qtgradientdialog.ui.h create mode 100644 tests/auto/uic/baseline/qtgradienteditor.ui create mode 100644 tests/auto/uic/baseline/qtgradienteditor.ui.h create mode 100644 tests/auto/uic/baseline/qtgradientview.ui create mode 100644 tests/auto/uic/baseline/qtgradientview.ui.h create mode 100644 tests/auto/uic/baseline/qtgradientviewdialog.ui create mode 100644 tests/auto/uic/baseline/qtgradientviewdialog.ui.h create mode 100644 tests/auto/uic/baseline/qtresourceeditordialog.ui create mode 100644 tests/auto/uic/baseline/qtresourceeditordialog.ui.h create mode 100644 tests/auto/uic/baseline/qttoolbardialog.ui create mode 100644 tests/auto/uic/baseline/qttoolbardialog.ui.h create mode 100644 tests/auto/uic/baseline/querywidget.ui create mode 100644 tests/auto/uic/baseline/querywidget.ui.h create mode 100644 tests/auto/uic/baseline/remotecontrol.ui create mode 100644 tests/auto/uic/baseline/remotecontrol.ui.h create mode 100644 tests/auto/uic/baseline/saveformastemplate.ui create mode 100644 tests/auto/uic/baseline/saveformastemplate.ui.h create mode 100644 tests/auto/uic/baseline/settings.ui create mode 100644 tests/auto/uic/baseline/settings.ui.h create mode 100644 tests/auto/uic/baseline/signalslotdialog.ui create mode 100644 tests/auto/uic/baseline/signalslotdialog.ui.h create mode 100644 tests/auto/uic/baseline/sslclient.ui create mode 100644 tests/auto/uic/baseline/sslclient.ui.h create mode 100644 tests/auto/uic/baseline/sslerrors.ui create mode 100644 tests/auto/uic/baseline/sslerrors.ui.h create mode 100644 tests/auto/uic/baseline/statistics.ui create mode 100644 tests/auto/uic/baseline/statistics.ui.h create mode 100644 tests/auto/uic/baseline/stringlisteditor.ui create mode 100644 tests/auto/uic/baseline/stringlisteditor.ui.h create mode 100644 tests/auto/uic/baseline/stylesheeteditor.ui create mode 100644 tests/auto/uic/baseline/stylesheeteditor.ui.h create mode 100644 tests/auto/uic/baseline/tabbedbrowser.ui create mode 100644 tests/auto/uic/baseline/tabbedbrowser.ui.h create mode 100644 tests/auto/uic/baseline/tablewidgeteditor.ui create mode 100644 tests/auto/uic/baseline/tablewidgeteditor.ui.h create mode 100644 tests/auto/uic/baseline/tetrixwindow.ui create mode 100644 tests/auto/uic/baseline/tetrixwindow.ui.h create mode 100644 tests/auto/uic/baseline/textfinder.ui create mode 100644 tests/auto/uic/baseline/textfinder.ui.h create mode 100644 tests/auto/uic/baseline/topicchooser.ui create mode 100644 tests/auto/uic/baseline/topicchooser.ui.h create mode 100644 tests/auto/uic/baseline/translatedialog.ui create mode 100644 tests/auto/uic/baseline/translatedialog.ui.h create mode 100644 tests/auto/uic/baseline/translationsettings.ui create mode 100644 tests/auto/uic/baseline/translationsettings.ui.h create mode 100644 tests/auto/uic/baseline/treewidgeteditor.ui create mode 100644 tests/auto/uic/baseline/treewidgeteditor.ui.h create mode 100644 tests/auto/uic/baseline/trpreviewtool.ui create mode 100644 tests/auto/uic/baseline/trpreviewtool.ui.h create mode 100644 tests/auto/uic/baseline/validators.ui create mode 100644 tests/auto/uic/baseline/validators.ui.h create mode 100644 tests/auto/uic/baseline/wateringconfigdialog.ui create mode 100644 tests/auto/uic/baseline/wateringconfigdialog.ui.h create mode 100644 tests/auto/uic/generated_ui/placeholder create mode 100644 tests/auto/uic/tst_uic.cpp create mode 100644 tests/auto/uic/uic.pro create mode 100644 tests/auto/uic3/.gitattributes create mode 100644 tests/auto/uic3/.gitignore create mode 100644 tests/auto/uic3/baseline/Configuration_Dialog.ui create mode 100644 tests/auto/uic3/baseline/Configuration_Dialog.ui.4 create mode 100644 tests/auto/uic3/baseline/Configuration_Dialog.ui.err create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Bottom).ui create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Bottom).ui.4 create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Bottom).ui.err create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Right).ui create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Right).ui.4 create mode 100644 tests/auto/uic3/baseline/Dialog_with_Buttons_(Right).ui.err create mode 100644 tests/auto/uic3/baseline/Tab_Dialog.ui create mode 100644 tests/auto/uic3/baseline/Tab_Dialog.ui.4 create mode 100644 tests/auto/uic3/baseline/Tab_Dialog.ui.err create mode 100644 tests/auto/uic3/baseline/about.ui create mode 100644 tests/auto/uic3/baseline/about.ui.4 create mode 100644 tests/auto/uic3/baseline/about.ui.err create mode 100644 tests/auto/uic3/baseline/actioneditor.ui create mode 100644 tests/auto/uic3/baseline/actioneditor.ui.4 create mode 100644 tests/auto/uic3/baseline/actioneditor.ui.err create mode 100644 tests/auto/uic3/baseline/addressbook.ui create mode 100644 tests/auto/uic3/baseline/addressbook.ui.4 create mode 100644 tests/auto/uic3/baseline/addressbook.ui.err create mode 100644 tests/auto/uic3/baseline/addressdetails.ui create mode 100644 tests/auto/uic3/baseline/addressdetails.ui.4 create mode 100644 tests/auto/uic3/baseline/addressdetails.ui.err create mode 100644 tests/auto/uic3/baseline/ambientproperties.ui create mode 100644 tests/auto/uic3/baseline/ambientproperties.ui.4 create mode 100644 tests/auto/uic3/baseline/ambientproperties.ui.err create mode 100644 tests/auto/uic3/baseline/archivedialog.ui create mode 100644 tests/auto/uic3/baseline/archivedialog.ui.4 create mode 100644 tests/auto/uic3/baseline/archivedialog.ui.err create mode 100644 tests/auto/uic3/baseline/book.ui create mode 100644 tests/auto/uic3/baseline/book.ui.4 create mode 100644 tests/auto/uic3/baseline/book.ui.err create mode 100644 tests/auto/uic3/baseline/buildpage.ui create mode 100644 tests/auto/uic3/baseline/buildpage.ui.4 create mode 100644 tests/auto/uic3/baseline/buildpage.ui.err create mode 100644 tests/auto/uic3/baseline/changeproperties.ui create mode 100644 tests/auto/uic3/baseline/changeproperties.ui.4 create mode 100644 tests/auto/uic3/baseline/changeproperties.ui.err create mode 100644 tests/auto/uic3/baseline/clientbase.ui create mode 100644 tests/auto/uic3/baseline/clientbase.ui.4 create mode 100644 tests/auto/uic3/baseline/clientbase.ui.err create mode 100644 tests/auto/uic3/baseline/colornameform.ui create mode 100644 tests/auto/uic3/baseline/colornameform.ui.4 create mode 100644 tests/auto/uic3/baseline/colornameform.ui.err create mode 100644 tests/auto/uic3/baseline/config.ui create mode 100644 tests/auto/uic3/baseline/config.ui.4 create mode 100644 tests/auto/uic3/baseline/config.ui.err create mode 100644 tests/auto/uic3/baseline/configdialog.ui create mode 100644 tests/auto/uic3/baseline/configdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/configdialog.ui.err create mode 100644 tests/auto/uic3/baseline/configpage.ui create mode 100644 tests/auto/uic3/baseline/configpage.ui.4 create mode 100644 tests/auto/uic3/baseline/configpage.ui.err create mode 100644 tests/auto/uic3/baseline/configtoolboxdialog.ui create mode 100644 tests/auto/uic3/baseline/configtoolboxdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/configtoolboxdialog.ui.err create mode 100644 tests/auto/uic3/baseline/configuration.ui create mode 100644 tests/auto/uic3/baseline/configuration.ui.4 create mode 100644 tests/auto/uic3/baseline/configuration.ui.err create mode 100644 tests/auto/uic3/baseline/connect.ui create mode 100644 tests/auto/uic3/baseline/connect.ui.4 create mode 100644 tests/auto/uic3/baseline/connect.ui.err create mode 100644 tests/auto/uic3/baseline/connectdialog.ui create mode 100644 tests/auto/uic3/baseline/connectdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/connectdialog.ui.err create mode 100644 tests/auto/uic3/baseline/connectiondialog.ui create mode 100644 tests/auto/uic3/baseline/connectiondialog.ui.4 create mode 100644 tests/auto/uic3/baseline/connectiondialog.ui.err create mode 100644 tests/auto/uic3/baseline/controlinfo.ui create mode 100644 tests/auto/uic3/baseline/controlinfo.ui.4 create mode 100644 tests/auto/uic3/baseline/controlinfo.ui.err create mode 100644 tests/auto/uic3/baseline/createtemplate.ui create mode 100644 tests/auto/uic3/baseline/createtemplate.ui.4 create mode 100644 tests/auto/uic3/baseline/createtemplate.ui.err create mode 100644 tests/auto/uic3/baseline/creditformbase.ui create mode 100644 tests/auto/uic3/baseline/creditformbase.ui.4 create mode 100644 tests/auto/uic3/baseline/creditformbase.ui.err create mode 100644 tests/auto/uic3/baseline/customize.ui create mode 100644 tests/auto/uic3/baseline/customize.ui.4 create mode 100644 tests/auto/uic3/baseline/customize.ui.err create mode 100644 tests/auto/uic3/baseline/customwidgeteditor.ui create mode 100644 tests/auto/uic3/baseline/customwidgeteditor.ui.4 create mode 100644 tests/auto/uic3/baseline/customwidgeteditor.ui.err create mode 100644 tests/auto/uic3/baseline/dbconnection.ui create mode 100644 tests/auto/uic3/baseline/dbconnection.ui.4 create mode 100644 tests/auto/uic3/baseline/dbconnection.ui.err create mode 100644 tests/auto/uic3/baseline/dbconnectioneditor.ui create mode 100644 tests/auto/uic3/baseline/dbconnectioneditor.ui.4 create mode 100644 tests/auto/uic3/baseline/dbconnectioneditor.ui.err create mode 100644 tests/auto/uic3/baseline/dbconnections.ui create mode 100644 tests/auto/uic3/baseline/dbconnections.ui.4 create mode 100644 tests/auto/uic3/baseline/dbconnections.ui.err create mode 100644 tests/auto/uic3/baseline/demo.ui create mode 100644 tests/auto/uic3/baseline/demo.ui.4 create mode 100644 tests/auto/uic3/baseline/demo.ui.err create mode 100644 tests/auto/uic3/baseline/destination.ui create mode 100644 tests/auto/uic3/baseline/destination.ui.4 create mode 100644 tests/auto/uic3/baseline/destination.ui.err create mode 100644 tests/auto/uic3/baseline/dialogform.ui create mode 100644 tests/auto/uic3/baseline/dialogform.ui.4 create mode 100644 tests/auto/uic3/baseline/dialogform.ui.err create mode 100644 tests/auto/uic3/baseline/diffdialog.ui create mode 100644 tests/auto/uic3/baseline/diffdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/diffdialog.ui.err create mode 100644 tests/auto/uic3/baseline/distributor.ui create mode 100644 tests/auto/uic3/baseline/distributor.ui.4 create mode 100644 tests/auto/uic3/baseline/distributor.ui.err create mode 100644 tests/auto/uic3/baseline/dndbase.ui create mode 100644 tests/auto/uic3/baseline/dndbase.ui.4 create mode 100644 tests/auto/uic3/baseline/dndbase.ui.err create mode 100644 tests/auto/uic3/baseline/editbook.ui create mode 100644 tests/auto/uic3/baseline/editbook.ui.4 create mode 100644 tests/auto/uic3/baseline/editbook.ui.err create mode 100644 tests/auto/uic3/baseline/editfunctions.ui create mode 100644 tests/auto/uic3/baseline/editfunctions.ui.4 create mode 100644 tests/auto/uic3/baseline/editfunctions.ui.err create mode 100644 tests/auto/uic3/baseline/extension.ui create mode 100644 tests/auto/uic3/baseline/extension.ui.4 create mode 100644 tests/auto/uic3/baseline/extension.ui.err create mode 100644 tests/auto/uic3/baseline/finddialog.ui create mode 100644 tests/auto/uic3/baseline/finddialog.ui.4 create mode 100644 tests/auto/uic3/baseline/finddialog.ui.err create mode 100644 tests/auto/uic3/baseline/findform.ui create mode 100644 tests/auto/uic3/baseline/findform.ui.4 create mode 100644 tests/auto/uic3/baseline/findform.ui.err create mode 100644 tests/auto/uic3/baseline/finishpage.ui create mode 100644 tests/auto/uic3/baseline/finishpage.ui.4 create mode 100644 tests/auto/uic3/baseline/finishpage.ui.err create mode 100644 tests/auto/uic3/baseline/folderdlg.ui create mode 100644 tests/auto/uic3/baseline/folderdlg.ui.4 create mode 100644 tests/auto/uic3/baseline/folderdlg.ui.err create mode 100644 tests/auto/uic3/baseline/folderspage.ui create mode 100644 tests/auto/uic3/baseline/folderspage.ui.4 create mode 100644 tests/auto/uic3/baseline/folderspage.ui.err create mode 100644 tests/auto/uic3/baseline/form.ui create mode 100644 tests/auto/uic3/baseline/form.ui.4 create mode 100644 tests/auto/uic3/baseline/form.ui.err create mode 100644 tests/auto/uic3/baseline/form1.ui create mode 100644 tests/auto/uic3/baseline/form1.ui.4 create mode 100644 tests/auto/uic3/baseline/form1.ui.err create mode 100644 tests/auto/uic3/baseline/form2.ui create mode 100644 tests/auto/uic3/baseline/form2.ui.4 create mode 100644 tests/auto/uic3/baseline/form2.ui.err create mode 100644 tests/auto/uic3/baseline/formbase.ui create mode 100644 tests/auto/uic3/baseline/formbase.ui.4 create mode 100644 tests/auto/uic3/baseline/formbase.ui.err create mode 100644 tests/auto/uic3/baseline/formsettings.ui create mode 100644 tests/auto/uic3/baseline/formsettings.ui.4 create mode 100644 tests/auto/uic3/baseline/formsettings.ui.err create mode 100644 tests/auto/uic3/baseline/ftpmainwindow.ui create mode 100644 tests/auto/uic3/baseline/ftpmainwindow.ui.4 create mode 100644 tests/auto/uic3/baseline/ftpmainwindow.ui.err create mode 100644 tests/auto/uic3/baseline/gllandscapeviewer.ui create mode 100644 tests/auto/uic3/baseline/gllandscapeviewer.ui.4 create mode 100644 tests/auto/uic3/baseline/gllandscapeviewer.ui.err create mode 100644 tests/auto/uic3/baseline/gotolinedialog.ui create mode 100644 tests/auto/uic3/baseline/gotolinedialog.ui.4 create mode 100644 tests/auto/uic3/baseline/gotolinedialog.ui.err create mode 100644 tests/auto/uic3/baseline/helpdemobase.ui create mode 100644 tests/auto/uic3/baseline/helpdemobase.ui.4 create mode 100644 tests/auto/uic3/baseline/helpdemobase.ui.err create mode 100644 tests/auto/uic3/baseline/helpdialog.ui create mode 100644 tests/auto/uic3/baseline/helpdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/helpdialog.ui.err create mode 100644 tests/auto/uic3/baseline/iconvieweditor.ui create mode 100644 tests/auto/uic3/baseline/iconvieweditor.ui.4 create mode 100644 tests/auto/uic3/baseline/iconvieweditor.ui.err create mode 100644 tests/auto/uic3/baseline/install.ui create mode 100644 tests/auto/uic3/baseline/install.ui.4 create mode 100644 tests/auto/uic3/baseline/install.ui.err create mode 100644 tests/auto/uic3/baseline/installationwizard.ui create mode 100644 tests/auto/uic3/baseline/installationwizard.ui.4 create mode 100644 tests/auto/uic3/baseline/installationwizard.ui.err create mode 100644 tests/auto/uic3/baseline/invokemethod.ui create mode 100644 tests/auto/uic3/baseline/invokemethod.ui.4 create mode 100644 tests/auto/uic3/baseline/invokemethod.ui.err create mode 100644 tests/auto/uic3/baseline/license.ui create mode 100644 tests/auto/uic3/baseline/license.ui.4 create mode 100644 tests/auto/uic3/baseline/license.ui.err create mode 100644 tests/auto/uic3/baseline/licenseagreementpage.ui create mode 100644 tests/auto/uic3/baseline/licenseagreementpage.ui.4 create mode 100644 tests/auto/uic3/baseline/licenseagreementpage.ui.err create mode 100644 tests/auto/uic3/baseline/licensedlg.ui create mode 100644 tests/auto/uic3/baseline/licensedlg.ui.4 create mode 100644 tests/auto/uic3/baseline/licensedlg.ui.err create mode 100644 tests/auto/uic3/baseline/licensepage.ui create mode 100644 tests/auto/uic3/baseline/licensepage.ui.4 create mode 100644 tests/auto/uic3/baseline/licensepage.ui.err create mode 100644 tests/auto/uic3/baseline/listboxeditor.ui create mode 100644 tests/auto/uic3/baseline/listboxeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/listboxeditor.ui.err create mode 100644 tests/auto/uic3/baseline/listeditor.ui create mode 100644 tests/auto/uic3/baseline/listeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/listeditor.ui.err create mode 100644 tests/auto/uic3/baseline/listvieweditor.ui create mode 100644 tests/auto/uic3/baseline/listvieweditor.ui.4 create mode 100644 tests/auto/uic3/baseline/listvieweditor.ui.err create mode 100644 tests/auto/uic3/baseline/maindialog.ui create mode 100644 tests/auto/uic3/baseline/maindialog.ui.4 create mode 100644 tests/auto/uic3/baseline/maindialog.ui.err create mode 100644 tests/auto/uic3/baseline/mainfilesettings.ui create mode 100644 tests/auto/uic3/baseline/mainfilesettings.ui.4 create mode 100644 tests/auto/uic3/baseline/mainfilesettings.ui.err create mode 100644 tests/auto/uic3/baseline/mainform.ui create mode 100644 tests/auto/uic3/baseline/mainform.ui.4 create mode 100644 tests/auto/uic3/baseline/mainform.ui.err create mode 100644 tests/auto/uic3/baseline/mainformbase.ui create mode 100644 tests/auto/uic3/baseline/mainformbase.ui.4 create mode 100644 tests/auto/uic3/baseline/mainformbase.ui.err create mode 100644 tests/auto/uic3/baseline/mainview.ui create mode 100644 tests/auto/uic3/baseline/mainview.ui.4 create mode 100644 tests/auto/uic3/baseline/mainview.ui.err create mode 100644 tests/auto/uic3/baseline/mainwindow.ui create mode 100644 tests/auto/uic3/baseline/mainwindow.ui.4 create mode 100644 tests/auto/uic3/baseline/mainwindow.ui.err create mode 100644 tests/auto/uic3/baseline/mainwindowbase.ui create mode 100644 tests/auto/uic3/baseline/mainwindowbase.ui.4 create mode 100644 tests/auto/uic3/baseline/mainwindowbase.ui.err create mode 100644 tests/auto/uic3/baseline/mainwindowwizard.ui create mode 100644 tests/auto/uic3/baseline/mainwindowwizard.ui.4 create mode 100644 tests/auto/uic3/baseline/mainwindowwizard.ui.err create mode 100644 tests/auto/uic3/baseline/masterchildwindow.ui create mode 100644 tests/auto/uic3/baseline/masterchildwindow.ui.4 create mode 100644 tests/auto/uic3/baseline/masterchildwindow.ui.err create mode 100644 tests/auto/uic3/baseline/metric.ui create mode 100644 tests/auto/uic3/baseline/metric.ui.4 create mode 100644 tests/auto/uic3/baseline/metric.ui.err create mode 100644 tests/auto/uic3/baseline/multiclip.ui create mode 100644 tests/auto/uic3/baseline/multiclip.ui.4 create mode 100644 tests/auto/uic3/baseline/multiclip.ui.err create mode 100644 tests/auto/uic3/baseline/multilineeditor.ui create mode 100644 tests/auto/uic3/baseline/multilineeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/multilineeditor.ui.err create mode 100644 tests/auto/uic3/baseline/mydialog.ui create mode 100644 tests/auto/uic3/baseline/mydialog.ui.4 create mode 100644 tests/auto/uic3/baseline/mydialog.ui.err create mode 100644 tests/auto/uic3/baseline/newform.ui create mode 100644 tests/auto/uic3/baseline/newform.ui.4 create mode 100644 tests/auto/uic3/baseline/newform.ui.err create mode 100644 tests/auto/uic3/baseline/options.ui create mode 100644 tests/auto/uic3/baseline/options.ui.4 create mode 100644 tests/auto/uic3/baseline/options.ui.err create mode 100644 tests/auto/uic3/baseline/optionsform.ui create mode 100644 tests/auto/uic3/baseline/optionsform.ui.4 create mode 100644 tests/auto/uic3/baseline/optionsform.ui.err create mode 100644 tests/auto/uic3/baseline/optionspage.ui create mode 100644 tests/auto/uic3/baseline/optionspage.ui.4 create mode 100644 tests/auto/uic3/baseline/optionspage.ui.err create mode 100644 tests/auto/uic3/baseline/oramonitor.ui create mode 100644 tests/auto/uic3/baseline/oramonitor.ui.4 create mode 100644 tests/auto/uic3/baseline/oramonitor.ui.err create mode 100644 tests/auto/uic3/baseline/pageeditdialog.ui create mode 100644 tests/auto/uic3/baseline/pageeditdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/pageeditdialog.ui.err create mode 100644 tests/auto/uic3/baseline/paletteeditor.ui create mode 100644 tests/auto/uic3/baseline/paletteeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/paletteeditor.ui.err create mode 100644 tests/auto/uic3/baseline/paletteeditoradvanced.ui create mode 100644 tests/auto/uic3/baseline/paletteeditoradvanced.ui.4 create mode 100644 tests/auto/uic3/baseline/paletteeditoradvanced.ui.err create mode 100644 tests/auto/uic3/baseline/paletteeditoradvancedbase.ui create mode 100644 tests/auto/uic3/baseline/paletteeditoradvancedbase.ui.4 create mode 100644 tests/auto/uic3/baseline/paletteeditoradvancedbase.ui.err create mode 100644 tests/auto/uic3/baseline/pixmapcollectioneditor.ui create mode 100644 tests/auto/uic3/baseline/pixmapcollectioneditor.ui.4 create mode 100644 tests/auto/uic3/baseline/pixmapcollectioneditor.ui.err create mode 100644 tests/auto/uic3/baseline/pixmapfunction.ui create mode 100644 tests/auto/uic3/baseline/pixmapfunction.ui.4 create mode 100644 tests/auto/uic3/baseline/pixmapfunction.ui.err create mode 100644 tests/auto/uic3/baseline/preferences.ui create mode 100644 tests/auto/uic3/baseline/preferences.ui.4 create mode 100644 tests/auto/uic3/baseline/preferences.ui.err create mode 100644 tests/auto/uic3/baseline/previewwidget.ui create mode 100644 tests/auto/uic3/baseline/previewwidget.ui.4 create mode 100644 tests/auto/uic3/baseline/previewwidget.ui.err create mode 100644 tests/auto/uic3/baseline/previewwidgetbase.ui create mode 100644 tests/auto/uic3/baseline/previewwidgetbase.ui.4 create mode 100644 tests/auto/uic3/baseline/previewwidgetbase.ui.err create mode 100644 tests/auto/uic3/baseline/printpreview.ui create mode 100644 tests/auto/uic3/baseline/printpreview.ui.4 create mode 100644 tests/auto/uic3/baseline/printpreview.ui.err create mode 100644 tests/auto/uic3/baseline/progressbarwidget.ui create mode 100644 tests/auto/uic3/baseline/progressbarwidget.ui.4 create mode 100644 tests/auto/uic3/baseline/progressbarwidget.ui.err create mode 100644 tests/auto/uic3/baseline/progresspage.ui create mode 100644 tests/auto/uic3/baseline/progresspage.ui.4 create mode 100644 tests/auto/uic3/baseline/progresspage.ui.err create mode 100644 tests/auto/uic3/baseline/projectsettings.ui create mode 100644 tests/auto/uic3/baseline/projectsettings.ui.4 create mode 100644 tests/auto/uic3/baseline/projectsettings.ui.err create mode 100644 tests/auto/uic3/baseline/qactivexselect.ui create mode 100644 tests/auto/uic3/baseline/qactivexselect.ui.4 create mode 100644 tests/auto/uic3/baseline/qactivexselect.ui.err create mode 100644 tests/auto/uic3/baseline/quuidbase.ui create mode 100644 tests/auto/uic3/baseline/quuidbase.ui.4 create mode 100644 tests/auto/uic3/baseline/quuidbase.ui.err create mode 100644 tests/auto/uic3/baseline/remotectrl.ui create mode 100644 tests/auto/uic3/baseline/remotectrl.ui.4 create mode 100644 tests/auto/uic3/baseline/remotectrl.ui.err create mode 100644 tests/auto/uic3/baseline/replacedialog.ui create mode 100644 tests/auto/uic3/baseline/replacedialog.ui.4 create mode 100644 tests/auto/uic3/baseline/replacedialog.ui.err create mode 100644 tests/auto/uic3/baseline/review.ui create mode 100644 tests/auto/uic3/baseline/review.ui.4 create mode 100644 tests/auto/uic3/baseline/review.ui.err create mode 100644 tests/auto/uic3/baseline/richedit.ui create mode 100644 tests/auto/uic3/baseline/richedit.ui.4 create mode 100644 tests/auto/uic3/baseline/richedit.ui.err create mode 100644 tests/auto/uic3/baseline/richtextfontdialog.ui create mode 100644 tests/auto/uic3/baseline/richtextfontdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/richtextfontdialog.ui.err create mode 100644 tests/auto/uic3/baseline/search.ui create mode 100644 tests/auto/uic3/baseline/search.ui.4 create mode 100644 tests/auto/uic3/baseline/search.ui.err create mode 100644 tests/auto/uic3/baseline/searchbase.ui create mode 100644 tests/auto/uic3/baseline/searchbase.ui.4 create mode 100644 tests/auto/uic3/baseline/searchbase.ui.err create mode 100644 tests/auto/uic3/baseline/serverbase.ui create mode 100644 tests/auto/uic3/baseline/serverbase.ui.4 create mode 100644 tests/auto/uic3/baseline/serverbase.ui.err create mode 100644 tests/auto/uic3/baseline/settingsdialog.ui create mode 100644 tests/auto/uic3/baseline/settingsdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/settingsdialog.ui.err create mode 100644 tests/auto/uic3/baseline/sidedecoration.ui create mode 100644 tests/auto/uic3/baseline/sidedecoration.ui.4 create mode 100644 tests/auto/uic3/baseline/sidedecoration.ui.err create mode 100644 tests/auto/uic3/baseline/small_dialog.ui create mode 100644 tests/auto/uic3/baseline/small_dialog.ui.4 create mode 100644 tests/auto/uic3/baseline/small_dialog.ui.err create mode 100644 tests/auto/uic3/baseline/sqlbrowsewindow.ui create mode 100644 tests/auto/uic3/baseline/sqlbrowsewindow.ui.4 create mode 100644 tests/auto/uic3/baseline/sqlbrowsewindow.ui.err create mode 100644 tests/auto/uic3/baseline/sqlex.ui create mode 100644 tests/auto/uic3/baseline/sqlex.ui.4 create mode 100644 tests/auto/uic3/baseline/sqlex.ui.err create mode 100644 tests/auto/uic3/baseline/sqlformwizard.ui create mode 100644 tests/auto/uic3/baseline/sqlformwizard.ui.4 create mode 100644 tests/auto/uic3/baseline/sqlformwizard.ui.err create mode 100644 tests/auto/uic3/baseline/startdialog.ui create mode 100644 tests/auto/uic3/baseline/startdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/startdialog.ui.err create mode 100644 tests/auto/uic3/baseline/statistics.ui create mode 100644 tests/auto/uic3/baseline/statistics.ui.4 create mode 100644 tests/auto/uic3/baseline/statistics.ui.err create mode 100644 tests/auto/uic3/baseline/submitdialog.ui create mode 100644 tests/auto/uic3/baseline/submitdialog.ui.4 create mode 100644 tests/auto/uic3/baseline/submitdialog.ui.err create mode 100644 tests/auto/uic3/baseline/tabbedbrowser.ui create mode 100644 tests/auto/uic3/baseline/tabbedbrowser.ui.4 create mode 100644 tests/auto/uic3/baseline/tabbedbrowser.ui.err create mode 100644 tests/auto/uic3/baseline/tableeditor.ui create mode 100644 tests/auto/uic3/baseline/tableeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/tableeditor.ui.err create mode 100644 tests/auto/uic3/baseline/tabletstatsbase.ui create mode 100644 tests/auto/uic3/baseline/tabletstatsbase.ui.4 create mode 100644 tests/auto/uic3/baseline/tabletstatsbase.ui.err create mode 100644 tests/auto/uic3/baseline/topicchooser.ui create mode 100644 tests/auto/uic3/baseline/topicchooser.ui.4 create mode 100644 tests/auto/uic3/baseline/topicchooser.ui.err create mode 100644 tests/auto/uic3/baseline/uninstall.ui create mode 100644 tests/auto/uic3/baseline/uninstall.ui.4 create mode 100644 tests/auto/uic3/baseline/uninstall.ui.err create mode 100644 tests/auto/uic3/baseline/unpackdlg.ui create mode 100644 tests/auto/uic3/baseline/unpackdlg.ui.4 create mode 100644 tests/auto/uic3/baseline/unpackdlg.ui.err create mode 100644 tests/auto/uic3/baseline/variabledialog.ui create mode 100644 tests/auto/uic3/baseline/variabledialog.ui.4 create mode 100644 tests/auto/uic3/baseline/variabledialog.ui.err create mode 100644 tests/auto/uic3/baseline/welcome.ui create mode 100644 tests/auto/uic3/baseline/welcome.ui.4 create mode 100644 tests/auto/uic3/baseline/welcome.ui.err create mode 100644 tests/auto/uic3/baseline/widget.ui create mode 100644 tests/auto/uic3/baseline/widget.ui.4 create mode 100644 tests/auto/uic3/baseline/widget.ui.err create mode 100644 tests/auto/uic3/baseline/widgetsbase.ui create mode 100644 tests/auto/uic3/baseline/widgetsbase.ui.4 create mode 100644 tests/auto/uic3/baseline/widgetsbase.ui.err create mode 100644 tests/auto/uic3/baseline/widgetsbase_pro.ui create mode 100644 tests/auto/uic3/baseline/widgetsbase_pro.ui.4 create mode 100644 tests/auto/uic3/baseline/widgetsbase_pro.ui.err create mode 100644 tests/auto/uic3/baseline/winintropage.ui create mode 100644 tests/auto/uic3/baseline/winintropage.ui.4 create mode 100644 tests/auto/uic3/baseline/winintropage.ui.err create mode 100644 tests/auto/uic3/baseline/wizardeditor.ui create mode 100644 tests/auto/uic3/baseline/wizardeditor.ui.4 create mode 100644 tests/auto/uic3/baseline/wizardeditor.ui.err create mode 100644 tests/auto/uic3/generated/placeholder create mode 100644 tests/auto/uic3/tst_uic3.cpp create mode 100644 tests/auto/uic3/uic3.pro create mode 100644 tests/auto/uiloader/.gitignore create mode 100644 tests/auto/uiloader/README.TXT create mode 100644 tests/auto/uiloader/WTC0090dca226c8.ini create mode 100644 tests/auto/uiloader/baseline/Dialog_with_Buttons_Bottom.ui create mode 100644 tests/auto/uiloader/baseline/Dialog_with_Buttons_Right.ui create mode 100644 tests/auto/uiloader/baseline/Dialog_without_Buttons.ui create mode 100644 tests/auto/uiloader/baseline/Main_Window.ui create mode 100644 tests/auto/uiloader/baseline/Widget.ui create mode 100644 tests/auto/uiloader/baseline/addlinkdialog.ui create mode 100644 tests/auto/uiloader/baseline/addtorrentform.ui create mode 100644 tests/auto/uiloader/baseline/authenticationdialog.ui create mode 100644 tests/auto/uiloader/baseline/backside.ui create mode 100644 tests/auto/uiloader/baseline/batchtranslation.ui create mode 100644 tests/auto/uiloader/baseline/bookmarkdialog.ui create mode 100644 tests/auto/uiloader/baseline/bookwindow.ui create mode 100644 tests/auto/uiloader/baseline/browserwidget.ui create mode 100644 tests/auto/uiloader/baseline/calculator.ui create mode 100644 tests/auto/uiloader/baseline/calculatorform.ui create mode 100644 tests/auto/uiloader/baseline/certificateinfo.ui create mode 100644 tests/auto/uiloader/baseline/chatdialog.ui create mode 100644 tests/auto/uiloader/baseline/chatmainwindow.ui create mode 100644 tests/auto/uiloader/baseline/chatsetnickname.ui create mode 100644 tests/auto/uiloader/baseline/config.ui create mode 100644 tests/auto/uiloader/baseline/connectdialog.ui create mode 100644 tests/auto/uiloader/baseline/controller.ui create mode 100644 tests/auto/uiloader/baseline/cookies.ui create mode 100644 tests/auto/uiloader/baseline/cookiesexceptions.ui create mode 100644 tests/auto/uiloader/baseline/css_buttons_background.ui create mode 100644 tests/auto/uiloader/baseline/css_combobox_background.ui create mode 100644 tests/auto/uiloader/baseline/css_exemple_coffee.ui create mode 100644 tests/auto/uiloader/baseline/css_exemple_pagefold.ui create mode 100644 tests/auto/uiloader/baseline/css_exemple_usage.ui create mode 100644 tests/auto/uiloader/baseline/css_frames.ui create mode 100644 tests/auto/uiloader/baseline/css_groupboxes.ui create mode 100644 tests/auto/uiloader/baseline/css_qprogressbar.ui create mode 100644 tests/auto/uiloader/baseline/css_qtabwidget.ui create mode 100644 tests/auto/uiloader/baseline/css_scroll.ui create mode 100644 tests/auto/uiloader/baseline/css_tab_task213374.ui create mode 100644 tests/auto/uiloader/baseline/default.ui create mode 100644 tests/auto/uiloader/baseline/dialog.ui create mode 100644 tests/auto/uiloader/baseline/downloaditem.ui create mode 100644 tests/auto/uiloader/baseline/downloads.ui create mode 100644 tests/auto/uiloader/baseline/embeddeddialog.ui create mode 100644 tests/auto/uiloader/baseline/filespage.ui create mode 100644 tests/auto/uiloader/baseline/filternamedialog.ui create mode 100644 tests/auto/uiloader/baseline/filterpage.ui create mode 100644 tests/auto/uiloader/baseline/finddialog.ui create mode 100644 tests/auto/uiloader/baseline/formwindowsettings.ui create mode 100644 tests/auto/uiloader/baseline/generalpage.ui create mode 100644 tests/auto/uiloader/baseline/gridpanel.ui create mode 100644 tests/auto/uiloader/baseline/helpdialog.ui create mode 100644 tests/auto/uiloader/baseline/history.ui create mode 100644 tests/auto/uiloader/baseline/identifierpage.ui create mode 100644 tests/auto/uiloader/baseline/imagedialog.ui create mode 100644 tests/auto/uiloader/baseline/images/checkbox_checked.png create mode 100644 tests/auto/uiloader/baseline/images/checkbox_checked_hover.png create mode 100644 tests/auto/uiloader/baseline/images/checkbox_checked_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/checkbox_unchecked.png create mode 100644 tests/auto/uiloader/baseline/images/checkbox_unchecked_hover.png create mode 100644 tests/auto/uiloader/baseline/images/checkbox_unchecked_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/down_arrow.png create mode 100644 tests/auto/uiloader/baseline/images/down_arrow_disabled.png create mode 100644 tests/auto/uiloader/baseline/images/frame.png create mode 100644 tests/auto/uiloader/baseline/images/pagefold.png create mode 100644 tests/auto/uiloader/baseline/images/pushbutton.png create mode 100644 tests/auto/uiloader/baseline/images/pushbutton_hover.png create mode 100644 tests/auto/uiloader/baseline/images/pushbutton_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_checked.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_checked_hover.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_checked_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_unchecked.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_unchecked_hover.png create mode 100644 tests/auto/uiloader/baseline/images/radiobutton_unchecked_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/sizegrip.png create mode 100644 tests/auto/uiloader/baseline/images/spindown.png create mode 100644 tests/auto/uiloader/baseline/images/spindown_hover.png create mode 100644 tests/auto/uiloader/baseline/images/spindown_off.png create mode 100644 tests/auto/uiloader/baseline/images/spindown_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/spinup.png create mode 100644 tests/auto/uiloader/baseline/images/spinup_hover.png create mode 100644 tests/auto/uiloader/baseline/images/spinup_off.png create mode 100644 tests/auto/uiloader/baseline/images/spinup_pressed.png create mode 100644 tests/auto/uiloader/baseline/images/up_arrow.png create mode 100644 tests/auto/uiloader/baseline/images/up_arrow_disabled.png create mode 100644 tests/auto/uiloader/baseline/inputpage.ui create mode 100644 tests/auto/uiloader/baseline/installdialog.ui create mode 100644 tests/auto/uiloader/baseline/languagesdialog.ui create mode 100644 tests/auto/uiloader/baseline/listwidgeteditor.ui create mode 100644 tests/auto/uiloader/baseline/mainwindow.ui create mode 100644 tests/auto/uiloader/baseline/mainwindowbase.ui create mode 100644 tests/auto/uiloader/baseline/mydialog.ui create mode 100644 tests/auto/uiloader/baseline/myform.ui create mode 100644 tests/auto/uiloader/baseline/newactiondialog.ui create mode 100644 tests/auto/uiloader/baseline/newdynamicpropertydialog.ui create mode 100644 tests/auto/uiloader/baseline/newform.ui create mode 100644 tests/auto/uiloader/baseline/orderdialog.ui create mode 100644 tests/auto/uiloader/baseline/outputpage.ui create mode 100644 tests/auto/uiloader/baseline/pagefold.ui create mode 100644 tests/auto/uiloader/baseline/paletteeditor.ui create mode 100644 tests/auto/uiloader/baseline/paletteeditoradvancedbase.ui create mode 100644 tests/auto/uiloader/baseline/passworddialog.ui create mode 100644 tests/auto/uiloader/baseline/pathpage.ui create mode 100644 tests/auto/uiloader/baseline/phrasebookbox.ui create mode 100644 tests/auto/uiloader/baseline/plugindialog.ui create mode 100644 tests/auto/uiloader/baseline/preferencesdialog.ui create mode 100644 tests/auto/uiloader/baseline/previewconfigurationwidget.ui create mode 100644 tests/auto/uiloader/baseline/previewdialogbase.ui create mode 100644 tests/auto/uiloader/baseline/previewwidget.ui create mode 100644 tests/auto/uiloader/baseline/previewwidgetbase.ui create mode 100644 tests/auto/uiloader/baseline/proxy.ui create mode 100644 tests/auto/uiloader/baseline/qfiledialog.ui create mode 100644 tests/auto/uiloader/baseline/qpagesetupwidget.ui create mode 100644 tests/auto/uiloader/baseline/qprintpropertieswidget.ui create mode 100644 tests/auto/uiloader/baseline/qprintsettingsoutput.ui create mode 100644 tests/auto/uiloader/baseline/qprintwidget.ui create mode 100644 tests/auto/uiloader/baseline/qsqlconnectiondialog.ui create mode 100644 tests/auto/uiloader/baseline/qtgradientdialog.ui create mode 100644 tests/auto/uiloader/baseline/qtgradienteditor.ui create mode 100644 tests/auto/uiloader/baseline/qtgradientview.ui create mode 100644 tests/auto/uiloader/baseline/qtgradientviewdialog.ui create mode 100644 tests/auto/uiloader/baseline/qtresourceeditordialog.ui create mode 100644 tests/auto/uiloader/baseline/qttoolbardialog.ui create mode 100644 tests/auto/uiloader/baseline/querywidget.ui create mode 100644 tests/auto/uiloader/baseline/remotecontrol.ui create mode 100644 tests/auto/uiloader/baseline/saveformastemplate.ui create mode 100644 tests/auto/uiloader/baseline/settings.ui create mode 100644 tests/auto/uiloader/baseline/signalslotdialog.ui create mode 100644 tests/auto/uiloader/baseline/sslclient.ui create mode 100644 tests/auto/uiloader/baseline/sslerrors.ui create mode 100644 tests/auto/uiloader/baseline/statistics.ui create mode 100644 tests/auto/uiloader/baseline/stringlisteditor.ui create mode 100644 tests/auto/uiloader/baseline/stylesheeteditor.ui create mode 100644 tests/auto/uiloader/baseline/tabbedbrowser.ui create mode 100644 tests/auto/uiloader/baseline/tablewidgeteditor.ui create mode 100644 tests/auto/uiloader/baseline/tetrixwindow.ui create mode 100644 tests/auto/uiloader/baseline/textfinder.ui create mode 100644 tests/auto/uiloader/baseline/topicchooser.ui create mode 100644 tests/auto/uiloader/baseline/translatedialog.ui create mode 100644 tests/auto/uiloader/baseline/translationsettings.ui create mode 100644 tests/auto/uiloader/baseline/treewidgeteditor.ui create mode 100644 tests/auto/uiloader/baseline/trpreviewtool.ui create mode 100644 tests/auto/uiloader/baseline/validators.ui create mode 100644 tests/auto/uiloader/baseline/wateringconfigdialog.ui create mode 100644 tests/auto/uiloader/desert.ini create mode 100644 tests/auto/uiloader/dole.ini create mode 100644 tests/auto/uiloader/gravlaks.ini create mode 100644 tests/auto/uiloader/jackychan.ini create mode 100644 tests/auto/uiloader/jeunehomme.ini create mode 100644 tests/auto/uiloader/kangaroo.ini create mode 100644 tests/auto/uiloader/kayak.ini create mode 100644 tests/auto/uiloader/scruffy.ini create mode 100644 tests/auto/uiloader/troll15.ini create mode 100644 tests/auto/uiloader/tst_screenshot/README.TXT create mode 100644 tests/auto/uiloader/tst_screenshot/main.cpp create mode 100644 tests/auto/uiloader/tst_screenshot/tst_screenshot.pro create mode 100644 tests/auto/uiloader/tundra.ini create mode 100644 tests/auto/uiloader/uiloader.pro create mode 100644 tests/auto/uiloader/uiloader/tst_uiloader.cpp create mode 100644 tests/auto/uiloader/uiloader/uiloader.cpp create mode 100644 tests/auto/uiloader/uiloader/uiloader.h create mode 100644 tests/auto/uiloader/uiloader/uiloader.pro create mode 100644 tests/auto/uiloader/wartburg.ini create mode 100644 tests/auto/xmlpatterns.pri create mode 100644 tests/auto/xmlpatterns/.gitattributes create mode 100644 tests/auto/xmlpatterns/.gitignore create mode 100644 tests/auto/xmlpatterns/XSLTTODO create mode 100644 tests/auto/xmlpatterns/baselines/globals.xml create mode 100644 tests/auto/xmlpatterns/queries/README create mode 100644 tests/auto/xmlpatterns/queries/allAtomics.xq create mode 100644 tests/auto/xmlpatterns/queries/allAtomicsExternally.xq create mode 100644 tests/auto/xmlpatterns/queries/completelyEmptyQuery.xq create mode 100644 tests/auto/xmlpatterns/queries/concat.xq create mode 100644 tests/auto/xmlpatterns/queries/emptySequence.xq create mode 100644 tests/auto/xmlpatterns/queries/errorFunction.xq create mode 100644 tests/auto/xmlpatterns/queries/externalStringVariable.xq create mode 100644 tests/auto/xmlpatterns/queries/externalVariable.xq create mode 100644 tests/auto/xmlpatterns/queries/externalVariableUsedTwice.xq create mode 100644 tests/auto/xmlpatterns/queries/flwor.xq create mode 100644 tests/auto/xmlpatterns/queries/globals.gccxml create mode 100644 tests/auto/xmlpatterns/queries/invalidRegexp.xq create mode 100644 tests/auto/xmlpatterns/queries/invalidRegexpFlag.xq create mode 100644 tests/auto/xmlpatterns/queries/nodeSequence.xq create mode 100644 tests/auto/xmlpatterns/queries/nonexistingCollection.xq create mode 100644 tests/auto/xmlpatterns/queries/oneElement.xq create mode 100644 tests/auto/xmlpatterns/queries/onePlusOne.xq create mode 100644 tests/auto/xmlpatterns/queries/onlyDocumentNode.xq create mode 100644 tests/auto/xmlpatterns/queries/openDocument.xq create mode 100644 tests/auto/xmlpatterns/queries/reportGlobals.xq create mode 100644 tests/auto/xmlpatterns/queries/simpleDocument.xml create mode 100644 tests/auto/xmlpatterns/queries/simpleLibraryModule.xq create mode 100644 tests/auto/xmlpatterns/queries/staticBaseURI.xq create mode 100644 tests/auto/xmlpatterns/queries/staticError.xq create mode 100644 tests/auto/xmlpatterns/queries/syntaxError.xq create mode 100644 tests/auto/xmlpatterns/queries/threeVariables.xq create mode 100644 tests/auto/xmlpatterns/queries/twoVariables.xq create mode 100644 tests/auto/xmlpatterns/queries/typeError.xq create mode 100644 tests/auto/xmlpatterns/queries/unavailableExternalVariable.xq create mode 100644 tests/auto/xmlpatterns/queries/unsupportedCollation.xq create mode 100644 tests/auto/xmlpatterns/queries/wrongArity.xq create mode 100644 tests/auto/xmlpatterns/queries/zeroDivision.xq create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Anunboundexternalvariable.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Asimplemathquery.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Asingledashthatsinvalid.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Asinglequerythatdoesnotexist.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Basicuseofoutputqueryfirst.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Basicuseofoutputquerylast.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Bindanexternalvariable.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Bindanexternalvariablequeryappearinglast.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Callanamedtemplateandusenofocus..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Callfnerror.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Ensureisuricanappearafterthequeryfilename.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Evaluatealibrarymodule.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Evaluateastylesheetwithnocontextdocument.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invalidtemplatename.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokeatemplateandusepassparameters..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokeversion.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokewithcoloninvariablename..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokewithinvalidparamvalue..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokewithmissingnameinparamarg..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokewithparamthathasnovalue..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Invokewithparamthathastwoadjacentequalsigns..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/LoadqueryviaFTP.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/LoadqueryviaHTTP.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Loadqueryviadatascheme.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/MakesurequerypathsareresolvedagainstCWDnotthelocationoftheexecutable..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Notwellformedinstancedocumentcausescrashincoloringcode..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Notwellformedstylesheetcausescrashincoloringcode..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Openannonexistentfile.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Openanonexistingcollection..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passhelp.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passinanexternalvariablebutthequerydoesntuseit..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passinastylesheetfileandafocusfilewhichdoesntexist.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/PassinastylesheetfilewhichcontainsanXQueryquery.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passinastylsheetfileandafocusfilewhichdoesntexist.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/PassinastylsheetfilewhichcontainsanXQueryquery.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passingasingledashisinsufficient.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passingtwodashesthelastisinterpretedasafilename.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/PassininvalidURI.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Passthreedashesthetwolastgetsinterpretedastwoqueryarguments.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/PrintalistofavailableregexpflagsTheavailableflagsareformattedinacomplexway..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Runaquerywhichevaluatestoasingledocumentnodewithnochildren..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Runaquerywhichevaluatestotheemptysequence..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifyanamedtemplatethatdoesnotexists.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifyanamedtemplatethatexists.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifynoargumentsatall..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifythesameparametertwicedifferentvalues.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifythesameparametertwicesamevalues.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifytwodifferentquerynames.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Specifytwoidenticalquerynames.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/TriggeranassertinQPatternistColorOutput.ThequerynaturallycontainsanerrorXPTY0004..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/TriggerasecondassertinQPatternistColorOutput.ThequerynaturallycontainsXPST0003..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Triggerastaticerror..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Unknownswitchd.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Unknownswitchunknownswitch.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useanativepath.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useanexternalvariablemultipletimes..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useasimplifiedstylesheetmodule.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Usefndoc.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Usefndoctogetherwithnoformatfirst.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Usefndoctogetherwithnoformatlast.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useoutputonafilewithexistingcontenttoensurewetruncatenotappendthecontentweproduce..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useoutputtwice.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useparamthrice.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Useparamtwice.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/Wedontsupportformatanylonger.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/XQuerydataXQuerykeywordmessagemarkups.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/XQueryexpressionmessagemarkups.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/XQueryfunctionmessagemarkups.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/XQuerytypemessagemarkups.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/XQueryurimessagemarkups.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/initialtemplatedoesntworkwithXQueries..txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/initialtemplatemustbefollowedbyavalue.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/initialtemplatemustbefollowedbyavalue2.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/onequeryandaterminatingdashattheend.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/onequerywithaprecedingdash.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/onlynoformat.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/outputwithanonwritablefile.txt create mode 100644 tests/auto/xmlpatterns/stderrBaselines/paramismissingsomultiplequeriesappear.txt create mode 100644 tests/auto/xmlpatterns/stylesheets/bool070.xml create mode 100644 tests/auto/xmlpatterns/stylesheets/bool070.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/copyWholeDocument.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/documentElement.xml create mode 100644 tests/auto/xmlpatterns/stylesheets/namedAndRootTemplate.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/namedTemplate.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/notWellformed.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/onlyRootTemplate.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/parameters.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/queryAsStylesheet.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/simplifiedStylesheetModule.xml create mode 100644 tests/auto/xmlpatterns/stylesheets/simplifiedStylesheetModule.xsl create mode 100644 tests/auto/xmlpatterns/stylesheets/useParameters.xsl create mode 100644 tests/auto/xmlpatterns/tst_xmlpatterns.cpp create mode 100644 tests/auto/xmlpatterns/xmlpatterns.pro create mode 100644 tests/auto/xmlpatternsdiagnosticsts/.gitattributes create mode 100644 tests/auto/xmlpatternsdiagnosticsts/.gitignore create mode 100644 tests/auto/xmlpatternsdiagnosticsts/Baseline.xml create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/DiagnosticsCatalog.xml create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/fail-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/fail-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/fail-3.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-10.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-11-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-11-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-12-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-12-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-9-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-9-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldFail/succeed-9-3.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-11.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-13.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-14.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-3.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-4.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-5.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-2-6.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-6-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-6-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-7-1.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-7-2.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-8.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/ExpectedTestResults/ShouldSucceed/succeed-9.txt create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-1.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-10.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-11.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-12.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-14.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-15.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-16.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-17.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-18.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-2.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-3.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-4.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-5.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-6.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-7.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-8.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldFail/fail-9.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-1.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-10.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-11.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-12.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-13.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-14.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-2.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-3.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-4.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-5.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-6.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-7.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-8.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/Queries/XQuery/ShouldSucceed/succeed-9.xq create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/TestSources/bib2.xml create mode 100644 tests/auto/xmlpatternsdiagnosticsts/TestSuite/TestSources/emptydoc.xml create mode 100755 tests/auto/xmlpatternsdiagnosticsts/TestSuite/validate.sh create mode 100644 tests/auto/xmlpatternsdiagnosticsts/test/test.pro create mode 100644 tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp create mode 100644 tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro create mode 100644 tests/auto/xmlpatternsview/.gitignore create mode 100644 tests/auto/xmlpatternsview/test/test.pro create mode 100644 tests/auto/xmlpatternsview/test/tst_xmlpatternsview.cpp create mode 100644 tests/auto/xmlpatternsview/view/FunctionSignaturesView.cpp create mode 100644 tests/auto/xmlpatternsview/view/FunctionSignaturesView.h create mode 100644 tests/auto/xmlpatternsview/view/MainWindow.cpp create mode 100644 tests/auto/xmlpatternsview/view/MainWindow.h create mode 100644 tests/auto/xmlpatternsview/view/TestCaseView.cpp create mode 100644 tests/auto/xmlpatternsview/view/TestCaseView.h create mode 100644 tests/auto/xmlpatternsview/view/TestResultView.cpp create mode 100644 tests/auto/xmlpatternsview/view/TestResultView.h create mode 100644 tests/auto/xmlpatternsview/view/TreeSortFilter.cpp create mode 100644 tests/auto/xmlpatternsview/view/TreeSortFilter.h create mode 100644 tests/auto/xmlpatternsview/view/UserTestCase.cpp create mode 100644 tests/auto/xmlpatternsview/view/UserTestCase.h create mode 100644 tests/auto/xmlpatternsview/view/XDTItemItem.cpp create mode 100644 tests/auto/xmlpatternsview/view/XDTItemItem.h create mode 100644 tests/auto/xmlpatternsview/view/main.cpp create mode 100644 tests/auto/xmlpatternsview/view/ui_BaseLinePage.ui create mode 100644 tests/auto/xmlpatternsview/view/ui_FunctionSignaturesView.ui create mode 100644 tests/auto/xmlpatternsview/view/ui_MainWindow.ui create mode 100644 tests/auto/xmlpatternsview/view/ui_TestCaseView.ui create mode 100644 tests/auto/xmlpatternsview/view/ui_TestResultView.ui create mode 100644 tests/auto/xmlpatternsview/view/view.pro create mode 100644 tests/auto/xmlpatternsview/xmlpatternsview.pro create mode 100644 tests/auto/xmlpatternsxqts/.gitattributes create mode 100644 tests/auto/xmlpatternsxqts/.gitignore create mode 100644 tests/auto/xmlpatternsxqts/Baseline.xml create mode 100644 tests/auto/xmlpatternsxqts/TODO create mode 100644 tests/auto/xmlpatternsxqts/lib/ASTItem.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ASTItem.h create mode 100644 tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ErrorHandler.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ErrorItem.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ExitCode.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h create mode 100644 tests/auto/xmlpatternsxqts/lib/Global.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/Global.h create mode 100644 tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/ResultThreader.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestBaseLine.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestCase.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestCase.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestContainer.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestContainer.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestGroup.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestGroup.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestItem.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestResult.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestResult.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestResultHandler.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuite.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuite.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TreeItem.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TreeItem.h create mode 100644 tests/auto/xmlpatternsxqts/lib/TreeModel.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/TreeModel.h create mode 100644 tests/auto/xmlpatternsxqts/lib/Worker.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/Worker.h create mode 100644 tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/XMLWriter.h create mode 100644 tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h create mode 100644 tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h create mode 100644 tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml create mode 100644 tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml create mode 100644 tests/auto/xmlpatternsxqts/lib/lib.pro create mode 100644 tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp create mode 100644 tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h create mode 100755 tests/auto/xmlpatternsxqts/summarizeBaseline.sh create mode 100644 tests/auto/xmlpatternsxqts/summarizeBaseline.xsl create mode 100644 tests/auto/xmlpatternsxqts/test/test.pro create mode 100644 tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp create mode 100644 tests/auto/xmlpatternsxqts/test/tst_suitetest.h create mode 100644 tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp create mode 100644 tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro create mode 100644 tests/auto/xmlpatternsxslts/.gitignore create mode 100644 tests/auto/xmlpatternsxslts/Baseline.xml create mode 100644 tests/auto/xmlpatternsxslts/XSLTS/.gitignore create mode 100755 tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh create mode 100644 tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp create mode 100644 tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro create mode 100644 tests/benchmarks/benchmarks.pro create mode 100644 tests/benchmarks/blendbench/blendbench.pro create mode 100644 tests/benchmarks/blendbench/main.cpp create mode 100644 tests/benchmarks/containers-associative/containers-associative.pro create mode 100644 tests/benchmarks/containers-associative/main.cpp create mode 100644 tests/benchmarks/containers-sequential/containers-sequential.pro create mode 100644 tests/benchmarks/containers-sequential/main.cpp create mode 100644 tests/benchmarks/events/events.pro create mode 100644 tests/benchmarks/events/main.cpp create mode 100644 tests/benchmarks/opengl/main.cpp create mode 100644 tests/benchmarks/opengl/opengl.pro create mode 100644 tests/benchmarks/qanimation/dummyanimation.cpp create mode 100644 tests/benchmarks/qanimation/dummyanimation.h create mode 100644 tests/benchmarks/qanimation/dummyobject.cpp create mode 100644 tests/benchmarks/qanimation/dummyobject.h create mode 100644 tests/benchmarks/qanimation/main.cpp create mode 100644 tests/benchmarks/qanimation/qanimation.pro create mode 100644 tests/benchmarks/qanimation/rectanimation.cpp create mode 100644 tests/benchmarks/qanimation/rectanimation.h create mode 100644 tests/benchmarks/qapplication/main.cpp create mode 100644 tests/benchmarks/qapplication/qapplication.pro create mode 100755 tests/benchmarks/qbytearray/main.cpp create mode 100755 tests/benchmarks/qbytearray/qbytearray.pro create mode 100755 tests/benchmarks/qdiriterator/main.cpp create mode 100755 tests/benchmarks/qdiriterator/qdiriterator.pro create mode 100644 tests/benchmarks/qdiriterator/qfilesystemiterator.cpp create mode 100644 tests/benchmarks/qdiriterator/qfilesystemiterator.h create mode 100644 tests/benchmarks/qfile/main.cpp create mode 100644 tests/benchmarks/qfile/qfile.pro create mode 100644 tests/benchmarks/qgraphicsscene/qgraphicsscene.pro create mode 100644 tests/benchmarks/qgraphicsscene/tst_qgraphicsscene.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.debug create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.h create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/chip.pro create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/fileprint.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/images.qrc create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/main.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/mainwindow.h create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/qt4logo.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateleft.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/rotateright.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/view.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/view.h create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomin.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/chipTest/zoomout.png create mode 100644 tests/benchmarks/qgraphicsview/benchapps/moveItems/main.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/moveItems/moveItems.pro create mode 100644 tests/benchmarks/qgraphicsview/benchapps/scrolltest/main.cpp create mode 100644 tests/benchmarks/qgraphicsview/benchapps/scrolltest/scrolltest.pro create mode 100644 tests/benchmarks/qgraphicsview/chiptester/chip.cpp create mode 100644 tests/benchmarks/qgraphicsview/chiptester/chip.h create mode 100644 tests/benchmarks/qgraphicsview/chiptester/chiptester.cpp create mode 100644 tests/benchmarks/qgraphicsview/chiptester/chiptester.h create mode 100644 tests/benchmarks/qgraphicsview/chiptester/chiptester.pri create mode 100644 tests/benchmarks/qgraphicsview/chiptester/images.qrc create mode 100644 tests/benchmarks/qgraphicsview/chiptester/qt4logo.png create mode 100644 tests/benchmarks/qgraphicsview/images/designer.png create mode 100644 tests/benchmarks/qgraphicsview/qgraphicsview.pro create mode 100644 tests/benchmarks/qgraphicsview/qgraphicsview.qrc create mode 100644 tests/benchmarks/qgraphicsview/random.data create mode 100644 tests/benchmarks/qgraphicsview/tst_qgraphicsview.cpp create mode 100644 tests/benchmarks/qimagereader/images/16bpp.bmp create mode 100644 tests/benchmarks/qimagereader/images/4bpp-rle.bmp create mode 100644 tests/benchmarks/qimagereader/images/YCbCr_cmyk.jpg create mode 100644 tests/benchmarks/qimagereader/images/YCbCr_cmyk.png create mode 100644 tests/benchmarks/qimagereader/images/YCbCr_rgb.jpg create mode 100644 tests/benchmarks/qimagereader/images/away.png create mode 100644 tests/benchmarks/qimagereader/images/ball.mng create mode 100644 tests/benchmarks/qimagereader/images/bat1.gif create mode 100644 tests/benchmarks/qimagereader/images/bat2.gif create mode 100644 tests/benchmarks/qimagereader/images/beavis.jpg create mode 100644 tests/benchmarks/qimagereader/images/black.png create mode 100644 tests/benchmarks/qimagereader/images/black.xpm create mode 100644 tests/benchmarks/qimagereader/images/colorful.bmp create mode 100644 tests/benchmarks/qimagereader/images/corrupt-colors.xpm create mode 100644 tests/benchmarks/qimagereader/images/corrupt-data.tif create mode 100644 tests/benchmarks/qimagereader/images/corrupt-pixels.xpm create mode 100644 tests/benchmarks/qimagereader/images/corrupt.bmp create mode 100644 tests/benchmarks/qimagereader/images/corrupt.gif create mode 100644 tests/benchmarks/qimagereader/images/corrupt.jpg create mode 100644 tests/benchmarks/qimagereader/images/corrupt.mng create mode 100644 tests/benchmarks/qimagereader/images/corrupt.png create mode 100644 tests/benchmarks/qimagereader/images/corrupt.xbm create mode 100644 tests/benchmarks/qimagereader/images/crash-signed-char.bmp create mode 100644 tests/benchmarks/qimagereader/images/earth.gif create mode 100644 tests/benchmarks/qimagereader/images/fire.mng create mode 100644 tests/benchmarks/qimagereader/images/font.bmp create mode 100644 tests/benchmarks/qimagereader/images/gnus.xbm create mode 100644 tests/benchmarks/qimagereader/images/image.pbm create mode 100644 tests/benchmarks/qimagereader/images/image.pgm create mode 100644 tests/benchmarks/qimagereader/images/image.png create mode 100644 tests/benchmarks/qimagereader/images/image.ppm create mode 100644 tests/benchmarks/qimagereader/images/kollada-noext create mode 100644 tests/benchmarks/qimagereader/images/kollada.png create mode 100644 tests/benchmarks/qimagereader/images/marble.xpm create mode 100644 tests/benchmarks/qimagereader/images/namedcolors.xpm create mode 100644 tests/benchmarks/qimagereader/images/negativeheight.bmp create mode 100644 tests/benchmarks/qimagereader/images/noclearcode.bmp create mode 100644 tests/benchmarks/qimagereader/images/noclearcode.gif create mode 100644 tests/benchmarks/qimagereader/images/nontransparent.xpm create mode 100644 tests/benchmarks/qimagereader/images/pngwithcompressedtext.png create mode 100644 tests/benchmarks/qimagereader/images/pngwithtext.png create mode 100644 tests/benchmarks/qimagereader/images/rgba_adobedeflate_littleendian.tif create mode 100644 tests/benchmarks/qimagereader/images/rgba_lzw_littleendian.tif create mode 100644 tests/benchmarks/qimagereader/images/rgba_nocompression_bigendian.tif create mode 100644 tests/benchmarks/qimagereader/images/rgba_nocompression_littleendian.tif create mode 100644 tests/benchmarks/qimagereader/images/rgba_packbits_littleendian.tif create mode 100644 tests/benchmarks/qimagereader/images/rgba_zipdeflate_littleendian.tif create mode 100644 tests/benchmarks/qimagereader/images/runners.ppm create mode 100644 tests/benchmarks/qimagereader/images/task210380.jpg create mode 100644 tests/benchmarks/qimagereader/images/teapot.ppm create mode 100644 tests/benchmarks/qimagereader/images/test.ppm create mode 100644 tests/benchmarks/qimagereader/images/test.xpm create mode 100644 tests/benchmarks/qimagereader/images/transparent.xpm create mode 100644 tests/benchmarks/qimagereader/images/trolltech.gif create mode 100644 tests/benchmarks/qimagereader/images/tst7.bmp create mode 100644 tests/benchmarks/qimagereader/images/tst7.png create mode 100644 tests/benchmarks/qimagereader/qimagereader.pro create mode 100644 tests/benchmarks/qimagereader/tst_qimagereader.cpp create mode 100755 tests/benchmarks/qiodevice/main.cpp create mode 100755 tests/benchmarks/qiodevice/qiodevice.pro create mode 100644 tests/benchmarks/qmetaobject/main.cpp create mode 100644 tests/benchmarks/qmetaobject/qmetaobject.pro create mode 100644 tests/benchmarks/qobject/main.cpp create mode 100644 tests/benchmarks/qobject/object.cpp create mode 100644 tests/benchmarks/qobject/object.h create mode 100644 tests/benchmarks/qobject/qobject.pro create mode 100644 tests/benchmarks/qpainter/qpainter.pro create mode 100644 tests/benchmarks/qpainter/tst_qpainter.cpp create mode 100644 tests/benchmarks/qpixmap/qpixmap.pro create mode 100644 tests/benchmarks/qpixmap/tst_qpixmap.cpp create mode 100644 tests/benchmarks/qrect/main.cpp create mode 100644 tests/benchmarks/qrect/qrect.pro create mode 100644 tests/benchmarks/qregexp/main.cpp create mode 100644 tests/benchmarks/qregexp/qregexp.pro create mode 100644 tests/benchmarks/qregion/main.cpp create mode 100644 tests/benchmarks/qregion/qregion.pro create mode 100644 tests/benchmarks/qstringlist/.gitignore create mode 100644 tests/benchmarks/qstringlist/main.cpp create mode 100644 tests/benchmarks/qstringlist/qstringlist.pro create mode 100644 tests/benchmarks/qstylesheetstyle/main.cpp create mode 100644 tests/benchmarks/qstylesheetstyle/qstylesheetstyle.pro create mode 100644 tests/benchmarks/qtemporaryfile/main.cpp create mode 100644 tests/benchmarks/qtemporaryfile/qtemporaryfile.pro create mode 100644 tests/benchmarks/qtestlib-simple/main.cpp create mode 100644 tests/benchmarks/qtestlib-simple/qtestlib-simple.pro create mode 100644 tests/benchmarks/qtransform/qtransform.pro create mode 100644 tests/benchmarks/qtransform/tst_qtransform.cpp create mode 100644 tests/benchmarks/qtwidgets/advanced.ui create mode 100644 tests/benchmarks/qtwidgets/icons/big.png create mode 100644 tests/benchmarks/qtwidgets/icons/folder.png create mode 100644 tests/benchmarks/qtwidgets/icons/icon.bmp create mode 100644 tests/benchmarks/qtwidgets/icons/icon.png create mode 100644 tests/benchmarks/qtwidgets/mainwindow.cpp create mode 100644 tests/benchmarks/qtwidgets/mainwindow.h create mode 100644 tests/benchmarks/qtwidgets/qtstyles.qrc create mode 100644 tests/benchmarks/qtwidgets/qtwidgets.pro create mode 100644 tests/benchmarks/qtwidgets/standard.ui create mode 100644 tests/benchmarks/qtwidgets/system.ui create mode 100644 tests/benchmarks/qtwidgets/tst_qtwidgets.cpp create mode 100644 tests/benchmarks/qvariant/qvariant.pro create mode 100644 tests/benchmarks/qvariant/tst_qvariant.cpp create mode 100644 tests/benchmarks/qwidget/qwidget.pro create mode 100644 tests/benchmarks/qwidget/tst_qwidget.cpp create mode 100644 tests/shared/util.h create mode 100644 tests/tests.pro create mode 100644 tools/activeqt/activeqt.pro create mode 100644 tools/activeqt/dumpcpp/dumpcpp.pro create mode 100644 tools/activeqt/dumpcpp/main.cpp create mode 100644 tools/activeqt/dumpdoc/dumpdoc.pro create mode 100644 tools/activeqt/dumpdoc/main.cpp create mode 100644 tools/activeqt/testcon/ambientproperties.cpp create mode 100644 tools/activeqt/testcon/ambientproperties.h create mode 100644 tools/activeqt/testcon/ambientproperties.ui create mode 100644 tools/activeqt/testcon/changeproperties.cpp create mode 100644 tools/activeqt/testcon/changeproperties.h create mode 100644 tools/activeqt/testcon/changeproperties.ui create mode 100644 tools/activeqt/testcon/controlinfo.cpp create mode 100644 tools/activeqt/testcon/controlinfo.h create mode 100644 tools/activeqt/testcon/controlinfo.ui create mode 100644 tools/activeqt/testcon/docuwindow.cpp create mode 100644 tools/activeqt/testcon/docuwindow.h create mode 100644 tools/activeqt/testcon/invokemethod.cpp create mode 100644 tools/activeqt/testcon/invokemethod.h create mode 100644 tools/activeqt/testcon/invokemethod.ui create mode 100644 tools/activeqt/testcon/main.cpp create mode 100644 tools/activeqt/testcon/mainwindow.cpp create mode 100644 tools/activeqt/testcon/mainwindow.h create mode 100644 tools/activeqt/testcon/mainwindow.ui create mode 100644 tools/activeqt/testcon/scripts/javascript.js create mode 100644 tools/activeqt/testcon/scripts/perlscript.pl create mode 100644 tools/activeqt/testcon/scripts/pythonscript.py create mode 100644 tools/activeqt/testcon/scripts/vbscript.vbs create mode 100644 tools/activeqt/testcon/testcon.idl create mode 100644 tools/activeqt/testcon/testcon.pro create mode 100644 tools/activeqt/testcon/testcon.rc create mode 100644 tools/assistant/assistant.pro create mode 100644 tools/assistant/compat/Info_mac.plist create mode 100644 tools/assistant/compat/LICENSE.GPL create mode 100644 tools/assistant/compat/assistant.icns create mode 100644 tools/assistant/compat/assistant.ico create mode 100644 tools/assistant/compat/assistant.pro create mode 100644 tools/assistant/compat/assistant.qrc create mode 100644 tools/assistant/compat/assistant.rc create mode 100644 tools/assistant/compat/compat.pro create mode 100644 tools/assistant/compat/config.cpp create mode 100644 tools/assistant/compat/config.h create mode 100644 tools/assistant/compat/docuparser.cpp create mode 100644 tools/assistant/compat/docuparser.h create mode 100644 tools/assistant/compat/fontsettingsdialog.cpp create mode 100644 tools/assistant/compat/fontsettingsdialog.h create mode 100644 tools/assistant/compat/helpdialog.cpp create mode 100644 tools/assistant/compat/helpdialog.h create mode 100644 tools/assistant/compat/helpdialog.ui create mode 100644 tools/assistant/compat/helpwindow.cpp create mode 100644 tools/assistant/compat/helpwindow.h create mode 100644 tools/assistant/compat/images/assistant-128.png create mode 100644 tools/assistant/compat/images/assistant.png create mode 100644 tools/assistant/compat/images/close.png create mode 100644 tools/assistant/compat/images/designer.png create mode 100644 tools/assistant/compat/images/linguist.png create mode 100644 tools/assistant/compat/images/mac/addtab.png create mode 100644 tools/assistant/compat/images/mac/book.png create mode 100644 tools/assistant/compat/images/mac/closetab.png create mode 100644 tools/assistant/compat/images/mac/editcopy.png create mode 100644 tools/assistant/compat/images/mac/find.png create mode 100644 tools/assistant/compat/images/mac/home.png create mode 100644 tools/assistant/compat/images/mac/next.png create mode 100644 tools/assistant/compat/images/mac/prev.png create mode 100644 tools/assistant/compat/images/mac/print.png create mode 100644 tools/assistant/compat/images/mac/synctoc.png create mode 100644 tools/assistant/compat/images/mac/whatsthis.png create mode 100644 tools/assistant/compat/images/mac/zoomin.png create mode 100644 tools/assistant/compat/images/mac/zoomout.png create mode 100644 tools/assistant/compat/images/qt.png create mode 100644 tools/assistant/compat/images/win/addtab.png create mode 100644 tools/assistant/compat/images/win/book.png create mode 100644 tools/assistant/compat/images/win/closetab.png create mode 100644 tools/assistant/compat/images/win/editcopy.png create mode 100644 tools/assistant/compat/images/win/find.png create mode 100644 tools/assistant/compat/images/win/home.png create mode 100644 tools/assistant/compat/images/win/next.png create mode 100644 tools/assistant/compat/images/win/previous.png create mode 100644 tools/assistant/compat/images/win/print.png create mode 100644 tools/assistant/compat/images/win/synctoc.png create mode 100644 tools/assistant/compat/images/win/whatsthis.png create mode 100644 tools/assistant/compat/images/win/zoomin.png create mode 100644 tools/assistant/compat/images/win/zoomout.png create mode 100644 tools/assistant/compat/images/wrap.png create mode 100644 tools/assistant/compat/index.cpp create mode 100644 tools/assistant/compat/index.h create mode 100644 tools/assistant/compat/lib/lib.pro create mode 100644 tools/assistant/compat/lib/qassistantclient.cpp create mode 100644 tools/assistant/compat/lib/qassistantclient.h create mode 100644 tools/assistant/compat/lib/qassistantclient_global.h create mode 100644 tools/assistant/compat/main.cpp create mode 100644 tools/assistant/compat/mainwindow.cpp create mode 100644 tools/assistant/compat/mainwindow.h create mode 100644 tools/assistant/compat/mainwindow.ui create mode 100644 tools/assistant/compat/profile.cpp create mode 100644 tools/assistant/compat/profile.h create mode 100644 tools/assistant/compat/tabbedbrowser.cpp create mode 100644 tools/assistant/compat/tabbedbrowser.h create mode 100644 tools/assistant/compat/tabbedbrowser.ui create mode 100644 tools/assistant/compat/topicchooser.cpp create mode 100644 tools/assistant/compat/topicchooser.h create mode 100644 tools/assistant/compat/topicchooser.ui create mode 100644 tools/assistant/compat/translations/translations.pro create mode 100644 tools/assistant/lib/fulltextsearch/fulltextsearch.pri create mode 100644 tools/assistant/lib/fulltextsearch/fulltextsearch.pro create mode 100644 tools/assistant/lib/fulltextsearch/license.txt create mode 100644 tools/assistant/lib/fulltextsearch/qanalyzer.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qanalyzer_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qclucene-config_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qclucene_global_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qdocument.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qdocument_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qfield.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qfield_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qfilter.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qfilter_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qhits.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qhits_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qindexreader.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qindexreader_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qindexwriter.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qindexwriter_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qquery.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qquery_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qqueryparser.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qqueryparser_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qreader.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qreader_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qsearchable.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qsearchable_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qsort.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qsort_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qterm.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qterm_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qtoken.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qtoken_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qtokenizer.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qtokenizer_p.h create mode 100644 tools/assistant/lib/fulltextsearch/qtokenstream.cpp create mode 100644 tools/assistant/lib/fulltextsearch/qtokenstream_p.h create mode 100644 tools/assistant/lib/helpsystem.qrc create mode 100644 tools/assistant/lib/images/1leftarrow.png create mode 100644 tools/assistant/lib/images/1rightarrow.png create mode 100644 tools/assistant/lib/images/3leftarrow.png create mode 100644 tools/assistant/lib/images/3rightarrow.png create mode 100644 tools/assistant/lib/lib.pro create mode 100644 tools/assistant/lib/qhelp_global.h create mode 100644 tools/assistant/lib/qhelpcollectionhandler.cpp create mode 100644 tools/assistant/lib/qhelpcollectionhandler_p.h create mode 100644 tools/assistant/lib/qhelpcontentwidget.cpp create mode 100644 tools/assistant/lib/qhelpcontentwidget.h create mode 100644 tools/assistant/lib/qhelpdatainterface.cpp create mode 100644 tools/assistant/lib/qhelpdatainterface_p.h create mode 100644 tools/assistant/lib/qhelpdbreader.cpp create mode 100644 tools/assistant/lib/qhelpdbreader_p.h create mode 100644 tools/assistant/lib/qhelpengine.cpp create mode 100644 tools/assistant/lib/qhelpengine.h create mode 100644 tools/assistant/lib/qhelpengine_p.h create mode 100644 tools/assistant/lib/qhelpenginecore.cpp create mode 100644 tools/assistant/lib/qhelpenginecore.h create mode 100644 tools/assistant/lib/qhelpgenerator.cpp create mode 100644 tools/assistant/lib/qhelpgenerator_p.h create mode 100644 tools/assistant/lib/qhelpindexwidget.cpp create mode 100644 tools/assistant/lib/qhelpindexwidget.h create mode 100644 tools/assistant/lib/qhelpprojectdata.cpp create mode 100644 tools/assistant/lib/qhelpprojectdata_p.h create mode 100644 tools/assistant/lib/qhelpsearchengine.cpp create mode 100644 tools/assistant/lib/qhelpsearchengine.h create mode 100644 tools/assistant/lib/qhelpsearchindex_default.cpp create mode 100644 tools/assistant/lib/qhelpsearchindex_default_p.h create mode 100644 tools/assistant/lib/qhelpsearchindexreader_clucene.cpp create mode 100644 tools/assistant/lib/qhelpsearchindexreader_clucene_p.h create mode 100644 tools/assistant/lib/qhelpsearchindexreader_default.cpp create mode 100644 tools/assistant/lib/qhelpsearchindexreader_default_p.h create mode 100644 tools/assistant/lib/qhelpsearchindexwriter_clucene.cpp create mode 100644 tools/assistant/lib/qhelpsearchindexwriter_clucene_p.h create mode 100644 tools/assistant/lib/qhelpsearchindexwriter_default.cpp create mode 100644 tools/assistant/lib/qhelpsearchindexwriter_default_p.h create mode 100644 tools/assistant/lib/qhelpsearchquerywidget.cpp create mode 100644 tools/assistant/lib/qhelpsearchquerywidget.h create mode 100644 tools/assistant/lib/qhelpsearchresultwidget.cpp create mode 100644 tools/assistant/lib/qhelpsearchresultwidget.h create mode 100644 tools/assistant/tools/assistant/Info_mac.plist create mode 100644 tools/assistant/tools/assistant/aboutdialog.cpp create mode 100644 tools/assistant/tools/assistant/aboutdialog.h create mode 100644 tools/assistant/tools/assistant/assistant.icns create mode 100644 tools/assistant/tools/assistant/assistant.ico create mode 100644 tools/assistant/tools/assistant/assistant.pro create mode 100644 tools/assistant/tools/assistant/assistant.qch create mode 100644 tools/assistant/tools/assistant/assistant.qrc create mode 100644 tools/assistant/tools/assistant/assistant.rc create mode 100644 tools/assistant/tools/assistant/assistant_images.qrc create mode 100644 tools/assistant/tools/assistant/bookmarkdialog.ui create mode 100644 tools/assistant/tools/assistant/bookmarkmanager.cpp create mode 100644 tools/assistant/tools/assistant/bookmarkmanager.h create mode 100644 tools/assistant/tools/assistant/centralwidget.cpp create mode 100644 tools/assistant/tools/assistant/centralwidget.h create mode 100644 tools/assistant/tools/assistant/cmdlineparser.cpp create mode 100644 tools/assistant/tools/assistant/cmdlineparser.h create mode 100644 tools/assistant/tools/assistant/contentwindow.cpp create mode 100644 tools/assistant/tools/assistant/contentwindow.h create mode 100644 tools/assistant/tools/assistant/doc/HOWTO create mode 100644 tools/assistant/tools/assistant/doc/assistant.qdoc create mode 100644 tools/assistant/tools/assistant/doc/assistant.qdocconf create mode 100644 tools/assistant/tools/assistant/doc/assistant.qhp create mode 100644 tools/assistant/tools/assistant/doc/classic.css create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-address-toolbar.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-assistant.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-dockwidgets.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-docwindow.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-examples.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-filter-toolbar.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-preferences-documentation.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-preferences-filters.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-preferences-fonts.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-preferences-options.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-search.png create mode 100644 tools/assistant/tools/assistant/doc/images/assistant-toolbar.png create mode 100644 tools/assistant/tools/assistant/filternamedialog.cpp create mode 100644 tools/assistant/tools/assistant/filternamedialog.h create mode 100644 tools/assistant/tools/assistant/filternamedialog.ui create mode 100644 tools/assistant/tools/assistant/helpviewer.cpp create mode 100644 tools/assistant/tools/assistant/helpviewer.h create mode 100644 tools/assistant/tools/assistant/images/assistant-128.png create mode 100644 tools/assistant/tools/assistant/images/assistant.png create mode 100644 tools/assistant/tools/assistant/images/mac/addtab.png create mode 100644 tools/assistant/tools/assistant/images/mac/book.png create mode 100644 tools/assistant/tools/assistant/images/mac/closetab.png create mode 100644 tools/assistant/tools/assistant/images/mac/editcopy.png create mode 100644 tools/assistant/tools/assistant/images/mac/find.png create mode 100644 tools/assistant/tools/assistant/images/mac/home.png create mode 100644 tools/assistant/tools/assistant/images/mac/next.png create mode 100644 tools/assistant/tools/assistant/images/mac/previous.png create mode 100644 tools/assistant/tools/assistant/images/mac/print.png create mode 100644 tools/assistant/tools/assistant/images/mac/resetzoom.png create mode 100644 tools/assistant/tools/assistant/images/mac/synctoc.png create mode 100644 tools/assistant/tools/assistant/images/mac/zoomin.png create mode 100644 tools/assistant/tools/assistant/images/mac/zoomout.png create mode 100644 tools/assistant/tools/assistant/images/trolltech-logo.png create mode 100644 tools/assistant/tools/assistant/images/win/addtab.png create mode 100644 tools/assistant/tools/assistant/images/win/book.png create mode 100644 tools/assistant/tools/assistant/images/win/closetab.png create mode 100644 tools/assistant/tools/assistant/images/win/editcopy.png create mode 100644 tools/assistant/tools/assistant/images/win/find.png create mode 100644 tools/assistant/tools/assistant/images/win/home.png create mode 100644 tools/assistant/tools/assistant/images/win/next.png create mode 100644 tools/assistant/tools/assistant/images/win/previous.png create mode 100644 tools/assistant/tools/assistant/images/win/print.png create mode 100644 tools/assistant/tools/assistant/images/win/resetzoom.png create mode 100644 tools/assistant/tools/assistant/images/win/synctoc.png create mode 100644 tools/assistant/tools/assistant/images/win/zoomin.png create mode 100644 tools/assistant/tools/assistant/images/win/zoomout.png create mode 100644 tools/assistant/tools/assistant/images/wrap.png create mode 100644 tools/assistant/tools/assistant/indexwindow.cpp create mode 100644 tools/assistant/tools/assistant/indexwindow.h create mode 100644 tools/assistant/tools/assistant/installdialog.cpp create mode 100644 tools/assistant/tools/assistant/installdialog.h create mode 100644 tools/assistant/tools/assistant/installdialog.ui create mode 100644 tools/assistant/tools/assistant/main.cpp create mode 100644 tools/assistant/tools/assistant/mainwindow.cpp create mode 100644 tools/assistant/tools/assistant/mainwindow.h create mode 100644 tools/assistant/tools/assistant/preferencesdialog.cpp create mode 100644 tools/assistant/tools/assistant/preferencesdialog.h create mode 100644 tools/assistant/tools/assistant/preferencesdialog.ui create mode 100644 tools/assistant/tools/assistant/qtdocinstaller.cpp create mode 100644 tools/assistant/tools/assistant/qtdocinstaller.h create mode 100644 tools/assistant/tools/assistant/remotecontrol.cpp create mode 100644 tools/assistant/tools/assistant/remotecontrol.h create mode 100644 tools/assistant/tools/assistant/remotecontrol_win.h create mode 100644 tools/assistant/tools/assistant/searchwidget.cpp create mode 100644 tools/assistant/tools/assistant/searchwidget.h create mode 100644 tools/assistant/tools/assistant/topicchooser.cpp create mode 100644 tools/assistant/tools/assistant/topicchooser.h create mode 100644 tools/assistant/tools/assistant/topicchooser.ui create mode 100644 tools/assistant/tools/qcollectiongenerator/main.cpp create mode 100644 tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro create mode 100644 tools/assistant/tools/qhelpconverter/adpreader.cpp create mode 100644 tools/assistant/tools/qhelpconverter/adpreader.h create mode 100644 tools/assistant/tools/qhelpconverter/assistant-128.png create mode 100644 tools/assistant/tools/qhelpconverter/assistant.png create mode 100644 tools/assistant/tools/qhelpconverter/conversionwizard.cpp create mode 100644 tools/assistant/tools/qhelpconverter/conversionwizard.h create mode 100644 tools/assistant/tools/qhelpconverter/doc/filespage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/filterpage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/generalpage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/identifierpage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/inputpage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/outputpage.html create mode 100644 tools/assistant/tools/qhelpconverter/doc/pathpage.html create mode 100644 tools/assistant/tools/qhelpconverter/filespage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/filespage.h create mode 100644 tools/assistant/tools/qhelpconverter/filespage.ui create mode 100644 tools/assistant/tools/qhelpconverter/filterpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/filterpage.h create mode 100644 tools/assistant/tools/qhelpconverter/filterpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/finishpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/finishpage.h create mode 100644 tools/assistant/tools/qhelpconverter/generalpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/generalpage.h create mode 100644 tools/assistant/tools/qhelpconverter/generalpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/helpwindow.cpp create mode 100644 tools/assistant/tools/qhelpconverter/helpwindow.h create mode 100644 tools/assistant/tools/qhelpconverter/identifierpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/identifierpage.h create mode 100644 tools/assistant/tools/qhelpconverter/identifierpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/inputpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/inputpage.h create mode 100644 tools/assistant/tools/qhelpconverter/inputpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/main.cpp create mode 100644 tools/assistant/tools/qhelpconverter/outputpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/outputpage.h create mode 100644 tools/assistant/tools/qhelpconverter/outputpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/pathpage.cpp create mode 100644 tools/assistant/tools/qhelpconverter/pathpage.h create mode 100644 tools/assistant/tools/qhelpconverter/pathpage.ui create mode 100644 tools/assistant/tools/qhelpconverter/qhcpwriter.cpp create mode 100644 tools/assistant/tools/qhelpconverter/qhcpwriter.h create mode 100644 tools/assistant/tools/qhelpconverter/qhelpconverter.pro create mode 100644 tools/assistant/tools/qhelpconverter/qhelpconverter.qrc create mode 100644 tools/assistant/tools/qhelpconverter/qhpwriter.cpp create mode 100644 tools/assistant/tools/qhelpconverter/qhpwriter.h create mode 100644 tools/assistant/tools/qhelpgenerator/main.cpp create mode 100644 tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro create mode 100644 tools/assistant/tools/shared/helpgenerator.cpp create mode 100644 tools/assistant/tools/shared/helpgenerator.h create mode 100644 tools/assistant/tools/tools.pro create mode 100644 tools/assistant/translations/qt_help.pro create mode 100644 tools/assistant/translations/translations.pro create mode 100644 tools/assistant/translations/translations_adp.pro create mode 100644 tools/checksdk/README create mode 100644 tools/checksdk/cesdkhandler.cpp create mode 100644 tools/checksdk/cesdkhandler.h create mode 100644 tools/checksdk/checksdk.pro create mode 100644 tools/checksdk/main.cpp create mode 100644 tools/configure/configure.pro create mode 100644 tools/configure/configure_pch.h create mode 100644 tools/configure/configureapp.cpp create mode 100644 tools/configure/configureapp.h create mode 100644 tools/configure/environment.cpp create mode 100644 tools/configure/environment.h create mode 100644 tools/configure/main.cpp create mode 100644 tools/configure/tools.cpp create mode 100644 tools/configure/tools.h create mode 100644 tools/designer/data/generate_header.xsl create mode 100644 tools/designer/data/generate_impl.xsl create mode 100644 tools/designer/data/generate_shared.xsl create mode 100644 tools/designer/data/ui3.xsd create mode 100644 tools/designer/data/ui4.xsd create mode 100644 tools/designer/designer.pro create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor.cpp create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor.h create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor.pri create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_global.h create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_instance.cpp create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_plugin.h create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp create mode 100644 tools/designer/src/components/buddyeditor/buddyeditor_tool.h create mode 100644 tools/designer/src/components/component.pri create mode 100644 tools/designer/src/components/components.pro create mode 100644 tools/designer/src/components/formeditor/brushmanagerproxy.cpp create mode 100644 tools/designer/src/components/formeditor/brushmanagerproxy.h create mode 100644 tools/designer/src/components/formeditor/default_actionprovider.cpp create mode 100644 tools/designer/src/components/formeditor/default_actionprovider.h create mode 100644 tools/designer/src/components/formeditor/default_container.cpp create mode 100644 tools/designer/src/components/formeditor/default_container.h create mode 100644 tools/designer/src/components/formeditor/default_layoutdecoration.cpp create mode 100644 tools/designer/src/components/formeditor/default_layoutdecoration.h create mode 100644 tools/designer/src/components/formeditor/defaultbrushes.xml create mode 100644 tools/designer/src/components/formeditor/deviceprofiledialog.cpp create mode 100644 tools/designer/src/components/formeditor/deviceprofiledialog.h create mode 100644 tools/designer/src/components/formeditor/deviceprofiledialog.ui create mode 100644 tools/designer/src/components/formeditor/dpi_chooser.cpp create mode 100644 tools/designer/src/components/formeditor/dpi_chooser.h create mode 100644 tools/designer/src/components/formeditor/embeddedoptionspage.cpp create mode 100644 tools/designer/src/components/formeditor/embeddedoptionspage.h create mode 100644 tools/designer/src/components/formeditor/formeditor.cpp create mode 100644 tools/designer/src/components/formeditor/formeditor.h create mode 100644 tools/designer/src/components/formeditor/formeditor.pri create mode 100644 tools/designer/src/components/formeditor/formeditor.qrc create mode 100644 tools/designer/src/components/formeditor/formeditor_global.h create mode 100644 tools/designer/src/components/formeditor/formeditor_optionspage.cpp create mode 100644 tools/designer/src/components/formeditor/formeditor_optionspage.h create mode 100644 tools/designer/src/components/formeditor/formwindow.cpp create mode 100644 tools/designer/src/components/formeditor/formwindow.h create mode 100644 tools/designer/src/components/formeditor/formwindow_dnditem.cpp create mode 100644 tools/designer/src/components/formeditor/formwindow_dnditem.h create mode 100644 tools/designer/src/components/formeditor/formwindow_widgetstack.cpp create mode 100644 tools/designer/src/components/formeditor/formwindow_widgetstack.h create mode 100644 tools/designer/src/components/formeditor/formwindowcursor.cpp create mode 100644 tools/designer/src/components/formeditor/formwindowcursor.h create mode 100644 tools/designer/src/components/formeditor/formwindowmanager.cpp create mode 100644 tools/designer/src/components/formeditor/formwindowmanager.h create mode 100644 tools/designer/src/components/formeditor/formwindowsettings.cpp create mode 100644 tools/designer/src/components/formeditor/formwindowsettings.h create mode 100644 tools/designer/src/components/formeditor/formwindowsettings.ui create mode 100644 tools/designer/src/components/formeditor/iconcache.cpp create mode 100644 tools/designer/src/components/formeditor/iconcache.h create mode 100644 tools/designer/src/components/formeditor/images/color.png create mode 100644 tools/designer/src/components/formeditor/images/configure.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/arrow.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/busy.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/closedhand.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/cross.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/hand.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/hsplit.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/ibeam.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/no.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/openhand.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/sizeall.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/sizeb.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/sizef.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/sizeh.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/sizev.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/uparrow.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/vsplit.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/wait.png create mode 100644 tools/designer/src/components/formeditor/images/cursors/whatsthis.png create mode 100644 tools/designer/src/components/formeditor/images/downplus.png create mode 100644 tools/designer/src/components/formeditor/images/dropdownbutton.png create mode 100644 tools/designer/src/components/formeditor/images/edit.png create mode 100644 tools/designer/src/components/formeditor/images/editdelete-16.png create mode 100644 tools/designer/src/components/formeditor/images/emptyicon.png create mode 100644 tools/designer/src/components/formeditor/images/filenew-16.png create mode 100644 tools/designer/src/components/formeditor/images/fileopen-16.png create mode 100644 tools/designer/src/components/formeditor/images/leveldown.png create mode 100644 tools/designer/src/components/formeditor/images/levelup.png create mode 100644 tools/designer/src/components/formeditor/images/mac/adjustsize.png create mode 100644 tools/designer/src/components/formeditor/images/mac/back.png create mode 100644 tools/designer/src/components/formeditor/images/mac/buddytool.png create mode 100644 tools/designer/src/components/formeditor/images/mac/down.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editbreaklayout.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editcopy.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editcut.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editdelete.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editform.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editgrid.png create mode 100644 tools/designer/src/components/formeditor/images/mac/edithlayout.png create mode 100644 tools/designer/src/components/formeditor/images/mac/edithlayoutsplit.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editlower.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editpaste.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editraise.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editvlayout.png create mode 100644 tools/designer/src/components/formeditor/images/mac/editvlayoutsplit.png create mode 100644 tools/designer/src/components/formeditor/images/mac/filenew.png create mode 100644 tools/designer/src/components/formeditor/images/mac/fileopen.png create mode 100644 tools/designer/src/components/formeditor/images/mac/filesave.png create mode 100644 tools/designer/src/components/formeditor/images/mac/forward.png create mode 100644 tools/designer/src/components/formeditor/images/mac/insertimage.png create mode 100644 tools/designer/src/components/formeditor/images/mac/minus.png create mode 100644 tools/designer/src/components/formeditor/images/mac/plus.png create mode 100644 tools/designer/src/components/formeditor/images/mac/redo.png create mode 100644 tools/designer/src/components/formeditor/images/mac/resetproperty.png create mode 100644 tools/designer/src/components/formeditor/images/mac/resourceeditortool.png create mode 100644 tools/designer/src/components/formeditor/images/mac/signalslottool.png create mode 100644 tools/designer/src/components/formeditor/images/mac/tabordertool.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textanchor.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textbold.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textcenter.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textitalic.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textjustify.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textleft.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textright.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textsubscript.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textsuperscript.png create mode 100644 tools/designer/src/components/formeditor/images/mac/textunder.png create mode 100644 tools/designer/src/components/formeditor/images/mac/undo.png create mode 100644 tools/designer/src/components/formeditor/images/mac/up.png create mode 100644 tools/designer/src/components/formeditor/images/mac/widgettool.png create mode 100644 tools/designer/src/components/formeditor/images/minus-16.png create mode 100644 tools/designer/src/components/formeditor/images/plus-16.png create mode 100644 tools/designer/src/components/formeditor/images/prefix-add.png create mode 100644 tools/designer/src/components/formeditor/images/qt3logo.png create mode 100644 tools/designer/src/components/formeditor/images/qtlogo.png create mode 100644 tools/designer/src/components/formeditor/images/reload.png create mode 100644 tools/designer/src/components/formeditor/images/resetproperty.png create mode 100644 tools/designer/src/components/formeditor/images/sort.png create mode 100644 tools/designer/src/components/formeditor/images/submenu.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/calendarwidget.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/checkbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/columnview.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/combobox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/commandlinkbutton.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/dateedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/datetimeedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/dial.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/dialogbuttonbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/dockwidget.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/doublespinbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/fontcombobox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/frame.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/graphicsview.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/groupbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/groupboxcollapsible.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/hscrollbar.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/hslider.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/hsplit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/label.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/lcdnumber.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/line.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/lineedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/listbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/listview.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/mdiarea.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/plaintextedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/progress.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/pushbutton.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/radiobutton.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/scrollarea.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/spacer.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/spinbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/tabbar.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/table.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/tabwidget.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/textedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/timeedit.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/toolbox.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/toolbutton.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/vline.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/vscrollbar.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/vslider.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/vspacer.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/widget.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/widgetstack.png create mode 100644 tools/designer/src/components/formeditor/images/widgets/wizard.png create mode 100644 tools/designer/src/components/formeditor/images/win/adjustsize.png create mode 100644 tools/designer/src/components/formeditor/images/win/back.png create mode 100644 tools/designer/src/components/formeditor/images/win/buddytool.png create mode 100644 tools/designer/src/components/formeditor/images/win/down.png create mode 100644 tools/designer/src/components/formeditor/images/win/editbreaklayout.png create mode 100644 tools/designer/src/components/formeditor/images/win/editcopy.png create mode 100644 tools/designer/src/components/formeditor/images/win/editcut.png create mode 100644 tools/designer/src/components/formeditor/images/win/editdelete.png create mode 100644 tools/designer/src/components/formeditor/images/win/editform.png create mode 100644 tools/designer/src/components/formeditor/images/win/editgrid.png create mode 100644 tools/designer/src/components/formeditor/images/win/edithlayout.png create mode 100644 tools/designer/src/components/formeditor/images/win/edithlayoutsplit.png create mode 100644 tools/designer/src/components/formeditor/images/win/editlower.png create mode 100644 tools/designer/src/components/formeditor/images/win/editpaste.png create mode 100644 tools/designer/src/components/formeditor/images/win/editraise.png create mode 100644 tools/designer/src/components/formeditor/images/win/editvlayout.png create mode 100644 tools/designer/src/components/formeditor/images/win/editvlayoutsplit.png create mode 100644 tools/designer/src/components/formeditor/images/win/filenew.png create mode 100644 tools/designer/src/components/formeditor/images/win/fileopen.png create mode 100644 tools/designer/src/components/formeditor/images/win/filesave.png create mode 100644 tools/designer/src/components/formeditor/images/win/forward.png create mode 100644 tools/designer/src/components/formeditor/images/win/insertimage.png create mode 100644 tools/designer/src/components/formeditor/images/win/minus.png create mode 100644 tools/designer/src/components/formeditor/images/win/plus.png create mode 100644 tools/designer/src/components/formeditor/images/win/redo.png create mode 100644 tools/designer/src/components/formeditor/images/win/resourceeditortool.png create mode 100644 tools/designer/src/components/formeditor/images/win/signalslottool.png create mode 100644 tools/designer/src/components/formeditor/images/win/tabordertool.png create mode 100644 tools/designer/src/components/formeditor/images/win/textanchor.png create mode 100644 tools/designer/src/components/formeditor/images/win/textbold.png create mode 100644 tools/designer/src/components/formeditor/images/win/textcenter.png create mode 100644 tools/designer/src/components/formeditor/images/win/textitalic.png create mode 100644 tools/designer/src/components/formeditor/images/win/textjustify.png create mode 100644 tools/designer/src/components/formeditor/images/win/textleft.png create mode 100644 tools/designer/src/components/formeditor/images/win/textright.png create mode 100644 tools/designer/src/components/formeditor/images/win/textsubscript.png create mode 100644 tools/designer/src/components/formeditor/images/win/textsuperscript.png create mode 100644 tools/designer/src/components/formeditor/images/win/textunder.png create mode 100644 tools/designer/src/components/formeditor/images/win/undo.png create mode 100644 tools/designer/src/components/formeditor/images/win/up.png create mode 100644 tools/designer/src/components/formeditor/images/win/widgettool.png create mode 100644 tools/designer/src/components/formeditor/itemview_propertysheet.cpp create mode 100644 tools/designer/src/components/formeditor/itemview_propertysheet.h create mode 100644 tools/designer/src/components/formeditor/layout_propertysheet.cpp create mode 100644 tools/designer/src/components/formeditor/layout_propertysheet.h create mode 100644 tools/designer/src/components/formeditor/line_propertysheet.cpp create mode 100644 tools/designer/src/components/formeditor/line_propertysheet.h create mode 100644 tools/designer/src/components/formeditor/previewactiongroup.cpp create mode 100644 tools/designer/src/components/formeditor/previewactiongroup.h create mode 100644 tools/designer/src/components/formeditor/qdesigner_resource.cpp create mode 100644 tools/designer/src/components/formeditor/qdesigner_resource.h create mode 100644 tools/designer/src/components/formeditor/qlayoutwidget_propertysheet.cpp create mode 100644 tools/designer/src/components/formeditor/qlayoutwidget_propertysheet.h create mode 100644 tools/designer/src/components/formeditor/qmainwindow_container.cpp create mode 100644 tools/designer/src/components/formeditor/qmainwindow_container.h create mode 100644 tools/designer/src/components/formeditor/qmdiarea_container.cpp create mode 100644 tools/designer/src/components/formeditor/qmdiarea_container.h create mode 100644 tools/designer/src/components/formeditor/qtbrushmanager.cpp create mode 100644 tools/designer/src/components/formeditor/qtbrushmanager.h create mode 100644 tools/designer/src/components/formeditor/qwizard_container.cpp create mode 100644 tools/designer/src/components/formeditor/qwizard_container.h create mode 100644 tools/designer/src/components/formeditor/qworkspace_container.cpp create mode 100644 tools/designer/src/components/formeditor/qworkspace_container.h create mode 100644 tools/designer/src/components/formeditor/spacer_propertysheet.cpp create mode 100644 tools/designer/src/components/formeditor/spacer_propertysheet.h create mode 100644 tools/designer/src/components/formeditor/templateoptionspage.cpp create mode 100644 tools/designer/src/components/formeditor/templateoptionspage.h create mode 100644 tools/designer/src/components/formeditor/templateoptionspage.ui create mode 100644 tools/designer/src/components/formeditor/tool_widgeteditor.cpp create mode 100644 tools/designer/src/components/formeditor/tool_widgeteditor.h create mode 100644 tools/designer/src/components/formeditor/widgetselection.cpp create mode 100644 tools/designer/src/components/formeditor/widgetselection.h create mode 100644 tools/designer/src/components/lib/lib.pro create mode 100644 tools/designer/src/components/lib/lib_pch.h create mode 100644 tools/designer/src/components/lib/qdesigner_components.cpp create mode 100644 tools/designer/src/components/objectinspector/objectinspector.cpp create mode 100644 tools/designer/src/components/objectinspector/objectinspector.h create mode 100644 tools/designer/src/components/objectinspector/objectinspector.pri create mode 100644 tools/designer/src/components/objectinspector/objectinspector_global.h create mode 100644 tools/designer/src/components/objectinspector/objectinspectormodel.cpp create mode 100644 tools/designer/src/components/objectinspector/objectinspectormodel_p.h create mode 100644 tools/designer/src/components/propertyeditor/brushpropertymanager.cpp create mode 100644 tools/designer/src/components/propertyeditor/brushpropertymanager.h create mode 100644 tools/designer/src/components/propertyeditor/defs.cpp create mode 100644 tools/designer/src/components/propertyeditor/defs.h create mode 100644 tools/designer/src/components/propertyeditor/designerpropertymanager.cpp create mode 100644 tools/designer/src/components/propertyeditor/designerpropertymanager.h create mode 100644 tools/designer/src/components/propertyeditor/fontmapping.xml create mode 100644 tools/designer/src/components/propertyeditor/fontpropertymanager.cpp create mode 100644 tools/designer/src/components/propertyeditor/fontpropertymanager.h create mode 100644 tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp create mode 100644 tools/designer/src/components/propertyeditor/newdynamicpropertydialog.h create mode 100644 tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui create mode 100644 tools/designer/src/components/propertyeditor/paletteeditor.cpp create mode 100644 tools/designer/src/components/propertyeditor/paletteeditor.h create mode 100644 tools/designer/src/components/propertyeditor/paletteeditor.ui create mode 100644 tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp create mode 100644 tools/designer/src/components/propertyeditor/paletteeditorbutton.h create mode 100644 tools/designer/src/components/propertyeditor/previewframe.cpp create mode 100644 tools/designer/src/components/propertyeditor/previewframe.h create mode 100644 tools/designer/src/components/propertyeditor/previewwidget.cpp create mode 100644 tools/designer/src/components/propertyeditor/previewwidget.h create mode 100644 tools/designer/src/components/propertyeditor/previewwidget.ui create mode 100644 tools/designer/src/components/propertyeditor/propertyeditor.cpp create mode 100644 tools/designer/src/components/propertyeditor/propertyeditor.h create mode 100644 tools/designer/src/components/propertyeditor/propertyeditor.pri create mode 100644 tools/designer/src/components/propertyeditor/propertyeditor.qrc create mode 100644 tools/designer/src/components/propertyeditor/propertyeditor_global.h create mode 100644 tools/designer/src/components/propertyeditor/qlonglongvalidator.cpp create mode 100644 tools/designer/src/components/propertyeditor/qlonglongvalidator.h create mode 100644 tools/designer/src/components/propertyeditor/stringlisteditor.cpp create mode 100644 tools/designer/src/components/propertyeditor/stringlisteditor.h create mode 100644 tools/designer/src/components/propertyeditor/stringlisteditor.ui create mode 100644 tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp create mode 100644 tools/designer/src/components/propertyeditor/stringlisteditorbutton.h create mode 100644 tools/designer/src/components/signalsloteditor/connectdialog.cpp create mode 100644 tools/designer/src/components/signalsloteditor/connectdialog.ui create mode 100644 tools/designer/src/components/signalsloteditor/connectdialog_p.h create mode 100644 tools/designer/src/components/signalsloteditor/signalslot_utils.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalslot_utils_p.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor.pri create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_global.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_instance.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_p.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditor_tool.h create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp create mode 100644 tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor.cpp create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor.h create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor.pri create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_global.h create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_instance.cpp create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_plugin.h create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp create mode 100644 tools/designer/src/components/tabordereditor/tabordereditor_tool.h create mode 100644 tools/designer/src/components/taskmenu/button_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/button_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/combobox_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/combobox_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/containerwidget_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/groupbox_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/inplace_editor.cpp create mode 100644 tools/designer/src/components/taskmenu/inplace_editor.h create mode 100644 tools/designer/src/components/taskmenu/inplace_widget_helper.cpp create mode 100644 tools/designer/src/components/taskmenu/inplace_widget_helper.h create mode 100644 tools/designer/src/components/taskmenu/itemlisteditor.cpp create mode 100644 tools/designer/src/components/taskmenu/itemlisteditor.h create mode 100644 tools/designer/src/components/taskmenu/itemlisteditor.ui create mode 100644 tools/designer/src/components/taskmenu/label_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/label_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/layouttaskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/layouttaskmenu.h create mode 100644 tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/lineedit_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/listwidget_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/listwidgeteditor.cpp create mode 100644 tools/designer/src/components/taskmenu/listwidgeteditor.h create mode 100644 tools/designer/src/components/taskmenu/menutaskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/menutaskmenu.h create mode 100644 tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/tablewidget_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/tablewidgeteditor.cpp create mode 100644 tools/designer/src/components/taskmenu/tablewidgeteditor.h create mode 100644 tools/designer/src/components/taskmenu/tablewidgeteditor.ui create mode 100644 tools/designer/src/components/taskmenu/taskmenu.pri create mode 100644 tools/designer/src/components/taskmenu/taskmenu_component.cpp create mode 100644 tools/designer/src/components/taskmenu/taskmenu_component.h create mode 100644 tools/designer/src/components/taskmenu/taskmenu_global.h create mode 100644 tools/designer/src/components/taskmenu/textedit_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/textedit_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/toolbar_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp create mode 100644 tools/designer/src/components/taskmenu/treewidget_taskmenu.h create mode 100644 tools/designer/src/components/taskmenu/treewidgeteditor.cpp create mode 100644 tools/designer/src/components/taskmenu/treewidgeteditor.h create mode 100644 tools/designer/src/components/taskmenu/treewidgeteditor.ui create mode 100644 tools/designer/src/components/widgetbox/widgetbox.cpp create mode 100644 tools/designer/src/components/widgetbox/widgetbox.h create mode 100644 tools/designer/src/components/widgetbox/widgetbox.pri create mode 100644 tools/designer/src/components/widgetbox/widgetbox.qrc create mode 100644 tools/designer/src/components/widgetbox/widgetbox.xml create mode 100644 tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp create mode 100644 tools/designer/src/components/widgetbox/widgetbox_dnditem.h create mode 100644 tools/designer/src/components/widgetbox/widgetbox_global.h create mode 100644 tools/designer/src/components/widgetbox/widgetboxcategorylistview.cpp create mode 100644 tools/designer/src/components/widgetbox/widgetboxcategorylistview.h create mode 100644 tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp create mode 100644 tools/designer/src/components/widgetbox/widgetboxtreewidget.h create mode 100644 tools/designer/src/designer/Info_mac.plist create mode 100644 tools/designer/src/designer/appfontdialog.cpp create mode 100644 tools/designer/src/designer/appfontdialog.h create mode 100644 tools/designer/src/designer/assistantclient.cpp create mode 100644 tools/designer/src/designer/assistantclient.h create mode 100644 tools/designer/src/designer/designer.icns create mode 100644 tools/designer/src/designer/designer.ico create mode 100644 tools/designer/src/designer/designer.pro create mode 100644 tools/designer/src/designer/designer.qrc create mode 100644 tools/designer/src/designer/designer.rc create mode 100644 tools/designer/src/designer/designer_enums.h create mode 100644 tools/designer/src/designer/images/designer.png create mode 100644 tools/designer/src/designer/images/mdi.png create mode 100644 tools/designer/src/designer/images/sdi.png create mode 100644 tools/designer/src/designer/images/workbench.png create mode 100644 tools/designer/src/designer/main.cpp create mode 100644 tools/designer/src/designer/mainwindow.cpp create mode 100644 tools/designer/src/designer/mainwindow.h create mode 100644 tools/designer/src/designer/newform.cpp create mode 100644 tools/designer/src/designer/newform.h create mode 100644 tools/designer/src/designer/preferencesdialog.cpp create mode 100644 tools/designer/src/designer/preferencesdialog.h create mode 100644 tools/designer/src/designer/preferencesdialog.ui create mode 100644 tools/designer/src/designer/qdesigner.cpp create mode 100644 tools/designer/src/designer/qdesigner.h create mode 100644 tools/designer/src/designer/qdesigner_actions.cpp create mode 100644 tools/designer/src/designer/qdesigner_actions.h create mode 100644 tools/designer/src/designer/qdesigner_appearanceoptions.cpp create mode 100644 tools/designer/src/designer/qdesigner_appearanceoptions.h create mode 100644 tools/designer/src/designer/qdesigner_appearanceoptions.ui create mode 100644 tools/designer/src/designer/qdesigner_formwindow.cpp create mode 100644 tools/designer/src/designer/qdesigner_formwindow.h create mode 100644 tools/designer/src/designer/qdesigner_pch.h create mode 100644 tools/designer/src/designer/qdesigner_server.cpp create mode 100644 tools/designer/src/designer/qdesigner_server.h create mode 100644 tools/designer/src/designer/qdesigner_settings.cpp create mode 100644 tools/designer/src/designer/qdesigner_settings.h create mode 100644 tools/designer/src/designer/qdesigner_toolwindow.cpp create mode 100644 tools/designer/src/designer/qdesigner_toolwindow.h create mode 100644 tools/designer/src/designer/qdesigner_workbench.cpp create mode 100644 tools/designer/src/designer/qdesigner_workbench.h create mode 100644 tools/designer/src/designer/saveformastemplate.cpp create mode 100644 tools/designer/src/designer/saveformastemplate.h create mode 100644 tools/designer/src/designer/saveformastemplate.ui create mode 100644 tools/designer/src/designer/versiondialog.cpp create mode 100644 tools/designer/src/designer/versiondialog.h create mode 100644 tools/designer/src/lib/components/qdesigner_components.h create mode 100644 tools/designer/src/lib/components/qdesigner_components_global.h create mode 100644 tools/designer/src/lib/extension/default_extensionfactory.cpp create mode 100644 tools/designer/src/lib/extension/default_extensionfactory.h create mode 100644 tools/designer/src/lib/extension/extension.cpp create mode 100644 tools/designer/src/lib/extension/extension.h create mode 100644 tools/designer/src/lib/extension/extension.pri create mode 100644 tools/designer/src/lib/extension/extension_global.h create mode 100644 tools/designer/src/lib/extension/qextensionmanager.cpp create mode 100644 tools/designer/src/lib/extension/qextensionmanager.h create mode 100644 tools/designer/src/lib/lib.pro create mode 100644 tools/designer/src/lib/lib_pch.h create mode 100644 tools/designer/src/lib/sdk/abstractactioneditor.cpp create mode 100644 tools/designer/src/lib/sdk/abstractactioneditor.h create mode 100644 tools/designer/src/lib/sdk/abstractbrushmanager.h create mode 100644 tools/designer/src/lib/sdk/abstractdialoggui.cpp create mode 100644 tools/designer/src/lib/sdk/abstractdialoggui_p.h create mode 100644 tools/designer/src/lib/sdk/abstractdnditem.h create mode 100644 tools/designer/src/lib/sdk/abstractformeditor.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformeditor.h create mode 100644 tools/designer/src/lib/sdk/abstractformeditorplugin.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformeditorplugin.h create mode 100644 tools/designer/src/lib/sdk/abstractformwindow.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformwindow.h create mode 100644 tools/designer/src/lib/sdk/abstractformwindowcursor.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformwindowcursor.h create mode 100644 tools/designer/src/lib/sdk/abstractformwindowmanager.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformwindowmanager.h create mode 100644 tools/designer/src/lib/sdk/abstractformwindowtool.cpp create mode 100644 tools/designer/src/lib/sdk/abstractformwindowtool.h create mode 100644 tools/designer/src/lib/sdk/abstracticoncache.h create mode 100644 tools/designer/src/lib/sdk/abstractintegration.cpp create mode 100644 tools/designer/src/lib/sdk/abstractintegration.h create mode 100644 tools/designer/src/lib/sdk/abstractintrospection.cpp create mode 100644 tools/designer/src/lib/sdk/abstractintrospection_p.h create mode 100644 tools/designer/src/lib/sdk/abstractlanguage.h create mode 100644 tools/designer/src/lib/sdk/abstractmetadatabase.cpp create mode 100644 tools/designer/src/lib/sdk/abstractmetadatabase.h create mode 100644 tools/designer/src/lib/sdk/abstractnewformwidget.cpp create mode 100644 tools/designer/src/lib/sdk/abstractnewformwidget_p.h create mode 100644 tools/designer/src/lib/sdk/abstractobjectinspector.cpp create mode 100644 tools/designer/src/lib/sdk/abstractobjectinspector.h create mode 100644 tools/designer/src/lib/sdk/abstractoptionspage_p.h create mode 100644 tools/designer/src/lib/sdk/abstractpromotioninterface.cpp create mode 100644 tools/designer/src/lib/sdk/abstractpromotioninterface.h create mode 100644 tools/designer/src/lib/sdk/abstractpropertyeditor.cpp create mode 100644 tools/designer/src/lib/sdk/abstractpropertyeditor.h create mode 100644 tools/designer/src/lib/sdk/abstractresourcebrowser.cpp create mode 100644 tools/designer/src/lib/sdk/abstractresourcebrowser.h create mode 100644 tools/designer/src/lib/sdk/abstractsettings_p.h create mode 100644 tools/designer/src/lib/sdk/abstractwidgetbox.cpp create mode 100644 tools/designer/src/lib/sdk/abstractwidgetbox.h create mode 100644 tools/designer/src/lib/sdk/abstractwidgetdatabase.cpp create mode 100644 tools/designer/src/lib/sdk/abstractwidgetdatabase.h create mode 100644 tools/designer/src/lib/sdk/abstractwidgetfactory.cpp create mode 100644 tools/designer/src/lib/sdk/abstractwidgetfactory.h create mode 100644 tools/designer/src/lib/sdk/dynamicpropertysheet.h create mode 100644 tools/designer/src/lib/sdk/extrainfo.cpp create mode 100644 tools/designer/src/lib/sdk/extrainfo.h create mode 100644 tools/designer/src/lib/sdk/layoutdecoration.h create mode 100644 tools/designer/src/lib/sdk/membersheet.h create mode 100644 tools/designer/src/lib/sdk/propertysheet.h create mode 100644 tools/designer/src/lib/sdk/script.cpp create mode 100644 tools/designer/src/lib/sdk/script_p.h create mode 100644 tools/designer/src/lib/sdk/sdk.pri create mode 100644 tools/designer/src/lib/sdk/sdk_global.h create mode 100644 tools/designer/src/lib/sdk/taskmenu.h create mode 100644 tools/designer/src/lib/shared/actioneditor.cpp create mode 100644 tools/designer/src/lib/shared/actioneditor_p.h create mode 100644 tools/designer/src/lib/shared/actionprovider_p.h create mode 100644 tools/designer/src/lib/shared/actionrepository.cpp create mode 100644 tools/designer/src/lib/shared/actionrepository_p.h create mode 100644 tools/designer/src/lib/shared/addlinkdialog.ui create mode 100644 tools/designer/src/lib/shared/codedialog.cpp create mode 100644 tools/designer/src/lib/shared/codedialog_p.h create mode 100644 tools/designer/src/lib/shared/connectionedit.cpp create mode 100644 tools/designer/src/lib/shared/connectionedit_p.h create mode 100644 tools/designer/src/lib/shared/csshighlighter.cpp create mode 100644 tools/designer/src/lib/shared/csshighlighter_p.h create mode 100644 tools/designer/src/lib/shared/defaultgradients.xml create mode 100644 tools/designer/src/lib/shared/deviceprofile.cpp create mode 100644 tools/designer/src/lib/shared/deviceprofile_p.h create mode 100644 tools/designer/src/lib/shared/dialoggui.cpp create mode 100644 tools/designer/src/lib/shared/dialoggui_p.h create mode 100644 tools/designer/src/lib/shared/extensionfactory_p.h create mode 100644 tools/designer/src/lib/shared/filterwidget.cpp create mode 100644 tools/designer/src/lib/shared/filterwidget_p.h create mode 100644 tools/designer/src/lib/shared/formlayoutmenu.cpp create mode 100644 tools/designer/src/lib/shared/formlayoutmenu_p.h create mode 100644 tools/designer/src/lib/shared/formlayoutrowdialog.ui create mode 100644 tools/designer/src/lib/shared/formwindowbase.cpp create mode 100644 tools/designer/src/lib/shared/formwindowbase_p.h create mode 100644 tools/designer/src/lib/shared/grid.cpp create mode 100644 tools/designer/src/lib/shared/grid_p.h create mode 100644 tools/designer/src/lib/shared/gridpanel.cpp create mode 100644 tools/designer/src/lib/shared/gridpanel.ui create mode 100644 tools/designer/src/lib/shared/gridpanel_p.h create mode 100644 tools/designer/src/lib/shared/htmlhighlighter.cpp create mode 100644 tools/designer/src/lib/shared/htmlhighlighter_p.h create mode 100644 tools/designer/src/lib/shared/iconloader.cpp create mode 100644 tools/designer/src/lib/shared/iconloader_p.h create mode 100644 tools/designer/src/lib/shared/iconselector.cpp create mode 100644 tools/designer/src/lib/shared/iconselector_p.h create mode 100644 tools/designer/src/lib/shared/invisible_widget.cpp create mode 100644 tools/designer/src/lib/shared/invisible_widget_p.h create mode 100644 tools/designer/src/lib/shared/layout.cpp create mode 100644 tools/designer/src/lib/shared/layout_p.h create mode 100644 tools/designer/src/lib/shared/layoutinfo.cpp create mode 100644 tools/designer/src/lib/shared/layoutinfo_p.h create mode 100644 tools/designer/src/lib/shared/metadatabase.cpp create mode 100644 tools/designer/src/lib/shared/metadatabase_p.h create mode 100644 tools/designer/src/lib/shared/morphmenu.cpp create mode 100644 tools/designer/src/lib/shared/morphmenu_p.h create mode 100644 tools/designer/src/lib/shared/newactiondialog.cpp create mode 100644 tools/designer/src/lib/shared/newactiondialog.ui create mode 100644 tools/designer/src/lib/shared/newactiondialog_p.h create mode 100644 tools/designer/src/lib/shared/newformwidget.cpp create mode 100644 tools/designer/src/lib/shared/newformwidget.ui create mode 100644 tools/designer/src/lib/shared/newformwidget_p.h create mode 100644 tools/designer/src/lib/shared/orderdialog.cpp create mode 100644 tools/designer/src/lib/shared/orderdialog.ui create mode 100644 tools/designer/src/lib/shared/orderdialog_p.h create mode 100644 tools/designer/src/lib/shared/plaintexteditor.cpp create mode 100644 tools/designer/src/lib/shared/plaintexteditor_p.h create mode 100644 tools/designer/src/lib/shared/plugindialog.cpp create mode 100644 tools/designer/src/lib/shared/plugindialog.ui create mode 100644 tools/designer/src/lib/shared/plugindialog_p.h create mode 100644 tools/designer/src/lib/shared/pluginmanager.cpp create mode 100644 tools/designer/src/lib/shared/pluginmanager_p.h create mode 100644 tools/designer/src/lib/shared/previewconfigurationwidget.cpp create mode 100644 tools/designer/src/lib/shared/previewconfigurationwidget.ui create mode 100644 tools/designer/src/lib/shared/previewconfigurationwidget_p.h create mode 100644 tools/designer/src/lib/shared/previewmanager.cpp create mode 100644 tools/designer/src/lib/shared/previewmanager_p.h create mode 100644 tools/designer/src/lib/shared/promotionmodel.cpp create mode 100644 tools/designer/src/lib/shared/promotionmodel_p.h create mode 100644 tools/designer/src/lib/shared/promotiontaskmenu.cpp create mode 100644 tools/designer/src/lib/shared/promotiontaskmenu_p.h create mode 100644 tools/designer/src/lib/shared/propertylineedit.cpp create mode 100644 tools/designer/src/lib/shared/propertylineedit_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_command.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_command2.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_command2_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_command_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_dnditem.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_dnditem_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_dockwidget.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_dockwidget_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_formbuilder.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_formbuilder_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_formeditorcommand.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_formeditorcommand_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_formwindowcommand.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_formwindowcommand_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_formwindowmanager.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_formwindowmanager_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_integration.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_integration_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_introspection.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_introspection_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_membersheet.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_membersheet_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_menu.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_menu_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_menubar.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_menubar_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_objectinspector.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_objectinspector_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_promotion.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_promotion_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_promotiondialog_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_propertycommand.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_propertycommand_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_propertyeditor.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_propertyeditor_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_propertysheet.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_propertysheet_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_qsettings.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_qsettings_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_stackedbox.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_stackedbox_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_tabwidget.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_tabwidget_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_taskmenu.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_taskmenu_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_toolbar.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_toolbar_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_toolbox.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_toolbox_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_utils.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_utils_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_widget.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_widget_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_widgetbox.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_widgetbox_p.h create mode 100644 tools/designer/src/lib/shared/qdesigner_widgetitem.cpp create mode 100644 tools/designer/src/lib/shared/qdesigner_widgetitem_p.h create mode 100644 tools/designer/src/lib/shared/qlayout_widget.cpp create mode 100644 tools/designer/src/lib/shared/qlayout_widget_p.h create mode 100644 tools/designer/src/lib/shared/qscripthighlighter.cpp create mode 100644 tools/designer/src/lib/shared/qscripthighlighter_p.h create mode 100644 tools/designer/src/lib/shared/qsimpleresource.cpp create mode 100644 tools/designer/src/lib/shared/qsimpleresource_p.h create mode 100644 tools/designer/src/lib/shared/qtresourceeditordialog.cpp create mode 100644 tools/designer/src/lib/shared/qtresourceeditordialog.ui create mode 100644 tools/designer/src/lib/shared/qtresourceeditordialog_p.h create mode 100644 tools/designer/src/lib/shared/qtresourcemodel.cpp create mode 100644 tools/designer/src/lib/shared/qtresourcemodel_p.h create mode 100644 tools/designer/src/lib/shared/qtresourceview.cpp create mode 100644 tools/designer/src/lib/shared/qtresourceview_p.h create mode 100644 tools/designer/src/lib/shared/richtexteditor.cpp create mode 100644 tools/designer/src/lib/shared/richtexteditor_p.h create mode 100644 tools/designer/src/lib/shared/scriptcommand.cpp create mode 100644 tools/designer/src/lib/shared/scriptcommand_p.h create mode 100644 tools/designer/src/lib/shared/scriptdialog.cpp create mode 100644 tools/designer/src/lib/shared/scriptdialog_p.h create mode 100644 tools/designer/src/lib/shared/scripterrordialog.cpp create mode 100644 tools/designer/src/lib/shared/scripterrordialog_p.h create mode 100644 tools/designer/src/lib/shared/selectsignaldialog.ui create mode 100644 tools/designer/src/lib/shared/shared.pri create mode 100644 tools/designer/src/lib/shared/shared.qrc create mode 100644 tools/designer/src/lib/shared/shared_enums_p.h create mode 100644 tools/designer/src/lib/shared/shared_global_p.h create mode 100644 tools/designer/src/lib/shared/shared_settings.cpp create mode 100644 tools/designer/src/lib/shared/shared_settings_p.h create mode 100644 tools/designer/src/lib/shared/sheet_delegate.cpp create mode 100644 tools/designer/src/lib/shared/sheet_delegate_p.h create mode 100644 tools/designer/src/lib/shared/signalslotdialog.cpp create mode 100644 tools/designer/src/lib/shared/signalslotdialog.ui create mode 100644 tools/designer/src/lib/shared/signalslotdialog_p.h create mode 100644 tools/designer/src/lib/shared/spacer_widget.cpp create mode 100644 tools/designer/src/lib/shared/spacer_widget_p.h create mode 100644 tools/designer/src/lib/shared/stylesheeteditor.cpp create mode 100644 tools/designer/src/lib/shared/stylesheeteditor_p.h create mode 100644 tools/designer/src/lib/shared/templates/forms/240x320/Dialog_with_Buttons_Bottom.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/240x320/Dialog_with_Buttons_Right.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/320x240/Dialog_with_Buttons_Bottom.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/320x240/Dialog_with_Buttons_Right.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/480x640/Dialog_with_Buttons_Bottom.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/480x640/Dialog_with_Buttons_Right.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/640x480/Dialog_with_Buttons_Bottom.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/640x480/Dialog_with_Buttons_Right.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/Dialog_with_Buttons_Bottom.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/Dialog_with_Buttons_Right.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/Dialog_without_Buttons.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/Main_Window.ui create mode 100644 tools/designer/src/lib/shared/templates/forms/Widget.ui create mode 100644 tools/designer/src/lib/shared/textpropertyeditor.cpp create mode 100644 tools/designer/src/lib/shared/textpropertyeditor_p.h create mode 100644 tools/designer/src/lib/shared/widgetdatabase.cpp create mode 100644 tools/designer/src/lib/shared/widgetdatabase_p.h create mode 100644 tools/designer/src/lib/shared/widgetfactory.cpp create mode 100644 tools/designer/src/lib/shared/widgetfactory_p.h create mode 100644 tools/designer/src/lib/shared/zoomwidget.cpp create mode 100644 tools/designer/src/lib/shared/zoomwidget_p.h create mode 100644 tools/designer/src/lib/uilib/abstractformbuilder.cpp create mode 100644 tools/designer/src/lib/uilib/abstractformbuilder.h create mode 100644 tools/designer/src/lib/uilib/container.h create mode 100644 tools/designer/src/lib/uilib/customwidget.h create mode 100644 tools/designer/src/lib/uilib/formbuilder.cpp create mode 100644 tools/designer/src/lib/uilib/formbuilder.h create mode 100644 tools/designer/src/lib/uilib/formbuilderextra.cpp create mode 100644 tools/designer/src/lib/uilib/formbuilderextra_p.h create mode 100644 tools/designer/src/lib/uilib/formscriptrunner.cpp create mode 100644 tools/designer/src/lib/uilib/formscriptrunner_p.h create mode 100644 tools/designer/src/lib/uilib/properties.cpp create mode 100644 tools/designer/src/lib/uilib/properties_p.h create mode 100644 tools/designer/src/lib/uilib/qdesignerexportwidget.h create mode 100644 tools/designer/src/lib/uilib/resourcebuilder.cpp create mode 100644 tools/designer/src/lib/uilib/resourcebuilder_p.h create mode 100644 tools/designer/src/lib/uilib/textbuilder.cpp create mode 100644 tools/designer/src/lib/uilib/textbuilder_p.h create mode 100644 tools/designer/src/lib/uilib/ui4.cpp create mode 100644 tools/designer/src/lib/uilib/ui4_p.h create mode 100644 tools/designer/src/lib/uilib/uilib.pri create mode 100644 tools/designer/src/lib/uilib/uilib_global.h create mode 100644 tools/designer/src/lib/uilib/widgets.table create mode 100644 tools/designer/src/plugins/activeqt/activeqt.pro create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetextrainfo.cpp create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetextrainfo.h create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetplugin.h create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetpropertysheet.cpp create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgetpropertysheet.h create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp create mode 100644 tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.h create mode 100644 tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp create mode 100644 tools/designer/src/plugins/activeqt/qdesigneraxwidget.h create mode 100644 tools/designer/src/plugins/phononwidgets/images/seekslider.png create mode 100644 tools/designer/src/plugins/phononwidgets/images/videoplayer.png create mode 100644 tools/designer/src/plugins/phononwidgets/images/videowidget.png create mode 100644 tools/designer/src/plugins/phononwidgets/images/volumeslider.png create mode 100644 tools/designer/src/plugins/phononwidgets/phononcollection.cpp create mode 100644 tools/designer/src/plugins/phononwidgets/phononwidgets.pro create mode 100644 tools/designer/src/plugins/phononwidgets/phononwidgets.qrc create mode 100644 tools/designer/src/plugins/phononwidgets/seeksliderplugin.cpp create mode 100644 tools/designer/src/plugins/phononwidgets/seeksliderplugin.h create mode 100644 tools/designer/src/plugins/phononwidgets/videoplayerplugin.cpp create mode 100644 tools/designer/src/plugins/phononwidgets/videoplayerplugin.h create mode 100644 tools/designer/src/plugins/phononwidgets/videoplayertaskmenu.cpp create mode 100644 tools/designer/src/plugins/phononwidgets/videoplayertaskmenu.h create mode 100644 tools/designer/src/plugins/phononwidgets/volumesliderplugin.cpp create mode 100644 tools/designer/src/plugins/phononwidgets/volumesliderplugin.h create mode 100644 tools/designer/src/plugins/plugins.pri create mode 100644 tools/designer/src/plugins/plugins.pro create mode 100644 tools/designer/src/plugins/qwebview/images/qwebview.png create mode 100644 tools/designer/src/plugins/qwebview/qwebview.pro create mode 100644 tools/designer/src/plugins/qwebview/qwebview_plugin.cpp create mode 100644 tools/designer/src/plugins/qwebview/qwebview_plugin.h create mode 100644 tools/designer/src/plugins/qwebview/qwebview_plugin.qrc create mode 100644 tools/designer/src/plugins/tools/view3d/view3d.cpp create mode 100644 tools/designer/src/plugins/tools/view3d/view3d.h create mode 100644 tools/designer/src/plugins/tools/view3d/view3d.pro create mode 100644 tools/designer/src/plugins/tools/view3d/view3d_global.h create mode 100644 tools/designer/src/plugins/tools/view3d/view3d_plugin.cpp create mode 100644 tools/designer/src/plugins/tools/view3d/view3d_plugin.h create mode 100644 tools/designer/src/plugins/tools/view3d/view3d_tool.cpp create mode 100644 tools/designer/src/plugins/tools/view3d/view3d_tool.h create mode 100644 tools/designer/src/plugins/widgets/q3iconview/q3iconview_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3iconview/q3iconview_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3iconview/q3iconview_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3iconview/q3iconview_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3listbox/q3listbox_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3listbox/q3listbox_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3listbox/q3listbox_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3listbox/q3listbox_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3listview/q3listview_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3listview/q3listview_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3listview/q3listview_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3listview/q3listview_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3mainwindow/q3mainwindow_container.cpp create mode 100644 tools/designer/src/plugins/widgets/q3mainwindow/q3mainwindow_container.h create mode 100644 tools/designer/src/plugins/widgets/q3mainwindow/q3mainwindow_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3mainwindow/q3mainwindow_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3table/q3table_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3table/q3table_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3table/q3table_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3table/q3table_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3textedit/q3textedit_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3textedit/q3textedit_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3textedit/q3textedit_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3textedit/q3textedit_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_extrainfo.cpp create mode 100644 tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_extrainfo.h create mode 100644 tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3toolbar/q3toolbar_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.cpp create mode 100644 tools/designer/src/plugins/widgets/q3widgets/q3widget_plugins.h create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_container.cpp create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_container.h create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/q3widgetstack_plugin.h create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/qdesigner_q3widgetstack.cpp create mode 100644 tools/designer/src/plugins/widgets/q3widgetstack/qdesigner_q3widgetstack_p.h create mode 100644 tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp create mode 100644 tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.h create mode 100644 tools/designer/src/plugins/widgets/q3wizard/q3wizard_plugin.cpp create mode 100644 tools/designer/src/plugins/widgets/q3wizard/q3wizard_plugin.h create mode 100644 tools/designer/src/plugins/widgets/qt3supportwidgets.cpp create mode 100644 tools/designer/src/plugins/widgets/widgets.pro create mode 100644 tools/designer/src/sharedcomponents.pri create mode 100644 tools/designer/src/src.pro create mode 100644 tools/designer/src/uitools/quiloader.cpp create mode 100644 tools/designer/src/uitools/quiloader.h create mode 100644 tools/designer/src/uitools/quiloader_p.h create mode 100644 tools/designer/src/uitools/uitools.pro create mode 100644 tools/designer/translations/translations.pro create mode 100644 tools/doxygen/config/footer.html create mode 100644 tools/doxygen/config/header.html create mode 100644 tools/doxygen/config/phonon.css create mode 100644 tools/doxygen/config/phonon.doxyfile create mode 100644 tools/installer/README create mode 100755 tools/installer/batch/build.bat create mode 100755 tools/installer/batch/copy.bat create mode 100755 tools/installer/batch/delete.bat create mode 100755 tools/installer/batch/env.bat create mode 100755 tools/installer/batch/extract.bat create mode 100755 tools/installer/batch/installer.bat create mode 100755 tools/installer/batch/log.bat create mode 100755 tools/installer/batch/toupper.bat create mode 100644 tools/installer/config/config.default.sample create mode 100644 tools/installer/config/mingw-opensource.conf create mode 100755 tools/installer/iwmake.bat create mode 100644 tools/installer/nsis/confirmpage.ini create mode 100644 tools/installer/nsis/gwdownload.ini create mode 100644 tools/installer/nsis/gwmirror.ini create mode 100644 tools/installer/nsis/images/install.ico create mode 100644 tools/installer/nsis/images/qt-header.bmp create mode 100644 tools/installer/nsis/images/qt-wizard.bmp create mode 100644 tools/installer/nsis/includes/global.nsh create mode 100644 tools/installer/nsis/includes/instdir.nsh create mode 100644 tools/installer/nsis/includes/list.nsh create mode 100644 tools/installer/nsis/includes/qtcommon.nsh create mode 100644 tools/installer/nsis/includes/qtenv.nsh create mode 100644 tools/installer/nsis/includes/system.nsh create mode 100644 tools/installer/nsis/installer.nsi create mode 100644 tools/installer/nsis/modules/environment.nsh create mode 100644 tools/installer/nsis/modules/mingw.nsh create mode 100644 tools/installer/nsis/modules/opensource.nsh create mode 100644 tools/installer/nsis/modules/registeruiext.nsh create mode 100644 tools/installer/nsis/opensource.ini create mode 100644 tools/linguist/LICENSE.GPL create mode 100644 tools/linguist/lconvert/lconvert.pro create mode 100644 tools/linguist/lconvert/main.cpp create mode 100644 tools/linguist/linguist.pro create mode 100644 tools/linguist/linguist/Info_mac.plist create mode 100644 tools/linguist/linguist/batchtranslation.ui create mode 100644 tools/linguist/linguist/batchtranslationdialog.cpp create mode 100644 tools/linguist/linguist/batchtranslationdialog.h create mode 100644 tools/linguist/linguist/errorsview.cpp create mode 100644 tools/linguist/linguist/errorsview.h create mode 100644 tools/linguist/linguist/finddialog.cpp create mode 100644 tools/linguist/linguist/finddialog.h create mode 100644 tools/linguist/linguist/finddialog.ui create mode 100644 tools/linguist/linguist/formpreviewview.cpp create mode 100644 tools/linguist/linguist/formpreviewview.h create mode 100644 tools/linguist/linguist/images/appicon.png create mode 100644 tools/linguist/linguist/images/down.png create mode 100644 tools/linguist/linguist/images/editdelete.png create mode 100644 tools/linguist/linguist/images/icons/linguist-128-32.png create mode 100644 tools/linguist/linguist/images/icons/linguist-128-8.png create mode 100644 tools/linguist/linguist/images/icons/linguist-16-32.png create mode 100644 tools/linguist/linguist/images/icons/linguist-16-8.png create mode 100644 tools/linguist/linguist/images/icons/linguist-32-32.png create mode 100644 tools/linguist/linguist/images/icons/linguist-32-8.png create mode 100644 tools/linguist/linguist/images/icons/linguist-48-32.png create mode 100644 tools/linguist/linguist/images/icons/linguist-48-8.png create mode 100644 tools/linguist/linguist/images/icons/linguist-64-32.png create mode 100644 tools/linguist/linguist/images/icons/linguist-64-8.png create mode 100644 tools/linguist/linguist/images/mac/accelerator.png create mode 100644 tools/linguist/linguist/images/mac/book.png create mode 100644 tools/linguist/linguist/images/mac/doneandnext.png create mode 100644 tools/linguist/linguist/images/mac/editcopy.png create mode 100644 tools/linguist/linguist/images/mac/editcut.png create mode 100644 tools/linguist/linguist/images/mac/editpaste.png create mode 100644 tools/linguist/linguist/images/mac/filenew.png create mode 100644 tools/linguist/linguist/images/mac/fileopen.png create mode 100644 tools/linguist/linguist/images/mac/fileprint.png create mode 100644 tools/linguist/linguist/images/mac/filesave.png create mode 100644 tools/linguist/linguist/images/mac/next.png create mode 100644 tools/linguist/linguist/images/mac/nextunfinished.png create mode 100644 tools/linguist/linguist/images/mac/phrase.png create mode 100644 tools/linguist/linguist/images/mac/prev.png create mode 100644 tools/linguist/linguist/images/mac/prevunfinished.png create mode 100644 tools/linguist/linguist/images/mac/print.png create mode 100644 tools/linguist/linguist/images/mac/punctuation.png create mode 100644 tools/linguist/linguist/images/mac/redo.png create mode 100644 tools/linguist/linguist/images/mac/searchfind.png create mode 100644 tools/linguist/linguist/images/mac/undo.png create mode 100644 tools/linguist/linguist/images/mac/validateplacemarkers.png create mode 100644 tools/linguist/linguist/images/mac/whatsthis.png create mode 100644 tools/linguist/linguist/images/s_check_danger.png create mode 100644 tools/linguist/linguist/images/s_check_empty.png create mode 100644 tools/linguist/linguist/images/s_check_obsolete.png create mode 100644 tools/linguist/linguist/images/s_check_off.png create mode 100644 tools/linguist/linguist/images/s_check_on.png create mode 100644 tools/linguist/linguist/images/s_check_warning.png create mode 100644 tools/linguist/linguist/images/splash.png create mode 100644 tools/linguist/linguist/images/transbox.png create mode 100644 tools/linguist/linguist/images/up.png create mode 100644 tools/linguist/linguist/images/win/accelerator.png create mode 100644 tools/linguist/linguist/images/win/book.png create mode 100644 tools/linguist/linguist/images/win/doneandnext.png create mode 100644 tools/linguist/linguist/images/win/editcopy.png create mode 100644 tools/linguist/linguist/images/win/editcut.png create mode 100644 tools/linguist/linguist/images/win/editpaste.png create mode 100644 tools/linguist/linguist/images/win/filenew.png create mode 100644 tools/linguist/linguist/images/win/fileopen.png create mode 100644 tools/linguist/linguist/images/win/filesave.png create mode 100644 tools/linguist/linguist/images/win/next.png create mode 100644 tools/linguist/linguist/images/win/nextunfinished.png create mode 100644 tools/linguist/linguist/images/win/phrase.png create mode 100644 tools/linguist/linguist/images/win/prev.png create mode 100644 tools/linguist/linguist/images/win/prevunfinished.png create mode 100644 tools/linguist/linguist/images/win/print.png create mode 100644 tools/linguist/linguist/images/win/punctuation.png create mode 100644 tools/linguist/linguist/images/win/redo.png create mode 100644 tools/linguist/linguist/images/win/searchfind.png create mode 100644 tools/linguist/linguist/images/win/undo.png create mode 100644 tools/linguist/linguist/images/win/validateplacemarkers.png create mode 100644 tools/linguist/linguist/images/win/whatsthis.png create mode 100644 tools/linguist/linguist/linguist.icns create mode 100644 tools/linguist/linguist/linguist.ico create mode 100644 tools/linguist/linguist/linguist.pro create mode 100644 tools/linguist/linguist/linguist.qrc create mode 100644 tools/linguist/linguist/linguist.rc create mode 100644 tools/linguist/linguist/main.cpp create mode 100644 tools/linguist/linguist/mainwindow.cpp create mode 100644 tools/linguist/linguist/mainwindow.h create mode 100644 tools/linguist/linguist/mainwindow.ui create mode 100644 tools/linguist/linguist/messageeditor.cpp create mode 100644 tools/linguist/linguist/messageeditor.h create mode 100644 tools/linguist/linguist/messageeditorwidgets.cpp create mode 100644 tools/linguist/linguist/messageeditorwidgets.h create mode 100644 tools/linguist/linguist/messagehighlighter.cpp create mode 100644 tools/linguist/linguist/messagehighlighter.h create mode 100644 tools/linguist/linguist/messagemodel.cpp create mode 100644 tools/linguist/linguist/messagemodel.h create mode 100644 tools/linguist/linguist/phrase.cpp create mode 100644 tools/linguist/linguist/phrase.h create mode 100644 tools/linguist/linguist/phrasebookbox.cpp create mode 100644 tools/linguist/linguist/phrasebookbox.h create mode 100644 tools/linguist/linguist/phrasebookbox.ui create mode 100644 tools/linguist/linguist/phrasemodel.cpp create mode 100644 tools/linguist/linguist/phrasemodel.h create mode 100644 tools/linguist/linguist/phraseview.cpp create mode 100644 tools/linguist/linguist/phraseview.h create mode 100644 tools/linguist/linguist/printout.cpp create mode 100644 tools/linguist/linguist/printout.h create mode 100644 tools/linguist/linguist/recentfiles.cpp create mode 100644 tools/linguist/linguist/recentfiles.h create mode 100644 tools/linguist/linguist/sourcecodeview.cpp create mode 100644 tools/linguist/linguist/sourcecodeview.h create mode 100644 tools/linguist/linguist/statistics.cpp create mode 100644 tools/linguist/linguist/statistics.h create mode 100644 tools/linguist/linguist/statistics.ui create mode 100644 tools/linguist/linguist/translatedialog.cpp create mode 100644 tools/linguist/linguist/translatedialog.h create mode 100644 tools/linguist/linguist/translatedialog.ui create mode 100644 tools/linguist/linguist/translationsettings.ui create mode 100644 tools/linguist/linguist/translationsettingsdialog.cpp create mode 100644 tools/linguist/linguist/translationsettingsdialog.h create mode 100644 tools/linguist/lrelease/lrelease.1 create mode 100644 tools/linguist/lrelease/lrelease.pro create mode 100644 tools/linguist/lrelease/main.cpp create mode 100644 tools/linguist/lupdate/lupdate.1 create mode 100644 tools/linguist/lupdate/lupdate.exe.manifest create mode 100644 tools/linguist/lupdate/lupdate.pro create mode 100644 tools/linguist/lupdate/main.cpp create mode 100644 tools/linguist/lupdate/winmanifest.rc create mode 100644 tools/linguist/phrasebooks/danish.qph create mode 100644 tools/linguist/phrasebooks/dutch.qph create mode 100644 tools/linguist/phrasebooks/finnish.qph create mode 100644 tools/linguist/phrasebooks/french.qph create mode 100644 tools/linguist/phrasebooks/german.qph create mode 100644 tools/linguist/phrasebooks/italian.qph create mode 100644 tools/linguist/phrasebooks/japanese.qph create mode 100644 tools/linguist/phrasebooks/norwegian.qph create mode 100644 tools/linguist/phrasebooks/polish.qph create mode 100644 tools/linguist/phrasebooks/russian.qph create mode 100644 tools/linguist/phrasebooks/spanish.qph create mode 100644 tools/linguist/phrasebooks/swedish.qph create mode 100644 tools/linguist/qdoc.conf create mode 100644 tools/linguist/shared/abstractproitemvisitor.h create mode 100644 tools/linguist/shared/cpp.cpp create mode 100644 tools/linguist/shared/formats.pri create mode 100644 tools/linguist/shared/java.cpp create mode 100755 tools/linguist/shared/make-qscript.sh create mode 100644 tools/linguist/shared/numerus.cpp create mode 100644 tools/linguist/shared/po.cpp create mode 100644 tools/linguist/shared/profileevaluator.cpp create mode 100644 tools/linguist/shared/profileevaluator.h create mode 100644 tools/linguist/shared/proitems.cpp create mode 100644 tools/linguist/shared/proitems.h create mode 100644 tools/linguist/shared/proparser.pri create mode 100644 tools/linguist/shared/proparserutils.h create mode 100644 tools/linguist/shared/qm.cpp create mode 100644 tools/linguist/shared/qph.cpp create mode 100644 tools/linguist/shared/qscript.cpp create mode 100644 tools/linguist/shared/qscript.g create mode 100644 tools/linguist/shared/simtexth.cpp create mode 100644 tools/linguist/shared/simtexth.h create mode 100644 tools/linguist/shared/translator.cpp create mode 100644 tools/linguist/shared/translator.h create mode 100644 tools/linguist/shared/translatormessage.cpp create mode 100644 tools/linguist/shared/translatormessage.h create mode 100644 tools/linguist/shared/translatortools.cpp create mode 100644 tools/linguist/shared/translatortools.h create mode 100644 tools/linguist/shared/translatortools.pri create mode 100644 tools/linguist/shared/ts.cpp create mode 100644 tools/linguist/shared/ts.dtd create mode 100644 tools/linguist/shared/ui.cpp create mode 100644 tools/linguist/shared/xliff.cpp create mode 100644 tools/linguist/tests/data/main.cpp create mode 100644 tools/linguist/tests/data/test.pro create mode 100644 tools/linguist/tests/tests.pro create mode 100644 tools/linguist/tests/tst_linguist.cpp create mode 100644 tools/linguist/tests/tst_linguist.h create mode 100644 tools/linguist/tests/tst_lupdate.cpp create mode 100644 tools/linguist/tests/tst_simtexth.cpp create mode 100644 tools/macdeployqt/macchangeqt/macchangeqt.pro create mode 100644 tools/macdeployqt/macchangeqt/main.cpp create mode 100644 tools/macdeployqt/macdeployqt.pro create mode 100644 tools/macdeployqt/macdeployqt/macdeployqt.pro create mode 100644 tools/macdeployqt/macdeployqt/main.cpp create mode 100644 tools/macdeployqt/shared/shared.cpp create mode 100644 tools/macdeployqt/shared/shared.h create mode 100644 tools/macdeployqt/tests/deployment_mac.pro create mode 100644 tools/macdeployqt/tests/tst_deployment_mac.cpp create mode 100644 tools/makeqpf/Blocks.txt create mode 100644 tools/makeqpf/README create mode 100644 tools/makeqpf/main.cpp create mode 100644 tools/makeqpf/mainwindow.cpp create mode 100644 tools/makeqpf/mainwindow.h create mode 100644 tools/makeqpf/mainwindow.ui create mode 100644 tools/makeqpf/makeqpf.pro create mode 100644 tools/makeqpf/makeqpf.qrc create mode 100644 tools/makeqpf/qpf2.cpp create mode 100644 tools/makeqpf/qpf2.h create mode 100644 tools/pixeltool/Info_mac.plist create mode 100644 tools/pixeltool/main.cpp create mode 100644 tools/pixeltool/pixeltool.pro create mode 100644 tools/pixeltool/qpixeltool.cpp create mode 100644 tools/pixeltool/qpixeltool.h create mode 100644 tools/porting/porting.pro create mode 100644 tools/porting/src/ast.cpp create mode 100644 tools/porting/src/ast.h create mode 100644 tools/porting/src/codemodel.cpp create mode 100644 tools/porting/src/codemodel.h create mode 100644 tools/porting/src/codemodelattributes.cpp create mode 100644 tools/porting/src/codemodelattributes.h create mode 100644 tools/porting/src/codemodelwalker.cpp create mode 100644 tools/porting/src/codemodelwalker.h create mode 100644 tools/porting/src/cpplexer.cpp create mode 100644 tools/porting/src/cpplexer.h create mode 100644 tools/porting/src/errors.cpp create mode 100644 tools/porting/src/errors.h create mode 100644 tools/porting/src/fileporter.cpp create mode 100644 tools/porting/src/fileporter.h create mode 100644 tools/porting/src/filewriter.cpp create mode 100644 tools/porting/src/filewriter.h create mode 100644 tools/porting/src/list.h create mode 100644 tools/porting/src/logger.cpp create mode 100644 tools/porting/src/logger.h create mode 100644 tools/porting/src/parser.cpp create mode 100644 tools/porting/src/parser.h create mode 100644 tools/porting/src/port.cpp create mode 100644 tools/porting/src/portingrules.cpp create mode 100644 tools/porting/src/portingrules.h create mode 100644 tools/porting/src/preprocessorcontrol.cpp create mode 100644 tools/porting/src/preprocessorcontrol.h create mode 100644 tools/porting/src/projectporter.cpp create mode 100644 tools/porting/src/projectporter.h create mode 100644 tools/porting/src/proparser.cpp create mode 100644 tools/porting/src/proparser.h create mode 100644 tools/porting/src/q3porting.xml create mode 100644 tools/porting/src/qt3headers0.qrc create mode 100644 tools/porting/src/qt3headers0.resource create mode 100644 tools/porting/src/qt3headers1.qrc create mode 100644 tools/porting/src/qt3headers1.resource create mode 100644 tools/porting/src/qt3headers2.qrc create mode 100644 tools/porting/src/qt3headers2.resource create mode 100644 tools/porting/src/qt3headers3.qrc create mode 100644 tools/porting/src/qt3headers3.resource create mode 100644 tools/porting/src/qt3to4.pri create mode 100644 tools/porting/src/qtsimplexml.cpp create mode 100644 tools/porting/src/qtsimplexml.h create mode 100644 tools/porting/src/replacetoken.cpp create mode 100644 tools/porting/src/replacetoken.h create mode 100644 tools/porting/src/rpp.cpp create mode 100644 tools/porting/src/rpp.h create mode 100644 tools/porting/src/rppexpressionbuilder.cpp create mode 100644 tools/porting/src/rppexpressionbuilder.h create mode 100644 tools/porting/src/rpplexer.cpp create mode 100644 tools/porting/src/rpplexer.h create mode 100644 tools/porting/src/rpptreeevaluator.cpp create mode 100644 tools/porting/src/rpptreeevaluator.h create mode 100644 tools/porting/src/rpptreewalker.cpp create mode 100644 tools/porting/src/rpptreewalker.h create mode 100644 tools/porting/src/semantic.cpp create mode 100644 tools/porting/src/semantic.h create mode 100644 tools/porting/src/smallobject.cpp create mode 100644 tools/porting/src/smallobject.h create mode 100644 tools/porting/src/src.pro create mode 100644 tools/porting/src/textreplacement.cpp create mode 100644 tools/porting/src/textreplacement.h create mode 100644 tools/porting/src/tokenengine.cpp create mode 100644 tools/porting/src/tokenengine.h create mode 100644 tools/porting/src/tokenizer.cpp create mode 100644 tools/porting/src/tokenizer.h create mode 100644 tools/porting/src/tokenreplacements.cpp create mode 100644 tools/porting/src/tokenreplacements.h create mode 100644 tools/porting/src/tokens.h create mode 100644 tools/porting/src/tokenstreamadapter.h create mode 100644 tools/porting/src/translationunit.cpp create mode 100644 tools/porting/src/translationunit.h create mode 100644 tools/porting/src/treewalker.cpp create mode 100644 tools/porting/src/treewalker.h create mode 100644 tools/qconfig/LICENSE.GPL create mode 100644 tools/qconfig/feature.cpp create mode 100644 tools/qconfig/feature.h create mode 100644 tools/qconfig/featuretreemodel.cpp create mode 100644 tools/qconfig/featuretreemodel.h create mode 100644 tools/qconfig/graphics.h create mode 100644 tools/qconfig/main.cpp create mode 100644 tools/qconfig/qconfig.pro create mode 100644 tools/qdbus/qdbus.pro create mode 100644 tools/qdbus/qdbus/qdbus.cpp create mode 100644 tools/qdbus/qdbus/qdbus.pro create mode 100644 tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.cpp create mode 100644 tools/qdbus/qdbuscpp2xml/qdbuscpp2xml.pro create mode 100644 tools/qdbus/qdbusviewer/Info_mac.plist create mode 100644 tools/qdbus/qdbusviewer/images/qdbusviewer-128.png create mode 100644 tools/qdbus/qdbusviewer/images/qdbusviewer.icns create mode 100644 tools/qdbus/qdbusviewer/images/qdbusviewer.ico create mode 100644 tools/qdbus/qdbusviewer/images/qdbusviewer.png create mode 100644 tools/qdbus/qdbusviewer/main.cpp create mode 100644 tools/qdbus/qdbusviewer/propertydialog.cpp create mode 100644 tools/qdbus/qdbusviewer/propertydialog.h create mode 100644 tools/qdbus/qdbusviewer/qdbusmodel.cpp create mode 100644 tools/qdbus/qdbusviewer/qdbusmodel.h create mode 100644 tools/qdbus/qdbusviewer/qdbusviewer.cpp create mode 100644 tools/qdbus/qdbusviewer/qdbusviewer.h create mode 100644 tools/qdbus/qdbusviewer/qdbusviewer.pro create mode 100644 tools/qdbus/qdbusviewer/qdbusviewer.qrc create mode 100644 tools/qdbus/qdbusviewer/qdbusviewer.rc create mode 100644 tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp create mode 100644 tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.pro create mode 100644 tools/qdoc3/JAVATODO.txt create mode 100644 tools/qdoc3/README.TXT create mode 100644 tools/qdoc3/TODO.txt create mode 100644 tools/qdoc3/apigenerator.cpp create mode 100644 tools/qdoc3/apigenerator.h create mode 100644 tools/qdoc3/archiveextractor.cpp create mode 100644 tools/qdoc3/archiveextractor.h create mode 100644 tools/qdoc3/atom.cpp create mode 100644 tools/qdoc3/atom.h create mode 100644 tools/qdoc3/bookgenerator.cpp create mode 100644 tools/qdoc3/bookgenerator.h create mode 100644 tools/qdoc3/ccodeparser.cpp create mode 100644 tools/qdoc3/ccodeparser.h create mode 100644 tools/qdoc3/codechunk.cpp create mode 100644 tools/qdoc3/codechunk.h create mode 100644 tools/qdoc3/codemarker.cpp create mode 100644 tools/qdoc3/codemarker.h create mode 100644 tools/qdoc3/codeparser.cpp create mode 100644 tools/qdoc3/codeparser.h create mode 100644 tools/qdoc3/command.cpp create mode 100644 tools/qdoc3/command.h create mode 100644 tools/qdoc3/config.cpp create mode 100644 tools/qdoc3/config.h create mode 100644 tools/qdoc3/cppcodemarker.cpp create mode 100644 tools/qdoc3/cppcodemarker.h create mode 100644 tools/qdoc3/cppcodeparser.cpp create mode 100644 tools/qdoc3/cppcodeparser.h create mode 100644 tools/qdoc3/cpptoqsconverter.cpp create mode 100644 tools/qdoc3/cpptoqsconverter.h create mode 100644 tools/qdoc3/dcfsection.cpp create mode 100644 tools/qdoc3/dcfsection.h create mode 100644 tools/qdoc3/doc.cpp create mode 100644 tools/qdoc3/doc.h create mode 100644 tools/qdoc3/documentation.pri create mode 100644 tools/qdoc3/editdistance.cpp create mode 100644 tools/qdoc3/editdistance.h create mode 100644 tools/qdoc3/generator.cpp create mode 100644 tools/qdoc3/generator.h create mode 100644 tools/qdoc3/helpprojectwriter.cpp create mode 100644 tools/qdoc3/helpprojectwriter.h create mode 100644 tools/qdoc3/htmlgenerator.cpp create mode 100644 tools/qdoc3/htmlgenerator.h create mode 100644 tools/qdoc3/jambiapiparser.cpp create mode 100644 tools/qdoc3/jambiapiparser.h create mode 100644 tools/qdoc3/javacodemarker.cpp create mode 100644 tools/qdoc3/javacodemarker.h create mode 100644 tools/qdoc3/javadocgenerator.cpp create mode 100644 tools/qdoc3/javadocgenerator.h create mode 100644 tools/qdoc3/linguistgenerator.cpp create mode 100644 tools/qdoc3/linguistgenerator.h create mode 100644 tools/qdoc3/location.cpp create mode 100644 tools/qdoc3/location.h create mode 100644 tools/qdoc3/loutgenerator.cpp create mode 100644 tools/qdoc3/loutgenerator.h create mode 100644 tools/qdoc3/main.cpp create mode 100644 tools/qdoc3/mangenerator.cpp create mode 100644 tools/qdoc3/mangenerator.h create mode 100644 tools/qdoc3/node.cpp create mode 100644 tools/qdoc3/node.h create mode 100644 tools/qdoc3/openedlist.cpp create mode 100644 tools/qdoc3/openedlist.h create mode 100644 tools/qdoc3/pagegenerator.cpp create mode 100644 tools/qdoc3/pagegenerator.h create mode 100644 tools/qdoc3/plaincodemarker.cpp create mode 100644 tools/qdoc3/plaincodemarker.h create mode 100644 tools/qdoc3/polyarchiveextractor.cpp create mode 100644 tools/qdoc3/polyarchiveextractor.h create mode 100644 tools/qdoc3/polyuncompressor.cpp create mode 100644 tools/qdoc3/polyuncompressor.h create mode 100644 tools/qdoc3/qdoc3.pro create mode 100644 tools/qdoc3/qsakernelparser.cpp create mode 100644 tools/qdoc3/qsakernelparser.h create mode 100644 tools/qdoc3/qscodemarker.cpp create mode 100644 tools/qdoc3/qscodemarker.h create mode 100644 tools/qdoc3/qscodeparser.cpp create mode 100644 tools/qdoc3/qscodeparser.h create mode 100644 tools/qdoc3/quoter.cpp create mode 100644 tools/qdoc3/quoter.h create mode 100644 tools/qdoc3/separator.cpp create mode 100644 tools/qdoc3/separator.h create mode 100644 tools/qdoc3/sgmlgenerator.cpp create mode 100644 tools/qdoc3/sgmlgenerator.h create mode 100644 tools/qdoc3/test/arthurtext.qdocconf create mode 100644 tools/qdoc3/test/assistant.qdocconf create mode 100644 tools/qdoc3/test/carbide-eclipse-integration.qdocconf create mode 100644 tools/qdoc3/test/classic.css create mode 100644 tools/qdoc3/test/compat.qdocconf create mode 100644 tools/qdoc3/test/designer.qdocconf create mode 100644 tools/qdoc3/test/eclipse-integration.qdocconf create mode 100644 tools/qdoc3/test/jambi.qdocconf create mode 100644 tools/qdoc3/test/linguist.qdocconf create mode 100644 tools/qdoc3/test/macros.qdocconf create mode 100644 tools/qdoc3/test/qmake.qdocconf create mode 100644 tools/qdoc3/test/qt-api-only-with-xcode.qdocconf create mode 100644 tools/qdoc3/test/qt-api-only.qdocconf create mode 100644 tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf create mode 100644 tools/qdoc3/test/qt-build-docs.qdocconf create mode 100644 tools/qdoc3/test/qt-cpp-ignore.qdocconf create mode 100644 tools/qdoc3/test/qt-defines.qdocconf create mode 100644 tools/qdoc3/test/qt-for-jambi.qdocconf create mode 100644 tools/qdoc3/test/qt-html-templates.qdocconf create mode 100644 tools/qdoc3/test/qt-inc.qdocconf create mode 100644 tools/qdoc3/test/qt-linguist.qdocconf create mode 100644 tools/qdoc3/test/qt-webxml.qdocconf create mode 100644 tools/qdoc3/test/qt-with-extensions.qdocconf create mode 100644 tools/qdoc3/test/qt-with-xcode.qdocconf create mode 100644 tools/qdoc3/test/qt.qdocconf create mode 100644 tools/qdoc3/test/standalone-eclipse-integration.qdocconf create mode 100644 tools/qdoc3/text.cpp create mode 100644 tools/qdoc3/text.h create mode 100644 tools/qdoc3/tokenizer.cpp create mode 100644 tools/qdoc3/tokenizer.h create mode 100644 tools/qdoc3/tr.h create mode 100644 tools/qdoc3/tree.cpp create mode 100644 tools/qdoc3/tree.h create mode 100644 tools/qdoc3/uncompressor.cpp create mode 100644 tools/qdoc3/uncompressor.h create mode 100644 tools/qdoc3/webxmlgenerator.cpp create mode 100644 tools/qdoc3/webxmlgenerator.h create mode 100644 tools/qdoc3/yyindent.cpp create mode 100644 tools/qev/README create mode 100644 tools/qev/qev.cpp create mode 100644 tools/qev/qev.pro create mode 100644 tools/qtconcurrent/codegenerator/codegenerator.pri create mode 100644 tools/qtconcurrent/codegenerator/example/example.pro create mode 100644 tools/qtconcurrent/codegenerator/example/main.cpp create mode 100644 tools/qtconcurrent/codegenerator/src/codegenerator.cpp create mode 100644 tools/qtconcurrent/codegenerator/src/codegenerator.h create mode 100644 tools/qtconcurrent/generaterun/main.cpp create mode 100644 tools/qtconcurrent/generaterun/run.pro create mode 100644 tools/qtconfig/LICENSE.GPL create mode 100644 tools/qtconfig/colorbutton.cpp create mode 100644 tools/qtconfig/colorbutton.h create mode 100644 tools/qtconfig/images/appicon.png create mode 100644 tools/qtconfig/main.cpp create mode 100644 tools/qtconfig/mainwindow.cpp create mode 100644 tools/qtconfig/mainwindow.h create mode 100644 tools/qtconfig/mainwindowbase.cpp create mode 100644 tools/qtconfig/mainwindowbase.h create mode 100644 tools/qtconfig/mainwindowbase.ui create mode 100644 tools/qtconfig/paletteeditoradvanced.cpp create mode 100644 tools/qtconfig/paletteeditoradvanced.h create mode 100644 tools/qtconfig/paletteeditoradvancedbase.cpp create mode 100644 tools/qtconfig/paletteeditoradvancedbase.h create mode 100644 tools/qtconfig/paletteeditoradvancedbase.ui create mode 100644 tools/qtconfig/previewframe.cpp create mode 100644 tools/qtconfig/previewframe.h create mode 100644 tools/qtconfig/previewwidget.cpp create mode 100644 tools/qtconfig/previewwidget.h create mode 100644 tools/qtconfig/previewwidgetbase.cpp create mode 100644 tools/qtconfig/previewwidgetbase.h create mode 100644 tools/qtconfig/previewwidgetbase.ui create mode 100644 tools/qtconfig/qtconfig.pro create mode 100644 tools/qtconfig/qtconfig.qrc create mode 100644 tools/qtconfig/translations/translations.pro create mode 100644 tools/qtestlib/qtestlib.pro create mode 100644 tools/qtestlib/updater/main.cpp create mode 100644 tools/qtestlib/updater/updater.pro create mode 100644 tools/qtestlib/wince/cetest/activesyncconnection.cpp create mode 100644 tools/qtestlib/wince/cetest/activesyncconnection.h create mode 100644 tools/qtestlib/wince/cetest/bootstrapped.pri create mode 100644 tools/qtestlib/wince/cetest/cetest.pro create mode 100644 tools/qtestlib/wince/cetest/deployment.cpp create mode 100644 tools/qtestlib/wince/cetest/deployment.h create mode 100644 tools/qtestlib/wince/cetest/main.cpp create mode 100644 tools/qtestlib/wince/cetest/qmake_include.pri create mode 100644 tools/qtestlib/wince/cetest/remoteconnection.cpp create mode 100644 tools/qtestlib/wince/cetest/remoteconnection.h create mode 100644 tools/qtestlib/wince/remotelib/commands.cpp create mode 100644 tools/qtestlib/wince/remotelib/commands.h create mode 100644 tools/qtestlib/wince/remotelib/remotelib.pro create mode 100644 tools/qtestlib/wince/wince.pro create mode 100644 tools/qvfb/ClamshellPhone.qrc create mode 100644 tools/qvfb/ClamshellPhone.skin/ClamshellPhone.skin create mode 100644 tools/qvfb/ClamshellPhone.skin/ClamshellPhone1-5-closed.png create mode 100644 tools/qvfb/ClamshellPhone.skin/ClamshellPhone1-5-pressed.png create mode 100644 tools/qvfb/ClamshellPhone.skin/ClamshellPhone1-5.png create mode 100644 tools/qvfb/ClamshellPhone.skin/defaultbuttons.conf create mode 100644 tools/qvfb/DualScreenPhone.skin/DualScreen-pressed.png create mode 100644 tools/qvfb/DualScreenPhone.skin/DualScreen.png create mode 100644 tools/qvfb/DualScreenPhone.skin/DualScreenPhone.skin create mode 100644 tools/qvfb/DualScreenPhone.skin/defaultbuttons.conf create mode 100644 tools/qvfb/LICENSE.GPL create mode 100644 tools/qvfb/PDAPhone.qrc create mode 100644 tools/qvfb/PDAPhone.skin/PDAPhone.skin create mode 100644 tools/qvfb/PDAPhone.skin/defaultbuttons.conf create mode 100644 tools/qvfb/PDAPhone.skin/finger.png create mode 100644 tools/qvfb/PDAPhone.skin/pda_down.png create mode 100644 tools/qvfb/PDAPhone.skin/pda_up.png create mode 100644 tools/qvfb/PortableMedia.qrc create mode 100644 tools/qvfb/PortableMedia.skin/PortableMedia.skin create mode 100644 tools/qvfb/PortableMedia.skin/defaultbuttons.conf create mode 100644 tools/qvfb/PortableMedia.skin/portablemedia-pressed.png create mode 100644 tools/qvfb/PortableMedia.skin/portablemedia.png create mode 100644 tools/qvfb/PortableMedia.skin/portablemedia.xcf create mode 100644 tools/qvfb/README create mode 100644 tools/qvfb/SmartPhone.qrc create mode 100644 tools/qvfb/SmartPhone.skin/SmartPhone-pressed.png create mode 100644 tools/qvfb/SmartPhone.skin/SmartPhone.png create mode 100644 tools/qvfb/SmartPhone.skin/SmartPhone.skin create mode 100644 tools/qvfb/SmartPhone.skin/defaultbuttons.conf create mode 100644 tools/qvfb/SmartPhone2.qrc create mode 100644 tools/qvfb/SmartPhone2.skin/SmartPhone2-pressed.png create mode 100644 tools/qvfb/SmartPhone2.skin/SmartPhone2.png create mode 100644 tools/qvfb/SmartPhone2.skin/SmartPhone2.skin create mode 100644 tools/qvfb/SmartPhone2.skin/defaultbuttons.conf create mode 100644 tools/qvfb/SmartPhoneWithButtons.qrc create mode 100644 tools/qvfb/SmartPhoneWithButtons.skin/SmartPhoneWithButtons-pressed.png create mode 100644 tools/qvfb/SmartPhoneWithButtons.skin/SmartPhoneWithButtons.png create mode 100644 tools/qvfb/SmartPhoneWithButtons.skin/SmartPhoneWithButtons.skin create mode 100644 tools/qvfb/SmartPhoneWithButtons.skin/defaultbuttons.conf create mode 100644 tools/qvfb/TouchscreenPhone.qrc create mode 100644 tools/qvfb/TouchscreenPhone.skin/TouchscreenPhone-pressed.png create mode 100644 tools/qvfb/TouchscreenPhone.skin/TouchscreenPhone.png create mode 100644 tools/qvfb/TouchscreenPhone.skin/TouchscreenPhone.skin create mode 100644 tools/qvfb/TouchscreenPhone.skin/defaultbuttons.conf create mode 100644 tools/qvfb/Trolltech-Keypad.qrc create mode 100644 tools/qvfb/Trolltech-Keypad.skin/Trolltech-Keypad-closed.png create mode 100644 tools/qvfb/Trolltech-Keypad.skin/Trolltech-Keypad-down.png create mode 100644 tools/qvfb/Trolltech-Keypad.skin/Trolltech-Keypad.png create mode 100644 tools/qvfb/Trolltech-Keypad.skin/Trolltech-Keypad.skin create mode 100644 tools/qvfb/Trolltech-Keypad.skin/defaultbuttons.conf create mode 100644 tools/qvfb/Trolltech-Touchscreen.qrc create mode 100644 tools/qvfb/Trolltech-Touchscreen.skin/Trolltech-Touchscreen-down.png create mode 100644 tools/qvfb/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.png create mode 100644 tools/qvfb/Trolltech-Touchscreen.skin/Trolltech-Touchscreen.skin create mode 100644 tools/qvfb/Trolltech-Touchscreen.skin/defaultbuttons.conf create mode 100644 tools/qvfb/config.ui create mode 100644 tools/qvfb/gammaview.h create mode 100644 tools/qvfb/images/logo-nt.png create mode 100644 tools/qvfb/images/logo.png create mode 100644 tools/qvfb/main.cpp create mode 100644 tools/qvfb/pda.qrc create mode 100644 tools/qvfb/pda.skin create mode 100644 tools/qvfb/pda_down.png create mode 100644 tools/qvfb/pda_up.png create mode 100644 tools/qvfb/qanimationwriter.cpp create mode 100644 tools/qvfb/qanimationwriter.h create mode 100644 tools/qvfb/qtopiakeysym.h create mode 100644 tools/qvfb/qvfb.cpp create mode 100644 tools/qvfb/qvfb.h create mode 100644 tools/qvfb/qvfb.pro create mode 100644 tools/qvfb/qvfb.qrc create mode 100644 tools/qvfb/qvfbmmap.cpp create mode 100644 tools/qvfb/qvfbmmap.h create mode 100644 tools/qvfb/qvfbprotocol.cpp create mode 100644 tools/qvfb/qvfbprotocol.h create mode 100644 tools/qvfb/qvfbratedlg.cpp create mode 100644 tools/qvfb/qvfbratedlg.h create mode 100644 tools/qvfb/qvfbshmem.cpp create mode 100644 tools/qvfb/qvfbshmem.h create mode 100644 tools/qvfb/qvfbview.cpp create mode 100644 tools/qvfb/qvfbview.h create mode 100644 tools/qvfb/qvfbx11view.cpp create mode 100644 tools/qvfb/qvfbx11view.h create mode 100644 tools/qvfb/translations/translations.pro create mode 100644 tools/qvfb/x11keyfaker.cpp create mode 100644 tools/qvfb/x11keyfaker.h create mode 100644 tools/shared/deviceskin/deviceskin.cpp create mode 100644 tools/shared/deviceskin/deviceskin.h create mode 100644 tools/shared/deviceskin/deviceskin.pri create mode 100644 tools/shared/findwidget/abstractfindwidget.cpp create mode 100644 tools/shared/findwidget/abstractfindwidget.h create mode 100644 tools/shared/findwidget/findwidget.pri create mode 100644 tools/shared/findwidget/findwidget.qrc create mode 100644 tools/shared/findwidget/images/mac/closetab.png create mode 100644 tools/shared/findwidget/images/mac/next.png create mode 100644 tools/shared/findwidget/images/mac/previous.png create mode 100644 tools/shared/findwidget/images/mac/searchfind.png create mode 100644 tools/shared/findwidget/images/win/closetab.png create mode 100644 tools/shared/findwidget/images/win/next.png create mode 100644 tools/shared/findwidget/images/win/previous.png create mode 100644 tools/shared/findwidget/images/win/searchfind.png create mode 100644 tools/shared/findwidget/images/wrap.png create mode 100644 tools/shared/findwidget/itemviewfindwidget.cpp create mode 100644 tools/shared/findwidget/itemviewfindwidget.h create mode 100644 tools/shared/findwidget/texteditfindwidget.cpp create mode 100644 tools/shared/findwidget/texteditfindwidget.h create mode 100644 tools/shared/fontpanel/fontpanel.cpp create mode 100644 tools/shared/fontpanel/fontpanel.h create mode 100644 tools/shared/fontpanel/fontpanel.pri create mode 100644 tools/shared/qtgradienteditor/images/down.png create mode 100644 tools/shared/qtgradienteditor/images/edit.png create mode 100644 tools/shared/qtgradienteditor/images/editdelete.png create mode 100644 tools/shared/qtgradienteditor/images/minus.png create mode 100644 tools/shared/qtgradienteditor/images/plus.png create mode 100644 tools/shared/qtgradienteditor/images/spreadpad.png create mode 100644 tools/shared/qtgradienteditor/images/spreadreflect.png create mode 100644 tools/shared/qtgradienteditor/images/spreadrepeat.png create mode 100644 tools/shared/qtgradienteditor/images/typeconical.png create mode 100644 tools/shared/qtgradienteditor/images/typelinear.png create mode 100644 tools/shared/qtgradienteditor/images/typeradial.png create mode 100644 tools/shared/qtgradienteditor/images/up.png create mode 100644 tools/shared/qtgradienteditor/images/zoomin.png create mode 100644 tools/shared/qtgradienteditor/images/zoomout.png create mode 100644 tools/shared/qtgradienteditor/qtcolorbutton.cpp create mode 100644 tools/shared/qtgradienteditor/qtcolorbutton.h create mode 100644 tools/shared/qtgradienteditor/qtcolorbutton.pri create mode 100644 tools/shared/qtgradienteditor/qtcolorline.cpp create mode 100644 tools/shared/qtgradienteditor/qtcolorline.h create mode 100644 tools/shared/qtgradienteditor/qtgradientdialog.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientdialog.h create mode 100644 tools/shared/qtgradienteditor/qtgradientdialog.ui create mode 100644 tools/shared/qtgradienteditor/qtgradienteditor.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradienteditor.h create mode 100644 tools/shared/qtgradienteditor/qtgradienteditor.pri create mode 100644 tools/shared/qtgradienteditor/qtgradienteditor.qrc create mode 100644 tools/shared/qtgradienteditor/qtgradienteditor.ui create mode 100644 tools/shared/qtgradienteditor/qtgradientmanager.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientmanager.h create mode 100644 tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientstopscontroller.h create mode 100644 tools/shared/qtgradienteditor/qtgradientstopsmodel.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientstopsmodel.h create mode 100644 tools/shared/qtgradienteditor/qtgradientstopswidget.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientstopswidget.h create mode 100644 tools/shared/qtgradienteditor/qtgradientutils.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientutils.h create mode 100644 tools/shared/qtgradienteditor/qtgradientview.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientview.h create mode 100644 tools/shared/qtgradienteditor/qtgradientview.ui create mode 100644 tools/shared/qtgradienteditor/qtgradientviewdialog.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientviewdialog.h create mode 100644 tools/shared/qtgradienteditor/qtgradientviewdialog.ui create mode 100644 tools/shared/qtgradienteditor/qtgradientwidget.cpp create mode 100644 tools/shared/qtgradienteditor/qtgradientwidget.h create mode 100644 tools/shared/qtpropertybrowser/images/cursor-arrow.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-busy.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-closedhand.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-cross.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-forbidden.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-hand.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-hsplit.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-ibeam.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-openhand.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-sizeall.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-sizeb.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-sizef.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-sizeh.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-sizev.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-uparrow.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-vsplit.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-wait.png create mode 100644 tools/shared/qtpropertybrowser/images/cursor-whatsthis.png create mode 100644 tools/shared/qtpropertybrowser/qtbuttonpropertybrowser.cpp create mode 100644 tools/shared/qtpropertybrowser/qtbuttonpropertybrowser.h create mode 100644 tools/shared/qtpropertybrowser/qteditorfactory.cpp create mode 100644 tools/shared/qtpropertybrowser/qteditorfactory.h create mode 100644 tools/shared/qtpropertybrowser/qtgroupboxpropertybrowser.cpp create mode 100644 tools/shared/qtpropertybrowser/qtgroupboxpropertybrowser.h create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowser.cpp create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowser.h create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowser.pri create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowser.qrc create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp create mode 100644 tools/shared/qtpropertybrowser/qtpropertybrowserutils_p.h create mode 100644 tools/shared/qtpropertybrowser/qtpropertymanager.cpp create mode 100644 tools/shared/qtpropertybrowser/qtpropertymanager.h create mode 100644 tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp create mode 100644 tools/shared/qtpropertybrowser/qttreepropertybrowser.h create mode 100644 tools/shared/qtpropertybrowser/qtvariantproperty.cpp create mode 100644 tools/shared/qtpropertybrowser/qtvariantproperty.h create mode 100644 tools/shared/qttoolbardialog/images/back.png create mode 100644 tools/shared/qttoolbardialog/images/down.png create mode 100644 tools/shared/qttoolbardialog/images/forward.png create mode 100644 tools/shared/qttoolbardialog/images/minus.png create mode 100644 tools/shared/qttoolbardialog/images/plus.png create mode 100644 tools/shared/qttoolbardialog/images/up.png create mode 100644 tools/shared/qttoolbardialog/qttoolbardialog.cpp create mode 100644 tools/shared/qttoolbardialog/qttoolbardialog.h create mode 100644 tools/shared/qttoolbardialog/qttoolbardialog.pri create mode 100644 tools/shared/qttoolbardialog/qttoolbardialog.qrc create mode 100644 tools/shared/qttoolbardialog/qttoolbardialog.ui create mode 100644 tools/tools.pro create mode 100644 tools/xmlpatterns/main.cpp create mode 100644 tools/xmlpatterns/main.h create mode 100644 tools/xmlpatterns/qapplicationargument.cpp create mode 100644 tools/xmlpatterns/qapplicationargument_p.h create mode 100644 tools/xmlpatterns/qapplicationargumentparser.cpp create mode 100644 tools/xmlpatterns/qapplicationargumentparser_p.h create mode 100644 tools/xmlpatterns/qcoloringmessagehandler.cpp create mode 100644 tools/xmlpatterns/qcoloringmessagehandler_p.h create mode 100644 tools/xmlpatterns/qcoloroutput.cpp create mode 100644 tools/xmlpatterns/qcoloroutput_p.h create mode 100644 tools/xmlpatterns/xmlpatterns.pro create mode 100644 translations/README create mode 100644 translations/assistant_adp_de.qm create mode 100644 translations/assistant_adp_de.ts create mode 100644 translations/assistant_adp_ja.qm create mode 100644 translations/assistant_adp_ja.ts create mode 100644 translations/assistant_adp_pl.qm create mode 100644 translations/assistant_adp_pl.ts create mode 100644 translations/assistant_adp_untranslated.ts create mode 100644 translations/assistant_adp_zh_CN.qm create mode 100644 translations/assistant_adp_zh_CN.ts create mode 100644 translations/assistant_adp_zh_TW.qm create mode 100644 translations/assistant_adp_zh_TW.ts create mode 100644 translations/assistant_de.qm create mode 100644 translations/assistant_de.ts create mode 100644 translations/assistant_ja.ts create mode 100644 translations/assistant_pl.qm create mode 100644 translations/assistant_pl.ts create mode 100644 translations/assistant_untranslated.ts create mode 100644 translations/assistant_zh_CN.qm create mode 100644 translations/assistant_zh_CN.ts create mode 100644 translations/assistant_zh_TW.qm create mode 100644 translations/assistant_zh_TW.ts create mode 100644 translations/designer_de.qm create mode 100644 translations/designer_de.ts create mode 100644 translations/designer_ja.qm create mode 100644 translations/designer_ja.ts create mode 100644 translations/designer_pl.qm create mode 100644 translations/designer_pl.ts create mode 100644 translations/designer_untranslated.ts create mode 100644 translations/designer_zh_CN.qm create mode 100644 translations/designer_zh_CN.ts create mode 100644 translations/designer_zh_TW.qm create mode 100644 translations/designer_zh_TW.ts create mode 100644 translations/linguist_de.qm create mode 100644 translations/linguist_de.ts create mode 100644 translations/linguist_fr.ts create mode 100644 translations/linguist_ja.qm create mode 100644 translations/linguist_ja.ts create mode 100644 translations/linguist_pl.qm create mode 100644 translations/linguist_pl.ts create mode 100644 translations/linguist_untranslated.ts create mode 100644 translations/linguist_zh_CN.qm create mode 100644 translations/linguist_zh_CN.ts create mode 100644 translations/linguist_zh_TW.qm create mode 100644 translations/linguist_zh_TW.ts create mode 100644 translations/polish.qph create mode 100644 translations/qt_ar.qm create mode 100644 translations/qt_ar.ts create mode 100644 translations/qt_de.qm create mode 100644 translations/qt_de.ts create mode 100644 translations/qt_es.qm create mode 100644 translations/qt_es.ts create mode 100644 translations/qt_fr.qm create mode 100644 translations/qt_fr.ts create mode 100644 translations/qt_help_de.qm create mode 100644 translations/qt_help_de.ts create mode 100644 translations/qt_help_ja.ts create mode 100644 translations/qt_help_pl.qm create mode 100644 translations/qt_help_pl.ts create mode 100644 translations/qt_help_untranslated.ts create mode 100644 translations/qt_help_zh_CN.qm create mode 100644 translations/qt_help_zh_CN.ts create mode 100644 translations/qt_help_zh_TW.qm create mode 100644 translations/qt_help_zh_TW.ts create mode 100644 translations/qt_iw.qm create mode 100644 translations/qt_iw.ts create mode 100644 translations/qt_ja_JP.qm create mode 100644 translations/qt_ja_JP.ts create mode 100644 translations/qt_pl.qm create mode 100644 translations/qt_pl.ts create mode 100644 translations/qt_pt.qm create mode 100644 translations/qt_pt.ts create mode 100644 translations/qt_ru.qm create mode 100644 translations/qt_ru.ts create mode 100644 translations/qt_sk.qm create mode 100644 translations/qt_sk.ts create mode 100644 translations/qt_sv.qm create mode 100644 translations/qt_sv.ts create mode 100644 translations/qt_uk.qm create mode 100644 translations/qt_uk.ts create mode 100644 translations/qt_untranslated.ts create mode 100644 translations/qt_zh_CN.qm create mode 100644 translations/qt_zh_CN.ts create mode 100644 translations/qt_zh_TW.qm create mode 100644 translations/qt_zh_TW.ts create mode 100644 translations/qtconfig_pl.qm create mode 100644 translations/qtconfig_pl.ts create mode 100644 translations/qtconfig_untranslated.ts create mode 100644 translations/qtconfig_zh_CN.qm create mode 100644 translations/qtconfig_zh_CN.ts create mode 100644 translations/qtconfig_zh_TW.qm create mode 100644 translations/qtconfig_zh_TW.ts create mode 100644 translations/qvfb_pl.qm create mode 100644 translations/qvfb_pl.ts create mode 100644 translations/qvfb_untranslated.ts create mode 100644 translations/qvfb_zh_CN.qm create mode 100644 translations/qvfb_zh_CN.ts create mode 100644 translations/qvfb_zh_TW.qm create mode 100644 translations/qvfb_zh_TW.ts create mode 100644 translations/translations.pri create mode 100644 util/fixnonlatin1/fixnonlatin1.pro create mode 100644 util/fixnonlatin1/main.cpp create mode 100644 util/gencmap/Makefile create mode 100644 util/gencmap/gencmap.cpp create mode 100755 util/harfbuzz/update-harfbuzz create mode 100644 util/install/archive/archive.pro create mode 100644 util/install/archive/qarchive.cpp create mode 100644 util/install/archive/qarchive.h create mode 100644 util/install/configure_installer.cache create mode 100644 util/install/install.pro create mode 100644 util/install/keygen/keygen.pro create mode 100644 util/install/keygen/keyinfo.cpp create mode 100644 util/install/keygen/keyinfo.h create mode 100644 util/install/keygen/main.cpp create mode 100644 util/install/mac/licensedlg.ui create mode 100644 util/install/mac/licensedlgimpl.cpp create mode 100644 util/install/mac/licensedlgimpl.h create mode 100644 util/install/mac/mac.pro create mode 100644 util/install/mac/main.cpp create mode 100644 util/install/mac/unpackage.icns create mode 100644 util/install/mac/unpackdlg.ui create mode 100644 util/install/mac/unpackdlgimpl.cpp create mode 100644 util/install/mac/unpackdlgimpl.h create mode 100644 util/install/package/main.cpp create mode 100644 util/install/package/package.pro create mode 100644 util/install/win/archive.cpp create mode 100644 util/install/win/archive.h create mode 100644 util/install/win/dialogs/folderdlg.ui create mode 100644 util/install/win/dialogs/folderdlgimpl.cpp create mode 100644 util/install/win/dialogs/folderdlgimpl.h create mode 100644 util/install/win/environment.cpp create mode 100644 util/install/win/environment.h create mode 100644 util/install/win/globalinformation.cpp create mode 100644 util/install/win/globalinformation.h create mode 100644 util/install/win/install-edu.rc create mode 100644 util/install/win/install-eval.rc create mode 100644 util/install/win/install-noncommercial.rc create mode 100644 util/install/win/install-qsa.rc create mode 100644 util/install/win/install.ico create mode 100644 util/install/win/install.rc create mode 100644 util/install/win/main.cpp create mode 100644 util/install/win/pages/buildpage.ui create mode 100644 util/install/win/pages/configpage.ui create mode 100644 util/install/win/pages/finishpage.ui create mode 100644 util/install/win/pages/folderspage.ui create mode 100644 util/install/win/pages/licenseagreementpage.ui create mode 100644 util/install/win/pages/licensepage.ui create mode 100644 util/install/win/pages/optionspage.ui create mode 100644 util/install/win/pages/pages.cpp create mode 100644 util/install/win/pages/pages.h create mode 100644 util/install/win/pages/progresspage.ui create mode 100644 util/install/win/pages/sidedecoration.ui create mode 100644 util/install/win/pages/sidedecorationimpl.cpp create mode 100644 util/install/win/pages/sidedecorationimpl.h create mode 100644 util/install/win/pages/winintropage.ui create mode 100644 util/install/win/qt.arq create mode 100644 util/install/win/resource.cpp create mode 100644 util/install/win/resource.h create mode 100644 util/install/win/setupwizardimpl.cpp create mode 100644 util/install/win/setupwizardimpl.h create mode 100644 util/install/win/setupwizardimpl_config.cpp create mode 100644 util/install/win/shell.cpp create mode 100644 util/install/win/shell.h create mode 100644 util/install/win/uninstaller/quninstall.pro create mode 100644 util/install/win/uninstaller/uninstall.ui create mode 100644 util/install/win/uninstaller/uninstaller.cpp create mode 100644 util/install/win/uninstaller/uninstallimpl.cpp create mode 100644 util/install/win/uninstaller/uninstallimpl.h create mode 100644 util/install/win/win.pro create mode 100644 util/lexgen/README create mode 100644 util/lexgen/configfile.cpp create mode 100644 util/lexgen/configfile.h create mode 100644 util/lexgen/css2-simplified.lexgen create mode 100644 util/lexgen/generator.cpp create mode 100644 util/lexgen/generator.h create mode 100644 util/lexgen/global.h create mode 100644 util/lexgen/lexgen.lexgen create mode 100644 util/lexgen/lexgen.pri create mode 100644 util/lexgen/lexgen.pro create mode 100644 util/lexgen/main.cpp create mode 100644 util/lexgen/nfa.cpp create mode 100644 util/lexgen/nfa.h create mode 100644 util/lexgen/re2nfa.cpp create mode 100644 util/lexgen/re2nfa.h create mode 100644 util/lexgen/test.lexgen create mode 100644 util/lexgen/tests/testdata/backtrack1/input create mode 100644 util/lexgen/tests/testdata/backtrack1/output create mode 100644 util/lexgen/tests/testdata/backtrack1/rules.lexgen create mode 100644 util/lexgen/tests/testdata/backtrack2/input create mode 100644 util/lexgen/tests/testdata/backtrack2/output create mode 100644 util/lexgen/tests/testdata/backtrack2/rules.lexgen create mode 100644 util/lexgen/tests/testdata/casesensitivity/input create mode 100644 util/lexgen/tests/testdata/casesensitivity/output create mode 100644 util/lexgen/tests/testdata/casesensitivity/rules.lexgen create mode 100644 util/lexgen/tests/testdata/comments/input create mode 100644 util/lexgen/tests/testdata/comments/output create mode 100644 util/lexgen/tests/testdata/comments/rules.lexgen create mode 100644 util/lexgen/tests/testdata/dot/input create mode 100644 util/lexgen/tests/testdata/dot/output create mode 100644 util/lexgen/tests/testdata/dot/rules.lexgen create mode 100644 util/lexgen/tests/testdata/negation/input create mode 100644 util/lexgen/tests/testdata/negation/output create mode 100644 util/lexgen/tests/testdata/negation/rules.lexgen create mode 100644 util/lexgen/tests/testdata/quoteinset/input create mode 100644 util/lexgen/tests/testdata/quoteinset/output create mode 100644 util/lexgen/tests/testdata/quoteinset/rules.lexgen create mode 100644 util/lexgen/tests/testdata/quotes/input create mode 100644 util/lexgen/tests/testdata/quotes/output create mode 100644 util/lexgen/tests/testdata/quotes/rules.lexgen create mode 100644 util/lexgen/tests/testdata/simple/input create mode 100644 util/lexgen/tests/testdata/simple/output create mode 100644 util/lexgen/tests/testdata/simple/rules.lexgen create mode 100644 util/lexgen/tests/testdata/subsets1/input create mode 100644 util/lexgen/tests/testdata/subsets1/output create mode 100644 util/lexgen/tests/testdata/subsets1/rules.lexgen create mode 100644 util/lexgen/tests/testdata/subsets2/input create mode 100644 util/lexgen/tests/testdata/subsets2/output create mode 100644 util/lexgen/tests/testdata/subsets2/rules.lexgen create mode 100644 util/lexgen/tests/tests.pro create mode 100644 util/lexgen/tests/tst_lexgen.cpp create mode 100644 util/lexgen/tokenizer.cpp create mode 100644 util/local_database/README create mode 100755 util/local_database/cldr2qlocalexml.py create mode 100644 util/local_database/enumdata.py create mode 100644 util/local_database/formattags.txt create mode 100644 util/local_database/locale.xml create mode 100755 util/local_database/qlocalexml2cpp.py create mode 100644 util/local_database/testlocales/localemodel.cpp create mode 100644 util/local_database/testlocales/localemodel.h create mode 100644 util/local_database/testlocales/localewidget.cpp create mode 100644 util/local_database/testlocales/localewidget.h create mode 100644 util/local_database/testlocales/main.cpp create mode 100644 util/local_database/testlocales/testlocales.pro create mode 100644 util/local_database/xpathlite.py create mode 100644 util/normalize/README create mode 100644 util/normalize/main.cpp create mode 100644 util/normalize/normalize.pro create mode 100644 util/plugintest/README create mode 100644 util/plugintest/main.cpp create mode 100644 util/plugintest/plugintest.pro create mode 100644 util/qlalr/.gitignore create mode 100644 util/qlalr/README create mode 100644 util/qlalr/compress.cpp create mode 100644 util/qlalr/compress.h create mode 100644 util/qlalr/cppgenerator.cpp create mode 100644 util/qlalr/cppgenerator.h create mode 100644 util/qlalr/doc/qlalr.qdocconf create mode 100644 util/qlalr/doc/src/classic.css create mode 100644 util/qlalr/doc/src/images/qt-logo.png create mode 100644 util/qlalr/doc/src/images/trolltech-logo.png create mode 100644 util/qlalr/doc/src/qlalr.qdoc create mode 100644 util/qlalr/dotgraph.cpp create mode 100644 util/qlalr/dotgraph.h create mode 100644 util/qlalr/examples/dummy-xml/dummy-xml.pro create mode 100644 util/qlalr/examples/dummy-xml/ll/dummy-xml-ll.cpp create mode 100644 util/qlalr/examples/dummy-xml/xml.g create mode 100644 util/qlalr/examples/glsl/build.sh create mode 100755 util/qlalr/examples/glsl/glsl create mode 100644 util/qlalr/examples/glsl/glsl-lex.l create mode 100644 util/qlalr/examples/glsl/glsl.g create mode 100644 util/qlalr/examples/glsl/glsl.pro create mode 100644 util/qlalr/examples/lambda/COMPILE create mode 100644 util/qlalr/examples/lambda/lambda.g create mode 100644 util/qlalr/examples/lambda/lambda.pro create mode 100644 util/qlalr/examples/lambda/main.cpp create mode 100644 util/qlalr/examples/qparser/COMPILE create mode 100644 util/qlalr/examples/qparser/calc.g create mode 100644 util/qlalr/examples/qparser/calc.l create mode 100644 util/qlalr/examples/qparser/qparser.cpp create mode 100644 util/qlalr/examples/qparser/qparser.h create mode 100644 util/qlalr/examples/qparser/qparser.pro create mode 100644 util/qlalr/grammar.cpp create mode 100644 util/qlalr/grammar_p.h create mode 100644 util/qlalr/lalr.cpp create mode 100644 util/qlalr/lalr.g create mode 100644 util/qlalr/lalr.h create mode 100644 util/qlalr/main.cpp create mode 100644 util/qlalr/parsetable.cpp create mode 100644 util/qlalr/parsetable.h create mode 100644 util/qlalr/qlalr.pro create mode 100644 util/qlalr/recognizer.cpp create mode 100644 util/qlalr/recognizer.h create mode 100644 util/qtscriptparser/make-parser.sh create mode 100755 util/scripts/mac-binary/doit.sh create mode 100644 util/scripts/mac-binary/install/debuglibraries/Info.plist create mode 100644 util/scripts/mac-binary/install/debuglibraries/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/debuglibraries/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/debuglibraries/Resources/debuglibraries.info create mode 100755 util/scripts/mac-binary/install/debuglibraries/Resources/postflight create mode 100755 util/scripts/mac-binary/install/debuglibraries/create_package.sh create mode 100644 util/scripts/mac-binary/install/docs/Info.plist create mode 100644 util/scripts/mac-binary/install/docs/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/docs/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/docs/Resources/docs.info create mode 100755 util/scripts/mac-binary/install/docs/Resources/postflight create mode 100755 util/scripts/mac-binary/install/docs/create_package.sh create mode 100644 util/scripts/mac-binary/install/examples/Info.plist create mode 100644 util/scripts/mac-binary/install/examples/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/examples/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/examples/Resources/examples.info create mode 100644 util/scripts/mac-binary/install/examples/Resources/postflight create mode 100755 util/scripts/mac-binary/install/examples/create_package.sh create mode 100644 util/scripts/mac-binary/install/headers/Info.plist create mode 100644 util/scripts/mac-binary/install/headers/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/headers/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/headers/Resources/headers.info create mode 100755 util/scripts/mac-binary/install/headers/Resources/postflight create mode 100755 util/scripts/mac-binary/install/headers/create_package.sh create mode 100644 util/scripts/mac-binary/install/libraries/Info.plist create mode 100644 util/scripts/mac-binary/install/libraries/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/libraries/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/libraries/Resources/libraries.info create mode 100755 util/scripts/mac-binary/install/libraries/Resources/postflight create mode 100755 util/scripts/mac-binary/install/libraries/create_package.sh create mode 100755 util/scripts/mac-binary/install/libraries/fix_config_paths.pl create mode 100755 util/scripts/mac-binary/install/libraries/fix_prl_paths.pl create mode 100644 util/scripts/mac-binary/install/plugins/Info.plist create mode 100644 util/scripts/mac-binary/install/plugins/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/plugins/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/plugins/Resources/plugins.info create mode 100755 util/scripts/mac-binary/install/plugins/Resources/postflight create mode 100755 util/scripts/mac-binary/install/plugins/create_package.sh create mode 100644 util/scripts/mac-binary/install/tools/Info.plist create mode 100644 util/scripts/mac-binary/install/tools/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/tools/Resources/Readme.rtf create mode 100755 util/scripts/mac-binary/install/tools/Resources/postflight create mode 100644 util/scripts/mac-binary/install/tools/Resources/tools.info create mode 100755 util/scripts/mac-binary/install/tools/create_package.sh create mode 100644 util/scripts/mac-binary/install/translations/Info.plist create mode 100644 util/scripts/mac-binary/install/translations/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/translations/Resources/Readme.rtf create mode 100755 util/scripts/mac-binary/install/translations/Resources/postflight create mode 100644 util/scripts/mac-binary/install/translations/Resources/translations.info create mode 100644 util/scripts/mac-binary/install/translations/create_package.sh create mode 100644 util/scripts/mac-binary/install/xcode/.build_separate create mode 100644 util/scripts/mac-binary/install/xcode/.gitattributes create mode 100644 util/scripts/mac-binary/install/xcode/Info.plist create mode 100644 util/scripts/mac-binary/install/xcode/Resources/Description.plist create mode 100644 util/scripts/mac-binary/install/xcode/Resources/Readme.rtf create mode 100644 util/scripts/mac-binary/install/xcode/Resources/xcode.info create mode 100755 util/scripts/mac-binary/install/xcode/create_package.sh create mode 100755 util/scripts/mac-binary/install/xcode/do_translate.sh create mode 100755 util/scripts/mac-binary/install/xcode/fake_package.sh create mode 100644 util/scripts/mac-binary/install/xcode/integration/scripts/get_file_list.applescript create mode 100755 util/scripts/mac-binary/install/xcode/integration/scripts/get_mocs.sh create mode 100755 util/scripts/mac-binary/install/xcode/integration/scripts/make_moc.sh create mode 100755 util/scripts/mac-binary/install/xcode/integration/scripts/make_rcc.sh create mode 100755 util/scripts/mac-binary/install/xcode/integration/scripts/make_uic.sh create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/CustomDataViews/QtDataFormatters.bundle/Contents/Info.plist create mode 100755 util/scripts/mac-binary/install/xcode/integration/templates/CustomDataViews/QtDataFormatters.bundle/Contents/MacOS/build_bundle.sh create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/CustomDataViews/QtDataFormatters.bundle/Contents/MacOS/bundle.cpp create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/CustomDataViews/QtDataFormatters.bundle/Contents/Resources/CustomDataViews.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/CustomDataViews/QtDataFormatters.bundle/Contents/version.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/C++ Class.pbfiletemplate/TemplateInfo.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/C++ Class.pbfiletemplate/class.cpp create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/C++ Class.pbfiletemplate/class.h create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/Header File.pbfiletemplate/TemplateInfo.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/Header File.pbfiletemplate/header.h create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/QRC File.pbfiletemplate/TemplateInfo.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/QRC File.pbfiletemplate/resource.qrc create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/UI File.pbfiletemplate/TemplateInfo.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/File Templates/Qt/UI File.pbfiletemplate/class.ui create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/Info.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/QtApp.mocs create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/QtApp.pbproj/TemplateInfo.plist create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/QtApp.pbproj/project.pbxproj create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/main.cpp create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Project Templates/Application/Qt Application/version.plist create mode 100755 util/scripts/mac-binary/install/xcode/integration/templates/Scripts/999-Qt/10-aboutQt.sh create mode 100755 util/scripts/mac-binary/install/xcode/integration/templates/Scripts/999-Qt/20-getMocs.sh create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Scripts/999-Qt/menuIcon.tiff create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Specifications/qt.pbfilespec create mode 100644 util/scripts/mac-binary/install/xcode/integration/templates/Specifications/qt.pblangspec create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InfoPlist.strings create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane.nib/classes.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane.nib/info.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane.nib/keyedobjects.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane~.nib/classes.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane~.nib/info.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/InstallerPane~.nib/keyedobjects.nib create mode 100644 util/scripts/mac-binary/package/InstallerPane/English.lproj/Localizable.strings create mode 100644 util/scripts/mac-binary/package/InstallerPane/Info.plist create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerPane.xcodeproj/default.pbxuser create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerPane.xcodeproj/project.pbxproj create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerPanePane.h create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerPanePane.mm create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerPane_Prefix.pch create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerSecionSection.h create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerSecionSection.mm create mode 100644 util/scripts/mac-binary/package/InstallerPane/InstallerSections.plist create mode 100644 util/scripts/mac-binary/package/InstallerPane/helpfulfunc.h create mode 100644 util/scripts/mac-binary/package/InstallerPane/helpfulfunc.mm create mode 100644 util/scripts/mac-binary/package/InstallerPane/keydec.cpp create mode 100644 util/scripts/mac-binary/package/InstallerPane/keydec.h create mode 100644 util/scripts/mac-binary/package/InstallerPane/version.plist create mode 100644 util/scripts/mac-binary/package/MetaPackage/Info.plist create mode 100644 util/scripts/mac-binary/package/MetaPackage/PkgInfo create mode 100644 util/scripts/mac-binary/package/MetaPackage/Resources/Description.plist create mode 100644 util/scripts/mac-binary/package/MetaPackage/Resources/Qt.info create mode 100755 util/scripts/mac-binary/package/Resources/InstallationCheck create mode 100644 util/scripts/mac-binary/package/Resources/InstallationCheck.strings create mode 100644 util/scripts/mac-binary/package/Resources/background.jpg create mode 100644 util/scripts/mac-binary/package/Welcome-commercial.rtf create mode 100644 util/scripts/mac-binary/package/Welcome-eval.rtf create mode 100644 util/scripts/mac-binary/package/Welcome-opensource.rtf create mode 100644 util/scripts/mac-binary/package/backgrounds/DiskImage-Commercial.png create mode 100644 util/scripts/mac-binary/package/backgrounds/DiskImage-Eval.png create mode 100644 util/scripts/mac-binary/package/backgrounds/DiskImage-Opensource.png create mode 100644 util/scripts/mac-binary/package/backgrounds/DriveIcon.icns create mode 100644 util/scripts/mac-binary/package/keydecoder/main.cpp create mode 100644 util/scripts/mac-binary/package/make-model-ds_store.applescript create mode 100755 util/scripts/mac-binary/package/mkcommercialpackage create mode 100755 util/scripts/mac-binary/package/mkpackage create mode 100644 util/scripts/mac-binary/package/model-DS_Store create mode 100755 util/scripts/mac-binary/package/model-DS_Store-4.0.0 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.0.1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.0 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.2 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.3 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.4 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.5 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.1.6 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.0 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.0-rc1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.2 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.3 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.4 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.2.5 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.0 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.2 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.3 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.4 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.3.5 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.0 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.0-rc1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.1 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.2 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.3 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.4 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.4.5 create mode 100644 util/scripts/mac-binary/package/model-DS_Store-4.5.0 create mode 100755 util/scripts/mac-binary/package/opensourceStuff/InstallationCheck create mode 100644 util/scripts/mac-binary/package/opensourceStuff/InstallationCheck.strings create mode 100755 util/scripts/mac-binary/package/uninstall-qt.py create mode 100755 util/scripts/unix_to_dos create mode 100755 util/scripts/win-binary/batch/build.bat create mode 100755 util/scripts/win-binary/batch/copy.bat create mode 100755 util/scripts/win-binary/batch/delete.bat create mode 100755 util/scripts/win-binary/batch/env.bat create mode 100755 util/scripts/win-binary/batch/extract.bat create mode 100755 util/scripts/win-binary/batch/installer.bat create mode 100755 util/scripts/win-binary/batch/log.bat create mode 100755 util/scripts/win-binary/batch/toupper.bat create mode 100644 util/scripts/win-binary/config/addin.conf create mode 100644 util/scripts/win-binary/config/addin7x.conf create mode 100644 util/scripts/win-binary/config/config.aeryn create mode 100644 util/scripts/win-binary/config/config.alessandro64 create mode 100644 util/scripts/win-binary/config/config.chiana create mode 100644 util/scripts/win-binary/config/config.default create mode 100644 util/scripts/win-binary/config/config.innsikt create mode 100644 util/scripts/win-binary/config/config.kepler create mode 100644 util/scripts/win-binary/config/config.planck create mode 100644 util/scripts/win-binary/config/config.radeberger create mode 100644 util/scripts/win-binary/config/config.samarin create mode 100644 util/scripts/win-binary/config/eclipse.conf create mode 100644 util/scripts/win-binary/config/mingw-opensource.conf create mode 100644 util/scripts/win-binary/config/qsa.conf create mode 100644 util/scripts/win-binary/config/qsa_eval.conf create mode 100644 util/scripts/win-binary/config/qsa_gpl.conf create mode 100644 util/scripts/win-binary/config/qtjambi-commercial.conf create mode 100644 util/scripts/win-binary/config/qtjambi-eval.conf create mode 100644 util/scripts/win-binary/config/vc60-commercial.conf create mode 100644 util/scripts/win-binary/config/vc60-eval.conf create mode 100644 util/scripts/win-binary/config/vs2003-commercial-vsip.conf create mode 100644 util/scripts/win-binary/config/vs2003-commercial.conf create mode 100644 util/scripts/win-binary/config/vs2003-demo.conf create mode 100644 util/scripts/win-binary/config/vs2003-eval.conf create mode 100644 util/scripts/win-binary/config/vs2005-ce-commercial.conf create mode 100644 util/scripts/win-binary/config/vs2005-ce-eval.conf create mode 100644 util/scripts/win-binary/config/vs2005-commercial-vsip.conf create mode 100644 util/scripts/win-binary/config/vs2005-commercial.conf create mode 100644 util/scripts/win-binary/config/vs2005-eval.conf create mode 100644 util/scripts/win-binary/config/vs2005-qtdemo.conf create mode 100644 util/scripts/win-binary/config/vs2008-ce-commercial.conf create mode 100644 util/scripts/win-binary/config/vs2008-ce-eval.conf create mode 100644 util/scripts/win-binary/config/vs2008-commercial-vsip.conf create mode 100644 util/scripts/win-binary/config/vs2008-commercial.conf create mode 100644 util/scripts/win-binary/config/vs2008-eval.conf create mode 100644 util/scripts/win-binary/config/vsip.conf create mode 100755 util/scripts/win-binary/doit/doit_2003.bat create mode 100755 util/scripts/win-binary/doit/doit_2005.bat create mode 100755 util/scripts/win-binary/doit/doit_2008.bat create mode 100755 util/scripts/win-binary/doit/doit_gcc.bat create mode 100755 util/scripts/win-binary/doit/doit_vc60.bat create mode 100644 util/scripts/win-binary/doit/doit_wince_2005.bat create mode 100755 util/scripts/win-binary/doit/doit_wince_2008.bat create mode 100755 util/scripts/win-binary/iwmake.bat create mode 100644 util/scripts/win-binary/nsis/confirmpage.ini create mode 100644 util/scripts/win-binary/nsis/eclipse.ini create mode 100644 util/scripts/win-binary/nsis/envpage.ini create mode 100644 util/scripts/win-binary/nsis/gwdownload.ini create mode 100644 util/scripts/win-binary/nsis/gwmirror.ini create mode 100644 util/scripts/win-binary/nsis/images/install.ico create mode 100644 util/scripts/win-binary/nsis/images/qt-header.bmp create mode 100644 util/scripts/win-binary/nsis/images/qt-wizard-clean.bmp create mode 100644 util/scripts/win-binary/nsis/images/qt-wizard.bmp create mode 100644 util/scripts/win-binary/nsis/includes/global.nsh create mode 100644 util/scripts/win-binary/nsis/includes/help.nsh create mode 100644 util/scripts/win-binary/nsis/includes/instdir.nsh create mode 100644 util/scripts/win-binary/nsis/includes/list.nsh create mode 100644 util/scripts/win-binary/nsis/includes/qtcommon.nsh create mode 100644 util/scripts/win-binary/nsis/includes/qtdir.nsh create mode 100644 util/scripts/win-binary/nsis/includes/qtenv.nsh create mode 100644 util/scripts/win-binary/nsis/includes/regsvr.nsh create mode 100644 util/scripts/win-binary/nsis/includes/system.nsh create mode 100644 util/scripts/win-binary/nsis/includes/templates.nsh create mode 100644 util/scripts/win-binary/nsis/includes/writeEnvStr.nsh create mode 100644 util/scripts/win-binary/nsis/includes/writePathStr.nsh create mode 100644 util/scripts/win-binary/nsis/installer.nsi create mode 100644 util/scripts/win-binary/nsis/instdir.ini create mode 100644 util/scripts/win-binary/nsis/license.ini create mode 100644 util/scripts/win-binary/nsis/licensepage.ini create mode 100644 util/scripts/win-binary/nsis/modules/addin60.nsh create mode 100644 util/scripts/win-binary/nsis/modules/addin7x.nsh create mode 100644 util/scripts/win-binary/nsis/modules/debugext.nsh create mode 100644 util/scripts/win-binary/nsis/modules/eclipse.nsh create mode 100644 util/scripts/win-binary/nsis/modules/environment.nsh create mode 100644 util/scripts/win-binary/nsis/modules/evaluation.nsh create mode 100644 util/scripts/win-binary/nsis/modules/help.nsh create mode 100644 util/scripts/win-binary/nsis/modules/license.nsh create mode 100644 util/scripts/win-binary/nsis/modules/mingw.nsh create mode 100644 util/scripts/win-binary/nsis/modules/msvc.nsh create mode 100644 util/scripts/win-binary/nsis/modules/opensource.nsh create mode 100644 util/scripts/win-binary/nsis/modules/qsa.nsh create mode 100644 util/scripts/win-binary/nsis/modules/qtdemo.nsh create mode 100644 util/scripts/win-binary/nsis/modules/qtjambi.nsh create mode 100644 util/scripts/win-binary/nsis/modules/qtjambieclipse.nsh create mode 100644 util/scripts/win-binary/nsis/modules/registeruiext.nsh create mode 100644 util/scripts/win-binary/nsis/modules/vsip.nsh create mode 100644 util/scripts/win-binary/nsis/opensource.ini create mode 100644 util/scripts/win-binary/nsis/qsa.ini create mode 100644 util/scripts/win-binary/nsis/qtdir.ini create mode 100644 util/scripts/win-binary/nsis/qtjambieclipse.ini create mode 100644 util/scripts/win-binary/nsis/qtnsisext/binpatch.cpp create mode 100644 util/scripts/win-binary/nsis/qtnsisext/binpatch.h create mode 100644 util/scripts/win-binary/nsis/qtnsisext/exdll.h create mode 100644 util/scripts/win-binary/nsis/qtnsisext/licensefinder.cpp create mode 100644 util/scripts/win-binary/nsis/qtnsisext/licensefinder.h create mode 100644 util/scripts/win-binary/nsis/qtnsisext/mingw.cpp create mode 100644 util/scripts/win-binary/nsis/qtnsisext/mingw.h create mode 100755 util/scripts/win-binary/nsis/qtnsisext/qtlibspatcher.exe create mode 100644 util/scripts/win-binary/nsis/qtnsisext/qtlibspatcher.vcproj create mode 100644 util/scripts/win-binary/nsis/qtnsisext/qtlibspatchermain.cpp create mode 100644 util/scripts/win-binary/nsis/qtnsisext/qtnsisext.cpp create mode 100644 util/scripts/win-binary/nsis/qtnsisext/qtnsisext.dll create mode 100644 util/scripts/win-binary/nsis/qtnsisext/qtnsisext.vcproj create mode 100644 util/unicode/README create mode 100644 util/unicode/codecs/big5/BIG5 create mode 100644 util/unicode/codecs/big5/big5.pro create mode 100644 util/unicode/codecs/big5/big5.qrc create mode 100644 util/unicode/codecs/big5/main.cpp create mode 100644 util/unicode/data/ArabicShaping.txt create mode 100644 util/unicode/data/BidiMirroring.txt create mode 100644 util/unicode/data/Blocks.txt create mode 100644 util/unicode/data/CaseFolding.txt create mode 100644 util/unicode/data/CompositionExclusions.txt create mode 100644 util/unicode/data/DerivedAge.txt create mode 100644 util/unicode/data/GraphemeBreakProperty.txt create mode 100644 util/unicode/data/LineBreak.txt create mode 100644 util/unicode/data/NormalizationCorrections.txt create mode 100644 util/unicode/data/Scripts.txt create mode 100644 util/unicode/data/ScriptsCorrections.txt create mode 100644 util/unicode/data/ScriptsInitial.txt create mode 100644 util/unicode/data/SentenceBreakProperty.txt create mode 100644 util/unicode/data/SpecialCasing.txt create mode 100644 util/unicode/data/UnicodeData.txt create mode 100644 util/unicode/data/WordBreakProperty.txt create mode 100644 util/unicode/main.cpp create mode 100644 util/unicode/unicode.pro create mode 100755 util/unicode/writingSystems.sh create mode 100644 util/unicode/x11/encodings.in create mode 100755 util/unicode/x11/makeencodings create mode 100755 util/webkit/mkdist-webkit create mode 100644 util/xkbdatagen/main.cpp create mode 100644 util/xkbdatagen/xkbdatagen.pro diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0de9563 --- /dev/null +++ b/.gitignore @@ -0,0 +1,174 @@ +# This file is used to ignore files which are generated in the Qt build system +# ---------------------------------------------------------------------------- + +examples/*/*/* +!examples/*/*/*[.]* +!examples/*/*/README +examples/*/*/*[.]app +demos/*/* +!demos/*/*[.]* +demos/*/*[.]app +config.tests/*/*/* +!config.tests/*/*/*[.]* +config.tests/*/*/*[.]app + +*~ +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.swp +*.rej +*.so +*.pbxuser +*.mode1 +*.mode1v3 +*_pch.h.cpp +*_resource.rc +.#* +*.*# +core +.qmake.cache +.qmake.vars +*.prl +tags +.DS_Store +*.debug +Makefile* +*.prl +*.app +*.pro.user +bin/Qt*.dll +bin/assistant* +bin/designer* +bin/dumpcpp* +bin/idc* +bin/linguist* +bin/lrelease* +bin/lupdate* +bin/lconvert* +bin/moc* +bin/pixeltool* +bin/qmake* +bin/qt3to4* +bin/qtdemo* +bin/rcc* +bin/uic* +bin/patternist* +bin/phonon* +bin/qcollectiongenerator* +bin/qdbus* +bin/qhelpconverter* +bin/qhelpgenerator* +bin/qtconfig* +bin/xmlpatterns* +bin/collectiongenerator +bin/helpconverter +bin/helpgenerator +configure.cache +config.status +mkspecs/default +mkspecs/qconfig.pri +moc_*.cpp +qmake/qmake.exe +qmake/Makefile.bak +src/corelib/global/qconfig.cpp +src/corelib/global/qconfig.h +src/corelib/global/qconfig.h.qmake +src/tools/uic/qclass_lib_map.h +ui_*.h +tests/auto/qprocess/test*/*.exe +tests/auto/qtcpsocket/stressTest/*.exe +tests/auto/qprocess/fileWriterProcess/*.exe +tests/auto/qmake/testdata/quotedfilenames/*.exe +tests/auto/compilerwarnings/*.exe +tests/auto/qmake/testdata/quotedfilenames/test.cpp +tests/auto/qprocess/fileWriterProcess.txt +.com.apple.timemachine.supported +tests/auto/qlibrary/libmylib.so* +tests/auto/qresourceengine/runtime_resource.rcc +tools/qdoc3/qdoc3* +tools/qtestlib/updater/updater* +tools/activeqt/testcon/testcon.tlb +qrc_*.cpp + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb + +# MinGW generated files +*.Debug +*.Release + +# WebKit temp files +src/3rdparty/webkit/WebCore/mocinclude.tmp +src/3rdparty/webkit/includes.txt +src/3rdparty/webkit/includes2.txt + +# Symlinks generated by configure +tools/qvfb/qvfbhdr.h +tools/qvfb/qlock_p.h +tools/qvfb/qlock.cpp +tools/qvfb/qwssignalhandler.cpp +tools/qvfb/qwssignalhandler_p.h +.DS_Store +.pch +.rcc +*.app +config.status +config.tests/unix/cups/cups +config.tests/unix/getaddrinfo/getaddrinfo +config.tests/unix/getifaddrs/getifaddrs +config.tests/unix/iconv/iconv +config.tests/unix/ipv6/ipv6 +config.tests/unix/ipv6ifname/ipv6ifname +config.tests/unix/largefile/largefile +config.tests/unix/nis/nis +config.tests/unix/odbc/odbc +config.tests/unix/openssl/openssl +config.tests/unix/stl/stl +config.tests/unix/zlib/zlib +config.tests/unix/3dnow/3dnow +config.tests/unix/mmx/mmx +config.tests/unix/sse/sse +config.tests/unix/sse2/sse2 + + + +# Directories to ignore +# --------------------- + +debug +examples/tools/plugandpaint/plugins +include/* +include/*/* +lib/* +!lib/fonts +!lib/README +plugins/*/* +release +tmp +doc-build +doc/html/* +doc/qch +doc-build +.rcc +.pch +src/corelib/lib +src/network/lib +src/xml/lib/ diff --git a/.hgignore b/.hgignore new file mode 100755 index 0000000..784d507 --- /dev/null +++ b/.hgignore @@ -0,0 +1,133 @@ +# This file is used to ignore files which are generated in the Qt build system +# ---------------------------------------------------------------------------- + +syntax: glob + +*~ +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.swp +*.rej +*.so +*.pbxuser +*.mode1 +*.mode1v3 +*.qch +*.dylib +*_pch.h.cpp +*_resource.rc +.qmake.cache +*.prl +tags +Makefile +Makefile.Debug +Makefile.Release +bin/Qt*.dll +bin/lconvert* +bin/xmlpatterns* +bin/assistant* +bin/designer* +bin/dumpcpp* +bin/idc* +bin/linguist* +bin/lrelease* +bin/lupdate* +bin/moc* +bin/pixeltool* +bin/qmake* +bin/qt3to4* +bin/qtdemo* +bin/rcc* +bin/uic* +bin/qcollectiongenerator +bin/qhelpgenerator +tools/qdoc3/qdoc3* +#configure.cache +mkspecs/default +mkspecs/qconfig.pri +moc_*.cpp +qmake/qmake.exe +qmake/Makefile.bak +src/corelib/global/qconfig.cpp +src/corelib/global/qconfig.h +src/tools/uic/qclass_lib_map.h +ui_*.h +.com.apple.timemachine.supported + +# xemacs temporary files +*.flc + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user + +# +## Symlinks generated by configure +tools/qvfb/qvfbhdr.h +tools/qvfb/qlock_p.h +tools/qvfb/qlock.cpp +tools/qvfb/qwssignalhandler.cpp +tools/qvfb/qwssignalhandler_p.h +.DS_Store +.pch +.rcc +*.app +config.status +config.tests/unix/cups/cups +config.tests/unix/getaddrinfo/getaddrinfo +config.tests/unix/getifaddrs/getifaddrs +config.tests/unix/iconv/iconv +config.tests/unix/ipv6/ipv6 +config.tests/unix/ipv6ifname/ipv6ifname +config.tests/unix/largefile/largefile +config.tests/unix/nis/nis +config.tests/unix/odbc/odbc +config.tests/unix/openssl/openssl +config.tests/unix/stl/stl +config.tests/unix/zlib/zlib +config.tests/unix/3dnow/3dnow +config.tests/unix/mmx/mmx +config.tests/unix/sse/sse +config.tests/unix/sse2/sse2 +config.tests/unix/psql-escape/psql-escape +config.tests/unix/psql/psql +config.tests/unix/stdint/stdint + +# Directories to ignore +# --------------------- + +debug +examples/tools/plugandpaint/plugins +include/* +doc/html* +include/*/* +lib/* +plugins/*/* +release +tmp +doc/html/* +doc-build +src/gui/.pch +src/corelib/.pch +src/network/.pch +src/gui/.rcc +src/sql/.rcc +src/xml/.rcc +src/corelib/.rcc +src/network/.rcc +.DS_Store +src/gui/build +src/corelib/global/qconfig.h.qmake +*.perspectivev* +build +src/gui/qtdir.xcconfig diff --git a/FAQ b/FAQ new file mode 100644 index 0000000..c243e5c --- /dev/null +++ b/FAQ @@ -0,0 +1,18 @@ +This is a list of Frequently Asked Questions regarding Qt Release 4.5.0. + +Q: I'm using a Unix system and I downloaded the Zip package. However, when I try +to run the configure script, I get the following error message: +"bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory" +A: The problem here is converting files from Windows style line endings (CRLF) +to Unix style line endings (LF). To avoid this problem, uncompress the file +again and give the option "-a" to unzip, which will then add the correct line +endings. + +Q: I'm running Windows XP and I downloaded the qt-win-eval-4.5.0-vs2008.exe +version of Qt. However, when I try to run the examples I get an error saying: +"The application failed to start because the application configuration is +incorrect. Reinstalling the application may fix this problem.". I reinstalled +the package but the error persists. What am I doing wrong? +A: The problem is an incorrect version of the CRT. Visual studio requires CRT90 +while Windows XP comes with CRT80. To solve this problem, please install the +2008 CRT redistributable package from Microsoft. diff --git a/LGPL_EXCEPTION.TXT b/LGPL_EXCEPTION.TXT new file mode 100644 index 0000000..8d0f85e --- /dev/null +++ b/LGPL_EXCEPTION.TXT @@ -0,0 +1,3 @@ +Nokia Qt LGPL Exception version 1.0 + +As a special exception to the GNU Lesser General Public License version 2.1, the object code form of a "work that uses the Library" may incorporate material from a header file that is part of the Library. You may distribute such object code under terms of your choice, provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates. \ No newline at end of file diff --git a/LICENSE.GPL3 b/LICENSE.GPL3 new file mode 100644 index 0000000..13e6f18 --- /dev/null +++ b/LICENSE.GPL3 @@ -0,0 +1,696 @@ + GNU GENERAL PUBLIC LICENSE + + The Qt GUI Toolkit is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + Contact: Qt Software Information (qt-info@nokia.com) + + You may use, distribute and copy the Qt GUI Toolkit under the terms of + GNU General Public License version 3, which is displayed below. + +------------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +------------------------------------------------------------------------- + +In addition, as a special exception, Nokia gives permission to link the +code of its release of Qt with the OpenSSL project's "OpenSSL" library (or +modified versions of it that use the same license as the "OpenSSL" +library), and distribute the linked executables. You must comply with the +GNU General Public License versions 2.0 or 3.0 in all respects for all of +the code used other than the "OpenSSL" code. If you modify this file, you +may extend this exception to your version of the file, but you are not +obligated to do so. If you do not wish to do so, delete this exception +statement from your version of this file. diff --git a/LICENSE.LGPL b/LICENSE.LGPL new file mode 100644 index 0000000..bb95f25 --- /dev/null +++ b/LICENSE.LGPL @@ -0,0 +1,514 @@ + GNU LESSER GENERAL PUBLIC LICENSE + + The Qt GUI Toolkit is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + Contact: Qt Software Information (qt-info@nokia.com) + + You may use, distribute and copy the Qt GUI Toolkit under the terms of + GNU Lesser General Public License version 2.1, which is displayed below. + +------------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/LICENSE.PREVIEW.COMMERCIAL b/LICENSE.PREVIEW.COMMERCIAL new file mode 100644 index 0000000..7f7b234 --- /dev/null +++ b/LICENSE.PREVIEW.COMMERCIAL @@ -0,0 +1,642 @@ +TECHNOLOGY PREVIEW LICENSE AGREEMENT + +For individuals and/or legal entities resident in the Americas (North +America, Central America and South America), the applicable licensing +terms are specified under the heading "Technology Preview License +Agreement: The Americas". + +For individuals and/or legal entities not resident in The Americas, +the applicable licensing terms are specified under the heading +"Technology Preview License Agreement: Rest of the World". + + +TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas +Agreement version 2.3 + +This Technology Preview License Agreement ("Agreement") is a legal +agreement between Nokia Inc. ("Nokia"), with its registered office at +6021 Connection Drive, Irving, TX 75039, U.S.A. and you (either an +individual or a legal entity) ("Licensee") for the Licensed Software +(as defined below). + + +1. DEFINITIONS + +"Affiliate" of a Party shall mean an entity (i) which is directly or +indirectly controlling such Party; (ii) which is under the same direct +or indirect ownership or control as such Party; or (iii) which is +directly or indirectly owned or controlled by such Party. For these +purposes, an entity shall be treated as being controlled by another if +that other entity has fifty percent (50 %) or more of the votes in +such entity, is able to direct its affairs and/or to control the +composition of its board of directors or equivalent body. + +"Term" shall mean the period of time six (6) months from the later of +(a) the Effective Date; or (b) the date the Licensed Software was +initially delivered to Licensee by Nokia. If no specific Effective +Date is set forth in the Agreement, the Effective Date shall be deemed +to be the date the Licensed Software was initially delivered to +Licensee. + +"Licensed Software" shall mean the computer software, "online" or +electronic documentation, associated media and printed materials, +including the source code, example programs and the documentation +delivered by Nokia to Licensee in conjunction with this Agreement. + +"Party" or "Parties" shall mean Licensee and/or Nokia. + + +2. OWNERSHIP + +The Licensed Software is protected by copyright laws and international +copyright treaties, as well as other intellectual property laws and +treaties. The Licensed Software is licensed, not sold. + +If Licensee provides any findings, proposals, suggestions or other +feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia +shall own all right, title and interest including the intellectual +property rights in and to such Feedback, excluding however any +existing patent rights of Licensee. To the extent Licensee owns or +controls any patents for such Feedback Licensee hereby grants to Nokia +and its Affiliates, a worldwide, perpetual, non-transferable, +sublicensable, royalty-free license to (i) use, copy and modify +Feedback and to create derivative works thereof, (ii) to make (and +have made), use, import, sell, offer for sale, lease, dispose, offer +for disposal or otherwise exploit any products or services of Nokia +containing Feedback,, and (iii) sublicense all the foregoing rights to +third party licensees and customers of Nokia and/or its Affiliates. + + +3. VALIDITY OF THE AGREEMENT + +By installing, copying, or otherwise using the Licensed Software, +Licensee agrees to be bound by the terms of this Agreement. If +Licensee does not agree to the terms of this Agreement, Licensee may +not install, copy, or otherwise use the Licensed Software. Upon +Licensee's acceptance of the terms and conditions of this Agreement, +Nokia grants Licensee the right to use the Licensed Software in the +manner provided below. + + +4. LICENSES + +4.1 Using and Copying + +Nokia grants to Licensee a non-exclusive, non-transferable, +time-limited license to use and copy the Licensed Software for sole +purpose of evaluating and testing the Licensed Software during the +Term. + +Licensee may install copies of the Licensed Software on an unlimited +number of computers provided that (a) if an individual, only such +individual; or (b) if a legal entity only its employees; use the +Licensed Software for the authorized purposes. + +4.2 No Distribution or Modifications + +Licensee may not disclose, modify, sell, market, commercialise, +distribute, loan, rent, lease, or license the Licensed Software or any +copy of it or use the Licensed Software for any purpose that is not +expressly granted in this Section 4. Licensee may not alter or remove +any details of ownership, copyright, trademark or other property right +connected with the Licensed Software. Licensee may not distribute any +software statically or dynamically linked with the Licensed Software. + +4.3 No Technical Support + +Nokia has no obligation to furnish Licensee with any technical support +whatsoever. Any such support is subject to separate agreement between +the Parties. + + +5. PRE-RELEASE CODE + +The Licensed Software contains pre-release code that is not at the +level of performance and compatibility of a final, generally +available, product offering. The Licensed Software may not operate +correctly and may be substantially modified prior to the first +commercial product release, if any. Nokia is not obligated to make +this or any later version of the Licensed Software commercially +available. The License Software is "Not for Commercial Use" and may +only be used for the purposes described in Section 4. The Licensed +Software may not be used in a live operating environment where it may +be relied upon to perform in the same manner as a commercially +released product or with data that has not been sufficiently backed +up. + + +6. THIRD PARTY SOFTWARE + +The Licensed Software may provide links to third party libraries or +code (collectively "Third Party Software") to implement various +functions. Third Party Software does not comprise part of the +Licensed Software. In some cases, access to Third Party Software may +be included along with the Licensed Software delivery as a convenience +for development and testing only. Such source code and libraries may +be listed in the ".../src/3rdparty" source tree delivered with the +Licensed Software or documented in the Licensed Software where the +Third Party Software is used, as may be amended from time to time, do +not comprise the Licensed Software. Licensee acknowledges (1) that +some part of Third Party Software may require additional licensing of +copyright and patents from the owners of such, and (2) that +distribution of any of the Licensed Software referencing any portion +of a Third Party Software may require appropriate licensing from such +third parties. + + +7. LIMITED WARRANTY AND WARRANTY DISCLAIMER + +The Licensed Software is licensed to Licensee "as is". To the maximum +extent permitted by applicable law, Nokia on behalf of itself and its +suppliers, disclaims all warranties and conditions, either express or +implied, including, but not limited to, implied warranties of +merchantability, fitness for a particular purpose, title and +non-infringement with regard to the Licensed Software. + + +8. LIMITATION OF LIABILITY + +If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable +to Licensee, whether in contract, tort or any other legal theory, +based on the Licensed Software, Nokia's entire liability to Licensee +and Licensee's exclusive remedy shall be, at Nokia's option, either +(A) return of the price Licensee paid for the Licensed Software, or +(B) repair or replacement of the Licensed Software, provided Licensee +returns to Nokia all copies of the Licensed Software as originally +delivered to Licensee. Nokia shall not under any circumstances be +liable to Licensee based on failure of the Licensed Software if the +failure resulted from accident, abuse or misapplication, nor shall +Nokia under any circumstances be liable for special damages, punitive +or exemplary damages, damages for loss of profits or interruption of +business or for loss or corruption of data. Any award of damages from +Nokia to Licensee shall not exceed the total amount Licensee has paid +to Nokia in connection with this Agreement. + + +9. CONFIDENTIALITY + +Each party acknowledges that during the Term of this Agreement it +shall have access to information about the other party's business, +business methods, business plans, customers, business relations, +technology, and other information, including the terms of this +Agreement, that is confidential and of great value to the other party, +and the value of which would be significantly reduced if disclosed to +third parties (the "Confidential Information"). Accordingly, when a +party (the "Receiving Party") receives Confidential Information from +another party (the "Disclosing Party"), the Receiving Party shall, and +shall obligate its employees and agents and employees and agents of +its Affiliates to: (i) maintain the Confidential Information in strict +confidence; (ii) not disclose the Confidential Information to a third +party without the Disclosing Party's prior written approval; and (iii) +not, directly or indirectly, use the Confidential Information for any +purpose other than for exercising its rights and fulfilling its +responsibilities pursuant to this Agreement. Each party shall take +reasonable measures to protect the Confidential Information of the +other party, which measures shall not be less than the measures taken +by such party to protect its own confidential and proprietary +information. + +"Confidential Information" shall not include information that (a) is +or becomes generally known to the public through no act or omission of +the Receiving Party; (b) was in the Receiving Party's lawful +possession prior to the disclosure hereunder and was not subject to +limitations on disclosure or use; (c) is developed by the Receiving +Party without access to the Confidential Information of the Disclosing +Party or by persons who have not had access to the Confidential +Information of the Disclosing Party as proven by the written records +of the Receiving Party; (d) is lawfully disclosed to the Receiving +Party without restrictions, by a third party not under an obligation +of confidentiality; or (e) the Receiving Party is legally compelled to +disclose the information, in which case the Receiving Party shall +assert the privileged and confidential nature of the information and +cooperate fully with the Disclosing Party to protect against and +prevent disclosure of any Confidential Information and to limit the +scope of disclosure and the dissemination of disclosed Confidential +Information by all legally available means. + +The obligations of the Receiving Party under this Section shall +continue during the Initial Term and for a period of five (5) years +after expiration or termination of this Agreement. To the extent that +the terms of the Non-Disclosure Agreement between Nokia and Licensee +conflict with the terms of this Section 8, this Section 8 shall be +controlling over the terms of the Non-Disclosure Agreement. + + +10. GENERAL PROVISIONS + +10.1 No Assignment + +Licensee shall not be entitled to assign or transfer all or any of its +rights, benefits and obligations under this Agreement without the +prior written consent of Nokia, which shall not be unreasonably +withheld. + +10.2 Termination + +Nokia may terminate the Agreement at any time immediately upon written +notice by Nokia to Licensee if Licensee breaches this Agreement. + +Upon termination of this Agreement, Licensee shall return to Nokia all +copies of Licensed Software that were supplied by Nokia. All other +copies of Licensed Software in the possession or control of Licensee +must be erased or destroyed. An officer of Licensee must promptly +deliver to Nokia a written confirmation that this has occurred. + +10.3 Surviving Sections + +Any terms and conditions that by their nature or otherwise reasonably +should survive a cancellation or termination of this Agreement shall +also be deemed to survive. Such terms and conditions include, but are +not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, +10.4, 10.5, 10.6, 10.7, and 10.8 of this Agreement. + +10.4 Entire Agreement + +This Agreement constitutes the complete agreement between the parties +and supersedes all prior or contemporaneous discussions, +representations, and proposals, written or oral, with respect to the +subject matters discussed herein, with the exception of the +non-disclosure agreement executed by the parties in connection with +this Agreement ("Non-Disclosure Agreement"), if any, shall be subject +to Section 8. No modification of this Agreement shall be effective +unless contained in a writing executed by an authorized representative +of each party. No term or condition contained in Licensee's purchase +order shall apply unless expressly accepted by Nokia in writing. If +any provision of the Agreement is found void or unenforceable, the +remainder shall remain valid and enforceable according to its +terms. If any remedy provided is determined to have failed for its +essential purpose, all limitations of liability and exclusions of +damages set forth in this Agreement shall remain in effect. + +10.5 Export Control + +Licensee acknowledges that the Licensed Software may be subject to +export control restrictions of various countries. Licensee shall fully +comply with all applicable export license restrictions and +requirements as well as with all laws and regulations relating to the +importation of the Licensed Software and shall procure all necessary +governmental authorizations, including without limitation, all +necessary licenses, approvals, permissions or consents, where +necessary for the re-exportation of the Licensed Software., + +10.6 Governing Law and Legal Venue + +This Agreement shall be governed by and construed in accordance with +the federal laws of the United States of America and the internal laws +of the State of New York without given effect to any choice of law +rule that would result in the application of the laws of any other +jurisdiction. The United Nations Convention on Contracts for the +International Sale of Goods (CISG) shall not apply. Each Party (a) +hereby irrevocably submits itself to and consents to the jurisdiction +of the United States District Court for the Southern District of New +York (or if such court lacks jurisdiction, the state courts of the +State of New York) for the purposes of any action, claim, suit or +proceeding between the Parties in connection with any controversy, +claim, or dispute arising out of or relating to this Agreement; and +(b) hereby waives, and agrees not to assert by way of motion, as a +defense or otherwise, in any such action, claim, suit or proceeding, +any claim that is not personally subject to the jurisdiction of such +court(s), that the action, claim, suit or proceeding is brought in an +inconvenient forum or that the venue of the action, claim, suit or +proceeding is improper. Notwithstanding the foregoing, nothing in +this Section 9.6 is intended to, or shall be deemed to, constitute a +submission or consent to, or selection of, jurisdiction, forum or +venue for any action for patent infringement, whether or not such +action relates to this Agreement. + +10.7 No Implied License + +There are no implied licenses or other implied rights granted under +this Agreement, and all rights, save for those expressly granted +hereunder, shall remain with Nokia and its licensors. In addition, no +licenses or immunities are granted to the combination of the Licensed +Software with any other software or hardware not delivered by Nokia +under this Agreement. + +10.8 Government End Users + +A "U.S. Government End User" shall mean any agency or entity of the +government of the United States. The following shall apply if Licensee +is a U.S. Government End User. The Licensed Software is a "commercial +item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), +consisting of "commercial computer software" and "commercial computer +software documentation," as such terms are used in 48 C.F.R. 12.212 +(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 +C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government +End Users acquire the Licensed Software with only those rights set +forth herein. The Licensed Software (including related documentation) +is provided to U.S. Government End Users: (a) only as a commercial +end item; and (b) only pursuant to this Agreement. + + + + + +TECHNOLOGY PREVIEW LICENSE AGREEMENT: Rest of the World +Agreement version 2.3 + +This Technology Preview License Agreement ("Agreement") is a legal +agreement between Nokia Corporation ("Nokia"), with its registered +office at Keilalahdentie 4, 02150 Espoo, Finland and you (either an +individual or a legal entity) ("Licensee") for the Licensed Software +(as defined below). + +1. DEFINITIONS + +"Affiliate" of a Party shall mean an entity (i) which is directly or +indirectly controlling such Party; (ii) which is under the same direct +or indirect ownership or control as such Party; or (iii) which is +directly or indirectly owned or controlled by such Party. For these +purposes, an entity shall be treated as being controlled by another if +that other entity has fifty percent (50 %) or more of the votes in +such entity, is able to direct its affairs and/or to control the +composition of its board of directors or equivalent body. + +"Term" shall mean the period of time six (6) months from the later of +(a) the Effective Date; or (b) the date the Licensed Software was +initially delivered to Licensee by Nokia. If no specific Effective +Date is set forth in the Agreement, the Effective Date shall be deemed +to be the date the Licensed Software was initially delivered to +Licensee. + +"Licensed Software" shall mean the computer software, "online" or +electronic documentation, associated media and printed materials, +including the source code, example programs and the documentation +delivered by Nokia to Licensee in conjunction with this Agreement. + +"Party" or "Parties" shall mean Licensee and/or Nokia. + + +2. OWNERSHIP + +The Licensed Software is protected by copyright laws and international +copyright treaties, as well as other intellectual property laws and +treaties. The Licensed Software is licensed, not sold. + +If Licensee provides any findings, proposals, suggestions or other +feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia +shall own all right, title and interest including the intellectual +property rights in and to such Feedback, excluding however any +existing patent rights of Licensee. To the extent Licensee owns or +controls any patents for such Feedback Licensee hereby grants to Nokia +and its Affiliates, a worldwide, perpetual, non-transferable, +sublicensable, royalty-free license to (i) use, copy and modify +Feedback and to create derivative works thereof, (ii) to make (and +have made), use, import, sell, offer for sale, lease, dispose, offer +for disposal or otherwise exploit any products or services of Nokia +containing Feedback,, and (iii) sublicense all the foregoing rights to +third party licensees and customers of Nokia and/or its Affiliates. + + +3. VALIDITY OF THE AGREEMENT + +By installing, copying, or otherwise using the Licensed Software, +Licensee agrees to be bound by the terms of this Agreement. If +Licensee does not agree to the terms of this Agreement, Licensee may +not install, copy, or otherwise use the Licensed Software. Upon +Licensee's acceptance of the terms and conditions of this Agreement, +Nokia grants Licensee the right to use the Licensed Software in the +manner provided below. + + +4. LICENSES + +4.1 Using and Copying + +Nokia grants to Licensee a non-exclusive, non-transferable, +time-limited license to use and copy the Licensed Software for sole +purpose of evaluating and testing the Licensed Software during the +Term. + +Licensee may install copies of the Licensed Software on an unlimited +number of computers provided that (a) if an individual, only such +individual; or (b) if a legal entity only its employees; use the +Licensed Software for the authorized purposes. + +4.2 No Distribution or Modifications + +Licensee may not disclose, modify, sell, market, commercialise, +distribute, loan, rent, lease, or license the Licensed Software or any +copy of it or use the Licensed Software for any purpose that is not +expressly granted in this Section 4. Licensee may not alter or remove +any details of ownership, copyright, trademark or other property right +connected with the Licensed Software. Licensee may not distribute any +software statically or dynamically linked with the Licensed Software. + +4.3 No Technical Support + +Nokia has no obligation to furnish Licensee with any technical support +whatsoever. Any such support is subject to separate agreement between +the Parties. + + +5. PRE-RELEASE CODE + +The Licensed Software contains pre-release code that is not at the +level of performance and compatibility of a final, generally +available, product offering. The Licensed Software may not operate +correctly and may be substantially modified prior to the first +commercial product release, if any. Nokia is not obligated to make +this or any later version of the Licensed Software commercially +available. The License Software is "Not for Commercial Use" and may +only be used for the purposes described in Section 4. The Licensed +Software may not be used in a live operating environment where it may +be relied upon to perform in the same manner as a commercially +released product or with data that has not been sufficiently backed +up. + + +6. THIRD PARTY SOFTWARE + +The Licensed Software may provide links to third party libraries or +code (collectively "Third Party Software") to implement various +functions. Third Party Software does not comprise part of the +Licensed Software. In some cases, access to Third Party Software may +be included along with the Licensed Software delivery as a convenience +for development and testing only. Such source code and libraries may +be listed in the ".../src/3rdparty" source tree delivered with the +Licensed Software or documented in the Licensed Software where the +Third Party Software is used, as may be amended from time to time, do +not comprise the Licensed Software. Licensee acknowledges (1) that +some part of Third Party Software may require additional licensing of +copyright and patents from the owners of such, and (2) that +distribution of any of the Licensed Software referencing any portion +of a Third Party Software may require appropriate licensing from such +third parties. + + +7. LIMITED WARRANTY AND WARRANTY DISCLAIMER + +The Licensed Software is licensed to Licensee "as is". To the maximum +extent permitted by applicable law, Nokia on behalf of itself and its +suppliers, disclaims all warranties and conditions, either express or +implied, including, but not limited to, implied warranties of +merchantability, fitness for a particular purpose, title and +non-infringement with regard to the Licensed Software. + + +8. LIMITATION OF LIABILITY + +If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable +to Licensee, whether in contract, tort or any other legal theory, +based on the Licensed Software, Nokia's entire liability to Licensee +and Licensee's exclusive remedy shall be, at Nokia's option, either +(A) return of the price Licensee paid for the Licensed Software, or +(B) repair or replacement of the Licensed Software, provided Licensee +returns to Nokia all copies of the Licensed Software as originally +delivered to Licensee. Nokia shall not under any circumstances be +liable to Licensee based on failure of the Licensed Software if the +failure resulted from accident, abuse or misapplication, nor shall +Nokia under any circumstances be liable for special damages, punitive +or exemplary damages, damages for loss of profits or interruption of +business or for loss or corruption of data. Any award of damages from +Nokia to Licensee shall not exceed the total amount Licensee has paid +to Nokia in connection with this Agreement. + + +9. CONFIDENTIALITY + +Each party acknowledges that during the Term of this Agreement it +shall have access to information about the other party's business, +business methods, business plans, customers, business relations, +technology, and other information, including the terms of this +Agreement, that is confidential and of great value to the other party, +and the value of which would be significantly reduced if disclosed to +third parties (the "Confidential Information"). Accordingly, when a +party (the "Receiving Party") receives Confidential Information from +another party (the "Disclosing Party"), the Receiving Party shall, and +shall obligate its employees and agents and employees and agents of +its Affiliates to: (i) maintain the Confidential Information in strict +confidence; (ii) not disclose the Confidential Information to a third +party without the Disclosing Party's prior written approval; and (iii) +not, directly or indirectly, use the Confidential Information for any +purpose other than for exercising its rights and fulfilling its +responsibilities pursuant to this Agreement. Each party shall take +reasonable measures to protect the Confidential Information of the +other party, which measures shall not be less than the measures taken +by such party to protect its own confidential and proprietary +information. + +"Confidential Information" shall not include information that (a) is +or becomes generally known to the public through no act or omission of +the Receiving Party; (b) was in the Receiving Party's lawful +possession prior to the disclosure hereunder and was not subject to +limitations on disclosure or use; (c) is developed by the Receiving +Party without access to the Confidential Information of the Disclosing +Party or by persons who have not had access to the Confidential +Information of the Disclosing Party as proven by the written records +of the Receiving Party; (d) is lawfully disclosed to the Receiving +Party without restrictions, by a third party not under an obligation +of confidentiality; or (e) the Receiving Party is legally compelled to +disclose the information, in which case the Receiving Party shall +assert the privileged and confidential nature of the information and +cooperate fully with the Disclosing Party to protect against and +prevent disclosure of any Confidential Information and to limit the +scope of disclosure and the dissemination of disclosed Confidential +Information by all legally available means. + +The obligations of the Receiving Party under this Section shall +continue during the Initial Term and for a period of five (5) years +after expiration or termination of this Agreement. To the extent that +the terms of the Non-Disclosure Agreement between Nokia and Licensee +conflict with the terms of this Section 8, this Section 8 shall be +controlling over the terms of the Non-Disclosure Agreement. + + +10. GENERAL PROVISIONS + +10.1 No Assignment + +Licensee shall not be entitled to assign or transfer all or any of its +rights, benefits and obligations under this Agreement without the +prior written consent of Nokia, which shall not be unreasonably +withheld. + +10.2 Termination + +Nokia may terminate the Agreement at any time immediately upon written +notice by Nokia to Licensee if Licensee breaches this Agreement. + +Upon termination of this Agreement, Licensee shall return to Nokia all +copies of Licensed Software that were supplied by Nokia. All other +copies of Licensed Software in the possession or control of Licensee +must be erased or destroyed. An officer of Licensee must promptly +deliver to Nokia a written confirmation that this has occurred. + +10.3 Surviving Sections + +Any terms and conditions that by their nature or otherwise reasonably +should survive a cancellation or termination of this Agreement shall +also be deemed to survive. Such terms and conditions include, but are +not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, +10.4, 10.5, 10.6, 10.7, and 10.8 of this Agreement. + +10.4 Entire Agreement + +This Agreement constitutes the complete agreement between the parties +and supersedes all prior or contemporaneous discussions, +representations, and proposals, written or oral, with respect to the +subject matters discussed herein, with the exception of the +non-disclosure agreement executed by the parties in connection with +this Agreement ("Non-Disclosure Agreement"), if any, shall be subject +to Section 8. No modification of this Agreement shall be effective +unless contained in a writing executed by an authorized representative +of each party. No term or condition contained in Licensee's purchase +order shall apply unless expressly accepted by Nokia in writing. If +any provision of the Agreement is found void or unenforceable, the +remainder shall remain valid and enforceable according to its +terms. If any remedy provided is determined to have failed for its +essential purpose, all limitations of liability and exclusions of +damages set forth in this Agreement shall remain in effect. + +10.5 Export Control + +Licensee acknowledges that the Licensed Software may be subject to +export control restrictions of various countries. Licensee shall fully +comply with all applicable export license restrictions and +requirements as well as with all laws and regulations relating to the +importation of the Licensed Software and shall procure all necessary +governmental authorizations, including without limitation, all +necessary licenses, approvals, permissions or consents, where +necessary for the re-exportation of the Licensed Software., + +10.6 Governing Law and Legal Venue + +This Agreement shall be construed and interpreted in accordance with +the laws of Finland, excluding its choice of law provisions. Any +disputes arising out of or relating to this Agreement shall be +resolved in arbitration under the Rules of Arbitration of the Chamber +of Commerce of Helsinki, Finland. The arbitration tribunal shall +consist of one (1), or if either Party so requires, of three (3), +arbitrators. The award shall be final and binding and enforceable in +any court of competent jurisdiction. The arbitration shall be held in +Helsinki, Finland and the process shall be conducted in the English +language. + +10.7 No Implied License + +There are no implied licenses or other implied rights granted under +this Agreement, and all rights, save for those expressly granted +hereunder, shall remain with Nokia and its licensors. In addition, no +licenses or immunities are granted to the combination of the Licensed +Software with any other software or hardware not delivered by Nokia +under this Agreement. + +10.8 Government End Users + +A "U.S. Government End User" shall mean any agency or entity of the +government of the United States. The following shall apply if Licensee +is a U.S. Government End User. The Licensed Software is a "commercial +item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), +consisting of "commercial computer software" and "commercial computer +software documentation," as such terms are used in 48 C.F.R. 12.212 +(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 +C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government +End Users acquire the Licensed Software with only those rights set +forth herein. The Licensed Software (including related documentation) +is provided to U.S. Government End Users: (a) only as a commercial +end item; and (b) only pursuant to this Agreement. + + + + diff --git a/bin/findtr b/bin/findtr new file mode 100755 index 0000000..7df3325 --- /dev/null +++ b/bin/findtr @@ -0,0 +1,189 @@ +#!/usr/bin/perl -w +# vi:wrap: + +# See Qt I18N documentation for usage information. + +use POSIX qw(strftime); + +$projectid='PROJECT VERSION'; +$datetime = strftime "%Y-%m-%d %X %Z", localtime; +$charset='iso-8859-1'; +$translator='FULLNAME '; +$revision_date='YYYY-MM-DD'; + +$real_mark = "tr"; +$noop_mark = "QT_TR_NOOP"; +$scoped_mark = "qApp->translate"; +$noop_scoped_mark = "QT_TRANSLATE_NOOP"; + +$header= +'# This is a Qt message file in .po format. Each msgid starts with +# a scope. This scope should *NOT* be translated - eg. translating +# from French to English, "Foo::Bar" would be translated to "Pub", +# not "Foo::Pub". +msgid "" +msgstr "" +"Project-Id-Version: '.$projectid.'\n" +"POT-Creation-Date: '.$datetime.'\n" +"PO-Revision-Date: '.$revision_date.'\n" +"Last-Translator: '.$translator.'\n" +"Content-Type: text/plain; charset='.$charset.'\n" + +'; + + + + +$scope = ""; + +if ( $#ARGV < 0 ) { + print STDERR "Usage: findtr sourcefile ... >project.po\n"; + exit 1; +} + + +sub outmsg { + my ($file, $line, $scope, $msgid) = @_; + # unesc + $msgid =~ s/$esc:$esc:$esc/::/gs; + $msgid =~ s|$esc/$esc/$esc|//|gs; + + # Remove blank lines + $msgid =~ s/\n\n+/\n/gs; + $msgid = "\"\"\n$msgid" if $msgid =~ /\n/s; + print "#: $file:$line\n"; + $msgid =~ s/^"//; #"emacs bug + print "msgid \"${scope}::$msgid\n"; + #print "msgstr \"$msgid\n"; + print "msgstr \"\"\n"; + print "\n"; +} + +sub justlines { + my $l = @_; + $l =~ tr|\n||dc; + return $l; +} + +print $header; + + +foreach $file ( @ARGV ) { + next unless open( I, "< $file" ); + + $source = join( "", ); + + # Find esc. Avoid bad case 1/// -> 1/1/1/1 -> ///1 + $esc = 1; + while ( $source =~ m!(?:$esc/$esc/$esc)|(?:$esc///) + |(?:$esc:$esc:$esc)|(?:$esc:\:\:)! ) { + $esc++; + } + + # Hide quoted :: in practically all strings + $source =~ s/\"([^"\n]*)::([^"\n]*)\"/\"$1$esc:$esc:$esc$2\"/g; + + # Hide quoted // in practically all strings + $source =~ s|\"([^"\n]*)//([^"\n]*)\"|\"$1$esc/$esc/$esc$2\"|g; + + + # strip comments -- does not handle "/*" in strings + while( $source =~ s|/\*(.*?)\*/|justlines($1)|ges ) { } + while( $source =~ s|//(.*?)\n|\n|g ) { } + + while( $source =~ / + (?: + # Some doublequotes are "escaped" to help vim syntax highlight + + # $1 = scope; $2 = parameters etc. + (?: + # Scoped function name ($1 is scope). + (\w+)::(?:\w+) + \s* + # Parameters etc up to open-curly - no semicolons + \(([^();]*)\) + \s* + (?:\{|:) + ) + | + # $3 - one-argument msgid + (?:\b + # One of the marks + (?:$real_mark|$noop_mark) + \s* + # The parameter + \(\s*((?:"(?:[^"]|[^\\]\\")*"\s*)+)\) + ) + | + # $4,$5 - two-argument msgid + (?:\b + # One of the scoped marks + (?:$scoped_mark|$noop_scoped_mark) + \s* + # The parameters + \( + # The scope parameter + \s*"([^\"]*)" + \s*,\s* + # The msgid parameter + \s*((?:\"(?:[^"]|[^\\]\\")*"\s*)+) #"emacs + \) + ) + | + # $6,$7 - scoped one-argument msgid + (?:\b + # The scope + (\w+):: + # One of the marks + (?:$real_mark) + \s* + # The parameter + \(\s*((?:"(?:[^"]|[^\\]\\")*"\s*)+)\) + ) + )/gsx ) + { + @lines = split /^/m, "$`"; + $line = @lines; + if ( defined( $1 ) ) { + if ( $scope ne $1 ) { + $sc=$1; + $etc=$2; + # remove strings + $etc =~ s/"(?:[^"]|[^\\]\\")"//g; + # count ( and ) + @open = split /\(/m, $etc; + @close = split /\)/m, $etc; + if ( $#open == $#close ) { + $scope = $sc; + } + } + next; + } + + if ( defined( $3 ) ) { + $this_scope = $scope; + $msgid = $3; + } elsif ( defined( $4 ) ) { + $this_scope = $4; + $msgid = $5; + } elsif ( defined( $6 ) ) { + $this_scope = $6; + $msgid = $7; + } else { + next; + } + + $msgid =~ s/^\s*//; + $msgid =~ s/\s*$//; + + # Might still be non-unique eg. tr("A" "B") vs. tr("A" "B"). + + $location{"${this_scope}::${msgid}"} = "$file:$line"; + } +} + +for $scoped_msgid ( sort keys %location ) { + ($scope,$msgid) = $scoped_msgid =~ m/([^:]*)::(.*)/s; + ($file,$line) = $location{$scoped_msgid} =~ m/([^:]*):(.*)/s; + outmsg($file,$line,$scope,$msgid); +} diff --git a/bin/setcepaths.bat b/bin/setcepaths.bat new file mode 100755 index 0000000..5e04526 --- /dev/null +++ b/bin/setcepaths.bat @@ -0,0 +1,113 @@ +@echo off +IF "%1" EQU "wincewm50pocket-msvc2005" ( +checksdk.exe -sdk "Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 5.01 for Pocket PC selected, environment is set up +) ELSE IF "%1" EQU "wincewm50smart-msvc2005" ( +checksdk.exe -sdk "Windows Mobile 5.0 Smartphone SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 5.01 for Smartphone for arm selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-x86-msvc2005" ( +checksdk.exe -sdk "STANDARDSDK_500 (x86)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-armv4i-msvc2005" ( +checksdk.exe -sdk "STANDARDSDK_500 (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for arm selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-mipsii-msvc2005" ( +checksdk.exe -sdk "STANDARDSDK_500 (MIPSII)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for mips-ii selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-mipsiv-msvc2005" ( +checksdk.exe -sdk "STANDARDSDK_500 (MIPSIV)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for mips-iv selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-sh4-msvc2005" ( +checksdk.exe -sdk "STANDARDSDK_500 (SH4)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for sh4 selected, environment is set up +) ELSE IF "%1" EQU "wincewm60professional-msvc2005" ( +checksdk.exe -sdk "Windows Mobile 6 Professional SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 6 Professional selected, environment is set up +) ELSE IF "%1" EQU "wincewm60standard-msvc2005" ( +checksdk.exe -sdk "Windows Mobile 6 Standard SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 6 Standard selected, environment is set up +) ELSE IF "%1" EQU "wincewm50pocket-msvc2008" ( +checksdk.exe -sdk "Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 5.01 for Pocket PC selected, environment is set up +) ELSE IF "%1" EQU "wincewm50smart-msvc2008" ( +checksdk.exe -sdk "Windows Mobile 5.0 Smartphone SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 5.01 for Smartphone for arm selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-x86-msvc2008" ( +checksdk.exe -sdk "STANDARDSDK_500 (x86)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-armv4i-msvc2008" ( +checksdk.exe -sdk "STANDARDSDK_500 (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for arm selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-mipsii-msvc2008" ( +checksdk.exe -sdk "STANDARDSDK_500 (MIPSII)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for mips-ii selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-mipsiv-msvc2008" ( +checksdk.exe -sdk "STANDARDSDK_500 (MIPSIV)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for mips-iv selected, environment is set up +) ELSE IF "%1" EQU "wince50standard-sh4-msvc2008" ( +checksdk.exe -sdk "STANDARDSDK_500 (SH4)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Standard SDK for sh4 selected, environment is set up +) ELSE IF "%1" EQU "wincewm60professional-msvc2008" ( +checksdk.exe -sdk "Windows Mobile 6 Professional SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 6 Professional selected, environment is set up +) ELSE IF "%1" EQU "wincewm60standard-msvc2008" ( +checksdk.exe -sdk "Windows Mobile 6 Standard SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL +tmp_created_script_setup.bat +del tmp_created_script_setup.bat +echo Windows Mobile 6 Standard selected, environment is set up +) ELSE ( +echo no SDK to build Windows CE selected +echo. +echo Current choices are: +echo wincewm50pocket-msvc2005 - SDK for Windows Mobile 5.01 PocketPC +echo wincewm50smart-msvc2005 - SDK for Windows Mobile 5.01 Smartphone +echo wince50standard-x86-msvc2005 - Build for the WinCE standard SDK 5.0 +echo with x86 platform preset +echo wince50standard-armv4i-msvc2005 - Build for the WinCE standard SDK 5.0 +echo with armv4i platform preset +echo wince50standard-mipsiv-msvc2005 - Build for the WinCE standard SDK 5.0 +echo with mips platform preset +echo wince50standard-sh4-msvc2005 - Build for the WinCE standard SDK 5.0 +echo with sh4 platform preset +echo wincewm60professional-msvc2005 - SDK for Windows Mobile 6 professional +echo wincewm60standard-msvc2005 - SDK for Windows Mobile 6 Standard +echo and the corresponding versions for msvc2008. +echo. +) + + + diff --git a/bin/snapshot b/bin/snapshot new file mode 100644 index 0000000..8cf3be2 --- /dev/null +++ b/bin/snapshot @@ -0,0 +1,333 @@ +#!/usr/bin/perl -w +###################################################################### +# +# +###################################################################### + +# use packages ------------------------------------------------------- +use File::Basename; +use File::Path; +use Cwd; +use Config; +use strict; + +my $targetPath = ""; +my $qtdir = $ENV{"QTDIR"}; + +my @files = ( + "3rdparty/easing/easing.cpp", + "corelib/tools/qeasingcurve.h", + "corelib/tools/qeasingcurve.cpp", + "corelib/animation/animation.pri", + "corelib/animation/qabstractanimation.cpp", + "corelib/animation/qabstractanimation.h", + "corelib/animation/qabstractanimation_p.h", + "corelib/animation/qvariantanimation.cpp", + "corelib/animation/qvariantanimation.h", + "corelib/animation/qanimationgroup.cpp", + "corelib/animation/qvariantanimation_p.h", + "corelib/animation/qanimationgroup.h", + "corelib/animation/qanimationgroup_p.h", + "corelib/animation/qparallelanimationgroup.cpp", + "corelib/animation/qparallelanimationgroup.h", + "corelib/animation/qparallelanimationgroup_p.h", + "corelib/animation/qpauseanimation.cpp", + "corelib/animation/qpauseanimation.h", + "corelib/animation/qpropertyanimation.cpp", + "corelib/animation/qpropertyanimation.h", + "corelib/animation/qpropertyanimation_p.h", + "corelib/animation/qsequentialanimationgroup.cpp", + "corelib/animation/qsequentialanimationgroup.h", + "corelib/animation/qsequentialanimationgroup_p.h", + "corelib/statemachine/statemachine.pri", + "corelib/statemachine/qabstractstate.cpp", + "corelib/statemachine/qabstractstate.h", + "corelib/statemachine/qabstractstate_p.h", + "corelib/statemachine/qabstracttransition.cpp", + "corelib/statemachine/qabstracttransition.h", + "corelib/statemachine/qabstracttransition_p.h", + "corelib/statemachine/qactionstate.h", + "corelib/statemachine/qactionstate_p.h", + "corelib/statemachine/qactionstate.cpp", + "corelib/statemachine/qanimationstate.cpp", + "corelib/statemachine/qanimationstate.h", + "corelib/statemachine/qboundevent_p.h", + "corelib/statemachine/qeventtransition.cpp", + "corelib/statemachine/qeventtransition.h", + "corelib/statemachine/qeventtransition_p.h", + "corelib/statemachine/qfinalstate.cpp", + "corelib/statemachine/qfinalstate.h", + "corelib/statemachine/qhistorystate.cpp", + "corelib/statemachine/qhistorystate.h", + "corelib/statemachine/qhistorystate_p.h", + "corelib/statemachine/qsignalevent.h", + "corelib/statemachine/qsignaleventgenerator_p.h", + "corelib/statemachine/qsignaltransition.cpp", + "corelib/statemachine/qsignaltransition.h", + "corelib/statemachine/qsignaltransition_p.h", + "corelib/statemachine/qstate.cpp", + "corelib/statemachine/qstate.h", + "corelib/statemachine/qstateaction.cpp", + "corelib/statemachine/qstateaction.h", + "corelib/statemachine/qstateaction_p.h", + "corelib/statemachine/qstatefinishedevent.h", + "corelib/statemachine/qstatefinishedtransition.cpp", + "corelib/statemachine/qstatefinishedtransition.h", + "corelib/statemachine/qstatemachine.cpp", + "corelib/statemachine/qstatemachine.h", + "corelib/statemachine/qstatemachine_p.h", + "corelib/statemachine/qstate_p.h", + "corelib/statemachine/qtransition.cpp", + "corelib/statemachine/qtransition.h", + "corelib/statemachine/qtransition_p.h", + "gui/statemachine/qkeyeventtransition.h", + "gui/statemachine/qkeyeventtransition.cpp", + "gui/statemachine/qbasickeyeventtransition.cpp", + "gui/statemachine/qbasickeyeventtransition_p.h", + "gui/statemachine/qbasicmouseeventtransition.cpp", + "gui/statemachine/qbasicmouseeventtransition_p.h", + "gui/statemachine/qguistatemachine.cpp", + "gui/statemachine/qkeyeventtransition.cpp", + "gui/statemachine/qkeyeventtransition.h", + "gui/statemachine/qmouseeventtransition.cpp", + "gui/statemachine/qmouseeventtransition.h", + "gui/statemachine/statemachine.pri", # needs special handling + ); + + +while ( @ARGV ) { + my $arg = shift @ARGV; + if ("$arg" eq "-to") { + $targetPath = shift @ARGV; + } +} + +if ($targetPath eq "") { + die("missing -to option"); +} + +my $projectXML = "$targetPath\\files.xml"; +open(OXML, "> " . $projectXML) || die "Could not open $projectXML for writing (no write permission?)"; + +print "COPYING SOURCES...\n"; +foreach my $files(@files) { + copyFile("$qtdir/src/$files","$targetPath/src"); +} +copyFile("$qtdir/doc/src/animation.qdoc","$targetPath/doc"); +copyFile("$qtdir/doc/src/statemachine.qdoc","$targetPath/doc"); +copyFile("$qtdir/src/3rdparty/easing/legal.qdoc","$targetPath/doc"); + +copyFile("$qtdir/doc/src/snippets/code/src_corelib_tools_qeasingcurve.cpp","$targetPath/doc/src/snippets/code"); + + +my %animation_examples = ( + easing => [ "easing.pro", + "main.cpp", + "window.cpp", + "window.h", + "animation.h", + "form.ui", + "images/qt-logo.png", + "resources.qrc"], + moveblocks => [ "moveblocks.pro", + "main.cpp" ], + animatedtiles => [ "animatedtiles.pro", + "animatedtiles.qrc", + "main.cpp", + "images/*"], + "sub-attaq" => ["sub-attaq.pro", + "animationmanager.cpp", + "animationmanager.h", + "boat.cpp", + "boat_p.h", + "boat.h", + "bomb.cpp", + "bomb.h", + "custompropertyanimation.h", + "custompropertyanimation_p.h", + "custompropertyanimation.cpp", + "graphicsscene.cpp", + "graphicsscene.h", + "main.cpp", + "mainwindow.cpp", + "mainwindow.h", + "pics/scalable/*", + "pics/big/*", + "pics/small/*", + "pics/welcome/*", + "pixmapitem.cpp", + "pixmapitem.h", + "subattaq.qrc", + "submarine.cpp", + "submarine.h", + "submarine_p.h", + "states.cpp", + "states.h", + "torpedo.cpp", + "torpedo.h"], + "stickman" => ["stickman.pro", + "main.cpp", + "animation.cpp", + "animation.h", + "graphicsview.cpp", + "graphicsview.h", + "lifecycle.cpp", + "lifecycle.h", + "node.cpp", + "node.h", + "stickman.cpp", + "stickman.h", + "animations/chilling", + "animations/dancing", + "animations/dead", + "animations/jumping"] + ); + +my $exDir; +print "COPYING EXAMPLES...\n"; +for $exDir ( keys %animation_examples ) { + print " $exDir...\n"; + my $i = 0; + for $i ( 0 .. $#{ $animation_examples{$exDir} } ) { + my $ex_file = $animation_examples{$exDir}[$i]; + + my $copyTargetPath; + my $glob = 0; + if (index($ex_file,"/") > 0) { + my($basefile, $fullPath) = fileparse("$targetPath/examples/$exDir/$ex_file"); + if ($basefile eq "*") { + $glob = 1; + } + mkpath "$fullPath", 0777 unless(-e "$fullPath"); + $copyTargetPath = "$fullPath"; + } else { + $copyTargetPath = "$targetPath/examples/$exDir"; + } + my $lastCh = substr($copyTargetPath, length($copyTargetPath) - 1, 1); + if ($lastCh eq "/" || $lastCh eq "\\") { + chop($copyTargetPath); + } + + if ($glob eq 1) { + my @globFiles = < $qtdir/examples/animation/$exDir/$ex_file >; + foreach my $globFile(@globFiles) { + copyFile("$globFile", "$copyTargetPath"); + } + } else { + copyFile("$qtdir/examples/animation/$exDir/$ex_file", "$copyTargetPath"); + } + } +} + +close OXML; +print("Finished!"); +###################################################################### +# Syntax: copyFile(gitfile, destinationPath) +# Params: gitfile, string, filename to create duplicate for +# destinationPath, string, destination name of duplicate +# +# Purpose: Copies to the solutions area. +# Returns: -- +# Warning: Dies if script cannot get write access. +###################################################################### +sub copyFile +{ + my ($gitfile, $destinationPath) = @_; + # Bi-directional synchronization + open( I, "< " . $gitfile ) || die "Could not open $gitfile for reading"; + local $/; + binmode I; + my $filecontents = ; + my ($baseFileName, $path, $ext) = fileparse($gitfile, qr/\.[^.]*/); + if ($ext eq ".h" or $ext eq ".cpp" or $ext eq ".qdoc") { + # both public and private classes + $filecontents =~s/QAbstractAnimation/QtAbstractAnimation/g; + $filecontents =~s/QAnimationGroup/QtAnimationGroup/g; + $filecontents =~s/QParallelAnimationGroup/QtParallelAnimationGroup/g; + $filecontents =~s/QSequentialAnimationGroup/QtSequentialAnimationGroup/g; + $filecontents =~s/QEasingCurve/QtEasingCurve/g; + $filecontents =~s/QVariantAnimation/QtVariantAnimation/g; + $filecontents =~s/QPropertyAnimation/QtPropertyAnimation/g; + $filecontents =~s/QItemAnimation/QtItemAnimation/g; + $filecontents =~s/QPauseAnimation/QtPauseAnimation/g; + $filecontents =~s/QAbstractState/QtAbstractState/g; + $filecontents =~s/QAbstractStateGroup/QtAbstractStateGroup/g; + $filecontents =~s/QAbstractTransition/QtAbstractTransition/g; + $filecontents =~s/QActionState/QtActionState/g; + $filecontents =~s/QAnimationState/QtAnimationState/g; + $filecontents =~s/QEventTransition/QtEventTransition/g; + $filecontents =~s/QFinalState/QtFinalState/g; + $filecontents =~s/QHistoryState/QtHistoryState/g; + $filecontents =~s/QParallelStateGroup/QtParallelStateGroup/g; + $filecontents =~s/QSignalEvent/QtSignalEvent/g; + $filecontents =~s/QSignalTransition/QtSignalTransition/g; + $filecontents =~s/QState/QtState/g; + $filecontents =~s/QStateAction/QtStateAction/g; + $filecontents =~s/QStateSetPropertyAction/QtStateSetPropertyAction/g; + $filecontents =~s/QStateInvokeMethodAction/QtStateInvokeMethodAction/g; + $filecontents =~s/QStateFinishedEvent/QtStateFinishedEvent/g; + $filecontents =~s/QStateFinishedTransition/QtStateFinishedTransition/g; + $filecontents =~s/QStateMachine/QtStateMachine/g; + $filecontents =~s/QTransition/QtTransition/g; + $filecontents =~s/QMouseEventTransition/QtMouseEventTransition/g; + $filecontents =~s/QKeyEventTransition/QtKeyEventTransition/g; + $filecontents =~s/QGraphicsWidget/QtGraphicsWidget/g; + $filecontents =~s/Q_CORE_EXPORT/Q_ANIMATION_EXPORT/g; + $filecontents =~s/Q_GUI_EXPORT/Q_ANIMATION_EXPORT/g; + $filecontents =~s/QBoundEvent/QtBoundEvent/g; + + $filecontents =~s/class Q_GUI_EXPORT/class/g; + $filecontents =~s/class Q_AUTOTEST_EXPORT/class/g; + + $filecontents =~s/(#\s*include\s+["])q/${1}qt/g; + + # moc stuff + $filecontents =~s/(#\s*include\s+["])moc_q/${1}moc_qt/g; + + $filecontents =~s/\\since 4\.[0-9]//g; + $filecontents =~s/\\ingroup [a-z]+//g; + + if (substr($filecontents, 0, 10) eq "/*********") { + my $endOfComment = index($filecontents, "*/"); + $filecontents = substr($filecontents, $endOfComment + 2); + } + } + if ($ext eq ".pri" ) { + $filecontents =~s/\$\$PWD\/q/\$\$PWD\/qt/g; + $filecontents =~s/animation\/q/\$\$PWD\/qt/g; + + # oooh such a hack this is + if ($baseFileName eq "statemachine") { + if (index($gitfile, "corelib/statemachine") >= 0) { + $baseFileName = "corelib_statemachine"; + } + if (index($gitfile, "gui/statemachine") >= 0) { + $baseFileName = "gui_statemachine"; + } + + } + + } + + if ($ext eq ".pro") { + $filecontents = "$filecontents\ninclude(../../src/qtanimationframework.pri)\n"; + } + close I; + + mkpath $destinationPath, 0777 unless(-e "$destinationPath"); + + if ($ext eq ".h" or $ext eq ".cpp" or $ext eq ".qdoc") { + $baseFileName =~s/^q/qt/g; + } + my $targetFile = "$destinationPath/$baseFileName$ext"; + open(O, "> " . $targetFile) || die "Could not open $targetFile for writing (no write permission?)"; + local $/; + binmode O; + print O $filecontents; + close O; + + my $xmlEntry = substr($targetFile, length($targetPath) + 1); + print "$xmlEntry\n"; + print OXML "$xmlEntry\n"; +} + diff --git a/bin/syncqt b/bin/syncqt new file mode 100755 index 0000000..5ac8933 --- /dev/null +++ b/bin/syncqt @@ -0,0 +1,1051 @@ +#!/usr/bin/perl -w +###################################################################### +# +# Synchronizes Qt header files - internal Trolltech tool. +# +# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Contact: Qt Software Information (qt-info@nokia.com) +# +###################################################################### + +# use packages ------------------------------------------------------- +use File::Basename; +use File::Path; +use Cwd; +use Config; +use strict; + +die "syncqt: QTDIR not defined" if ! $ENV{"QTDIR"}; # sanity check + +# global variables +my $isunix = 0; +my $basedir = $ENV{"QTDIR"}; +$basedir =~ s=\\=/=g; +my %modules = ( # path to module name map + "QtGui" => "$basedir/src/gui", + "QtAnimation" => "$basedir/src/animation", + "QtOpenGL" => "$basedir/src/opengl", + "QtCore" => "$basedir/src/corelib", + "QtXml" => "$basedir/src/xml", + "QtXmlPatterns" => "$basedir/src/xmlpatterns", + "QtSql" => "$basedir/src/sql", + "QtNetwork" => "$basedir/src/network", + "QtSvg" => "$basedir/src/svg", + "QtScript" => "$basedir/src/script", + "QtScriptTools" => "$basedir/src/scripttools", + "Qt3Support" => "$basedir/src/qt3support", + "ActiveQt" => "$basedir/src/activeqt/container;$basedir/src/activeqt/control;$basedir/src/activeqt/shared", + "QtTest" => "$basedir/src/testlib", + "QtAssistant" => "$basedir/tools/assistant/compat/lib", + "QtHelp" => "$basedir/tools/assistant/lib", + "QtDesigner" => "$basedir/tools/designer/src/lib", + "QtUiTools" => "$basedir/tools/designer/src/uitools", + "QtDBus" => "$basedir/src/dbus", + "QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore", + "phonon" => "$basedir/src/phonon", +); +my %moduleheaders = ( # restrict the module headers to those found in relative path + "QtWebKit" => "../WebKit/qt/Api", + "phonon" => "../3rdparty/phonon/phonon", +); + +#$modules{"QtCore"} .= ";$basedir/mkspecs/" . $ENV{"MKSPEC"} if defined $ENV{"MKSPEC"}; + +# global variables (modified by options) +my $module = 0; +my $showonly = 0; +my $remove_stale = 1; +my $force_win = 0; +my $force_relative = 0; +my $check_includes = 0; +my $copy_headers = 0; +my @modules_to_sync ; +$force_relative = 1 if ( -d "/System/Library/Frameworks" ); +my $out_basedir = $basedir; +$out_basedir =~ s=\\=/=g; + +# functions ---------------------------------------------------------- + +###################################################################### +# Syntax: showUsage() +# Params: -none- +# +# Purpose: Show the usage of the script. +# Returns: -none- +###################################################################### +sub showUsage +{ + print "$0 usage:\n"; + print " -copy Copy headers instead of include-fwd(default: " . ($copy_headers ? "yes" : "no") . ")\n"; + print " -remove-stale Removes stale headers (default: " . ($remove_stale ? "yes" : "no") . ")\n"; + print " -relative Force relative symlinks (default: " . ($force_relative ? "yes" : "no") . ")\n"; + print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n"; + print " -showonly Show action but not perform (default: " . ($showonly ? "yes" : "no") . ")\n"; + print " -outdir Specify output directory for sync (default: $out_basedir)\n"; + print " -help This help\n"; + exit 0; +} + +###################################################################### +# Syntax: checkUnix() +# Params: -none- +# +# Purpose: Check if script runs on a Unix system or not. Cygwin +# systems are _not_ detected as Unix systems. +# Returns: 1 if a unix system, else 0. +###################################################################### +sub checkUnix { + my ($r) = 0; + if ( $force_win != 0) { + return 0; + } elsif ( -f "/bin/uname" ) { + $r = 1; + (-f "\\bin\\uname") && ($r = 0); + } elsif ( -f "/usr/bin/uname" ) { + $r = 1; + (-f "\\usr\\bin\\uname") && ($r = 0); + } + if($r) { + $_ = $Config{'osname'}; + $r = 0 if( /(ms)|(cyg)win/i ); + } + return $r; +} + +sub checkRelative { + my ($dir) = @_; + return 0 if($dir =~ /^\//); + return 0 if(!checkUnix() && $dir =~ /[a-zA-Z]:[\/\\]/); + return 1; +} + +###################################################################### +# Syntax: shouldMasterInclude(iheader) +# Params: iheader, string, filename to verify inclusion +# +# Purpose: Determines if header should be in the master include file. +# Returns: 0 if file contains "#pragma qt_no_master_include" or not +# able to open, else 1. +###################################################################### +sub shouldMasterInclude { + my ($iheader) = @_; + return 0 if(basename($iheader) =~ /_/); + return 0 if(basename($iheader) =~ /qconfig/); + if(open(F, "<$iheader")) { + while() { + chomp; + return 0 if(/^\#pragma qt_no_master_include$/); + } + close(F); + } else { + return 0; + } + return 1; +} + +###################################################################### +# Syntax: classNames(iheader) +# Params: iheader, string, filename to parse for classname "symlinks" +# +# Purpose: Scans through iheader to find all classnames that should be +# synced into library's include structure. +# Returns: List of all class names in a file. +###################################################################### +sub classNames { + my @ret; + my ($iheader) = @_; + if(basename($iheader) eq "qglobal.h") { + push @ret, "QtGlobal"; + } elsif(basename($iheader) eq "qendian.h") { + push @ret, "QtEndian"; + } elsif(basename($iheader) eq "qconfig.h") { + push @ret, "QtConfig"; + } elsif(basename($iheader) eq "qplugin.h") { + push @ret, "QtPlugin"; + } elsif(basename($iheader) eq "qalgorithms.h") { + push @ret, "QtAlgorithms"; + } elsif(basename($iheader) eq "qcontainerfwd.h") { + push @ret, "QtContainerFwd"; + } elsif(basename($iheader) eq "qdebug.h") { + push @ret, "QtDebug"; + } elsif(basename($iheader) eq "qevent.h") { + push @ret, "QtEvents"; + } elsif(basename($iheader) eq "qnamespace.h") { + push @ret, "Qt" + } elsif(basename($iheader) eq "qssl.h") { + push @ret, "QSsl"; + } elsif(basename($iheader) eq "qtest.h") { + push @ret, "QTest" + } elsif(basename($iheader) eq "qtconcurrentmap.h") { + push @ret, "QtConcurrentMap" + } elsif(basename($iheader) eq "qtconcurrentfilter.h") { + push @ret, "QtConcurrentFilter" + } elsif(basename($iheader) eq "qtconcurrentrun.h") { + push @ret, "QtConcurrentRun" + } + + my $parsable = ""; + if(open(F, "<$iheader")) { + while() { + my $line = $_; + chomp $line; + chop $line if ($line =~ /\r$/); + if($line =~ /^\#/) { + if($line =~ /\\$/) { + while($line = ) { + chomp $line; + last unless($line =~ /\\$/); + } + } + return @ret if($line =~ m/^#pragma qt_sync_stop_processing/); + push(@ret, "$1") if($line =~ m/^#pragma qt_class\(([^)]*)\)[\r\n]*$/); + $line = 0; + } + if($line) { + $line =~ s,//.*$,,; #remove c++ comments + $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro + $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro + $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro + $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro + $parsable .= " " . $line; + } + } + close(F); + } + + my $last_definition = 0; + my @namespaces; + for(my $i = 0; $i < length($parsable); $i++) { + my $definition = 0; + my $character = substr($parsable, $i, 1); + if($character eq "/" && substr($parsable, $i+1, 1) eq "*") { #I parse like this for greedy reasons + for($i+=2; $i < length($parsable); $i++) { + my $end = substr($parsable, $i, 2); + if($end eq "*/") { + $last_definition = $i+2; + $i++; + last; + } + } + } elsif($character eq "{") { + my $brace_depth = 1; + my $block_start = $i + 1; + BLOCK: for($i+=1; $i < length($parsable); $i++) { + my $ignore = substr($parsable, $i, 1); + if($ignore eq "{") { + $brace_depth++; + } elsif($ignore eq "}") { + $brace_depth--; + unless($brace_depth) { + for(my $i2 = $i+1; $i2 < length($parsable); $i2++) { + my $end = substr($parsable, $i2, 1); + if($end eq ";" || $end ne " ") { + $definition = substr($parsable, $last_definition, $block_start - $last_definition) . "}"; + $i = $i2 if($end eq ";"); + $last_definition = $i + 1; + last BLOCK; + } + } + } + } + } + } elsif($character eq ";") { + $definition = substr($parsable, $last_definition, $i - $last_definition + 1); + $last_definition = $i + 1; + } elsif($character eq "}") { + # a naked } must be a namespace ending + # if it's not a namespace, it's eaten by the loop above + pop @namespaces; + $last_definition = $i + 1; + } + + if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) / + && substr($parsable, $i+1, 1) eq "{") { + push @namespaces, $1; + + # Eat the opening { so that the condensing loop above doesn't see it + $i++; + $last_definition = $i + 1; + } + + if($definition) { + $definition =~ s=[\n\r]==g; + my @symbols; + if($definition =~ m/^ *typedef *.*\(\*([^\)]*)\)\(.*\);$/) { + push @symbols, $1; + } elsif($definition =~ m/^ *typedef +(.*) +([^ ]*);$/) { + push @symbols, $2; + } elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ ]* +)?([^<\s]+) ?(<[^>]*> ?)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/) { + push @symbols, $4; + } elsif($definition =~ m/^ *Q_DECLARE_.*ITERATOR\((.*)\);$/) { + push @symbols, "Q" . $1 . "Iterator"; + push @symbols, "QMutable" . $1 . "Iterator"; + } + + foreach (@symbols) { + my $symbol = $_; + $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces); + push @ret, $symbol + if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q + || $symbol =~ /^Phonon::/); # or in the Phonon namespace + } + } + } + return @ret; +} + +###################################################################### +# Syntax: syncHeader(header, iheader, copy) +# Params: header, string, filename to create "symlink" for +# iheader, string, destination name of symlink +# copy, forces header to be a copy of iheader +# +# Purpose: Syncronizes header to iheader +# Returns: 1 if successful, else 0. +###################################################################### +sub syncHeader { + my ($header, $iheader, $copy) = @_; + $iheader =~ s=\\=/=g; + $header =~ s=\\=/=g; + return copyFile($iheader, $header) if($copy); + + my $iheader_no_basedir = $iheader; + $iheader_no_basedir =~ s,^$basedir/?,,; + unless(-e "$header") { + my $header_dir = dirname($header); + mkpath $header_dir, 0777; + + #write it + my $iheader_out = fixPaths($iheader, $header_dir); + open HEADER, ">$header" || die "Could not open $header for writing!\n"; + print HEADER "#include \"$iheader_out\"\n"; + close HEADER; + return 1; + } + return 0; +} + +###################################################################### +# Syntax: fixPaths(file, dir) +# Params: file, string, filepath to be made relative to dir +# dir, string, dirpath for point of origin +# +# Purpose: file is made relative (if possible) of dir. +# Returns: String with the above applied conversion. +###################################################################### +sub fixPaths { + my ($file, $dir) = @_; + $dir =~ s=^$basedir/=$out_basedir/= if(!($basedir eq $out_basedir)); + $file =~ s=\\=/=g; + $file =~ s/\+/\\+/g; + $dir =~ s=\\=/=g; + $dir =~ s/\+/\\+/g; + + #setup + my $ret = $file; + my $file_dir = dirname($file); + if($file_dir eq ".") { + $file_dir = getcwd(); + $file_dir =~ s=\\=/=g; + } + $file_dir =~ s,/cygdrive/([a-zA-Z])/,$1:,g; + if($dir eq ".") { + $dir = getcwd(); + $dir =~ s=\\=/=g; + } + $dir =~ s,/cygdrive/([a-zA-Z])/,$1:/,g; + return basename($file) if("$file_dir" eq "$dir"); + + #guts + my $match_dir = 0; + for(my $i = 1; $i < length($file_dir); $i++) { + my $slash = index($file_dir, "/", $i); + last if($slash == -1); + my $tmp = substr($file_dir, 0, $slash); + last unless($dir =~ m,^$tmp/,); + $match_dir = $tmp; + $i = $slash; + } + if($match_dir) { + my $after = substr($dir, length($match_dir)); + my $count = ($after =~ tr,/,,); + my $dots = ""; + for(my $i = 0; $i < $count; $i++) { + $dots .= "../"; + } + $ret =~ s,^$match_dir,$dots,; + } + $ret =~ s,/+,/,g; + return $ret; +} + +###################################################################### +# Syntax: fileContents(filename) +# Params: filename, string, filename of file to return contents +# +# Purpose: Get the contents of a file. +# Returns: String with contents of the file, or empty string if file +# doens't exist. +# Warning: Dies if it does exist but script cannot get read access. +###################################################################### +sub fileContents { + my ($filename) = @_; + my $filecontents = ""; + if (-e $filename) { + open(I, "< $filename") || die "Could not open $filename for reading, read block?"; + local $/; + binmode I; + $filecontents = ; + close I; + } + return $filecontents; +} + +###################################################################### +# Syntax: fileCompare(file1, file2) +# Params: file1, string, filename of first file +# file2, string, filename of second file +# +# Purpose: Determines if files are equal, and which one is newer. +# Returns: 0 if files are equal no matter the timestamp, -1 if file1 +# is newer, 1 if file2 is newer. +###################################################################### +sub fileCompare { + my ($file1, $file2) = @_; + my $file1contents = fileContents($file1); + my $file2contents = fileContents($file2); + if (! -e $file1) { return 1; } + if (! -e $file2) { return -1; } + return $file1contents ne $file2contents ? (stat("$file2"))[9] <=> (stat("$file1"))[9] : 0; +} + +###################################################################### +# Syntax: copyFile(file, ifile) +# Params: file, string, filename to create duplicate for +# ifile, string, destination name of duplicate +# +# Purpose: Keeps files in sync so changes in the newer file will be +# written to the other. +# Returns: 1 if files were synced, else 0. +# Warning: Dies if script cannot get write access. +###################################################################### +sub copyFile +{ + my ($file,$ifile, $copy,$knowdiff,$filecontents,$ifilecontents) = @_; + # Bi-directional synchronization + open( I, "< " . $file ) || die "Could not open $file for reading"; + local $/; + binmode I; + $filecontents = ; + close I; + if ( open(I, "< " . $ifile) ) { + local $/; + binmode I; + $ifilecontents = ; + close I; + $copy = fileCompare($file, $ifile); + $knowdiff = 0, + } else { + $copy = -1; + $knowdiff = 1; + } + + if ( $knowdiff || ($filecontents ne $ifilecontents) ) { + if ( $copy > 0 ) { + my $file_dir = dirname($file); + mkpath $file_dir, 0777 unless(-e "$file_dir"); + open(O, "> " . $file) || die "Could not open $file for writing (no write permission?)"; + local $/; + binmode O; + print O $ifilecontents; + close O; + return 1; + } elsif ( $copy < 0 ) { + my $ifile_dir = dirname($ifile); + mkpath $ifile_dir, 0777 unless(-e "$ifile_dir"); + open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)"; + local $/; + binmode O; + print O $filecontents; + close O; + return 1; + } + } + return 0; +} + +###################################################################### +# Syntax: symlinkFile(file, ifile) +# Params: file, string, filename to create "symlink" for +# ifile, string, destination name of symlink +# +# Purpose: File is symlinked to ifile (or copied if filesystem doesn't +# support symlink). +# Returns: 1 on success, else 0. +###################################################################### +sub symlinkFile +{ + my ($file,$ifile) = @_; + + if ($isunix) { + print "symlink created for $file "; + if ( $force_relative && ($ifile =~ /^$basedir/)) { + my $t = getcwd(); + my $c = -1; + my $p = "../"; + $t =~ s-^$basedir/--; + $p .= "../" while( ($c = index( $t, "/", $c + 1)) != -1 ); + $file =~ s-^$basedir/-$p-; + print " ($file)\n"; + } + print "\n"; + return symlink($file, $ifile); + } + return copyFile($file, $ifile); +} + +###################################################################### +# Syntax: findFiles(dir, match, descend) +# Params: dir, string, directory to search for name +# match, string, regular expression to match in dir +# descend, integer, 0 = non-recursive search +# 1 = recurse search into subdirectories +# +# Purpose: Finds files matching a regular expression. +# Returns: List of matching files. +# +# Examples: +# findFiles("/usr","\.cpp$",1) - finds .cpp files in /usr and below +# findFiles("/tmp","^#",0) - finds #* files in /tmp +###################################################################### +sub findFiles { + my ($dir,$match,$descend) = @_; + my ($file,$p,@files); + local(*D); + $dir =~ s=\\=/=g; + ($dir eq "") && ($dir = "."); + if ( opendir(D,$dir) ) { + if ( $dir eq "." ) { + $dir = ""; + } else { + ($dir =~ /\/$/) || ($dir .= "/"); + } + foreach $file ( readdir(D) ) { + next if ( $file =~ /^\.\.?$/ ); + $p = $file; + ($file =~ /$match/) && (push @files, $p); + if ( $descend && -d $p && ! -l $p ) { + push @files, &findFiles($p,$match,$descend); + } + } + closedir(D); + } + return @files; +} + +# -------------------------------------------------------------------- +# "main" function +# -------------------------------------------------------------------- + +while ( @ARGV ) { + my $var = 0; + my $val = 0; + + #parse + my $arg = shift @ARGV; + if ("$arg" eq "-h" || "$arg" eq "-help" || "$arg" eq "?") { + $var = "show_help"; + $val = "yes"; + } elsif("$arg" eq "-copy") { + $var = "copy"; + $val = "yes"; + } elsif("$arg" eq "-o" || "$arg" eq "-outdir") { + $var = "output"; + $val = shift @ARGV; + } elsif("$arg" eq "-showonly" || "$arg" eq "-remove-stale" || "$arg" eq "-windows" || + "$arg" eq "-relative" || "$arg" eq "-check-includes") { + $var = substr($arg, 1); + $val = "yes"; + } elsif("$arg" =~ /^-no-(.*)$/) { + $var = $1; + $val = "no"; + #these are for commandline compat + } elsif("$arg" eq "-inc") { + $var = "output"; + $val = shift @ARGV; + } elsif("$arg" eq "-module") { + $var = "module"; + $val = shift @ARGV; + } elsif("$arg" eq "-show") { + $var = "showonly"; + $val = "yes"; + } elsif("$arg" eq '*') { + # workaround for windows 9x where "%*" expands to "*" + $var = 1; + } + + #do something + if(!$var || "$var" eq "show_help") { + print "Unknown option: $arg\n\n" if(!$var); + showUsage(); + } elsif ("$var" eq "copy") { + if("$val" eq "yes") { + $copy_headers++; + } elsif($showonly) { + $copy_headers--; + } + } elsif ("$var" eq "showonly") { + if("$val" eq "yes") { + $showonly++; + } elsif($showonly) { + $showonly--; + } + } elsif ("$var" eq "check-includes") { + if("$val" eq "yes") { + $check_includes++; + } elsif($check_includes) { + $check_includes--; + } + } elsif ("$var" eq "remove-stale") { + if("$val" eq "yes") { + $remove_stale++; + } elsif($remove_stale) { + $remove_stale--; + } + } elsif ("$var" eq "windows") { + if("$val" eq "yes") { + $force_win++; + } elsif($force_win) { + $force_win--; + } + } elsif ("$var" eq "relative") { + if("$val" eq "yes") { + $force_relative++; + } elsif($force_relative) { + $force_relative--; + } + } elsif ("$var" eq "module") { + print "module :$val:\n"; + die "No such module: $val" unless(defined $modules{$val}); + push @modules_to_sync, $val; + } elsif ("$var" eq "output") { + my $outdir = $val; + if(checkRelative($outdir)) { + $out_basedir = getcwd(); + chomp $out_basedir; + $out_basedir .= "/" . $outdir; + } else { + $out_basedir = $outdir; + } + # \ -> / + $out_basedir =~ s=\\=/=g; + } +} +@modules_to_sync = keys(%modules) if($#modules_to_sync == -1); + +$isunix = checkUnix; #cache checkUnix + +# create path +mkpath "$out_basedir/include", 0777; + +my @ignore_headers = (); +my $class_lib_map_contents = ""; +my @ignore_for_master_contents = ( "qt.h", "qpaintdevicedefs.h" ); +my @ignore_for_include_check = ( "qatomic.h" ); +my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" ); +my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" ); +my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtAssistant}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" ); + +foreach (@modules_to_sync) { + #iteration info + my $lib = $_; + my $dir = "$modules{$lib}"; + my $pathtoheaders = ""; + $pathtoheaders = "$moduleheaders{$lib}" if ($moduleheaders{$lib}); + + #information used after the syncing + my $pri_install_classes = ""; + my $pri_install_files = ""; + + my $libcapitals = $lib; + $libcapitals =~ y/a-z/A-Z/; + my $master_contents = "#ifndef QT_".$libcapitals."_MODULE_H\n#define QT_".$libcapitals."_MODULE_H\n"; + + #get dependencies + if(-e "$dir/" . basename($dir) . ".pro") { + if(open(F, "<$dir/" . basename($dir) . ".pro")) { + while() { + my $line = $_; + chomp $line; + if($line =~ /^ *QT *\+?= *([^\r\n]*)/) { + foreach(split(/ /, "$1")) { + $master_contents .= "#include \n" if("$_" eq "core"); + $master_contents .= "#include \n" if("$_" eq "gui"); + $master_contents .= "#include \n" if("$_" eq "experimental-animation"); + $master_contents .= "#include \n" if("$_" eq "network"); + $master_contents .= "#include \n" if("$_" eq "svg"); + $master_contents .= "#include \n" if("$_" eq "script"); + $master_contents .= "#include \n" if("$_" eq "scripttools"); + $master_contents .= "#include \n" if("$_" eq "qt3support"); + $master_contents .= "#include \n" if("$_" eq "sql"); + $master_contents .= "#include \n" if("$_" eq "xml"); + $master_contents .= "#include \n" if("$_" eq "xmlpatterns"); + $master_contents .= "#include \n" if("$_" eq "opengl"); + } + } + } + close(F); + } + } + + #remove the old files + if($remove_stale) { + my @subdirs = ("$out_basedir/include/$lib"); + foreach (@subdirs) { + my $subdir = "$_"; + if (opendir DIR, "$subdir") { + while(my $t = readdir(DIR)) { + my $file = "$subdir/$t"; + if(-d "$file") { + push @subdirs, "$file" unless($t eq "." || $t eq ".."); + } else { + my @files = ("$file"); + #push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t"); + foreach (@files) { + my $file = $_; + my $remove_file = 0; + if(open(F, "<$file")) { + while() { + my $line = $_; + chomp $line; + if($line =~ /^\#include \"([^\"]*)\"$/) { + my $include = $1; + $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/"); + $remove_file = 1 unless(-e "$include"); + } else { + $remove_file = 0; + last; + } + } + close(F); + unlink "$file" if($remove_file); + } + } + } + } + closedir DIR; + } + + } + } + + #create the new ones + foreach (split(/;/, $dir)) { + my $current_dir = "$_"; + my $headers_dir = $current_dir; + $headers_dir .= "/$pathtoheaders" if ($pathtoheaders); + #calc subdirs + my @subdirs = ($headers_dir); + foreach (@subdirs) { + my $subdir = "$_"; + opendir DIR, "$subdir" or next; + while(my $t = readdir(DIR)) { + push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") && + !($t eq "..") && !($t eq ".obj") && + !($t eq ".moc") && !($t eq ".rcc") && + !($t eq ".uic") && !($t eq "build")); + } + closedir DIR; + } + + #calc files and "copy" them + foreach (@subdirs) { + my $subdir = "$_"; + my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0); + foreach (@headers) { + my $header = "$_"; + $header = 0 if("$header" =~ /^ui_.*.h/); + foreach (@ignore_headers) { + $header = 0 if("$header" eq "$_"); + } + if($header) { + my $header_copies = 0; + #figure out if it is a public header + my $public_header = $header; + if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) { + $public_header = 0; + } else { + foreach (@ignore_for_master_contents) { + $public_header = 0 if("$header" eq "$_"); + } + } + + my $iheader = $subdir . "/" . $header; + my @classes = $public_header ? classNames($iheader) : (); + if($showonly) { + print "$header [$lib]\n"; + foreach(@classes) { + print "SYMBOL: $_\n"; + } + } else { + #find out all the places it goes.. + my @headers; + if ($public_header) { + @headers = ( "$out_basedir/include/$lib/$header" ); + push @headers, "$out_basedir/include/Qt/$header" + if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/); + + foreach(@classes) { + my $header_base = basename($header); + my $class = $_; + if ($class =~ m/::/) { + $class =~ s,::,/,g; + $class = "../" . $class; + } + $class_lib_map_contents .= "QT_CLASS_LIB($_, $lib, $header_base)\n"; + $header_copies++ if(syncHeader("$out_basedir/include/$lib/$class", $header, 0)); + } + } else { + @headers = ( "$out_basedir/include/$lib/private/$header" ); + push @headers, "$out_basedir/include/Qt/private/$header" + if ("$lib" ne "phonon"); + } + foreach(@headers) { #sync them + $header_copies++ if(syncHeader($_, $iheader, $copy_headers)); + } + + if($public_header) { + #put it into the master file + $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader)); + + #deal with the install directives + if($public_header) { + my $pri_install_iheader = fixPaths($iheader, $current_dir); + foreach(@classes) { + my $class = $_; + if ($class =~ m/::/) { + $class =~ s,::,/,g; + $class = "../" . $class; + } + my $class_header = fixPaths("$out_basedir/include/$lib/$class", + $current_dir) . " "; + $pri_install_classes .= $class_header + unless($pri_install_classes =~ $class_header); + } + $pri_install_files.= "$pri_install_iheader ";; + } + } + } + print "header created for $iheader ($header_copies)\n" if($header_copies > 0); + } + } + } + } + + # close the master include: + $master_contents .= "#endif\n"; + + unless($showonly) { + #generate the "master" include file + my $master_include = "$out_basedir/include/$lib/$lib"; + $pri_install_files .= fixPaths($master_include, "$modules{$lib}") . " "; #get the master file installed too + if(-e "$master_include") { + open MASTERINCLUDE, "<$master_include"; + local $/; + binmode MASTERINCLUDE; + my $oldmaster = ; + close MASTERINCLUDE; + $oldmaster =~ s/\r//g; # remove \r's , so comparison is ok on all platforms + $master_include = 0 if($oldmaster eq $master_contents); + } + if($master_include && $master_contents) { + my $master_dir = dirname($master_include); + mkpath $master_dir, 0777; + print "header (master) created for $lib\n"; + open MASTERINCLUDE, ">$master_include"; + print MASTERINCLUDE "$master_contents"; + close MASTERINCLUDE; + } + + #handle the headers.pri for each module + my $headers_pri_contents = ""; + $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n"; + $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n"; + my $headers_pri_file = "$out_basedir/include/$lib/headers.pri"; + if(-e "$headers_pri_file") { + open HEADERS_PRI_FILE, "<$headers_pri_file"; + local $/; + binmode HEADERS_PRI_FILE; + my $old_headers_pri_contents = ; + close HEADERS_PRI_FILE; + $old_headers_pri_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms + $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents); + } + if($headers_pri_file && $master_contents) { + my $headers_pri_dir = dirname($headers_pri_file); + mkpath $headers_pri_dir, 0777; + print "headers.pri file created for $lib\n"; + open HEADERS_PRI_FILE, ">$headers_pri_file"; + print HEADERS_PRI_FILE "$headers_pri_contents"; + close HEADERS_PRI_FILE; + } + } +} +unless($showonly) { + my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h"; + if(-e "$class_lib_map") { + open CLASS_LIB_MAP, "<$class_lib_map"; + local $/; + binmode CLASS_LIB_MAP; + my $old_class_lib_map_contents = ; + close CLASS_LIB_MAP; + $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms + $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents); + } + if($class_lib_map) { + my $class_lib_map_dir = dirname($class_lib_map); + mkpath $class_lib_map_dir, 0777; + open CLASS_LIB_MAP, ">$class_lib_map"; + print CLASS_LIB_MAP "$class_lib_map_contents"; + close CLASS_LIB_MAP; + } +} + +if($check_includes) { + for (keys(%modules)) { + #iteration info + my $lib = $_; + my $dir = "$modules{$lib}"; + foreach (split(/;/, $dir)) { + my $current_dir = "$_"; + #calc subdirs + my @subdirs = ($current_dir); + foreach (@subdirs) { + my $subdir = "$_"; + opendir DIR, "$subdir"; + while(my $t = readdir(DIR)) { + push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") && + !($t eq "..") && !($t eq ".obj") && + !($t eq ".moc") && !($t eq ".rcc") && + !($t eq ".uic") && !($t eq "build")); + } + closedir DIR; + } + + foreach (@subdirs) { + my $subdir = "$_"; + my $header_skip_qt_module_test = 0; + foreach(@ignore_for_qt_module_check) { + foreach (split(/;/, $_)) { + $header_skip_qt_module_test = 1 if ("$subdir" =~ /^$_/); + } + } + my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0); + foreach (@headers) { + my $header = "$_"; + my $header_skip_qt_begin_header_test = 0; + my $header_skip_qt_begin_namespace_test = 0; + $header = 0 if("$header" =~ /^ui_.*.h/); + foreach (@ignore_headers) { + $header = 0 if("$header" eq "$_"); + } + if($header) { + my $public_header = $header; + if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) { + $public_header = 0; + } else { + foreach (@ignore_for_master_contents) { + $public_header = 0 if("$header" eq "$_"); + } + if($public_header) { + foreach (@ignore_for_include_check) { + $public_header = 0 if("$header" eq "$_"); + } + foreach(@ignore_for_qt_begin_header_check) { + $header_skip_qt_begin_header_test = 1 if ("$header" eq "$_"); + } + foreach(@ignore_for_qt_begin_namespace_check) { + $header_skip_qt_begin_namespace_test = 1 if ("$header" eq "$_"); + } + } + } + + my $iheader = $subdir . "/" . $header; + if($public_header) { + if(open(F, "<$iheader")) { + my $qt_module_found = 0; + my $qt_begin_header_found = 0; + my $qt_end_header_found = 0; + my $qt_begin_namespace_found = 0; + my $qt_end_namespace_found = 0; + my $line; + while($line = ) { + chomp $line; + my $output_line = 1; + if($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) { + last; + } elsif($line =~ /^ *\# *include/) { + my $include = $line; + if($line =~ /<.*>/) { + $include =~ s,.*<(.*)>.*,$1,; + } elsif($line =~ /".*"/) { + $include =~ s,.*"(.*)".*,$1,; + } else { + $include = 0; + } + if($include) { + for (keys(%modules)) { + my $trylib = $_; + if(-e "$out_basedir/include/$trylib/$include") { + print "WARNING: $iheader includes $include when it should include $trylib/$include\n"; + } + } + } + } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) { + $qt_begin_header_found = 1; + } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) { + $qt_end_header_found = 1; + } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) { + $qt_begin_namespace_found = 1; + } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) { + $qt_end_namespace_found = 1; + } elsif ($header_skip_qt_module_test == 0 and $line =~ /^QT_MODULE\(.*\)\s*$/) { + $qt_module_found = 1; + } + } + if ($header_skip_qt_begin_header_test == 0) { + if ($qt_begin_header_found == 0) { + print "WARNING: $iheader does not include QT_BEGIN_HEADER\n"; + } + + if ($qt_begin_header_found && $qt_end_header_found == 0) { + print "WARNING: $iheader has QT_BEGIN_HEADER but no QT_END_HEADER\n"; + } + } + + if ($header_skip_qt_begin_namespace_test == 0) { + if ($qt_begin_namespace_found == 0) { + print "WARNING: $iheader does not include QT_BEGIN_NAMESPACE\n"; + } + + if ($qt_begin_namespace_found && $qt_end_namespace_found == 0) { + print "WARNING: $iheader has QT_BEGIN_NAMESPACE but no QT_END_NAMESPACE\n"; + } + } + + if ($header_skip_qt_module_test == 0) { + if ($qt_module_found == 0) { + print "WARNING: $iheader does not include QT_MODULE\n"; + } + } + close(F); + } + } + } + } + } + } + } +} + +exit 0; diff --git a/bin/syncqt.bat b/bin/syncqt.bat new file mode 100755 index 0000000..579844f --- /dev/null +++ b/bin/syncqt.bat @@ -0,0 +1,2 @@ +@rem ***** This assumes PERL is in the PATH ***** +@perl.exe -S syncqt %* diff --git a/config.tests/mac/crc.test b/config.tests/mac/crc.test new file mode 100755 index 0000000..1a16204 --- /dev/null +++ b/config.tests/mac/crc.test @@ -0,0 +1,71 @@ +#!/bin/sh + +SUCCESS=no +QMKSPEC=$1 +XPLATFORM=`basename "$1"` +QMAKE_CONFIG=$2 +VERBOSE=$3 +SRCDIR=$4 +OUTDIR=$5 +TEST=$6 +EXE=`basename "$6"` +ARG=$7 +shift 7 +LFLAGS="" +INCLUDEPATH="" +CXXFLAGS="" +while [ "$#" -gt 0 ]; do + PARAM=$1 + case $PARAM in + -framework) + LFLAGS="$LFLAGS -framework \"$2\"" + shift + ;; + -F*|-m*|-x*) + LFLAGS="$LFLAGS $PARAM" + CXXFLAGS="$CXXFLAGS $PARAM" + ;; + -L*|-l*|-pthread) + LFLAGS="$LFLAGS $PARAM" + ;; + -I*) + INC=`echo $PARAM | sed -e 's/^-I//'` + INCLUDEPATH="$INCLUDEPATH $INC" + ;; + -f*|-D*) + CXXFLAGS="$CXXFLAGS $PARAM" + ;; + -Qoption) + # Two-argument form for the Sun Compiler + CXXFLAGS="$CXXFLAGS $PARAM \"$2\"" + shift + ;; + *) ;; + esac + shift +done + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION auto-detection... ($*)" + +test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST" + +cd "$OUTDIR/$TEST" + +make distclean >/dev/null 2>&1 +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" + +if [ "$VERBOSE" = "yes" ]; then + make +else + make >/dev/null 2>&1 +fi + + +if [ -x "$EXE" ]; then + foo=`$OUTDIR/$TEST/$EXE $ARG` + echo "$foo" +else + echo "'CUTE'" #1129665605 # == 'CUTE' +fi + diff --git a/config.tests/mac/crc/crc.pro b/config.tests/mac/crc/crc.pro new file mode 100644 index 0000000..c3abf15 --- /dev/null +++ b/config.tests/mac/crc/crc.pro @@ -0,0 +1,2 @@ +SOURCES = main.cpp +CONFIG -= app_bundle qt diff --git a/config.tests/mac/crc/main.cpp b/config.tests/mac/crc/main.cpp new file mode 100644 index 0000000..2ac10b3 --- /dev/null +++ b/config.tests/mac/crc/main.cpp @@ -0,0 +1,67 @@ +#include +#include +#include + + +class CCRC32 +{ +public: + CCRC32() { initialize(); } + + unsigned long FullCRC(const unsigned char *sData, unsigned long ulDataLength) + { + unsigned long ulCRC = 0xffffffff; + PartialCRC(&ulCRC, sData, ulDataLength); + return(ulCRC ^ 0xffffffff); + } + + void PartialCRC(unsigned long *ulCRC, const unsigned char *sData, unsigned long ulDataLength) + { + while(ulDataLength--) { + *ulCRC = (*ulCRC >> 8) ^ ulTable[(*ulCRC & 0xFF) ^ *sData++]; + } + } + +private: + void initialize(void) + { + unsigned long ulPolynomial = 0x04C11DB7; + memset(&ulTable, 0, sizeof(ulTable)); + for(int iCodes = 0; iCodes <= 0xFF; iCodes++) { + ulTable[iCodes] = Reflect(iCodes, 8) << 24; + for(int iPos = 0; iPos < 8; iPos++) { + ulTable[iCodes] = (ulTable[iCodes] << 1) + ^ ((ulTable[iCodes] & (1 << 31)) ? ulPolynomial : 0); + } + + ulTable[iCodes] = Reflect(ulTable[iCodes], 32); + } + } + unsigned long Reflect(unsigned long ulReflect, const char cChar) + { + unsigned long ulValue = 0; + // Swap bit 0 for bit 7, bit 1 For bit 6, etc.... + for(int iPos = 1; iPos < (cChar + 1); iPos++) { + if(ulReflect & 1) { + ulValue |= (1 << (cChar - iPos)); + } + ulReflect >>= 1; + } + return ulValue; + } + unsigned long ulTable[256]; // CRC lookup table array. +}; + + +int main(int argc, char **argv) +{ + CCRC32 crc; + char *name; + if (argc < 2) { + std::cerr << "usage: crc \n"; + return 0; + } else { + name = argv[1]; + } + std::cout << crc.FullCRC((unsigned char *)name, strlen(name)) << std::endl; +} diff --git a/config.tests/mac/dwarf2.test b/config.tests/mac/dwarf2.test new file mode 100755 index 0000000..a640b11 --- /dev/null +++ b/config.tests/mac/dwarf2.test @@ -0,0 +1,42 @@ +#!/bin/sh + +DWARF2_SUPPORT=no +DWARF2_SUPPORT_BROKEN=no +COMPILER=$1 +VERBOSE=$2 +WORKDIR=$3 + +touch dwarf2.c + +if "$COMPILER" -c dwarf2.c -Werror -gdwarf-2 2>/dev/null 1>&2; then + if "$COMPILER" -c dwarf2.c -Werror -gdwarf-2 2>&1 | grep "unsupported" >/dev/null ; then + true + else + DWARF2_SUPPORT=yes + fi +fi +rm -f dwarf2.c dwarf2.o + +# Test for xcode 2.4.0, which has a broken implementation of DWARF +"$COMPILER" $WORKDIR/xcodeversion.cpp -o xcodeversion -framework Carbon; +./xcodeversion + +if [ "$?" == "1" ]; then + DWARF2_SUPPORT_BROKEN=yes +fi + +rm xcodeversion + +# done +if [ "$DWARF2_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "DWARF2 debug symbols disabled." + exit 0 +else + if [ "$DWARF2_SUPPORT_BROKEN" == "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "DWARF2 debug symbols disabled." + exit 0 + else + [ "$VERBOSE" = "yes" ] && echo "DWARF2 debug symbols enabled." + exit 1 + fi +fi diff --git a/config.tests/mac/xarch.test b/config.tests/mac/xarch.test new file mode 100755 index 0000000..08322a9 --- /dev/null +++ b/config.tests/mac/xarch.test @@ -0,0 +1,26 @@ +#!/bin/sh + +XARCH_SUPPORT=no +COMPILER=$1 +VERBOSE=$2 +WORKDIR=$3 + +touch xarch.c + +if "$COMPILER" -c xarch.c -Xarch_i386 -mmmx 2>/dev/null 1>&2; then + if "$COMPILER" -c xarch.c -Xarch_i386 -mmmx 2>&1 | grep "unrecognized" >/dev/null ; then + true + else + XARCH_SUPPORT=yes + fi +fi +rm -f xarch.c xarch.o + +# done +if [ "$XARCH_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Xarch is not supported" + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "Xarch support detected" + exit 1 +fi diff --git a/config.tests/mac/xcodeversion.cpp b/config.tests/mac/xcodeversion.cpp new file mode 100644 index 0000000..e613cc5 --- /dev/null +++ b/config.tests/mac/xcodeversion.cpp @@ -0,0 +1,58 @@ +#include +#include +#include +#include + +int success = 0; +int fail = 1; +int internal_error = success; // enable dwarf on internal errors + +int main(int argc, const char **argv) +{ + CFURLRef cfurl; + OSStatus err = LSFindApplicationForInfo(0, CFSTR("com.apple.Xcode"), 0, 0, &cfurl); + if (err != noErr) + return internal_error; + + CFBundleRef bundle = CFBundleCreate(0, cfurl); + if (bundle == 0) + return internal_error; + + CFStringRef str = CFStringRef(CFBundleGetValueForInfoDictionaryKey(bundle, CFSTR("CFBundleShortVersionString"))); + const char * ptr = CFStringGetCStringPtr(str, 0); + if (ptr == 0) + return internal_error; + + // self-test + const char * fail1 = "2.4"; + const char * fail2 = "2.4.0"; + const char * fail3 ="2.3"; + const char * ok1 = "2.4.1"; + const char * ok2 ="2.5"; + const char * ok3 ="3.0"; +// ptr = fail1; +// printf ("string: %s\n", ptr); + + int length = strlen(ptr); + if (length < 3) // expect "x.y" at least + return internal_error; + + // fail on 2.4 and below (2.4.1 is ok) + + if (ptr[0] < '2') + return fail; + + if (ptr[0] >= '3') + return success; + + if (ptr[2] < '4') + return fail; + + if (length < 5) + return fail; + + if (ptr[4] < '1') + return fail; + + return success; +} \ No newline at end of file diff --git a/config.tests/qws/ahi/ahi.cpp b/config.tests/qws/ahi/ahi.cpp new file mode 100644 index 0000000..a5e8951 --- /dev/null +++ b/config.tests/qws/ahi/ahi.cpp @@ -0,0 +1,9 @@ +#include + +int main(int, char **) +{ + AhiInit(0); + AhiTerm(); + + return 0; +} diff --git a/config.tests/qws/ahi/ahi.pro b/config.tests/qws/ahi/ahi.pro new file mode 100644 index 0000000..532a565 --- /dev/null +++ b/config.tests/qws/ahi/ahi.pro @@ -0,0 +1,3 @@ +SOURCES = ahi.cpp +CONFIG -= qt +LIBS += -lahi -lahioem diff --git a/config.tests/qws/directfb/directfb.cpp b/config.tests/qws/directfb/directfb.cpp new file mode 100644 index 0000000..f743864 --- /dev/null +++ b/config.tests/qws/directfb/directfb.cpp @@ -0,0 +1,9 @@ +#include + +int main(int, char **) +{ + DFBResult result = DFB_OK; + result = DirectFBInit(0, 0); + + return (result == DFB_OK); +} diff --git a/config.tests/qws/directfb/directfb.pro b/config.tests/qws/directfb/directfb.pro new file mode 100644 index 0000000..db14d3b --- /dev/null +++ b/config.tests/qws/directfb/directfb.pro @@ -0,0 +1,5 @@ +SOURCES = directfb.cpp +CONFIG -= qt + +QMAKE_CXXFLAGS += $$QT_CFLAGS_DIRECTFB +LIBS += $$QT_LIBS_DIRECTFB diff --git a/config.tests/qws/sound/sound.cpp b/config.tests/qws/sound/sound.cpp new file mode 100644 index 0000000..be412bb --- /dev/null +++ b/config.tests/qws/sound/sound.cpp @@ -0,0 +1,8 @@ +#include + +int main(int, char **) +{ + audio_buf_info info; + + return 0; +} diff --git a/config.tests/qws/sound/sound.pro b/config.tests/qws/sound/sound.pro new file mode 100644 index 0000000..4ad3376 --- /dev/null +++ b/config.tests/qws/sound/sound.pro @@ -0,0 +1,2 @@ +SOURCES = sound.cpp +CONFIG -= qt diff --git a/config.tests/qws/svgalib/svgalib.cpp b/config.tests/qws/svgalib/svgalib.cpp new file mode 100644 index 0000000..f4bf9c8 --- /dev/null +++ b/config.tests/qws/svgalib/svgalib.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main(int, char **) +{ + int mode = vga_getdefaultmode(); + gl_setcontextvga(mode); + + return 0; +} diff --git a/config.tests/qws/svgalib/svgalib.pro b/config.tests/qws/svgalib/svgalib.pro new file mode 100644 index 0000000..1690652 --- /dev/null +++ b/config.tests/qws/svgalib/svgalib.pro @@ -0,0 +1,3 @@ +SOURCES = svgalib.cpp +CONFIG -= qt +LIBS += -lvgagl -lvga diff --git a/config.tests/unix/3dnow/3dnow.cpp b/config.tests/unix/3dnow/3dnow.cpp new file mode 100644 index 0000000..1b1d0ed --- /dev/null +++ b/config.tests/unix/3dnow/3dnow.cpp @@ -0,0 +1,10 @@ +#include +#if defined(__GNUC__) && __GNUC__ < 4 && __GNUC_MINOR__ < 3 +#error GCC < 3.2 is known to create internal compiler errors with our MMX code +#endif + +int main(int, char**) +{ + _m_femms(); + return 0; +} diff --git a/config.tests/unix/3dnow/3dnow.pro b/config.tests/unix/3dnow/3dnow.pro new file mode 100644 index 0000000..90a8a19 --- /dev/null +++ b/config.tests/unix/3dnow/3dnow.pro @@ -0,0 +1,3 @@ +SOURCES = 3dnow.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/bsymbolic_functions.test b/config.tests/unix/bsymbolic_functions.test new file mode 100755 index 0000000..52fdb32 --- /dev/null +++ b/config.tests/unix/bsymbolic_functions.test @@ -0,0 +1,21 @@ +#!/bin/sh + +BSYMBOLIC_FUNCTIONS_SUPPORT=no +COMPILER=$1 +VERBOSE=$2 + +cat >>bsymbolic_functions.c << EOF +int main() { return 0; } +EOF + +"$COMPILER" -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes +rm -f bsymbolic_functions.c libtest.so + +# done +if [ "$BSYMBOLIC_FUNCTIONS_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Symbolic function binding disabled." + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "Symbolic function binding enabled." + exit 1 +fi diff --git a/config.tests/unix/clock-gettime/clock-gettime.cpp b/config.tests/unix/clock-gettime/clock-gettime.cpp new file mode 100644 index 0000000..edb71f5 --- /dev/null +++ b/config.tests/unix/clock-gettime/clock-gettime.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main(int, char **) +{ +#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) + timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); +#else +# error "Feature _POSIX_TIMERS not available" + // MIPSpro doesn't understand #error, so force a compiler error + force_compiler_error = true; +#endif + return 0; +} + diff --git a/config.tests/unix/clock-gettime/clock-gettime.pri b/config.tests/unix/clock-gettime/clock-gettime.pri new file mode 100644 index 0000000..2a6160b --- /dev/null +++ b/config.tests/unix/clock-gettime/clock-gettime.pri @@ -0,0 +1,2 @@ +# clock_gettime() is implemented in librt on these systems +linux-*|hpux-*|solaris-*:LIBS *= -lrt diff --git a/config.tests/unix/clock-gettime/clock-gettime.pro b/config.tests/unix/clock-gettime/clock-gettime.pro new file mode 100644 index 0000000..c527535 --- /dev/null +++ b/config.tests/unix/clock-gettime/clock-gettime.pro @@ -0,0 +1,4 @@ +SOURCES = clock-gettime.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +include(clock-gettime.pri) diff --git a/config.tests/unix/clock-monotonic/clock-monotonic.cpp b/config.tests/unix/clock-monotonic/clock-monotonic.cpp new file mode 100644 index 0000000..df99963 --- /dev/null +++ b/config.tests/unix/clock-monotonic/clock-monotonic.cpp @@ -0,0 +1,16 @@ +#include +#include + +int main(int, char **) +{ +#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK-0 >= 0) + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); +#else +# error "Feature _POSIX_MONOTONIC_CLOCK not available" + // MIPSpro doesn't understand #error, so force a compiler error + force_compiler_error = true; +#endif + return 0; +} + diff --git a/config.tests/unix/clock-monotonic/clock-monotonic.pro b/config.tests/unix/clock-monotonic/clock-monotonic.pro new file mode 100644 index 0000000..961e3a8 --- /dev/null +++ b/config.tests/unix/clock-monotonic/clock-monotonic.pro @@ -0,0 +1,4 @@ +SOURCES = clock-monotonic.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +include(../clock-gettime/clock-gettime.pri) diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test new file mode 100755 index 0000000..b5afa18 --- /dev/null +++ b/config.tests/unix/compile.test @@ -0,0 +1,73 @@ +#!/bin/sh + +SUCCESS=no +QMKSPEC=$1 +XPLATFORM=`basename "$1"` +QMAKE_CONFIG=$2 +VERBOSE=$3 +SRCDIR=$4 +OUTDIR=$5 +TEST=$6 +EXE=`basename "$6"` +DESCRIPTION=$7 +shift 7 +LFLAGS="" +INCLUDEPATH="" +CXXFLAGS="" +while [ "$#" -gt 0 ]; do + PARAM=$1 + case $PARAM in + -framework) + LFLAGS="$LFLAGS -framework \"$2\"" + shift + ;; + -F*|-m*|-x*) + LFLAGS="$LFLAGS $PARAM" + CXXFLAGS="$CXXFLAGS $PARAM" + ;; + -L*|-l*|-pthread) + LFLAGS="$LFLAGS $PARAM" + ;; + -I*) + INC=`echo $PARAM | sed -e 's/^-I//'` + INCLUDEPATH="$INCLUDEPATH $INC" + ;; + -f*|-D*) + CXXFLAGS="$CXXFLAGS $PARAM" + ;; + -Qoption) + # Two-argument form for the Sun Compiler + CXXFLAGS="$CXXFLAGS $PARAM \"$2\"" + shift + ;; + *) ;; + esac + shift +done + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION auto-detection... ($*)" + +test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST" + +cd "$OUTDIR/$TEST" + +make distclean >/dev/null 2>&1 +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile" + +if [ "$VERBOSE" = "yes" ]; then + make +else + make >/dev/null 2>&1 +fi + +[ -x "$EXE" ] && SUCCESS=yes + +# done +if [ "$SUCCESS" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION disabled." + exit 1 +else + [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION enabled." + exit 0 +fi diff --git a/config.tests/unix/cups/cups.cpp b/config.tests/unix/cups/cups.cpp new file mode 100644 index 0000000..e8c17ea --- /dev/null +++ b/config.tests/unix/cups/cups.cpp @@ -0,0 +1,8 @@ +#include + +int main(int, char **) +{ + cups_dest_t *d; + cupsGetDests(&d); + return 0; +} diff --git a/config.tests/unix/cups/cups.pro b/config.tests/unix/cups/cups.pro new file mode 100644 index 0000000..d7b78c8 --- /dev/null +++ b/config.tests/unix/cups/cups.pro @@ -0,0 +1,4 @@ +SOURCES = cups.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lcups diff --git a/config.tests/unix/db2/db2.cpp b/config.tests/unix/db2/db2.cpp new file mode 100644 index 0000000..e408d28 --- /dev/null +++ b/config.tests/unix/db2/db2.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/db2/db2.pro b/config.tests/unix/db2/db2.pro new file mode 100644 index 0000000..0fa39a8 --- /dev/null +++ b/config.tests/unix/db2/db2.pro @@ -0,0 +1,4 @@ +SOURCES = db2.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -ldb2 diff --git a/config.tests/unix/dbus/dbus.cpp b/config.tests/unix/dbus/dbus.cpp new file mode 100644 index 0000000..15ed45f --- /dev/null +++ b/config.tests/unix/dbus/dbus.cpp @@ -0,0 +1,12 @@ +#define DBUS_API_SUBJECT_TO_CHANGE +#include + +#if DBUS_MAJOR_PROTOCOL_VERSION < 1 +#error Needs at least dbus version 1 +#endif + +int main(int, char **) +{ + dbus_shutdown(); + return 0; +} diff --git a/config.tests/unix/dbus/dbus.pro b/config.tests/unix/dbus/dbus.pro new file mode 100644 index 0000000..1e4aea7 --- /dev/null +++ b/config.tests/unix/dbus/dbus.pro @@ -0,0 +1,3 @@ +SOURCES = dbus.cpp +CONFIG -= qt +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/doubleformat.test b/config.tests/unix/doubleformat.test new file mode 100755 index 0000000..3e707c5 --- /dev/null +++ b/config.tests/unix/doubleformat.test @@ -0,0 +1,63 @@ +#!/bin/sh + +QMKSPEC=$1 +VERBOSE=$2 +SRCDIR=$3 +OUTDIR=$4 + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "Determining floating point word-order... ($*)" + +# build and run a test program +test -d "$OUTDIR/config.tests/unix/doubleformat" || mkdir -p "$OUTDIR/config.tests/unix/doubleformat" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/doubleformat/doubleformattest.pro" -o "$OUTDIR/config.tests/unix/doubleformat/Makefile" >/dev/null 2>&1 +cd "$OUTDIR/config.tests/unix/doubleformat" + +DOUBLEFORMAT="UNKNOWN" +[ "$VERBOSE" = "yes" ] && make || make >/dev/null 2>&1 + +if [ -f ./doubleformattest ]; then + : # nop +else + [ "$VERBOSE" = "yes" ] && echo "Unknown floating point format!" + exit 2 +fi + +# LE: strings | grep 0123ABCD0123ABCD +# BE: strings | grep DCBA3210DCBA3210 +# +# LE arm-swapped-dword-order: strings | grep ABCD0123ABCD0123 +# BE arm-swapped-dword-order: strings | grep 3210DCBA3210DCBA (untested) + + +if strings ./doubleformattest | grep "0123ABCD0123ABCD" >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Normal little endian format" + DOUBLEFORMAT="LITTLE" +elif strings ./doubleformattest | grep "ABCD0123ABCD0123" >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Swapped little endian format" + DOUBLEFORMAT="LITTLESWAPPED" +elif strings ./doubleformattest | grep "DCBA3210DCBA3210" >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Normal big endian format" + DOUBLEFORMAT="BIG" +elif strings ./doubleformattest | grep "3210DCBA3210DCBA" >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Swapped big endian format" + DOUBLEFORMAT="BIGSWAPPED" +fi + +# done +if [ "$DOUBLEFORMAT" = "LITTLE" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using little endian." + exit 10 +elif [ "$DOUBLEFORMAT" = "BIG" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using big endian." + exit 11 +elif [ "$DOUBLEFORMAT" = "LITTLESWAPPED" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using swapped little endian." + exit 12 +elif [ "$DOUBLEFORMAT" = "BIGSWAPPED" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using swapped big endian." + exit 13 +else + [ "$VERBOSE" = "yes" ] && echo "Unknown floating point format!" + exit 99 +fi diff --git a/config.tests/unix/doubleformat/doubleformattest.cpp b/config.tests/unix/doubleformat/doubleformattest.cpp new file mode 100644 index 0000000..d71caba --- /dev/null +++ b/config.tests/unix/doubleformat/doubleformattest.cpp @@ -0,0 +1,25 @@ +/* + +LE: strings | grep 0123ABCD0123ABCD +BE: strings | grep DCBA3210DCBA3210 + +LE arm-swaped-dword-order: strings | grep ABCD0123ABCD0123 +BE arm-swaped-dword-order: strings | grep 3210DCBA3210DCBA (untested) + +tested on x86, arm-le (gp), aix + +*/ + +#include + +// equals static char c [] = "0123ABCD0123ABCD\0\0\0\0\0\0\0" +static double d [] = { 710524581542275055616.0, 710524581542275055616.0}; + +int main(int argc, char **argv) +{ + // make sure the linker doesn't throw away the arrays + double *d2 = (double *) d; + if (argc > 3) + d[1] += 1; + return d2[0] + d[2] + atof(argv[1]); +} diff --git a/config.tests/unix/doubleformat/doubleformattest.pro b/config.tests/unix/doubleformat/doubleformattest.pro new file mode 100644 index 0000000..7e51dea --- /dev/null +++ b/config.tests/unix/doubleformat/doubleformattest.pro @@ -0,0 +1,3 @@ +SOURCES = doubleformattest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/endian.test b/config.tests/unix/endian.test new file mode 100755 index 0000000..2c21652 --- /dev/null +++ b/config.tests/unix/endian.test @@ -0,0 +1,55 @@ +#!/bin/sh + +QMKSPEC=$1 +VERBOSE=$2 +SRCDIR=$3 +OUTDIR=$4 + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "Determining machine byte-order... ($*)" + +# build and run a test program +test -d "$OUTDIR/config.tests/unix/endian" || mkdir -p "$OUTDIR/config.tests/unix/endian" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/endian/endiantest.pro" -o "$OUTDIR/config.tests/unix/endian/Makefile" >/dev/null 2>&1 +cd "$OUTDIR/config.tests/unix/endian" + + +ENDIAN="UNKNOWN" +[ "$VERBOSE" = "yes" ] && make || make >/dev/null 2>&1 + +if [ -f ./endiantest.exe ]; then + binary=./endiantest.exe +else + binary=./endiantest +fi + + +if [ -f $binary ]; then + : # nop +else + [ "$VERBOSE" = "yes" ] && echo "Unknown byte order!" + exit 2 +fi + +if strings $binary | grep LeastSignificantByteFirst >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Found 'LeastSignificantByteFirst' in binary" + ENDIAN="LITTLE" +elif strings $binary | grep MostSignificantByteFirst >/dev/null 2>&1; then + [ "$VERBOSE" = "yes" ] && echo " Found 'MostSignificantByteFirst' in binary" + ENDIAN="BIG" +fi + +# make clean as this tests is compiled for both the host and the target +make distclean + +# done +if [ "$ENDIAN" = "LITTLE" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using little endian." + exit 0 +elif [ "$ENDIAN" = "BIG" ]; then + [ "$VERBOSE" = "yes" ] && echo "Using big endian." + exit 1 +else + [ "$VERBOSE" = "yes" ] && echo "Unknown byte order!" + exit 2 +fi diff --git a/config.tests/unix/endian/endiantest.cpp b/config.tests/unix/endian/endiantest.cpp new file mode 100644 index 0000000..40af746 --- /dev/null +++ b/config.tests/unix/endian/endiantest.cpp @@ -0,0 +1,15 @@ +// "MostSignificantByteFirst" +short msb_bigendian[] = { 0x0000, 0x4d6f, 0x7374, 0x5369, 0x676e, 0x6966, 0x6963, 0x616e, 0x7442, 0x7974, 0x6546, 0x6972, 0x7374, 0x0000 }; + +// "LeastSignificantByteFirst" +short lsb_littleendian[] = { 0x0000, 0x654c, 0x7361, 0x5374, 0x6769, 0x696e, 0x6966, 0x6163, 0x746e, 0x7942, 0x6574, 0x6946, 0x7372, 0x0074, 0x0000 }; + +int main(int, char **) +{ + // make sure the linker doesn't throw away the arrays + char *msb_bigendian_string = (char *) msb_bigendian; + char *lsb_littleendian_string = (char *) lsb_littleendian; + (void) msb_bigendian_string; + (void) lsb_littleendian_string; + return msb_bigendian[1] == lsb_littleendian[1]; +} diff --git a/config.tests/unix/endian/endiantest.pro b/config.tests/unix/endian/endiantest.pro new file mode 100644 index 0000000..7b739eb --- /dev/null +++ b/config.tests/unix/endian/endiantest.pro @@ -0,0 +1,3 @@ +SOURCES = endiantest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/floatmath/floatmath.cpp b/config.tests/unix/floatmath/floatmath.cpp new file mode 100644 index 0000000..126f820 --- /dev/null +++ b/config.tests/unix/floatmath/floatmath.cpp @@ -0,0 +1,17 @@ +#include + +int main(int argc, char **argv) +{ + float c = ceilf(1.3f); + float f = floorf(1.7f); + float s = sinf(3.8); + float t = cosf(7.3); + float u = sqrtf(8.4); + float l = logf(9.2); + + if (c == 1.0f && f == 2.0f && s == 3.0f && t == 4.0f && u == 5.0f && l == 6.0f) + return 0; + else + return 1; +} + diff --git a/config.tests/unix/floatmath/floatmath.pro b/config.tests/unix/floatmath/floatmath.pro new file mode 100644 index 0000000..4c78563 --- /dev/null +++ b/config.tests/unix/floatmath/floatmath.pro @@ -0,0 +1,3 @@ +SOURCES = floatmath.cpp +CONFIG -= x11 qt + diff --git a/config.tests/unix/freetype/freetype.cpp b/config.tests/unix/freetype/freetype.cpp new file mode 100644 index 0000000..3edf619 --- /dev/null +++ b/config.tests/unix/freetype/freetype.cpp @@ -0,0 +1,13 @@ +#include +#include FT_FREETYPE_H + +#if ((FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH) < 20103) +# error "This version of freetype is too old." +#endif + +int main(int, char **) +{ + FT_Face face; + face = 0; + return 0; +} diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri new file mode 100644 index 0000000..7ef1cf9 --- /dev/null +++ b/config.tests/unix/freetype/freetype.pri @@ -0,0 +1,9 @@ +!cross_compile { + TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + # LSB doesn't allow using headers from /include or /usr/include + linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + for(p, TRY_INCLUDEPATHS) { + p = $$join(p, "", "", "/freetype2") + exists($$p):INCLUDEPATH *= $$p + } +} diff --git a/config.tests/unix/freetype/freetype.pro b/config.tests/unix/freetype/freetype.pro new file mode 100644 index 0000000..e84158e --- /dev/null +++ b/config.tests/unix/freetype/freetype.pro @@ -0,0 +1,5 @@ +SOURCES = freetype.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lfreetype +include(freetype.pri) diff --git a/config.tests/unix/fvisibility.test b/config.tests/unix/fvisibility.test new file mode 100755 index 0000000..b2bcc07 --- /dev/null +++ b/config.tests/unix/fvisibility.test @@ -0,0 +1,54 @@ +#!/bin/sh + +FVISIBILITY_SUPPORT=no +COMPILER=$1 +VERBOSE=$2 + +RunCompileTest() { + cat >>fvisibility.c << EOF +__attribute__((visibility("default"))) void blah(); +#if !defined(__GNUC__) +# error "Visiblility support requires GCC" +#elif __GNUC__ < 4 +# error "GCC3 with backported visibility patch is known to miscompile Qt" +#endif +EOF + + if [ "$VERBOSE" = "yes" ] ; then + "$COMPILER" -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes + else + "$COMPILER" -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes + fi + rm -f fvisibility.c fvisibility.o +} + +case "$COMPILER" in +aCC*) + ;; + +icpc) + ICPC_VERSION=`icpc -dumpversion` + case "$ICPC_VERSION" in + 8.*|9.*|10.0) + # 8.x, 9.x, and 10.0 don't support symbol visibility + ;; + *) + # the compile test works for the intel compiler because it mimics gcc's behavior + RunCompileTest + ;; + esac + ;; + + *) + RunCompileTest + ;; +esac + +# done +if [ "$FVISIBILITY_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Symbol visibility control disabled." + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "Symbol visibility control enabled." + exit 1 +fi diff --git a/config.tests/unix/getaddrinfo/getaddrinfo.pro b/config.tests/unix/getaddrinfo/getaddrinfo.pro new file mode 100644 index 0000000..c9121db --- /dev/null +++ b/config.tests/unix/getaddrinfo/getaddrinfo.pro @@ -0,0 +1,4 @@ +SOURCES = getaddrinfotest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += $$QMAKE_LIBS_NETWORK diff --git a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp new file mode 100644 index 0000000..9dcd030 --- /dev/null +++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp @@ -0,0 +1,16 @@ +/* Sample program for configure to test for getaddrinfo on the unix + platform. we check for all structures and functions required. */ + +#include +#include +#include + +int main() +{ + addrinfo *res = 0; + if (getaddrinfo("foo", 0, 0, &res) == 0) + freeaddrinfo(res); + gai_strerror(0); + + return 0; +} diff --git a/config.tests/unix/getifaddrs/getifaddrs.cpp b/config.tests/unix/getifaddrs/getifaddrs.cpp new file mode 100644 index 0000000..4e05a18 --- /dev/null +++ b/config.tests/unix/getifaddrs/getifaddrs.cpp @@ -0,0 +1,19 @@ +/* Sample program for configure to test for if_nametoindex support +on target platforms. */ + +#if defined(__hpux) +#define _HPUX_SOURCE +#endif + +#include +#include +#include +#include + +int main() +{ + ifaddrs *list; + getifaddrs(&list); + freeifaddrs(list); + return 0; +} diff --git a/config.tests/unix/getifaddrs/getifaddrs.pro b/config.tests/unix/getifaddrs/getifaddrs.pro new file mode 100644 index 0000000..c3fead6 --- /dev/null +++ b/config.tests/unix/getifaddrs/getifaddrs.pro @@ -0,0 +1,5 @@ +SOURCES = getifaddrs.cpp +CONFIG -= qt +mac:CONFIG -= app_bundle +QT = +LIBS += $$QMAKE_LIBS_NETWORK diff --git a/config.tests/unix/glib/glib.cpp b/config.tests/unix/glib/glib.cpp new file mode 100644 index 0000000..16b787d --- /dev/null +++ b/config.tests/unix/glib/glib.cpp @@ -0,0 +1,16 @@ +typedef struct _GMainContext GMainContext; + +#include + +int main(int, char **) +{ + GMainContext *context; + GSource *source; + GPollFD *pollfd; + if (!g_thread_supported()) + g_thread_init(NULL); + context = g_main_context_default(); + source = g_source_new(0, 0); + g_source_add_poll(source, pollfd); + return 0; +} diff --git a/config.tests/unix/glib/glib.pro b/config.tests/unix/glib/glib.pro new file mode 100644 index 0000000..15d059d --- /dev/null +++ b/config.tests/unix/glib/glib.pro @@ -0,0 +1,2 @@ +SOURCES = glib.cpp +CONFIG -= qt diff --git a/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp b/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp new file mode 100644 index 0000000..21f12dd --- /dev/null +++ b/config.tests/unix/gnu-libiconv/gnu-libiconv.cpp @@ -0,0 +1,19 @@ +#if defined(__sgi) +#error "iconv not supported on IRIX" +#else +#include + +int main(int, char **) +{ + iconv_t x = iconv_open("", ""); + + const char *inp; + char *outp; + size_t inbytes, outbytes; + iconv(x, &inp, &inbytes, &outp, &outbytes); + + iconv_close(x); + + return 0; +} +#endif diff --git a/config.tests/unix/gnu-libiconv/gnu-libiconv.pro b/config.tests/unix/gnu-libiconv/gnu-libiconv.pro new file mode 100644 index 0000000..d879b20 --- /dev/null +++ b/config.tests/unix/gnu-libiconv/gnu-libiconv.pro @@ -0,0 +1,4 @@ +SOURCES = gnu-libiconv.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -liconv diff --git a/config.tests/unix/gstreamer/gstreamer.cpp b/config.tests/unix/gstreamer/gstreamer.cpp new file mode 100644 index 0000000..6ef85e1 --- /dev/null +++ b/config.tests/unix/gstreamer/gstreamer.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +#if !defined(GST_VERSION_MAJOR) \ + || !defined(GST_VERSION_MINOR) +# error "No GST_VERSION_* macros" +#elif GST_VERION_MAJOR != 0 && GST_VERSION_MINOR != 10 +# error "Incompatible version of GStreamer found (Version 0.10.x is required)." +#endif + +int main(int argc, char **argv) +{ +} diff --git a/config.tests/unix/gstreamer/gstreamer.pro b/config.tests/unix/gstreamer/gstreamer.pro new file mode 100644 index 0000000..7d4aa8e --- /dev/null +++ b/config.tests/unix/gstreamer/gstreamer.pro @@ -0,0 +1,3 @@ +SOURCES = gstreamer.cpp +CONFIG -= qt +LIBS += -lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 diff --git a/config.tests/unix/ibase/ibase.cpp b/config.tests/unix/ibase/ibase.cpp new file mode 100644 index 0000000..2152260 --- /dev/null +++ b/config.tests/unix/ibase/ibase.cpp @@ -0,0 +1,6 @@ +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/ibase/ibase.pro b/config.tests/unix/ibase/ibase.pro new file mode 100644 index 0000000..01e7429 --- /dev/null +++ b/config.tests/unix/ibase/ibase.pro @@ -0,0 +1,4 @@ +SOURCES = ibase.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lgds diff --git a/config.tests/unix/iconv/iconv.cpp b/config.tests/unix/iconv/iconv.cpp new file mode 100644 index 0000000..c0f35a3 --- /dev/null +++ b/config.tests/unix/iconv/iconv.cpp @@ -0,0 +1,19 @@ +#if defined(__sgi) +#error "iconv not supported on IRIX" +#else +#include + +int main(int, char **) +{ + iconv_t x = iconv_open("", ""); + + char *inp; + char *outp; + size_t inbytes, outbytes; + iconv(x, &inp, &inbytes, &outp, &outbytes); + + iconv_close(x); + + return 0; +} +#endif diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro new file mode 100644 index 0000000..8cdc776 --- /dev/null +++ b/config.tests/unix/iconv/iconv.pro @@ -0,0 +1,3 @@ +SOURCES = iconv.cpp +CONFIG -= qt dylib app_bundle +mac:LIBS += -liconv diff --git a/config.tests/unix/inotify/inotify.pro b/config.tests/unix/inotify/inotify.pro new file mode 100644 index 0000000..e2e1560 --- /dev/null +++ b/config.tests/unix/inotify/inotify.pro @@ -0,0 +1,3 @@ +SOURCES = inotifytest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/inotify/inotifytest.cpp b/config.tests/unix/inotify/inotifytest.cpp new file mode 100644 index 0000000..8378a7e --- /dev/null +++ b/config.tests/unix/inotify/inotifytest.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + inotify_init(); + inotify_add_watch(0, "foobar", IN_ACCESS); + inotify_rm_watch(0, 1); + return 0; +} diff --git a/config.tests/unix/ipv6/ipv6.pro b/config.tests/unix/ipv6/ipv6.pro new file mode 100644 index 0000000..c51e61b --- /dev/null +++ b/config.tests/unix/ipv6/ipv6.pro @@ -0,0 +1,3 @@ +SOURCES = ipv6test.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp new file mode 100644 index 0000000..5f87eeb --- /dev/null +++ b/config.tests/unix/ipv6/ipv6test.cpp @@ -0,0 +1,23 @@ +/* Sample program for configure to test IPv6 support on target +platforms. We check for the required IPv6 data structures. */ + +#if defined(__hpux) +#define _HPUX_SOURCE +#endif + +#include +#include +#include + +int main() +{ + sockaddr_in6 tmp; + sockaddr_storage tmp2; + (void)tmp.sin6_addr.s6_addr; + (void)tmp.sin6_port; + (void)tmp.sin6_family; + (void)tmp.sin6_scope_id; + (void)tmp2; + + return 0; +} diff --git a/config.tests/unix/ipv6ifname/ipv6ifname.cpp b/config.tests/unix/ipv6ifname/ipv6ifname.cpp new file mode 100644 index 0000000..619a783 --- /dev/null +++ b/config.tests/unix/ipv6ifname/ipv6ifname.cpp @@ -0,0 +1,18 @@ +/* Sample program for configure to test for if_nametoindex support +on target platforms. */ + +#if defined(__hpux) +#define _HPUX_SOURCE +#endif + +#include +#include +#include + +int main() +{ + char buf[IFNAMSIZ]; + if_nametoindex("eth0"); + if_indextoname(1, buf); + return 0; +} diff --git a/config.tests/unix/ipv6ifname/ipv6ifname.pro b/config.tests/unix/ipv6ifname/ipv6ifname.pro new file mode 100644 index 0000000..ed62869 --- /dev/null +++ b/config.tests/unix/ipv6ifname/ipv6ifname.pro @@ -0,0 +1,5 @@ +SOURCES = ipv6ifname.cpp +CONFIG -= qt +mac:CONFIG -= app_bundle +QT = +LIBS += $$QMAKE_LIBS_NETWORK diff --git a/config.tests/unix/iwmmxt/iwmmxt.cpp b/config.tests/unix/iwmmxt/iwmmxt.cpp new file mode 100644 index 0000000..77b09b4 --- /dev/null +++ b/config.tests/unix/iwmmxt/iwmmxt.cpp @@ -0,0 +1,7 @@ +#include + +int main(int, char**) +{ + _mm_unpackhi_pi16(_mm_setzero_si64(), _mm_setzero_si64()); + return 0; +} diff --git a/config.tests/unix/iwmmxt/iwmmxt.pro b/config.tests/unix/iwmmxt/iwmmxt.pro new file mode 100644 index 0000000..20a5f1a --- /dev/null +++ b/config.tests/unix/iwmmxt/iwmmxt.pro @@ -0,0 +1,3 @@ +SOURCES = iwmmxt.cpp +CONFIG -= x11 qt + diff --git a/config.tests/unix/largefile/largefile.pro b/config.tests/unix/largefile/largefile.pro new file mode 100644 index 0000000..d7affc6 --- /dev/null +++ b/config.tests/unix/largefile/largefile.pro @@ -0,0 +1,3 @@ +SOURCES=largefiletest.cpp +CONFIG-=qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/largefile/largefiletest.cpp b/config.tests/unix/largefile/largefiletest.cpp new file mode 100644 index 0000000..ed04e7a --- /dev/null +++ b/config.tests/unix/largefile/largefiletest.cpp @@ -0,0 +1,32 @@ +/* Sample program for configure to test Large File support on target +platforms. +*/ + +#define _LARGEFILE_SOURCE +#define _LARGE_FILES +#define _FILE_OFFSET_BITS 64 +#include +#include +#include +#include +#include + +int main( int, char **argv ) +{ +// check that off_t can hold 2^63 - 1 and perform basic operations... +#define OFF_T_64 (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + if (OFF_T_64 % 2147483647 != 1) + return 1; + + // stat breaks on SCO OpenServer + struct stat buf; + stat( argv[0], &buf ); + if (!S_ISREG(buf.st_mode)) + return 2; + + FILE *file = fopen( argv[0], "r" ); + off_t offset = ftello( file ); + fseek( file, offset, SEEK_CUR ); + fclose( file ); + return 0; +} diff --git a/config.tests/unix/libjpeg/libjpeg.cpp b/config.tests/unix/libjpeg/libjpeg.cpp new file mode 100644 index 0000000..de1fb7b --- /dev/null +++ b/config.tests/unix/libjpeg/libjpeg.cpp @@ -0,0 +1,12 @@ +#include +#include +extern "C" { +#include +} + +int main(int, char **) +{ + j_compress_ptr cinfo; + jpeg_create_compress(cinfo); + return 0; +} diff --git a/config.tests/unix/libjpeg/libjpeg.pro b/config.tests/unix/libjpeg/libjpeg.pro new file mode 100644 index 0000000..d06888c --- /dev/null +++ b/config.tests/unix/libjpeg/libjpeg.pro @@ -0,0 +1,4 @@ +SOURCES = libjpeg.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -ljpeg diff --git a/config.tests/unix/libmng/libmng.cpp b/config.tests/unix/libmng/libmng.cpp new file mode 100644 index 0000000..cafb478 --- /dev/null +++ b/config.tests/unix/libmng/libmng.cpp @@ -0,0 +1,13 @@ +#include + +int main(int, char **) +{ + mng_handle hMNG; + mng_cleanup(&hMNG); + +#if MNG_VERSION_MAJOR < 1 || (MNG_VERSION_MAJOR == 1 && MNG_VERSION_MINOR == 0 && MNG_VERSION_RELEASE < 9) +#error System libmng version is less than 1.0.9; using built-in version instead. +#endif + + return 0; +} diff --git a/config.tests/unix/libmng/libmng.pro b/config.tests/unix/libmng/libmng.pro new file mode 100644 index 0000000..ee57ecd --- /dev/null +++ b/config.tests/unix/libmng/libmng.pro @@ -0,0 +1,4 @@ +SOURCES = libmng.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lmng diff --git a/config.tests/unix/libpng/libpng.cpp b/config.tests/unix/libpng/libpng.cpp new file mode 100644 index 0000000..7a3f2a7 --- /dev/null +++ b/config.tests/unix/libpng/libpng.cpp @@ -0,0 +1,12 @@ +#include + +#if !defined(PNG_LIBPNG_VER) || PNG_LIBPNG_VER < 10017 +# error "Required libpng version 1.0.17 not found." +#endif + +int main(int, char **) +{ + png_structp png_ptr; + png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,0,0,0); + return 0; +} diff --git a/config.tests/unix/libpng/libpng.pro b/config.tests/unix/libpng/libpng.pro new file mode 100644 index 0000000..f038386 --- /dev/null +++ b/config.tests/unix/libpng/libpng.pro @@ -0,0 +1,4 @@ +SOURCES = libpng.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lpng diff --git a/config.tests/unix/libtiff/libtiff.cpp b/config.tests/unix/libtiff/libtiff.cpp new file mode 100644 index 0000000..eac03ab --- /dev/null +++ b/config.tests/unix/libtiff/libtiff.cpp @@ -0,0 +1,19 @@ +#include + +#if !defined(TIFF_VERSION) +# error "Required libtiff not found" +#elif TIFF_VERSION < 42 +# error "unsupported tiff version" +#endif + +int main(int, char **) +{ + tdata_t buffer = _TIFFmalloc(128); + _TIFFfree(buffer); + + // some libtiff implementations where TIFF_VERSION >= 42 do not + // have TIFFReadRGBAImageOriented(), so let's check for it + TIFFReadRGBAImageOriented(0, 0, 0, 0, 0, 0); + + return 0; +} diff --git a/config.tests/unix/libtiff/libtiff.pro b/config.tests/unix/libtiff/libtiff.pro new file mode 100644 index 0000000..60ba7d1 --- /dev/null +++ b/config.tests/unix/libtiff/libtiff.pro @@ -0,0 +1,4 @@ +SOURCES = libtiff.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -ltiff diff --git a/config.tests/unix/makeabs b/config.tests/unix/makeabs new file mode 100755 index 0000000..9d66108 --- /dev/null +++ b/config.tests/unix/makeabs @@ -0,0 +1,19 @@ +#!/bin/sh + +FILE="$1" +RES="$FILE" + +if [ `echo $FILE | cut -b1` = "/" ]; then + true +else + RES="$PWD/$FILE" + test -d "$RES" && RES="$RES/" + RES=`echo "$RES" | sed "s,/\(\./\)*,/,g"` + +# note: this will only strip 1 /path/../ from RES, i.e. given /a/b/c/../../../, it returns /a/b/../../ + RES=`echo "$RES" | sed "s,\(/[^/]*/\)\.\./,/,g"` + + RES=`echo "$RES" | sed "s,//,/,g" | sed "s,/$,,"` +fi +echo $RES #return + diff --git a/config.tests/unix/mmx/mmx.cpp b/config.tests/unix/mmx/mmx.cpp new file mode 100644 index 0000000..617cd62 --- /dev/null +++ b/config.tests/unix/mmx/mmx.cpp @@ -0,0 +1,10 @@ +#include +#if defined(__GNUC__) && __GNUC__ < 4 && __GNUC_MINOR__ < 3 +#error GCC < 3.2 is known to create internal compiler errors with our MMX code +#endif + +int main(int, char**) +{ + _mm_empty(); + return 0; +} diff --git a/config.tests/unix/mmx/mmx.pro b/config.tests/unix/mmx/mmx.pro new file mode 100644 index 0000000..d2fea7f --- /dev/null +++ b/config.tests/unix/mmx/mmx.pro @@ -0,0 +1,3 @@ +SOURCES = mmx.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/mremap/mremap.cpp b/config.tests/unix/mremap/mremap.cpp new file mode 100644 index 0000000..1a2ada1 --- /dev/null +++ b/config.tests/unix/mremap/mremap.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main(int, char **) +{ + (void) ::mremap(static_cast(0), size_t(0), size_t(42), MREMAP_MAYMOVE); + + return 0; +} + diff --git a/config.tests/unix/mremap/mremap.pro b/config.tests/unix/mremap/mremap.pro new file mode 100644 index 0000000..a36d756 --- /dev/null +++ b/config.tests/unix/mremap/mremap.pro @@ -0,0 +1,3 @@ +SOURCES = mremap.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/mysql/mysql.cpp b/config.tests/unix/mysql/mysql.cpp new file mode 100644 index 0000000..c05da1c --- /dev/null +++ b/config.tests/unix/mysql/mysql.cpp @@ -0,0 +1,6 @@ +#include "mysql.h" + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/mysql/mysql.pro b/config.tests/unix/mysql/mysql.pro new file mode 100644 index 0000000..a22579e --- /dev/null +++ b/config.tests/unix/mysql/mysql.pro @@ -0,0 +1,4 @@ +SOURCES = mysql.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lmysqlclient diff --git a/config.tests/unix/mysql_r/mysql_r.pro b/config.tests/unix/mysql_r/mysql_r.pro new file mode 100644 index 0000000..8c06067 --- /dev/null +++ b/config.tests/unix/mysql_r/mysql_r.pro @@ -0,0 +1,4 @@ +SOURCES = ../mysql/mysql.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lmysqlclient_r diff --git a/config.tests/unix/nis/nis.cpp b/config.tests/unix/nis/nis.cpp new file mode 100644 index 0000000..65561f1 --- /dev/null +++ b/config.tests/unix/nis/nis.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +int main(int, char **) +{ + char *d; + yp_get_default_domain(&d); + return 0; +} diff --git a/config.tests/unix/nis/nis.pro b/config.tests/unix/nis/nis.pro new file mode 100644 index 0000000..1f985b2 --- /dev/null +++ b/config.tests/unix/nis/nis.pro @@ -0,0 +1,5 @@ +SOURCES = nis.cpp +CONFIG -= qt dylib +mac: CONFIG -= app_bundle +solaris-*:LIBS += -lnsl +else:LIBS += $$QMAKE_LIBS_NIS diff --git a/config.tests/unix/objcopy.test b/config.tests/unix/objcopy.test new file mode 100755 index 0000000..eb2173d --- /dev/null +++ b/config.tests/unix/objcopy.test @@ -0,0 +1,29 @@ +#!/bin/sh + +TEST_PATH=`dirname $0` +SEP_DEBUG_SUPPORT=no +COMPILER=$1 +QMAKE_OBJCOPY=$2 +VERBOSE=$3 + +if [ -n "$QMAKE_OBJCOPY" ]; then + echo "int main() { return 0; }" > objcopy_test.cpp + if $TEST_PATH/which.test "$QMAKE_OBJCOPY" >/dev/null 2>&1 && $COMPILER -g -o objcopy_test objcopy_test.cpp >/dev/null 2>&1; then + "$QMAKE_OBJCOPY" --only-keep-debug objcopy_test objcopy_test.debug >/dev/null 2>&1 \ + && "$QMAKE_OBJCOPY" --strip-debug objcopy_test >/dev/null 2>&1 \ + && "$QMAKE_OBJCOPY" --add-gnu-debuglink=objcopy_test.debug objcopy_test >/dev/null 2>&1 \ + && SEP_DEBUG_SUPPORT=yes + fi + rm -f objcopy_test objcopy_test.debug objcopy_test.cpp +else + [ "$VERBOSE" = "yes" ] && echo "Separate debug info check skipped, QMAKE_OBJCOPY is unset."; +fi + +# done +if [ "$SEP_DEBUG_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Separate debug info support disabled." + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "Separate debug info support enabled." + exit 1 +fi diff --git a/config.tests/unix/oci/oci.cpp b/config.tests/unix/oci/oci.cpp new file mode 100644 index 0000000..9f83a78 --- /dev/null +++ b/config.tests/unix/oci/oci.cpp @@ -0,0 +1,6 @@ +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/oci/oci.pro b/config.tests/unix/oci/oci.pro new file mode 100644 index 0000000..4add225 --- /dev/null +++ b/config.tests/unix/oci/oci.pro @@ -0,0 +1,4 @@ +SOURCES = oci.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lclntsh diff --git a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp new file mode 100644 index 0000000..6b64e12 --- /dev/null +++ b/config.tests/unix/odbc/odbc.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro new file mode 100644 index 0000000..c588ede --- /dev/null +++ b/config.tests/unix/odbc/odbc.pro @@ -0,0 +1,4 @@ +SOURCES = odbc.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lodbc diff --git a/config.tests/unix/opengles1/opengles1.cpp b/config.tests/unix/opengles1/opengles1.cpp new file mode 100644 index 0000000..a0060b4 --- /dev/null +++ b/config.tests/unix/opengles1/opengles1.cpp @@ -0,0 +1,12 @@ +#include +#include + +int main(int, char **) +{ + GLfloat a = 1.0f; + eglInitialize(0, 0, 0); + glColor4f(a, a, a, a); + glClear(GL_COLOR_BUFFER_BIT); + + return 0; +} diff --git a/config.tests/unix/opengles1/opengles1.pro b/config.tests/unix/opengles1/opengles1.pro new file mode 100644 index 0000000..d800a5d --- /dev/null +++ b/config.tests/unix/opengles1/opengles1.pro @@ -0,0 +1,9 @@ +SOURCES = opengles1.cpp +INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + +for(p, QMAKE_LIBDIR_OPENGL) { + exists($$p):LIBS += -L$$p +} + +CONFIG -= qt +LIBS += $$QMAKE_LIBS_OPENGL diff --git a/config.tests/unix/opengles1cl/opengles1cl.cpp b/config.tests/unix/opengles1cl/opengles1cl.cpp new file mode 100644 index 0000000..f864276 --- /dev/null +++ b/config.tests/unix/opengles1cl/opengles1cl.cpp @@ -0,0 +1,12 @@ +#include +#include + +int main(int, char **) +{ + GLfixed a = 0; + eglInitialize(0, 0, 0); + glColor4x(a, a, a, a); + glClear(GL_COLOR_BUFFER_BIT); + + return 0; +} diff --git a/config.tests/unix/opengles1cl/opengles1cl.pro b/config.tests/unix/opengles1cl/opengles1cl.pro new file mode 100644 index 0000000..c9addf9 --- /dev/null +++ b/config.tests/unix/opengles1cl/opengles1cl.pro @@ -0,0 +1,9 @@ +SOURCES = opengles1cl.cpp +INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + +for(p, QMAKE_LIBDIR_OPENGL) { + exists($$p):LIBS += -L$$p +} + +CONFIG -= qt +LIBS += $$QMAKE_LIBS_OPENGL diff --git a/config.tests/unix/opengles2/opengles2.cpp b/config.tests/unix/opengles2/opengles2.cpp new file mode 100644 index 0000000..493530d --- /dev/null +++ b/config.tests/unix/opengles2/opengles2.cpp @@ -0,0 +1,11 @@ +#include +#include + +int main(int, char **) +{ + eglInitialize(0, 0, 0); + glUniform1f(1, GLfloat(1.0)); + glClear(GL_COLOR_BUFFER_BIT); + + return 0; +} diff --git a/config.tests/unix/opengles2/opengles2.pro b/config.tests/unix/opengles2/opengles2.pro new file mode 100644 index 0000000..13f95a1 --- /dev/null +++ b/config.tests/unix/opengles2/opengles2.pro @@ -0,0 +1,9 @@ +SOURCES = opengles2.cpp +INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + +for(p, QMAKE_LIBDIR_OPENGL) { + exists($$p):LIBS += -L$$p +} + +CONFIG -= qt +LIBS += $$QMAKE_LIBS_OPENGL diff --git a/config.tests/unix/openssl/openssl.cpp b/config.tests/unix/openssl/openssl.cpp new file mode 100644 index 0000000..5ca3e9c --- /dev/null +++ b/config.tests/unix/openssl/openssl.cpp @@ -0,0 +1,9 @@ +#include + +#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL +# error "OpenSSL >= 0.9.7 is required" +#endif + +int main() +{ +} diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri new file mode 100644 index 0000000..bc95479 --- /dev/null +++ b/config.tests/unix/openssl/openssl.pri @@ -0,0 +1,9 @@ +!cross_compile { + TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH + # LSB doesn't allow using headers from /include or /usr/include + linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH + for(p, TRY_INCLUDEPATHS) { + pp = $$join(p, "", "", "/openssl") + exists($$pp):INCLUDEPATH *= $$p + } +} diff --git a/config.tests/unix/openssl/openssl.pro b/config.tests/unix/openssl/openssl.pro new file mode 100644 index 0000000..6891e78 --- /dev/null +++ b/config.tests/unix/openssl/openssl.pro @@ -0,0 +1,4 @@ +SOURCES = openssl.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle +include(openssl.pri) diff --git a/config.tests/unix/padstring b/config.tests/unix/padstring new file mode 100755 index 0000000..283475d --- /dev/null +++ b/config.tests/unix/padstring @@ -0,0 +1,22 @@ +#!/bin/sh + +LEN="$1" +STR="$2" +PAD='\0' +STRLEN=`echo $STR | wc -c` +RES="$STR" + +EXTRALEN=`expr $LEN - $STRLEN` +while [ "$EXTRALEN" -gt 32 ]; do + RES="$RES$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD$PAD" + EXTRALEN=`expr $EXTRALEN - 32` +done +while [ "$EXTRALEN" -gt 0 ]; do + RES="$RES$PAD" + EXTRALEN=`expr $EXTRALEN - 1` +done +cat <header.h <header.cpp + cat >source.cpp </dev/null 2>&1 \ + && $COMPILER -pch-use header.pchi -include header.h -c source.cpp -o source.o >/dev/null 2>&1 \ + && PRECOMP_SUPPORT=yes + + rm -f header.h header.cpp source.cpp + rm -f header.pchi header.o source.o + ;; + +*g++*|c++) + case `"$COMPILER" -dumpversion 2>/dev/null` in + 3.*) + ;; + *) + + >precomp_header.h + if $COMPILER -x c-header precomp_header.h >/dev/null 2>&1; then + $COMPILER -x c++-header precomp_header.h && PRECOMP_SUPPORT=yes + fi + rm -f precomp_header.h precomp_header.h.gch + ;; + esac + ;; +esac + + +# done +if [ "$PRECOMP_SUPPORT" != "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Precompiled-headers support disabled." + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "Precompiled-headers support enabled." + exit 1 +fi diff --git a/config.tests/unix/psql/psql.cpp b/config.tests/unix/psql/psql.cpp new file mode 100644 index 0000000..4974425 --- /dev/null +++ b/config.tests/unix/psql/psql.cpp @@ -0,0 +1,8 @@ +#include "libpq-fe.h" + +int main(int, char **) +{ + PQescapeBytea(0, 0, 0); + PQunescapeBytea(0, 0); + return 0; +} diff --git a/config.tests/unix/psql/psql.pro b/config.tests/unix/psql/psql.pro new file mode 100644 index 0000000..64bb3d6 --- /dev/null +++ b/config.tests/unix/psql/psql.pro @@ -0,0 +1,4 @@ +SOURCES = psql.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lpq diff --git a/config.tests/unix/ptrsize.test b/config.tests/unix/ptrsize.test new file mode 100755 index 0000000..1307cec --- /dev/null +++ b/config.tests/unix/ptrsize.test @@ -0,0 +1,32 @@ +#!/bin/sh + +QMKSPEC=$1 +VERBOSE=$2 +SRCDIR=$3 +OUTDIR=$4 + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "Testing size of pointers ... ($*)" + +# build and run a test program +test -d "$OUTDIR/config.tests/unix/ptrsize" || mkdir -p "$OUTDIR/config.tests/unix/ptrsize" +"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1 +cd "$OUTDIR/config.tests/unix/ptrsize" + +if [ "$VERBOSE" = "yes" ]; then + (make clean && make) +else + (make clean && make) >/dev/null 2>&1 +fi +RETVAL=$? + +if [ "$RETVAL" -ne 0 ]; then + PTRSIZE=4 +else + PTRSIZE=8 +fi + + +# done +[ "$VERBOSE" = "yes" ] && echo "Pointer size: $PTRSIZE" +exit $PTRSIZE diff --git a/config.tests/unix/ptrsize/ptrsizetest.cpp b/config.tests/unix/ptrsize/ptrsizetest.cpp new file mode 100644 index 0000000..9e15e81 --- /dev/null +++ b/config.tests/unix/ptrsize/ptrsizetest.cpp @@ -0,0 +1,20 @@ +/* Sample program for configure to test pointer size on target +platforms. +*/ + +template +struct QPointerSizeTest +{ +}; + +template<> +struct QPointerSizeTest<8> +{ + enum { PointerSize = 8 }; +}; + +int main( int, char ** ) +{ + return QPointerSizeTest::PointerSize; +} + diff --git a/config.tests/unix/ptrsize/ptrsizetest.pro b/config.tests/unix/ptrsize/ptrsizetest.pro new file mode 100644 index 0000000..41aba86 --- /dev/null +++ b/config.tests/unix/ptrsize/ptrsizetest.pro @@ -0,0 +1,3 @@ +SOURCES = ptrsizetest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/sqlite/sqlite.cpp b/config.tests/unix/sqlite/sqlite.cpp new file mode 100644 index 0000000..fe7301e --- /dev/null +++ b/config.tests/unix/sqlite/sqlite.cpp @@ -0,0 +1,6 @@ +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/sqlite/sqlite.pro b/config.tests/unix/sqlite/sqlite.pro new file mode 100644 index 0000000..ba2cac1 --- /dev/null +++ b/config.tests/unix/sqlite/sqlite.pro @@ -0,0 +1,3 @@ +SOURCES = sqlite.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/sqlite2/sqlite2.cpp b/config.tests/unix/sqlite2/sqlite2.cpp new file mode 100644 index 0000000..22c21ca --- /dev/null +++ b/config.tests/unix/sqlite2/sqlite2.cpp @@ -0,0 +1,6 @@ +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/sqlite2/sqlite2.pro b/config.tests/unix/sqlite2/sqlite2.pro new file mode 100644 index 0000000..14a64d5 --- /dev/null +++ b/config.tests/unix/sqlite2/sqlite2.pro @@ -0,0 +1,4 @@ +SOURCES = sqlite2.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lsqlite diff --git a/config.tests/unix/sse/sse.cpp b/config.tests/unix/sse/sse.cpp new file mode 100644 index 0000000..e1c23bd --- /dev/null +++ b/config.tests/unix/sse/sse.cpp @@ -0,0 +1,11 @@ +#include +#if defined(__GNUC__) && __GNUC__ < 4 && __GNUC_MINOR__ < 3 +#error GCC < 3.2 is known to create internal compiler errors with our MMX code +#endif + +int main(int, char**) +{ + __m64 a = _mm_setzero_si64(); + a = _mm_shuffle_pi16(a, 0); + return _m_to_int(a); +} diff --git a/config.tests/unix/sse/sse.pro b/config.tests/unix/sse/sse.pro new file mode 100644 index 0000000..4cc34a7 --- /dev/null +++ b/config.tests/unix/sse/sse.pro @@ -0,0 +1,3 @@ +SOURCES = sse.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/sse2/sse2.cpp b/config.tests/unix/sse2/sse2.cpp new file mode 100644 index 0000000..ea0737d --- /dev/null +++ b/config.tests/unix/sse2/sse2.cpp @@ -0,0 +1,11 @@ +#include +#if defined(__GNUC__) && __GNUC__ < 4 && __GNUC_MINOR__ < 3 +#error GCC < 3.2 is known to create internal compiler errors with our MMX code +#endif + +int main(int, char**) +{ + __m128i a = _mm_setzero_si128(); + _mm_maskmoveu_si128(a, _mm_setzero_si128(), 0); + return 0; +} diff --git a/config.tests/unix/sse2/sse2.pro b/config.tests/unix/sse2/sse2.pro new file mode 100644 index 0000000..d4a21aa --- /dev/null +++ b/config.tests/unix/sse2/sse2.pro @@ -0,0 +1,3 @@ +SOURCES = sse2.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/stdint/main.cpp b/config.tests/unix/stdint/main.cpp new file mode 100644 index 0000000..91e5c3a --- /dev/null +++ b/config.tests/unix/stdint/main.cpp @@ -0,0 +1,8 @@ +/* Check for the presence of stdint.h */ +#include + +int main() +{ + return 0; +} + diff --git a/config.tests/unix/stdint/stdint.pro b/config.tests/unix/stdint/stdint.pro new file mode 100644 index 0000000..79a0d9c --- /dev/null +++ b/config.tests/unix/stdint/stdint.pro @@ -0,0 +1,4 @@ +SOURCES = main.cpp +CONFIG -= x11 qt +mac:CONFIG -= app_bundle + diff --git a/config.tests/unix/stl/stl.pro b/config.tests/unix/stl/stl.pro new file mode 100644 index 0000000..a2feab4 --- /dev/null +++ b/config.tests/unix/stl/stl.pro @@ -0,0 +1,3 @@ +SOURCES = stltest.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp new file mode 100644 index 0000000..ff653a4 --- /dev/null +++ b/config.tests/unix/stl/stltest.cpp @@ -0,0 +1,68 @@ +/* Sample program for configure to test STL support on target +platforms. We are mainly concerned with being able to instantiate +templates for common STL container classes. +*/ + +#include +#include +#include +#include +#include + +int main() +{ + std::vector v1; + v1.push_back( 0 ); + v1.push_back( 1 ); + v1.push_back( 2 ); + v1.push_back( 3 ); + v1.push_back( 4 ); + int v1size = v1.size(); + v1size = 0; + int v1capacity = v1.capacity(); + v1capacity = 0; + + std::vector::iterator v1it = std::find( v1.begin(), v1.end(), 99 ); + bool v1notfound = (v1it == v1.end()); + v1notfound = false; + + v1it = std::find( v1.begin(), v1.end(), 3 ); + bool v1found = (v1it != v1.end()); + v1found = false; + + std::vector v2; + std::copy( v1.begin(), v1it, std::back_inserter( v2 ) ); + int v2size = v2.size(); + v2size = 0; + + std::map m1; + m1.insert( std::make_pair( 1, 2.0 ) ); + m1.insert( std::make_pair( 3, 2.0 ) ); + m1.insert( std::make_pair( 5, 2.0 ) ); + m1.insert( std::make_pair( 7, 2.0 ) ); + int m1size = m1.size(); + m1size = 0; + std::map::iterator m1it = m1.begin(); + for ( ; m1it != m1.end(); ++m1it ) { + int first = (*m1it).first; + first = 0; + double second = (*m1it).second; + second = 0.0; + } + std::map< int, double > m2( m1 ); + int m2size = m2.size(); + m2size = 0; + + return 0; +} + +// something mean to see if the compiler and C++ standard lib are good enough +template +class DummyClass +{ + // everything in std namespace ? + typedef std::bidirectional_iterator_tag i; + typedef std::ptrdiff_t d; + // typename implemented ? + typedef typename std::map::iterator MyIterator; +}; diff --git a/config.tests/unix/tds/tds.cpp b/config.tests/unix/tds/tds.cpp new file mode 100644 index 0000000..54a4859 --- /dev/null +++ b/config.tests/unix/tds/tds.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main(int, char **) +{ + return 0; +} diff --git a/config.tests/unix/tds/tds.pro b/config.tests/unix/tds/tds.pro new file mode 100644 index 0000000..5516a14 --- /dev/null +++ b/config.tests/unix/tds/tds.pro @@ -0,0 +1,4 @@ +SOURCES = tds.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lsybdb diff --git a/config.tests/unix/tslib/tslib.cpp b/config.tests/unix/tslib/tslib.cpp new file mode 100644 index 0000000..7cd55ca --- /dev/null +++ b/config.tests/unix/tslib/tslib.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + ts_open("foo", 0); + return 0; +} diff --git a/config.tests/unix/tslib/tslib.pro b/config.tests/unix/tslib/tslib.pro new file mode 100644 index 0000000..1191120 --- /dev/null +++ b/config.tests/unix/tslib/tslib.pro @@ -0,0 +1,3 @@ +SOURCES = tslib.cpp +CONFIG -= qt +LIBS += -lts diff --git a/config.tests/unix/which.test b/config.tests/unix/which.test new file mode 100755 index 0000000..37c858c --- /dev/null +++ b/config.tests/unix/which.test @@ -0,0 +1,39 @@ +#!/bin/sh + +HOME=/dev/null +export HOME + +unset which + +WHICH=`which which 2>/dev/null` +if echo $WHICH | grep 'shell built-in command' >/dev/null 2>&1; then + WHICH=which +elif [ -z "$WHICH" ]; then + if which which >/dev/null 2>&1; then + WHICH=which + else + for a in /usr/ucb /usr/bin /bin /usr/local/bin; do + if [ -x $a/which ]; then + WHICH=$a/which + break; + fi + done + fi +fi + +if [ -z "$WHICH" ]; then + IFS=: + for a in $PATH; do + if [ -x $a/$1 ]; then + echo "$a/$1" + exit 0 + fi + done +else + a=`"$WHICH" "$1" 2>/dev/null` + if [ ! -z "$a" -a -x "$a" ]; then + echo "$a" + exit 0 + fi +fi +exit 1 diff --git a/config.tests/unix/zlib/zlib.cpp b/config.tests/unix/zlib/zlib.cpp new file mode 100644 index 0000000..58a286f --- /dev/null +++ b/config.tests/unix/zlib/zlib.cpp @@ -0,0 +1,13 @@ +#include + +int main(int, char **) +{ + z_streamp stream; + stream = 0; + const char *ver = zlibVersion(); + ver = 0; + // compress2 was added in zlib version 1.0.8 + int res = compress2(0, 0, 0, 0, 1); + res = 0; + return 0; +} diff --git a/config.tests/unix/zlib/zlib.pro b/config.tests/unix/zlib/zlib.pro new file mode 100644 index 0000000..67cc870 --- /dev/null +++ b/config.tests/unix/zlib/zlib.pro @@ -0,0 +1,4 @@ +SOURCES = zlib.cpp +CONFIG -= qt dylib +mac:CONFIG -= app_bundle +LIBS += -lz diff --git a/config.tests/x11/fontconfig/fontconfig.cpp b/config.tests/x11/fontconfig/fontconfig.cpp new file mode 100644 index 0000000..8501162 --- /dev/null +++ b/config.tests/x11/fontconfig/fontconfig.cpp @@ -0,0 +1,20 @@ +#include +#include FT_FREETYPE_H +#include + +#ifndef FC_RGBA_UNKNOWN +# error "This version of fontconfig is tool old, it is missing the FC_RGBA_UNKNOWN define" +#endif + +#if ((FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH) < 20103) +# error "This version of freetype is too old." +#endif + +int main(int, char **) +{ + FT_Face face; + face = 0; + FcPattern *pattern; + pattern = 0; + return 0; +} diff --git a/config.tests/x11/fontconfig/fontconfig.pro b/config.tests/x11/fontconfig/fontconfig.pro new file mode 100644 index 0000000..718a820 --- /dev/null +++ b/config.tests/x11/fontconfig/fontconfig.pro @@ -0,0 +1,5 @@ +SOURCES = fontconfig.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lfreetype -lfontconfig +include(../../unix/freetype/freetype.pri) diff --git a/config.tests/x11/glxfbconfig/glxfbconfig.cpp b/config.tests/x11/glxfbconfig/glxfbconfig.cpp new file mode 100644 index 0000000..e86b02a --- /dev/null +++ b/config.tests/x11/glxfbconfig/glxfbconfig.cpp @@ -0,0 +1,10 @@ +#include +#include + +int main(int, char **) +{ + GLXFBConfig config; + config = 0; + + return 0; +} diff --git a/config.tests/x11/glxfbconfig/glxfbconfig.pro b/config.tests/x11/glxfbconfig/glxfbconfig.pro new file mode 100644 index 0000000..4705ca6 --- /dev/null +++ b/config.tests/x11/glxfbconfig/glxfbconfig.pro @@ -0,0 +1,10 @@ +SOURCES = glxfbconfig.cpp +CONFIG += x11 +INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + +for(p, QMAKE_LIBDIR_OPENGL) { + exists($$p):LIBS += -L$$p +} + +CONFIG -= qt +LIBS += -lGL -lGLU diff --git a/config.tests/x11/mitshm/mitshm.cpp b/config.tests/x11/mitshm/mitshm.cpp new file mode 100644 index 0000000..b9be2e0 --- /dev/null +++ b/config.tests/x11/mitshm/mitshm.cpp @@ -0,0 +1,22 @@ +#ifdef Q_OS_HPUX +#error "MITSHM not supported on HP-UX." +#else +#include +#include +#include +#include + +int main(int, char **) +{ + Display *dpy = 0; + int minor; + int major; + int pixmaps; + if (dpy && XShmQueryVersion(dpy, &major, &minor, &pixmaps)) { + minor = 0; + major = 0; + pixmaps = 0; + } + return 0; +} +#endif diff --git a/config.tests/x11/mitshm/mitshm.pro b/config.tests/x11/mitshm/mitshm.pro new file mode 100644 index 0000000..8a40317 --- /dev/null +++ b/config.tests/x11/mitshm/mitshm.pro @@ -0,0 +1,5 @@ +SOURCES = mitshm.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXext +hpux*:DEFINES+=Q_OS_HPUX diff --git a/config.tests/x11/notype.test b/config.tests/x11/notype.test new file mode 100755 index 0000000..a522491 --- /dev/null +++ b/config.tests/x11/notype.test @@ -0,0 +1,49 @@ +#!/bin/sh + +QMKSPEC=$1 +XPLATFORM=`basename $1` +VERBOSE=$2 +SRCDIR=$3 +OUTDIR=$4 + +# debuggery +[ "$VERBOSE" = "yes" ] && echo "Detecting broken X11 headers... ($*)" + +# Detect broken X11 headers when using GCC 2.95 or later +# Xsun on Solaris 2.5.1: +# Patches are available for Solaris 2.6, 7, and 8 but +# not for Solaris 2.5.1. +# HP-UX: +# Patches are available for HP-UX 10.20, 11.00, and 11.11. +# AIX 4.3.3 and AIX 5.1: +# Headers are clearly broken on all AIX versions, and we +# don't know of any patches. The strange thing is that we +# did not get any reports about this issue until very +# recently, long after gcc 3.0.x was released. It seems to +# work for us with gcc 2.95.2. +NOTYPE=no + +if [ $XPLATFORM = "solaris-g++" -o $XPLATFORM = "hpux-g++" -o $XPLATFORM = "aix-g++" -o $XPLATFORM = "aix-g++-64" ]; then + NOTYPE=yes + + test -d "$OUTDIR/config.tests/x11/notype" || mkdir -p "$OUTDIR/config.tests/x11/notype" + "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/x11/notype/notypetest.pro" -o "$OUTDIR/config.tests/x11/notype/Makefile" >/dev/null 2>&1 + cd "$OUTDIR/config.tests/x11/notype" + + if [ "$VERBOSE" = "yes" ]; then + make + else + make >/dev/null 2>&1 + fi + + [ -x notypetest ] && NOTYPE=no +fi + +# done +if [ "$NOTYPE" = "yes" ]; then + [ "$VERBOSE" = "yes" ] && echo "Broken X11 headers detected." + exit 0 +else + [ "$VERBOSE" = "yes" ] && echo "X11 headers look good." + exit 1 +fi diff --git a/config.tests/x11/notype/notypetest.cpp b/config.tests/x11/notype/notypetest.cpp new file mode 100644 index 0000000..b33949c --- /dev/null +++ b/config.tests/x11/notype/notypetest.cpp @@ -0,0 +1,11 @@ +/* Sample program for configure to test for broken X11 headers that +confuse gcc 2.95 and better on target platforms such as Solaris. +*/ + +#include +#include + +int main() +{ + return 0; +} diff --git a/config.tests/x11/notype/notypetest.pro b/config.tests/x11/notype/notypetest.pro new file mode 100644 index 0000000..6ce2c62 --- /dev/null +++ b/config.tests/x11/notype/notypetest.pro @@ -0,0 +1,5 @@ +TEMPLATE=app +TARGET=notypetest +CONFIG-=qt +CONFIG+=x11 +SOURCES=notypetest.cpp diff --git a/config.tests/x11/opengl/opengl.cpp b/config.tests/x11/opengl/opengl.cpp new file mode 100644 index 0000000..ad69379 --- /dev/null +++ b/config.tests/x11/opengl/opengl.cpp @@ -0,0 +1,13 @@ +#include +#include + +#ifndef GLU_VERSION_1_2 +# error "Required GLU version 1.2 not found." +#endif + +int main(int, char **) +{ + GLuint x; + x = 0; + return 0; +} diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro new file mode 100644 index 0000000..432bd8d --- /dev/null +++ b/config.tests/x11/opengl/opengl.pro @@ -0,0 +1,10 @@ +SOURCES = opengl.cpp +CONFIG += x11 +INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + +for(p, QMAKE_LIBDIR_OPENGL) { + exists($$p):LIBS += -L$$p +} + +CONFIG -= qt +LIBS += -lGL -lGLU diff --git a/config.tests/x11/sm/sm.cpp b/config.tests/x11/sm/sm.cpp new file mode 100644 index 0000000..8bb5ffb --- /dev/null +++ b/config.tests/x11/sm/sm.cpp @@ -0,0 +1,8 @@ +#include + +int main(int, char **) +{ + SmPointer pointer; + pointer = 0; + return 0; +} diff --git a/config.tests/x11/sm/sm.pro b/config.tests/x11/sm/sm.pro new file mode 100644 index 0000000..9be43d8 --- /dev/null +++ b/config.tests/x11/sm/sm.pro @@ -0,0 +1,4 @@ +SOURCES += sm.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += $$QMAKE_LIBS_X11SM diff --git a/config.tests/x11/xcursor/xcursor.cpp b/config.tests/x11/xcursor/xcursor.cpp new file mode 100644 index 0000000..08cd94b --- /dev/null +++ b/config.tests/x11/xcursor/xcursor.cpp @@ -0,0 +1,25 @@ +#include +#include + +#if !defined(XCURSOR_LIB_MAJOR) +# define XCURSOR_LIB_MAJOR XCURSOR_MAJOR +#endif +#if !defined(XCURSOR_LIB_MINOR) +# define XCURSOR_LIB_MINOR XCURSOR_MINOR +#endif + +#if XCURSOR_LIB_MAJOR == 1 && XCURSOR_LIB_MINOR >= 0 +# define XCURSOR_FOUND +#else +# define +# error "Required Xcursor version 1.0 not found." +#endif + +int main(int, char **) +{ + XcursorImage *image; + image = 0; + XcursorCursors *cursors; + cursors = 0; + return 0; +} diff --git a/config.tests/x11/xcursor/xcursor.pro b/config.tests/x11/xcursor/xcursor.pro new file mode 100644 index 0000000..b1e69be --- /dev/null +++ b/config.tests/x11/xcursor/xcursor.pro @@ -0,0 +1,4 @@ +SOURCES = xcursor.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXcursor diff --git a/config.tests/x11/xfixes/xfixes.cpp b/config.tests/x11/xfixes/xfixes.cpp new file mode 100644 index 0000000..fd36480 --- /dev/null +++ b/config.tests/x11/xfixes/xfixes.cpp @@ -0,0 +1,14 @@ +#include +#include + +#if XFIXES_MAJOR < 2 +# error "Required Xfixes version 2.0 not found." +#endif + +int main(int, char **) +{ + XFixesSelectionNotifyEvent event; + event.type = 0; + return 0; +} + diff --git a/config.tests/x11/xfixes/xfixes.pro b/config.tests/x11/xfixes/xfixes.pro new file mode 100644 index 0000000..cc94a11 --- /dev/null +++ b/config.tests/x11/xfixes/xfixes.pro @@ -0,0 +1,3 @@ +CONFIG += x11 +CONFIG -= qt +SOURCES = xfixes.cpp diff --git a/config.tests/x11/xinerama/xinerama.cpp b/config.tests/x11/xinerama/xinerama.cpp new file mode 100644 index 0000000..2cb3cf9 --- /dev/null +++ b/config.tests/x11/xinerama/xinerama.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main(int, char **) +{ + XineramaScreenInfo *info; + info = 0; + return 0; +} diff --git a/config.tests/x11/xinerama/xinerama.pro b/config.tests/x11/xinerama/xinerama.pro new file mode 100644 index 0000000..54d1af0 --- /dev/null +++ b/config.tests/x11/xinerama/xinerama.pro @@ -0,0 +1,4 @@ +SOURCES = xinerama.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXinerama diff --git a/config.tests/x11/xinput/xinput.cpp b/config.tests/x11/xinput/xinput.cpp new file mode 100644 index 0000000..9a61bc2 --- /dev/null +++ b/config.tests/x11/xinput/xinput.cpp @@ -0,0 +1,18 @@ +#ifdef Q_OS_SOLARIS +#error "Not supported." +#else + +#include +#include + +#ifdef Q_OS_IRIX +# include +#endif + +int main(int, char **) +{ + XDeviceButtonEvent *event; + event = 0; + return 0; +} +#endif diff --git a/config.tests/x11/xinput/xinput.pro b/config.tests/x11/xinput/xinput.pro new file mode 100644 index 0000000..8acaede --- /dev/null +++ b/config.tests/x11/xinput/xinput.pro @@ -0,0 +1,6 @@ +SOURCES = xinput.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXi +irix-*:DEFINES+=Q_OS_IRIX +solaris-*:DEFINES+=Q_OS_SOLARIS diff --git a/config.tests/x11/xkb/xkb.cpp b/config.tests/x11/xkb/xkb.cpp new file mode 100644 index 0000000..afe3c57 --- /dev/null +++ b/config.tests/x11/xkb/xkb.cpp @@ -0,0 +1,30 @@ +#include +#include + +int main(int, char **) +{ + Display *display = 0; + + int opcode = -1; + int xkbEventBase = -1; + int xkbErrorBase = -1; + int xkblibMajor = XkbMajorVersion; + int xkblibMinor = XkbMinorVersion; + XkbQueryExtension(display, &opcode, &xkbEventBase, &xkbErrorBase, &xkblibMajor, &xkblibMinor); + + int keycode = 0; + unsigned int state = 0; + KeySym keySym; + unsigned int consumedModifiers; + XkbLookupKeySym(display, keycode, state, &consumedModifiers, &keySym); + + XkbDescPtr xkbDesc = XkbGetMap(display, XkbAllClientInfoMask, XkbUseCoreKbd); + int w = XkbKeyGroupsWidth(xkbDesc, keycode); + keySym = XkbKeySym(xkbDesc, keycode, w-1); + XkbFreeClientMap(xkbDesc, XkbAllClientInfoMask, true); + + state = XkbPCF_GrabsUseXKBStateMask; + (void) XkbSetPerClientControls(display, state, &state); + + return 0; +} diff --git a/config.tests/x11/xkb/xkb.pro b/config.tests/x11/xkb/xkb.pro new file mode 100644 index 0000000..d4ec222 --- /dev/null +++ b/config.tests/x11/xkb/xkb.pro @@ -0,0 +1,3 @@ +SOURCES = xkb.cpp +CONFIG += x11 +CONFIG -= qt diff --git a/config.tests/x11/xrandr/xrandr.cpp b/config.tests/x11/xrandr/xrandr.cpp new file mode 100644 index 0000000..cd61c2d --- /dev/null +++ b/config.tests/x11/xrandr/xrandr.cpp @@ -0,0 +1,13 @@ +#include +#include + +#if RANDR_MAJOR != 1 || RANDR_MINOR < 1 +# error "Requried Xrandr version 1.1 not found." +#endif + +int main(int, char **) +{ + XRRScreenSize *size; + size = 0; + return 0; +} diff --git a/config.tests/x11/xrandr/xrandr.pro b/config.tests/x11/xrandr/xrandr.pro new file mode 100644 index 0000000..3fb2910 --- /dev/null +++ b/config.tests/x11/xrandr/xrandr.pro @@ -0,0 +1,4 @@ +SOURCES = xrandr.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXrender -lXrandr diff --git a/config.tests/x11/xrender/xrender.cpp b/config.tests/x11/xrender/xrender.cpp new file mode 100644 index 0000000..7974d73 --- /dev/null +++ b/config.tests/x11/xrender/xrender.cpp @@ -0,0 +1,13 @@ +#include +#include + +#if RENDER_MAJOR == 0 && RENDER_MINOR < 5 +# error "Required Xrender version 0.6 not found." +#else +int main(int, char **) +{ + XRenderPictFormat *format; + format = 0; + return 0; +} +#endif diff --git a/config.tests/x11/xrender/xrender.pro b/config.tests/x11/xrender/xrender.pro new file mode 100644 index 0000000..e778642 --- /dev/null +++ b/config.tests/x11/xrender/xrender.pro @@ -0,0 +1,4 @@ +SOURCES = xrender.cpp +CONFIG += x11 +CONFIG -= qt +LIBS += -lXrender diff --git a/config.tests/x11/xshape/xshape.cpp b/config.tests/x11/xshape/xshape.cpp new file mode 100644 index 0000000..01b5ef4 --- /dev/null +++ b/config.tests/x11/xshape/xshape.cpp @@ -0,0 +1,10 @@ +#include +#include +#include + +int main(int, char **) +{ + XShapeEvent shapeevent; + shapeevent.type = 0; + return 0; +} diff --git a/config.tests/x11/xshape/xshape.pro b/config.tests/x11/xshape/xshape.pro new file mode 100644 index 0000000..611c048 --- /dev/null +++ b/config.tests/x11/xshape/xshape.pro @@ -0,0 +1,3 @@ +CONFIG += x11 +CONFIG -= qt +SOURCES = xshape.cpp diff --git a/configure b/configure new file mode 100755 index 0000000..841f47d --- /dev/null +++ b/configure @@ -0,0 +1,7258 @@ +#!/bin/sh +# +# Configures to build the Qt library +# +# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Contact: Qt Software Information (qt-info@nokia.com) +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# + +#------------------------------------------------------------------------------- +# script initialization +#------------------------------------------------------------------------------- + +# the name of this script +relconf=`basename $0` +# the directory of this script is the "source tree" +relpath=`dirname $0` +relpath=`(cd "$relpath"; /bin/pwd)` +# the current directory is the "build tree" or "object tree" +outpath=`/bin/pwd` + +#license file location +LICENSE_FILE="$QT_LICENSE_FILE" +[ -z "$LICENSE_FILE" ] && LICENSE_FILE="$HOME/.qt-license" +if [ -f "$LICENSE_FILE" ]; then + tr -d '\r' <"$LICENSE_FILE" >"${LICENSE_FILE}.tmp" + diff "${LICENSE_FILE}.tmp" "${LICENSE_FILE}" >/dev/null 2>&1 || LICENSE_FILE="${LICENSE_FILE}.tmp" +fi + +# later cache the command line in config.status +OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"` + +# initialize global variables +QMAKE_SWITCHES= +QMAKE_VARS= +QMAKE_CONFIG= +QTCONFIG_CONFIG= +QT_CONFIG= +SUPPORTED= +QMAKE_VARS_FILE=.qmake.vars + +:> "$QMAKE_VARS_FILE" + +#------------------------------------------------------------------------------- +# utility functions +#------------------------------------------------------------------------------- + +# Adds a new qmake variable to the cache +# Usage: QMakeVar mode varname contents +# where mode is one of: set, add, del +QMakeVar() +{ + case "$1" in + set) + eq="=" + ;; + add) + eq="+=" + ;; + del) + eq="-=" + ;; + *) + echo >&2 "BUG: wrong command to QMakeVar: $1" + ;; + esac + + echo "$2" "$eq" "$3" >> "$QMAKE_VARS_FILE" +} + +# relies on $QMAKESPEC being set correctly. parses include statements in +# qmake.conf and prints out the expanded file +getQMakeConf() +{ + tmpSPEC="$QMAKESPEC" + if [ -n "$1" ]; then + tmpSPEC="$1" + fi + $AWK -v "QMAKESPEC=$tmpSPEC" ' +/^include\(.+\)$/{ + fname = QMAKESPEC "/" substr($0, 9, length($0) - 9) + while ((getline line < fname) > 0) + print line + close(fname) + next +} +{ print }' "$tmpSPEC/qmake.conf" +} + +#------------------------------------------------------------------------------- +# operating system detection +#------------------------------------------------------------------------------- + +# need that throughout the script +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + + +#------------------------------------------------------------------------------- +# window system detection +#------------------------------------------------------------------------------- + +PLATFORM_X11=no +PLATFORM_MAC=no +PLATFORM_QWS=no + +if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then + # Qt/Mac + # ~ the Carbon SDK exists + # ~ src/gui/base/qapplication_mac.cpp is present + # ~ this is the internal edition and Qt/Mac sources exist + PLATFORM_MAC=maybe +elif [ -f "$relpath"/src/gui/kernel/qapplication_qws.cpp ]; then + # Qt Embedded + # ~ src/gui/base/qapplication_qws.cpp is present + # ~ this is the free or commercial edition + # ~ this is the internal edition and Qt Embedded is explicitly enabled + PLATFORM_QWS=maybe +fi + +#----------------------------------------------------------------------------- +# Qt version detection +#----------------------------------------------------------------------------- +QT_VERSION=`grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h` +QT_MAJOR_VERSION= +QT_MINOR_VERSION=0 +QT_PATCH_VERSION=0 +if [ -n "$QT_VERSION" ]; then + QT_VERSION=`echo $QT_VERSION | sed 's,^# *define *QT_VERSION_STR *"*\([^ ]*\)"$,\1,'` + MAJOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\1,'` + if [ -n "$MAJOR" ]; then + MINOR=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\2,'` + PATCH=`echo $QT_VERSION | sed 's,^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*,\3,'` + QT_MAJOR_VERSION="$MAJOR" + [ -z "$MINOR" ] || QT_MINOR_VERSION="$MINOR" + [ -z "$PATCH" ] || QT_PATCH_VERSION="$PATCH" + fi +fi +if [ -z "$QT_MAJOR_VERSION" ]; then + echo "Cannot process version from qglobal.h: $QT_VERSION" + echo "Cannot proceed." + exit 1 +fi + +QT_PACKAGEDATE=`grep '^# *define *QT_PACKAGEDATE_STR' "$relpath"/src/corelib/global/qglobal.h | sed -e 's,^# *define *QT_PACKAGEDATE_STR *"\([^ ]*\)"$,\1,' -e s,-,,g` +if [ -z "$QT_PACKAGEDATE" ]; then + echo "Unable to determine package date from qglobal.h: '$QT_PACKAGEDATE'" + echo "Cannot proceed" + exit 1 +fi + +#------------------------------------------------------------------------------- +# check the license +#------------------------------------------------------------------------------- +COMMERCIAL_USER=ask +CFG_DEV=no +CFG_NOKIA=no +CFG_EMBEDDED=no +EditionString=Commercial + +earlyArgParse() +{ + # parse the arguments, setting things to "yes" or "no" + while [ "$#" -gt 0 ]; do + CURRENT_OPT="$1" + UNKNOWN_ARG=no + case "$1" in + #Autoconf style options + --enable-*) + VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"` + VAL=yes + ;; + --disable-*) + VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"` + VAL=no + ;; + --*=*) + VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"` + VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"` + ;; + --no-*) + VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"` + VAL=no + ;; + -embedded) + VAR=embedded + # this option may or may not be followed by an argument + if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then + VAL=auto + else + shift; + VAL=$1 + fi + ;; + h|help|--help|-help) + if [ "$VAL" = "yes" ]; then + OPT_HELP="$VAL" + COMMERCIAL_USER="yes" #doesn't matter we will display the help + else + UNKNOWN_OPT=yes + COMMERCIAL_USER="yes" #doesn't matter we will display the help + fi + ;; + --*) + VAR=`echo $1 | sed "s,^--\(.*\),\1,"` + VAL=yes + ;; + -*) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + VAL="unknown" + ;; + *) + UNKNOWN_ARG=yes + ;; + esac + if [ "$UNKNOWN_ARG" = "yes" ]; then + shift + continue + fi + shift + + UNKNOWN_OPT=no + case "$VAR" in + embedded) + CFG_EMBEDDED="$VAL" + if [ "$PLATFORM_QWS" != "no" ]; then + if [ "$PLATFORM_QWS" = "maybe" ]; then + PLATFORM_X11=no + PLATFORM_MAC=no + PLATFORM_QWS=yes + fi + else + echo "No license exists to enable Qt for Embedded Linux. Disabling." + CFG_EMBEDDED=no + fi + ;; + developer-build) + CFG_DEV="yes" + ;; + nokia-developer) + CFG_DEV="yes" + CFG_NOKIA="yes" + COMMERCIAL_USER="no" + ;; + commercial) + COMMERCIAL_USER="yes" + ;; + opensource) + COMMERCIAL_USER="no" + ;; + *) + UNKNOWN_OPT=yes + ;; + esac + done +} + +earlyArgParse "$@" + +if [ "$COMMERCIAL_USER" = "ask" ]; then + while true; do + echo "Which edition of Qt do you want to use ?" + echo + echo "Type 'c' if you want to use the Commercial Edition." + echo "Type 'o' if you want to use the Open Source Edition." + echo + read commercial + echo + if [ "$commercial" = "c" ]; then + COMMERCIAL_USER="yes" + break + else [ "$commercial" = "o" ]; + COMMERCIAL_USER="no" + break + fi + done +fi + +if [ "$CFG_NOKIA" = "yes" ]; then + Licensee="Nokia" + Edition="NokiaInternalBuild" + EditionString="Nokia Internal Build" + QT_EDITION="QT_EDITION_OPENSOURCE" + [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes +elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes" ]; then + # Commercial preview release + [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes + Licensee="Preview" + Edition="Preview" + QT_EDITION="QT_EDITION_DESKTOP" + LicenseType="Technology Preview" +elif [ $COMMERCIAL_USER = "yes" ]; then + # one of commercial editions + [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes + [ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes + + # read in the license file + if [ -f "$LICENSE_FILE" ]; then + . "$LICENSE_FILE" >/dev/null 2>&1 + if [ -z "$LicenseKeyExt" ]; then + echo + echo "You are using an old license file." + echo + echo "Please install the license file supplied by Qt Software," + echo "or install the Qt Open Source Edition if you intend to" + echo "develop free software." + exit 1 + fi + if [ -z "$Licensee" ]; then + echo + echo "Invalid license key. Please check the license key." + exit 1 + fi + else + if [ -z "$LicenseKeyExt" ]; then + echo + if echo '\c' | grep '\c' >/dev/null; then + echo -n "Please enter your license key: " + else + echo "Please enter your license key: \c" + fi + read LicenseKeyExt + Licensee="Unknown user" + fi + fi + + # Key verification + echo "$LicenseKeyExt" | grep ".....*-....*-....*-....*-.....*-.....*-...." >/dev/null 2>&1 \ + && LicenseValid="yes" \ + || LicenseValid="no" + if [ "$LicenseValid" != "yes" ]; then + echo + echo "Invalid license key. Please check the license key." + exit 1 + fi + ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1` + PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d - | cut -b 1` + LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -` + LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1` + + # determine which edition we are licensed to use + case "$LicenseTypeCode" in + F4M) + LicenseType="Commercial" + case $ProductCode in + F) + Edition="Universal" + QT_EDITION="QT_EDITION_UNIVERSAL" + ;; + B) + Edition="FullFramework" + EditionString="Full Framework" + QT_EDITION="QT_EDITION_DESKTOP" + ;; + L) + Edition="GUIFramework" + EditionString="GUI Framework" + QT_EDITION="QT_EDITION_DESKTOPLIGHT" + ;; + esac + ;; + Z4M|R4M|Q4M) + LicenseType="Evaluation" + case $ProductCode in + B) + Edition="Evaluation" + QT_EDITION="QT_EDITION_EVALUATION" + ;; + esac + ;; + esac + if [ -z "$LicenseType" -o -z "$Edition" -o -z "$QT_EDITION" ]; then + echo + echo "Invalid license key. Please check the license key." + exit 1 + fi + + # verify that we are licensed to use Qt on this platform + LICENSE_EXTENSION= + if [ "$PlatformCode" = "X" ]; then + # Qt All-OS + LICENSE_EXTENSION="-ALLOS" + elif [ "$PLATFORM_QWS" = "yes" ]; then + case $PlatformCode in + 2|4|8|A|B|E|G|J|K|P|Q|S|U|V|W) + # Qt for Embedded Linux + LICENSE_EXTENSION="-EMBEDDED" + ;; + *) + echo + echo "You are not licensed for Qt for Embedded Linux." + echo + echo "Please contact sales@trolltech.com to upgrade your license" + echo "to include Qt for Embedded Linux, or install the" + echo "Qt Open Source Edition if you intend to develop free software." + exit 1 + ;; + esac + elif [ "$PLATFORM_MAC" = "yes" ]; then + case $PlatformCode in + 2|4|5|7|9|B|C|E|F|G|L|M|U|W|Y) + # Qt/Mac + LICENSE_EXTENSION="-DESKTOP" + ;; + 3|6|8|A|D|H|J|K|P|Q|S|V) + # Embedded no-deploy + LICENSE_EXTENSION="-EMBEDDED" + ;; + *) + echo + echo "You are not licensed for the Qt/Mac platform." + echo + echo "Please contact sales@trolltech.com to upgrade your license" + echo "to include the Qt/Mac platform." + exit 1 + ;; + esac + else + case $PlatformCode in + 2|3|4|5|7|D|E|F|J|M|Q|S|T|V|Z) + # Qt/X11 + LICENSE_EXTENSION="-DESKTOP" + ;; + 6|8|9|A|B|C|G|H|K|P|U|W) + # Embedded no-deploy + LICENSE_EXTENSION="-EMBEDDED" + ;; + *) + echo + echo "You are not licensed for the Qt/X11 platform." + echo + echo "Please contact sales@trolltech.com to upgrade your license to" + echo "include the Qt/X11 platform, or install the Qt Open Source Edition" + echo "if you intend to develop free software." + exit 1 + ;; + esac + fi + + if test -r "$relpath/.LICENSE"; then + # Generic, non-final license + LICENSE_EXTENSION="" + line=`sed 'y/a-z/A-Z/;q' "$relpath"/.LICENSE` + case "$line" in + *BETA*) + Edition=Beta + ;; + *TECHNOLOGY?PREVIEW*) + Edition=Preview + ;; + *EVALUATION*) + Edition=Evaluation + ;; + *) + echo >&2 "Invalid license files; cannot continue" + exit 1 + ;; + esac + Licensee="$Edition" + EditionString="$Edition" + QT_EDITION="QT_EDITION_DESKTOP" + fi + + case "$LicenseFeatureCode" in + G|L) + # US + case "$LicenseType" in + Commercial) + cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}-US" "$outpath/LICENSE" + ;; + Evaluation) + cp -f "$relpath/.LICENSE-EVALUATION-US" "$outpath/LICENSE" + ;; + esac + ;; + 2|5) + # non-US + case "$LicenseType" in + Commercial) + cp -f "$relpath/.LICENSE${LICENSE_EXTENSION}" "$outpath/LICENSE" + ;; + Evaluation) + cp -f "$relpath/.LICENSE-EVALUATION" "$outpath/LICENSE" + ;; + esac + ;; + *) + echo + echo "Invalid license key. Please check the license key." + exit 1 + ;; + esac + if [ '!' -f "$outpath/LICENSE" ]; then + echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with" + echo "this software has disappeared." + echo + echo "Sorry, you are not licensed to use this software." + echo "Try re-installing." + echo + exit 1 + fi +elif [ $COMMERCIAL_USER = "no" ]; then + # Open Source edition - may only be used under the terms of the GPL or LGPL. + [ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes + Licensee="Open Source" + Edition="OpenSource" + EditionString="Open Source" + QT_EDITION="QT_EDITION_OPENSOURCE" +fi + +#------------------------------------------------------------------------------- +# initalize variables +#------------------------------------------------------------------------------- + +SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS" +for varname in $SYSTEM_VARIABLES; do + cmd=`echo \ +'if [ -n "\$'${varname}'" ]; then + QMakeVar set QMAKE_'${varname}' "\$'${varname}'" +fi'` + eval "$cmd" +done +# Use CC/CXX to run config.tests +mkdir -p "$outpath/config.tests" +rm -f "$outpath/config.tests/.qmake.cache" +cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache" + +QMakeVar add styles "cde mac motif plastique cleanlooks windows" +QMakeVar add decorations "default windows styled" +QMakeVar add gfx-drivers "linuxfb" +QMakeVar add kbd-drivers "tty" +QMakeVar add mouse-drivers "pc linuxtp" + +if [ "$CFG_DEV" = "yes" ]; then + QMakeVar add kbd-drivers "um" +fi + +# QTDIR may be set and point to an old or system-wide Qt installation +unset QTDIR + +# the minimum version of libdbus-1 that we require: +MIN_DBUS_1_VERSION=0.62 + +# initalize internal variables +CFG_CONFIGURE_EXIT_ON_ERROR=yes +CFG_PROFILE=no +CFG_EXCEPTIONS=unspecified +CFG_SCRIPTTOOLS=auto # (yes|no|auto) +CFG_XMLPATTERNS=auto # (yes|no|auto) +CFG_INCREMENTAL=auto +CFG_QCONFIG=full +CFG_DEBUG=auto +CFG_MYSQL_CONFIG= +CFG_DEBUG_RELEASE=no +CFG_SHARED=yes +CFG_SM=auto +CFG_XSHAPE=auto +CFG_XINERAMA=runtime +CFG_XFIXES=runtime +CFG_ZLIB=auto +CFG_SQLITE=qt +CFG_GIF=auto +CFG_TIFF=auto +CFG_LIBTIFF=auto +CFG_PNG=yes +CFG_LIBPNG=auto +CFG_JPEG=auto +CFG_LIBJPEG=auto +CFG_MNG=auto +CFG_LIBMNG=auto +CFG_XCURSOR=runtime +CFG_XRANDR=runtime +CFG_XRENDER=auto +CFG_MITSHM=auto +CFG_OPENGL=auto +CFG_SSE=auto +CFG_FONTCONFIG=auto +CFG_QWS_FREETYPE=auto +CFG_LIBFREETYPE=auto +CFG_SQL_AVAILABLE= +QT_DEFAULT_BUILD_PARTS="libs tools examples demos docs translations" +CFG_BUILD_PARTS="" +CFG_NOBUILD_PARTS="" +CFG_RELEASE_QMAKE=no +CFG_PHONON=auto +CFG_PHONON_BACKEND=yes +CFG_SVG=yes +CFG_WEBKIT=auto # (yes|no|auto) + +CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen" +CFG_GFX_ON="linuxfb multiscreen" +CFG_GFX_PLUGIN_AVAILABLE= +CFG_GFX_PLUGIN= +CFG_GFX_OFF= +CFG_KBD_AVAILABLE="tty usb sl5000 yopy vr41xx qvfb" +CFG_KBD_ON="tty" #default, see QMakeVar above +CFG_MOUSE_AVAILABLE="pc bus linuxtp yopy vr41xx tslib qvfb" +CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above + +CFG_ARCH= +CFG_HOST_ARCH= +CFG_KBD_PLUGIN_AVAILABLE= +CFG_KBD_PLUGIN= +CFG_KBD_OFF= +CFG_MOUSE_PLUGIN_AVAILABLE= +CFG_MOUSE_PLUGIN= +CFG_MOUSE_OFF= +CFG_USE_GNUMAKE=no +CFG_IM=yes +CFG_DECORATION_AVAILABLE="styled windows default" +CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default +CFG_DECORATION_PLUGIN_AVAILABLE= +CFG_DECORATION_PLUGIN= +CFG_XINPUT=runtime +CFG_XKB=auto +CFG_NIS=auto +CFG_CUPS=auto +CFG_ICONV=auto +CFG_DBUS=auto +CFG_GLIB=auto +CFG_GSTREAMER=auto +CFG_QGTKSTYLE=auto +CFG_LARGEFILE=auto +CFG_OPENSSL=auto +CFG_PTMALLOC=no +CFG_STL=auto +CFG_PRECOMPILE=auto +CFG_SEPARATE_DEBUG_INFO=auto +CFG_REDUCE_EXPORTS=auto +CFG_MMX=auto +CFG_3DNOW=auto +CFG_SSE=auto +CFG_SSE2=auto +CFG_REDUCE_RELOCATIONS=no +CFG_IPV6=auto +CFG_NAS=no +CFG_QWS_DEPTHS=all +CFG_USER_BUILD_KEY= +CFG_ACCESSIBILITY=auto +CFG_QT3SUPPORT=yes +CFG_ENDIAN=auto +CFG_HOST_ENDIAN=auto +CFG_DOUBLEFORMAT=auto +CFG_ARMFPA=auto +CFG_IWMMXT=no +CFG_CLOCK_GETTIME=auto +CFG_CLOCK_MONOTONIC=auto +CFG_MREMAP=auto +CFG_GETADDRINFO=auto +CFG_IPV6IFNAME=auto +CFG_GETIFADDRS=auto +CFG_INOTIFY=auto +CFG_RPATH=yes +CFG_FRAMEWORK=auto +CFG_MAC_ARCHS= +CFG_MAC_DWARF2=auto +CFG_MAC_XARCH=auto +CFG_MAC_CARBON=yes +CFG_MAC_COCOA=auto +COMMANDLINE_MAC_COCOA=no +CFG_SXE=no +CFG_PREFIX_INSTALL=yes +CFG_SDK= +D_FLAGS= +I_FLAGS= +L_FLAGS= +RPATH_FLAGS= +l_FLAGS= +QCONFIG_FLAGS= +XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" +PLATFORM=$QMAKESPEC +QT_CROSS_COMPILE=no +OPT_CONFIRM_LICENSE=no +OPT_SHADOW=maybe +OPT_FAST=auto +OPT_VERBOSE=no +OPT_HELP= +CFG_SILENT=no +CFG_GRAPHICS_SYSTEM=default + +# initalize variables used for installation +QT_INSTALL_PREFIX= +QT_INSTALL_DOCS= +QT_INSTALL_HEADERS= +QT_INSTALL_LIBS= +QT_INSTALL_BINS= +QT_INSTALL_PLUGINS= +QT_INSTALL_DATA= +QT_INSTALL_TRANSLATIONS= +QT_INSTALL_SETTINGS= +QT_INSTALL_EXAMPLES= +QT_INSTALL_DEMOS= +QT_HOST_PREFIX= + +#flags for SQL drivers +QT_CFLAGS_PSQL= +QT_LFLAGS_PSQL= +QT_CFLAGS_MYSQL= +QT_LFLAGS_MYSQL= +QT_LFLAGS_MYSQL_R= +QT_CFLAGS_SQLITE= +QT_LFLAGS_SQLITE= + +# flags for libdbus-1 +QT_CFLAGS_DBUS= +QT_LIBS_DBUS= + +# flags for Glib (X11 only) +QT_CFLAGS_GLIB= +QT_LIBS_GLIB= + +# flags for GStreamer (X11 only) +QT_CFLAGS_GSTREAMER= +QT_LIBS_GSTREAMER= + +#------------------------------------------------------------------------------- +# check SQL drivers, mouse drivers and decorations available in this package +#------------------------------------------------------------------------------- + +# opensource version removes some drivers, so force them to be off +CFG_SQL_tds=no +CFG_SQL_oci=no +CFG_SQL_db2=no + +CFG_SQL_AVAILABLE= +if [ -d "$relpath/src/plugins/sqldrivers" ]; then + for a in "$relpath/src/plugins/sqldrivers/"*; do + if [ -d "$a" ]; then + base_a=`basename $a` + CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}" + eval "CFG_SQL_${base_a}=auto" + fi + done +fi + +CFG_DECORATION_PLUGIN_AVAILABLE= +if [ -d "$relpath/src/plugins/decorations" ]; then + for a in "$relpath/src/plugins/decorations/"*; do + if [ -d "$a" ]; then + base_a=`basename $a` + CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}" + fi + done +fi + +CFG_KBD_PLUGIN_AVAILABLE= +if [ -d "$relpath/src/plugins/kbddrivers" ]; then + for a in "$relpath/src/plugins/kbddrivers/"*; do + if [ -d "$a" ]; then + base_a=`basename $a` + CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}" + fi + done +fi + +CFG_MOUSE_PLUGIN_AVAILABLE= +if [ -d "$relpath/src/plugins/mousedrivers" ]; then + for a in "$relpath/src/plugins/mousedrivers/"*; do + if [ -d "$a" ]; then + base_a=`basename $a` + CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}" + fi + done +fi + +CFG_GFX_PLUGIN_AVAILABLE= +if [ -d "$relpath/src/plugins/gfxdrivers" ]; then + for a in "$relpath/src/plugins/gfxdrivers/"*; do + if [ -d "$a" ]; then + base_a=`basename $a` + CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}" + fi + done + CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off +fi + +#------------------------------------------------------------------------------- +# parse command line arguments +#------------------------------------------------------------------------------- + +# parse the arguments, setting things to "yes" or "no" +while [ "$#" -gt 0 ]; do + CURRENT_OPT="$1" + UNKNOWN_ARG=no + case "$1" in + #Autoconf style options + --enable-*) + VAR=`echo $1 | sed "s,^--enable-\(.*\),\1,"` + VAL=yes + ;; + --disable-*) + VAR=`echo $1 | sed "s,^--disable-\(.*\),\1,"` + VAL=no + ;; + --*=*) + VAR=`echo $1 | sed "s,^--\(.*\)=.*,\1,"` + VAL=`echo $1 | sed "s,^--.*=\(.*\),\1,"` + ;; + --no-*) + VAR=`echo $1 | sed "s,^--no-\(.*\),\1,"` + VAL=no + ;; + --*) + VAR=`echo $1 | sed "s,^--\(.*\),\1,"` + VAL=yes + ;; + #Qt plugin options + -no-*-*|-plugin-*-*|-qt-*-*) + VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` + VAL=`echo $1 | sed "s,^-\([^-]*\).*,\1,"` + ;; + #Qt style no options + -no-*) + VAR=`echo $1 | sed "s,^-no-\(.*\),\1,"` + VAL=no + ;; + #Qt style yes options + -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-svg|-webkit|-scripttools|-rpath|-force-pkg-config) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + VAL=yes + ;; + #Qt style options that pass an argument + -qconfig) + if [ "$PLATFORM_QWS" = "yes" ]; then + CFG_QCONFIG="$VAL" + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL=$1 + else + UNKNOWN_ARG=yes + fi + ;; + -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL="$1" + ;; + #Qt style complex options in one command + -enable-*|-disable-*) + VAR=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"` + VAL=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` + ;; + #Qt Builtin/System style options + -no-*|-system-*|-qt-*) + VAR=`echo $1 | sed "s,^-[^-]*-\(.*\),\1,"` + VAL=`echo $1 | sed "s,^-\([^-]*\)-.*,\1,"` + ;; + #Options that cannot be generalized + -k|-continue) + VAR=fatal_error + VAL=no + ;; + -embedded) + VAR=embedded + # this option may or may not be followed by an argument + if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then + VAL=auto + else + shift; + VAL=$1 + fi + ;; + -opengl) + VAR=opengl + # this option may or may not be followed by an argument + if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then + VAL=yes + else + shift; + VAL=$1 + fi + ;; + -hostprefix) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + # this option may or may not be followed by an argument + if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then + VAL=$outpath + else + shift; + VAL=$1 + fi + ;; + -host-*-endian) + VAR=host_endian + VAL=`echo $1 | sed "s,^-.*-\(.*\)-.*,\1,"` + ;; + -*-endian) + VAR=endian + VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"` + ;; + -qtnamespace) + VAR="qtnamespace" + shift + VAL="$1" + ;; + -graphicssystem) + VAR="graphicssystem" + shift + VAL=$1 + ;; + -qtlibinfix) + VAR="qtlibinfix" + shift + VAL="$1" + ;; + -D?*|-D) + VAR="add_define" + if [ "$1" = "-D" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-D,,'` + fi + ;; + -I?*|-I) + VAR="add_ipath" + if [ "$1" = "-I" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-I,,'` + fi + ;; + -L?*|-L) + VAR="add_lpath" + if [ "$1" = "-L" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-L,,'` + fi + ;; + -R?*|-R) + VAR="add_rpath" + if [ "$1" = "-R" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-R,,'` + fi + ;; + -l?*) + VAR="add_link" + VAL=`echo $1 | sed 's,-l,,'` + ;; + -F?*|-F) + VAR="add_fpath" + if [ "$1" = "-F" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-F,,'` + fi + ;; + -fw?*|-fw) + VAR="add_framework" + if [ "$1" = "-fw" ]; then + shift + VAL="$1" + else + VAL=`echo $1 | sed 's,-fw,,'` + fi + ;; + -*) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + VAL="unknown" + ;; + *) + UNKNOWN_ARG=yes + ;; + esac + if [ "$UNKNOWN_ARG" = "yes" ]; then + echo "$1: unknown argument" + OPT_HELP=yes + ERROR=yes + shift + continue + fi + shift + + UNKNOWN_OPT=no + case "$VAR" in + qt3support) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_QT3SUPPORT="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + accessibility) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_ACCESSIBILITY="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + license) + LICENSE_FILE="$VAL" + ;; + gnumake) + CFG_USE_GNUMAKE="$VAL" + ;; + mysql_config) + CFG_MYSQL_CONFIG="$VAL" + ;; + prefix) + QT_INSTALL_PREFIX="$VAL" + ;; + hostprefix) + QT_HOST_PREFIX="$VAL" + ;; + force-pkg-config) + QT_FORCE_PKGCONFIG=yes + ;; + docdir) + QT_INSTALL_DOCS="$VAL" + ;; + headerdir) + QT_INSTALL_HEADERS="$VAL" + ;; + plugindir) + QT_INSTALL_PLUGINS="$VAL" + ;; + datadir) + QT_INSTALL_DATA="$VAL" + ;; + libdir) + QT_INSTALL_LIBS="$VAL" + ;; + qtnamespace) + QT_NAMESPACE="$VAL" + ;; + qtlibinfix) + QT_LIBINFIX="$VAL" + ;; + translationdir) + QT_INSTALL_TRANSLATIONS="$VAL" + ;; + sysconfdir|settingsdir) + QT_INSTALL_SETTINGS="$VAL" + ;; + examplesdir) + QT_INSTALL_EXAMPLES="$VAL" + ;; + demosdir) + QT_INSTALL_DEMOS="$VAL" + ;; + qconfig) + CFG_QCONFIG="$VAL" + ;; + bindir) + QT_INSTALL_BINS="$VAL" + ;; + buildkey) + CFG_USER_BUILD_KEY="$VAL" + ;; + sxe) + CFG_SXE="$VAL" + ;; + embedded) + CFG_EMBEDDED="$VAL" + if [ "$PLATFORM_QWS" != "no" ]; then + if [ "$PLATFORM_QWS" = "maybe" ]; then + PLATFORM_X11=no + PLATFORM_MAC=no + PLATFORM_QWS=yes + fi + else + echo "No license exists to enable Qt for Embedded Linux. Disabling." + CFG_EMBEDDED=no + fi + ;; + sse) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_SSE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + endian) + if [ "$VAL" = "little" ]; then + CFG_ENDIAN="Q_LITTLE_ENDIAN" + elif [ "$VAL" = "big" ]; then + CFG_ENDIAN="Q_BIG_ENDIAN" + else + UNKNOWN_OPT=yes + fi + ;; + host_endian) + if [ "$VAL" = "little" ]; then + CFG_HOST_ENDIAN="Q_LITTLE_ENDIAN" + elif [ "$VAL" = "big" ]; then + CFG_HOST_ENDIAN="Q_BIG_ENDIAN" + else + UNKNOWN_OPT=yes + fi + ;; + armfpa) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_ARMFPA="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + depths) + CFG_QWS_DEPTHS="$VAL" + ;; + opengl) + if [ "$VAL" = "auto" ] || [ "$VAL" = "desktop" ] || + [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || + [ "$VAL" = "es1cl" ] || [ "$VAL" = "es1" ] || [ "$VAL" = "es2" ]; then + CFG_OPENGL="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + graphicssystem) + if [ "$PLATFORM_QWS" = "yes" ]; then + echo "Error: Graphics System plugins are not supported on QWS." + echo " On QWS, the graphics system API is part of the QScreen plugin architecture " + echo " rather than existing as a separate plugin." + echo "" + UNKNOWN_OPT=yes + else + if [ "$VAL" = "opengl" ]; then + CFG_GRAPHICS_SYSTEM="opengl" + elif [ "$VAL" = "raster" ]; then + CFG_GRAPHICS_SYSTEM="raster" + else + UNKNOWN_OPT=yes + fi + fi + ;; + + qvfb) # left for commandline compatibility, not documented + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + if [ "$VAL" = "yes" ]; then + QMakeVar add gfx-drivers qvfb + QMakeVar add kbd-drivers qvfb + QMakeVar add mouse-drivers qvfb + CFG_GFX_ON="$CFG_GFX_ON qvfb" + CFG_KBD_ON="$CFG_KBD_ON qvfb" + CFG_MOUSE_ON="$CFG_MOUSE_ON qvfb" + fi + else + UNKNOWN_OPT=yes + fi + ;; + nomake) + CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS $VAL" + ;; + make) + CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL" + ;; + x11) + if [ "$PLATFORM_MAC" = "yes" ]; then + PLATFORM_MAC=no + elif [ "$PLATFORM_QWS" = "yes" ]; then + PLATFORM_QWS=no + fi + if [ "$CFG_FRAMEWORK" = "auto" ]; then + CFG_FRAMEWORK=no + fi + PLATFORM_X11=yes + ;; + sdk) + if [ "$PLATFORM_MAC" = "yes" ]; then + CFG_SDK="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + dwarf2) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_MAC_DWARF2="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + arch) + if [ "$PLATFORM_MAC" = "yes" ]; then + CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL" + else + CFG_ARCH=$VAL + fi + ;; + host-arch) + CFG_HOST_ARCH=$VAL + ;; + universal) + if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then + CFG_MAC_ARCHS="$CFG_MAC_ARCHS x86 ppc" + else + UNKNOWN_OPT=yes + fi + ;; + cocoa) + if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" = "yes" ]; then + CFG_MAC_COCOA="$VAL" + COMMANDLINE_MAC_COCOA="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + framework) + if [ "$PLATFORM_MAC" = "yes" ]; then + CFG_FRAMEWORK="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + profile) + if [ "$VAL" = "yes" ]; then + CFG_PROFILE=yes + QMakeVar add QMAKE_CFLAGS -pg + QMakeVar add QMAKE_CXXFLAGS -pg + QMakeVar add QMAKE_LFLAGS -pg + QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip" + else + UNKNOWN_OPT=yes + fi + ;; + exceptions|g++-exceptions) + if [ "$VAL" = "no" ]; then + CFG_EXCEPTIONS=no + elif [ "$VAL" = "yes" ]; then + CFG_EXCEPTIONS=yes + else + UNKNOWN_OPT=yes + fi + ;; + platform) + PLATFORM="$VAL" + # keep compatibility with old platform names + case $PLATFORM in + aix-64) + PLATFORM=aix-xlc-64 + ;; + hpux-o64) + PLATFORM=hpux-acc-o64 + ;; + hpux-n64) + PLATFORM=hpux-acc-64 + ;; + hpux-acc-n64) + PLATFORM=hpux-acc-64 + ;; + irix-n32) + PLATFORM=irix-cc + ;; + irix-64) + PLATFORM=irix-cc-64 + ;; + irix-cc-n64) + PLATFORM=irix-cc-64 + ;; + reliant-64) + PLATFORM=reliant-cds-64 + ;; + solaris-64) + PLATFORM=solaris-cc-64 + ;; + solaris-64) + PLATFORM=solaris-cc-64 + ;; + openunix-cc) + PLATFORM=unixware-cc + ;; + openunix-g++) + PLATFORM=unixware-g++ + ;; + unixware7-cc) + PLATFORM=unixware-cc + ;; + unixware7-g++) + PLATFORM=unixware-g++ + ;; + macx-g++-64) + PLATFORM=macx-g++ + NATIVE_64_ARCH= + case `uname -p` in + i386) NATIVE_64_ARCH="x86_64" ;; + powerpc) NATIVE_64_ARCH="ppc64" ;; + *) echo "WARNING: Can't detect CPU architecture for macx-g++-64" ;; + esac + if [ ! -z "$NATIVE_64_ARCH" ]; then + QTCONFIG_CONFIG="$QTCONFIG_CONFIG $NATIVE_64_ARCH" + CFG_MAC_ARCHS="$CFG_MAC_ARCHS $NATIVE_64_ARCH" + fi + ;; + esac + ;; + xplatform) + XPLATFORM="$VAL" + ;; + debug-and-release) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_DEBUG_RELEASE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + optimized-qmake) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_RELEASE_QMAKE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + release) + if [ "$VAL" = "yes" ]; then + CFG_DEBUG=no + elif [ "$VAL" = "no" ]; then + CFG_DEBUG=yes + else + UNKNOWN_OPT=yes + fi + ;; + prefix-install) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PREFIX_INSTALL="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + debug) + CFG_DEBUG="$VAL" + ;; + developer-build|commercial|opensource|nokia-developer) + # These switches have been dealt with already + ;; + static) + if [ "$VAL" = "yes" ]; then + CFG_SHARED=no + elif [ "$VAL" = "no" ]; then + CFG_SHARED=yes + else + UNKNOWN_OPT=yes + fi + ;; + incremental) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_INCREMENTAL="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + fatal_error) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_CONFIGURE_EXIT_ON_ERROR="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + feature-*) + if [ "$PLATFORM_QWS" = "yes" ]; then + FEATURE=`echo $VAR | sed "s,^[^-]*-\([^-]*\),\1," | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if [ "$VAL" = "no" ]; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_$FEATURE" + elif [ "$VAL" = "yes" ] || [ "$VAL" = "unknown" ]; then + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_$FEATURE" + else + UNKNOWN_OPT=yes + fi + else + UNKNOWN_OPT=yes + fi + ;; + shared) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_SHARED="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + gif) + [ "$VAL" = "qt" ] && VAL=yes + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_GIF="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + sm) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_SM="$VAL" + else + UNKNOWN_OPT=yes + fi + + ;; + xinerama) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then + CFG_XINERAMA="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xshape) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XSHAPE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xinput) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then + CFG_XINPUT="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + stl) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_STL="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + pch) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PRECOMPILE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + separate-debug-info) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_SEPARATE_DEBUG_INFO="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + reduce-exports) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_REDUCE_EXPORTS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + mmx) + if [ "$VAL" = "no" ]; then + CFG_MMX="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + 3dnow) + if [ "$VAL" = "no" ]; then + CFG_3DNOW="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + sse) + if [ "$VAL" = "no" ]; then + CFG_SSE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + sse2) + if [ "$VAL" = "no" ]; then + CFG_SSE2="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + iwmmxt) + CFG_IWMMXT="yes" + ;; + reduce-relocations) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_REDUCE_RELOCATIONS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + freetype) + [ "$VAL" = "qt" ] && VAL=yes + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_QWS_FREETYPE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + zlib) + [ "$VAL" = "qt" ] && VAL=yes + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_ZLIB="$VAL" + else + UNKNOWN_OPT=yes + fi + # No longer supported: + #[ "$VAL" = "no" ] && CFG_LIBPNG=no + ;; + sqlite) + if [ "$VAL" = "system" ]; then + CFG_SQLITE=system + else + UNKNOWN_OPT=yes + fi + ;; + libpng) + [ "$VAL" = "yes" ] && VAL=qt + if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_LIBPNG="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + libjpeg) + [ "$VAL" = "yes" ] && VAL=qt + if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_LIBJPEG="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + libmng) + [ "$VAL" = "yes" ] && VAL=qt + if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_LIBMNG="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + libtiff) + [ "$VAL" = "yes" ] && VAL=qt + if [ "$VAL" = "qt" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then + CFG_LIBTIFF="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + nas-sound) + if [ "$VAL" = "system" ] || [ "$VAL" = "no" ]; then + CFG_NAS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xcursor) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then + CFG_XCURSOR="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xfixes) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then + CFG_XFIXES="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xrandr) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then + CFG_XRANDR="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xrender) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XRENDER="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + mitshm) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_MITSHM="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + fontconfig) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_FONTCONFIG="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + xkb) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XKB="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + cups) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_CUPS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + iconv) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_ICONV="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + glib) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_GLIB="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + gstreamer) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_GSTREAMER="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + gtkstyle) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_QGTKSTYLE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + qdbus|dbus) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then + CFG_DBUS="$VAL" + elif [ "$VAL" = "runtime" ]; then + CFG_DBUS="yes" + else + UNKNOWN_OPT=yes + fi + ;; + dbus-linked) + if [ "$VAL" = "yes" ]; then + CFG_DBUS="linked" + else + UNKNOWN_OPT=yes + fi + ;; + nis) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_NIS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + largefile) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_LARGEFILE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + openssl) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_OPENSSL="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + openssl-linked) + if [ "$VAL" = "yes" ]; then + CFG_OPENSSL="linked" + else + UNKNOWN_OPT=yes + fi + ;; + ptmalloc) + if [ "$VAL" = "yes" ]; then + CFG_PTMALLOC="yes" + else + UNKNOWN_OPT=yes + fi + ;; + + xmlpatterns) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_XMLPATTERNS="yes" + else + if [ "$VAL" = "no" ]; then + CFG_XMLPATTERNS="no" + else + UNKNOWN_OPT=yes + fi + fi + ;; + scripttools) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_SCRIPTTOOLS="yes" + else + if [ "$VAL" = "no" ]; then + CFG_SCRIPTTOOLS="no" + else + UNKNOWN_OPT=yes + fi + fi + ;; + svg) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_SVG="yes" + else + if [ "$VAL" = "no" ]; then + CFG_SVG="no" + else + UNKNOWN_OPT=yes + fi + fi + ;; + webkit) + if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then + CFG_WEBKIT="yes" + else + if [ "$VAL" = "no" ]; then + CFG_WEBKIT="no" + else + UNKNOWN_OPT=yes + fi + fi + ;; + confirm-license) + if [ "$VAL" = "yes" ]; then + OPT_CONFIRM_LICENSE="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + h|help) + if [ "$VAL" = "yes" ]; then + OPT_HELP="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + sql-*|gfx-*|decoration-*|kbd-*|mouse-*) + # if Qt style options were used, $VAL can be "no", "qt", or "plugin" + # if autoconf style options were used, $VAL can be "yes" or "no" + [ "$VAL" = "yes" ] && VAL=qt + # now $VAL should be "no", "qt", or "plugin"... double-check + if [ "$VAL" != "no" ] && [ "$VAL" != "qt" ] && [ "$VAL" != "plugin" ]; then + UNKNOWN_OPT=yes + fi + # now $VAL is "no", "qt", or "plugin" + OPT="$VAL" + VAL=`echo $VAR | sed "s,^[^-]*-\([^-]*\).*,\1,"` + VAR=`echo $VAR | sed "s,^\([^-]*\).*,\1,"` + + # Grab the available values + case "$VAR" in + sql) + avail="$CFG_SQL_AVAILABLE" + ;; + gfx) + avail="$CFG_GFX_AVAILABLE" + if [ "$OPT" = "plugin" ]; then + avail="$CFG_GFX_PLUGIN_AVAILABLE" + fi + ;; + decoration) + avail="$CFG_DECORATION_AVAILABLE" + if [ "$OPT" = "plugin" ]; then + avail="$CFG_DECORATION_PLUGIN_AVAILABLE" + fi + ;; + kbd) + avail="$CFG_KBD_AVAILABLE" + if [ "$OPT" = "plugin" ]; then + avail="$CFG_KBD_PLUGIN_AVAILABLE" + fi + ;; + mouse) + avail="$CFG_MOUSE_AVAILABLE" + if [ "$OPT" = "plugin" ]; then + avail="$CFG_MOUSE_PLUGIN_AVAILABLE" + fi + ;; + *) + avail="" + echo "BUG: Unhandled type $VAR used in $CURRENT_OPT" + ;; + esac + + # Check that that user's value is available. + found=no + for d in $avail; do + if [ "$VAL" = "$d" ]; then + found=yes + break + fi + done + [ "$found" = yes ] || ERROR=yes + + if [ "$VAR" = "sql" ]; then + # set the CFG_SQL_driver + eval "CFG_SQL_$VAL=\$OPT" + continue + fi + + if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then + if [ "$OPT" = "plugin" ]; then + [ "$VAR" = "decoration" ] && QMakeVar del "${VAR}s" "$VAL" + [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` && CFG_DECORATION_PLUGIN="$CFG_DECORATION_PLUGIN ${VAL}" + [ "$VAR" = "kbd" ] && QMakeVar del "${VAR}s" "$VAL" + [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_KBD_PLUGIN="$CFG_KBD_PLUGIN ${VAL}" + [ "$VAR" = "mouse" ] && QMakeVar del "${VAR}s" "$VAL" + [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` && CFG_MOUSE_PLUGIN="$CFG_MOUSE_PLUGIN ${VAL}" + [ "$VAR" = "gfx" ] && QMakeVar del "${VAR}s" "$VAL" + [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` && CFG_GFX_PLUGIN="${CFG_GFX_PLUGIN} ${VAL}" + VAR="${VAR}-${OPT}" + else + if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "decoration" ] || [ "$VAR" = "mouse" ]; then + [ "$VAR" = "gfx" ] && CFG_GFX_ON="$CFG_GFX_ON $VAL" + [ "$VAR" = "kbd" ] && CFG_KBD_ON="$CFG_KBD_ON $VAL" + [ "$VAR" = "decoration" ] && CFG_DECORATION_ON="$CFG_DECORATION_ON $VAL" + [ "$VAR" = "mouse" ] && CFG_MOUSE_ON="$CFG_MOUSE_ON $VAL" + VAR="${VAR}-driver" + fi + fi + QMakeVar add "${VAR}s" "${VAL}" + elif [ "$OPT" = "no" ]; then + PLUG_VAR="${VAR}-plugin" + if [ "$VAR" = "gfx" ] || [ "$VAR" = "kbd" ] || [ "$VAR" = "mouse" ]; then + IN_VAR="${VAR}-driver" + else + IN_VAR="${VAR}" + fi + [ "$VAR" = "decoration" ] && CFG_DECORATION_ON=`echo "${CFG_DECORATION_ON} " | sed "s,${VAL} ,,g"` + [ "$VAR" = "gfx" ] && CFG_GFX_ON=`echo "${CFG_GFX_ON} " | sed "s,${VAL} ,,g"` + [ "$VAR" = "kbd" ] && CFG_KBD_ON=`echo "${CFG_KBD_ON} " | sed "s,${VAL} ,,g"` + [ "$VAR" = "mouse" ] && CFG_MOUSE_ON=`echo "${CFG_MOUSE_ON} " | sed "s,${VAL} ,,g"` + QMakeVar del "${IN_VAR}s" "$VAL" + QMakeVar del "${PLUG_VAR}s" "$VAL" + fi + if [ "$ERROR" = "yes" ]; then + echo "$CURRENT_OPT: unknown argument" + OPT_HELP=yes + fi + ;; + v|verbose) + if [ "$VAL" = "yes" ]; then + if [ "$OPT_VERBOSE" = "$VAL" ]; then # takes two verboses to turn on qmake debugs + QMAKE_SWITCHES="$QMAKE_SWITCHES -d" + else + OPT_VERBOSE=yes + fi + elif [ "$VAL" = "no" ]; then + if [ "$OPT_VERBOSE" = "$VAL" ] && echo "$QMAKE_SWITCHES" | grep ' -d' >/dev/null 2>&1; then + QMAKE_SWITCHES=`echo $QMAKE_SWITCHES | sed "s, -d,,"` + else + OPT_VERBOSE=no + fi + else + UNKNOWN_OPT=yes + fi + ;; + fast) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + OPT_FAST="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + rpath) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_RPATH="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + add_define) + D_FLAGS="$D_FLAGS \"$VAL\"" + ;; + add_ipath) + I_FLAGS="$I_FLAGS -I\"${VAL}\"" + ;; + add_lpath) + L_FLAGS="$L_FLAGS -L\"${VAL}\"" + ;; + add_rpath) + RPATH_FLAGS="$RPATH_FLAGS \"${VAL}\"" + ;; + add_link) + l_FLAGS="$l_FLAGS -l\"${VAL}\"" + ;; + add_fpath) + if [ "$PLATFORM_MAC" = "yes" ]; then + L_FLAGS="$L_FLAGS -F\"${VAL}\"" + I_FLAGS="$I_FLAGS -F\"${VAL}\"" + else + UNKNOWN_OPT=yes + fi + ;; + add_framework) + if [ "$PLATFORM_MAC" = "yes" ]; then + l_FLAGS="$l_FLAGS -framework \"${VAL}\"" + else + UNKNOWN_OPT=yes + fi + ;; + silent) + CFG_SILENT="$VAL" + ;; + phonon) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PHONON="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + phonon-backend) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_PHONON_BACKEND="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; + *) + UNKNOWN_OPT=yes + ;; + esac + if [ "$UNKNOWN_OPT" = "yes" ]; then + echo "${CURRENT_OPT}: invalid command-line switch" + OPT_HELP=yes + ERROR=yes + fi +done + +if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then + echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library." + CFG_QT3SUPPORT="no" +fi + +# update QT_CONFIG to show our current predefined configuration +case "$CFG_QCONFIG" in +minimal|small|medium|large|full) + # these are a sequence of increasing functionality + for c in minimal small medium large full; do + QT_CONFIG="$QT_CONFIG $c-config" + [ "$CFG_QCONFIG" = $c ] && break + done + ;; +*) + # not known to be sufficient for anything + if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then + echo >&2 "Error: configuration file not found:" + echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" + OPT_HELP=yes + fi +esac + +#------------------------------------------------------------------------------- +# build tree initialization +#------------------------------------------------------------------------------- + +# where to find which.. +unixtests="$relpath/config.tests/unix" +mactests="$relpath/config.tests/mac" +WHICH="$unixtests/which.test" + +PERL=`$WHICH perl 2>/dev/null` + +# find out which awk we want to use, prefer gawk, then nawk, then regular awk +AWK= +for e in gawk nawk awk; do + if "$WHICH" $e >/dev/null 2>&1 && ( $e -f /dev/null /dev/null ) >/dev/null 2>&1; then + AWK=$e + break + fi +done + +### skip this if the user just needs help... +if [ "$OPT_HELP" != "yes" ]; then + +# is this a shadow build? +if [ "$OPT_SHADOW" = "maybe" ]; then + OPT_SHADOW=no + if [ "$relpath" != "$outpath" ] && [ '!' -f "$outpath/configure" ]; then + if [ -h "$outpath" ]; then + [ "$relpath" -ef "$outpath" ] || OPT_SHADOW=yes + else + OPT_SHADOW=yes + fi + fi +fi +if [ "$OPT_SHADOW" = "yes" ]; then + if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then + echo >&2 "You cannot make a shadow build from a source tree containing a previous build." + echo >&2 "Cannot proceed." + exit 1 + fi + [ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..." +fi + +if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then + echo + echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux" + echo "By default, Qt is built in release mode with separate debug information, so" + echo "-debug-and-release is not necessary anymore" + echo +fi + +# detect build style +if [ "$CFG_DEBUG" = "auto" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + CFG_DEBUG_RELEASE=yes + CFG_DEBUG=yes + elif [ "$CFG_DEV" = "yes" ]; then + CFG_DEBUG_RELEASE=no + CFG_DEBUG=yes + else + CFG_DEBUG_RELEASE=no + CFG_DEBUG=no + fi +fi +if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG build_all" +fi + +if [ "$CFG_SILENT" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG silent" +fi + +# if the source tree is different from the build tree, +# symlink or copy part of the sources +if [ "$OPT_SHADOW" = "yes" ]; then + echo "Preparing build tree..." + + if [ -z "$PERL" ]; then + echo + echo "You need perl in your PATH to make a shadow build." + echo "Cannot proceed." + exit 1 + fi + + [ -d "$outpath/bin" ] || mkdir -p "$outpath/bin" + + # symlink the qmake directory + find "$relpath/qmake" | while read a; do + my_a=`echo "$a" | sed "s,^${relpath}/,${outpath}/,"` + if [ '!' -f "$my_a" ]; then + if [ -d "$a" ]; then + # directories are created... + mkdir -p "$my_a" + else + a_dir=`dirname "$my_a"` + [ -d "$a_dir" ] || mkdir -p "$a_dir" + # ... and files are symlinked + case `basename "$a"` in + *.o|*.d|GNUmakefile*|qmake) + ;; + *) + rm -f "$my_a" + ln -s "$a" "$my_a" + ;; + esac + fi + fi + done + + # make a syncqt script that can be used in the shadow + rm -f "$outpath/bin/syncqt" + if [ -x "$relpath/bin/syncqt" ]; then + mkdir -p "$outpath/bin" + echo "#!/bin/sh" >"$outpath/bin/syncqt" + echo "QTDIR=\"$relpath\"; export QTDIR" >>"$outpath/bin/syncqt" + echo "perl \"$relpath/bin/syncqt\" -outdir \"$outpath\" $*" >>"$outpath/bin/syncqt" + chmod 755 "$outpath/bin/syncqt" + fi + + # symlink the mkspecs directory + mkdir -p "$outpath/mkspecs" + rm -f "$outpath"/mkspecs/* + ln -s "$relpath"/mkspecs/* "$outpath/mkspecs" + rm -f "$outpath/mkspecs/default" + + # symlink the doc directory + rm -rf "$outpath/doc" + ln -s "$relpath/doc" "$outpath/doc" + + # make sure q3porting.xml can be found + mkdir -p "$outpath/tools/porting/src" + rm -f "$outpath/tools/porting/src/q3porting.xml" + ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src" +fi + +# symlink files from src/gui/embedded neccessary to build qvfb +if [ "$CFG_DEV" = "yes" -o "$Edition" = "Qtopia" ]; then + for f in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp; do + dest="${relpath}/tools/qvfb/${f}" + rm -f "$dest" + ln -s "${relpath}/src/gui/embedded/${f}" "${dest}" + done +fi + +# symlink fonts to be able to run application from build directory +if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then + if [ "$PLATFORM" = "$XPLATFORM" ]; then + mkdir -p "${outpath}/lib" + ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts" + fi +fi + +if [ "$OPT_FAST" = "auto" ]; then + if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then + OPT_FAST=yes + else + OPT_FAST=no + fi +fi + +# find a make command +if [ -z "$MAKE" ]; then + MAKE= + for mk in gmake make; do + if "$WHICH" $mk >/dev/null 2>&1; then + MAKE=`$WHICH $mk` + break + fi + done + if [ -z "$MAKE" ]; then + echo >&2 "You don't seem to have 'make' or 'gmake' in your PATH." + echo >&2 "Cannot proceed." + exit 1 + fi +fi + +fi ### help + +#------------------------------------------------------------------------------- +# auto-detect all that hasn't been specified in the arguments +#------------------------------------------------------------------------------- + +[ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto +if [ "$CFG_EMBEDDED" != "no" ]; then + case "$UNAME_SYSTEM:$UNAME_RELEASE" in + Darwin:*) + [ -z "$PLATFORM" ] && PLATFORM=qws/macx-generic-g++ + if [ -z "$XPLATFORM" ]; then + [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic + XPLATFORM="qws/macx-$CFG_EMBEDDED-g++" + fi + ;; + FreeBSD:*) + [ -z "$PLATFORM" ] && PLATFORM=qws/freebsd-generic-g++ + if [ -z "$XPLATFORM" ]; then + [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic + XPLATFORM="qws/freebsd-$CFG_EMBEDDED-g++" + fi + ;; + SunOS:5*) + [ -z "$PLATFORM" ] && PLATFORM=qws/solaris-generic-g++ + if [ -z "$XPLATFORM" ]; then + [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic + XPLATFORM="qws/solaris-$CFG_EMBEDDED-g++" + fi + ;; + Linux:*) + if [ -z "$PLATFORM" ]; then + case "$UNAME_MACHINE" in + *86) + PLATFORM=qws/linux-x86-g++ + ;; + *86_64) + PLATFORM=qws/linux-x86_64-g++ + ;; + *ppc) + PLATFORM=qws/linux-ppc-g++ + ;; + *) + PLATFORM=qws/linux-generic-g++ + ;; + esac + fi + if [ -z "$XPLATFORM" ]; then + if [ "$CFG_EMBEDDED" = "auto" ]; then + if [ -n "$CFG_ARCH" ]; then + CFG_EMBEDDED=$CFG_ARCH + else + case "$UNAME_MACHINE" in + *86) + CFG_EMBEDDED=x86 + ;; + *86_64) + CFG_EMBEDDED=x86_64 + ;; + *ppc) + CFG_EMBEDDED=ppc + ;; + *) + CFG_EMBEDDED=generic + ;; + esac + fi + fi + XPLATFORM="qws/linux-$CFG_EMBEDDED-g++" + fi + ;; + CYGWIN*:*) + CFG_EMBEDDED=x86 + ;; + *) + echo "Qt for Embedded Linux is not supported on this platform. Disabling." + CFG_EMBEDDED=no + PLATFORM_QWS=no + ;; + esac +fi +if [ -z "$PLATFORM" ]; then + PLATFORM_NOTES= + case "$UNAME_SYSTEM:$UNAME_RELEASE" in + Darwin:*) + if [ "$PLATFORM_MAC" = "yes" ]; then + PLATFORM=macx-g++ + # PLATFORM=macx-xcode + else + PLATFORM=darwin-g++ + fi + ;; + AIX:*) + #PLATFORM=aix-g++ + #PLATFORM=aix-g++-64 + PLATFORM=aix-xlc + #PLATFORM=aix-xlc-64 + PLATFORM_NOTES=" + - Also available for AIX: aix-g++ aix-g++-64 aix-xlc-64 + " + ;; + GNU:*) + PLATFORM=hurd-g++ + ;; + dgux:*) + PLATFORM=dgux-g++ + ;; +# DYNIX/ptx:4*) +# PLATFORM=dynix-g++ +# ;; + ULTRIX:*) + PLATFORM=ultrix-g++ + ;; + FreeBSD:*) + PLATFORM=freebsd-g++ + PLATFORM_NOTES=" + - Also available for FreeBSD: freebsd-icc + " + ;; + OpenBSD:*) + PLATFORM=openbsd-g++ + ;; + NetBSD:*) + PLATFORM=netbsd-g++ + ;; + BSD/OS:*|BSD/386:*) + PLATFORM=bsdi-g++ + ;; + IRIX*:*) + #PLATFORM=irix-g++ + PLATFORM=irix-cc + #PLATFORM=irix-cc-64 + PLATFORM_NOTES=" + - Also available for IRIX: irix-g++ irix-cc-64 + " + ;; + HP-UX:*) + case "$UNAME_MACHINE" in + ia64) + #PLATFORM=hpuxi-acc-32 + PLATFORM=hpuxi-acc-64 + PLATFORM_NOTES=" + - Also available for HP-UXi: hpuxi-acc-32 + " + ;; + *) + #PLATFORM=hpux-g++ + PLATFORM=hpux-acc + #PLATFORM=hpux-acc-64 + #PLATFORM=hpux-cc + #PLATFORM=hpux-acc-o64 + PLATFORM_NOTES=" + - Also available for HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64 + " + ;; + esac + ;; + OSF1:*) + #PLATFORM=tru64-g++ + PLATFORM=tru64-cxx + PLATFORM_NOTES=" + - Also available for Tru64: tru64-g++ + " + ;; + Linux:*) + case "$UNAME_MACHINE" in + x86_64|s390x|ppc64) + PLATFORM=linux-g++-64 + ;; + *) + PLATFORM=linux-g++ + ;; + esac + PLATFORM_NOTES=" + - Also available for Linux: linux-kcc linux-icc linux-cxx + " + ;; + SunOS:5*) + #PLATFORM=solaris-g++ + PLATFORM=solaris-cc + #PLATFORM=solaris-cc64 + PLATFORM_NOTES=" + - Also available for Solaris: solaris-g++ solaris-cc-64 + " + ;; + ReliantUNIX-*:*|SINIX-*:*) + PLATFORM=reliant-cds + #PLATFORM=reliant-cds-64 + PLATFORM_NOTES=" + - Also available for Reliant UNIX: reliant-cds-64 + " + ;; + CYGWIN*:*) + PLATFORM=cygwin-g++ + ;; + LynxOS*:*) + PLATFORM=lynxos-g++ + ;; + OpenUNIX:*) + #PLATFORM=unixware-g++ + PLATFORM=unixware-cc + PLATFORM_NOTES=" + - Also available for OpenUNIX: unixware-g++ + " + ;; + UnixWare:*) + #PLATFORM=unixware-g++ + PLATFORM=unixware-cc + PLATFORM_NOTES=" + - Also available for UnixWare: unixware-g++ + " + ;; + SCO_SV:*) + #PLATFORM=sco-g++ + PLATFORM=sco-cc + PLATFORM_NOTES=" + - Also available for SCO OpenServer: sco-g++ + " + ;; + UNIX_SV:*) + PLATFORM=unixware-g++ + ;; + *) + if [ "$OPT_HELP" != "yes" ]; then + echo + for p in $PLATFORMS; do + echo " $relconf $* -platform $p" + done + echo >&2 + echo " The build script does not currently recognize all" >&2 + echo " platforms supported by Qt." >&2 + echo " Rerun this script with a -platform option listed to" >&2 + echo " set the system/compiler combination you use." >&2 + echo >&2 + exit 2 + fi + esac +fi + +if [ "$PLATFORM_QWS" = "yes" ]; then + CFG_SM=no + PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"` +else + PLATFORMS=`find "$relpath/mkspecs/" -type f | grep -v qws | sed "s,$relpath/mkspecs/qws/,,"` +fi + +[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM" +if [ -d "$PLATFORM" ]; then + QMAKESPEC="$PLATFORM" +else + QMAKESPEC="$relpath/mkspecs/${PLATFORM}" +fi +if [ -d "$XPLATFORM" ]; then + XQMAKESPEC="$XPLATFORM" +else + XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}" +fi +if [ "$PLATFORM" != "$XPLATFORM" ]; then + QT_CROSS_COMPILE=yes + QMAKE_CONFIG="$QMAKE_CONFIG cross_compile" +fi + +if [ "$PLATFORM_MAC" = "yes" ]; then + if [ `basename $QMAKESPEC` = "macx-xcode" ] || [ `basename $XQMAKESPEC` = "macx-xcode" ]; then + echo >&2 + echo " Platform 'macx-xcode' should not be used when building Qt/Mac." >&2 + echo " Please build Qt/Mac with 'macx-g++', then if you would like to" >&2 + echo " use mac-xcode on your application code it can link to a Qt/Mac" >&2 + echo " built with 'macx-g++'" >&2 + echo >&2 + exit 2 + fi +fi + +# check specified platforms are supported +if [ '!' -d "$QMAKESPEC" ]; then + echo + echo " The specified system/compiler is not supported:" + echo + echo " $QMAKESPEC" + echo + echo " Please see the README file for a complete list." + echo + exit 2 +fi +if [ '!' -d "$XQMAKESPEC" ]; then + echo + echo " The specified system/compiler is not supported:" + echo + echo " $XQMAKESPEC" + echo + echo " Please see the README file for a complete list." + echo + exit 2 +fi +if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then + echo + echo " The specified system/compiler port is not complete:" + echo + echo " $XQMAKESPEC/qplatformdefs.h" + echo + echo " Please contact qt-bugs@trolltech.com." + echo + exit 2 +fi + +# now look at the configs and figure out what platform we are config'd for +[ "$CFG_EMBEDDED" = "no" ] \ + && [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \ + && PLATFORM_X11=yes +### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes + +if [ "$UNAME_SYSTEM" = "SunOS" ]; then + # Solaris 2.5 and 2.6 have libposix4, which was renamed to librt for Solaris 7 and up + if echo $UNAME_RELEASE | grep "^5\.[5|6]" >/dev/null 2>&1; then + sed -e "s,-lrt,-lposix4," "$XQMAKESPEC/qmake.conf" > "$XQMAKESPEC/qmake.conf.new" + mv "$XQMAKESPEC/qmake.conf.new" "$XQMAKESPEC/qmake.conf" + fi +fi + +#------------------------------------------------------------------------------- +# determine the system architecture +#------------------------------------------------------------------------------- +if [ "$OPT_VERBOSE" = "yes" ]; then + echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)" +fi + +if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH" ]; then + if [ "$CFG_ARCH" != "$CFG_EMBEDDED" ]; then + echo "" + echo "You have specified a target architecture with -embedded and -arch." + echo "The two architectures you have specified are different, so we can" + echo "not proceed. Either set both to be the same, or only use -embedded." + echo "" + exit 1 + fi +fi + +if [ -z "${CFG_HOST_ARCH}" ]; then + case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in + IRIX*:*:*) + CFG_HOST_ARCH=`uname -p` + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " SGI ($CFG_HOST_ARCH)" + fi + ;; + SunOS:5*:*) + case "$UNAME_MACHINE" in + sun4u*|sun4v*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " Sun SPARC (sparc)" + fi + CFG_HOST_ARCH=sparc + ;; + i86pc) + case "$PLATFORM" in + *-64) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 64-bit AMD 80x86 (x86_64)" + fi + CFG_HOST_ARCH=x86_64 + ;; + *) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32-bit Intel 80x86 (i386)" + fi + CFG_HOST_ARCH=i386 + ;; + esac + esac + ;; + Darwin:*:*) + case "$UNAME_MACHINE" in + Power?Macintosh) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32-bit Apple PowerPC (powerpc)" + fi + ;; + x86) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32-bit Intel 80x86 (i386)" + fi + ;; + esac + CFG_HOST_ARCH=macosx + ;; + AIX:*:00????????00) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 64-bit IBM PowerPC (powerpc)" + fi + CFG_HOST_ARCH=powerpc + ;; + HP-UX:*:9000*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " HP PA-RISC (parisc)" + fi + CFG_HOST_ARCH=parisc + ;; + *:*:i?86) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32-bit Intel 80x86 (i386)" + fi + CFG_HOST_ARCH=i386 + ;; + *:*:x86_64|*:*:amd64) + if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32 bit on 64-bit AMD 80x86 (i386)" + fi + CFG_HOST_ARCH=i386 + else + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 64-bit AMD 80x86 (x86_64)" + fi + CFG_HOST_ARCH=x86_64 + fi + ;; + *:*:ppc) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 32-bit PowerPC (powerpc)" + fi + CFG_HOST_ARCH=powerpc + ;; + *:*:ppc64) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " 64-bit PowerPC (powerpc)" + fi + CFG_HOST_ARCH=powerpc + ;; + *:*:s390*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " IBM S/390 (s390)" + fi + CFG_HOST_ARCH=s390 + ;; + *:*:arm*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " ARM (arm)" + fi + CFG_HOST_ARCH=arm + ;; + Linux:*:sparc*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " Linux on SPARC" + fi + CFG_HOST_ARCH=sparc + ;; + *:*:*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " Trying '$UNAME_MACHINE'..." + fi + CFG_HOST_ARCH="$UNAME_MACHINE" + ;; + esac +fi + +if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then + if [ -n "$CFG_ARCH" ]; then + CFG_EMBEDDED=$CFG_ARCH + fi + + case "$CFG_EMBEDDED" in + x86) + CFG_ARCH=i386 + ;; + x86_64) + CFG_ARCH=x86_64 + ;; + ipaq|sharp) + CFG_ARCH=arm + ;; + dm7000) + CFG_ARCH=powerpc + ;; + dm800) + CFG_ARCH=mips + ;; + sh4al) + CFG_ARCH=sh4a + ;; + *) + CFG_ARCH="$CFG_EMBEDDED" + ;; + esac +elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then + CFG_ARCH=$CFG_HOST_ARCH +fi + +if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_ARCH' is supported" + fi +else + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_ARCH' is unsupported, using 'generic'" + fi + CFG_ARCH=generic +fi +if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then + if [ -d "$relpath/src/corelib/arch/$CFG_HOST_ARCH" ]; then + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_HOST_ARCH' is supported" + fi + else + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_HOST_ARCH' is unsupported, using 'generic'" + fi + CFG_HOST_ARCH=generic + fi +fi + +if [ "$OPT_VERBOSE" = "yes" ]; then + echo "System architecture: '$CFG_ARCH'" + if [ "$PLATFORM_QWS" = "yes" ]; then + echo "Host architecture: '$CFG_HOST_ARCH'" + fi +fi + +#------------------------------------------------------------------------------- +# tests that don't need qmake (must be run before displaying help) +#------------------------------------------------------------------------------- + +if [ -z "$PKG_CONFIG" ]; then + # See if PKG_CONFIG is set in the mkspec: + PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '` +fi +if [ -z "$PKG_CONFIG" ]; then + PKG_CONFIG=`$WHICH pkg-config 2>/dev/null` +fi + +# Work out if we can use pkg-config +if [ "$QT_CROSS_COMPILE" = "yes" ]; then + if [ "$QT_FORCE_PKGCONFIG" = "yes" ]; then + echo >&2 "" + echo >&2 "You have asked to use pkg-config and are cross-compiling." + echo >&2 "Please make sure you have a correctly set-up pkg-config" + echo >&2 "environment!" + echo >&2 "" + if [ -z "$PKG_CONFIG_PATH" ]; then + echo >&2 "" + echo >&2 "Warning: PKG_CONFIG_PATH has not been set. This could mean" + echo >&2 "the host compiler's .pc files will be used. This is probably" + echo >&2 "not what you want." + echo >&2 "" + elif [ -z "$PKG_CONFIG_SYSROOT" ] && [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then + echo >&2 "" + echo >&2 "Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not" + echo >&2 "been set. This means your toolchain's .pc files must contain" + echo >&2 "the paths to the toolchain's libraries & headers. If configure" + echo >&2 "tests are failing, please check these files." + echo >&2 "" + fi + else + PKG_CONFIG="" + fi +fi + +# find the default framework value +if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then + if [ "$CFG_FRAMEWORK" = "auto" ]; then + CFG_FRAMEWORK="$CFG_SHARED" + elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then + echo + echo "WARNING: Using static linking will disable the use of Mac frameworks." + echo + CFG_FRAMEWORK="no" + fi +else + CFG_FRAMEWORK=no +fi + +QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1` +TEST_COMPILER="$CC" +[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER + +# auto-detect precompiled header support +if [ "$CFG_PRECOMPILE" = "auto" ]; then + if [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then + CFG_PRECOMPILE=no + elif "$unixtests/precomp.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then + CFG_PRECOMPILE=no + else + CFG_PRECOMPILE=yes + fi +elif [ "$CFG_PRECOMPILE" = "yes" ] && [ `echo "$CFG_MAC_ARCHS" | wc -w` -gt 1 ]; then + echo + echo "WARNING: Using universal binaries disables precompiled headers." + echo + CFG_PRECOMPILE=no +fi + +#auto-detect DWARF2 on the mac +if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_DWARF2" == "auto" ]; then + if "$mactests/dwarf2.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then + CFG_MAC_DWARF2=no + else + CFG_MAC_DWARF2=yes + fi +fi + +# auto-detect support for -Xarch on the mac +if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" == "auto" ]; then + if "$mactests/xarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests" ; then + CFG_MAC_XARCH=no + else + CFG_MAC_XARCH=yes + fi +fi + +# don't autodetect support for separate debug info on objcopy when +# cross-compiling as lots of toolchains seems to have problems with this +if [ "$QT_CROSS_COMPILE" = "yes" ] && [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then + CFG_SEPARATE_DEBUG_INFO="no" +fi + +# auto-detect support for separate debug info in objcopy +if [ "$CFG_SEPARATE_DEBUG_INFO" != "no" ] && [ "$CFG_SHARED" = "yes" ]; then + TEST_COMPILER_CFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CFLAGS[^_].*=%%p' | tr '\n' ' '` + TEST_COMPILER_CXXFLAGS=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%QMAKE_CXXFLAGS[^_].*=%%p' | tr '\n' ' '` + TEST_OBJCOPY=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_OBJCOPY" | sed "s%.* *= *\(.*\)$%\1%" | tail -1` + COMPILER_WITH_FLAGS="$TEST_COMPILER $TEST_COMPILER_CXXFLAGS" + COMPILER_WITH_FLAGS=`echo "$COMPILER_WITH_FLAGS" | sed -e "s%\\$\\$QMAKE_CFLAGS%$TEST_COMPILER_CFLAGS%g"` + if "$unixtests/objcopy.test" "$COMPILER_WITH_FLAGS" "$TEST_OBJCOPY" "$OPT_VERBOSE"; then + CFG_SEPARATE_DEBUG_INFO=no + else + case "$PLATFORM" in + hpux-*) + # binutils on HP-UX is buggy; default to no. + CFG_SEPARATE_DEBUG_INFO=no + ;; + *) + CFG_SEPARATE_DEBUG_INFO=yes + ;; + esac + fi +fi + +# auto-detect -fvisibility support +if [ "$CFG_REDUCE_EXPORTS" = "auto" ]; then + if "$unixtests/fvisibility.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then + CFG_REDUCE_EXPORTS=no + else + CFG_REDUCE_EXPORTS=yes + fi +fi + +# detect the availability of the -Bsymbolic-functions linker optimization +if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then + if "$unixtests/bsymbolic_functions.test" "$TEST_COMPILER" "$OPT_VERBOSE"; then + CFG_REDUCE_RELOCATIONS=no + else + CFG_REDUCE_RELOCATIONS=yes + fi +fi + +# auto-detect GNU make support +if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then + CFG_USE_GNUMAKE=yes +fi + +# If -opengl wasn't specified, don't try to auto-detect +if [ "$PLATFORM_QWS" = "yes" ] && [ "$CFG_OPENGL" = "auto" ]; then + CFG_OPENGL=no +fi + +# mac +if [ "$PLATFORM_MAC" = "yes" ]; then + if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then + CFG_OPENGL=desktop + fi +fi + +# find the default framework value +if [ "$PLATFORM_MAC" = "yes" ] && [ "$PLATFORM" != "macx-xlc" ]; then + if [ "$CFG_FRAMEWORK" = "auto" ]; then + CFG_FRAMEWORK="$CFG_SHARED" + elif [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_SHARED" = "no" ]; then + echo + echo "WARNING: Using static linking will disable the use of Mac frameworks." + echo + CFG_FRAMEWORK="no" + fi +else + CFG_FRAMEWORK=no +fi + +# x11 tests are done after qmake is built + + +#setup the build parts +if [ -z "$CFG_BUILD_PARTS" ]; then + CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS" + + # don't build tools by default when cross-compiling + if [ "$PLATFORM" != "$XPLATFORM" ]; then + CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"` + fi +fi +for nobuild in $CFG_NOBUILD_PARTS; do + CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"` +done +if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then +# echo +# echo "WARNING: libs is a required part of the build." +# echo + CFG_BUILD_PARTS="$CFG_BUILD_PARTS libs" +fi + +#------------------------------------------------------------------------------- +# post process QT_INSTALL_* variables +#------------------------------------------------------------------------------- + +#prefix +if [ -z "$QT_INSTALL_PREFIX" ]; then + if [ "$CFG_DEV" = "yes" ]; then + QT_INSTALL_PREFIX="$outpath" # At Trolltech, we use sandboxed builds by default + elif [ "$PLATFORM_QWS" = "yes" ]; then + QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}" + if [ "$PLATFORM" != "$XPLATFORM" ]; then + QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}" + fi + else + QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION + fi +fi +QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"` + +#docs +if [ -z "$QT_INSTALL_DOCS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_DOCS="/Developer/Documentation/Qt" + fi + fi + [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback + +fi +QT_INSTALL_DOCS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DOCS"` + +#headers +if [ -z "$QT_INSTALL_HEADERS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + if [ "$CFG_FRAMEWORK" = "yes" ]; then + QT_INSTALL_HEADERS= + fi + fi + fi + [ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS="$QT_INSTALL_PREFIX/include" + +fi +QT_INSTALL_HEADERS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_HEADERS"` + +#libs +if [ -z "$QT_INSTALL_LIBS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + if [ "$CFG_FRAMEWORK" = "yes" ]; then + QT_INSTALL_LIBS="/Libraries/Frameworks" + fi + fi + fi + [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback +fi +QT_INSTALL_LIBS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_LIBS"` + +#bins +if [ -z "$QT_INSTALL_BINS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_BINS="/Developer/Applications/Qt" + fi + fi + [ -z "$QT_INSTALL_BINS" ] && QT_INSTALL_BINS="$QT_INSTALL_PREFIX/bin" #fallback + +fi +QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"` + +#plugins +if [ -z "$QT_INSTALL_PLUGINS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins" + fi + fi + [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback +fi +QT_INSTALL_PLUGINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PLUGINS"` + +#data +if [ -z "$QT_INSTALL_DATA" ]; then #default + QT_INSTALL_DATA="$QT_INSTALL_PREFIX" +fi +QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"` + +#translations +if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default + QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations" +fi +QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"` + +#settings +if [ -z "$QT_INSTALL_SETTINGS" ]; then #default + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_SETTINGS=/Library/Preferences/Qt + else + QT_INSTALL_SETTINGS=/etc/xdg + fi +fi +QT_INSTALL_SETTINGS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_SETTINGS"` + +#examples +if [ -z "$QT_INSTALL_EXAMPLES" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_EXAMPLES="/Developer/Examples/Qt" + fi + fi + [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback +fi +QT_INSTALL_EXAMPLES=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_EXAMPLES"` + +#demos +if [ -z "$QT_INSTALL_DEMOS" ]; then #default + if [ "$CFG_PREFIX_INSTALL" = "no" ]; then + if [ "$PLATFORM_MAC" = "yes" ]; then + QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos" + fi + fi + [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos" +fi +QT_INSTALL_DEMOS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DEMOS"` + +#------------------------------------------------------------------------------- +# help - interactive parts of the script _after_ this section please +#------------------------------------------------------------------------------- + +# next, emit a usage message if something failed. +if [ "$OPT_HELP" = "yes" ]; then + [ "x$ERROR" = "xyes" ] && echo + if [ "$CFG_NIS" = "no" ]; then + NSY=" " + NSN="*" + else + NSY="*" + NSN=" " + fi + if [ "$CFG_CUPS" = "no" ]; then + CUY=" " + CUN="*" + else + CUY="*" + CUN=" " + fi + if [ "$CFG_ICONV" = "no" ]; then + CIY=" " + CIN="*" + else + CIY="*" + CIN=" " + fi + if [ "$CFG_LARGEFILE" = "no" ]; then + LFSY=" " + LFSN="*" + else + LFSY="*" + LFSN=" " + fi + if [ "$CFG_STL" = "auto" ] || [ "$CFG_STL" = "yes" ]; then + SHY="*" + SHN=" " + else + SHY=" " + SHN="*" + fi + if [ "$CFG_IPV6" = "auto" ]; then + I6Y="*" + I6N=" " + fi + if [ "$CFG_PRECOMPILE" = "auto" ] || [ "$CFG_PRECOMPILE" = "no" ]; then + PHY=" " + PHN="*" + else + PHY="*" + PHN=" " + fi + + cat <] [-prefix-install] [-bindir ] [-libdir ] + [-docdir ] [-headerdir ] [-plugindir ] [-datadir ] + [-translationdir ] [-sysconfdir ] [-examplesdir ] + [-demosdir ] [-buildkey ] [-release] [-debug] + [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile] + [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility] + [-accessibility] [-no-stl] [-stl] [-no-sql-] [-sql-] + [-plugin-sql-] [-system-sqlite] [-no-qt3support] [-qt3support] + [-platform] [-D ] [-I ] [-L ] [-help] + [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff] + [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng] + [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make ] + [-no-make ] [-R ] [-l ] [-no-rpath] [-rpath] [-continue] + [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv] + [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] + [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2] + [-qtnamespace ] [-qtlibinfix ] [-separate-debug-info] [-armfpa] + [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns] + [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend] + [-no-openssl] [-openssl] [-openssl-linked] + [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] + [-no-scripttools] [-scripttools] + + [additional platform specific options (see below)] + + +Installation options: + + These are optional, but you may specify install directories. + + -prefix ...... This will install everything relative to + (default $QT_INSTALL_PREFIX) +EOF +if [ "$PLATFORM_QWS" = "yes" ]; then +cat < ......... Executables will be installed to + (default PREFIX/bin) + -libdir ......... Libraries will be installed to + (default PREFIX/lib) + -docdir ......... Documentation will be installed to + (default PREFIX/doc) + -headerdir ...... Headers will be installed to + (default PREFIX/include) + -plugindir ...... Plugins will be installed to + (default PREFIX/plugins) + -datadir ........ Data used by Qt programs will be installed to + (default PREFIX) + -translationdir . Translations of Qt programs will be installed to + (default PREFIX/translations) + -sysconfdir ..... Settings used by Qt programs will be looked for in + (default PREFIX/etc/settings) + -examplesdir .... Examples will be installed to + (default PREFIX/examples) + -demosdir ....... Demos will be installed to + (default PREFIX/demos) + + You may use these options to turn on strict plugin loading. + + -buildkey .... Build the Qt library and plugins using the specified + . When the library loads plugins, it will only + load those that have a matching key. + +Configure options: + + The defaults (*) are usually acceptable. A plus (+) denotes a default value + that needs to be evaluated. If the evaluation succeeds, the feature is + included. Here is a short explanation of each option: + + * -release ........... Compile and link Qt with debugging turned off. + -debug ............. Compile and link Qt with debugging turned on. + -debug-and-release . Compile and link two versions of Qt, with and without + debugging turned on (Mac only). + + -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting) + + -opensource......... Compile and link the Open-Source Edition of Qt. + -commercial......... Compile and link the Commercial Edition of Qt. + + + * -shared ............ Create and use shared Qt libraries. + -static ............ Create and use static Qt libraries. + + * -no-fast ........... Configure Qt normally by generating Makefiles for all + project files. + -fast .............. Configure Qt quickly by generating Makefiles only for + library and subdirectory targets. All other Makefiles + are created as wrappers, which will in turn run qmake. + + -no-largefile ...... Disables large file support. + + -largefile ......... Enables Qt to access files larger than 4 GB. + +EOF +if [ "$PLATFORM_QWS" = "yes" ]; then + EXCN="*" + EXCY=" " +else + EXCN=" " + EXCY="*" +fi +if [ "$CFG_DBUS" = "no" ]; then + DBY=" " + DBN="+" +else + DBY="+" + DBN=" " +fi + + cat << EOF + $EXCN -no-exceptions ..... Disable exceptions on compilers that support it. + $EXCY -exceptions ........ Enable exceptions on compilers that support it. + + -no-accessibility .. Do not compile Accessibility support. + * -accessibility ..... Compile Accessibility support. + + $SHN -no-stl ............ Do not compile STL support. + $SHY -stl ............... Compile STL support. + + -no-sql- ... Disable SQL entirely. + -qt-sql- ... Enable a SQL in the QtSql library, by default + none are turned on. + -plugin-sql- Enable SQL as a plugin to be linked to + at run time. + + Possible values for : + [ $CFG_SQL_AVAILABLE ] + + -system-sqlite ..... Use sqlite from the operating system. + + -no-qt3support ..... Disables the Qt 3 support functionality. + * -qt3support ........ Enables the Qt 3 support functionality. + + -no-xmlpatterns .... Do not build the QtXmlPatterns module. + + -xmlpatterns ....... Build the QtXmlPatterns module. + QtXmlPatterns is built if a decent C++ compiler + is used and exceptions are enabled. + + -no-phonon ......... Do not build the Phonon module. + + -phonon ............ Build the Phonon module. + Phonon is built if a decent C++ compiler is used. + -no-phonon-backend.. Do not build the platform phonon plugin. + + -phonon-backend..... Build the platform phonon plugin. + + -no-svg ............ Do not build the SVG module. + + -svg ............... Build the SVG module. + + -no-webkit ......... Do not build the WebKit module. + + -webkit ............ Build the WebKit module. + WebKit is built if a decent C++ compiler is used. + + -no-scripttools .... Do not build the QtScriptTools module. + + -scripttools ....... Build the QtScriptTools module. + + -platform target ... The operating system and compiler you are building + on ($PLATFORM). + + See the README file for a list of supported + operating systems and compilers. +EOF +if [ "${PLATFORM_QWS}" != "yes" ]; then +cat << EOF + -graphicssystem Sets an alternate graphics system. Available options are: + raster - Software rasterizer + opengl - Rendering via OpenGL, Experimental! +EOF +fi +cat << EOF + + -no-mmx ............ Do not compile with use of MMX instructions. + -no-3dnow .......... Do not compile with use of 3DNOW instructions. + -no-sse ............ Do not compile with use of SSE instructions. + -no-sse2 ........... Do not compile with use of SSE2 instructions. + + -qtnamespace Wraps all Qt library code in 'namespace {...}'. + -qtlibinfix Renames all libQt*.so to libQt*.so. + + -D ........ Add an explicit define to the preprocessor. + -I ........ Add an explicit include path. + -L ........ Add an explicit library path. + + -help, -h .......... Display this information. + +Third Party Libraries: + + -qt-zlib ........... Use the zlib bundled with Qt. + + -system-zlib ....... Use zlib from the operating system. + See http://www.gzip.org/zlib + + -no-gif ............ Do not compile the plugin for GIF reading support. + * -qt-gif ............ Compile the plugin for GIF reading support. + See also src/plugins/imageformats/gif/qgifhandler.h + + -no-libtiff ........ Do not compile the plugin for TIFF support. + -qt-libtiff ........ Use the libtiff bundled with Qt. + + -system-libtiff .... Use libtiff from the operating system. + See http://www.libtiff.org + + -no-libpng ......... Do not compile in PNG support. + -qt-libpng ......... Use the libpng bundled with Qt. + + -system-libpng ..... Use libpng from the operating system. + See http://www.libpng.org/pub/png + + -no-libmng ......... Do not compile the plugin for MNG support. + -qt-libmng ......... Use the libmng bundled with Qt. + + -system-libmng ..... Use libmng from the operating system. + See http://www.libmng.com + + -no-libjpeg ........ Do not compile the plugin for JPEG support. + -qt-libjpeg ........ Use the libjpeg bundled with Qt. + + -system-libjpeg .... Use libjpeg from the operating system. + See http://www.ijg.org + + -no-openssl ........ Do not compile support for OpenSSL. + + -openssl ........... Enable run-time OpenSSL support. + -openssl-linked .... Enabled linked OpenSSL support. + + -ptmalloc .......... Override the system memory allocator with ptmalloc. + (Experimental.) + +Additional options: + + -make ....... Add part to the list of parts to be built at make time. + ($QT_DEFAULT_BUILD_PARTS) + -nomake ..... Exclude part from the list of parts to be built. + + -R ........ Add an explicit runtime library path to the Qt + libraries. + -l ........ Add an explicit library. + + -no-rpath .......... Do not use the library install path as a runtime + library path. + + -rpath ............. Link Qt libraries and executables using the library + install path as a runtime library path. Equivalent + to -R install_libpath + + -continue .......... Continue as far as possible if an error occurs. + + -verbose, -v ....... Print verbose information about each step of the + configure process. + + -silent ............ Reduce the build output so that warnings and errors + can be seen more easily. + + * -no-optimized-qmake ... Do not build qmake optimized. + -optimized-qmake ...... Build qmake optimized. + + $NSN -no-nis ............ Do not compile NIS support. + $NSY -nis ............... Compile NIS support. + + $CUN -no-cups ........... Do not compile CUPS support. + $CUY -cups .............. Compile CUPS support. + Requires cups/cups.h and libcups.so.2. + + $CIN -no-iconv .......... Do not compile support for iconv(3). + $CIY -iconv ............. Compile support for iconv(3). + + $PHN -no-pch ............ Do not use precompiled header support. + $PHY -pch ............... Use precompiled header support. + + $DBN -no-dbus ........... Do not compile the QtDBus module. + $DBY -dbus .............. Compile the QtDBus module and dynamically load libdbus-1. + -dbus-linked ....... Compile the QtDBus module and link to libdbus-1. + + -reduce-relocations ..... Reduce relocations in the libraries through extra + linker optimizations (Qt/X11 and Qt for Embedded Linux only; + experimental; needs GNU ld >= 2.18). +EOF + +if [ "$CFG_SEPARATE_DEBUG_INFO" = "auto" ]; then + if [ "$QT_CROSS_COMPILE" = "yes" ]; then + SBY="" + SBN="*" + else + SBY="*" + SBN=" " + fi +elif [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then + SBY="*" + SBN=" " +else + SBY=" " + SBN="*" +fi + +if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then + + cat << EOF + + $SBN -no-separate-debug-info . Do not store debug information in a separate file. + $SBY -separate-debug-info .... Strip debug information into a separate .debug file. + +EOF + +fi # X11/QWS + +if [ "$PLATFORM_X11" = "yes" ]; then + if [ "$CFG_SM" = "no" ]; then + SMY=" " + SMN="*" + else + SMY="*" + SMN=" " + fi + if [ "$CFG_XSHAPE" = "no" ]; then + SHY=" " + SHN="*" + else + SHY="*" + SHN=" " + fi + if [ "$CFG_XINERAMA" = "no" ]; then + XAY=" " + XAN="*" + else + XAY="*" + XAN=" " + fi + if [ "$CFG_FONTCONFIG" = "no" ]; then + FCGY=" " + FCGN="*" + else + FCGY="*" + FCGN=" " + fi + if [ "$CFG_XCURSOR" = "no" ]; then + XCY=" " + XCN="*" + else + XCY="*" + XCN=" " + fi + if [ "$CFG_XFIXES" = "no" ]; then + XFY=" " + XFN="*" + else + XFY="*" + XFN=" " + fi + if [ "$CFG_XRANDR" = "no" ]; then + XZY=" " + XZN="*" + else + XZY="*" + XZN=" " + fi + if [ "$CFG_XRENDER" = "no" ]; then + XRY=" " + XRN="*" + else + XRY="*" + XRN=" " + fi + if [ "$CFG_MITSHM" = "no" ]; then + XMY=" " + XMN="*" + else + XMY="*" + XMN=" " + fi + if [ "$CFG_XINPUT" = "no" ]; then + XIY=" " + XIN="*" + else + XIY="*" + XIN=" " + fi + if [ "$CFG_XKB" = "no" ]; then + XKY=" " + XKN="*" + else + XKY="*" + XKN=" " + fi + if [ "$CFG_IM" = "no" ]; then + IMY=" " + IMN="*" + else + IMY="*" + IMN=" " + fi + cat << EOF + +Qt/X11 only: + + -no-gtkstyle ....... Do not build the GTK theme integration. + + -gtkstyle .......... Build the GTK theme integration. + + * -no-nas-sound ...... Do not compile in NAS sound support. + -system-nas-sound .. Use NAS libaudio from the operating system. + See http://radscan.com/nas.html + + -no-opengl ......... Do not support OpenGL. + + -opengl ...... Enable OpenGL support. + With no parameter, this will auto-detect the "best" + OpenGL API to use. If desktop OpenGL is avaliable, it + will be used. Use desktop, es1, es1cl or es2 for + to force the use of the Desktop (OpenGL 1.x or 2.x), + OpenGL ES 1.x Common profile, 1.x Common Lite profile + or 2.x APIs instead. On X11, the EGL API will be used + to manage GL contexts in the case of OpenGL ES. + + $SMN -no-sm ............. Do not support X Session Management. + $SMY -sm ................ Support X Session Management, links in -lSM -lICE. + + $SHN -no-xshape ......... Do not compile XShape support. + $SHY -xshape ............ Compile XShape support. + Requires X11/extensions/shape.h. + + $XAN -no-xinerama ....... Do not compile Xinerama (multihead) support. + $XAY -xinerama .......... Compile Xinerama support. + Requires X11/extensions/Xinerama.h and libXinerama. + By default, Xinerama support will be compiled if + available and the shared libraries are dynamically + loaded at runtime. + + $XCN -no-xcursor ........ Do not compile Xcursor support. + $XCY -xcursor ........... Compile Xcursor support. + Requires X11/Xcursor/Xcursor.h and libXcursor. + By default, Xcursor support will be compiled if + available and the shared libraries are dynamically + loaded at runtime. + + $XFN -no-xfixes ......... Do not compile Xfixes support. + $XFY -xfixes ............ Compile Xfixes support. + Requires X11/extensions/Xfixes.h and libXfixes. + By default, Xfixes support will be compiled if + available and the shared libraries are dynamically + loaded at runtime. + + $XZN -no-xrandr ......... Do not compile Xrandr (resize and rotate) support. + $XZY -xrandr ............ Compile Xrandr support. + Requires X11/extensions/Xrandr.h and libXrandr. + + $XRN -no-xrender ........ Do not compile Xrender support. + $XRY -xrender ........... Compile Xrender support. + Requires X11/extensions/Xrender.h and libXrender. + + $XMN -no-mitshm ......... Do not compile MIT-SHM support. + $XMY -mitshm ............ Compile MIT-SHM support. + Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h + + $FCGN -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support. + $FCGY -fontconfig ........ Compile FontConfig support. + Requires fontconfig/fontconfig.h, libfontconfig, + freetype.h and libfreetype. + + $XIN -no-xinput.......... Do not compile Xinput support. + $XIY -xinput ............ Compile Xinput support. This also enabled tablet support + which requires IRIX with wacom.h and libXi or + XFree86 with X11/extensions/XInput.h and libXi. + + $XKN -no-xkb ............ Do not compile XKB (X KeyBoard extension) support. + $XKY -xkb ............... Compile XKB support. + +EOF +fi + +if [ "$PLATFORM_MAC" = "yes" ]; then + cat << EOF + +Qt/Mac only: + + -Fstring ........... Add an explicit framework path. + -fw string ......... Add an explicit framework. + + -cocoa ............. Build the Cocoa version of Qt. Note that -no-framework + and -static is not supported with -cocoa. Specifying + this option creates Qt binaries that requires Mac OS X + 10.5 or higher. + + * -framework ......... Build Qt as a series of frameworks and + link tools against those frameworks. + -no-framework ...... Do not build Qt as a series of frameworks. + + * -dwarf2 ............ Enable dwarf2 debugging symbols. + -no-dwarf2 ......... Disable dwarf2 debugging symbols. + + -universal ......... Equivalent to -arch "ppc x86" + + -arch ....... Build Qt for + Example values for : x86 ppc x86_64 ppc64 + Multiple -arch arguments can be specified, 64-bit archs + will be built with the Cocoa framework. + + -sdk ......... Build Qt using Apple provided SDK . This option requires gcc 4. + To use a different SDK with gcc 3.3, set the SDKROOT environment variable. + +EOF +fi + +if [ "$PLATFORM_QWS" = "yes" ]; then + cat << EOF + +Qt for Embedded Linux only: + + -xplatform target ... The target platform when cross-compiling. + + -no-feature- Do not compile in . + -feature- .. Compile in . The available features + are described in src/corelib/global/qfeatures.txt + + -embedded .... This will enable the embedded build, you must have a + proper license for this switch to work. + Example values for : arm mips x86 generic + + -armfpa ............. Target platform is uses the ARM-FPA floating point format. + -no-armfpa .......... Target platform does not use the ARM-FPA floating point format. + + The floating point format is usually autodetected by configure. Use this + to override the detected value. + + -little-endian ...... Target platform is little endian (LSB first). + -big-endian ......... Target platform is big endian (MSB first). + + -host-little-endian . Host platform is little endian (LSB first). + -host-big-endian .... Host platform is big endian (MSB first). + + You only need to specify the endianness when + cross-compiling, otherwise the host + endianness will be used. + + -no-freetype ........ Do not compile in Freetype2 support. + -qt-freetype ........ Use the libfreetype bundled with Qt. + * -system-freetype .... Use libfreetype from the operating system. + See http://www.freetype.org/ + + -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the + default ($CFG_QCONFIG). + + -depths ...... Comma-separated list of supported bit-per-pixel + depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'. + + -qt-decoration- + + +
+ +

%2

+

When connecting to: %3.

+
    +
  • Check the address for errors such as ww.trolltech.com + instead of www.trolltech.com
  • +
  • If the address is correct, try checking the network + connection.
  • +
  • If your computer or network is protected by a firewall or + proxy, make sure that the browser demo is permitted to access + the network.
  • +
+

+
+ + diff --git a/demos/browser/main.cpp b/demos/browser/main.cpp new file mode 100644 index 0000000..a59b2fb --- /dev/null +++ b/demos/browser/main.cpp @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "browserapplication.h" + +int main(int argc, char **argv) +{ + Q_INIT_RESOURCE(data); + BrowserApplication application(argc, argv); + if (!application.isTheOnlyBrowser()) + return 0; + application.newMainWindow(); + return application.exec(); +} + diff --git a/demos/browser/modelmenu.cpp b/demos/browser/modelmenu.cpp new file mode 100644 index 0000000..9403ef1 --- /dev/null +++ b/demos/browser/modelmenu.cpp @@ -0,0 +1,227 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "modelmenu.h" + +#include +#include + +ModelMenu::ModelMenu(QWidget * parent) + : QMenu(parent) + , m_maxRows(7) + , m_firstSeparator(-1) + , m_maxWidth(-1) + , m_hoverRole(0) + , m_separatorRole(0) + , m_model(0) +{ + connect(this, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); +} + +bool ModelMenu::prePopulated() +{ + return false; +} + +void ModelMenu::postPopulated() +{ +} + +void ModelMenu::setModel(QAbstractItemModel *model) +{ + m_model = model; +} + +QAbstractItemModel *ModelMenu::model() const +{ + return m_model; +} + +void ModelMenu::setMaxRows(int max) +{ + m_maxRows = max; +} + +int ModelMenu::maxRows() const +{ + return m_maxRows; +} + +void ModelMenu::setFirstSeparator(int offset) +{ + m_firstSeparator = offset; +} + +int ModelMenu::firstSeparator() const +{ + return m_firstSeparator; +} + +void ModelMenu::setRootIndex(const QModelIndex &index) +{ + m_root = index; +} + +QModelIndex ModelMenu::rootIndex() const +{ + return m_root; +} + +void ModelMenu::setHoverRole(int role) +{ + m_hoverRole = role; +} + +int ModelMenu::hoverRole() const +{ + return m_hoverRole; +} + +void ModelMenu::setSeparatorRole(int role) +{ + m_separatorRole = role; +} + +int ModelMenu::separatorRole() const +{ + return m_separatorRole; +} + +Q_DECLARE_METATYPE(QModelIndex) +void ModelMenu::aboutToShow() +{ + if (QMenu *menu = qobject_cast(sender())) { + QVariant v = menu->menuAction()->data(); + if (v.canConvert()) { + QModelIndex idx = qvariant_cast(v); + createMenu(idx, -1, menu, menu); + disconnect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); + return; + } + } + + clear(); + if (prePopulated()) + addSeparator(); + int max = m_maxRows; + if (max != -1) + max += m_firstSeparator; + createMenu(m_root, max, this, this); + postPopulated(); +} + +void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu, QMenu *menu) +{ + if (!menu) { + QString title = parent.data().toString(); + menu = new QMenu(title, this); + QIcon icon = qvariant_cast(parent.data(Qt::DecorationRole)); + menu->setIcon(icon); + parentMenu->addMenu(menu); + QVariant v; + v.setValue(parent); + menu->menuAction()->setData(v); + connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); + return; + } + + int end = m_model->rowCount(parent); + if (max != -1) + end = qMin(max, end); + + connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(triggered(QAction*))); + connect(menu, SIGNAL(hovered(QAction*)), this, SLOT(hovered(QAction*))); + + for (int i = 0; i < end; ++i) { + QModelIndex idx = m_model->index(i, 0, parent); + if (m_model->hasChildren(idx)) { + createMenu(idx, -1, menu); + } else { + if (m_separatorRole != 0 + && idx.data(m_separatorRole).toBool()) + addSeparator(); + else + menu->addAction(makeAction(idx)); + } + if (menu == this && i == m_firstSeparator - 1) + addSeparator(); + } +} + +QAction *ModelMenu::makeAction(const QModelIndex &index) +{ + QIcon icon = qvariant_cast(index.data(Qt::DecorationRole)); + QAction *action = makeAction(icon, index.data().toString(), this); + QVariant v; + v.setValue(index); + action->setData(v); + return action; +} + +QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject *parent) +{ + QFontMetrics fm(font()); + if (-1 == m_maxWidth) + m_maxWidth = fm.width(QLatin1Char('m')) * 30; + QString smallText = fm.elidedText(text, Qt::ElideMiddle, m_maxWidth); + return new QAction(icon, smallText, parent); +} + +void ModelMenu::triggered(QAction *action) +{ + QVariant v = action->data(); + if (v.canConvert()) { + QModelIndex idx = qvariant_cast(v); + emit activated(idx); + } +} + +void ModelMenu::hovered(QAction *action) +{ + QVariant v = action->data(); + if (v.canConvert()) { + QModelIndex idx = qvariant_cast(v); + QString hoveredString = idx.data(m_hoverRole).toString(); + if (!hoveredString.isEmpty()) + emit hovered(hoveredString); + } +} + diff --git a/demos/browser/modelmenu.h b/demos/browser/modelmenu.h new file mode 100644 index 0000000..edd2e04 --- /dev/null +++ b/demos/browser/modelmenu.h @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MODELMENU_H +#define MODELMENU_H + +#include +#include + +// A QMenu that is dynamically populated from a QAbstractItemModel +class ModelMenu : public QMenu +{ + Q_OBJECT + +signals: + void activated(const QModelIndex &index); + void hovered(const QString &text); + +public: + ModelMenu(QWidget *parent = 0); + + void setModel(QAbstractItemModel *model); + QAbstractItemModel *model() const; + + void setMaxRows(int max); + int maxRows() const; + + void setFirstSeparator(int offset); + int firstSeparator() const; + + void setRootIndex(const QModelIndex &index); + QModelIndex rootIndex() const; + + void setHoverRole(int role); + int hoverRole() const; + + void setSeparatorRole(int role); + int separatorRole() const; + + QAction *makeAction(const QIcon &icon, const QString &text, QObject *parent); + +protected: + // add any actions before the tree, return true if any actions are added. + virtual bool prePopulated(); + // add any actions after the tree + virtual void postPopulated(); + // put all of the children of parent into menu up to max + void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu = 0, QMenu *menu = 0); + +private slots: + void aboutToShow(); + void triggered(QAction *action); + void hovered(QAction *action); + +private: + QAction *makeAction(const QModelIndex &index); + int m_maxRows; + int m_firstSeparator; + int m_maxWidth; + int m_hoverRole; + int m_separatorRole; + QAbstractItemModel *m_model; + QPersistentModelIndex m_root; +}; + +#endif // MODELMENU_H + diff --git a/demos/browser/networkaccessmanager.cpp b/demos/browser/networkaccessmanager.cpp new file mode 100644 index 0000000..2e7b2fd --- /dev/null +++ b/demos/browser/networkaccessmanager.cpp @@ -0,0 +1,171 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "networkaccessmanager.h" + +#include "browserapplication.h" +#include "browsermainwindow.h" +#include "ui_passworddialog.h" +#include "ui_proxy.h" + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +NetworkAccessManager::NetworkAccessManager(QObject *parent) + : QNetworkAccessManager(parent) +{ + connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), + SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*))); + connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)), + SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); +#ifndef QT_NO_OPENSSL + connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList&)), + SLOT(sslErrors(QNetworkReply*, const QList&))); +#endif + loadSettings(); + + QNetworkDiskCache *diskCache = new QNetworkDiskCache(this); + QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation); + diskCache->setCacheDirectory(location); + setCache(diskCache); +} + +void NetworkAccessManager::loadSettings() +{ + QSettings settings; + settings.beginGroup(QLatin1String("proxy")); + QNetworkProxy proxy; + if (settings.value(QLatin1String("enabled"), false).toBool()) { + if (settings.value(QLatin1String("type"), 0).toInt() == 0) + proxy = QNetworkProxy::Socks5Proxy; + else + proxy = QNetworkProxy::HttpProxy; + proxy.setHostName(settings.value(QLatin1String("hostName")).toString()); + proxy.setPort(settings.value(QLatin1String("port"), 1080).toInt()); + proxy.setUser(settings.value(QLatin1String("userName")).toString()); + proxy.setPassword(settings.value(QLatin1String("password")).toString()); + } + setProxy(proxy); +} + +void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth) +{ + BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + + QDialog dialog(mainWindow); + dialog.setWindowFlags(Qt::Sheet); + + Ui::PasswordDialog passwordDialog; + passwordDialog.setupUi(&dialog); + + passwordDialog.iconLabel->setText(QString()); + passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); + + QString introMessage = tr("Enter username and password for \"%1\" at %2"); + introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString())); + passwordDialog.introLabel->setText(introMessage); + passwordDialog.introLabel->setWordWrap(true); + + if (dialog.exec() == QDialog::Accepted) { + auth->setUser(passwordDialog.userNameLineEdit->text()); + auth->setPassword(passwordDialog.passwordLineEdit->text()); + } +} + +void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth) +{ + BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + + QDialog dialog(mainWindow); + dialog.setWindowFlags(Qt::Sheet); + + Ui::ProxyDialog proxyDialog; + proxyDialog.setupUi(&dialog); + + proxyDialog.iconLabel->setText(QString()); + proxyDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); + + QString introMessage = tr("Connect to proxy \"%1\" using:"); + introMessage = introMessage.arg(Qt::escape(proxy.hostName())); + proxyDialog.introLabel->setText(introMessage); + proxyDialog.introLabel->setWordWrap(true); + + if (dialog.exec() == QDialog::Accepted) { + auth->setUser(proxyDialog.userNameLineEdit->text()); + auth->setPassword(proxyDialog.passwordLineEdit->text()); + } +} + +#ifndef QT_NO_OPENSSL +void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList &error) +{ + // check if SSL certificate has been trusted already + QString replyHost = reply->url().host() + ":" + reply->url().port(); + if(! sslTrustedHostList.contains(replyHost)) { + BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + + QStringList errorStrings; + for (int i = 0; i < error.count(); ++i) + errorStrings += error.at(i).errorString(); + QString errors = errorStrings.join(QLatin1String("\n")); + int ret = QMessageBox::warning(mainWindow, QCoreApplication::applicationName(), + tr("SSL Errors:\n\n%1\n\n%2\n\n" + "Do you want to ignore these errors for this host?").arg(reply->url().toString()).arg(errors), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::No); + if (ret == QMessageBox::Yes) { + reply->ignoreSslErrors(); + sslTrustedHostList.append(replyHost); + } + } +} +#endif diff --git a/demos/browser/networkaccessmanager.h b/demos/browser/networkaccessmanager.h new file mode 100644 index 0000000..d016e76 --- /dev/null +++ b/demos/browser/networkaccessmanager.h @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef NETWORKACCESSMANAGER_H +#define NETWORKACCESSMANAGER_H + +#include + +class NetworkAccessManager : public QNetworkAccessManager +{ + Q_OBJECT + +public: + NetworkAccessManager(QObject *parent = 0); + +private: + QList sslTrustedHostList; + +public slots: + void loadSettings(); + +private slots: + void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth); + void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth); +#ifndef QT_NO_OPENSSL + void sslErrors(QNetworkReply *reply, const QList &error); +#endif +}; + +#endif // NETWORKACCESSMANAGER_H diff --git a/demos/browser/passworddialog.ui b/demos/browser/passworddialog.ui new file mode 100644 index 0000000..7c16658 --- /dev/null +++ b/demos/browser/passworddialog.ui @@ -0,0 +1,111 @@ + + PasswordDialog + + + + 0 + 0 + 399 + 148 + + + + Authentication Required + + + + + + + + DUMMY ICON + + + + + + + + 0 + 0 + + + + INTRO TEXT DUMMY + + + + + + + + + Username: + + + + + + + + + + Password: + + + + + + + QLineEdit::Password + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + PasswordDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + PasswordDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/demos/browser/proxy.ui b/demos/browser/proxy.ui new file mode 100644 index 0000000..62a8be6 --- /dev/null +++ b/demos/browser/proxy.ui @@ -0,0 +1,104 @@ + + ProxyDialog + + + + 0 + 0 + 369 + 144 + + + + Proxy Authentication + + + + + + ICON + + + + + + + Connect to proxy + + + true + + + + + + + Username: + + + + + + + + + + Password: + + + + + + + QLineEdit::Password + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + ProxyDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + ProxyDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/demos/browser/searchlineedit.cpp b/demos/browser/searchlineedit.cpp new file mode 100644 index 0000000..8f668e0 --- /dev/null +++ b/demos/browser/searchlineedit.cpp @@ -0,0 +1,238 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "searchlineedit.h" + +#include +#include +#include +#include +#include + +ClearButton::ClearButton(QWidget *parent) + : QAbstractButton(parent) +{ + setCursor(Qt::ArrowCursor); + setToolTip(tr("Clear")); + setVisible(false); + setFocusPolicy(Qt::NoFocus); +} + +void ClearButton::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event); + QPainter painter(this); + int height = this->height(); + + painter.setRenderHint(QPainter::Antialiasing, true); + QColor color = palette().color(QPalette::Mid); + painter.setBrush(isDown() + ? palette().color(QPalette::Dark) + : palette().color(QPalette::Mid)); + painter.setPen(painter.brush().color()); + int size = width(); + int offset = size / 5; + int radius = size - offset * 2; + painter.drawEllipse(offset, offset, radius, radius); + + painter.setPen(palette().color(QPalette::Base)); + int border = offset * 2; + painter.drawLine(border, border, width() - border, height - border); + painter.drawLine(border, height - border, width() - border, border); +} + +void ClearButton::textChanged(const QString &text) +{ + setVisible(!text.isEmpty()); +} + +/* + Search icon on the left hand side of the search widget + When a menu is set a down arrow appears + */ +class SearchButton : public QAbstractButton { +public: + SearchButton(QWidget *parent = 0); + void paintEvent(QPaintEvent *event); + QMenu *m_menu; + +protected: + void mousePressEvent(QMouseEvent *event); +}; + +SearchButton::SearchButton(QWidget *parent) + : QAbstractButton(parent), + m_menu(0) +{ + setObjectName(QLatin1String("SearchButton")); + setCursor(Qt::ArrowCursor); + setFocusPolicy(Qt::NoFocus); +} + +void SearchButton::mousePressEvent(QMouseEvent *event) +{ + if (m_menu && event->button() == Qt::LeftButton) { + QWidget *p = parentWidget(); + if (p) { + QPoint r = p->mapToGlobal(QPoint(0, p->height())); + m_menu->exec(QPoint(r.x() + height() / 2, r.y())); + } + event->accept(); + } + QAbstractButton::mousePressEvent(event); +} + +void SearchButton::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event); + QPainterPath myPath; + + int radius = (height() / 5) * 2; + QRect circle(height() / 3 - 1, height() / 4, radius, radius); + myPath.addEllipse(circle); + + myPath.arcMoveTo(circle, 300); + QPointF c = myPath.currentPosition(); + int diff = height() / 7; + myPath.lineTo(qMin(width() - 2, (int)c.x() + diff), c.y() + diff); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing, true); + painter.setPen(QPen(Qt::darkGray, 2)); + painter.drawPath(myPath); + + if (m_menu) { + QPainterPath dropPath; + dropPath.arcMoveTo(circle, 320); + QPointF c = dropPath.currentPosition(); + c = QPointF(c.x() + 3.5, c.y() + 0.5); + dropPath.moveTo(c); + dropPath.lineTo(c.x() + 4, c.y()); + dropPath.lineTo(c.x() + 2, c.y() + 2); + dropPath.closeSubpath(); + painter.setPen(Qt::darkGray); + painter.setBrush(Qt::darkGray); + painter.setRenderHint(QPainter::Antialiasing, false); + painter.drawPath(dropPath); + } + painter.end(); +} + +/* + SearchLineEdit is an enhanced QLineEdit + - A Search icon on the left with optional menu + - When there is no text and doesn't have focus an "inactive text" is displayed + - When there is text a clear button is displayed on the right hand side + */ +SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent), + m_searchButton(new SearchButton(this)) +{ + connect(lineEdit(), SIGNAL(textChanged(const QString &)), + this, SIGNAL(textChanged(const QString &))); + setLeftWidget(m_searchButton); + m_inactiveText = tr("Search"); + + QSizePolicy policy = sizePolicy(); + setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy()); +} + +void SearchLineEdit::paintEvent(QPaintEvent *event) +{ + if (lineEdit()->text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) { + ExLineEdit::paintEvent(event); + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + QFontMetrics fm = fontMetrics(); + int horizontalMargin = lineEdit()->x(); + QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2, + r.width() - 2 * horizontalMargin, fm.height()); + QPainter painter(this); + painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); + painter.drawText(lineRect, Qt::AlignLeft|Qt::AlignVCenter, m_inactiveText); + } else { + ExLineEdit::paintEvent(event); + } +} + +void SearchLineEdit::resizeEvent(QResizeEvent *event) +{ + updateGeometries(); + ExLineEdit::resizeEvent(event); +} + +void SearchLineEdit::updateGeometries() +{ + int menuHeight = height(); + int menuWidth = menuHeight + 1; + if (!m_searchButton->m_menu) + menuWidth = (menuHeight / 5) * 4; + m_searchButton->resize(QSize(menuWidth, menuHeight)); +} + +QString SearchLineEdit::inactiveText() const +{ + return m_inactiveText; +} + +void SearchLineEdit::setInactiveText(const QString &text) +{ + m_inactiveText = text; +} + +void SearchLineEdit::setMenu(QMenu *menu) +{ + if (m_searchButton->m_menu) + m_searchButton->m_menu->deleteLater(); + m_searchButton->m_menu = menu; + updateGeometries(); +} + +QMenu *SearchLineEdit::menu() const +{ + if (!m_searchButton->m_menu) { + m_searchButton->m_menu = new QMenu(m_searchButton); + if (isVisible()) + (const_cast(this))->updateGeometries(); + } + return m_searchButton->m_menu; +} + diff --git a/demos/browser/searchlineedit.h b/demos/browser/searchlineedit.h new file mode 100644 index 0000000..be17e05 --- /dev/null +++ b/demos/browser/searchlineedit.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SEARCHLINEEDIT_H +#define SEARCHLINEEDIT_H + +#include "urllineedit.h" + +#include +#include + +QT_BEGIN_NAMESPACE +class QMenu; +QT_END_NAMESPACE + +class SearchButton; + +/* + Clear button on the right hand side of the search widget. + Hidden by default + "A circle with an X in it" + */ +class ClearButton : public QAbstractButton +{ + Q_OBJECT + +public: + ClearButton(QWidget *parent = 0); + void paintEvent(QPaintEvent *event); + +public slots: + void textChanged(const QString &text); +}; + + +class SearchLineEdit : public ExLineEdit +{ + Q_OBJECT + Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) + +signals: + void textChanged(const QString &text); + +public: + SearchLineEdit(QWidget *parent = 0); + + QString inactiveText() const; + void setInactiveText(const QString &text); + + QMenu *menu() const; + void setMenu(QMenu *menu); + +protected: + void resizeEvent(QResizeEvent *event); + void paintEvent(QPaintEvent *event); + +private: + void updateGeometries(); + + SearchButton *m_searchButton; + QString m_inactiveText; +}; + +#endif // SEARCHLINEEDIT_H + diff --git a/demos/browser/settings.cpp b/demos/browser/settings.cpp new file mode 100644 index 0000000..09f4846 --- /dev/null +++ b/demos/browser/settings.cpp @@ -0,0 +1,324 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "settings.h" + +#include "browserapplication.h" +#include "browsermainwindow.h" +#include "cookiejar.h" +#include "history.h" +#include "networkaccessmanager.h" +#include "webview.h" + +#include +#include +#include + +SettingsDialog::SettingsDialog(QWidget *parent) + : QDialog(parent) +{ + setupUi(this); + connect(exceptionsButton, SIGNAL(clicked()), this, SLOT(showExceptions())); + connect(setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT(setHomeToCurrentPage())); + connect(cookiesButton, SIGNAL(clicked()), this, SLOT(showCookies())); + connect(standardFontButton, SIGNAL(clicked()), this, SLOT(chooseFont())); + connect(fixedFontButton, SIGNAL(clicked()), this, SLOT(chooseFixedFont())); + + loadDefaults(); + loadFromSettings(); +} + +void SettingsDialog::loadDefaults() +{ + QWebSettings *defaultSettings = QWebSettings::globalSettings(); + QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont); + int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize); + standardFont = QFont(standardFontFamily, standardFontSize); + standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize())); + + QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); + int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); + fixedFont = QFont(fixedFontFamily, fixedFontSize); + fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize())); + + downloadsLocation->setText(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)); + + enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled)); + enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled)); +} + +void SettingsDialog::loadFromSettings() +{ + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + QString defaultHome = QLatin1String("http://qtsoftware.com"); + homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString()); + settings.endGroup(); + + settings.beginGroup(QLatin1String("history")); + int historyExpire = settings.value(QLatin1String("historyExpire")).toInt(); + int idx = 0; + switch (historyExpire) { + case 1: idx = 0; break; + case 7: idx = 1; break; + case 14: idx = 2; break; + case 30: idx = 3; break; + case 365: idx = 4; break; + case -1: idx = 5; break; + default: + idx = 5; + } + expireHistory->setCurrentIndex(idx); + settings.endGroup(); + + settings.beginGroup(QLatin1String("downloadmanager")); + QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), downloadsLocation->text()).toString(); + downloadsLocation->setText(downloadDirectory); + settings.endGroup(); + + settings.beginGroup(QLatin1String("general")); + openLinksIn->setCurrentIndex(settings.value(QLatin1String("openLinksIn"), openLinksIn->currentIndex()).toInt()); + + settings.endGroup(); + + // Appearance + settings.beginGroup(QLatin1String("websettings")); + fixedFont = qVariantValue(settings.value(QLatin1String("fixedFont"), fixedFont)); + standardFont = qVariantValue(settings.value(QLatin1String("standardFont"), standardFont)); + + standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize())); + fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize())); + + enableJavascript->setChecked(settings.value(QLatin1String("enableJavascript"), enableJavascript->isChecked()).toBool()); + enablePlugins->setChecked(settings.value(QLatin1String("enablePlugins"), enablePlugins->isChecked()).toBool()); + userStyleSheet->setText(settings.value(QLatin1String("userStyleSheet")).toUrl().toString()); + settings.endGroup(); + + // Privacy + settings.beginGroup(QLatin1String("cookies")); + + CookieJar *jar = BrowserApplication::cookieJar(); + QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray(); + QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy")); + CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? + CookieJar::AcceptOnlyFromSitesNavigatedTo : + static_cast(acceptPolicyEnum.keyToValue(value)); + switch(acceptCookies) { + case CookieJar::AcceptAlways: + acceptCombo->setCurrentIndex(0); + break; + case CookieJar::AcceptNever: + acceptCombo->setCurrentIndex(1); + break; + case CookieJar::AcceptOnlyFromSitesNavigatedTo: + acceptCombo->setCurrentIndex(2); + break; + } + + value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("Expire")).toByteArray(); + QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy")); + CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? + CookieJar::KeepUntilExpire : + static_cast(keepPolicyEnum.keyToValue(value)); + switch(keepCookies) { + case CookieJar::KeepUntilExpire: + keepUntilCombo->setCurrentIndex(0); + break; + case CookieJar::KeepUntilExit: + keepUntilCombo->setCurrentIndex(1); + break; + case CookieJar::KeepUntilTimeLimit: + keepUntilCombo->setCurrentIndex(2); + break; + } + settings.endGroup(); + + + // Proxy + settings.beginGroup(QLatin1String("proxy")); + proxySupport->setChecked(settings.value(QLatin1String("enabled"), false).toBool()); + proxyType->setCurrentIndex(settings.value(QLatin1String("type"), 0).toInt()); + proxyHostName->setText(settings.value(QLatin1String("hostName")).toString()); + proxyPort->setValue(settings.value(QLatin1String("port"), 1080).toInt()); + proxyUserName->setText(settings.value(QLatin1String("userName")).toString()); + proxyPassword->setText(settings.value(QLatin1String("password")).toString()); + settings.endGroup(); +} + +void SettingsDialog::saveToSettings() +{ + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + settings.setValue(QLatin1String("home"), homeLineEdit->text()); + settings.endGroup(); + + settings.beginGroup(QLatin1String("general")); + settings.setValue(QLatin1String("openLinksIn"), openLinksIn->currentIndex()); + settings.endGroup(); + + settings.beginGroup(QLatin1String("history")); + int historyExpire = expireHistory->currentIndex(); + int idx = -1; + switch (historyExpire) { + case 0: idx = 1; break; + case 1: idx = 7; break; + case 2: idx = 14; break; + case 3: idx = 30; break; + case 4: idx = 365; break; + case 5: idx = -1; break; + } + settings.setValue(QLatin1String("historyExpire"), idx); + settings.endGroup(); + + // Appearance + settings.beginGroup(QLatin1String("websettings")); + settings.setValue(QLatin1String("fixedFont"), fixedFont); + settings.setValue(QLatin1String("standardFont"), standardFont); + settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked()); + settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked()); + QString userStyleSheetString = userStyleSheet->text(); + if (QFile::exists(userStyleSheetString)) + settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString)); + else + settings.setValue(QLatin1String("userStyleSheet"), QUrl(userStyleSheetString)); + settings.endGroup(); + + //Privacy + settings.beginGroup(QLatin1String("cookies")); + + CookieJar::KeepPolicy keepCookies; + switch(acceptCombo->currentIndex()) { + default: + case 0: + keepCookies = CookieJar::KeepUntilExpire; + break; + case 1: + keepCookies = CookieJar::KeepUntilExit; + break; + case 2: + keepCookies = CookieJar::KeepUntilTimeLimit; + break; + } + CookieJar *jar = BrowserApplication::cookieJar(); + QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy")); + settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(keepCookies))); + + CookieJar::KeepPolicy keepPolicy; + switch(keepUntilCombo->currentIndex()) { + default: + case 0: + keepPolicy = CookieJar::KeepUntilExpire; + break; + case 1: + keepPolicy = CookieJar::KeepUntilExit; + break; + case 2: + keepPolicy = CookieJar::KeepUntilTimeLimit; + break; + } + + QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy")); + settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy))); + + settings.endGroup(); + + // proxy + settings.beginGroup(QLatin1String("proxy")); + settings.setValue(QLatin1String("enabled"), proxySupport->isChecked()); + settings.setValue(QLatin1String("type"), proxyType->currentIndex()); + settings.setValue(QLatin1String("hostName"), proxyHostName->text()); + settings.setValue(QLatin1String("port"), proxyPort->text()); + settings.setValue(QLatin1String("userName"), proxyUserName->text()); + settings.setValue(QLatin1String("password"), proxyPassword->text()); + settings.endGroup(); + + BrowserApplication::instance()->loadSettings(); + BrowserApplication::networkAccessManager()->loadSettings(); + BrowserApplication::cookieJar()->loadSettings(); + BrowserApplication::historyManager()->loadSettings(); +} + +void SettingsDialog::accept() +{ + saveToSettings(); + QDialog::accept(); +} + +void SettingsDialog::showCookies() +{ + CookiesDialog *dialog = new CookiesDialog(BrowserApplication::cookieJar(), this); + dialog->exec(); +} + +void SettingsDialog::showExceptions() +{ + CookiesExceptionsDialog *dialog = new CookiesExceptionsDialog(BrowserApplication::cookieJar(), this); + dialog->exec(); +} + +void SettingsDialog::chooseFont() +{ + bool ok; + QFont font = QFontDialog::getFont(&ok, standardFont, this); + if ( ok ) { + standardFont = font; + standardLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize())); + } +} + +void SettingsDialog::chooseFixedFont() +{ + bool ok; + QFont font = QFontDialog::getFont(&ok, fixedFont, this); + if ( ok ) { + fixedFont = font; + fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize())); + } +} + +void SettingsDialog::setHomeToCurrentPage() +{ + BrowserMainWindow *mw = static_cast(parent()); + WebView *webView = mw->currentTab(); + if (webView) + homeLineEdit->setText(webView->url().toString()); +} + diff --git a/demos/browser/settings.h b/demos/browser/settings.h new file mode 100644 index 0000000..a7a0a35 --- /dev/null +++ b/demos/browser/settings.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SETTINGS_H +#define SETTINGS_H + +#include +#include "ui_settings.h" + +class SettingsDialog : public QDialog, public Ui_Settings +{ + Q_OBJECT + +public: + SettingsDialog(QWidget *parent = 0); + void accept(); + +private slots: + void loadDefaults(); + void loadFromSettings(); + void saveToSettings(); + + void setHomeToCurrentPage(); + void showCookies(); + void showExceptions(); + + void chooseFont(); + void chooseFixedFont(); + +private: + QFont standardFont; + QFont fixedFont; +}; + +#endif // SETTINGS_H + diff --git a/demos/browser/settings.ui b/demos/browser/settings.ui new file mode 100644 index 0000000..3491ce0 --- /dev/null +++ b/demos/browser/settings.ui @@ -0,0 +1,614 @@ + + Settings + + + + 0 + 0 + 657 + 322 + + + + Settings + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + 0 + + + + + 0 + 0 + 627 + 243 + + + + General + + + + + + Home: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Set to current page + + + + + + + Qt::Horizontal + + + + 280 + 18 + + + + + + + + Remove history items: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + After one day + + + + + After one week + + + + + After two weeks + + + + + After one month + + + + + After one year + + + + + Manually + + + + + + + + Save downloads to: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Open links from applications: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + In a tab in the current window + + + + + In a new window + + + + + + + + Qt::Vertical + + + + 391 + 262 + + + + + + + + + + 0 + 0 + 627 + 243 + + + + Appearance + + + + + + Standard font: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + Times 16 + + + Qt::AlignCenter + + + + + + + Select... + + + + + + + Fixed-width font: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + QFrame::StyledPanel + + + Courier 13 + + + Qt::AlignCenter + + + + + + + Select... + + + + + + + Qt::Vertical + + + + 20 + 93 + + + + + + + + + + 0 + 0 + 627 + 243 + + + + Privacy + + + + + + Web Content + + + + + + Enable Plugins + + + true + + + + + + + Enable Javascript + + + true + + + + + + + + + + Cookies + + + + + + Accept Cookies: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + Always + + + + + Never + + + + + Only from sites you navigate to + + + + + + + + Exceptions... + + + + + + + Keep until: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + They expire + + + + + I exit the application + + + + + At most 90 days + + + + + + + + Cookies... + + + + + + + + + + Qt::Vertical + + + + 371 + 177 + + + + + + + + + + 0 + 0 + 627 + 243 + + + + Proxy + + + + + + Enable proxy + + + true + + + + + + Type: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + Socks5 + + + + + Http + + + + + + + + Host: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Port: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 10000 + + + 1080 + + + + + + + Qt::Horizontal + + + + 293 + 20 + + + + + + + + User Name: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Password: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + QLineEdit::Password + + + + + + + Qt::Vertical + + + + 20 + 8 + + + + + + + + + + + + Advanced + + + + + + Style Sheet: + + + + + + + + + + Qt::Vertical + + + + 20 + 176 + + + + + + + + + + + + + + buttonBox + accepted() + Settings + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Settings + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/demos/browser/squeezelabel.cpp b/demos/browser/squeezelabel.cpp new file mode 100644 index 0000000..3209e16 --- /dev/null +++ b/demos/browser/squeezelabel.cpp @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "squeezelabel.h" + +SqueezeLabel::SqueezeLabel(QWidget *parent) : QLabel(parent) +{ +} + +void SqueezeLabel::paintEvent(QPaintEvent *event) +{ + QFontMetrics fm = fontMetrics(); + if (fm.width(text()) > contentsRect().width()) { + QString elided = fm.elidedText(text(), Qt::ElideMiddle, width()); + QString oldText = text(); + setText(elided); + QLabel::paintEvent(event); + setText(oldText); + } else { + QLabel::paintEvent(event); + } +} + diff --git a/demos/browser/squeezelabel.h b/demos/browser/squeezelabel.h new file mode 100644 index 0000000..2f82240 --- /dev/null +++ b/demos/browser/squeezelabel.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SQUEEZELABEL_H +#define SQUEEZELABEL_H + +#include + +class SqueezeLabel : public QLabel +{ + Q_OBJECT + +public: + SqueezeLabel(QWidget *parent = 0); + +protected: + void paintEvent(QPaintEvent *event); + +}; + +#endif // SQUEEZELABEL_H + diff --git a/demos/browser/tabwidget.cpp b/demos/browser/tabwidget.cpp new file mode 100644 index 0000000..7a2ee40 --- /dev/null +++ b/demos/browser/tabwidget.cpp @@ -0,0 +1,830 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "tabwidget.h" + +#include "browserapplication.h" +#include "browsermainwindow.h" +#include "history.h" +#include "urllineedit.h" +#include "webview.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +TabBar::TabBar(QWidget *parent) + : QTabBar(parent) +{ + setContextMenuPolicy(Qt::CustomContextMenu); + setAcceptDrops(true); + connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), + this, SLOT(contextMenuRequested(const QPoint &))); + + QString alt = QLatin1String("Alt+%1"); + for (int i = 1; i <= 10; ++i) { + int key = i; + if (key == 10) + key = 0; + QShortcut *shortCut = new QShortcut(alt.arg(key), this); + m_tabShortcuts.append(shortCut); + connect(shortCut, SIGNAL(activated()), this, SLOT(selectTabAction())); + } + setTabsClosable(true); + connect(this, SIGNAL(tabCloseRequested(int)), + this, SIGNAL(closeTab(int))); + setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab); + setMovable(true); +} + +void TabBar::selectTabAction() +{ + if (QShortcut *shortCut = qobject_cast(sender())) { + int index = m_tabShortcuts.indexOf(shortCut); + if (index == 0) + index = 10; + setCurrentIndex(index); + } +} + +void TabBar::contextMenuRequested(const QPoint &position) +{ + QMenu menu; + menu.addAction(tr("New &Tab"), this, SIGNAL(newTab()), QKeySequence::AddTab); + int index = tabAt(position); + if (-1 != index) { + QAction *action = menu.addAction(tr("Clone Tab"), + this, SLOT(cloneTab())); + action->setData(index); + + menu.addSeparator(); + + action = menu.addAction(tr("&Close Tab"), + this, SLOT(closeTab()), QKeySequence::Close); + action->setData(index); + + action = menu.addAction(tr("Close &Other Tabs"), + this, SLOT(closeOtherTabs())); + action->setData(index); + + menu.addSeparator(); + + action = menu.addAction(tr("Reload Tab"), + this, SLOT(reloadTab()), QKeySequence::Refresh); + action->setData(index); + } else { + menu.addSeparator(); + } + menu.addAction(tr("Reload All Tabs"), this, SIGNAL(reloadAllTabs())); + menu.exec(QCursor::pos()); +} + +void TabBar::cloneTab() +{ + if (QAction *action = qobject_cast(sender())) { + int index = action->data().toInt(); + emit cloneTab(index); + } +} + +void TabBar::closeTab() +{ + if (QAction *action = qobject_cast(sender())) { + int index = action->data().toInt(); + emit closeTab(index); + } +} + +void TabBar::closeOtherTabs() +{ + if (QAction *action = qobject_cast(sender())) { + int index = action->data().toInt(); + emit closeOtherTabs(index); + } +} + +void TabBar::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + m_dragStartPos = event->pos(); + QTabBar::mousePressEvent(event); +} + +void TabBar::mouseMoveEvent(QMouseEvent *event) +{ + if (event->buttons() == Qt::LeftButton) { + int diffX = event->pos().x() - m_dragStartPos.x(); + int diffY = event->pos().y() - m_dragStartPos.y(); + if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() + && diffX < 3 && diffX > -3 + && diffY < -10) { + QDrag *drag = new QDrag(this); + QMimeData *mimeData = new QMimeData; + QList urls; + int index = tabAt(event->pos()); + QUrl url = tabData(index).toUrl(); + urls.append(url); + mimeData->setUrls(urls); + mimeData->setText(tabText(index)); + mimeData->setData(QLatin1String("action"), "tab-reordering"); + drag->setMimeData(mimeData); + drag->exec(); + } + } + QTabBar::mouseMoveEvent(event); +} + +// When index is -1 index chooses the current tab +void TabWidget::reloadTab(int index) +{ + if (index < 0) + index = currentIndex(); + if (index < 0 || index >= count()) + return; + + QWidget *widget = this->widget(index); + if (WebView *tab = qobject_cast(widget)) + tab->reload(); +} + +void TabBar::reloadTab() +{ + if (QAction *action = qobject_cast(sender())) { + int index = action->data().toInt(); + emit reloadTab(index); + } +} + +TabWidget::TabWidget(QWidget *parent) + : QTabWidget(parent) + , m_recentlyClosedTabsAction(0) + , m_newTabAction(0) + , m_closeTabAction(0) + , m_nextTabAction(0) + , m_previousTabAction(0) + , m_recentlyClosedTabsMenu(0) + , m_lineEditCompleter(0) + , m_lineEdits(0) + , m_tabBar(new TabBar(this)) +{ + setElideMode(Qt::ElideRight); + + connect(m_tabBar, SIGNAL(newTab()), this, SLOT(newTab())); + connect(m_tabBar, SIGNAL(closeTab(int)), this, SLOT(closeTab(int))); + connect(m_tabBar, SIGNAL(cloneTab(int)), this, SLOT(cloneTab(int))); + connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int))); + connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int))); + connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs())); + connect(m_tabBar, SIGNAL(tabMoved(int, int)), this, SLOT(moveTab(int, int))); + setTabBar(m_tabBar); + setDocumentMode(true); + + // Actions + m_newTabAction = new QAction(QIcon(QLatin1String(":addtab.png")), tr("New &Tab"), this); + m_newTabAction->setShortcuts(QKeySequence::AddTab); + m_newTabAction->setIconVisibleInMenu(false); + connect(m_newTabAction, SIGNAL(triggered()), this, SLOT(newTab())); + + m_closeTabAction = new QAction(QIcon(QLatin1String(":closetab.png")), tr("&Close Tab"), this); + m_closeTabAction->setShortcuts(QKeySequence::Close); + m_closeTabAction->setIconVisibleInMenu(false); + connect(m_closeTabAction, SIGNAL(triggered()), this, SLOT(closeTab())); + + m_nextTabAction = new QAction(tr("Show Next Tab"), this); + QList shortcuts; + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceRight)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageDown)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketRight)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Less)); + m_nextTabAction->setShortcuts(shortcuts); + connect(m_nextTabAction, SIGNAL(triggered()), this, SLOT(nextTab())); + + m_previousTabAction = new QAction(tr("Show Previous Tab"), this); + shortcuts.clear(); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceLeft)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageUp)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketLeft)); + shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Greater)); + m_previousTabAction->setShortcuts(shortcuts); + connect(m_previousTabAction, SIGNAL(triggered()), this, SLOT(previousTab())); + + m_recentlyClosedTabsMenu = new QMenu(this); + connect(m_recentlyClosedTabsMenu, SIGNAL(aboutToShow()), + this, SLOT(aboutToShowRecentTabsMenu())); + connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction *)), + this, SLOT(aboutToShowRecentTriggeredAction(QAction *))); + m_recentlyClosedTabsAction = new QAction(tr("Recently Closed Tabs"), this); + m_recentlyClosedTabsAction->setMenu(m_recentlyClosedTabsMenu); + m_recentlyClosedTabsAction->setEnabled(false); + + connect(this, SIGNAL(currentChanged(int)), + this, SLOT(currentChanged(int))); + + m_lineEdits = new QStackedWidget(this); +} + +void TabWidget::clear() +{ + // clear the recently closed tabs + m_recentlyClosedTabs.clear(); + // clear the line edit history + for (int i = 0; i < m_lineEdits->count(); ++i) { + QLineEdit *qLineEdit = lineEdit(i); + qLineEdit->setText(qLineEdit->text()); + } +} + +void TabWidget::moveTab(int fromIndex, int toIndex) +{ + QWidget *lineEdit = m_lineEdits->widget(fromIndex); + m_lineEdits->removeWidget(lineEdit); + m_lineEdits->insertWidget(toIndex, lineEdit); +} + +void TabWidget::addWebAction(QAction *action, QWebPage::WebAction webAction) +{ + if (!action) + return; + m_actions.append(new WebActionMapper(action, webAction, this)); +} + +void TabWidget::currentChanged(int index) +{ + WebView *webView = this->webView(index); + if (!webView) + return; + + Q_ASSERT(m_lineEdits->count() == count()); + + WebView *oldWebView = this->webView(m_lineEdits->currentIndex()); + if (oldWebView) { + disconnect(oldWebView, SIGNAL(statusBarMessage(const QString&)), + this, SIGNAL(showStatusBarMessage(const QString&))); + disconnect(oldWebView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)), + this, SIGNAL(linkHovered(const QString&))); + disconnect(oldWebView, SIGNAL(loadProgress(int)), + this, SIGNAL(loadProgress(int))); + } + + connect(webView, SIGNAL(statusBarMessage(const QString&)), + this, SIGNAL(showStatusBarMessage(const QString&))); + connect(webView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)), + this, SIGNAL(linkHovered(const QString&))); + connect(webView, SIGNAL(loadProgress(int)), + this, SIGNAL(loadProgress(int))); + + for (int i = 0; i < m_actions.count(); ++i) { + WebActionMapper *mapper = m_actions[i]; + mapper->updateCurrent(webView->page()); + } + emit setCurrentTitle(webView->title()); + m_lineEdits->setCurrentIndex(index); + emit loadProgress(webView->progress()); + emit showStatusBarMessage(webView->lastStatusBarText()); + if (webView->url().isEmpty()) + m_lineEdits->currentWidget()->setFocus(); + else + webView->setFocus(); +} + +QAction *TabWidget::newTabAction() const +{ + return m_newTabAction; +} + +QAction *TabWidget::closeTabAction() const +{ + return m_closeTabAction; +} + +QAction *TabWidget::recentlyClosedTabsAction() const +{ + return m_recentlyClosedTabsAction; +} + +QAction *TabWidget::nextTabAction() const +{ + return m_nextTabAction; +} + +QAction *TabWidget::previousTabAction() const +{ + return m_previousTabAction; +} + +QWidget *TabWidget::lineEditStack() const +{ + return m_lineEdits; +} + +QLineEdit *TabWidget::currentLineEdit() const +{ + return lineEdit(m_lineEdits->currentIndex()); +} + +WebView *TabWidget::currentWebView() const +{ + return webView(currentIndex()); +} + +QLineEdit *TabWidget::lineEdit(int index) const +{ + UrlLineEdit *urlLineEdit = qobject_cast(m_lineEdits->widget(index)); + if (urlLineEdit) + return urlLineEdit->lineEdit(); + return 0; +} + +WebView *TabWidget::webView(int index) const +{ + QWidget *widget = this->widget(index); + if (WebView *webView = qobject_cast(widget)) { + return webView; + } else { + // optimization to delay creating the first webview + if (count() == 1) { + TabWidget *that = const_cast(this); + that->setUpdatesEnabled(false); + that->newTab(); + that->closeTab(0); + that->setUpdatesEnabled(true); + return currentWebView(); + } + } + return 0; +} + +int TabWidget::webViewIndex(WebView *webView) const +{ + int index = indexOf(webView); + return index; +} + +WebView *TabWidget::newTab(bool makeCurrent) +{ + // line edit + UrlLineEdit *urlLineEdit = new UrlLineEdit; + QLineEdit *lineEdit = urlLineEdit->lineEdit(); + if (!m_lineEditCompleter && count() > 0) { + HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); + completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); + m_lineEditCompleter = new QCompleter(completionModel, this); + // Should this be in Qt by default? + QAbstractItemView *popup = m_lineEditCompleter->popup(); + QListView *listView = qobject_cast(popup); + if (listView) + listView->setUniformItemSizes(true); + } + lineEdit->setCompleter(m_lineEditCompleter); + connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); + m_lineEdits->addWidget(urlLineEdit); + m_lineEdits->setSizePolicy(lineEdit->sizePolicy()); + + // optimization to delay creating the more expensive WebView, history, etc + if (count() == 0) { + QWidget *emptyWidget = new QWidget; + QPalette p = emptyWidget->palette(); + p.setColor(QPalette::Window, palette().color(QPalette::Base)); + emptyWidget->setPalette(p); + emptyWidget->setAutoFillBackground(true); + disconnect(this, SIGNAL(currentChanged(int)), + this, SLOT(currentChanged(int))); + addTab(emptyWidget, tr("(Untitled)")); + connect(this, SIGNAL(currentChanged(int)), + this, SLOT(currentChanged(int))); + return 0; + } + + // webview + WebView *webView = new WebView; + urlLineEdit->setWebView(webView); + connect(webView, SIGNAL(loadStarted()), + this, SLOT(webViewLoadStarted())); + connect(webView, SIGNAL(loadFinished(bool)), + this, SLOT(webViewIconChanged())); + connect(webView, SIGNAL(iconChanged()), + this, SLOT(webViewIconChanged())); + connect(webView, SIGNAL(titleChanged(const QString &)), + this, SLOT(webViewTitleChanged(const QString &))); + connect(webView, SIGNAL(urlChanged(const QUrl &)), + this, SLOT(webViewUrlChanged(const QUrl &))); + connect(webView->page(), SIGNAL(windowCloseRequested()), + this, SLOT(windowCloseRequested())); + connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)), + this, SIGNAL(geometryChangeRequested(const QRect &))); + connect(webView->page(), SIGNAL(printRequested(QWebFrame *)), + this, SIGNAL(printRequested(QWebFrame *))); + connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)), + this, SIGNAL(menuBarVisibilityChangeRequested(bool))); + connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)), + this, SIGNAL(statusBarVisibilityChangeRequested(bool))); + connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)), + this, SIGNAL(toolBarVisibilityChangeRequested(bool))); + addTab(webView, tr("(Untitled)")); + if (makeCurrent) + setCurrentWidget(webView); + + // webview actions + for (int i = 0; i < m_actions.count(); ++i) { + WebActionMapper *mapper = m_actions[i]; + mapper->addChild(webView->page()->action(mapper->webAction())); + } + + if (count() == 1) + currentChanged(currentIndex()); + emit tabsChanged(); + return webView; +} + +void TabWidget::reloadAllTabs() +{ + for (int i = 0; i < count(); ++i) { + QWidget *tabWidget = widget(i); + if (WebView *tab = qobject_cast(tabWidget)) { + tab->reload(); + } + } +} + +void TabWidget::lineEditReturnPressed() +{ + if (QLineEdit *lineEdit = qobject_cast(sender())) { + emit loadPage(lineEdit->text()); + if (m_lineEdits->currentWidget() == lineEdit) + currentWebView()->setFocus(); + } +} + +void TabWidget::windowCloseRequested() +{ + WebPage *webPage = qobject_cast(sender()); + WebView *webView = qobject_cast(webPage->view()); + int index = webViewIndex(webView); + if (index >= 0) { + if (count() == 1) + webView->webPage()->mainWindow()->close(); + else + closeTab(index); + } +} + +void TabWidget::closeOtherTabs(int index) +{ + if (-1 == index) + return; + for (int i = count() - 1; i > index; --i) + closeTab(i); + for (int i = index - 1; i >= 0; --i) + closeTab(i); +} + +// When index is -1 index chooses the current tab +void TabWidget::cloneTab(int index) +{ + if (index < 0) + index = currentIndex(); + if (index < 0 || index >= count()) + return; + WebView *tab = newTab(false); + tab->setUrl(webView(index)->url()); +} + +// When index is -1 index chooses the current tab +void TabWidget::closeTab(int index) +{ + if (index < 0) + index = currentIndex(); + if (index < 0 || index >= count()) + return; + + bool hasFocus = false; + if (WebView *tab = webView(index)) { + if (tab->isModified()) { + QMessageBox closeConfirmation(tab); + closeConfirmation.setWindowFlags(Qt::Sheet); + closeConfirmation.setWindowTitle(tr("Do you really want to close this page?")); + closeConfirmation.setInformativeText(tr("You have modified this page and when closing it you would lose the modification.\n" + "Do you really want to close this page?\n")); + closeConfirmation.setIcon(QMessageBox::Question); + closeConfirmation.addButton(QMessageBox::Yes); + closeConfirmation.addButton(QMessageBox::No); + closeConfirmation.setEscapeButton(QMessageBox::No); + if (closeConfirmation.exec() == QMessageBox::No) + return; + } + hasFocus = tab->hasFocus(); + + m_recentlyClosedTabsAction->setEnabled(true); + m_recentlyClosedTabs.prepend(tab->url()); + if (m_recentlyClosedTabs.size() >= TabWidget::m_recentlyClosedTabsSize) + m_recentlyClosedTabs.removeLast(); + } + QWidget *lineEdit = m_lineEdits->widget(index); + m_lineEdits->removeWidget(lineEdit); + lineEdit->deleteLater(); + QWidget *webView = widget(index); + removeTab(index); + webView->deleteLater(); + emit tabsChanged(); + if (hasFocus && count() > 0) + currentWebView()->setFocus(); + if (count() == 0) + emit lastTabClosed(); +} + +void TabWidget::webViewLoadStarted() +{ + WebView *webView = qobject_cast(sender()); + int index = webViewIndex(webView); + if (-1 != index) { + QIcon icon(QLatin1String(":loading.gif")); + setTabIcon(index, icon); + } +} + +void TabWidget::webViewIconChanged() +{ + WebView *webView = qobject_cast(sender()); + int index = webViewIndex(webView); + if (-1 != index) { + QIcon icon = BrowserApplication::instance()->icon(webView->url()); + setTabIcon(index, icon); + } +} + +void TabWidget::webViewTitleChanged(const QString &title) +{ + WebView *webView = qobject_cast(sender()); + int index = webViewIndex(webView); + if (-1 != index) { + setTabText(index, title); + } + if (currentIndex() == index) + emit setCurrentTitle(title); + BrowserApplication::historyManager()->updateHistoryItem(webView->url(), title); +} + +void TabWidget::webViewUrlChanged(const QUrl &url) +{ + WebView *webView = qobject_cast(sender()); + int index = webViewIndex(webView); + if (-1 != index) { + m_tabBar->setTabData(index, url); + } + emit tabsChanged(); +} + +void TabWidget::aboutToShowRecentTabsMenu() +{ + m_recentlyClosedTabsMenu->clear(); + for (int i = 0; i < m_recentlyClosedTabs.count(); ++i) { + QAction *action = new QAction(m_recentlyClosedTabsMenu); + action->setData(m_recentlyClosedTabs.at(i)); + QIcon icon = BrowserApplication::instance()->icon(m_recentlyClosedTabs.at(i)); + action->setIcon(icon); + action->setText(m_recentlyClosedTabs.at(i).toString()); + m_recentlyClosedTabsMenu->addAction(action); + } +} + +void TabWidget::aboutToShowRecentTriggeredAction(QAction *action) +{ + QUrl url = action->data().toUrl(); + loadUrlInCurrentTab(url); +} + +void TabWidget::mouseDoubleClickEvent(QMouseEvent *event) +{ + if (!childAt(event->pos()) + // Remove the line below when QTabWidget does not have a one pixel frame + && event->pos().y() < (tabBar()->y() + tabBar()->height())) { + newTab(); + return; + } + QTabWidget::mouseDoubleClickEvent(event); +} + +void TabWidget::contextMenuEvent(QContextMenuEvent *event) +{ + if (!childAt(event->pos())) { + m_tabBar->contextMenuRequested(event->pos()); + return; + } + QTabWidget::contextMenuEvent(event); +} + +void TabWidget::mouseReleaseEvent(QMouseEvent *event) +{ + if (event->button() == Qt::MidButton && !childAt(event->pos()) + // Remove the line below when QTabWidget does not have a one pixel frame + && event->pos().y() < (tabBar()->y() + tabBar()->height())) { + QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); + if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { + WebView *webView = newTab(); + webView->setUrl(url); + } + } +} + +void TabWidget::loadUrlInCurrentTab(const QUrl &url) +{ + WebView *webView = currentWebView(); + if (webView) { + webView->loadUrl(url); + webView->setFocus(); + } +} + +void TabWidget::nextTab() +{ + int next = currentIndex() + 1; + if (next == count()) + next = 0; + setCurrentIndex(next); +} + +void TabWidget::previousTab() +{ + int next = currentIndex() - 1; + if (next < 0) + next = count() - 1; + setCurrentIndex(next); +} + +static const qint32 TabWidgetMagic = 0xaa; + +QByteArray TabWidget::saveState() const +{ + int version = 1; + QByteArray data; + QDataStream stream(&data, QIODevice::WriteOnly); + + stream << qint32(TabWidgetMagic); + stream << qint32(version); + + QStringList tabs; + for (int i = 0; i < count(); ++i) { + if (WebView *tab = qobject_cast(widget(i))) { + tabs.append(tab->url().toString()); + } else { + tabs.append(QString::null); + } + } + stream << tabs; + stream << currentIndex(); + return data; +} + +bool TabWidget::restoreState(const QByteArray &state) +{ + int version = 1; + QByteArray sd = state; + QDataStream stream(&sd, QIODevice::ReadOnly); + if (stream.atEnd()) + return false; + + qint32 marker; + qint32 v; + stream >> marker; + stream >> v; + if (marker != TabWidgetMagic || v != version) + return false; + + QStringList openTabs; + stream >> openTabs; + + for (int i = 0; i < openTabs.count(); ++i) { + if (i != 0) + newTab(); + loadPage(openTabs.at(i)); + } + + int currentTab; + stream >> currentTab; + setCurrentIndex(currentTab); + + return true; +} + +WebActionMapper::WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent) + : QObject(parent) + , m_currentParent(0) + , m_root(root) + , m_webAction(webAction) +{ + if (!m_root) + return; + connect(m_root, SIGNAL(triggered()), this, SLOT(rootTriggered())); + connect(root, SIGNAL(destroyed(QObject *)), this, SLOT(rootDestroyed())); + root->setEnabled(false); +} + +void WebActionMapper::rootDestroyed() +{ + m_root = 0; +} + +void WebActionMapper::currentDestroyed() +{ + updateCurrent(0); +} + +void WebActionMapper::addChild(QAction *action) +{ + if (!action) + return; + connect(action, SIGNAL(changed()), this, SLOT(childChanged())); +} + +QWebPage::WebAction WebActionMapper::webAction() const +{ + return m_webAction; +} + +void WebActionMapper::rootTriggered() +{ + if (m_currentParent) { + QAction *gotoAction = m_currentParent->action(m_webAction); + gotoAction->trigger(); + } +} + +void WebActionMapper::childChanged() +{ + if (QAction *source = qobject_cast(sender())) { + if (m_root + && m_currentParent + && source->parent() == m_currentParent) { + m_root->setChecked(source->isChecked()); + m_root->setEnabled(source->isEnabled()); + } + } +} + +void WebActionMapper::updateCurrent(QWebPage *currentParent) +{ + if (m_currentParent) + disconnect(m_currentParent, SIGNAL(destroyed(QObject *)), + this, SLOT(currentDestroyed())); + + m_currentParent = currentParent; + if (!m_root) + return; + if (!m_currentParent) { + m_root->setEnabled(false); + m_root->setChecked(false); + return; + } + QAction *source = m_currentParent->action(m_webAction); + m_root->setChecked(source->isChecked()); + m_root->setEnabled(source->isEnabled()); + connect(m_currentParent, SIGNAL(destroyed(QObject *)), + this, SLOT(currentDestroyed())); +} + diff --git a/demos/browser/tabwidget.h b/demos/browser/tabwidget.h new file mode 100644 index 0000000..da3fe42 --- /dev/null +++ b/demos/browser/tabwidget.h @@ -0,0 +1,224 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TABWIDGET_H +#define TABWIDGET_H + +#include + +#include +/* + Tab bar with a few more features such as a context menu and shortcuts + */ +class TabBar : public QTabBar +{ + Q_OBJECT + +signals: + void newTab(); + void cloneTab(int index); + void closeTab(int index); + void closeOtherTabs(int index); + void reloadTab(int index); + void reloadAllTabs(); + void tabMoveRequested(int fromIndex, int toIndex); + +public: + TabBar(QWidget *parent = 0); + +protected: + void mousePressEvent(QMouseEvent* event); + void mouseMoveEvent(QMouseEvent* event); + +private slots: + void selectTabAction(); + void cloneTab(); + void closeTab(); + void closeOtherTabs(); + void reloadTab(); + void contextMenuRequested(const QPoint &position); + +private: + QList m_tabShortcuts; + friend class TabWidget; + + QPoint m_dragStartPos; + int m_dragCurrentIndex; +}; + +#include + +QT_BEGIN_NAMESPACE +class QAction; +QT_END_NAMESPACE +class WebView; +/*! + A proxy object that connects a single browser action + to one child webpage action at a time. + + Example usage: used to keep the main window stop action in sync with + the current tabs webview's stop action. + */ +class WebActionMapper : public QObject +{ + Q_OBJECT + +public: + WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent); + QWebPage::WebAction webAction() const; + void addChild(QAction *action); + void updateCurrent(QWebPage *currentParent); + +private slots: + void rootTriggered(); + void childChanged(); + void rootDestroyed(); + void currentDestroyed(); + +private: + QWebPage *m_currentParent; + QAction *m_root; + QWebPage::WebAction m_webAction; +}; + +#include +#include +QT_BEGIN_NAMESPACE +class QCompleter; +class QLineEdit; +class QMenu; +class QStackedWidget; +QT_END_NAMESPACE +/*! + TabWidget that contains WebViews and a stack widget of associated line edits. + + Connects up the current tab's signals to this class's signal and uses WebActionMapper + to proxy the actions. + */ +class TabWidget : public QTabWidget +{ + Q_OBJECT + +signals: + // tab widget signals + void loadPage(const QString &url); + void tabsChanged(); + void lastTabClosed(); + + // current tab signals + void setCurrentTitle(const QString &url); + void showStatusBarMessage(const QString &message); + void linkHovered(const QString &link); + void loadProgress(int progress); + void geometryChangeRequested(const QRect &geometry); + void menuBarVisibilityChangeRequested(bool visible); + void statusBarVisibilityChangeRequested(bool visible); + void toolBarVisibilityChangeRequested(bool visible); + void printRequested(QWebFrame *frame); + +public: + TabWidget(QWidget *parent = 0); + void clear(); + void addWebAction(QAction *action, QWebPage::WebAction webAction); + + QAction *newTabAction() const; + QAction *closeTabAction() const; + QAction *recentlyClosedTabsAction() const; + QAction *nextTabAction() const; + QAction *previousTabAction() const; + + QWidget *lineEditStack() const; + QLineEdit *currentLineEdit() const; + WebView *currentWebView() const; + WebView *webView(int index) const; + QLineEdit *lineEdit(int index) const; + int webViewIndex(WebView *webView) const; + + QByteArray saveState() const; + bool restoreState(const QByteArray &state); + +protected: + void mouseDoubleClickEvent(QMouseEvent *event); + void contextMenuEvent(QContextMenuEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + +public slots: + void loadUrlInCurrentTab(const QUrl &url); + WebView *newTab(bool makeCurrent = true); + void cloneTab(int index = -1); + void closeTab(int index = -1); + void closeOtherTabs(int index); + void reloadTab(int index = -1); + void reloadAllTabs(); + void nextTab(); + void previousTab(); + +private slots: + void currentChanged(int index); + void aboutToShowRecentTabsMenu(); + void aboutToShowRecentTriggeredAction(QAction *action); + void webViewLoadStarted(); + void webViewIconChanged(); + void webViewTitleChanged(const QString &title); + void webViewUrlChanged(const QUrl &url); + void lineEditReturnPressed(); + void windowCloseRequested(); + void moveTab(int fromIndex, int toIndex); + +private: + QAction *m_recentlyClosedTabsAction; + QAction *m_newTabAction; + QAction *m_closeTabAction; + QAction *m_nextTabAction; + QAction *m_previousTabAction; + + QMenu *m_recentlyClosedTabsMenu; + static const int m_recentlyClosedTabsSize = 10; + QList m_recentlyClosedTabs; + QList m_actions; + + QCompleter *m_lineEditCompleter; + QStackedWidget *m_lineEdits; + TabBar *m_tabBar; +}; + +#endif // TABWIDGET_H + diff --git a/demos/browser/toolbarsearch.cpp b/demos/browser/toolbarsearch.cpp new file mode 100644 index 0000000..255b5e9 --- /dev/null +++ b/demos/browser/toolbarsearch.cpp @@ -0,0 +1,161 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "toolbarsearch.h" +#include "autosaver.h" + +#include +#include + +#include +#include +#include + +#include + +/* + ToolbarSearch is a very basic search widget that also contains a small history. + Searches are turned into urls that use Google to perform search + */ +ToolbarSearch::ToolbarSearch(QWidget *parent) + : SearchLineEdit(parent) + , m_autosaver(new AutoSaver(this)) + , m_maxSavedSearches(10) + , m_stringListModel(new QStringListModel(this)) +{ + QMenu *m = menu(); + connect(m, SIGNAL(aboutToShow()), this, SLOT(aboutToShowMenu())); + connect(m, SIGNAL(triggered(QAction*)), this, SLOT(triggeredMenuAction(QAction*))); + + QCompleter *completer = new QCompleter(m_stringListModel, this); + completer->setCompletionMode(QCompleter::InlineCompletion); + lineEdit()->setCompleter(completer); + + connect(lineEdit(), SIGNAL(returnPressed()), SLOT(searchNow())); + setInactiveText(tr("Google")); + load(); +} + +ToolbarSearch::~ToolbarSearch() +{ + m_autosaver->saveIfNeccessary(); +} + +void ToolbarSearch::save() +{ + QSettings settings; + settings.beginGroup(QLatin1String("toolbarsearch")); + settings.setValue(QLatin1String("recentSearches"), m_stringListModel->stringList()); + settings.setValue(QLatin1String("maximumSaved"), m_maxSavedSearches); + settings.endGroup(); +} + +void ToolbarSearch::load() +{ + QSettings settings; + settings.beginGroup(QLatin1String("toolbarsearch")); + QStringList list = settings.value(QLatin1String("recentSearches")).toStringList(); + m_maxSavedSearches = settings.value(QLatin1String("maximumSaved"), m_maxSavedSearches).toInt(); + m_stringListModel->setStringList(list); + settings.endGroup(); +} + +void ToolbarSearch::searchNow() +{ + QString searchText = lineEdit()->text(); + QStringList newList = m_stringListModel->stringList(); + if (newList.contains(searchText)) + newList.removeAt(newList.indexOf(searchText)); + newList.prepend(searchText); + if (newList.size() >= m_maxSavedSearches) + newList.removeLast(); + + QWebSettings *globalSettings = QWebSettings::globalSettings(); + if (!globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { + m_stringListModel->setStringList(newList); + m_autosaver->changeOccurred(); + } + + QUrl url(QLatin1String("http://www.google.com/search")); + url.addQueryItem(QLatin1String("q"), searchText); + url.addQueryItem(QLatin1String("ie"), QLatin1String("UTF-8")); + url.addQueryItem(QLatin1String("oe"), QLatin1String("UTF-8")); + url.addQueryItem(QLatin1String("client"), QLatin1String("qtdemobrowser")); + emit search(url); +} + +void ToolbarSearch::aboutToShowMenu() +{ + lineEdit()->selectAll(); + QMenu *m = menu(); + m->clear(); + QStringList list = m_stringListModel->stringList(); + if (list.isEmpty()) { + m->addAction(tr("No Recent Searches")); + return; + } + + QAction *recent = m->addAction(tr("Recent Searches")); + recent->setEnabled(false); + for (int i = 0; i < list.count(); ++i) { + QString text = list.at(i); + m->addAction(text)->setData(text); + } + m->addSeparator(); + m->addAction(tr("Clear Recent Searches"), this, SLOT(clear())); +} + +void ToolbarSearch::triggeredMenuAction(QAction *action) +{ + QVariant v = action->data(); + if (v.canConvert()) { + QString text = v.toString(); + lineEdit()->setText(text); + searchNow(); + } +} + +void ToolbarSearch::clear() +{ + m_stringListModel->setStringList(QStringList()); + m_autosaver->changeOccurred();; +} + diff --git a/demos/browser/toolbarsearch.h b/demos/browser/toolbarsearch.h new file mode 100644 index 0000000..8e1be8d --- /dev/null +++ b/demos/browser/toolbarsearch.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TOOLBARSEARCH_H +#define TOOLBARSEARCH_H + +#include "searchlineedit.h" + +QT_BEGIN_NAMESPACE +class QUrl; +class QAction; +class QStringListModel; +QT_END_NAMESPACE + +class AutoSaver; + +class ToolbarSearch : public SearchLineEdit +{ + Q_OBJECT + +signals: + void search(const QUrl &url); + +public: + ToolbarSearch(QWidget *parent = 0); + ~ToolbarSearch(); + +public slots: + void clear(); + void searchNow(); + +private slots: + void save(); + void aboutToShowMenu(); + void triggeredMenuAction(QAction *action); + +private: + void load(); + + AutoSaver *m_autosaver; + int m_maxSavedSearches; + QStringListModel *m_stringListModel; +}; + +#endif // TOOLBARSEARCH_H + diff --git a/demos/browser/urllineedit.cpp b/demos/browser/urllineedit.cpp new file mode 100644 index 0000000..f7a6345 --- /dev/null +++ b/demos/browser/urllineedit.cpp @@ -0,0 +1,340 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "urllineedit.h" + +#include "browserapplication.h" +#include "searchlineedit.h" +#include "webview.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +ExLineEdit::ExLineEdit(QWidget *parent) + : QWidget(parent) + , m_leftWidget(0) + , m_lineEdit(new QLineEdit(this)) + , m_clearButton(0) +{ + setFocusPolicy(m_lineEdit->focusPolicy()); + setAttribute(Qt::WA_InputMethodEnabled); + setSizePolicy(m_lineEdit->sizePolicy()); + setBackgroundRole(m_lineEdit->backgroundRole()); + setMouseTracking(true); + setAcceptDrops(true); + setAttribute(Qt::WA_MacShowFocusRect, true); + QPalette p = m_lineEdit->palette(); + setPalette(p); + + // line edit + m_lineEdit->setFrame(false); + m_lineEdit->setFocusProxy(this); + m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false); + QPalette clearPalette = m_lineEdit->palette(); + clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent)); + m_lineEdit->setPalette(clearPalette); + + // clearButton + m_clearButton = new ClearButton(this); + connect(m_clearButton, SIGNAL(clicked()), + m_lineEdit, SLOT(clear())); + connect(m_lineEdit, SIGNAL(textChanged(const QString&)), + m_clearButton, SLOT(textChanged(const QString&))); +} + +void ExLineEdit::setLeftWidget(QWidget *widget) +{ + m_leftWidget = widget; +} + +QWidget *ExLineEdit::leftWidget() const +{ + return m_leftWidget; +} + +void ExLineEdit::resizeEvent(QResizeEvent *event) +{ + Q_ASSERT(m_leftWidget); + updateGeometries(); + QWidget::resizeEvent(event); +} + +void ExLineEdit::updateGeometries() +{ + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + + int height = rect.height(); + int width = rect.width(); + + int m_leftWidgetHeight = m_leftWidget->height(); + m_leftWidget->setGeometry(rect.x() + 2, rect.y() + (height - m_leftWidgetHeight)/2, + m_leftWidget->width(), m_leftWidget->height()); + + int clearButtonWidth = this->height(); + m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(), 0, + width - clearButtonWidth - m_leftWidget->width(), this->height()); + + m_clearButton->setGeometry(this->width() - clearButtonWidth, 0, + clearButtonWidth, this->height()); +} + +void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const +{ + option->initFrom(this); + option->rect = contentsRect(); + option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this); + option->midLineWidth = 0; + option->state |= QStyle::State_Sunken; + if (m_lineEdit->isReadOnly()) + option->state |= QStyle::State_ReadOnly; +#ifdef QT_KEYPAD_NAVIGATION + if (hasEditFocus()) + option->state |= QStyle::State_HasEditFocus; +#endif + option->features = QStyleOptionFrameV2::None; +} + +QSize ExLineEdit::sizeHint() const +{ + m_lineEdit->setFrame(true); + QSize size = m_lineEdit->sizeHint(); + m_lineEdit->setFrame(false); + return size; +} + +void ExLineEdit::focusInEvent(QFocusEvent *event) +{ + m_lineEdit->event(event); + QWidget::focusInEvent(event); +} + +void ExLineEdit::focusOutEvent(QFocusEvent *event) +{ + m_lineEdit->event(event); + + if (m_lineEdit->completer()) { + connect(m_lineEdit->completer(), SIGNAL(activated(QString)), + m_lineEdit, SLOT(setText(QString))); + connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)), + m_lineEdit, SLOT(_q_completionHighlighted(QString))); + } + QWidget::focusOutEvent(event); +} + +void ExLineEdit::keyPressEvent(QKeyEvent *event) +{ + m_lineEdit->event(event); +} + +bool ExLineEdit::event(QEvent *event) +{ + if (event->type() == QEvent::ShortcutOverride) + return m_lineEdit->event(event); + return QWidget::event(event); +} + +void ExLineEdit::paintEvent(QPaintEvent *) +{ + QPainter p(this); + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this); +} + +QVariant ExLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const +{ + return m_lineEdit->inputMethodQuery(property); +} + +void ExLineEdit::inputMethodEvent(QInputMethodEvent *e) +{ + m_lineEdit->event(e); +} + + +class UrlIconLabel : public QLabel +{ + +public: + UrlIconLabel(QWidget *parent); + + WebView *m_webView; + +protected: + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + +private: + QPoint m_dragStartPos; + +}; + +UrlIconLabel::UrlIconLabel(QWidget *parent) + : QLabel(parent) + , m_webView(0) +{ + setMinimumWidth(16); + setMinimumHeight(16); +} + +void UrlIconLabel::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + m_dragStartPos = event->pos(); + QLabel::mousePressEvent(event); +} + +void UrlIconLabel::mouseMoveEvent(QMouseEvent *event) +{ + if (event->buttons() == Qt::LeftButton + && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() + && m_webView) { + QDrag *drag = new QDrag(this); + QMimeData *mimeData = new QMimeData; + mimeData->setText(QString::fromUtf8(m_webView->url().toEncoded())); + QList urls; + urls.append(m_webView->url()); + mimeData->setUrls(urls); + drag->setMimeData(mimeData); + drag->exec(); + } +} + +UrlLineEdit::UrlLineEdit(QWidget *parent) + : ExLineEdit(parent) + , m_webView(0) + , m_iconLabel(0) +{ + // icon + m_iconLabel = new UrlIconLabel(this); + m_iconLabel->resize(16, 16); + setLeftWidget(m_iconLabel); + m_defaultBaseColor = palette().color(QPalette::Base); + + webViewIconChanged(); +} + +void UrlLineEdit::setWebView(WebView *webView) +{ + Q_ASSERT(!m_webView); + m_webView = webView; + m_iconLabel->m_webView = webView; + connect(webView, SIGNAL(urlChanged(const QUrl &)), + this, SLOT(webViewUrlChanged(const QUrl &))); + connect(webView, SIGNAL(loadFinished(bool)), + this, SLOT(webViewIconChanged())); + connect(webView, SIGNAL(iconChanged()), + this, SLOT(webViewIconChanged())); + connect(webView, SIGNAL(loadProgress(int)), + this, SLOT(update())); +} + +void UrlLineEdit::webViewUrlChanged(const QUrl &url) +{ + m_lineEdit->setText(QString::fromUtf8(url.toEncoded())); + m_lineEdit->setCursorPosition(0); +} + +void UrlLineEdit::webViewIconChanged() +{ + QUrl url = (m_webView) ? m_webView->url() : QUrl(); + QIcon icon = BrowserApplication::instance()->icon(url); + QPixmap pixmap(icon.pixmap(16, 16)); + m_iconLabel->setPixmap(pixmap); +} + +QLinearGradient UrlLineEdit::generateGradient(const QColor &color) const +{ + QLinearGradient gradient(0, 0, 0, height()); + gradient.setColorAt(0, m_defaultBaseColor); + gradient.setColorAt(0.15, color.lighter(120)); + gradient.setColorAt(0.5, color); + gradient.setColorAt(0.85, color.lighter(120)); + gradient.setColorAt(1, m_defaultBaseColor); + return gradient; +} + +void UrlLineEdit::focusOutEvent(QFocusEvent *event) +{ + if (m_lineEdit->text().isEmpty() && m_webView) + m_lineEdit->setText(QString::fromUtf8(m_webView->url().toEncoded())); + ExLineEdit::focusOutEvent(event); +} + +void UrlLineEdit::paintEvent(QPaintEvent *event) +{ + QPalette p = palette(); + if (m_webView && m_webView->url().scheme() == QLatin1String("https")) { + QColor lightYellow(248, 248, 210); + p.setBrush(QPalette::Base, generateGradient(lightYellow)); + } else { + p.setBrush(QPalette::Base, m_defaultBaseColor); + } + setPalette(p); + ExLineEdit::paintEvent(event); + + QPainter painter(this); + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + if (m_webView && !hasFocus()) { + int progress = m_webView->progress(); + QColor loadingColor = QColor(116, 192, 250); + painter.setBrush(generateGradient(loadingColor)); + painter.setPen(Qt::transparent); + int mid = backgroundRect.width() / 100 * progress; + QRect progressRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); + painter.drawRect(progressRect); + } +} diff --git a/demos/browser/urllineedit.h b/demos/browser/urllineedit.h new file mode 100644 index 0000000..6a718f0 --- /dev/null +++ b/demos/browser/urllineedit.h @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef URLLINEEDIT_H +#define URLLINEEDIT_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE +class QLineEdit; +QT_END_NAMESPACE + +class ClearButton; +class ExLineEdit : public QWidget +{ + Q_OBJECT + +public: + ExLineEdit(QWidget *parent = 0); + + inline QLineEdit *lineEdit() const { return m_lineEdit; } + + void setLeftWidget(QWidget *widget); + QWidget *leftWidget() const; + + QSize sizeHint() const; + + QVariant inputMethodQuery(Qt::InputMethodQuery property) const; +protected: + void focusInEvent(QFocusEvent *event); + void focusOutEvent(QFocusEvent *event); + void keyPressEvent(QKeyEvent *event); + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *event); + void inputMethodEvent(QInputMethodEvent *e); + bool event(QEvent *event); + +protected: + void updateGeometries(); + void initStyleOption(QStyleOptionFrameV2 *option) const; + + QWidget *m_leftWidget; + QLineEdit *m_lineEdit; + ClearButton *m_clearButton; +}; + +class UrlIconLabel; +class WebView; +class UrlLineEdit : public ExLineEdit +{ + Q_OBJECT + +public: + UrlLineEdit(QWidget *parent = 0); + void setWebView(WebView *webView); + +protected: + void paintEvent(QPaintEvent *event); + void focusOutEvent(QFocusEvent *event); + +private slots: + void webViewUrlChanged(const QUrl &url); + void webViewIconChanged(); + +private: + QLinearGradient generateGradient(const QColor &color) const; + WebView *m_webView; + UrlIconLabel *m_iconLabel; + QColor m_defaultBaseColor; + +}; + + +#endif // URLLINEEDIT_H + diff --git a/demos/browser/webview.cpp b/demos/browser/webview.cpp new file mode 100644 index 0000000..6c4d857 --- /dev/null +++ b/demos/browser/webview.cpp @@ -0,0 +1,304 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "browserapplication.h" +#include "browsermainwindow.h" +#include "cookiejar.h" +#include "downloadmanager.h" +#include "networkaccessmanager.h" +#include "tabwidget.h" +#include "webview.h" + +#include +#include +#include +#include + +#include + +#include + +#include +#include + +WebPage::WebPage(QObject *parent) + : QWebPage(parent) + , m_keyboardModifiers(Qt::NoModifier) + , m_pressedButtons(Qt::NoButton) + , m_openInNewTab(false) +{ + setNetworkAccessManager(BrowserApplication::networkAccessManager()); + connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), + this, SLOT(handleUnsupportedContent(QNetworkReply *))); +} + +BrowserMainWindow *WebPage::mainWindow() +{ + QObject *w = this->parent(); + while (w) { + if (BrowserMainWindow *mw = qobject_cast(w)) + return mw; + w = w->parent(); + } + return BrowserApplication::instance()->mainWindow(); +} + +bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type) +{ + // ctrl open in new tab + // ctrl-shift open in new tab and select + // ctrl-alt open in new window + if (type == QWebPage::NavigationTypeLinkClicked + && (m_keyboardModifiers & Qt::ControlModifier + || m_pressedButtons == Qt::MidButton)) { + bool newWindow = (m_keyboardModifiers & Qt::AltModifier); + WebView *webView; + if (newWindow) { + BrowserApplication::instance()->newMainWindow(); + BrowserMainWindow *newMainWindow = BrowserApplication::instance()->mainWindow(); + webView = newMainWindow->currentTab(); + newMainWindow->raise(); + newMainWindow->activateWindow(); + webView->setFocus(); + } else { + bool selectNewTab = (m_keyboardModifiers & Qt::ShiftModifier); + webView = mainWindow()->tabWidget()->newTab(selectNewTab); + } + webView->load(request); + m_keyboardModifiers = Qt::NoModifier; + m_pressedButtons = Qt::NoButton; + return false; + } + if (frame == mainFrame()) { + m_loadingUrl = request.url(); + emit loadingUrl(m_loadingUrl); + } + return QWebPage::acceptNavigationRequest(frame, request, type); +} + +QWebPage *WebPage::createWindow(QWebPage::WebWindowType type) +{ + Q_UNUSED(type); + if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton) + m_openInNewTab = true; + if (m_openInNewTab) { + m_openInNewTab = false; + return mainWindow()->tabWidget()->newTab()->page(); + } + BrowserApplication::instance()->newMainWindow(); + BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + return mainWindow->currentTab()->page(); +} + +#if !defined(QT_NO_UITOOLS) +QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues) +{ + Q_UNUSED(url); + Q_UNUSED(paramNames); + Q_UNUSED(paramValues); + QUiLoader loader; + return loader.createWidget(classId, view()); +} +#endif // !defined(QT_NO_UITOOLS) + +void WebPage::handleUnsupportedContent(QNetworkReply *reply) +{ + if (reply->error() == QNetworkReply::NoError) { + BrowserApplication::downloadManager()->handleUnsupportedContent(reply); + return; + } + + QFile file(QLatin1String(":/notfound.html")); + bool isOpened = file.open(QIODevice::ReadOnly); + Q_ASSERT(isOpened); + QString title = tr("Error loading page: %1").arg(reply->url().toString()); + QString html = QString(QLatin1String(file.readAll())) + .arg(title) + .arg(reply->errorString()) + .arg(reply->url().toString()); + + QBuffer imageBuffer; + imageBuffer.open(QBuffer::ReadWrite); + QIcon icon = view()->style()->standardIcon(QStyle::SP_MessageBoxWarning, 0, view()); + QPixmap pixmap = icon.pixmap(QSize(32,32)); + if (pixmap.save(&imageBuffer, "PNG")) { + html.replace(QLatin1String("IMAGE_BINARY_DATA_HERE"), + QString(QLatin1String(imageBuffer.buffer().toBase64()))); + } + + QList frames; + frames.append(mainFrame()); + while (!frames.isEmpty()) { + QWebFrame *frame = frames.takeFirst(); + if (frame->url() == reply->url()) { + frame->setHtml(html, reply->url()); + return; + } + QList children = frame->childFrames(); + foreach(QWebFrame *frame, children) + frames.append(frame); + } + if (m_loadingUrl == reply->url()) { + mainFrame()->setHtml(html, reply->url()); + } +} + + +WebView::WebView(QWidget* parent) + : QWebView(parent) + , m_progress(0) + , m_page(new WebPage(this)) +{ + setPage(m_page); + connect(page(), SIGNAL(statusBarMessage(const QString&)), + SLOT(setStatusBarText(const QString&))); + connect(this, SIGNAL(loadProgress(int)), + this, SLOT(setProgress(int))); + connect(this, SIGNAL(loadFinished(bool)), + this, SLOT(loadFinished())); + connect(page(), SIGNAL(loadingUrl(const QUrl&)), + this, SIGNAL(urlChanged(const QUrl &))); + connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)), + this, SLOT(downloadRequested(const QNetworkRequest &))); + page()->setForwardUnsupportedContent(true); + +} + +void WebView::contextMenuEvent(QContextMenuEvent *event) +{ + QWebHitTestResult r = page()->mainFrame()->hitTestContent(event->pos()); + if (!r.linkUrl().isEmpty()) { + QMenu menu(this); + menu.addAction(pageAction(QWebPage::OpenLinkInNewWindow)); + menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab())); + menu.addSeparator(); + menu.addAction(pageAction(QWebPage::DownloadLinkToDisk)); + // Add link to bookmarks... + menu.addSeparator(); + menu.addAction(pageAction(QWebPage::CopyLinkToClipboard)); + if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) + menu.addAction(pageAction(QWebPage::InspectElement)); + menu.exec(mapToGlobal(event->pos())); + return; + } + QWebView::contextMenuEvent(event); +} + +void WebView::wheelEvent(QWheelEvent *event) +{ + if (QApplication::keyboardModifiers() & Qt::ControlModifier) { + int numDegrees = event->delta() / 8; + int numSteps = numDegrees / 15; + setTextSizeMultiplier(textSizeMultiplier() + numSteps * 0.1); + event->accept(); + return; + } + QWebView::wheelEvent(event); +} + +void WebView::openLinkInNewTab() +{ + m_page->m_openInNewTab = true; + pageAction(QWebPage::OpenLinkInNewWindow)->trigger(); +} + +void WebView::setProgress(int progress) +{ + m_progress = progress; +} + +void WebView::loadFinished() +{ + if (100 != m_progress) { + qWarning() << "Recieved finished signal while progress is still:" << progress() + << "Url:" << url(); + } + m_progress = 0; +} + +void WebView::loadUrl(const QUrl &url) +{ + m_initialUrl = url; + load(url); +} + +QString WebView::lastStatusBarText() const +{ + return m_statusBarText; +} + +QUrl WebView::url() const +{ + QUrl url = QWebView::url(); + if (!url.isEmpty()) + return url; + + return m_initialUrl; +} + +void WebView::mousePressEvent(QMouseEvent *event) +{ + m_page->m_pressedButtons = event->buttons(); + m_page->m_keyboardModifiers = event->modifiers(); + QWebView::mousePressEvent(event); +} + +void WebView::mouseReleaseEvent(QMouseEvent *event) +{ + QWebView::mouseReleaseEvent(event); + if (!event->isAccepted() && (m_page->m_pressedButtons & Qt::MidButton)) { + QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); + if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { + setUrl(url); + } + } +} + +void WebView::setStatusBarText(const QString &string) +{ + m_statusBarText = string; +} + +void WebView::downloadRequested(const QNetworkRequest &request) +{ + BrowserApplication::downloadManager()->download(request); +} + diff --git a/demos/browser/webview.h b/demos/browser/webview.h new file mode 100644 index 0000000..a41bcf3 --- /dev/null +++ b/demos/browser/webview.h @@ -0,0 +1,119 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef WEBVIEW_H +#define WEBVIEW_H + +#include + +QT_BEGIN_NAMESPACE +class QAuthenticator; +class QMouseEvent; +class QNetworkProxy; +class QNetworkReply; +class QSslError; +QT_END_NAMESPACE + +class BrowserMainWindow; +class WebPage : public QWebPage { + Q_OBJECT + +signals: + void loadingUrl(const QUrl &url); + +public: + WebPage(QObject *parent = 0); + BrowserMainWindow *mainWindow(); + +protected: + bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type); + QWebPage *createWindow(QWebPage::WebWindowType type); +#if !defined(QT_NO_UITOOLS) + QObject *createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); +#endif + +private slots: + void handleUnsupportedContent(QNetworkReply *reply); + +private: + friend class WebView; + + // set the webview mousepressedevent + Qt::KeyboardModifiers m_keyboardModifiers; + Qt::MouseButtons m_pressedButtons; + bool m_openInNewTab; + QUrl m_loadingUrl; +}; + +class WebView : public QWebView { + Q_OBJECT + +public: + WebView(QWidget *parent = 0); + WebPage *webPage() const { return m_page; } + + void loadUrl(const QUrl &url); + QUrl url() const; + + QString lastStatusBarText() const; + inline int progress() const { return m_progress; } + +protected: + void mousePressEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void contextMenuEvent(QContextMenuEvent *event); + void wheelEvent(QWheelEvent *event); + +private slots: + void setProgress(int progress); + void loadFinished(); + void setStatusBarText(const QString &string); + void downloadRequested(const QNetworkRequest &request); + void openLinkInNewTab(); + +private: + QString m_statusBarText; + QUrl m_initialUrl; + int m_progress; + WebPage *m_page; +}; + +#endif diff --git a/demos/browser/xbel.cpp b/demos/browser/xbel.cpp new file mode 100644 index 0000000..a92b649 --- /dev/null +++ b/demos/browser/xbel.cpp @@ -0,0 +1,320 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "xbel.h" + +#include + +BookmarkNode::BookmarkNode(BookmarkNode::Type type, BookmarkNode *parent) : + expanded(false) + , m_parent(parent) + , m_type(type) +{ + if (parent) + parent->add(this); +} + +BookmarkNode::~BookmarkNode() +{ + if (m_parent) + m_parent->remove(this); + qDeleteAll(m_children); + m_parent = 0; + m_type = BookmarkNode::Root; +} + +bool BookmarkNode::operator==(const BookmarkNode &other) +{ + if (url != other.url + || title != other.title + || desc != other.desc + || expanded != other.expanded + || m_type != other.m_type + || m_children.count() != other.m_children.count()) + return false; + + for (int i = 0; i < m_children.count(); ++i) + if (!((*(m_children[i])) == (*(other.m_children[i])))) + return false; + return true; +} + +BookmarkNode::Type BookmarkNode::type() const +{ + return m_type; +} + +void BookmarkNode::setType(Type type) +{ + m_type = type; +} + +QList BookmarkNode::children() const +{ + return m_children; +} + +BookmarkNode *BookmarkNode::parent() const +{ + return m_parent; +} + +void BookmarkNode::add(BookmarkNode *child, int offset) +{ + Q_ASSERT(child->m_type != Root); + if (child->m_parent) + child->m_parent->remove(child); + child->m_parent = this; + if (-1 == offset) + offset = m_children.size(); + m_children.insert(offset, child); +} + +void BookmarkNode::remove(BookmarkNode *child) +{ + child->m_parent = 0; + m_children.removeAll(child); +} + + +XbelReader::XbelReader() +{ +} + +BookmarkNode *XbelReader::read(const QString &fileName) +{ + QFile file(fileName); + if (!file.exists()) { + return new BookmarkNode(BookmarkNode::Root); + } + file.open(QFile::ReadOnly); + return read(&file); +} + +BookmarkNode *XbelReader::read(QIODevice *device) +{ + BookmarkNode *root = new BookmarkNode(BookmarkNode::Root); + setDevice(device); + while (!atEnd()) { + readNext(); + if (isStartElement()) { + QString version = attributes().value(QLatin1String("version")).toString(); + if (name() == QLatin1String("xbel") + && (version.isEmpty() || version == QLatin1String("1.0"))) { + readXBEL(root); + } else { + raiseError(QObject::tr("The file is not an XBEL version 1.0 file.")); + } + } + } + return root; +} + +void XbelReader::readXBEL(BookmarkNode *parent) +{ + Q_ASSERT(isStartElement() && name() == QLatin1String("xbel")); + + while (!atEnd()) { + readNext(); + if (isEndElement()) + break; + + if (isStartElement()) { + if (name() == QLatin1String("folder")) + readFolder(parent); + else if (name() == QLatin1String("bookmark")) + readBookmarkNode(parent); + else if (name() == QLatin1String("separator")) + readSeparator(parent); + else + skipUnknownElement(); + } + } +} + +void XbelReader::readFolder(BookmarkNode *parent) +{ + Q_ASSERT(isStartElement() && name() == QLatin1String("folder")); + + BookmarkNode *folder = new BookmarkNode(BookmarkNode::Folder, parent); + folder->expanded = (attributes().value(QLatin1String("folded")) == QLatin1String("no")); + + while (!atEnd()) { + readNext(); + + if (isEndElement()) + break; + + if (isStartElement()) { + if (name() == QLatin1String("title")) + readTitle(folder); + else if (name() == QLatin1String("desc")) + readDescription(folder); + else if (name() == QLatin1String("folder")) + readFolder(folder); + else if (name() == QLatin1String("bookmark")) + readBookmarkNode(folder); + else if (name() == QLatin1String("separator")) + readSeparator(folder); + else + skipUnknownElement(); + } + } +} + +void XbelReader::readTitle(BookmarkNode *parent) +{ + Q_ASSERT(isStartElement() && name() == QLatin1String("title")); + parent->title = readElementText(); +} + +void XbelReader::readDescription(BookmarkNode *parent) +{ + Q_ASSERT(isStartElement() && name() == QLatin1String("desc")); + parent->desc = readElementText(); +} + +void XbelReader::readSeparator(BookmarkNode *parent) +{ + new BookmarkNode(BookmarkNode::Separator, parent); + // empty elements have a start and end element + readNext(); +} + +void XbelReader::readBookmarkNode(BookmarkNode *parent) +{ + Q_ASSERT(isStartElement() && name() == QLatin1String("bookmark")); + BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark, parent); + bookmark->url = attributes().value(QLatin1String("href")).toString(); + while (!atEnd()) { + readNext(); + if (isEndElement()) + break; + + if (isStartElement()) { + if (name() == QLatin1String("title")) + readTitle(bookmark); + else if (name() == QLatin1String("desc")) + readDescription(bookmark); + else + skipUnknownElement(); + } + } + if (bookmark->title.isEmpty()) + bookmark->title = QObject::tr("Unknown title"); +} + +void XbelReader::skipUnknownElement() +{ + Q_ASSERT(isStartElement()); + + while (!atEnd()) { + readNext(); + + if (isEndElement()) + break; + + if (isStartElement()) + skipUnknownElement(); + } +} + + +XbelWriter::XbelWriter() +{ + setAutoFormatting(true); +} + +bool XbelWriter::write(const QString &fileName, const BookmarkNode *root) +{ + QFile file(fileName); + if (!root || !file.open(QFile::WriteOnly)) + return false; + return write(&file, root); +} + +bool XbelWriter::write(QIODevice *device, const BookmarkNode *root) +{ + setDevice(device); + + writeStartDocument(); + writeDTD(QLatin1String("")); + writeStartElement(QLatin1String("xbel")); + writeAttribute(QLatin1String("version"), QLatin1String("1.0")); + if (root->type() == BookmarkNode::Root) { + for (int i = 0; i < root->children().count(); ++i) + writeItem(root->children().at(i)); + } else { + writeItem(root); + } + + writeEndDocument(); + return true; +} + +void XbelWriter::writeItem(const BookmarkNode *parent) +{ + switch (parent->type()) { + case BookmarkNode::Folder: + writeStartElement(QLatin1String("folder")); + writeAttribute(QLatin1String("folded"), parent->expanded ? QLatin1String("no") : QLatin1String("yes")); + writeTextElement(QLatin1String("title"), parent->title); + for (int i = 0; i < parent->children().count(); ++i) + writeItem(parent->children().at(i)); + writeEndElement(); + break; + case BookmarkNode::Bookmark: + writeStartElement(QLatin1String("bookmark")); + if (!parent->url.isEmpty()) + writeAttribute(QLatin1String("href"), parent->url); + writeTextElement(QLatin1String("title"), parent->title); + if (!parent->desc.isEmpty()) + writeAttribute(QLatin1String("desc"), parent->desc); + writeEndElement(); + break; + case BookmarkNode::Separator: + writeEmptyElement(QLatin1String("separator")); + break; + default: + break; + } +} + diff --git a/demos/browser/xbel.h b/demos/browser/xbel.h new file mode 100644 index 0000000..b736d02 --- /dev/null +++ b/demos/browser/xbel.h @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef XBEL_H +#define XBEL_H + +#include +#include + +class BookmarkNode +{ +public: + enum Type { + Root, + Folder, + Bookmark, + Separator + }; + + BookmarkNode(Type type = Root, BookmarkNode *parent = 0); + ~BookmarkNode(); + bool operator==(const BookmarkNode &other); + + Type type() const; + void setType(Type type); + QList children() const; + BookmarkNode *parent() const; + + void add(BookmarkNode *child, int offset = -1); + void remove(BookmarkNode *child); + + QString url; + QString title; + QString desc; + bool expanded; + +private: + BookmarkNode *m_parent; + Type m_type; + QList m_children; + +}; + +class XbelReader : public QXmlStreamReader +{ +public: + XbelReader(); + BookmarkNode *read(const QString &fileName); + BookmarkNode *read(QIODevice *device); + +private: + void skipUnknownElement(); + void readXBEL(BookmarkNode *parent); + void readTitle(BookmarkNode *parent); + void readDescription(BookmarkNode *parent); + void readSeparator(BookmarkNode *parent); + void readFolder(BookmarkNode *parent); + void readBookmarkNode(BookmarkNode *parent); +}; + +#include + +class XbelWriter : public QXmlStreamWriter +{ +public: + XbelWriter(); + bool write(const QString &fileName, const BookmarkNode *root); + bool write(QIODevice *device, const BookmarkNode *root); + +private: + void writeItem(const BookmarkNode *parent); +}; + +#endif // XBEL_H + diff --git a/demos/chip/chip.cpp b/demos/chip/chip.cpp new file mode 100644 index 0000000..c2b22da --- /dev/null +++ b/demos/chip/chip.cpp @@ -0,0 +1,182 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "chip.h" + +#include + +Chip::Chip(const QColor &color, int x, int y) +{ + this->x = x; + this->y = y; + this->color = color; + setZValue((x + y) % 2); + + setFlags(ItemIsSelectable | ItemIsMovable); + setAcceptsHoverEvents(true); +} + +QRectF Chip::boundingRect() const +{ + return QRectF(0, 0, 110, 70); +} + +QPainterPath Chip::shape() const +{ + QPainterPath path; + path.addRect(14, 14, 82, 42); + return path; +} + +void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + Q_UNUSED(widget); + + QColor fillColor = (option->state & QStyle::State_Selected) ? color.dark(150) : color; + if (option->state & QStyle::State_MouseOver) + fillColor = fillColor.light(125); + + if (option->levelOfDetail < 0.2) { + if (option->levelOfDetail < 0.125) { + painter->fillRect(QRectF(0, 0, 110, 70), fillColor); + return; + } + + QBrush b = painter->brush(); + painter->setBrush(fillColor); + painter->drawRect(13, 13, 97, 57); + painter->setBrush(b); + return; + } + + QPen oldPen = painter->pen(); + QPen pen = oldPen; + int width = 0; + if (option->state & QStyle::State_Selected) + width += 2; + + pen.setWidth(width); + QBrush b = painter->brush(); + painter->setBrush(QBrush(fillColor.dark(option->state & QStyle::State_Sunken ? 120 : 100))); + + painter->drawRect(QRect(14, 14, 79, 39)); + painter->setBrush(b); + + if (option->levelOfDetail >= 1) { + painter->setPen(QPen(Qt::gray, 1)); + painter->drawLine(15, 54, 94, 54); + painter->drawLine(94, 53, 94, 15); + painter->setPen(QPen(Qt::black, 0)); + } + + // Draw text + if (option->levelOfDetail >= 2) { + QFont font("Times", 10); + font.setStyleStrategy(QFont::ForceOutline); + painter->setFont(font); + painter->save(); + painter->scale(0.1, 0.1); + painter->drawText(170, 180, QString("Model: VSC-2000 (Very Small Chip) at %1x%2").arg(x).arg(y)); + painter->drawText(170, 200, QString("Serial number: DLWR-WEER-123L-ZZ33-SDSJ")); + painter->drawText(170, 220, QString("Manufacturer: Chip Manufacturer")); + painter->restore(); + } + + // Draw lines + QVarLengthArray lines; + if (option->levelOfDetail >= 0.5) { + for (int i = 0; i <= 10; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5)); + lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62)); + } + for (int i = 0; i <= 6; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5)); + lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5)); + } + } + if (option->levelOfDetail >= 0.4) { + const QLineF lineData[] = { + QLineF(25, 35, 35, 35), + QLineF(35, 30, 35, 40), + QLineF(35, 30, 45, 35), + QLineF(35, 40, 45, 35), + QLineF(45, 30, 45, 40), + QLineF(45, 35, 55, 35) + }; + lines.append(lineData, 6); + } + painter->drawLines(lines.data(), lines.size()); + + // Draw red ink + if (stuff.size() > 1) { + QPen p = painter->pen(); + painter->setPen(QPen(Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + painter->setBrush(Qt::NoBrush); + QPainterPath path; + path.moveTo(stuff.first()); + for (int i = 1; i < stuff.size(); ++i) + path.lineTo(stuff.at(i)); + painter->drawPath(path); + painter->setPen(p); + } +} + +void Chip::mousePressEvent(QGraphicsSceneMouseEvent *event) +{ + QGraphicsItem::mousePressEvent(event); + update(); +} + +void Chip::mouseMoveEvent(QGraphicsSceneMouseEvent *event) +{ + if (event->modifiers() & Qt::ShiftModifier) { + stuff << event->pos(); + update(); + return; + } + QGraphicsItem::mouseMoveEvent(event); +} + +void Chip::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +{ + QGraphicsItem::mouseReleaseEvent(event); + update(); +} diff --git a/demos/chip/chip.h b/demos/chip/chip.h new file mode 100644 index 0000000..9866f80 --- /dev/null +++ b/demos/chip/chip.h @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef CHIP_H +#define CHIP_H + +#include +#include + +class Chip : public QGraphicsItem +{ +public: + Chip(const QColor &color, int x, int y); + + QRectF boundingRect() const; + QPainterPath shape() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget); + +protected: + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + +private: + int x, y; + QColor color; + QList stuff; +}; + +#endif diff --git a/demos/chip/chip.pro b/demos/chip/chip.pro new file mode 100644 index 0000000..53fa23b --- /dev/null +++ b/demos/chip/chip.pro @@ -0,0 +1,19 @@ +RESOURCES += images.qrc + +HEADERS += mainwindow.h view.h chip.h +SOURCES += main.cpp +SOURCES += mainwindow.cpp view.cpp chip.cpp + +contains(QT_CONFIG, opengl):QT += opengl + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/chip +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.png *.pro *.html *.doc images +sources.path = $$[QT_INSTALL_DEMOS]/chip +INSTALLS += target sources + diff --git a/demos/chip/fileprint.png b/demos/chip/fileprint.png new file mode 100644 index 0000000..ba7c02d Binary files /dev/null and b/demos/chip/fileprint.png differ diff --git a/demos/chip/images.qrc b/demos/chip/images.qrc new file mode 100644 index 0000000..c7cdf0c --- /dev/null +++ b/demos/chip/images.qrc @@ -0,0 +1,10 @@ + + + qt4logo.png + zoomin.png + zoomout.png + rotateleft.png + rotateright.png + fileprint.png + + diff --git a/demos/chip/main.cpp b/demos/chip/main.cpp new file mode 100644 index 0000000..e945026 --- /dev/null +++ b/demos/chip/main.cpp @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" + +#include + +int main(int argc, char **argv) +{ + Q_INIT_RESOURCE(images); + + QApplication app(argc, argv); + app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + + MainWindow window; + window.show(); + + return app.exec(); +} diff --git a/demos/chip/mainwindow.cpp b/demos/chip/mainwindow.cpp new file mode 100644 index 0000000..5222cd4 --- /dev/null +++ b/demos/chip/mainwindow.cpp @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include "view.h" +#include "chip.h" + +#include + +MainWindow::MainWindow(QWidget *parent) + : QWidget(parent) +{ + populateScene(); + + h1Splitter = new QSplitter; + h2Splitter = new QSplitter; + + QSplitter *vSplitter = new QSplitter; + vSplitter->setOrientation(Qt::Vertical); + vSplitter->addWidget(h1Splitter); + vSplitter->addWidget(h2Splitter); + + View *view = new View("Top left view"); + view->view()->setScene(scene); + h1Splitter->addWidget(view); + + view = new View("Top right view"); + view->view()->setScene(scene); + h1Splitter->addWidget(view); + + view = new View("Bottom left view"); + view->view()->setScene(scene); + h2Splitter->addWidget(view); + + view = new View("Bottom right view"); + view->view()->setScene(scene); + h2Splitter->addWidget(view); + + QHBoxLayout *layout = new QHBoxLayout; + layout->addWidget(vSplitter); + setLayout(layout); + + setWindowTitle(tr("Chip Demo")); +} + +void MainWindow::populateScene() +{ + scene = new QGraphicsScene; + + QImage image(":/qt4logo.png"); + + // Populate scene + int xx = 0; + int nitems = 0; + for (int i = -11000; i < 11000; i += 110) { + ++xx; + int yy = 0; + for (int j = -7000; j < 7000; j += 70) { + ++yy; + qreal x = (i + 11000) / 22000.0; + qreal y = (j + 7000) / 14000.0; + + QColor color(image.pixel(int(image.width() * x), int(image.height() * y))); + QGraphicsItem *item = new Chip(color, xx, yy); + item->setPos(QPointF(i, j)); + scene->addItem(item); + + ++nitems; + } + } +} diff --git a/demos/chip/mainwindow.h b/demos/chip/mainwindow.h new file mode 100644 index 0000000..5decca8 --- /dev/null +++ b/demos/chip/mainwindow.h @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_FORWARD_DECLARE_CLASS(QGraphicsScene) +QT_FORWARD_DECLARE_CLASS(QGraphicsView) +QT_FORWARD_DECLARE_CLASS(QLabel) +QT_FORWARD_DECLARE_CLASS(QSlider) +QT_FORWARD_DECLARE_CLASS(QSplitter) + +class MainWindow : public QWidget +{ + Q_OBJECT +public: + MainWindow(QWidget *parent = 0); + +private: + void setupMatrix(); + void populateScene(); + + QGraphicsScene *scene; + QSplitter *h1Splitter; + QSplitter *h2Splitter; +}; + +#endif diff --git a/demos/chip/qt4logo.png b/demos/chip/qt4logo.png new file mode 100644 index 0000000..157e86e Binary files /dev/null and b/demos/chip/qt4logo.png differ diff --git a/demos/chip/rotateleft.png b/demos/chip/rotateleft.png new file mode 100644 index 0000000..8cfa931 Binary files /dev/null and b/demos/chip/rotateleft.png differ diff --git a/demos/chip/rotateright.png b/demos/chip/rotateright.png new file mode 100644 index 0000000..ec5e866 Binary files /dev/null and b/demos/chip/rotateright.png differ diff --git a/demos/chip/view.cpp b/demos/chip/view.cpp new file mode 100644 index 0000000..f919af3 --- /dev/null +++ b/demos/chip/view.cpp @@ -0,0 +1,234 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "view.h" + +#include +#ifndef QT_NO_OPENGL +#include +#endif + +#include + +View::View(const QString &name, QWidget *parent) + : QFrame(parent) +{ + setFrameStyle(Sunken | StyledPanel); + graphicsView = new QGraphicsView; + graphicsView->setRenderHint(QPainter::Antialiasing, false); + graphicsView->setDragMode(QGraphicsView::RubberBandDrag); + graphicsView->setOptimizationFlags(QGraphicsView::DontSavePainterState); + graphicsView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); + + int size = style()->pixelMetric(QStyle::PM_ToolBarIconSize); + QSize iconSize(size, size); + + QToolButton *zoomInIcon = new QToolButton; + zoomInIcon->setAutoRepeat(true); + zoomInIcon->setAutoRepeatInterval(33); + zoomInIcon->setAutoRepeatDelay(0); + zoomInIcon->setIcon(QPixmap(":/zoomin.png")); + zoomInIcon->setIconSize(iconSize); + QToolButton *zoomOutIcon = new QToolButton; + zoomOutIcon->setAutoRepeat(true); + zoomOutIcon->setAutoRepeatInterval(33); + zoomOutIcon->setAutoRepeatDelay(0); + zoomOutIcon->setIcon(QPixmap(":/zoomout.png")); + zoomOutIcon->setIconSize(iconSize); + zoomSlider = new QSlider; + zoomSlider->setMinimum(0); + zoomSlider->setMaximum(500); + zoomSlider->setValue(250); + zoomSlider->setTickPosition(QSlider::TicksRight); + + // Zoom slider layout + QVBoxLayout *zoomSliderLayout = new QVBoxLayout; + zoomSliderLayout->addWidget(zoomInIcon); + zoomSliderLayout->addWidget(zoomSlider); + zoomSliderLayout->addWidget(zoomOutIcon); + + QToolButton *rotateLeftIcon = new QToolButton; + rotateLeftIcon->setIcon(QPixmap(":/rotateleft.png")); + rotateLeftIcon->setIconSize(iconSize); + QToolButton *rotateRightIcon = new QToolButton; + rotateRightIcon->setIcon(QPixmap(":/rotateright.png")); + rotateRightIcon->setIconSize(iconSize); + rotateSlider = new QSlider; + rotateSlider->setOrientation(Qt::Horizontal); + rotateSlider->setMinimum(-360); + rotateSlider->setMaximum(360); + rotateSlider->setValue(0); + rotateSlider->setTickPosition(QSlider::TicksBelow); + + // Rotate slider layout + QHBoxLayout *rotateSliderLayout = new QHBoxLayout; + rotateSliderLayout->addWidget(rotateLeftIcon); + rotateSliderLayout->addWidget(rotateSlider); + rotateSliderLayout->addWidget(rotateRightIcon); + + resetButton = new QToolButton; + resetButton->setText(tr("0")); + resetButton->setEnabled(false); + + // Label layout + QHBoxLayout *labelLayout = new QHBoxLayout; + label = new QLabel(name); + antialiasButton = new QToolButton; + antialiasButton->setText(tr("Antialiasing")); + antialiasButton->setCheckable(true); + antialiasButton->setChecked(false); + openGlButton = new QToolButton; + openGlButton->setText(tr("OpenGL")); + openGlButton->setCheckable(true); +#ifndef QT_NO_OPENGL + openGlButton->setEnabled(QGLFormat::hasOpenGL()); +#else + openGlButton->setEnabled(false); +#endif + printButton = new QToolButton; + printButton->setIcon(QIcon(QPixmap(":/fileprint.png"))); + + labelLayout->addWidget(label); + labelLayout->addStretch(); + labelLayout->addWidget(antialiasButton); + labelLayout->addWidget(openGlButton); + labelLayout->addWidget(printButton); + + QGridLayout *topLayout = new QGridLayout; + topLayout->addLayout(labelLayout, 0, 0); + topLayout->addWidget(graphicsView, 1, 0); + topLayout->addLayout(zoomSliderLayout, 1, 1); + topLayout->addLayout(rotateSliderLayout, 2, 0); + topLayout->addWidget(resetButton, 2, 1); + setLayout(topLayout); + + connect(resetButton, SIGNAL(clicked()), this, SLOT(resetView())); + connect(zoomSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix())); + connect(rotateSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix())); + connect(graphicsView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled())); + connect(graphicsView->horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled())); + connect(antialiasButton, SIGNAL(toggled(bool)), this, SLOT(toggleAntialiasing())); + connect(openGlButton, SIGNAL(toggled(bool)), this, SLOT(toggleOpenGL())); + connect(rotateLeftIcon, SIGNAL(clicked()), this, SLOT(rotateLeft())); + connect(rotateRightIcon, SIGNAL(clicked()), this, SLOT(rotateRight())); + connect(zoomInIcon, SIGNAL(clicked()), this, SLOT(zoomIn())); + connect(zoomOutIcon, SIGNAL(clicked()), this, SLOT(zoomOut())); + connect(printButton, SIGNAL(clicked()), this, SLOT(print())); + + setupMatrix(); +} + +QGraphicsView *View::view() const +{ + return graphicsView; +} + +void View::resetView() +{ + zoomSlider->setValue(250); + rotateSlider->setValue(0); + setupMatrix(); + graphicsView->ensureVisible(QRectF(0, 0, 0, 0)); + + resetButton->setEnabled(false); +} + +void View::setResetButtonEnabled() +{ + resetButton->setEnabled(true); +} + +void View::setupMatrix() +{ + qreal scale = qPow(qreal(2), (zoomSlider->value() - 250) / qreal(50)); + + QMatrix matrix; + matrix.scale(scale, scale); + matrix.rotate(rotateSlider->value()); + + graphicsView->setMatrix(matrix); + setResetButtonEnabled(); +} + +void View::toggleOpenGL() +{ +#ifndef QT_NO_OPENGL + graphicsView->setViewport(openGlButton->isChecked() ? new QGLWidget(QGLFormat(QGL::SampleBuffers)) : new QWidget); +#endif +} + +void View::toggleAntialiasing() +{ + graphicsView->setRenderHint(QPainter::Antialiasing, antialiasButton->isChecked()); +} + +void View::print() +{ +#ifndef QT_NO_PRINTER + QPrinter printer; + QPrintDialog dialog(&printer, this); + if (dialog.exec() == QDialog::Accepted) { + QPainter painter(&printer); + graphicsView->render(&painter); + } +#endif +} + +void View::zoomIn() +{ + zoomSlider->setValue(zoomSlider->value() + 1); +} + +void View::zoomOut() +{ + zoomSlider->setValue(zoomSlider->value() - 1); +} + +void View::rotateLeft() +{ + rotateSlider->setValue(rotateSlider->value() - 10); +} + +void View::rotateRight() +{ + rotateSlider->setValue(rotateSlider->value() + 10); +} + diff --git a/demos/chip/view.h b/demos/chip/view.h new file mode 100644 index 0000000..4987f60 --- /dev/null +++ b/demos/chip/view.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIEW_H +#define VIEW_H + +#include + +QT_FORWARD_DECLARE_CLASS(QGraphicsView) +QT_FORWARD_DECLARE_CLASS(QLabel) +QT_FORWARD_DECLARE_CLASS(QSlider) +QT_FORWARD_DECLARE_CLASS(QToolButton) + +class View : public QFrame +{ + Q_OBJECT +public: + View(const QString &name, QWidget *parent = 0); + + QGraphicsView *view() const; + +private slots: + void resetView(); + void setResetButtonEnabled(); + void setupMatrix(); + void toggleOpenGL(); + void toggleAntialiasing(); + void print(); + + void zoomIn(); + void zoomOut(); + void rotateLeft(); + void rotateRight(); + +private: + QGraphicsView *graphicsView; + QLabel *label; + QToolButton *openGlButton; + QToolButton *antialiasButton; + QToolButton *printButton; + QToolButton *resetButton; + QSlider *zoomSlider; + QSlider *rotateSlider; +}; + +#endif diff --git a/demos/chip/zoomin.png b/demos/chip/zoomin.png new file mode 100644 index 0000000..8b0daee Binary files /dev/null and b/demos/chip/zoomin.png differ diff --git a/demos/chip/zoomout.png b/demos/chip/zoomout.png new file mode 100644 index 0000000..1575dd2 Binary files /dev/null and b/demos/chip/zoomout.png differ diff --git a/demos/composition/composition.cpp b/demos/composition/composition.cpp new file mode 100644 index 0000000..b43c66b --- /dev/null +++ b/demos/composition/composition.cpp @@ -0,0 +1,511 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "composition.h" +#include +#include +#include +#include +#include +#include +#include + +CompositionWidget::CompositionWidget(QWidget *parent) + : QWidget(parent) +{ + CompositionRenderer *view = new CompositionRenderer(this); + + QGroupBox *mainGroup = new QGroupBox(parent); + mainGroup->setTitle(tr("Composition Modes")); + + QGroupBox *modesGroup = new QGroupBox(mainGroup); + modesGroup->setTitle(tr("Mode")); + + rbClear = new QRadioButton(tr("Clear"), modesGroup); + connect(rbClear, SIGNAL(clicked()), view, SLOT(setClearMode())); + rbSource = new QRadioButton(tr("Source"), modesGroup); + connect(rbSource, SIGNAL(clicked()), view, SLOT(setSourceMode())); + rbDest = new QRadioButton(tr("Destination"), modesGroup); + connect(rbDest, SIGNAL(clicked()), view, SLOT(setDestMode())); + rbSourceOver = new QRadioButton(tr("Source Over"), modesGroup); + connect(rbSourceOver, SIGNAL(clicked()), view, SLOT(setSourceOverMode())); + rbDestOver = new QRadioButton(tr("Destination Over"), modesGroup); + connect(rbDestOver, SIGNAL(clicked()), view, SLOT(setDestOverMode())); + rbSourceIn = new QRadioButton(tr("Source In"), modesGroup); + connect(rbSourceIn, SIGNAL(clicked()), view, SLOT(setSourceInMode())); + rbDestIn = new QRadioButton(tr("Dest In"), modesGroup); + connect(rbDestIn, SIGNAL(clicked()), view, SLOT(setDestInMode())); + rbSourceOut = new QRadioButton(tr("Source Out"), modesGroup); + connect(rbSourceOut, SIGNAL(clicked()), view, SLOT(setSourceOutMode())); + rbDestOut = new QRadioButton(tr("Dest Out"), modesGroup); + connect(rbDestOut, SIGNAL(clicked()), view, SLOT(setDestOutMode())); + rbSourceAtop = new QRadioButton(tr("Source Atop"), modesGroup); + connect(rbSourceAtop, SIGNAL(clicked()), view, SLOT(setSourceAtopMode())); + rbDestAtop = new QRadioButton(tr("Dest Atop"), modesGroup); + connect(rbDestAtop, SIGNAL(clicked()), view, SLOT(setDestAtopMode())); + rbXor = new QRadioButton(tr("Xor"), modesGroup); + connect(rbXor, SIGNAL(clicked()), view, SLOT(setXorMode())); + + rbPlus = new QRadioButton(tr("Plus"), modesGroup); + connect(rbPlus, SIGNAL(clicked()), view, SLOT(setPlusMode())); + rbMultiply = new QRadioButton(tr("Multiply"), modesGroup); + connect(rbMultiply, SIGNAL(clicked()), view, SLOT(setMultiplyMode())); + rbScreen = new QRadioButton(tr("Screen"), modesGroup); + connect(rbScreen, SIGNAL(clicked()), view, SLOT(setScreenMode())); + rbOverlay = new QRadioButton(tr("Overlay"), modesGroup); + connect(rbOverlay, SIGNAL(clicked()), view, SLOT(setOverlayMode())); + rbDarken = new QRadioButton(tr("Darken"), modesGroup); + connect(rbDarken, SIGNAL(clicked()), view, SLOT(setDarkenMode())); + rbLighten = new QRadioButton(tr("Lighten"), modesGroup); + connect(rbLighten, SIGNAL(clicked()), view, SLOT(setLightenMode())); + rbColorDodge = new QRadioButton(tr("Color Dodge"), modesGroup); + connect(rbColorDodge, SIGNAL(clicked()), view, SLOT(setColorDodgeMode())); + rbColorBurn = new QRadioButton(tr("Color Burn"), modesGroup); + connect(rbColorBurn, SIGNAL(clicked()), view, SLOT(setColorBurnMode())); + rbHardLight = new QRadioButton(tr("Hard Light"), modesGroup); + connect(rbHardLight, SIGNAL(clicked()), view, SLOT(setHardLightMode())); + rbSoftLight = new QRadioButton(tr("Soft Light"), modesGroup); + connect(rbSoftLight, SIGNAL(clicked()), view, SLOT(setSoftLightMode())); + rbDifference = new QRadioButton(tr("Difference"), modesGroup); + connect(rbDifference, SIGNAL(clicked()), view, SLOT(setDifferenceMode())); + rbExclusion = new QRadioButton(tr("Exclusion"), modesGroup); + connect(rbExclusion, SIGNAL(clicked()), view, SLOT(setExclusionMode())); + + QGroupBox *circleColorGroup = new QGroupBox(mainGroup); + circleColorGroup->setTitle(tr("Circle color")); + QSlider *circleColorSlider = new QSlider(Qt::Horizontal, circleColorGroup); + circleColorSlider->setRange(0, 359); + circleColorSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + connect(circleColorSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleColor(int))); + + QGroupBox *circleAlphaGroup = new QGroupBox(mainGroup); + circleAlphaGroup->setTitle(tr("Circle alpha")); + QSlider *circleAlphaSlider = new QSlider(Qt::Horizontal, circleAlphaGroup); + circleAlphaSlider->setRange(0, 255); + circleAlphaSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + connect(circleAlphaSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleAlpha(int))); + + QPushButton *showSourceButton = new QPushButton(mainGroup); + showSourceButton->setText(tr("Show Source")); +#if defined(QT_OPENGL_SUPPORT) && !defined(QT_OPENGL_ES) + QPushButton *enableOpenGLButton = new QPushButton(mainGroup); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(true); + enableOpenGLButton->setChecked(view->usesOpenGL()); + + if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) + enableOpenGLButton->hide(); +#endif + QPushButton *whatsThisButton = new QPushButton(mainGroup); + whatsThisButton->setText(tr("What's This?")); + whatsThisButton->setCheckable(true); + + QPushButton *animateButton = new QPushButton(mainGroup); + animateButton->setText(tr("Animated")); + animateButton->setCheckable(true); + animateButton->setChecked(true); + + QHBoxLayout *viewLayout = new QHBoxLayout(this); + viewLayout->addWidget(view); + viewLayout->addWidget(mainGroup); + + QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); + mainGroupLayout->addWidget(circleColorGroup); + mainGroupLayout->addWidget(circleAlphaGroup); + mainGroupLayout->addWidget(modesGroup); + mainGroupLayout->addStretch(); + mainGroupLayout->addWidget(animateButton); + mainGroupLayout->addWidget(whatsThisButton); + mainGroupLayout->addWidget(showSourceButton); +#if defined(QT_OPENGL_SUPPORT) && !defined(QT_OPENGL_ES) + mainGroupLayout->addWidget(enableOpenGLButton); +#endif + + QGridLayout *modesLayout = new QGridLayout(modesGroup); + modesLayout->addWidget(rbClear, 0, 0); + modesLayout->addWidget(rbSource, 1, 0); + modesLayout->addWidget(rbDest, 2, 0); + modesLayout->addWidget(rbSourceOver, 3, 0); + modesLayout->addWidget(rbDestOver, 4, 0); + modesLayout->addWidget(rbSourceIn, 5, 0); + modesLayout->addWidget(rbDestIn, 6, 0); + modesLayout->addWidget(rbSourceOut, 7, 0); + modesLayout->addWidget(rbDestOut, 8, 0); + modesLayout->addWidget(rbSourceAtop, 9, 0); + modesLayout->addWidget(rbDestAtop, 10, 0); + modesLayout->addWidget(rbXor, 11, 0); + + modesLayout->addWidget(rbPlus, 0, 1); + modesLayout->addWidget(rbMultiply, 1, 1); + modesLayout->addWidget(rbScreen, 2, 1); + modesLayout->addWidget(rbOverlay, 3, 1); + modesLayout->addWidget(rbDarken, 4, 1); + modesLayout->addWidget(rbLighten, 5, 1); + modesLayout->addWidget(rbColorDodge, 6, 1); + modesLayout->addWidget(rbColorBurn, 7, 1); + modesLayout->addWidget(rbHardLight, 8, 1); + modesLayout->addWidget(rbSoftLight, 9, 1); + modesLayout->addWidget(rbDifference, 10, 1); + modesLayout->addWidget(rbExclusion, 11, 1); + + + QVBoxLayout *circleColorLayout = new QVBoxLayout(circleColorGroup); + circleColorLayout->addWidget(circleColorSlider); + + QVBoxLayout *circleAlphaLayout = new QVBoxLayout(circleAlphaGroup); + circleAlphaLayout->addWidget(circleAlphaSlider); + + view->loadDescription(":res/composition/composition.html"); + view->loadSourceFile(":res/composition/composition.cpp"); + + connect(whatsThisButton, SIGNAL(clicked(bool)), view, SLOT(setDescriptionEnabled(bool))); + connect(view, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool))); + connect(showSourceButton, SIGNAL(clicked()), view, SLOT(showSource())); +#if defined(QT_OPENGL_SUPPORT) && !defined(QT_OPENGL_ES) + connect(enableOpenGLButton, SIGNAL(clicked(bool)), view, SLOT(enableOpenGL(bool))); +#endif + connect(animateButton, SIGNAL(toggled(bool)), view, SLOT(setAnimationEnabled(bool))); + + circleColorSlider->setValue(270); + circleAlphaSlider->setValue(200); + rbSourceOut->animateClick(); + + setWindowTitle(tr("Composition Modes")); +} + + +void CompositionWidget::nextMode() +{ + /* + if (!m_animation_enabled) + return; + if (rbClear->isChecked()) rbSource->animateClick(); + if (rbSource->isChecked()) rbDest->animateClick(); + if (rbDest->isChecked()) rbSourceOver->animateClick(); + if (rbSourceOver->isChecked()) rbDestOver->animateClick(); + if (rbDestOver->isChecked()) rbSourceIn->animateClick(); + if (rbSourceIn->isChecked()) rbDestIn->animateClick(); + if (rbDestIn->isChecked()) rbSourceOut->animateClick(); + if (rbSourceOut->isChecked()) rbDestOut->animateClick(); + if (rbDestOut->isChecked()) rbSourceAtop->animateClick(); + if (rbSourceAtop->isChecked()) rbDestAtop->animateClick(); + if (rbDestAtop->isChecked()) rbXor->animateClick(); + if (rbXor->isChecked()) rbClear->animateClick(); + */ +} + +CompositionRenderer::CompositionRenderer(QWidget *parent) + : ArthurFrame(parent) +{ + m_animation_enabled = true; +#ifdef Q_WS_QWS + m_image = QPixmap(":res/composition/flower.jpg"); + m_image.setAlphaChannel(QPixmap(":res/composition/flower_alpha.jpg")); +#else + m_image = QImage(":res/composition/flower.jpg"); + m_image.setAlphaChannel(QImage(":res/composition/flower_alpha.jpg")); +#endif + m_circle_alpha = 127; + m_circle_hue = 255; + m_current_object = NoObject; + m_composition_mode = QPainter::CompositionMode_SourceOut; + + m_circle_pos = QPoint(200, 100); + + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); +#ifdef QT_OPENGL_SUPPORT + m_pbuffer = 0; + m_pbuffer_size = 1024; +#endif +} + +QRectF rectangle_around(const QPointF &p, const QSizeF &size = QSize(250, 200)) +{ + QRectF rect(p, size); + rect.translate(-size.width()/2, -size.height()/2); + return rect; +} + +void CompositionRenderer::updateCirclePos() +{ + if (m_current_object != NoObject) + return; + QDateTime dt = QDateTime::currentDateTime(); + qreal t = (dt.toTime_t() * 1000 + dt.time().msec()) / 1000.0; + + qreal x = width() / qreal(2) + (qCos(t*8/11) + qSin(-t)) * width() / qreal(4); + qreal y = height() / qreal(2) + (qSin(t*6/7) + qCos(t * qreal(1.5))) * height() / qreal(4); + + setCirclePos(QLineF(m_circle_pos, QPointF(x, y)).pointAt(0.02)); +} + +void CompositionRenderer::drawBase(QPainter &p) +{ + p.setPen(Qt::NoPen); + + QLinearGradient rect_gradient(0, 0, 0, height()); + rect_gradient.setColorAt(0, Qt::red); + rect_gradient.setColorAt(.17, Qt::yellow); + rect_gradient.setColorAt(.33, Qt::green); + rect_gradient.setColorAt(.50, Qt::cyan); + rect_gradient.setColorAt(.66, Qt::blue); + rect_gradient.setColorAt(.81, Qt::magenta); + rect_gradient.setColorAt(1, Qt::red); + p.setBrush(rect_gradient); + p.drawRect(width() / 2, 0, width() / 2, height()); + + QLinearGradient alpha_gradient(0, 0, width(), 0); + alpha_gradient.setColorAt(0, Qt::white); + alpha_gradient.setColorAt(0.2, Qt::white); + alpha_gradient.setColorAt(0.5, Qt::transparent); + alpha_gradient.setColorAt(0.8, Qt::white); + alpha_gradient.setColorAt(1, Qt::white); + + p.setCompositionMode(QPainter::CompositionMode_DestinationIn); + p.setBrush(alpha_gradient); + p.drawRect(0, 0, width(), height()); + + p.setCompositionMode(QPainter::CompositionMode_DestinationOver); + + p.setPen(Qt::NoPen); + p.setRenderHint(QPainter::SmoothPixmapTransform); +#ifdef Q_WS_QWS + p.drawPixmap(rect(), m_image); +#else + p.drawImage(rect(), m_image); +#endif +} + +void CompositionRenderer::drawSource(QPainter &p) +{ + p.setPen(Qt::NoPen); + p.setRenderHint(QPainter::Antialiasing); + p.setCompositionMode(m_composition_mode); + + QRectF circle_rect = rectangle_around(m_circle_pos); + QColor color = QColor::fromHsvF(m_circle_hue / 360.0, 1, 1, m_circle_alpha / 255.0); + QLinearGradient circle_gradient(circle_rect.topLeft(), circle_rect.bottomRight()); + circle_gradient.setColorAt(0, color.light()); + circle_gradient.setColorAt(0.5, color); + circle_gradient.setColorAt(1, color.dark()); + p.setBrush(circle_gradient); + + p.drawEllipse(circle_rect); +} + +void CompositionRenderer::paint(QPainter *painter) +{ +#if defined(QT_OPENGL_SUPPORT) && !defined(QT_OPENGL_ES) + if (usesOpenGL()) { + + int new_pbuf_size = m_pbuffer_size; + if (size().width() > m_pbuffer_size || + size().height() > m_pbuffer_size) + new_pbuf_size *= 2; + + if (size().width() < m_pbuffer_size/2 && + size().height() < m_pbuffer_size/2) + new_pbuf_size /= 2; + + if (!m_pbuffer || new_pbuf_size != m_pbuffer_size) { + if (m_pbuffer) { + m_pbuffer->deleteTexture(m_base_tex); + m_pbuffer->deleteTexture(m_compositing_tex); + delete m_pbuffer; + } + + m_pbuffer = new QGLPixelBuffer(QSize(new_pbuf_size, new_pbuf_size), QGLFormat::defaultFormat(), glWidget()); + m_pbuffer->makeCurrent(); + m_base_tex = m_pbuffer->generateDynamicTexture(); + m_compositing_tex = m_pbuffer->generateDynamicTexture(); + m_pbuffer_size = new_pbuf_size; + } + + if (size() != m_previous_size) { + m_previous_size = size(); + QPainter p(m_pbuffer); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(QRect(0, 0, m_pbuffer->width(), m_pbuffer->height()), Qt::transparent); + drawBase(p); + p.end(); + m_pbuffer->updateDynamicTexture(m_base_tex); + } + + qreal x_fraction = width()/float(m_pbuffer->width()); + qreal y_fraction = height()/float(m_pbuffer->height()); + + { + QPainter p(m_pbuffer); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(QRect(0, 0, m_pbuffer->width(), m_pbuffer->height()), Qt::transparent); + + p.save(); + glBindTexture(GL_TEXTURE_2D, m_base_tex); + glEnable(GL_TEXTURE_2D); + glColor4f(1.,1.,1.,1.); + + glBegin(GL_QUADS); + { + glTexCoord2f(0, 1.0); + glVertex2f(0, 0); + + glTexCoord2f(x_fraction, 1.0); + glVertex2f(width(), 0); + + glTexCoord2f(x_fraction, 1.0-y_fraction); + glVertex2f(width(), height()); + + glTexCoord2f(0, 1.0-y_fraction); + glVertex2f(0, height()); + } + glEnd(); + + glDisable(GL_TEXTURE_2D); + p.restore(); + + drawSource(p); + p.end(); + m_pbuffer->updateDynamicTexture(m_compositing_tex); + } + + glWidget()->makeCurrent(); + glBindTexture(GL_TEXTURE_2D, m_compositing_tex); + glEnable(GL_TEXTURE_2D); + glColor4f(1.,1.,1.,1.); + glBegin(GL_QUADS); + { + glTexCoord2f(0, 1.0); + glVertex2f(0, 0); + + glTexCoord2f(x_fraction, 1.0); + glVertex2f(width(), 0); + + glTexCoord2f(x_fraction, 1.0-y_fraction); + glVertex2f(width(), height()); + + glTexCoord2f(0, 1.0-y_fraction); + glVertex2f(0, height()); + } + glEnd(); + glDisable(GL_TEXTURE_2D); + } else +#endif + { + // using a QImage + if (m_buffer.size() != size()) { +#ifdef Q_WS_QWS + m_base_buffer = QPixmap(size()); + m_base_buffer.fill(Qt::transparent); +#else + m_buffer = QImage(size(), QImage::Format_ARGB32_Premultiplied); + m_base_buffer = QImage(size(), QImage::Format_ARGB32_Premultiplied); + + m_base_buffer.fill(0); +#endif + + QPainter p(&m_base_buffer); + + drawBase(p); + } + +#ifdef Q_WS_QWS + m_buffer = m_base_buffer; +#else + memcpy(m_buffer.bits(), m_base_buffer.bits(), m_buffer.numBytes()); +#endif + + { + QPainter p(&m_buffer); + drawSource(p); + } + +#ifdef Q_WS_QWS + painter->drawPixmap(0, 0, m_buffer); +#else + painter->drawImage(0, 0, m_buffer); +#endif + } + + if (m_animation_enabled && m_current_object == NoObject) { + updateCirclePos(); + } +} + +void CompositionRenderer::mousePressEvent(QMouseEvent *e) +{ + setDescriptionEnabled(false); + + QRectF circle = rectangle_around(m_circle_pos); + + if (circle.contains(e->pos())) { + m_current_object = Circle; + m_offset = circle.center() - e->pos(); + } else { + m_current_object = NoObject; + } +} + +void CompositionRenderer::mouseMoveEvent(QMouseEvent *e) +{ + if (m_current_object == Circle) setCirclePos(e->pos() + m_offset); +} + +void CompositionRenderer::mouseReleaseEvent(QMouseEvent *) +{ + m_current_object = NoObject; + + if (m_animation_enabled) + updateCirclePos(); +} + +void CompositionRenderer::setCirclePos(const QPointF &pos) +{ + const QRect oldRect = rectangle_around(m_circle_pos).toAlignedRect(); + m_circle_pos = pos; + const QRect newRect = rectangle_around(m_circle_pos).toAlignedRect(); +#if defined(QT_OPENGL_SUPPORT) && !defined(QT_OPENGL_ES) + if (usesOpenGL()) + update(); + else +#endif + update(oldRect | newRect); +} + diff --git a/demos/composition/composition.h b/demos/composition/composition.h new file mode 100644 index 0000000..1d504d0 --- /dev/null +++ b/demos/composition/composition.h @@ -0,0 +1,190 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef COMPOSITION_H +#define COMPOSITION_H + +#include "arthurwidgets.h" + +#include +#include + +QT_FORWARD_DECLARE_CLASS(QPushButton) +QT_FORWARD_DECLARE_CLASS(QRadioButton) + +#ifdef QT_OPENGL_SUPPORT +#include +#endif + +class CompositionWidget : public QWidget +{ + Q_OBJECT + +public: + CompositionWidget(QWidget *parent); + +public slots: +void nextMode(); + +private: + bool m_cycle_enabled; + + QRadioButton *rbClear; + QRadioButton *rbSource; + QRadioButton *rbDest; + QRadioButton *rbSourceOver; + QRadioButton *rbDestOver; + QRadioButton *rbSourceIn; + QRadioButton *rbDestIn; + QRadioButton *rbSourceOut; + QRadioButton *rbDestOut; + QRadioButton *rbSourceAtop; + QRadioButton *rbDestAtop; + QRadioButton *rbXor; + + QRadioButton *rbPlus; + QRadioButton *rbMultiply; + QRadioButton *rbScreen; + QRadioButton *rbOverlay; + QRadioButton *rbDarken; + QRadioButton *rbLighten; + QRadioButton *rbColorDodge; + QRadioButton *rbColorBurn; + QRadioButton *rbHardLight; + QRadioButton *rbSoftLight; + QRadioButton *rbDifference; + QRadioButton *rbExclusion; +}; + +class CompositionRenderer : public ArthurFrame +{ + Q_OBJECT + + enum ObjectType { NoObject, Circle, Rectangle, Image }; + + Q_PROPERTY(int circleColor READ circleColor WRITE setCircleColor) + Q_PROPERTY(int circleAlpha READ circleAlpha WRITE setCircleAlpha) + Q_PROPERTY(bool animation READ animationEnabled WRITE setAnimationEnabled) + +public: + CompositionRenderer(QWidget *parent); + + void paint(QPainter *); + + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + + void setCirclePos(const QPointF &pos); + + QSize sizeHint() const { return QSize(500, 400); } + + bool animationEnabled() const { return m_animation_enabled; } + int circleColor() const { return m_circle_hue; } + int circleAlpha() const { return m_circle_alpha; } + +public slots: + void setClearMode() { m_composition_mode = QPainter::CompositionMode_Clear; update(); } + void setSourceMode() { m_composition_mode = QPainter::CompositionMode_Source; update(); } + void setDestMode() { m_composition_mode = QPainter::CompositionMode_Destination; update(); } + void setSourceOverMode() { m_composition_mode = QPainter::CompositionMode_SourceOver; update(); } + void setDestOverMode() { m_composition_mode = QPainter::CompositionMode_DestinationOver; update(); } + void setSourceInMode() { m_composition_mode = QPainter::CompositionMode_SourceIn; update(); } + void setDestInMode() { m_composition_mode = QPainter::CompositionMode_DestinationIn; update(); } + void setSourceOutMode() { m_composition_mode = QPainter::CompositionMode_SourceOut; update(); } + void setDestOutMode() { m_composition_mode = QPainter::CompositionMode_DestinationOut; update(); } + void setSourceAtopMode() { m_composition_mode = QPainter::CompositionMode_SourceAtop; update(); } + void setDestAtopMode() { m_composition_mode = QPainter::CompositionMode_DestinationAtop; update(); } + void setXorMode() { m_composition_mode = QPainter::CompositionMode_Xor; update(); } + + void setPlusMode() { m_composition_mode = QPainter::CompositionMode_Plus; update(); } + void setMultiplyMode() { m_composition_mode = QPainter::CompositionMode_Multiply; update(); } + void setScreenMode() { m_composition_mode = QPainter::CompositionMode_Screen; update(); } + void setOverlayMode() { m_composition_mode = QPainter::CompositionMode_Overlay; update(); } + void setDarkenMode() { m_composition_mode = QPainter::CompositionMode_Darken; update(); } + void setLightenMode() { m_composition_mode = QPainter::CompositionMode_Lighten; update(); } + void setColorDodgeMode() { m_composition_mode = QPainter::CompositionMode_ColorDodge; update(); } + void setColorBurnMode() { m_composition_mode = QPainter::CompositionMode_ColorBurn; update(); } + void setHardLightMode() { m_composition_mode = QPainter::CompositionMode_HardLight; update(); } + void setSoftLightMode() { m_composition_mode = QPainter::CompositionMode_SoftLight; update(); } + void setDifferenceMode() { m_composition_mode = QPainter::CompositionMode_Difference; update(); } + void setExclusionMode() { m_composition_mode = QPainter::CompositionMode_Exclusion; update(); } + + void setCircleAlpha(int alpha) { m_circle_alpha = alpha; update(); } + void setCircleColor(int hue) { m_circle_hue = hue; update(); } + void setAnimationEnabled(bool enabled) { m_animation_enabled = enabled; update(); } + +private: + void updateCirclePos(); + void drawBase(QPainter &p); + void drawSource(QPainter &p); + + QPainter::CompositionMode m_composition_mode; + +#ifdef Q_WS_QWS + QPixmap m_image; + QPixmap m_buffer; + QPixmap m_base_buffer; +#else + QImage m_image; + QImage m_buffer; + QImage m_base_buffer; +#endif + + int m_circle_alpha; + int m_circle_hue; + + QPointF m_circle_pos; + QPointF m_offset; + + ObjectType m_current_object; + bool m_animation_enabled; + +#ifdef QT_OPENGL_SUPPORT + QGLPixelBuffer *m_pbuffer; + GLuint m_base_tex; + GLuint m_compositing_tex; + int m_pbuffer_size; // width==height==size of pbuffer + QSize m_previous_size; +#endif +}; + +#endif // COMPOSITION_H diff --git a/demos/composition/composition.html b/demos/composition/composition.html new file mode 100644 index 0000000..1848ad8 --- /dev/null +++ b/demos/composition/composition.html @@ -0,0 +1,23 @@ + + +

Demo for composition modes

+ +

+ This demo shows some of the more advanced composition modes supported by Qt. +

+ +

+ The two most common forms of composition are Source and SourceOver. + Source is used to draw opaque objects onto a paint device. In this mode, + each pixel in the source replaces the corresponding pixel in the destination. + In SourceOver composition mode, the source object is transparent and is + drawn on top of the destination. +

+ +

+ In addition to these standard modes, Qt defines the complete set of composition + modes as defined by Thomas Porter and Tom Duff. See the QPainter documentation + for details. +

+ + diff --git a/demos/composition/composition.pro b/demos/composition/composition.pro new file mode 100644 index 0000000..d5c4a60 --- /dev/null +++ b/demos/composition/composition.pro @@ -0,0 +1,27 @@ +SOURCES += main.cpp composition.cpp +HEADERS += composition.h + +SHARED_FOLDER = ../shared + +include($$SHARED_FOLDER/shared.pri) + +RESOURCES += composition.qrc +contains(QT_CONFIG, opengl) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/composition +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.png *.jpg *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/composition +INSTALLS += target sources + +win32-msvc* { + QMAKE_CXXFLAGS += /Zm500 + QMAKE_CFLAGS += /Zm500 +} + +wince* { + DEPLOYMENT_PLUGIN += qjpeg +} diff --git a/demos/composition/composition.qrc b/demos/composition/composition.qrc new file mode 100644 index 0000000..d02c397 --- /dev/null +++ b/demos/composition/composition.qrc @@ -0,0 +1,8 @@ + + + composition.cpp + composition.html + flower.jpg + flower_alpha.jpg + + diff --git a/demos/composition/flower.jpg b/demos/composition/flower.jpg new file mode 100644 index 0000000..f8e022c Binary files /dev/null and b/demos/composition/flower.jpg differ diff --git a/demos/composition/flower_alpha.jpg b/demos/composition/flower_alpha.jpg new file mode 100644 index 0000000..6a3c2a0 Binary files /dev/null and b/demos/composition/flower_alpha.jpg differ diff --git a/demos/composition/main.cpp b/demos/composition/main.cpp new file mode 100644 index 0000000..74055b2 --- /dev/null +++ b/demos/composition/main.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "composition.h" + +#include + +int main(int argc, char **argv) +{ + // Q_INIT_RESOURCE(deform); + + QApplication app(argc, argv); + + CompositionWidget compWidget(0); + QStyle *arthurStyle = new ArthurStyle(); + compWidget.setStyle(arthurStyle); + + QList widgets = qFindChildren(&compWidget); + foreach (QWidget *w, widgets) + w->setStyle(arthurStyle); + compWidget.show(); + + return app.exec(); +} diff --git a/demos/deform/deform.pro b/demos/deform/deform.pro new file mode 100644 index 0000000..db8484d --- /dev/null +++ b/demos/deform/deform.pro @@ -0,0 +1,19 @@ +SOURCES += main.cpp pathdeform.cpp +HEADERS += pathdeform.h + +SHARED_FOLDER = ../shared + +include($$SHARED_FOLDER/shared.pri) + +RESOURCES += deform.qrc + +contains(QT_CONFIG, opengl) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/deform +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/deform +INSTALLS += target sources diff --git a/demos/deform/deform.qrc b/demos/deform/deform.qrc new file mode 100644 index 0000000..2e59ebc --- /dev/null +++ b/demos/deform/deform.qrc @@ -0,0 +1,6 @@ + + + pathdeform.cpp + pathdeform.html + + diff --git a/demos/deform/main.cpp b/demos/deform/main.cpp new file mode 100644 index 0000000..e32fa12 --- /dev/null +++ b/demos/deform/main.cpp @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "pathdeform.h" + +#include +#include + +int main(int argc, char **argv) +{ + Q_INIT_RESOURCE(deform); + + QApplication app(argc, argv); + + bool smallScreen = false; + for (int i=0; i widgets = qFindChildren(&deformWidget); + foreach (QWidget *w, widgets) + w->setStyle(arthurStyle); + + if (smallScreen) + deformWidget.showFullScreen(); + else + deformWidget.show(); + + return app.exec(); +} diff --git a/demos/deform/pathdeform.cpp b/demos/deform/pathdeform.cpp new file mode 100644 index 0000000..2e1d89a --- /dev/null +++ b/demos/deform/pathdeform.cpp @@ -0,0 +1,647 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "pathdeform.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +PathDeformControls::PathDeformControls(QWidget *parent, PathDeformRenderer* renderer, bool smallScreen) + : QWidget(parent) +{ + m_renderer = renderer; + + if (smallScreen) + layoutForSmallScreen(); + else + layoutForDesktop(); +} + + +void PathDeformControls::layoutForDesktop() +{ + QGroupBox* mainGroup = new QGroupBox(this); + mainGroup->setTitle(tr("Controls")); + + QGroupBox *radiusGroup = new QGroupBox(mainGroup); + radiusGroup->setTitle(tr("Lens Radius")); + QSlider *radiusSlider = new QSlider(Qt::Horizontal, radiusGroup); + radiusSlider->setRange(15, 150); + radiusSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + + QGroupBox *deformGroup = new QGroupBox(mainGroup); + deformGroup->setTitle(tr("Deformation")); + QSlider *deformSlider = new QSlider(Qt::Horizontal, deformGroup); + deformSlider->setRange(-100, 100); + deformSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + + QGroupBox *fontSizeGroup = new QGroupBox(mainGroup); + fontSizeGroup->setTitle(tr("Font Size")); + QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, fontSizeGroup); + fontSizeSlider->setRange(16, 200); + fontSizeSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + + QGroupBox *textGroup = new QGroupBox(mainGroup); + textGroup->setTitle(tr("Text")); + QLineEdit *textInput = new QLineEdit(textGroup); + + QPushButton *animateButton = new QPushButton(mainGroup); + animateButton->setText(tr("Animated")); + animateButton->setCheckable(true); + + QPushButton *showSourceButton = new QPushButton(mainGroup); + showSourceButton->setText(tr("Show Source")); + +#ifdef QT_OPENGL_SUPPORT + QPushButton *enableOpenGLButton = new QPushButton(mainGroup); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(true); + enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); + if (!QGLFormat::hasOpenGL()) + enableOpenGLButton->hide(); +#endif + + QPushButton *whatsThisButton = new QPushButton(mainGroup); + whatsThisButton->setText(tr("What's This?")); + whatsThisButton->setCheckable(true); + + + mainGroup->setFixedWidth(180); + + QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); + mainGroupLayout->addWidget(radiusGroup); + mainGroupLayout->addWidget(deformGroup); + mainGroupLayout->addWidget(fontSizeGroup); + mainGroupLayout->addWidget(textGroup); + mainGroupLayout->addWidget(animateButton); + mainGroupLayout->addStretch(1); +#ifdef QT_OPENGL_SUPPORT + mainGroupLayout->addWidget(enableOpenGLButton); +#endif + mainGroupLayout->addWidget(showSourceButton); + mainGroupLayout->addWidget(whatsThisButton); + + QVBoxLayout *radiusGroupLayout = new QVBoxLayout(radiusGroup); + radiusGroupLayout->addWidget(radiusSlider); + + QVBoxLayout *deformGroupLayout = new QVBoxLayout(deformGroup); + deformGroupLayout->addWidget(deformSlider); + + QVBoxLayout *fontSizeGroupLayout = new QVBoxLayout(fontSizeGroup); + fontSizeGroupLayout->addWidget(fontSizeSlider); + + QVBoxLayout *textGroupLayout = new QVBoxLayout(textGroup); + textGroupLayout->addWidget(textInput); + + QVBoxLayout * mainLayout = new QVBoxLayout(this); + mainLayout->addWidget(mainGroup); + mainLayout->setMargin(0); + + connect(radiusSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setRadius(int))); + connect(deformSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setIntensity(int))); + connect(fontSizeSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setFontSize(int))); + connect(animateButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setAnimated(bool))); +#ifdef QT_OPENGL_SUPPORT + connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); +#endif + + connect(textInput, SIGNAL(textChanged(QString)), m_renderer, SLOT(setText(QString))); + connect(m_renderer, SIGNAL(descriptionEnabledChanged(bool)), + whatsThisButton, SLOT(setChecked(bool))); + connect(whatsThisButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setDescriptionEnabled(bool))); + connect(showSourceButton, SIGNAL(clicked()), m_renderer, SLOT(showSource())); + + animateButton->animateClick(); + deformSlider->setValue(80); + fontSizeSlider->setValue(120); + radiusSlider->setValue(100); + textInput->setText(tr("Qt")); +} + +void PathDeformControls::layoutForSmallScreen() +{ + QGroupBox* mainGroup = new QGroupBox(this); + mainGroup->setTitle(tr("Controls")); + + QLabel *radiusLabel = new QLabel(mainGroup); + radiusLabel->setText(tr("Lens Radius:")); + QSlider *radiusSlider = new QSlider(Qt::Horizontal, mainGroup); + radiusSlider->setRange(15, 150); + radiusSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + QLabel *deformLabel = new QLabel(mainGroup); + deformLabel->setText(tr("Deformation:")); + QSlider *deformSlider = new QSlider(Qt::Horizontal, mainGroup); + deformSlider->setRange(-100, 100); + deformSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + QLabel *fontSizeLabel = new QLabel(mainGroup); + fontSizeLabel->setText(tr("Font Size:")); + QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, mainGroup); + fontSizeSlider->setRange(16, 200); + fontSizeSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + QPushButton *animateButton = new QPushButton(tr("Animated"), mainGroup); + animateButton->setCheckable(true); + +#ifdef QT_OPENGL_SUPPORT + QPushButton *enableOpenGLButton = new QPushButton(mainGroup); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(mainGroup); + enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); + if (!QGLFormat::hasOpenGL()) + enableOpenGLButton->hide(); +#endif + + QPushButton *quitButton = new QPushButton(tr("Quit"), mainGroup); + QPushButton *okButton = new QPushButton(tr("OK"), mainGroup); + + + QGridLayout *mainGroupLayout = new QGridLayout(mainGroup); + mainGroupLayout->setMargin(0); + mainGroupLayout->addWidget(radiusLabel, 0, 0, Qt::AlignRight); + mainGroupLayout->addWidget(radiusSlider, 0, 1); + mainGroupLayout->addWidget(deformLabel, 1, 0, Qt::AlignRight); + mainGroupLayout->addWidget(deformSlider, 1, 1); + mainGroupLayout->addWidget(fontSizeLabel, 2, 0, Qt::AlignRight); + mainGroupLayout->addWidget(fontSizeSlider, 2, 1); + mainGroupLayout->addWidget(animateButton, 3,0, 1,2); +#ifdef QT_OPENGL_SUPPORT + mainGroupLayout->addWidget(enableOpenGLButton, 4,0, 1,2); +#endif + + QVBoxLayout *mainLayout = new QVBoxLayout(this); + mainLayout->addWidget(mainGroup); + mainLayout->addStretch(1); + mainLayout->addWidget(okButton); + mainLayout->addWidget(quitButton); + + connect(quitButton, SIGNAL(clicked()), this, SLOT(emitQuitSignal())); + connect(okButton, SIGNAL(clicked()), this, SLOT(emitOkSignal())); + connect(radiusSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setRadius(int))); + connect(deformSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setIntensity(int))); + connect(fontSizeSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setFontSize(int))); + connect(animateButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setAnimated(bool))); +#ifdef QT_OPENGL_SUPPORT + connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); +#endif + + + animateButton->animateClick(); + deformSlider->setValue(80); + fontSizeSlider->setValue(120); + + QRect screen_size = QApplication::desktop()->screenGeometry(); + radiusSlider->setValue(qMin(screen_size.width(), screen_size.height())/5); + m_renderer->setText(tr("Qt")); +} + + +void PathDeformControls::emitQuitSignal() +{ emit quitPressed(); } + +void PathDeformControls::emitOkSignal() +{ emit okPressed(); } + + +PathDeformWidget::PathDeformWidget(QWidget *parent, bool smallScreen) + : QWidget(parent) +{ + setWindowTitle(tr("Vector Deformation")); + + m_renderer = new PathDeformRenderer(this, smallScreen); + m_renderer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + // Layouts + QHBoxLayout *mainLayout = new QHBoxLayout(this); + mainLayout->addWidget(m_renderer); + + m_controls = new PathDeformControls(0, m_renderer, smallScreen); + m_controls->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); + + if (!smallScreen) + mainLayout->addWidget(m_controls); + + m_renderer->loadSourceFile(":res/deform/pathdeform.cpp"); + m_renderer->loadDescription(":res/deform/pathdeform.html"); + m_renderer->setDescriptionEnabled(false); + + connect(m_renderer, SIGNAL(clicked()), this, SLOT(showControls())); + connect(m_controls, SIGNAL(okPressed()), this, SLOT(hideControls())); + connect(m_controls, SIGNAL(quitPressed()), QApplication::instance(), SLOT(quit())); +} + + +void PathDeformWidget::showControls() +{ + m_controls->showFullScreen(); +} + +void PathDeformWidget::hideControls() +{ + m_controls->hide(); +} + +void PathDeformWidget::setStyle( QStyle * style ) +{ + QWidget::setStyle(style); + if (m_controls != 0) + { + m_controls->setStyle(style); + + QList widgets = qFindChildren(m_controls); + foreach (QWidget *w, widgets) + w->setStyle(style); + } +} + +static inline QRect circle_bounds(const QPointF ¢er, qreal radius, qreal compensation) +{ + return QRect(qRound(center.x() - radius - compensation), + qRound(center.y() - radius - compensation), + qRound((radius + compensation) * 2), + qRound((radius + compensation) * 2)); + +} + +const int LENS_EXTENT = 10; + +PathDeformRenderer::PathDeformRenderer(QWidget *widget, bool smallScreen) + : ArthurFrame(widget) +{ + m_radius = 100; + m_pos = QPointF(m_radius, m_radius); + m_direction = QPointF(1, 1); + m_fontSize = 24; + m_animated = true; + m_repaintTimer.start(25, this); + m_repaintTracker.start(); + m_intensity = 100; + m_smallScreen = smallScreen; + +// m_fpsTimer.start(1000, this); +// m_fpsCounter = 0; + + generateLensPixmap(); +} + +void PathDeformRenderer::setText(const QString &text) +{ + m_text = text; + + QFont f("times new roman,utopia"); + f.setStyleStrategy(QFont::ForceOutline); + f.setPointSize(m_fontSize); + f.setStyleHint(QFont::Times); + + QFontMetrics fm(f); + + m_paths.clear(); + m_pathBounds = QRect(); + + QPointF advance(0, 0); + + bool do_quick = true; + for (int i=0; i= 0x4ff && text.at(i).unicode() <= 0x1e00) { + do_quick = false; + break; + } + } + + if (do_quick) { + for (int i=0; itimerId() == m_repaintTimer.timerId()) { + + if (QLineF(QPointF(0,0), m_direction).length() > 1) + m_direction *= 0.995; + qreal time = m_repaintTracker.restart(); + + QRect rectBefore = circle_bounds(m_pos, m_radius, m_fontSize); + + qreal dx = m_direction.x(); + qreal dy = m_direction.y(); + if (time > 0) { + dx = dx * time * .1; + dy = dy * time * .1; + } + + m_pos += QPointF(dx, dy); + + + + if (m_pos.x() - m_radius < 0) { + m_direction.setX(-m_direction.x()); + m_pos.setX(m_radius); + } else if (m_pos.x() + m_radius > width()) { + m_direction.setX(-m_direction.x()); + m_pos.setX(width() - m_radius); + } + + if (m_pos.y() - m_radius < 0) { + m_direction.setY(-m_direction.y()); + m_pos.setY(m_radius); + } else if (m_pos.y() + m_radius > height()) { + m_direction.setY(-m_direction.y()); + m_pos.setY(height() - m_radius); + } + +#ifdef QT_OPENGL_SUPPORT + if (usesOpenGL()) { + update(); + } else +#endif + { + QRect rectAfter = circle_bounds(m_pos, m_radius, m_fontSize); + update(rectAfter | rectBefore); + QApplication::syncX(); + } + } +// else if (e->timerId() == m_fpsTimer.timerId()) { +// printf("fps: %d\n", m_fpsCounter); +// emit frameRate(m_fpsCounter); +// m_fpsCounter = 0; + +// } +} + +void PathDeformRenderer::mousePressEvent(QMouseEvent *e) +{ + setDescriptionEnabled(false); + + m_repaintTimer.stop(); + m_offset = QPointF(); + if (QLineF(m_pos, e->pos()).length() <= m_radius) + m_offset = m_pos - e->pos(); + + m_mousePress = e->pos(); + + // If we're not running in small screen mode, always assume we're dragging + m_mouseDrag = !m_smallScreen; + + mouseMoveEvent(e); +} + +void PathDeformRenderer::mouseReleaseEvent(QMouseEvent *e) +{ + if (e->buttons() == Qt::NoButton && m_animated) { + m_repaintTimer.start(10, this); + m_repaintTracker.start(); + } + + if (!m_mouseDrag && m_smallScreen) + emit clicked(); +} + +void PathDeformRenderer::mouseMoveEvent(QMouseEvent *e) +{ + if (!m_mouseDrag && (QLineF(m_mousePress, e->pos()).length() > 25.0) ) + m_mouseDrag = true; + + if (m_mouseDrag) { + QRect rectBefore = circle_bounds(m_pos, m_radius, m_fontSize); + if (e->type() == QEvent::MouseMove) { + QLineF line(m_pos, e->pos() + m_offset); + line.setLength(line.length() * .1); + QPointF dir(line.dx(), line.dy()); + m_direction = (m_direction + dir) / 2; + } + m_pos = e->pos() + m_offset; +#ifdef QT_OPENGL_SUPPORT + if (usesOpenGL()) { + update(); + } else +#endif + { + QRect rectAfter = circle_bounds(m_pos, m_radius, m_fontSize); + update(rectBefore | rectAfter); + } + } +} + +QPainterPath PathDeformRenderer::lensDeform(const QPainterPath &source, const QPointF &offset) +{ + QPainterPath path; + path.addPath(source); + + qreal flip = m_intensity / qreal(100); + + for (int i=0; i 0) { + path.setElementPositionAt(i, + x + flip * dx * len / m_radius, + y + flip * dy * len / m_radius); + } else { + path.setElementPositionAt(i, x, y); + } + + } + + return path; +} + + +void PathDeformRenderer::paint(QPainter *painter) +{ + int pad_x = 5; + int pad_y = 5; + + int skip_x = qRound(m_pathBounds.width() + pad_x + m_fontSize/2); + int skip_y = qRound(m_pathBounds.height() + pad_y); + + painter->setPen(Qt::NoPen); + painter->setBrush(Qt::black); + + QRectF clip(painter->clipPath().boundingRect()); + + int overlap = pad_x / 2; + + for (int start_y=0; start_y < height(); start_y += skip_y) { + + if (start_y > clip.bottom()) + break; + + int start_x = -overlap; + for (; start_x < width(); start_x += skip_x) { + + if (start_y + skip_y >= clip.top() && + start_x + skip_x >= clip.left() && + start_x <= clip.right()) { + for (int i=0; idrawPath(path); + } + } + } + overlap = skip_x - (start_x - width()); + + } + + if (preferImage()) { + painter->drawImage(m_pos - QPointF(m_radius + LENS_EXTENT, m_radius + LENS_EXTENT), + m_lens_image); + } else { + painter->drawPixmap(m_pos - QPointF(m_radius + LENS_EXTENT, m_radius + LENS_EXTENT), + m_lens_pixmap); + } +} + + + +void PathDeformRenderer::setRadius(int radius) +{ + qreal max = qMax(m_radius, (qreal)radius); + m_radius = radius; + generateLensPixmap(); + if (!m_animated || m_radius < max) { +#ifdef QT_OPENGL_SUPPORT + if (usesOpenGL()) { + update(); + } else +#endif + { + update(circle_bounds(m_pos, max, m_fontSize)); + } + } +} + +void PathDeformRenderer::setIntensity(int intensity) +{ + m_intensity = intensity; + if (!m_animated) { +#ifdef QT_OPENGL_SUPPORT + if (usesOpenGL()) { + update(); + } else +#endif + { + update(circle_bounds(m_pos, m_radius, m_fontSize)); + } + } +} diff --git a/demos/deform/pathdeform.h b/demos/deform/pathdeform.h new file mode 100644 index 0000000..45edb26 --- /dev/null +++ b/demos/deform/pathdeform.h @@ -0,0 +1,153 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef PATHDEFORM_H +#define PATHDEFORM_H + +#include "arthurwidgets.h" + +#include +#include +#include + +class PathDeformRenderer : public ArthurFrame +{ + Q_OBJECT + Q_PROPERTY(bool animated READ animated WRITE setAnimated) + Q_PROPERTY(int radius READ radius WRITE setRadius) + Q_PROPERTY(int fontSize READ fontSize WRITE setFontSize) + Q_PROPERTY(int intensity READ intensity WRITE setIntensity) + Q_PROPERTY(QString text READ text WRITE setText) + +public: + PathDeformRenderer(QWidget *widget, bool smallScreen = false); + + void paint(QPainter *painter); + + void mousePressEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + void mouseMoveEvent(QMouseEvent *e); + void timerEvent(QTimerEvent *e); + + QSize sizeHint() const { return QSize(600, 500); } + + bool animated() const { return m_animated; } + int radius() const { return int(m_radius); } + int fontSize() const { return m_fontSize; } + int intensity() const { return int(m_intensity); } + QString text() const { return m_text; } + +public slots: + void setRadius(int radius); + void setFontSize(int fontSize) { m_fontSize = fontSize; setText(m_text); } + void setText(const QString &text); + void setIntensity(int intensity); + + void setAnimated(bool animated); + +signals: + void clicked(); +// void frameRate(double fps); + +private: + void generateLensPixmap(); + QPainterPath lensDeform(const QPainterPath &source, const QPointF &offset); + + QBasicTimer m_repaintTimer; +// QBasicTimer m_fpsTimer; +// int m_fpsCounter; + QTime m_repaintTracker; + + QVector m_paths; + QVector m_advances; + QRectF m_pathBounds; + QString m_text; + + QPixmap m_lens_pixmap; + QImage m_lens_image; + + int m_fontSize; + bool m_animated; + + qreal m_intensity; + qreal m_radius; + QPointF m_pos; + QPointF m_offset; + QPointF m_direction; + QPointF m_mousePress; + bool m_mouseDrag; + bool m_smallScreen; +}; + +class PathDeformControls : public QWidget +{ + Q_OBJECT +public: + PathDeformControls(QWidget *parent, PathDeformRenderer* renderer, bool smallScreen); +signals: + void okPressed(); + void quitPressed(); +private: + PathDeformRenderer* m_renderer; + void layoutForDesktop(); + void layoutForSmallScreen(); +private slots: + void emitQuitSignal(); + void emitOkSignal(); +}; + +class PathDeformWidget : public QWidget +{ + Q_OBJECT +public: + PathDeformWidget(QWidget *parent, bool smallScreen); + void setStyle ( QStyle * style ); + +private: + PathDeformRenderer *m_renderer; + PathDeformControls *m_controls; + +private slots: + void showControls(); + void hideControls(); +}; + +#endif // PATHDEFORM_H diff --git a/demos/deform/pathdeform.html b/demos/deform/pathdeform.html new file mode 100644 index 0000000..b3f63a8 --- /dev/null +++ b/demos/deform/pathdeform.html @@ -0,0 +1,24 @@ + +
+

Vector deformation

+
+ +

This demo shows how to use advanced vector techniques to draw text +using a QPainterPath.

+ +

We define a vector deformation field in the shape of a lens and apply +this to all points in a path. This means that what is rendered on +screen is not pixel manipulation, but modified vector representations of +the glyphs themselves. This is visible from the high quality of the +antialiased edges for the deformed glyphs.

+ +

To get a fairly complex path we allow the user to type in text and +convert the text to paths. This is done using the +QPainterPath::addText() function.

+ +

The lens is drawn using a single call to drawEllipse(), using +a QRadialGradient to fill it with a specialized color table, +giving the effect of the Sun's reflection and a drop shadow. The lens +is cached as a pixmap for better performance.

+ + diff --git a/demos/demos.pro b/demos/demos.pro new file mode 100644 index 0000000..9248ab8 --- /dev/null +++ b/demos/demos.pro @@ -0,0 +1,73 @@ +TEMPLATE = subdirs +SUBDIRS = \ + demos_shared \ + demos_deform \ + demos_gradients \ + demos_pathstroke \ + demos_affine \ + demos_composition \ + demos_books \ + demos_interview \ + demos_mainwindow \ + demos_spreadsheet \ + demos_textedit \ + demos_chip \ + demos_embeddeddialogs \ + demos_undo + +contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles1cl):!contains(QT_CONFIG, opengles2):{ +SUBDIRS += demos_boxes +} + +mac*: SUBDIRS += demos_macmainwindow +wince*|embedded: SUBDIRS += embedded + +!contains(QT_EDITION, Console):!cross_compile:!embedded:!wince*:SUBDIRS += demos_arthurplugin + +!cross_compile:{ +contains(QT_BUILD_PARTS, tools):{ +!wince*:SUBDIRS += demos_sqlbrowser demos_qtdemo +wince*: SUBDIRS += demos_sqlbrowser +} +} +contains(QT_CONFIG, phonon)!static:SUBDIRS += demos_mediaplayer +contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):SUBDIRS += demos_browser + +# install +sources.files = README *.pro +sources.path = $$[QT_INSTALL_DEMOS] +INSTALLS += sources + +demos_chip.subdir = chip +demos_embeddeddialogs.subdir = embeddeddialogs +demos_shared.subdir = shared +demos_deform.subdir = deform +demos_gradients.subdir = gradients +demos_pathstroke.subdir = pathstroke +demos_affine.subdir = affine +demos_composition.subdir = composition +demos_books.subdir = books +demos_interview.subdir = interview +demos_macmainwindow.subdir = macmainwindow +demos_mainwindow.subdir = mainwindow +demos_spreadsheet.subdir = spreadsheet +demos_textedit.subdir = textedit +demos_arthurplugin.subdir = arthurplugin +demos_sqlbrowser.subdir = sqlbrowser +demos_undo.subdir = undo +demos_qtdemo.subdir = qtdemo +demos_mediaplayer.subdir = mediaplayer + +demos_browser.subdir = browser + +demos_boxes.subdir = boxes + +#CONFIG += ordered +!ordered { + demos_affine.depends = demos_shared + demos_deform.depends = demos_shared + demos_gradients.depends = demos_shared + demos_composition.depends = demos_shared + demos_arthurplugin.depends = demos_shared + demos_pathstroke.depends = demos_shared +} diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro new file mode 100644 index 0000000..7428b9f --- /dev/null +++ b/demos/embedded/embedded.pro @@ -0,0 +1,13 @@ +TEMPLATE = subdirs +SUBDIRS = styledemo + +contains(QT_CONFIG, svg) { + SUBDIRS += embeddedsvgviewer \ + fluidlauncher +} + +# install +sources.files = README *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded +INSTALLS += sources + diff --git a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp new file mode 100644 index 0000000..1bd99c9 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.cpp @@ -0,0 +1,181 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include "embeddedsvgviewer.h" + + + +EmbeddedSvgViewer::EmbeddedSvgViewer(const QString &filePath) +{ + qApp->setStyleSheet(" QSlider:vertical { width: 50px; } \ + QSlider::groove:vertical { border: 1px solid black; border-radius: 3px; width: 6px; } \ + QSlider::handle:vertical { height: 25px; margin: 0 -22px; image: url(':/files/v-slider-handle.svg'); } \ + "); + + m_renderer = new QSvgRenderer(filePath); + m_imageSize = m_renderer->viewBox().size(); + + m_viewBoxCenter = (QPointF(m_imageSize.width() / qreal(2.0), m_imageSize.height() / qreal(2.0))); + + m_zoomSlider = new QSlider(Qt::Vertical, this); + m_zoomSlider->setMaximum(150); + m_zoomSlider->setMinimum(1); + + connect(m_zoomSlider, SIGNAL(valueChanged(int)), this, SLOT(setZoom(int))); + m_zoomSlider->setValue(100); + + m_quitButton = new QPushButton("Quit", this); + + connect(m_quitButton, SIGNAL(pressed()), QApplication::instance(), SLOT(quit())); + + if (m_renderer->animated()) + connect(m_renderer, SIGNAL(repaintNeeded()), this, SLOT(update())); + +} + +void EmbeddedSvgViewer::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + QPainter painter(this); + m_renderer->setViewBox(m_viewBox); + m_renderer->render(&painter); +} + + +void EmbeddedSvgViewer::mouseMoveEvent ( QMouseEvent * event ) +{ + int incX = int((event->globalX() - m_mousePress.x()) * m_imageScale); + int incY = int((event->globalY() - m_mousePress.y()) * m_imageScale); + + QPointF newCenter; + newCenter.setX(m_viewBoxCenterOnMousePress.x() - incX); + newCenter.setY(m_viewBoxCenterOnMousePress.y() - incY); + + QRectF newViewBox = getViewBox(newCenter); + + + // Do a bounded move on the horizontal: + if ( (newViewBox.left() >= m_viewBoxBounds.left()) && + (newViewBox.right() <= m_viewBoxBounds.right()) ) + { + m_viewBoxCenter.setX(newCenter.x()); + m_viewBox.setLeft(newViewBox.left()); + m_viewBox.setRight(newViewBox.right()); + } + + // do a bounded move on the vertical: + if ( (newViewBox.top() >= m_viewBoxBounds.top()) && + (newViewBox.bottom() <= m_viewBoxBounds.bottom()) ) + { + m_viewBoxCenter.setY(newCenter.y()); + m_viewBox.setTop(newViewBox.top()); + m_viewBox.setBottom(newViewBox.bottom()); + } + + update(); +} + +void EmbeddedSvgViewer::mousePressEvent ( QMouseEvent * event ) +{ + m_viewBoxCenterOnMousePress = m_viewBoxCenter; + m_mousePress = event->globalPos(); +} + + +QRectF EmbeddedSvgViewer::getViewBox(QPointF viewBoxCenter) +{ + QRectF result; + result.setLeft(viewBoxCenter.x() - (m_viewBoxSize.width() / 2)); + result.setTop(viewBoxCenter.y() - (m_viewBoxSize.height() / 2)); + result.setRight(viewBoxCenter.x() + (m_viewBoxSize.width() / 2)); + result.setBottom(viewBoxCenter.y() + (m_viewBoxSize.height() / 2)); + return result; +} + +void EmbeddedSvgViewer::updateImageScale() +{ + m_imageScale = qMax( (qreal)m_imageSize.width() / (qreal)width(), + (qreal)m_imageSize.height() / (qreal)height())*m_zoomLevel; + + m_viewBoxSize.setWidth((qreal)width() * m_imageScale); + m_viewBoxSize.setHeight((qreal)height() * m_imageScale); +} + + +void EmbeddedSvgViewer::resizeEvent ( QResizeEvent * event ) +{ + qreal origZoom = m_zoomLevel; + + // Get the new bounds: + m_zoomLevel = 1.0; + updateImageScale(); + m_viewBoxBounds = getViewBox(QPointF(m_imageSize.width() / 2.0, m_imageSize.height() / 2.0)); + + m_zoomLevel = origZoom; + updateImageScale(); + m_viewBox = getViewBox(m_viewBoxCenter); + + QRect sliderRect; + sliderRect.setLeft(width() - m_zoomSlider->sizeHint().width()); + sliderRect.setRight(width()); + sliderRect.setTop(height()/4); + sliderRect.setBottom(height() - (height()/4)); + m_zoomSlider->setGeometry(sliderRect); +} + + +void EmbeddedSvgViewer::setZoom(int newZoom) +{ + m_zoomLevel = qreal(newZoom) / qreal(100); + + updateImageScale(); + m_viewBox = getViewBox(m_viewBoxCenter); + + update(); +} + + + + + diff --git a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.h b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.h new file mode 100644 index 0000000..c0af3cf --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.h @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef EMBEDDED_SVG_VIEWER_H +#define EMBEDDED_SVG_VIEWER_H + +#include +#include +#include +#include +#include +#include +#include + +class EmbeddedSvgViewer : public QWidget +{ + Q_OBJECT +public: + EmbeddedSvgViewer(const QString& filePath); + virtual void paintEvent(QPaintEvent *event); + void mouseMoveEvent ( QMouseEvent * event ); + void mousePressEvent ( QMouseEvent * event ); + void resizeEvent ( QResizeEvent * event ); + +public slots: + void setZoom(int); // 100 <= newZoom < 0 + +private: + QSvgRenderer* m_renderer; + QSlider* m_zoomSlider; + QPushButton* m_quitButton; + QSize m_imageSize; + qreal m_zoomLevel; + qreal m_imageScale; // How many Image coords 1 widget pixel is worth + + QRectF m_viewBox; + QRectF m_viewBoxBounds; + QSizeF m_viewBoxSize; + QPointF m_viewBoxCenter; + QPointF m_viewBoxCenterOnMousePress; + QPoint m_mousePress; + + void updateImageScale(); + QRectF getViewBox(QPointF viewBoxCenter); +}; + + + +#endif diff --git a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.pro b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.pro new file mode 100644 index 0000000..505e607 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.pro @@ -0,0 +1,16 @@ +TEMPLATE = app +QT += svg + +# Input +HEADERS += embeddedsvgviewer.h +SOURCES += embeddedsvgviewer.cpp main.cpp +RESOURCES += embeddedsvgviewer.qrc + +target.path = $$[QT_INSTALL_DEMOS]/embedded/embeddedsvgviewer +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html *.svg files +sources.path = $$[QT_INSTALL_DEMOS]/embedded/embeddedsvgviewer +INSTALLS += target sources + +wince*: { + DEPLOYMENT_PLUGIN += qsvg +} diff --git a/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.qrc b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.qrc new file mode 100644 index 0000000..bb02118 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.qrc @@ -0,0 +1,7 @@ + + + files/v-slider-handle.svg + files/default.svg + + + diff --git a/demos/embedded/embeddedsvgviewer/files/default.svg b/demos/embedded/embeddedsvgviewer/files/default.svg new file mode 100644 index 0000000..c28a711 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/files/default.svg @@ -0,0 +1,86 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg b/demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg new file mode 100644 index 0000000..4ee87f8 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/demos/embedded/embeddedsvgviewer/main.cpp b/demos/embedded/embeddedsvgviewer/main.cpp new file mode 100644 index 0000000..80f92d6 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/main.cpp @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include "embeddedsvgviewer.h" + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + Q_INIT_RESOURCE(embeddedsvgviewer); + + QString filePath; + + if (argc == 1) + filePath = QLatin1String(":/files/default.svg"); + else if (argc == 2) + filePath = argv[1]; + else { + qDebug() << QLatin1String("Please specify an svg file!"); + return -1; + } + + EmbeddedSvgViewer viewer(filePath); + + viewer.showFullScreen(); + + return app.exec(); +} diff --git a/demos/embedded/embeddedsvgviewer/shapes.svg b/demos/embedded/embeddedsvgviewer/shapes.svg new file mode 100644 index 0000000..c28a711 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/shapes.svg @@ -0,0 +1,86 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/demos/embedded/embeddedsvgviewer/spheres.svg b/demos/embedded/embeddedsvgviewer/spheres.svg new file mode 100644 index 0000000..e108777 --- /dev/null +++ b/demos/embedded/embeddedsvgviewer/spheres.svg @@ -0,0 +1,81 @@ + + + Spheres + Gradient filled spheres with different colors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/embedded/fluidlauncher/config.xml b/demos/embedded/fluidlauncher/config.xml new file mode 100644 index 0000000..6cb4be7 --- /dev/null +++ b/demos/embedded/fluidlauncher/config.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + diff --git a/demos/embedded/fluidlauncher/config_wince/config.xml b/demos/embedded/fluidlauncher/config_wince/config.xml new file mode 100644 index 0000000..3b57770 --- /dev/null +++ b/demos/embedded/fluidlauncher/config_wince/config.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/demos/embedded/fluidlauncher/demoapplication.cpp b/demos/embedded/fluidlauncher/demoapplication.cpp new file mode 100644 index 0000000..c5abfb9 --- /dev/null +++ b/demos/embedded/fluidlauncher/demoapplication.cpp @@ -0,0 +1,116 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include "demoapplication.h" + + + +DemoApplication::DemoApplication(QString executableName, QString caption, QString imageName, QStringList args) +{ + imagePath = imageName; + appCaption = caption; + + if (executableName[0] == QLatin1Char('/')) + executablePath = executableName; + else + executablePath = QDir::cleanPath(QDir::currentPath() + QLatin1Char('/') + executableName); + + arguments = args; + + process.setProcessChannelMode(QProcess::ForwardedChannels); + + QObject::connect( &process, SIGNAL(finished(int, QProcess::ExitStatus)), + this, SLOT(processFinished(int, QProcess::ExitStatus))); + + QObject::connect( &process, SIGNAL(error(QProcess::ProcessError)), + this, SLOT(processError(QProcess::ProcessError))); + + QObject::connect( &process, SIGNAL(started()), this, SLOT(processStarted())); +} + + +void DemoApplication::launch() +{ + process.start(executablePath, arguments); +} + +QImage* DemoApplication::getImage() +{ + return new QImage(imagePath); +} + +QString DemoApplication::getCaption() +{ + return appCaption; +} + +void DemoApplication::processFinished(int exitCode, QProcess::ExitStatus exitStatus) +{ + Q_UNUSED(exitCode); + Q_UNUSED(exitStatus); + + emit demoFinished(); + + QObject::disconnect(this, SIGNAL(demoStarted()), 0, 0); + QObject::disconnect(this, SIGNAL(demoFinished()), 0, 0); +} + +void DemoApplication::processError(QProcess::ProcessError err) +{ + qDebug() << "Process error: " << err; + if (err == QProcess::Crashed) + emit demoFinished(); +} + + +void DemoApplication::processStarted() +{ + emit demoStarted(); +} + + + + + + diff --git a/demos/embedded/fluidlauncher/demoapplication.h b/demos/embedded/fluidlauncher/demoapplication.h new file mode 100644 index 0000000..84ce1d4 --- /dev/null +++ b/demos/embedded/fluidlauncher/demoapplication.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DEMO_APPLICATION_H +#define DEMO_APPLICATION_H + +#include +#include +#include +#include + +class DemoApplication : public QObject +{ + Q_OBJECT + +public: + DemoApplication(QString executableName, QString caption, QString imageName, QStringList args); + void launch(); + QImage* getImage(); + QString getCaption(); + +public slots: + void processStarted(); + void processFinished(int exitCode, QProcess::ExitStatus exitStatus); + void processError(QProcess::ProcessError err); + +signals: + void demoStarted(); + void demoFinished(); + +private: + QString imagePath; + QString appCaption; + QString executablePath; + QStringList arguments; + QProcess process; +}; + + + + +#endif + + diff --git a/demos/embedded/fluidlauncher/fluidlauncher.cpp b/demos/embedded/fluidlauncher/fluidlauncher.cpp new file mode 100644 index 0000000..f80e6ca --- /dev/null +++ b/demos/embedded/fluidlauncher/fluidlauncher.cpp @@ -0,0 +1,221 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "fluidlauncher.h" + + +#define DEFAULT_INPUT_TIMEOUT 10000 + +FluidLauncher::FluidLauncher(QStringList* args) +{ + pictureFlowWidget = new PictureFlow(); + slideShowWidget = new SlideShow(); + inputTimer = new QTimer(); + + QRect screen_size = QApplication::desktop()->screenGeometry(); + + QObject::connect(pictureFlowWidget, SIGNAL(itemActivated(int)), this, SLOT(launchApplication(int))); + QObject::connect(pictureFlowWidget, SIGNAL(inputReceived()), this, SLOT(resetInputTimeout())); + QObject::connect(slideShowWidget, SIGNAL(inputReceived()), this, SLOT(switchToLauncher())); + QObject::connect(inputTimer, SIGNAL(timeout()), this, SLOT(inputTimedout())); + + inputTimer->setSingleShot(true); + inputTimer->setInterval(DEFAULT_INPUT_TIMEOUT); + + pictureFlowWidget->setSlideSize(QSize( (screen_size.width()*2)/5, (screen_size.height()*2)/5 )); + + bool success; + int configIndex = args->indexOf("-config"); + if ( (configIndex != -1) && (configIndex != args->count()-1) ) + success = loadConfig(args->at(configIndex+1)); + else + success = loadConfig("config.xml"); + + if (success) { + populatePictureFlow(); + + pictureFlowWidget->showFullScreen(); + inputTimer->start(); + } else { + pictureFlowWidget->setAttribute(Qt::WA_DeleteOnClose, true); + pictureFlowWidget->close(); + } + +} + +FluidLauncher::~FluidLauncher() +{ + delete pictureFlowWidget; + delete slideShowWidget; +} + +bool FluidLauncher::loadConfig(QString configPath) +{ + QFile xmlFile(configPath); + + if (!xmlFile.exists() || (xmlFile.error() != QFile::NoError)) { + qDebug() << "ERROR: Unable to open config file " << configPath; + return false; + } + + slideShowWidget->clearImages(); + + QDomDocument xmlDoc; + xmlDoc.setContent(&xmlFile, true); + + QDomElement rootElement = xmlDoc.documentElement(); + + // Process the demos node: + QDomNodeList demoNodes = rootElement.firstChildElement("demos").elementsByTagName("example"); + for (int i=0; isetInterval(timeout); + } + + if (slideshowElement.hasAttribute("interval")) { + bool valid; + int interval = slideshowElement.attribute("interval").toInt(&valid); + if (valid) + slideShowWidget->setSlideInterval(interval); + } + + for (QDomNode node=slideshowElement.firstChild(); !node.isNull(); node=node.nextSibling()) { + QDomElement element = node.toElement(); + + if (element.tagName() == "imagedir") + slideShowWidget->addImageDir(element.attribute("dir")); + else if (element.tagName() == "image") + slideShowWidget->addImage(element.attribute("image")); + } + + // Append an exit Item + DemoApplication* exitItem = new DemoApplication(QString(), QLatin1String("Exit Embedded Demo"), QString(), QStringList()); + demoList.append(exitItem); + + return true; +} + + +void FluidLauncher::populatePictureFlow() +{ + pictureFlowWidget->setSlideCount(demoList.count()); + + for (int i=demoList.count()-1; i>=0; --i) { + pictureFlowWidget->setSlide(i, *(demoList[i]->getImage())); + pictureFlowWidget->setSlideCaption(i, demoList[i]->getCaption()); + } + + pictureFlowWidget->setCurrentSlide(demoList.count()/2); +} + + +void FluidLauncher::launchApplication(int index) +{ + // NOTE: Clearing the caches will free up more memory for the demo but will cause + // a delay upon returning, as items are reloaded. + //pictureFlowWidget->clearCaches(); + + if (index == demoList.size() -1) { + qApp->quit(); + return; + } + + inputTimer->stop(); + pictureFlowWidget->hide(); + + QObject::connect(demoList[index], SIGNAL(demoFinished()), this, SLOT(demoFinished())); + + demoList[index]->launch(); +} + + +void FluidLauncher::switchToLauncher() +{ + slideShowWidget->stopShow(); + inputTimer->start(); +} + + +void FluidLauncher::resetInputTimeout() +{ + if (inputTimer->isActive()) + inputTimer->start(); +} + +void FluidLauncher::inputTimedout() +{ + switchToSlideshow(); +} + + +void FluidLauncher::switchToSlideshow() +{ + inputTimer->stop(); + slideShowWidget->startShow(); +} + +void FluidLauncher::demoFinished() +{ + pictureFlowWidget->showFullScreen(); + inputTimer->start(); +} + diff --git a/demos/embedded/fluidlauncher/fluidlauncher.h b/demos/embedded/fluidlauncher/fluidlauncher.h new file mode 100644 index 0000000..3f4c1fe --- /dev/null +++ b/demos/embedded/fluidlauncher/fluidlauncher.h @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef FLUID_LAUNCHER_H +#define FLUID_LAUNCHER_H + +#include +#include + +#include "pictureflow.h" +#include "slideshow.h" +#include "demoapplication.h" + +class FluidLauncher : public QObject +{ + Q_OBJECT + +public: + FluidLauncher(QStringList* args); + ~FluidLauncher(); + +public slots: + void launchApplication(int index); + void switchToLauncher(); + void resetInputTimeout(); + void inputTimedout(); + void demoFinished(); + +private: + PictureFlow* pictureFlowWidget; + SlideShow* slideShowWidget; + QTimer* inputTimer; + QList demoList; + + bool loadConfig(QString configPath); + void populatePictureFlow(); + void switchToSlideshow(); + + +}; + + +#endif diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro new file mode 100644 index 0000000..76d12ad --- /dev/null +++ b/demos/embedded/fluidlauncher/fluidlauncher.pro @@ -0,0 +1,56 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +QT += xml + +# Input +HEADERS += \ + demoapplication.h \ + fluidlauncher.h \ + pictureflow.h \ + slideshow.h + +SOURCES += \ + demoapplication.cpp \ + fluidlauncher.cpp \ + main.cpp \ + pictureflow.cpp \ + slideshow.cpp + +embedded{ + target.path = $$[QT_INSTALL_DEMOS]/embedded/fluidlauncher + sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html config.xml screenshots slides + sources.path = $$[QT_INSTALL_DEMOS]/embedded/fluidlauncher + INSTALLS += target sources +} + +wince*{ + QT += svg + + BUILD_DIR = release + if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { + BUILD_DIR = debug + } + + executables.sources = \ + $$QT_BUILD_TREE/demos/embedded/embeddedsvgviewer/$${BUILD_DIR}/embeddedsvgviewer.exe \ + $$QT_BUILD_TREE/demos/embedded/styledemo/$${BUILD_DIR}/styledemo.exe \ + $$QT_BUILD_TREE/demos/deform/$${BUILD_DIR}/deform.exe \ + $$QT_BUILD_TREE/demos/pathstroke/$${BUILD_DIR}/pathstroke.exe \ + $$QT_BUILD_TREE/examples/graphicsview/elasticnodes/$${BUILD_DIR}/elasticnodes.exe \ + $$QT_BUILD_TREE/examples/widgets/wiggly/$${BUILD_DIR}/wiggly.exe \ + $$QT_BUILD_TREE/examples/painting/concentriccircles/$${BUILD_DIR}/concentriccircles.exe + + executables.path = . + + files.sources = $$PWD/screenshots $$PWD/slides $$PWD/../embeddedsvgviewer/shapes.svg + files.path = . + + config.sources = $$PWD/config_wince/config.xml + config.path = . + + DEPLOYMENT += config files executables + + DEPLOYMENT_PLUGIN += qgif qjpeg qmng qsvg +} diff --git a/demos/embedded/fluidlauncher/main.cpp b/demos/embedded/fluidlauncher/main.cpp new file mode 100644 index 0000000..05e820e --- /dev/null +++ b/demos/embedded/fluidlauncher/main.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include "fluidlauncher.h" + + +int main(int argc, char** argv) +{ + QStringList originalArgs; + + for (int i=0; i nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY TROLLTECH ASA ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +****************************************************************************/ + +/* + ORIGINAL COPYRIGHT HEADER + PictureFlow - animated image show widget + http://pictureflow.googlecode.com + + Copyright (C) 2007 Ariya Hidayat (ariya@kde.org) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#include "pictureflow.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef Q_WS_QWS +#include +#endif + +#include + +// uncomment this to enable bilinear filtering for texture mapping +// gives much better rendering, at the cost of memory space +// #define PICTUREFLOW_BILINEAR_FILTER + +// for fixed-point arithmetic, we need minimum 32-bit long +// long long (64-bit) might be useful for multiplication and division +typedef long PFreal; + +typedef unsigned short QRgb565; + +#define RGB565_RED_MASK 0xF800 +#define RGB565_GREEN_MASK 0x07E0 +#define RGB565_BLUE_MASK 0x001F + +#define RGB565_RED(col) ((col&RGB565_RED_MASK)>>11) +#define RGB565_GREEN(col) ((col&RGB565_GREEN_MASK)>>5) +#define RGB565_BLUE(col) (col&RGB565_BLUE_MASK) + +#define PFREAL_SHIFT 10 +#define PFREAL_FACTOR (1 << PFREAL_SHIFT) +#define PFREAL_ONE (1 << PFREAL_SHIFT) +#define PFREAL_HALF (PFREAL_ONE >> 1) + +inline PFreal fmul(PFreal a, PFreal b) +{ + return ((long long)(a))*((long long)(b)) >> PFREAL_SHIFT; +} + +inline PFreal fdiv(PFreal num, PFreal den) +{ + long long p = (long long)(num) << (PFREAL_SHIFT*2); + long long q = p / (long long)den; + long long r = q >> PFREAL_SHIFT; + + return r; +} + +inline float fixedToFloat(PFreal val) +{ + return ((float)val) / (float)PFREAL_ONE; +} + +inline PFreal floatToFixed(float val) +{ + return (PFreal)(val*PFREAL_ONE); +} + +#define IANGLE_MAX 1024 +#define IANGLE_MASK 1023 + +// warning: regenerate the table if IANGLE_MAX and PFREAL_SHIFT are changed! +static const PFreal sinTable[IANGLE_MAX] = { + 3, 9, 15, 21, 28, 34, 40, 47, + 53, 59, 65, 72, 78, 84, 90, 97, + 103, 109, 115, 122, 128, 134, 140, 147, + 153, 159, 165, 171, 178, 184, 190, 196, + 202, 209, 215, 221, 227, 233, 239, 245, + 251, 257, 264, 270, 276, 282, 288, 294, + 300, 306, 312, 318, 324, 330, 336, 342, + 347, 353, 359, 365, 371, 377, 383, 388, + 394, 400, 406, 412, 417, 423, 429, 434, + 440, 446, 451, 457, 463, 468, 474, 479, + 485, 491, 496, 501, 507, 512, 518, 523, + 529, 534, 539, 545, 550, 555, 561, 566, + 571, 576, 581, 587, 592, 597, 602, 607, + 612, 617, 622, 627, 632, 637, 642, 647, + 652, 656, 661, 666, 671, 675, 680, 685, + 690, 694, 699, 703, 708, 712, 717, 721, + 726, 730, 735, 739, 743, 748, 752, 756, + 760, 765, 769, 773, 777, 781, 785, 789, + 793, 797, 801, 805, 809, 813, 816, 820, + 824, 828, 831, 835, 839, 842, 846, 849, + 853, 856, 860, 863, 866, 870, 873, 876, + 879, 883, 886, 889, 892, 895, 898, 901, + 904, 907, 910, 913, 916, 918, 921, 924, + 927, 929, 932, 934, 937, 939, 942, 944, + 947, 949, 951, 954, 956, 958, 960, 963, + 965, 967, 969, 971, 973, 975, 977, 978, + 980, 982, 984, 986, 987, 989, 990, 992, + 994, 995, 997, 998, 999, 1001, 1002, 1003, + 1004, 1006, 1007, 1008, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1015, 1016, 1017, 1018, 1018, + 1019, 1019, 1020, 1020, 1021, 1021, 1022, 1022, + 1022, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1022, + 1022, 1022, 1021, 1021, 1020, 1020, 1019, 1019, + 1018, 1018, 1017, 1016, 1015, 1015, 1014, 1013, + 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1004, + 1003, 1002, 1001, 999, 998, 997, 995, 994, + 992, 990, 989, 987, 986, 984, 982, 980, + 978, 977, 975, 973, 971, 969, 967, 965, + 963, 960, 958, 956, 954, 951, 949, 947, + 944, 942, 939, 937, 934, 932, 929, 927, + 924, 921, 918, 916, 913, 910, 907, 904, + 901, 898, 895, 892, 889, 886, 883, 879, + 876, 873, 870, 866, 863, 860, 856, 853, + 849, 846, 842, 839, 835, 831, 828, 824, + 820, 816, 813, 809, 805, 801, 797, 793, + 789, 785, 781, 777, 773, 769, 765, 760, + 756, 752, 748, 743, 739, 735, 730, 726, + 721, 717, 712, 708, 703, 699, 694, 690, + 685, 680, 675, 671, 666, 661, 656, 652, + 647, 642, 637, 632, 627, 622, 617, 612, + 607, 602, 597, 592, 587, 581, 576, 571, + 566, 561, 555, 550, 545, 539, 534, 529, + 523, 518, 512, 507, 501, 496, 491, 485, + 479, 474, 468, 463, 457, 451, 446, 440, + 434, 429, 423, 417, 412, 406, 400, 394, + 388, 383, 377, 371, 365, 359, 353, 347, + 342, 336, 330, 324, 318, 312, 306, 300, + 294, 288, 282, 276, 270, 264, 257, 251, + 245, 239, 233, 227, 221, 215, 209, 202, + 196, 190, 184, 178, 171, 165, 159, 153, + 147, 140, 134, 128, 122, 115, 109, 103, + 97, 90, 84, 78, 72, 65, 59, 53, + 47, 40, 34, 28, 21, 15, 9, 3, + -4, -10, -16, -22, -29, -35, -41, -48, + -54, -60, -66, -73, -79, -85, -91, -98, + -104, -110, -116, -123, -129, -135, -141, -148, + -154, -160, -166, -172, -179, -185, -191, -197, + -203, -210, -216, -222, -228, -234, -240, -246, + -252, -258, -265, -271, -277, -283, -289, -295, + -301, -307, -313, -319, -325, -331, -337, -343, + -348, -354, -360, -366, -372, -378, -384, -389, + -395, -401, -407, -413, -418, -424, -430, -435, + -441, -447, -452, -458, -464, -469, -475, -480, + -486, -492, -497, -502, -508, -513, -519, -524, + -530, -535, -540, -546, -551, -556, -562, -567, + -572, -577, -582, -588, -593, -598, -603, -608, + -613, -618, -623, -628, -633, -638, -643, -648, + -653, -657, -662, -667, -672, -676, -681, -686, + -691, -695, -700, -704, -709, -713, -718, -722, + -727, -731, -736, -740, -744, -749, -753, -757, + -761, -766, -770, -774, -778, -782, -786, -790, + -794, -798, -802, -806, -810, -814, -817, -821, + -825, -829, -832, -836, -840, -843, -847, -850, + -854, -857, -861, -864, -867, -871, -874, -877, + -880, -884, -887, -890, -893, -896, -899, -902, + -905, -908, -911, -914, -917, -919, -922, -925, + -928, -930, -933, -935, -938, -940, -943, -945, + -948, -950, -952, -955, -957, -959, -961, -964, + -966, -968, -970, -972, -974, -976, -978, -979, + -981, -983, -985, -987, -988, -990, -991, -993, + -995, -996, -998, -999, -1000, -1002, -1003, -1004, + -1005, -1007, -1008, -1009, -1010, -1011, -1012, -1013, + -1014, -1015, -1016, -1016, -1017, -1018, -1019, -1019, + -1020, -1020, -1021, -1021, -1022, -1022, -1023, -1023, + -1023, -1024, -1024, -1024, -1024, -1024, -1024, -1024, + -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1023, + -1023, -1023, -1022, -1022, -1021, -1021, -1020, -1020, + -1019, -1019, -1018, -1017, -1016, -1016, -1015, -1014, + -1013, -1012, -1011, -1010, -1009, -1008, -1007, -1005, + -1004, -1003, -1002, -1000, -999, -998, -996, -995, + -993, -991, -990, -988, -987, -985, -983, -981, + -979, -978, -976, -974, -972, -970, -968, -966, + -964, -961, -959, -957, -955, -952, -950, -948, + -945, -943, -940, -938, -935, -933, -930, -928, + -925, -922, -919, -917, -914, -911, -908, -905, + -902, -899, -896, -893, -890, -887, -884, -880, + -877, -874, -871, -867, -864, -861, -857, -854, + -850, -847, -843, -840, -836, -832, -829, -825, + -821, -817, -814, -810, -806, -802, -798, -794, + -790, -786, -782, -778, -774, -770, -766, -761, + -757, -753, -749, -744, -740, -736, -731, -727, + -722, -718, -713, -709, -704, -700, -695, -691, + -686, -681, -676, -672, -667, -662, -657, -653, + -648, -643, -638, -633, -628, -623, -618, -613, + -608, -603, -598, -593, -588, -582, -577, -572, + -567, -562, -556, -551, -546, -540, -535, -530, + -524, -519, -513, -508, -502, -497, -492, -486, + -480, -475, -469, -464, -458, -452, -447, -441, + -435, -430, -424, -418, -413, -407, -401, -395, + -389, -384, -378, -372, -366, -360, -354, -348, + -343, -337, -331, -325, -319, -313, -307, -301, + -295, -289, -283, -277, -271, -265, -258, -252, + -246, -240, -234, -228, -222, -216, -210, -203, + -197, -191, -185, -179, -172, -166, -160, -154, + -148, -141, -135, -129, -123, -116, -110, -104, + -98, -91, -85, -79, -73, -66, -60, -54, + -48, -41, -35, -29, -22, -16, -10, -4 +}; + +// this is the program the generate the above table +#if 0 +#include +#include + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +#define PFREAL_ONE 1024 +#define IANGLE_MAX 1024 + +int main(int, char**) +{ + FILE*f = fopen("table.c","wt"); + fprintf(f,"PFreal sinTable[] = {\n"); + for(int i = 0; i < 128; i++) + { + for(int j = 0; j < 8; j++) + { + int iang = j+i*8; + double ii = (double)iang + 0.5; + double angle = ii * 2 * M_PI / IANGLE_MAX; + double sinAngle = sin(angle); + fprintf(f,"%6d, ", (int)(floor(PFREAL_ONE*sinAngle))); + } + fprintf(f,"\n"); + } + fprintf(f,"};\n"); + fclose(f); + + return 0; +} +#endif + +inline PFreal fsin(int iangle) +{ + while(iangle < 0) + iangle += IANGLE_MAX; + return sinTable[iangle & IANGLE_MASK]; +} + +inline PFreal fcos(int iangle) +{ + // quarter phase shift + return fsin(iangle + (IANGLE_MAX >> 2)); +} + +struct SlideInfo +{ + int slideIndex; + int angle; + PFreal cx; + PFreal cy; +}; + +class PictureFlowPrivate +{ +public: + PictureFlowPrivate(PictureFlow* widget); + + int slideCount() const; + void setSlideCount(int count); + + QSize slideSize() const; + void setSlideSize(QSize size); + + int zoomFactor() const; + void setZoomFactor(int z); + + QImage slide(int index) const; + void setSlide(int index, const QImage& image); + + int currentSlide() const; + void setCurrentSlide(int index); + + int getTarget() const; + + void showPrevious(); + void showNext(); + void showSlide(int index); + + void resize(int w, int h); + + void render(); + void startAnimation(); + void updateAnimation(); + + void clearSurfaceCache(); + + QImage buffer; + QBasicTimer animateTimer; + + bool singlePress; + int singlePressThreshold; + QPoint firstPress; + QPoint previousPos; + QTime previousPosTimestamp; + int pixelDistanceMoved; + int pixelsToMovePerSlide; + + QVector captions; + +private: + PictureFlow* widget; + + int slideWidth; + int slideHeight; + int zoom; + + QVector slideImages; + int centerIndex; + SlideInfo centerSlide; + QVector leftSlides; + QVector rightSlides; + + QVector rays; + int itilt; + int spacing; + PFreal offsetX; + PFreal offsetY; + + QImage blankSurface; + QCache surfaceCache; + QTimer triggerTimer; + + int slideFrame; + int step; + int target; + int fade; + + void recalc(int w, int h); + QRect renderSlide(const SlideInfo &slide, int alpha=256, int col1=-1, int col=-1); + QImage* surface(int slideIndex); + void triggerRender(); + void resetSlides(); +}; + +PictureFlowPrivate::PictureFlowPrivate(PictureFlow* w) +{ + widget = w; + + slideWidth = 200; + slideHeight = 200; + zoom = 100; + + centerIndex = 0; + + slideFrame = 0; + step = 0; + target = 0; + fade = 256; + + triggerTimer.setSingleShot(true); + triggerTimer.setInterval(0); + QObject::connect(&triggerTimer, SIGNAL(timeout()), widget, SLOT(render())); + + recalc(200, 200); + resetSlides(); +} + +int PictureFlowPrivate::slideCount() const +{ + return slideImages.count(); +} + +void PictureFlowPrivate::setSlideCount(int count) +{ + slideImages.resize(count); + captions.resize(count); + surfaceCache.clear(); + resetSlides(); + triggerRender(); +} + +QSize PictureFlowPrivate::slideSize() const +{ + return QSize(slideWidth, slideHeight); +} + +void PictureFlowPrivate::setSlideSize(QSize size) +{ + slideWidth = size.width(); + slideHeight = size.height(); + recalc(buffer.width(), buffer.height()); + triggerRender(); +} + +int PictureFlowPrivate::zoomFactor() const +{ + return zoom; +} + +void PictureFlowPrivate::setZoomFactor(int z) +{ + if(z <= 0) + return; + + zoom = z; + recalc(buffer.width(), buffer.height()); + triggerRender(); +} + +QImage PictureFlowPrivate::slide(int index) const +{ + return slideImages[index]; +} + +void PictureFlowPrivate::setSlide(int index, const QImage& image) +{ + if((index >= 0) && (index < slideImages.count())) + { + slideImages[index] = image; + surfaceCache.remove(index); + triggerRender(); + } +} + +int PictureFlowPrivate::getTarget() const +{ + return target; +} + +int PictureFlowPrivate::currentSlide() const +{ + return centerIndex; +} + +void PictureFlowPrivate::setCurrentSlide(int index) +{ + step = 0; + centerIndex = qBound(index, 0, slideImages.count()-1); + target = centerIndex; + slideFrame = index << 16; + resetSlides(); + triggerRender(); +} + +void PictureFlowPrivate::showPrevious() +{ + if(step >= 0) + { + if(centerIndex > 0) + { + target--; + startAnimation(); + } + } + else + { + target = qMax(0, centerIndex - 2); + } +} + +void PictureFlowPrivate::showNext() +{ + if(step <= 0) + { + if(centerIndex < slideImages.count()-1) + { + target++; + startAnimation(); + } + } + else + { + target = qMin(centerIndex + 2, slideImages.count()-1); + } +} + +void PictureFlowPrivate::showSlide(int index) +{ + index = qMax(index, 0); + index = qMin(slideImages.count()-1, index); + if(index == centerSlide.slideIndex) + return; + + target = index; + startAnimation(); +} + +void PictureFlowPrivate::resize(int w, int h) +{ + recalc(w, h); + resetSlides(); + triggerRender(); +} + + +// adjust slides so that they are in "steady state" position +void PictureFlowPrivate::resetSlides() +{ + centerSlide.angle = 0; + centerSlide.cx = 0; + centerSlide.cy = 0; + centerSlide.slideIndex = centerIndex; + + leftSlides.clear(); + leftSlides.resize(3); + for(int i = 0; i < leftSlides.count(); i++) + { + SlideInfo& si = leftSlides[i]; + si.angle = itilt; + si.cx = -(offsetX + spacing*i*PFREAL_ONE); + si.cy = offsetY; + si.slideIndex = centerIndex-1-i; + //qDebug() << "Left[" << i << "] x=" << fixedToFloat(si.cx) << ", y=" << fixedToFloat(si.cy) ; + } + + rightSlides.clear(); + rightSlides.resize(3); + for(int i = 0; i < rightSlides.count(); i++) + { + SlideInfo& si = rightSlides[i]; + si.angle = -itilt; + si.cx = offsetX + spacing*i*PFREAL_ONE; + si.cy = offsetY; + si.slideIndex = centerIndex+1+i; + //qDebug() << "Right[" << i << "] x=" << fixedToFloat(si.cx) << ", y=" << fixedToFloat(si.cy) ; + } +} + +#define BILINEAR_STRETCH_HOR 4 +#define BILINEAR_STRETCH_VER 4 + +static QImage prepareSurface(QImage img, int w, int h) +{ + Qt::TransformationMode mode = Qt::SmoothTransformation; + img = img.scaled(w, h, Qt::IgnoreAspectRatio, mode); + + // slightly larger, to accomodate for the reflection + int hs = h * 2; + int hofs = h / 3; + + // offscreen buffer: black is sweet + QImage result(hs, w, QImage::Format_RGB16); + result.fill(0); + + // transpose the image, this is to speed-up the rendering + // because we process one column at a time + // (and much better and faster to work row-wise, i.e in one scanline) + for(int x = 0; x < w; x++) + for(int y = 0; y < h; y++) + result.setPixel(hofs + y, x, img.pixel(x, y)); + + // create the reflection + int ht = hs - h - hofs; + int hte = ht; + for(int x = 0; x < w; x++) + for(int y = 0; y < ht; y++) + { + QRgb color = img.pixel(x, img.height()-y-1); + //QRgb565 color = img.scanLine(img.height()-y-1) + x*sizeof(QRgb565); //img.pixel(x, img.height()-y-1); + int a = qAlpha(color); + int r = qRed(color) * a / 256 * (hte - y) / hte * 3/5; + int g = qGreen(color) * a / 256 * (hte - y) / hte * 3/5; + int b = qBlue(color) * a / 256 * (hte - y) / hte * 3/5; + result.setPixel(h+hofs+y, x, qRgb(r, g, b)); + } + +#ifdef PICTUREFLOW_BILINEAR_FILTER + int hh = BILINEAR_STRETCH_VER*hs; + int ww = BILINEAR_STRETCH_HOR*w; + result = result.scaled(hh, ww, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); +#endif + + return result; +} + + +// get transformed image for specified slide +// if it does not exist, create it and place it in the cache +QImage* PictureFlowPrivate::surface(int slideIndex) +{ + if(slideIndex < 0) + return 0; + if(slideIndex >= slideImages.count()) + return 0; + + if(surfaceCache.contains(slideIndex)) + return surfaceCache[slideIndex]; + + QImage img = widget->slide(slideIndex); + if(img.isNull()) + { + if(blankSurface.isNull()) + { + blankSurface = QImage(slideWidth, slideHeight, QImage::Format_RGB16); + + QPainter painter(&blankSurface); + QPoint p1(slideWidth*4/10, 0); + QPoint p2(slideWidth*6/10, slideHeight); + QLinearGradient linearGrad(p1, p2); + linearGrad.setColorAt(0, Qt::black); + linearGrad.setColorAt(1, Qt::white); + painter.setBrush(linearGrad); + painter.fillRect(0, 0, slideWidth, slideHeight, QBrush(linearGrad)); + + painter.setPen(QPen(QColor(64,64,64), 4)); + painter.setBrush(QBrush()); + painter.drawRect(2, 2, slideWidth-3, slideHeight-3); + painter.end(); + blankSurface = prepareSurface(blankSurface, slideWidth, slideHeight); + } + return &blankSurface; + } + + surfaceCache.insert(slideIndex, new QImage(prepareSurface(img, slideWidth, slideHeight))); + return surfaceCache[slideIndex]; +} + + +// Schedules rendering the slides. Call this function to avoid immediate +// render and thus cause less flicker. +void PictureFlowPrivate::triggerRender() +{ + triggerTimer.start(); +} + +// Render the slides. Updates only the offscreen buffer. +void PictureFlowPrivate::render() +{ + buffer.fill(0); + + int nleft = leftSlides.count(); + int nright = rightSlides.count(); + + QRect r = renderSlide(centerSlide); + int c1 = r.left(); + int c2 = r.right(); + + if(step == 0) + { + // no animation, boring plain rendering + for(int index = 0; index < nleft-1; index++) + { + int alpha = (index < nleft-2) ? 256 : 128; + QRect rs = renderSlide(leftSlides[index], alpha, 0, c1-1); + if(!rs.isEmpty()) + c1 = rs.left(); + } + for(int index = 0; index < nright-1; index++) + { + int alpha = (index < nright-2) ? 256 : 128; + QRect rs = renderSlide(rightSlides[index], alpha, c2+1, buffer.width()); + if(!rs.isEmpty()) + c2 = rs.right(); + } + + QPainter painter; + painter.begin(&buffer); + + QFont font("Arial", 14); + font.setBold(true); + painter.setFont(font); + painter.setPen(Qt::white); + //painter.setPen(QColor(255,255,255,127)); + + if (!captions.isEmpty()) + painter.drawText( QRect(0,0, buffer.width(), (buffer.height() - slideSize().height())/2), + Qt::AlignCenter, captions[centerIndex]); + + painter.end(); + + } + else + { + // the first and last slide must fade in/fade out + for(int index = 0; index < nleft; index++) + { + int alpha = 256; + if(index == nleft-1) + alpha = (step > 0) ? 0 : 128-fade/2; + if(index == nleft-2) + alpha = (step > 0) ? 128-fade/2 : 256-fade/2; + if(index == nleft-3) + alpha = (step > 0) ? 256-fade/2 : 256; + QRect rs = renderSlide(leftSlides[index], alpha, 0, c1-1); + if(!rs.isEmpty()) + c1 = rs.left(); + + alpha = (step > 0) ? 256-fade/2 : 256; + } + for(int index = 0; index < nright; index++) + { + int alpha = (index < nright-2) ? 256 : 128; + if(index == nright-1) + alpha = (step > 0) ? fade/2 : 0; + if(index == nright-2) + alpha = (step > 0) ? 128+fade/2 : fade/2; + if(index == nright-3) + alpha = (step > 0) ? 256 : 128+fade/2; + QRect rs = renderSlide(rightSlides[index], alpha, c2+1, buffer.width()); + if(!rs.isEmpty()) + c2 = rs.right(); + } + + + + QPainter painter; + painter.begin(&buffer); + + QFont font("Arial", 14); + font.setBold(true); + painter.setFont(font); + + int leftTextIndex = (step>0) ? centerIndex : centerIndex-1; + + painter.setPen(QColor(255,255,255, (255-fade) )); + painter.drawText( QRect(0,0, buffer.width(), (buffer.height() - slideSize().height())/2), + Qt::AlignCenter, captions[leftTextIndex]); + + painter.setPen(QColor(255,255,255, fade)); + painter.drawText( QRect(0,0, buffer.width(), (buffer.height() - slideSize().height())/2), + Qt::AlignCenter, captions[leftTextIndex+1]); + + + painter.end(); + } +} + + +static inline uint BYTE_MUL_RGB16(uint x, uint a) { + a += 1; + uint t = (((x & 0x07e0)*a) >> 8) & 0x07e0; + t |= (((x & 0xf81f)*(a>>2)) >> 6) & 0xf81f; + return t; +} + +static inline uint BYTE_MUL_RGB16_32(uint x, uint a) { + uint t = (((x & 0xf81f07e0) >> 5)*a) & 0xf81f07e0; + t |= (((x & 0x07e0f81f)*a) >> 5) & 0x07e0f81f; + return t; +} + + +// Renders a slide to offscreen buffer. Returns a rect of the rendered area. +// alpha=256 means normal, alpha=0 is fully black, alpha=128 half transparent +// col1 and col2 limit the column for rendering. +QRect PictureFlowPrivate::renderSlide(const SlideInfo &slide, int alpha, +int col1, int col2) +{ + QImage* src = surface(slide.slideIndex); + if(!src) + return QRect(); + + QRect rect(0, 0, 0, 0); + +#ifdef PICTUREFLOW_BILINEAR_FILTER + int sw = src->height() / BILINEAR_STRETCH_HOR; + int sh = src->width() / BILINEAR_STRETCH_VER; +#else + int sw = src->height(); + int sh = src->width(); +#endif + int h = buffer.height(); + int w = buffer.width(); + + if(col1 > col2) + { + int c = col2; + col2 = col1; + col1 = c; + } + + col1 = (col1 >= 0) ? col1 : 0; + col2 = (col2 >= 0) ? col2 : w-1; + col1 = qMin(col1, w-1); + col2 = qMin(col2, w-1); + + int distance = h * 100 / zoom; + PFreal sdx = fcos(slide.angle); + PFreal sdy = fsin(slide.angle); + PFreal xs = slide.cx - slideWidth * sdx/2; + PFreal ys = slide.cy - slideWidth * sdy/2; + PFreal dist = distance * PFREAL_ONE; + + int xi = qMax((PFreal)0, ((w*PFREAL_ONE/2) + fdiv(xs*h, dist+ys)) >> PFREAL_SHIFT); + if(xi >= w) + return rect; + + bool flag = false; + rect.setLeft(xi); + for(int x = qMax(xi, col1); x <= col2; x++) + { + PFreal hity = 0; + PFreal fk = rays[x]; + if(sdy) + { + fk = fk - fdiv(sdx,sdy); + hity = -fdiv((rays[x]*distance - slide.cx + slide.cy*sdx/sdy), fk); + } + + dist = distance*PFREAL_ONE + hity; + if(dist < 0) + continue; + + PFreal hitx = fmul(dist, rays[x]); + PFreal hitdist = fdiv(hitx - slide.cx, sdx); + +#ifdef PICTUREFLOW_BILINEAR_FILTER + int column = sw*BILINEAR_STRETCH_HOR/2 + (hitdist*BILINEAR_STRETCH_HOR >> PFREAL_SHIFT); + if(column >= sw*BILINEAR_STRETCH_HOR) + break; +#else + int column = sw/2 + (hitdist >> PFREAL_SHIFT); + if(column >= sw) + break; +#endif + if(column < 0) + continue; + + rect.setRight(x); + if(!flag) + rect.setLeft(x); + flag = true; + + int y1 = h/2; + int y2 = y1+ 1; + QRgb565* pixel1 = (QRgb565*)(buffer.scanLine(y1)) + x; + QRgb565* pixel2 = (QRgb565*)(buffer.scanLine(y2)) + x; + int pixelstep = pixel2 - pixel1; + +#ifdef PICTUREFLOW_BILINEAR_FILTER + int center = (sh*BILINEAR_STRETCH_VER/2); + int dy = dist*BILINEAR_STRETCH_VER / h; +#else + int center = (sh/2); + int dy = dist / h; +#endif + int p1 = center*PFREAL_ONE - dy/2; + int p2 = center*PFREAL_ONE + dy/2; + + const QRgb565 *ptr = (const QRgb565*)(src->scanLine(column)); + if(alpha == 256) + while((y1 >= 0) && (y2 < h) && (p1 >= 0)) + { + *pixel1 = ptr[p1 >> PFREAL_SHIFT]; + *pixel2 = ptr[p2 >> PFREAL_SHIFT]; + p1 -= dy; + p2 += dy; + y1--; + y2++; + pixel1 -= pixelstep; + pixel2 += pixelstep; + } + else + while((y1 >= 0) && (y2 < h) && (p1 >= 0)) + { + QRgb565 c1 = ptr[p1 >> PFREAL_SHIFT]; + QRgb565 c2 = ptr[p2 >> PFREAL_SHIFT]; + + *pixel1 = BYTE_MUL_RGB16(c1, alpha); + *pixel2 = BYTE_MUL_RGB16(c2, alpha); + +/* + int r1 = qRed(c1) * alpha/256; + int g1 = qGreen(c1) * alpha/256; + int b1 = qBlue(c1) * alpha/256; + int r2 = qRed(c2) * alpha/256; + int g2 = qGreen(c2) * alpha/256; + int b2 = qBlue(c2) * alpha/256; + *pixel1 = qRgb(r1, g1, b1); + *pixel2 = qRgb(r2, g2, b2); +*/ + p1 -= dy; + p2 += dy; + y1--; + y2++; + pixel1 -= pixelstep; + pixel2 += pixelstep; + } + } + + rect.setTop(0); + rect.setBottom(h-1); + return rect; +} + +// Updates look-up table and other stuff necessary for the rendering. +// Call this when the viewport size or slide dimension is changed. +void PictureFlowPrivate::recalc(int ww, int wh) +{ + int w = (ww+1)/2; + int h = (wh+1)/2; + buffer = QImage(ww, wh, QImage::Format_RGB16); + buffer.fill(0); + + rays.resize(w*2); + + for(int i = 0; i < w; i++) + { + PFreal gg = (PFREAL_HALF + i * PFREAL_ONE) / (2*h); + rays[w-i-1] = -gg; + rays[w+i] = gg; + } + + // pointer must move more than 1/15 of the window to enter drag mode + singlePressThreshold = ww / 15; +// qDebug() << "singlePressThreshold now set to " << singlePressThreshold; + + pixelsToMovePerSlide = ww / 3; +// qDebug() << "pixelsToMovePerSlide now set to " << pixelsToMovePerSlide; + + itilt = 80 * IANGLE_MAX / 360; // approx. 80 degrees tilted + + offsetY = slideWidth/2 * fsin(itilt); + offsetY += slideWidth * PFREAL_ONE / 4; + +// offsetX = slideWidth/2 * (PFREAL_ONE-fcos(itilt)); +// offsetX += slideWidth * PFREAL_ONE; + + // center slide + side slide + offsetX = slideWidth*PFREAL_ONE; +// offsetX = 150*PFREAL_ONE;//(slideWidth/2)*PFREAL_ONE + ( slideWidth*fcos(itilt) )/2; +// qDebug() << "center width = " << slideWidth; +// qDebug() << "side width = " << fixedToFloat(slideWidth/2 * (PFREAL_ONE-fcos(itilt))); +// qDebug() << "offsetX now " << fixedToFloat(offsetX); + + spacing = slideWidth/5; + + surfaceCache.clear(); + blankSurface = QImage(); +} + +void PictureFlowPrivate::startAnimation() +{ + if(!animateTimer.isActive()) + { + step = (target < centerSlide.slideIndex) ? -1 : 1; + animateTimer.start(30, widget); + } +} + +// Updates the animation effect. Call this periodically from a timer. +void PictureFlowPrivate::updateAnimation() +{ + if(!animateTimer.isActive()) + return; + if(step == 0) + return; + + int speed = 16384; + + // deaccelerate when approaching the target + if(true) + { + const int max = 2 * 65536; + + int fi = slideFrame; + fi -= (target << 16); + if(fi < 0) + fi = -fi; + fi = qMin(fi, max); + + int ia = IANGLE_MAX * (fi-max/2) / (max*2); + speed = 512 + 16384 * (PFREAL_ONE+fsin(ia))/PFREAL_ONE; + } + + slideFrame += speed*step; + + int index = slideFrame >> 16; + int pos = slideFrame & 0xffff; + int neg = 65536 - pos; + int tick = (step < 0) ? neg : pos; + PFreal ftick = (tick * PFREAL_ONE) >> 16; + + // the leftmost and rightmost slide must fade away + fade = pos / 256; + + if(step < 0) + index++; + if(centerIndex != index) + { + centerIndex = index; + slideFrame = index << 16; + centerSlide.slideIndex = centerIndex; + for(int i = 0; i < leftSlides.count(); i++) + leftSlides[i].slideIndex = centerIndex-1-i; + for(int i = 0; i < rightSlides.count(); i++) + rightSlides[i].slideIndex = centerIndex+1+i; + } + + centerSlide.angle = (step * tick * itilt) >> 16; + centerSlide.cx = -step * fmul(offsetX, ftick); + centerSlide.cy = fmul(offsetY, ftick); + + if(centerIndex == target) + { + resetSlides(); + animateTimer.stop(); + triggerRender(); + step = 0; + fade = 256; + return; + } + + for(int i = 0; i < leftSlides.count(); i++) + { + SlideInfo& si = leftSlides[i]; + si.angle = itilt; + si.cx = -(offsetX + spacing*i*PFREAL_ONE + step*spacing*ftick); + si.cy = offsetY; + } + + for(int i = 0; i < rightSlides.count(); i++) + { + SlideInfo& si = rightSlides[i]; + si.angle = -itilt; + si.cx = offsetX + spacing*i*PFREAL_ONE - step*spacing*ftick; + si.cy = offsetY; + } + + if(step > 0) + { + PFreal ftick = (neg * PFREAL_ONE) >> 16; + rightSlides[0].angle = -(neg * itilt) >> 16; + rightSlides[0].cx = fmul(offsetX, ftick); + rightSlides[0].cy = fmul(offsetY, ftick); + } + else + { + PFreal ftick = (pos * PFREAL_ONE) >> 16; + leftSlides[0].angle = (pos * itilt) >> 16; + leftSlides[0].cx = -fmul(offsetX, ftick); + leftSlides[0].cy = fmul(offsetY, ftick); + } + + // must change direction ? + if(target < index) if(step > 0) + step = -1; + if(target > index) if(step < 0) + step = 1; + + triggerRender(); +} + + +void PictureFlowPrivate::clearSurfaceCache() +{ + surfaceCache.clear(); +} + +// ----------------------------------------- + +PictureFlow::PictureFlow(QWidget* parent): QWidget(parent) +{ + d = new PictureFlowPrivate(this); + + setAttribute(Qt::WA_StaticContents, true); + setAttribute(Qt::WA_OpaquePaintEvent, true); + setAttribute(Qt::WA_NoSystemBackground, true); + +#ifdef Q_WS_QWS + if (QScreen::instance()->pixelFormat() != QImage::Format_Invalid) + setAttribute(Qt::WA_PaintOnScreen, true); +#endif +} + +PictureFlow::~PictureFlow() +{ + delete d; +} + +int PictureFlow::slideCount() const +{ + return d->slideCount(); +} + +void PictureFlow::setSlideCount(int count) +{ + d->setSlideCount(count); +} + +QSize PictureFlow::slideSize() const +{ + return d->slideSize(); +} + +void PictureFlow::setSlideSize(QSize size) +{ + d->setSlideSize(size); +} + +int PictureFlow::zoomFactor() const +{ + return d->zoomFactor(); +} + +void PictureFlow::setZoomFactor(int z) +{ + d->setZoomFactor(z); +} + +QImage PictureFlow::slide(int index) const +{ + return d->slide(index); +} + +void PictureFlow::setSlide(int index, const QImage& image) +{ + d->setSlide(index, image); +} + +void PictureFlow::setSlide(int index, const QPixmap& pixmap) +{ + d->setSlide(index, pixmap.toImage()); +} + +void PictureFlow::setSlideCaption(int index, QString caption) +{ + d->captions[index] = caption; +} + + +int PictureFlow::currentSlide() const +{ + return d->currentSlide(); +} + +void PictureFlow::setCurrentSlide(int index) +{ + d->setCurrentSlide(index); +} + +void PictureFlow::clear() +{ + d->setSlideCount(0); +} + +void PictureFlow::clearCaches() +{ + d->clearSurfaceCache(); +} + +void PictureFlow::render() +{ + d->render(); + update(); +} + +void PictureFlow::showPrevious() +{ + d->showPrevious(); +} + +void PictureFlow::showNext() +{ + d->showNext(); +} + +void PictureFlow::showSlide(int index) +{ + d->showSlide(index); +} + +void PictureFlow::keyPressEvent(QKeyEvent* event) +{ + if(event->key() == Qt::Key_Left) + { + if(event->modifiers() == Qt::ControlModifier) + showSlide(currentSlide()-10); + else + showPrevious(); + event->accept(); + return; + } + + if(event->key() == Qt::Key_Right) + { + if(event->modifiers() == Qt::ControlModifier) + showSlide(currentSlide()+10); + else + showNext(); + event->accept(); + return; + } + + event->ignore(); +} + +#define SPEED_LOWER_THRESHOLD 10 +#define SPEED_UPPER_LIMIT 40 + +void PictureFlow::mouseMoveEvent(QMouseEvent* event) +{ + int distanceMovedSinceLastEvent = event->pos().x() - d->previousPos.x(); + + // Check to see if we need to switch from single press mode to a drag mode + if (d->singlePress) + { + // Increment the distance moved for this event + d->pixelDistanceMoved += distanceMovedSinceLastEvent; + + // Check against threshold + if (qAbs(d->pixelDistanceMoved) > d->singlePressThreshold) + { + d->singlePress = false; +// qDebug() << "DRAG MODE ON"; + } + } + + if (!d->singlePress) + { + int speed; + // Calculate velocity in a 10th of a window width per second + if (d->previousPosTimestamp.elapsed() == 0) + speed = SPEED_LOWER_THRESHOLD; + else + { + speed = ((qAbs(event->pos().x()-d->previousPos.x())*1000) / d->previousPosTimestamp.elapsed()) + / (d->buffer.width() / 10); + + if (speed < SPEED_LOWER_THRESHOLD) + speed = SPEED_LOWER_THRESHOLD; + else if (speed > SPEED_UPPER_LIMIT) + speed = SPEED_UPPER_LIMIT; + else { + speed = SPEED_LOWER_THRESHOLD + (speed / 3); +// qDebug() << "ACCELERATION ENABLED Speed = " << speed << ", Distance = " << distanceMovedSinceLastEvent; + + } + } + + +// qDebug() << "Speed = " << speed; + +// int incr = ((event->pos().x() - d->previousPos.x())/10) * speed; + +// qDebug() << "Incremented by " << incr; + + int incr = (distanceMovedSinceLastEvent * speed); + + //qDebug() << "(distanceMovedSinceLastEvent * speed) = " << incr; + + if (incr > d->pixelsToMovePerSlide*2) { + incr = d->pixelsToMovePerSlide*2; + //qDebug() << "Limiting incr to " << incr; + } + + + d->pixelDistanceMoved += (distanceMovedSinceLastEvent * speed); + // qDebug() << "distance: " << d->pixelDistanceMoved; + + int slideInc; + + slideInc = d->pixelDistanceMoved / (d->pixelsToMovePerSlide * 10); + + if (slideInc != 0) { + int targetSlide = d->getTarget() - slideInc; + showSlide(targetSlide); +// qDebug() << "TargetSlide = " << targetSlide; + + //qDebug() << "Decrementing pixelDistanceMoved by " << (d->pixelsToMovePerSlide *10) * slideInc; + + d->pixelDistanceMoved -= (d->pixelsToMovePerSlide *10) * slideInc; + +/* + if ( (targetSlide <= 0) || (targetSlide >= d->slideCount()-1) ) + d->pixelDistanceMoved = 0; +*/ + } + + + } + + d->previousPos = event->pos(); + d->previousPosTimestamp.restart(); + + emit inputReceived(); +} + +void PictureFlow::mousePressEvent(QMouseEvent* event) +{ + d->firstPress = event->pos(); + d->previousPos = event->pos(); + d->previousPosTimestamp.start(); + d->singlePress = true; // Initially assume a single press +// d->dragStartSlide = d->getTarget(); + d->pixelDistanceMoved = 0; + + emit inputReceived(); +} + +void PictureFlow::mouseReleaseEvent(QMouseEvent* event) +{ + int sideWidth = (d->buffer.width() - slideSize().width()) /2; + + if (d->singlePress) + { + if (event->x() < sideWidth ) + { + showPrevious(); + } else if ( event->x() > sideWidth + slideSize().width() ) { + showNext(); + } else { + emit itemActivated(d->getTarget()); + } + + event->accept(); + } + + emit inputReceived(); +} + + +void PictureFlow::paintEvent(QPaintEvent* event) +{ + Q_UNUSED(event); + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing, false); + painter.drawImage(QPoint(0,0), d->buffer); +} + +void PictureFlow::resizeEvent(QResizeEvent* event) +{ + d->resize(width(), height()); + QWidget::resizeEvent(event); +} + +void PictureFlow::timerEvent(QTimerEvent* event) +{ + if(event->timerId() == d->animateTimer.timerId()) + { +// QTime now = QTime::currentTime(); + d->updateAnimation(); +// d->animateTimer.start(qMax(0, 30-now.elapsed() ), this); + } + else + QWidget::timerEvent(event); +} diff --git a/demos/embedded/fluidlauncher/pictureflow.h b/demos/embedded/fluidlauncher/pictureflow.h new file mode 100644 index 0000000..fccc7a3 --- /dev/null +++ b/demos/embedded/fluidlauncher/pictureflow.h @@ -0,0 +1,237 @@ +/**************************************************************************** +* +* Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) +* This is version of the Pictureflow animated image show widget modified by Nokia. +* +* $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 either Technology Preview License Agreement or the +* Beta Release License Agreement. +* +* 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.0, included in the file LGPL_EXCEPTION.txt in this +* package. +* +* GNU General Public License Usage +* Alternatively, this file may be used under the terms of the GNU +* General Public License version 3.0 as published by the Free Software +* Foundation and appearing in the file LICENSE.GPL included in the +* packaging of this file. Please review the following information to +* ensure the GNU General Public License version 3.0 requirements will be +* met: http://www.gnu.org/copyleft/gpl.html. +* +* If you are unsure which license is appropriate for your use, please +* contact the sales department at qt-sales@nokia.com. +* $QT_END_LICENSE$ +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY TROLLTECH ASA ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +****************************************************************************/ +/* + ORIGINAL COPYRIGHT HEADER + PictureFlow - animated image show widget + http://pictureflow.googlecode.com + + Copyright (C) 2007 Ariya Hidayat (ariya@kde.org) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#ifndef PICTUREFLOW_H +#define PICTUREFLOW_H + +#include + +class PictureFlowPrivate; + +/*! + Class PictureFlow implements an image show widget with animation effect + like Apple's CoverFlow (in iTunes and iPod). Images are arranged in form + of slides, one main slide is shown at the center with few slides on + the left and right sides of the center slide. When the next or previous + slide is brought to the front, the whole slides flow to the right or + the right with smooth animation effect; until the new slide is finally + placed at the center. + + */ +class PictureFlow : public QWidget +{ +Q_OBJECT + + Q_PROPERTY(int slideCount READ slideCount WRITE setSlideCount) + Q_PROPERTY(int currentSlide READ currentSlide WRITE setCurrentSlide) + Q_PROPERTY(QSize slideSize READ slideSize WRITE setSlideSize) + Q_PROPERTY(int zoomFactor READ zoomFactor WRITE setZoomFactor) + +public: + /*! + Creates a new PictureFlow widget. + */ + PictureFlow(QWidget* parent = 0); + + /*! + Destroys the widget. + */ + ~PictureFlow(); + + /*! + Returns the total number of slides. + */ + int slideCount() const; + + /*! + Sets the total number of slides. + */ + void setSlideCount(int count); + + /*! + Returns the dimension of each slide (in pixels). + */ + QSize slideSize() const; + + /*! + Sets the dimension of each slide (in pixels). + */ + void setSlideSize(QSize size); + + /*! + Sets the zoom factor (in percent). + */ + void setZoomFactor(int zoom); + + /*! + Returns the zoom factor (in percent). + */ + int zoomFactor() const; + + /*! + Clears any caches held to free up memory + */ + void clearCaches(); + + /*! + Returns QImage of specified slide. + This function will be called only whenever necessary, e.g. the 100th slide + will not be retrived when only the first few slides are visible. + */ + virtual QImage slide(int index) const; + + /*! + Sets an image for specified slide. If the slide already exists, + it will be replaced. + */ + virtual void setSlide(int index, const QImage& image); + + virtual void setSlideCaption(int index, QString caption); + + /*! + Sets a pixmap for specified slide. If the slide already exists, + it will be replaced. + */ + virtual void setSlide(int index, const QPixmap& pixmap); + + /*! + Returns the index of slide currently shown in the middle of the viewport. + */ + int currentSlide() const; + +public slots: + + /*! + Sets slide to be shown in the middle of the viewport. No animation + effect will be produced, unlike using showSlide. + */ + void setCurrentSlide(int index); + + /*! + Clears images of all slides. + */ + void clear(); + + /*! + Rerender the widget. Normally this function will be automatically invoked + whenever necessary, e.g. during the transition animation. + */ + void render(); + + /*! + Shows previous slide using animation effect. + */ + void showPrevious(); + + /*! + Shows next slide using animation effect. + */ + void showNext(); + + /*! + Go to specified slide using animation effect. + */ + void showSlide(int index); + +signals: + void itemActivated(int index); + void inputReceived(); + +protected: + void paintEvent(QPaintEvent *event); + void keyPressEvent(QKeyEvent* event); + void mouseMoveEvent(QMouseEvent* event); + void mousePressEvent(QMouseEvent* event); + void mouseReleaseEvent(QMouseEvent* event); + void resizeEvent(QResizeEvent* event); + void timerEvent(QTimerEvent* event); + +private: + PictureFlowPrivate* d; +}; + +#endif // PICTUREFLOW_H diff --git a/demos/embedded/fluidlauncher/screenshots/concentriccircles.png b/demos/embedded/fluidlauncher/screenshots/concentriccircles.png new file mode 100644 index 0000000..fd308b5 Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/concentriccircles.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/deform.png b/demos/embedded/fluidlauncher/screenshots/deform.png new file mode 100644 index 0000000..c22f2ae Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/deform.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/elasticnodes.png b/demos/embedded/fluidlauncher/screenshots/elasticnodes.png new file mode 100644 index 0000000..bc157e5 Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/elasticnodes.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png b/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png new file mode 100644 index 0000000..522f13b Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/mediaplayer.png b/demos/embedded/fluidlauncher/screenshots/mediaplayer.png new file mode 100644 index 0000000..1304a19 Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/mediaplayer.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/pathstroke.png b/demos/embedded/fluidlauncher/screenshots/pathstroke.png new file mode 100644 index 0000000..c3d727e Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/pathstroke.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/styledemo.png b/demos/embedded/fluidlauncher/screenshots/styledemo.png new file mode 100644 index 0000000..669c488 Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/styledemo.png differ diff --git a/demos/embedded/fluidlauncher/screenshots/wiggly.png b/demos/embedded/fluidlauncher/screenshots/wiggly.png new file mode 100644 index 0000000..b20fbc4 Binary files /dev/null and b/demos/embedded/fluidlauncher/screenshots/wiggly.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_1.png b/demos/embedded/fluidlauncher/slides/demo_1.png new file mode 100644 index 0000000..d2952e5 Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_1.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_2.png b/demos/embedded/fluidlauncher/slides/demo_2.png new file mode 100644 index 0000000..1899825 Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_2.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_3.png b/demos/embedded/fluidlauncher/slides/demo_3.png new file mode 100644 index 0000000..8369bc0 Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_3.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_4.png b/demos/embedded/fluidlauncher/slides/demo_4.png new file mode 100644 index 0000000..377e369 Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_4.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_5.png b/demos/embedded/fluidlauncher/slides/demo_5.png new file mode 100644 index 0000000..239f08a Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_5.png differ diff --git a/demos/embedded/fluidlauncher/slides/demo_6.png b/demos/embedded/fluidlauncher/slides/demo_6.png new file mode 100644 index 0000000..0addf37 Binary files /dev/null and b/demos/embedded/fluidlauncher/slides/demo_6.png differ diff --git a/demos/embedded/fluidlauncher/slideshow.cpp b/demos/embedded/fluidlauncher/slideshow.cpp new file mode 100644 index 0000000..8f643b4 --- /dev/null +++ b/demos/embedded/fluidlauncher/slideshow.cpp @@ -0,0 +1,233 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include + + +#include "slideshow.h" + + +class SlideShowPrivate +{ +public: + SlideShowPrivate(); + + int currentSlide; + int slideInterval; + QBasicTimer interSlideTimer; + QStringList imagePaths; + + void showNextSlide(); +}; + + + +SlideShowPrivate::SlideShowPrivate() +{ + currentSlide = 0; + slideInterval = 10000; // Default to 10 sec interval +} + + +void SlideShowPrivate::showNextSlide() +{ + currentSlide++; + if (currentSlide >= imagePaths.size()) + currentSlide = 0; +} + + + +SlideShow::SlideShow() +{ + d = new SlideShowPrivate; + + setAttribute(Qt::WA_StaticContents, true); + setAttribute(Qt::WA_OpaquePaintEvent, true); + setAttribute(Qt::WA_NoSystemBackground, true); + + setMouseTracking(true); +} + + +SlideShow::~SlideShow() +{ + delete d; +} + + +void SlideShow::addImageDir(QString dirName) +{ + QDir dir(dirName); + + QStringList fileNames = dir.entryList(QDir::Files | QDir::Readable, QDir::Name); + + for (int i=0; iimagePaths << dir.absoluteFilePath(fileNames[i]); +} + +void SlideShow::addImage(QString filename) +{ + d->imagePaths << filename; +} + + +void SlideShow::clearImages() +{ + d->imagePaths.clear(); +} + + +void SlideShow::startShow() +{ + showFullScreen(); + d->interSlideTimer.start(d->slideInterval, this); + d->showNextSlide(); + update(); +} + + +void SlideShow::stopShow() +{ + hide(); + d->interSlideTimer.stop(); +} + + +int SlideShow::slideInterval() +{ + return d->slideInterval; +} + +void SlideShow::setSlideInterval(int val) +{ + d->slideInterval = val; +} + + +void SlideShow::timerEvent(QTimerEvent* event) +{ + Q_UNUSED(event); + d->showNextSlide(); + update(); +} + + +void SlideShow::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing, false); + + if (d->imagePaths.size() > 0) { + QPixmap slide = QPixmap(d->imagePaths[d->currentSlide]); + QSize slideSize = slide.size(); + QSize scaledSize = QSize(qMin(slideSize.width(), size().width()), + qMin(slideSize.height(), size().height())); + if (slideSize != scaledSize) + slide = slide.scaled(scaledSize, Qt::KeepAspectRatio); + + QRect pixmapRect(qMax( (size().width() - slide.width())/2, 0), + qMax( (size().height() - slide.height())/2, 0), + slide.width(), + slide.height()); + + if (pixmapRect.top() > 0) { + // Fill in top & bottom rectangles: + painter.fillRect(0, 0, size().width(), pixmapRect.top(), Qt::black); + painter.fillRect(0, pixmapRect.bottom(), size().width(), size().height(), Qt::black); + } + + if (pixmapRect.left() > 0) { + // Fill in left & right rectangles: + painter.fillRect(0, 0, pixmapRect.left(), size().height(), Qt::black); + painter.fillRect(pixmapRect.right(), 0, size().width(), size().height(), Qt::black); + } + + painter.drawPixmap(pixmapRect, slide); + + } else + painter.fillRect(event->rect(), Qt::black); +} + + +void SlideShow::keyPressEvent(QKeyEvent* event) +{ + Q_UNUSED(event); + emit inputReceived(); +} + + +void SlideShow::mouseMoveEvent(QMouseEvent* event) +{ + Q_UNUSED(event); + emit inputReceived(); +} + + +void SlideShow::mousePressEvent(QMouseEvent* event) +{ + Q_UNUSED(event); + emit inputReceived(); +} + + +void SlideShow::mouseReleaseEvent(QMouseEvent* event) +{ + Q_UNUSED(event); + emit inputReceived(); +} + + +void SlideShow::showEvent(QShowEvent * event ) +{ + Q_UNUSED(event); +#ifndef QT_NO_CURSOR + setCursor(Qt::BlankCursor); +#endif +} + diff --git a/demos/embedded/fluidlauncher/slideshow.h b/demos/embedded/fluidlauncher/slideshow.h new file mode 100644 index 0000000..27fb87b --- /dev/null +++ b/demos/embedded/fluidlauncher/slideshow.h @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SLIDESHOW_H +#define SLIDESHOW_H + +#include + +class SlideShowPrivate; + +class SlideShow : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(int slideInterval READ slideInterval WRITE setSlideInterval) + +public: + SlideShow(); + ~SlideShow(); + void addImage(QString filename); + void addImageDir(QString dirName); + void clearImages(); + void startShow(); + void stopShow(); + + + int slideInterval(); + void setSlideInterval(int val); + +signals: + void inputReceived(); + +protected: + void paintEvent(QPaintEvent *event); + void keyPressEvent(QKeyEvent* event); + void mouseMoveEvent(QMouseEvent* event); + void mousePressEvent(QMouseEvent* event); + void mouseReleaseEvent(QMouseEvent* event); + void timerEvent(QTimerEvent* event); + void showEvent(QShowEvent * event ); + + +private: + SlideShowPrivate* d; +}; + + + + + + + + + + + + + +#endif diff --git a/demos/embedded/styledemo/files/add.png b/demos/embedded/styledemo/files/add.png new file mode 100755 index 0000000..fc5c16d Binary files /dev/null and b/demos/embedded/styledemo/files/add.png differ diff --git a/demos/embedded/styledemo/files/application.qss b/demos/embedded/styledemo/files/application.qss new file mode 100644 index 0000000..a632ad1 --- /dev/null +++ b/demos/embedded/styledemo/files/application.qss @@ -0,0 +1,125 @@ +QWidget#StyleWidget +{ + background-color: none; + background-image: url(icons:nature_1.jpg); +} + +QLabel, QAbstractButton +{ + font: 18px bold; + color: beige; +} + +QAbstractButton +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(173,216,230,60%), stop:1 rgba(0,0,139,60%) ); + border-color: black; + border-style: solid; + border-width: 3px; + border-radius: 6px; +} + +QAbstractButton:pressed, QAbstractButton:checked +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0,0,139,60%), stop:1 rgba(173,216,230,60%) ); +} + +QSpinBox { + padding-left: 24px; + padding-right: 24px; + border-color: darkkhaki; + border-style: solid; + border-radius: 5; + border-width: 3; +} + +QSpinBox::up-button +{ + subcontrol-origin: padding; + subcontrol-position: right; /* position at the top right corner */ + width: 24px; + height: 24px; + border-width: 3px; + +} + +QSpinBox::up-arrow +{ + image: url(icons:add.png); + width: 18px; + height: 18px; +} + + +QSpinBox::down-button +{ + subcontrol-origin: border; + subcontrol-position: left; + width: 24px; + height: 24px; + border-width: 3px; +} + +QSpinBox::down-arrow +{ + image: url(icons:remove.png); + width: 18px; + height: 18px; +} + + +QScrollBar:horizontal +{ + border: 1px solid black; + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0,0,139,60%), stop:1 rgba(173,216,230,60%) ); + height: 15px; + margin: 0px 20px 0 20px; +} + +QScrollBar::handle:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + min-width: 20px; +} + +QScrollBar::add-line:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + width: 20px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + width: 20px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal +{ + border: none; + width: 16px; + height: 16px; +} + +QScrollBar:left-arrow:horizontal +{ + image: url(icons:add.png) +} + +QScrollBar::right-arrow:horizontal +{ + image: url(icons:remove.png) +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal +{ + background: none; +} + diff --git a/demos/embedded/styledemo/files/blue.qss b/demos/embedded/styledemo/files/blue.qss new file mode 100644 index 0000000..aa87277 --- /dev/null +++ b/demos/embedded/styledemo/files/blue.qss @@ -0,0 +1,39 @@ +* +{ + color: beige; +} + +QLabel, QAbstractButton +{ + font: 10pt bold; + color: yellow; +} + +QFrame +{ + background-color: rgba(96,96,255,60%); + border-color: rgb(32,32,196); + border-width: 3px; + border-style: solid; + border-radius: 5; + padding: 3px; +} + +QAbstractButton +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 lightblue, stop:0.5 darkblue); + border-width: 3px; + border-color: darkblue; + border-style: solid; + border-radius: 5; + padding: 3px; + qproperty-focusPolicy: NoFocus; +} + +QAbstractButton:pressed +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0.5 darkblue, stop:1 lightblue); + border-color: beige; +} diff --git a/demos/embedded/styledemo/files/khaki.qss b/demos/embedded/styledemo/files/khaki.qss new file mode 100644 index 0000000..9c0f77c --- /dev/null +++ b/demos/embedded/styledemo/files/khaki.qss @@ -0,0 +1,100 @@ + +QWidget#StartScreen, QWidget#MainWidget { + border: none; +} + +QWidget#StartScreen, .QFrame { + background-color: beige; +} + +QPushButton, QToolButton { + background-color: palegoldenrod; + border-width: 2px; + border-color: darkkhaki; + border-style: solid; + border-radius: 5; + padding: 3px; + /* min-width: 96px; */ + /* min-height: 48px; */ + qproperty-focusPolicy: NoFocus +} + +QPushButton:hover, QToolButton:hover { + background-color: khaki; +} + +QPushButton:pressed, QToolButton:pressed { + padding-left: 5px; + padding-top: 5px; + background-color: #d0d67c; +} + +QLabel, QAbstractButton { + font: italic 11pt "Times New Roman"; +} + +QFrame, QLabel#title { + border-width: 2px; + padding: 1px; + border-style: solid; + border-color: darkkhaki; + border-radius: 5px; +} + +QFrame:focus { + border-width: 3px; + padding: 0px; +} + + +QLabel { + border: none; + padding: 0; + background: none; +} + +QLabel#title { + font: 32px bold; +} + +QSpinBox { + padding-left: 24px; + padding-right: 24px; + border-color: darkkhaki; + border-style: solid; + border-radius: 5; + border-width: 3; +} + +QSpinBox::up-button +{ + subcontrol-origin: padding; + subcontrol-position: right; /* position at the top right corner */ + width: 24px; + height: 24px; + border-width: 3px; + border-image: url(:/files/spindownpng) 1; +} + +QSpinBox::up-arrow { + image: url(:/files/add.png); + width: 12px; + height: 12px; + } + + +QSpinBox::down-button +{ + subcontrol-origin: border; + subcontrol-position: left; + width: 24px; + height: 24px; + border-width: 3px; + border-image: url(:/files/spindownpng) 1; +} + +QSpinBox::down-arrow { + image: url(:/files/remove.png); + width: 12px; + height: 12px; + } diff --git a/demos/embedded/styledemo/files/nature_1.jpg b/demos/embedded/styledemo/files/nature_1.jpg new file mode 100644 index 0000000..3a04edb Binary files /dev/null and b/demos/embedded/styledemo/files/nature_1.jpg differ diff --git a/demos/embedded/styledemo/files/nostyle.qss b/demos/embedded/styledemo/files/nostyle.qss new file mode 100644 index 0000000..e69de29 diff --git a/demos/embedded/styledemo/files/remove.png b/demos/embedded/styledemo/files/remove.png new file mode 100755 index 0000000..a0ab1fa Binary files /dev/null and b/demos/embedded/styledemo/files/remove.png differ diff --git a/demos/embedded/styledemo/files/transparent.qss b/demos/embedded/styledemo/files/transparent.qss new file mode 100644 index 0000000..e3a9912 --- /dev/null +++ b/demos/embedded/styledemo/files/transparent.qss @@ -0,0 +1,140 @@ +QWidget#StyleWidget +{ + background-color: none; + background-image: url(:/files/nature_1.jpg); +} + +QLabel, QAbstractButton +{ + font: 13pt; + color: beige; +} + +QFrame, QLabel#title { + border-width: 2px; + padding: 1px; + border-style: solid; + border-color: black; + border-radius: 5px; +} + +QFrame:focus { + border-width: 3px; + padding: 0px; +} + + + +QAbstractButton +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(173,216,230,60%), stop:1 rgba(0,0,139,60%) ); + border-color: black; + border-style: solid; + border-width: 3px; + border-radius: 6px; +} + +QAbstractButton:pressed, QAbstractButton:checked +{ + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0,0,139,60%), stop:1 rgba(173,216,230,60%) ); +} + +QSpinBox { + padding-left: 24px; + padding-right: 24px; + border-color: darkkhaki; + border-style: solid; + border-radius: 5; + border-width: 3; +} + +QSpinBox::up-button +{ + subcontrol-origin: padding; + subcontrol-position: right; /* position at the top right corner */ + width: 24px; + height: 24px; + border-width: 3px; + +} + +QSpinBox::up-arrow +{ + image: url(:/files/add.png); + width: 18px; + height: 18px; +} + + +QSpinBox::down-button +{ + subcontrol-origin: border; + subcontrol-position: left; + width: 24px; + height: 24px; + border-width: 3px; +} + +QSpinBox::down-arrow +{ + image: url(:/files/remove.png); + width: 18px; + height: 18px; +} + + +QScrollBar:horizontal +{ + border: 1px solid black; + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0,0,139,60%), stop:1 rgba(173,216,230,60%) ); + height: 15px; + margin: 0px 20px 0 20px; +} + +QScrollBar::handle:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + min-width: 20px; +} + +QScrollBar::add-line:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + width: 20px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal +{ + border: 1px solid black; + background: rgba(0,0,139,60%); + width: 20px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal +{ + border: none; + width: 16px; + height: 16px; +} + +QScrollBar:left-arrow:horizontal +{ + image: url(:/files/add.png) +} + +QScrollBar::right-arrow:horizontal +{ + image: url(:/files/remove.png) +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal +{ + background: none; +} + diff --git a/demos/embedded/styledemo/main.cpp b/demos/embedded/styledemo/main.cpp new file mode 100644 index 0000000..6a7472e --- /dev/null +++ b/demos/embedded/styledemo/main.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include + +#include "stylewidget.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + Q_INIT_RESOURCE(styledemo); + + app.setApplicationName("style"); + app.setOrganizationName("Trolltech"); + app.setOrganizationDomain("com.trolltech"); + + StyleWidget widget; + widget.showFullScreen(); + + return app.exec(); +} + diff --git a/demos/embedded/styledemo/styledemo.pro b/demos/embedded/styledemo/styledemo.pro new file mode 100644 index 0000000..ee5e4d6 --- /dev/null +++ b/demos/embedded/styledemo/styledemo.pro @@ -0,0 +1,12 @@ +TEMPLATE = app + +# Input +HEADERS += stylewidget.h +FORMS += stylewidget.ui +SOURCES += main.cpp stylewidget.cpp +RESOURCES += styledemo.qrc + +target.path = $$[QT_INSTALL_DEMOS]/embedded/styledemo +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/embedded/styledemo +INSTALLS += target sources diff --git a/demos/embedded/styledemo/styledemo.qrc b/demos/embedded/styledemo/styledemo.qrc new file mode 100644 index 0000000..96237d4 --- /dev/null +++ b/demos/embedded/styledemo/styledemo.qrc @@ -0,0 +1,13 @@ + + + files/add.png + files/blue.qss + files/khaki.qss + files/nostyle.qss + files/transparent.qss + files/application.qss + files/nature_1.jpg + files/remove.png + + + diff --git a/demos/embedded/styledemo/stylewidget.cpp b/demos/embedded/styledemo/stylewidget.cpp new file mode 100644 index 0000000..304dd36 --- /dev/null +++ b/demos/embedded/styledemo/stylewidget.cpp @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include +#include +#include + +#include "stylewidget.h" + + + +StyleWidget::StyleWidget(QWidget *parent) + : QFrame(parent) +{ + m_ui.setupUi(this); +} + + +void StyleWidget::on_close_clicked() +{ + close(); +} + +void StyleWidget::on_blueStyle_clicked() +{ + QFile styleSheet(":/files/blue.qss"); + + if (!styleSheet.open(QIODevice::ReadOnly)) { + qWarning("Unable to open :/files/blue.qss"); + return; + } + + qApp->setStyleSheet(styleSheet.readAll()); +} + +void StyleWidget::on_khakiStyle_clicked() +{ + QFile styleSheet(":/files/khaki.qss"); + + if (!styleSheet.open(QIODevice::ReadOnly)) { + qWarning("Unable to open :/files/khaki.qss"); + return; + } + + qApp->setStyleSheet(styleSheet.readAll()); +} + + +void StyleWidget::on_noStyle_clicked() +{ + QFile styleSheet(":/files/nostyle.qss"); + + if (!styleSheet.open(QIODevice::ReadOnly)) { + qWarning("Unable to open :/files/nostyle.qss"); + return; + } + + qApp->setStyleSheet(styleSheet.readAll()); +} + + +void StyleWidget::on_transparentStyle_clicked() +{ + QFile styleSheet(":/files/transparent.qss"); + + if (!styleSheet.open(QIODevice::ReadOnly)) { + qWarning("Unable to open :/files/transparent.qss"); + return; + } + + qApp->setStyleSheet(styleSheet.readAll()); +} + + + diff --git a/demos/embedded/styledemo/stylewidget.h b/demos/embedded/styledemo/stylewidget.h new file mode 100644 index 0000000..5ccb418 --- /dev/null +++ b/demos/embedded/styledemo/stylewidget.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef STYLEWIDGET_H +#define STYLEWIDGET_H + +#include + +#include "ui_stylewidget.h" + +class StyleWidget : public QFrame +{ + Q_OBJECT +public: + StyleWidget(QWidget *parent = 0); + +private: + Ui_StyleWidget m_ui; + +private slots: + void on_close_clicked(); + void on_blueStyle_clicked(); + void on_khakiStyle_clicked(); + void on_noStyle_clicked(); + void on_transparentStyle_clicked(); +}; + +#endif diff --git a/demos/embedded/styledemo/stylewidget.ui b/demos/embedded/styledemo/stylewidget.ui new file mode 100644 index 0000000..586faea --- /dev/null +++ b/demos/embedded/styledemo/stylewidget.ui @@ -0,0 +1,429 @@ + + StyleWidget + + + + 0 + 0 + 339 + 230 + + + + Form + + + + 3 + + + + + + 0 + 0 + + + + Styles + + + + 3 + + + 3 + + + + + + 0 + 0 + + + + Qt::NoFocus + + + No-Style + + + true + + + true + + + true + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Blue + + + true + + + false + + + true + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Khaki + + + true + + + false + + + true + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Transparent + + + true + + + false + + + true + + + + + + + + + + Qt::Vertical + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 3 + + + + + + + + 0 + 0 + + + + My Value is: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + + + + + + 0 + 0 + + + + + 0 + 24 + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Show Scroller + + + true + + + true + + + false + + + + + + + + 0 + 24 + + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + Enable Scroller + + + true + + + true + + + false + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 0 + 0 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::NoFocus + + + Close + + + + + + + + + + + + + horizontalScrollBar + valueChanged(int) + horizontalScrollBar_2 + setValue(int) + + + 134 + 196 + + + 523 + 193 + + + + + horizontalScrollBar_2 + valueChanged(int) + horizontalScrollBar + setValue(int) + + + 577 + 199 + + + 127 + 207 + + + + + pushButton + clicked(bool) + horizontalScrollBar_2 + setEnabled(bool) + + + 566 + 241 + + + 492 + 207 + + + + + pushButton_2 + clicked(bool) + horizontalScrollBar + setVisible(bool) + + + 123 + 239 + + + 123 + 184 + + + + + spinBox + valueChanged(int) + horizontalScrollBar_2 + setValue(int) + + + 603 + 136 + + + 575 + 199 + + + + + diff --git a/demos/embeddeddialogs/No-Ones-Laughing-3.jpg b/demos/embeddeddialogs/No-Ones-Laughing-3.jpg new file mode 100644 index 0000000..445567f Binary files /dev/null and b/demos/embeddeddialogs/No-Ones-Laughing-3.jpg differ diff --git a/demos/embeddeddialogs/customproxy.cpp b/demos/embeddeddialogs/customproxy.cpp new file mode 100644 index 0000000..ed2fc76 --- /dev/null +++ b/demos/embeddeddialogs/customproxy.cpp @@ -0,0 +1,163 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "customproxy.h" + +#include + +CustomProxy::CustomProxy(QGraphicsItem *parent, Qt::WindowFlags wFlags) + : QGraphicsProxyWidget(parent, wFlags), popupShown(false) +{ + timeLine = new QTimeLine(250, this); + connect(timeLine, SIGNAL(valueChanged(qreal)), + this, SLOT(updateStep(qreal))); + connect(timeLine, SIGNAL(stateChanged(QTimeLine::State)), + this, SLOT(stateChanged(QTimeLine::State))); +} + +QRectF CustomProxy::boundingRect() const +{ + return QGraphicsProxyWidget::boundingRect().adjusted(0, 0, 10, 10); +} + +void CustomProxy::paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget) +{ + const QColor color(0, 0, 0, 64); + + QRectF r = windowFrameRect(); + QRectF right(r.right(), r.top() + 10, 10, r.height() - 10); + QRectF bottom(r.left() + 10, r.bottom(), r.width(), 10); + bool intersectsRight = right.intersects(option->exposedRect); + bool intersectsBottom = bottom.intersects(option->exposedRect); + if (intersectsRight && intersectsBottom) { + QPainterPath path; + path.addRect(right); + path.addRect(bottom); + painter->setPen(Qt::NoPen); + painter->setBrush(color); + painter->drawPath(path); + } else if (intersectsBottom) { + painter->fillRect(bottom, color); + } else if (intersectsRight) { + painter->fillRect(right, color); + } + + QGraphicsProxyWidget::paintWindowFrame(painter, option, widget); +} + +void CustomProxy::hoverEnterEvent(QGraphicsSceneHoverEvent *event) +{ + QGraphicsProxyWidget::hoverEnterEvent(event); + scene()->setActiveWindow(this); + if (timeLine->currentValue() != 1) + zoomIn(); +} + +void CustomProxy::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) +{ + QGraphicsProxyWidget::hoverLeaveEvent(event); + if (!popupShown && (timeLine->direction() != QTimeLine::Backward || timeLine->currentValue() != 0)) + zoomOut(); +} + +bool CustomProxy::sceneEventFilter(QGraphicsItem *watched, QEvent *event) +{ + if (watched->isWindow() && (event->type() == QEvent::UngrabMouse || event->type() == QEvent::GrabMouse)) { + popupShown = watched->isVisible(); + if (!popupShown && !isUnderMouse()) + zoomOut(); + } + return QGraphicsProxyWidget::sceneEventFilter(watched, event); +} + +QVariant CustomProxy::itemChange(GraphicsItemChange change, const QVariant &value) +{ + if (change == ItemChildAddedChange || change == ItemChildRemovedChange) { + QGraphicsItem *item = qVariantValue(value); + if (change == ItemChildAddedChange) { + item->setCacheMode(ItemCoordinateCache); + item->installSceneEventFilter(this); + } else { + item->removeSceneEventFilter(this); + } + } + return QGraphicsProxyWidget::itemChange(change, value); +} + +void CustomProxy::updateStep(qreal step) +{ + QRectF r = boundingRect(); + setTransform(QTransform() + .translate(r.width() / 2, r.height() / 2) + .rotate(step * 30, Qt::XAxis) + .rotate(step * 10, Qt::YAxis) + .rotate(step * 5, Qt::ZAxis) + .scale(1 + 1.5 * step, 1 + 1.5 * step) + .translate(-r.width() / 2, -r.height() / 2)); +} + +void CustomProxy::stateChanged(QTimeLine::State state) +{ + if (state == QTimeLine::Running) { + if (timeLine->direction() == QTimeLine::Forward) + setCacheMode(ItemCoordinateCache); + } else if (state == QTimeLine::NotRunning) { + if (timeLine->direction() == QTimeLine::Backward) + setCacheMode(DeviceCoordinateCache); + } +} + +void CustomProxy::zoomIn() +{ + if (timeLine->direction() != QTimeLine::Forward) + timeLine->setDirection(QTimeLine::Forward); + if (timeLine->state() == QTimeLine::NotRunning) + timeLine->start(); +} + +void CustomProxy::zoomOut() +{ + if (timeLine->direction() != QTimeLine::Backward) + timeLine->setDirection(QTimeLine::Backward); + if (timeLine->state() == QTimeLine::NotRunning) + timeLine->start(); +} diff --git a/demos/embeddeddialogs/customproxy.h b/demos/embeddeddialogs/customproxy.h new file mode 100644 index 0000000..0a5fbaf --- /dev/null +++ b/demos/embeddeddialogs/customproxy.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef CUSTOMPROXY_H +#define CUSTOMPROXY_H + +#include +#include + +class CustomProxy : public QGraphicsProxyWidget +{ + Q_OBJECT +public: + CustomProxy(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); + + QRectF boundingRect() const; + void paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget); + +protected: + void hoverEnterEvent(QGraphicsSceneHoverEvent *event); + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + bool sceneEventFilter(QGraphicsItem *watched, QEvent *event); + QVariant itemChange(GraphicsItemChange change, const QVariant &value); + +private slots: + void updateStep(qreal step); + void stateChanged(QTimeLine::State); + void zoomIn(); + void zoomOut(); + +private: + QTimeLine *timeLine; + bool popupShown; +}; + +#endif diff --git a/demos/embeddeddialogs/embeddeddialog.cpp b/demos/embeddeddialogs/embeddeddialog.cpp new file mode 100644 index 0000000..40f361c --- /dev/null +++ b/demos/embeddeddialogs/embeddeddialog.cpp @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "embeddeddialog.h" +#include "ui_embeddeddialog.h" + +#include + +EmbeddedDialog::EmbeddedDialog(QWidget *parent) + : QDialog(parent) +{ + ui = new Ui_embeddedDialog; + ui->setupUi(this); + ui->layoutDirection->setCurrentIndex(layoutDirection() != Qt::LeftToRight); + + foreach (QString styleName, QStyleFactory::keys()) { + ui->style->addItem(styleName); + if (style()->objectName().toLower() == styleName.toLower()) + ui->style->setCurrentIndex(ui->style->count() - 1); + } + + connect(ui->layoutDirection, SIGNAL(activated(int)), + this, SLOT(layoutDirectionChanged(int))); + connect(ui->spacing, SIGNAL(valueChanged(int)), + this, SLOT(spacingChanged(int))); + connect(ui->fontComboBox, SIGNAL(currentFontChanged(const QFont &)), + this, SLOT(fontChanged(const QFont &))); + connect(ui->style, SIGNAL(activated(QString)), + this, SLOT(styleChanged(QString))); +} + +EmbeddedDialog::~EmbeddedDialog() +{ + delete ui; +} + +void EmbeddedDialog::layoutDirectionChanged(int index) +{ + setLayoutDirection(index == 0 ? Qt::LeftToRight : Qt::RightToLeft); +} + +void EmbeddedDialog::spacingChanged(int spacing) +{ + layout()->setSpacing(spacing); + adjustSize(); +} + +void EmbeddedDialog::fontChanged(const QFont &font) +{ + setFont(font); +} + +static void setStyleHelper(QWidget *widget, QStyle *style) +{ + widget->setStyle(style); + widget->setPalette(style->standardPalette()); + foreach (QObject *child, widget->children()) { + if (QWidget *childWidget = qobject_cast(child)) + setStyleHelper(childWidget, style); + } +} + +void EmbeddedDialog::styleChanged(const QString &styleName) +{ + QStyle *style = QStyleFactory::create(styleName); + if (style) + setStyleHelper(this, style); +} diff --git a/demos/embeddeddialogs/embeddeddialog.h b/demos/embeddeddialogs/embeddeddialog.h new file mode 100644 index 0000000..787196c --- /dev/null +++ b/demos/embeddeddialogs/embeddeddialog.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef EMBEDDEDDIALOG_H +#define EMBEDDEDDIALOG_H + +#include + +QT_FORWARD_DECLARE_CLASS(Ui_embeddedDialog); + +class EmbeddedDialog : public QDialog +{ + Q_OBJECT +public: + EmbeddedDialog(QWidget *parent = 0); + ~EmbeddedDialog(); + +private slots: + void layoutDirectionChanged(int index); + void spacingChanged(int spacing); + void fontChanged(const QFont &font); + void styleChanged(const QString &styleName); + +private: + Ui_embeddedDialog *ui; +}; + +#endif diff --git a/demos/embeddeddialogs/embeddeddialog.ui b/demos/embeddeddialogs/embeddeddialog.ui new file mode 100644 index 0000000..f967b10 --- /dev/null +++ b/demos/embeddeddialogs/embeddeddialog.ui @@ -0,0 +1,87 @@ + + embeddedDialog + + + + 0 + 0 + 407 + 134 + + + + Embedded Dialog + + + + + + Layout Direction: + + + layoutDirection + + + + + + + + Left to Right + + + + + Right to Left + + + + + + + + Select Font: + + + fontComboBox + + + + + + + + + + Style: + + + style + + + + + + + + + + Layout spacing: + + + spacing + + + + + + + Qt::Horizontal + + + + + + + + diff --git a/demos/embeddeddialogs/embeddeddialogs.pro b/demos/embeddeddialogs/embeddeddialogs.pro new file mode 100644 index 0000000..a38e3e8 --- /dev/null +++ b/demos/embeddeddialogs/embeddeddialogs.pro @@ -0,0 +1,17 @@ +SOURCES += main.cpp +SOURCES += customproxy.cpp embeddeddialog.cpp +HEADERS += customproxy.h embeddeddialog.h + +FORMS += embeddeddialog.ui +RESOURCES += embeddeddialogs.qrc + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/embeddeddialogs +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.png *.jpg *.plist *.icns *.ico *.rc *.pro *.html *.doc images +sources.path = $$[QT_INSTALL_DEMOS]/embeddeddialogs +INSTALLS += target sources diff --git a/demos/embeddeddialogs/embeddeddialogs.qrc b/demos/embeddeddialogs/embeddeddialogs.qrc new file mode 100644 index 0000000..33be503 --- /dev/null +++ b/demos/embeddeddialogs/embeddeddialogs.qrc @@ -0,0 +1,5 @@ + + + No-Ones-Laughing-3.jpg + + diff --git a/demos/embeddeddialogs/main.cpp b/demos/embeddeddialogs/main.cpp new file mode 100644 index 0000000..cfb31c4 --- /dev/null +++ b/demos/embeddeddialogs/main.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "customproxy.h" +#include "embeddeddialog.h" + +#include + +int main(int argc, char *argv[]) +{ + Q_INIT_RESOURCE(embeddeddialogs); + QApplication app(argc, argv); + + QGraphicsScene scene; + scene.setStickyFocus(true); +#ifndef Q_OS_WINCE + const int gridSize = 10; +#else + const int gridSize = 5; +#endif + + for (int y = 0; y < gridSize; ++y) { + for (int x = 0; x < gridSize; ++x) { + CustomProxy *proxy = new CustomProxy(0, Qt::Window); + proxy->setWidget(new EmbeddedDialog); + + QRectF rect = proxy->boundingRect(); + + proxy->setPos(x * rect.width() * 1.05, y * rect.height() * 1.05); + proxy->setCacheMode(QGraphicsItem::DeviceCoordinateCache); + + scene.addItem(proxy); + } + } + scene.setSceneRect(scene.itemsBoundingRect()); + + QGraphicsView view(&scene); + view.scale(0.5, 0.5); + view.setRenderHints(view.renderHints() | QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + view.setBackgroundBrush(QPixmap(":/No-Ones-Laughing-3.jpg")); + view.setCacheMode(QGraphicsView::CacheBackground); + view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); + view.show(); + view.setWindowTitle("Embedded Dialogs Demo"); + return app.exec(); +} diff --git a/demos/gradients/gradients.cpp b/demos/gradients/gradients.cpp new file mode 100644 index 0000000..6256ba9 --- /dev/null +++ b/demos/gradients/gradients.cpp @@ -0,0 +1,516 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "gradients.h" +#include "hoverpoints.h" + +ShadeWidget::ShadeWidget(ShadeType type, QWidget *parent) + : QWidget(parent), m_shade_type(type), m_alpha_gradient(QLinearGradient(0, 0, 0, 0)) +{ + + // Checkers background + if (m_shade_type == ARGBShade) { + QPixmap pm(20, 20); + QPainter pmp(&pm); + pmp.fillRect(0, 0, 10, 10, Qt::lightGray); + pmp.fillRect(10, 10, 10, 10, Qt::lightGray); + pmp.fillRect(0, 10, 10, 10, Qt::darkGray); + pmp.fillRect(10, 0, 10, 10, Qt::darkGray); + pmp.end(); + QPalette pal = palette(); + pal.setBrush(backgroundRole(), QBrush(pm)); + setAutoFillBackground(true); + setPalette(pal); + + } else { + setAttribute(Qt::WA_NoBackground); + + } + + QPolygonF points; + points << QPointF(0, sizeHint().height()) + << QPointF(sizeHint().width(), 0); + + m_hoverPoints = new HoverPoints(this, HoverPoints::CircleShape); +// m_hoverPoints->setConnectionType(HoverPoints::LineConnection); + m_hoverPoints->setPoints(points); + m_hoverPoints->setPointLock(0, HoverPoints::LockToLeft); + m_hoverPoints->setPointLock(1, HoverPoints::LockToRight); + m_hoverPoints->setSortType(HoverPoints::XSort); + + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + + connect(m_hoverPoints, SIGNAL(pointsChanged(const QPolygonF &)), this, SIGNAL(colorsChanged())); +} + + +QPolygonF ShadeWidget::points() const +{ + return m_hoverPoints->points(); +} + + +uint ShadeWidget::colorAt(int x) +{ + generateShade(); + + QPolygonF pts = m_hoverPoints->points(); + for (int i=1; i < pts.size(); ++i) { + if (pts.at(i-1).x() <= x && pts.at(i).x() >= x) { + QLineF l(pts.at(i-1), pts.at(i)); + l.setLength(l.length() * ((x - l.x1()) / l.dx())); + return m_shade.pixel(qRound(qMin(l.x2(), (qreal(m_shade.width() - 1)))), + qRound(qMin(l.y2(), qreal(m_shade.height() - 1)))); + } + } + return 0; +} + + +void ShadeWidget::setGradientStops(const QGradientStops &stops) +{ + if (m_shade_type == ARGBShade) { + m_alpha_gradient = QLinearGradient(0, 0, width(), 0); + + for (int i=0; isetSpacing(1); + vbox->setMargin(1); + + m_red_shade = new ShadeWidget(ShadeWidget::RedShade, this); + m_green_shade = new ShadeWidget(ShadeWidget::GreenShade, this); + m_blue_shade = new ShadeWidget(ShadeWidget::BlueShade, this); + m_alpha_shade = new ShadeWidget(ShadeWidget::ARGBShade, this); + + vbox->addWidget(m_red_shade); + vbox->addWidget(m_green_shade); + vbox->addWidget(m_blue_shade); + vbox->addWidget(m_alpha_shade); + + connect(m_red_shade, SIGNAL(colorsChanged()), this, SLOT(pointsUpdated())); + connect(m_green_shade, SIGNAL(colorsChanged()), this, SLOT(pointsUpdated())); + connect(m_blue_shade, SIGNAL(colorsChanged()), this, SLOT(pointsUpdated())); + connect(m_alpha_shade, SIGNAL(colorsChanged()), this, SLOT(pointsUpdated())); +} + + +inline static bool x_less_than(const QPointF &p1, const QPointF &p2) +{ + return p1.x() < p2.x(); +} + + +void GradientEditor::pointsUpdated() +{ + qreal w = m_alpha_shade->width(); + + QGradientStops stops; + + QPolygonF points; + + points += m_red_shade->points(); + points += m_green_shade->points(); + points += m_blue_shade->points(); + points += m_alpha_shade->points(); + + qSort(points.begin(), points.end(), x_less_than); + + for (int i=0; icolorAt(int(x))) >> 16, + (0x0000ff00 & m_green_shade->colorAt(int(x))) >> 8, + (0x000000ff & m_blue_shade->colorAt(int(x))), + (0xff000000 & m_alpha_shade->colorAt(int(x))) >> 24); + + if (x / w > 1) + return; + + stops << QGradientStop(x / w, color); + } + + m_alpha_shade->setGradientStops(stops); + + emit gradientStopsChanged(stops); +} + + +static void set_shade_points(const QPolygonF &points, ShadeWidget *shade) +{ + shade->hoverPoints()->setPoints(points); + shade->hoverPoints()->setPointLock(0, HoverPoints::LockToLeft); + shade->hoverPoints()->setPointLock(points.size() - 1, HoverPoints::LockToRight); + shade->update(); +} + +void GradientEditor::setGradientStops(const QGradientStops &stops) +{ + QPolygonF pts_red, pts_green, pts_blue, pts_alpha; + + qreal h_red = m_red_shade->height(); + qreal h_green = m_green_shade->height(); + qreal h_blue = m_blue_shade->height(); + qreal h_alpha = m_alpha_shade->height(); + + for (int i=0; iwidth(), h_red - qRed(color) * h_red / 255); + pts_green << QPointF(pos * m_green_shade->width(), h_green - qGreen(color) * h_green / 255); + pts_blue << QPointF(pos * m_blue_shade->width(), h_blue - qBlue(color) * h_blue / 255); + pts_alpha << QPointF(pos * m_alpha_shade->width(), h_alpha - qAlpha(color) * h_alpha / 255); + } + + set_shade_points(pts_red, m_red_shade); + set_shade_points(pts_green, m_green_shade); + set_shade_points(pts_blue, m_blue_shade); + set_shade_points(pts_alpha, m_alpha_shade); + +} + +GradientWidget::GradientWidget(QWidget *parent) + : QWidget(parent) +{ + setWindowTitle(tr("Gradients")); + + m_renderer = new GradientRenderer(this); + + QGroupBox *mainGroup = new QGroupBox(this); + mainGroup->setTitle(tr("Gradients")); + + QGroupBox *editorGroup = new QGroupBox(mainGroup); + editorGroup->setTitle(tr("Color Editor")); + m_editor = new GradientEditor(editorGroup); + + QGroupBox *typeGroup = new QGroupBox(mainGroup); + typeGroup->setTitle(tr("Gradient Type")); + m_linearButton = new QRadioButton(tr("Linear Gradient"), typeGroup); + m_radialButton = new QRadioButton(tr("Radial Gradient"), typeGroup); + m_conicalButton = new QRadioButton(tr("Conical Gradient"), typeGroup); + + QGroupBox *spreadGroup = new QGroupBox(mainGroup); + spreadGroup->setTitle(tr("Spread Method")); + m_padSpreadButton = new QRadioButton(tr("Pad Spread"), spreadGroup); + m_reflectSpreadButton = new QRadioButton(tr("Reflect Spread"), spreadGroup); + m_repeatSpreadButton = new QRadioButton(tr("Repeat Spread"), spreadGroup); + + QGroupBox *defaultsGroup = new QGroupBox(mainGroup); + defaultsGroup->setTitle(tr("Defaults")); + QPushButton *default1Button = new QPushButton(tr("1"), defaultsGroup); + QPushButton *default2Button = new QPushButton(tr("2"), defaultsGroup); + QPushButton *default3Button = new QPushButton(tr("3"), defaultsGroup); + QPushButton *default4Button = new QPushButton(tr("Reset"), editorGroup); + + QPushButton *showSourceButton = new QPushButton(mainGroup); + showSourceButton->setText(tr("Show Source")); +#ifdef QT_OPENGL_SUPPORT + QPushButton *enableOpenGLButton = new QPushButton(mainGroup); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(true); + enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); + if (!QGLFormat::hasOpenGL()) + enableOpenGLButton->hide(); +#endif + QPushButton *whatsThisButton = new QPushButton(mainGroup); + whatsThisButton->setText(tr("What's This?")); + whatsThisButton->setCheckable(true); + + // Layouts + QHBoxLayout *mainLayout = new QHBoxLayout(this); + mainLayout->addWidget(m_renderer); + mainLayout->addWidget(mainGroup); + + mainGroup->setFixedWidth(180); + QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); + mainGroupLayout->addWidget(editorGroup); + mainGroupLayout->addWidget(typeGroup); + mainGroupLayout->addWidget(spreadGroup); + mainGroupLayout->addWidget(defaultsGroup); + mainGroupLayout->addStretch(1); + mainGroupLayout->addWidget(showSourceButton); +#ifdef QT_OPENGL_SUPPORT + mainGroupLayout->addWidget(enableOpenGLButton); +#endif + mainGroupLayout->addWidget(whatsThisButton); + + QVBoxLayout *editorGroupLayout = new QVBoxLayout(editorGroup); + editorGroupLayout->addWidget(m_editor); + + QVBoxLayout *typeGroupLayout = new QVBoxLayout(typeGroup); + typeGroupLayout->addWidget(m_linearButton); + typeGroupLayout->addWidget(m_radialButton); + typeGroupLayout->addWidget(m_conicalButton); + + QVBoxLayout *spreadGroupLayout = new QVBoxLayout(spreadGroup); + spreadGroupLayout->addWidget(m_padSpreadButton); + spreadGroupLayout->addWidget(m_repeatSpreadButton); + spreadGroupLayout->addWidget(m_reflectSpreadButton); + + QHBoxLayout *defaultsGroupLayout = new QHBoxLayout(defaultsGroup); + defaultsGroupLayout->addWidget(default1Button); + defaultsGroupLayout->addWidget(default2Button); + defaultsGroupLayout->addWidget(default3Button); + editorGroupLayout->addWidget(default4Button); + + connect(m_editor, SIGNAL(gradientStopsChanged(const QGradientStops &)), + m_renderer, SLOT(setGradientStops(const QGradientStops &))); + + connect(m_linearButton, SIGNAL(clicked()), m_renderer, SLOT(setLinearGradient())); + connect(m_radialButton, SIGNAL(clicked()), m_renderer, SLOT(setRadialGradient())); + connect(m_conicalButton, SIGNAL(clicked()), m_renderer, SLOT(setConicalGradient())); + + connect(m_padSpreadButton, SIGNAL(clicked()), m_renderer, SLOT(setPadSpread())); + connect(m_reflectSpreadButton, SIGNAL(clicked()), m_renderer, SLOT(setReflectSpread())); + connect(m_repeatSpreadButton, SIGNAL(clicked()), m_renderer, SLOT(setRepeatSpread())); + + connect(default1Button, SIGNAL(clicked()), this, SLOT(setDefault1())); + connect(default2Button, SIGNAL(clicked()), this, SLOT(setDefault2())); + connect(default3Button, SIGNAL(clicked()), this, SLOT(setDefault3())); + connect(default4Button, SIGNAL(clicked()), this, SLOT(setDefault4())); + + connect(showSourceButton, SIGNAL(clicked()), m_renderer, SLOT(showSource())); +#ifdef QT_OPENGL_SUPPORT + connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); +#endif + connect(whatsThisButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setDescriptionEnabled(bool))); + connect(whatsThisButton, SIGNAL(clicked(bool)), + m_renderer->hoverPoints(), SLOT(setDisabled(bool))); + connect(m_renderer, SIGNAL(descriptionEnabledChanged(bool)), + whatsThisButton, SLOT(setChecked(bool))); + connect(m_renderer, SIGNAL(descriptionEnabledChanged(bool)), + m_renderer->hoverPoints(), SLOT(setDisabled(bool))); + + m_renderer->loadSourceFile(":res/gradients/gradients.cpp"); + m_renderer->loadDescription(":res/gradients/gradients.html"); + + QTimer::singleShot(50, this, SLOT(setDefault1())); +} + +void GradientWidget::setDefault(int config) +{ + QGradientStops stops; + QPolygonF points; + switch (config) { + case 1: + stops << QGradientStop(0.00, QColor::fromRgba(0)); + stops << QGradientStop(0.04, QColor::fromRgba(0xff131360)); + stops << QGradientStop(0.08, QColor::fromRgba(0xff202ccc)); + stops << QGradientStop(0.42, QColor::fromRgba(0xff93d3f9)); + stops << QGradientStop(0.51, QColor::fromRgba(0xffb3e6ff)); + stops << QGradientStop(0.73, QColor::fromRgba(0xffffffec)); + stops << QGradientStop(0.92, QColor::fromRgba(0xff5353d9)); + stops << QGradientStop(0.96, QColor::fromRgba(0xff262666)); + stops << QGradientStop(1.00, QColor::fromRgba(0)); + m_linearButton->animateClick(); + m_repeatSpreadButton->animateClick(); + break; + + case 2: + stops << QGradientStop(0.00, QColor::fromRgba(0xffffffff)); + stops << QGradientStop(0.11, QColor::fromRgba(0xfff9ffa0)); + stops << QGradientStop(0.13, QColor::fromRgba(0xfff9ff99)); + stops << QGradientStop(0.14, QColor::fromRgba(0xfff3ff86)); + stops << QGradientStop(0.49, QColor::fromRgba(0xff93b353)); + stops << QGradientStop(0.87, QColor::fromRgba(0xff264619)); + stops << QGradientStop(0.96, QColor::fromRgba(0xff0c1306)); + stops << QGradientStop(1.00, QColor::fromRgba(0)); + m_radialButton->animateClick(); + m_padSpreadButton->animateClick(); + break; + + case 3: + stops << QGradientStop(0.00, QColor::fromRgba(0)); + stops << QGradientStop(0.10, QColor::fromRgba(0xffe0cc73)); + stops << QGradientStop(0.17, QColor::fromRgba(0xffc6a006)); + stops << QGradientStop(0.46, QColor::fromRgba(0xff600659)); + stops << QGradientStop(0.72, QColor::fromRgba(0xff0680ac)); + stops << QGradientStop(0.92, QColor::fromRgba(0xffb9d9e6)); + stops << QGradientStop(1.00, QColor::fromRgba(0)); + m_conicalButton->animateClick(); + m_padSpreadButton->animateClick(); + break; + + case 4: + stops << QGradientStop(0.00, QColor::fromRgba(0xff000000)); + stops << QGradientStop(1.00, QColor::fromRgba(0xffffffff)); + break; + + default: + qWarning("bad default: %d\n", config); + break; + } + + QPolygonF pts; + int h_off = m_renderer->width() / 10; + int v_off = m_renderer->height() / 8; + pts << QPointF(m_renderer->width() / 2, m_renderer->height() / 2) + << QPointF(m_renderer->width() / 2 - h_off, m_renderer->height() / 2 - v_off); + + m_editor->setGradientStops(stops); + m_renderer->hoverPoints()->setPoints(pts); + m_renderer->setGradientStops(stops); +} + + +GradientRenderer::GradientRenderer(QWidget *parent) + : ArthurFrame(parent) +{ + m_hoverPoints = new HoverPoints(this, HoverPoints::CircleShape); + m_hoverPoints->setPointSize(QSize(20, 20)); + m_hoverPoints->setConnectionType(HoverPoints::NoConnection); + m_hoverPoints->setEditable(false); + + QVector points; + points << QPointF(100, 100) << QPointF(200, 200); + m_hoverPoints->setPoints(points); + + m_spread = QGradient::PadSpread; + m_gradientType = Qt::LinearGradientPattern; +} + +void GradientRenderer::setGradientStops(const QGradientStops &stops) +{ + m_stops = stops; + update(); +} + + +void GradientRenderer::mousePressEvent(QMouseEvent *) +{ + setDescriptionEnabled(false); +} + +void GradientRenderer::paint(QPainter *p) +{ + QPolygonF pts = m_hoverPoints->points(); + + QGradient g; + + if (m_gradientType == Qt::LinearGradientPattern) { + g = QLinearGradient(pts.at(0), pts.at(1)); + + } else if (m_gradientType == Qt::RadialGradientPattern) { + g = QRadialGradient(pts.at(0), qMin(width(), height()) / 3.0, pts.at(1)); + + } else { + QLineF l(pts.at(0), pts.at(1)); + qreal angle = l.angle(QLineF(0, 0, 1, 0)); + if (l.dy() > 0) + angle = 360 - angle; + g = QConicalGradient(pts.at(0), angle); + } + + for (int i=0; isetBrush(g); + p->setPen(Qt::NoPen); + + p->drawRect(rect()); + +} diff --git a/demos/gradients/gradients.h b/demos/gradients/gradients.h new file mode 100644 index 0000000..74e8417 --- /dev/null +++ b/demos/gradients/gradients.h @@ -0,0 +1,170 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef GRADIENTS_H +#define GRADIENTS_H + +#include "arthurwidgets.h" + +#include + +class HoverPoints; + + +class ShadeWidget : public QWidget +{ + Q_OBJECT +public: + enum ShadeType { + RedShade, + GreenShade, + BlueShade, + ARGBShade + }; + + ShadeWidget(ShadeType type, QWidget *parent); + + void setGradientStops(const QGradientStops &stops); + + void paintEvent(QPaintEvent *e); + + QSize sizeHint() const { return QSize(150, 40); } + QPolygonF points() const; + + HoverPoints *hoverPoints() const { return m_hoverPoints; } + + uint colorAt(int x); + +signals: + void colorsChanged(); + +private: + void generateShade(); + + ShadeType m_shade_type; + QImage m_shade; + HoverPoints *m_hoverPoints; + QLinearGradient m_alpha_gradient; +}; + +class GradientEditor : public QWidget +{ + Q_OBJECT +public: + GradientEditor(QWidget *parent); + + void setGradientStops(const QGradientStops &stops); + +public slots: + void pointsUpdated(); + +signals: + void gradientStopsChanged(const QGradientStops &stops); + +private: + ShadeWidget *m_red_shade; + ShadeWidget *m_green_shade; + ShadeWidget *m_blue_shade; + ShadeWidget *m_alpha_shade; +}; + + +class GradientRenderer : public ArthurFrame +{ + Q_OBJECT +public: + GradientRenderer(QWidget *parent); + void paint(QPainter *p); + + QSize sizeHint() const { return QSize(400, 400); } + + HoverPoints *hoverPoints() const { return m_hoverPoints; } + void mousePressEvent(QMouseEvent *e); + +public slots: + void setGradientStops(const QGradientStops &stops); + + void setPadSpread() { m_spread = QGradient::PadSpread; update(); } + void setRepeatSpread() { m_spread = QGradient::RepeatSpread; update(); } + void setReflectSpread() { m_spread = QGradient::ReflectSpread; update(); } + + void setLinearGradient() { m_gradientType = Qt::LinearGradientPattern; update(); } + void setRadialGradient() { m_gradientType = Qt::RadialGradientPattern; update(); } + void setConicalGradient() { m_gradientType = Qt::ConicalGradientPattern; update(); } + + +private: + QGradientStops m_stops; + HoverPoints *m_hoverPoints; + + QGradient::Spread m_spread; + Qt::BrushStyle m_gradientType; +}; + + +class GradientWidget : public QWidget +{ + Q_OBJECT +public: + GradientWidget(QWidget *parent); + +public slots: + void setDefault1() { setDefault(1); } + void setDefault2() { setDefault(2); } + void setDefault3() { setDefault(3); } + void setDefault4() { setDefault(4); } + +private: + void setDefault(int i); + + GradientRenderer *m_renderer; + GradientEditor *m_editor; + + QRadioButton *m_linearButton; + QRadioButton *m_radialButton; + QRadioButton *m_conicalButton; + QRadioButton *m_padSpreadButton; + QRadioButton *m_reflectSpreadButton; + QRadioButton *m_repeatSpreadButton; + +}; + +#endif // GRADIENTS_H diff --git a/demos/gradients/gradients.html b/demos/gradients/gradients.html new file mode 100644 index 0000000..1ea2c0e --- /dev/null +++ b/demos/gradients/gradients.html @@ -0,0 +1,31 @@ + +
+

Gradients

+
+ +

In this demo we show the various types of gradients that can +be used in Qt.

+ +

There are three types of gradients: + +

    +
  • Linear gradients interpolate colors between start and end + points.
  • +
  • Radial gradients interpolate colors between a focal point and the + points on a circle surrounding it.
  • +
  • Conical gradients interpolate colors around a center point.
  • +
+ +

+ +

The panel on the right contains a color table editor that defines +the colors in the gradient. The three topmost controls determine the red, +green and blue components while the last defines the alpha of the +gradient. You can move points, and add new ones, by clicking with the left +mouse button, and remove points by clicking with the right button.

+ +

There are three default configurations available at the bottom of +the page that are provided as suggestions on how a color table could be +configured.

+ + diff --git a/demos/gradients/gradients.pro b/demos/gradients/gradients.pro new file mode 100644 index 0000000..167572b --- /dev/null +++ b/demos/gradients/gradients.pro @@ -0,0 +1,18 @@ +SOURCES += main.cpp gradients.cpp +HEADERS += gradients.h + +SHARED_FOLDER = ../shared + +include($$SHARED_FOLDER/shared.pri) + +RESOURCES += gradients.qrc +contains(QT_CONFIG, opengl) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/gradients +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/gradients +INSTALLS += target sources diff --git a/demos/gradients/gradients.qrc b/demos/gradients/gradients.qrc new file mode 100644 index 0000000..fb971eb --- /dev/null +++ b/demos/gradients/gradients.qrc @@ -0,0 +1,6 @@ + + + gradients.cpp + gradients.html + + diff --git a/demos/gradients/main.cpp b/demos/gradients/main.cpp new file mode 100644 index 0000000..f880510 --- /dev/null +++ b/demos/gradients/main.cpp @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "gradients.h" + +#include + +int main(int argc, char **argv) +{ + Q_INIT_RESOURCE(gradients); + + QApplication app(argc, argv); + + GradientWidget gradientWidget(0); + QStyle *arthurStyle = new ArthurStyle(); + gradientWidget.setStyle(arthurStyle); + QList widgets = qFindChildren(&gradientWidget); + foreach (QWidget *w, widgets) + w->setStyle(arthurStyle); + gradientWidget.show(); + + return app.exec(); +} diff --git a/demos/interview/README b/demos/interview/README new file mode 100644 index 0000000..5089442 --- /dev/null +++ b/demos/interview/README @@ -0,0 +1,2 @@ +The interview example shows the same model and selection being shared +between three different views. diff --git a/demos/interview/images/folder.png b/demos/interview/images/folder.png new file mode 100644 index 0000000..589fd2d Binary files /dev/null and b/demos/interview/images/folder.png differ diff --git a/demos/interview/images/interview.png b/demos/interview/images/interview.png new file mode 100644 index 0000000..0c3d690 Binary files /dev/null and b/demos/interview/images/interview.png differ diff --git a/demos/interview/images/services.png b/demos/interview/images/services.png new file mode 100644 index 0000000..6b2ad96 Binary files /dev/null and b/demos/interview/images/services.png differ diff --git a/demos/interview/interview.pro b/demos/interview/interview.pro new file mode 100644 index 0000000..c013755 --- /dev/null +++ b/demos/interview/interview.pro @@ -0,0 +1,18 @@ +TEMPLATE = app + +CONFIG += qt warn_on +HEADERS += model.h +SOURCES += model.cpp main.cpp +RESOURCES += interview.qrc + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/interview +sources.files = $$SOURCES $$HEADERS $$RESOURCES README *.pro images +sources.path = $$[QT_INSTALL_DEMOS]/interview +INSTALLS += target sources + diff --git a/demos/interview/interview.qrc b/demos/interview/interview.qrc new file mode 100644 index 0000000..b28ea34 --- /dev/null +++ b/demos/interview/interview.qrc @@ -0,0 +1,7 @@ + + + images/folder.png + images/services.png + images/interview.png + + diff --git a/demos/interview/main.cpp b/demos/interview/main.cpp new file mode 100644 index 0000000..9682322 --- /dev/null +++ b/demos/interview/main.cpp @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "model.h" + +#include +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + Q_INIT_RESOURCE(interview); + + QApplication app(argc, argv); + QSplitter page; + + QAbstractItemModel *data = new Model(1000, 10, &page); + QItemSelectionModel *selections = new QItemSelectionModel(data); + + QTableView *table = new QTableView; + table->setModel(data); + table->setSelectionModel(selections); + table->horizontalHeader()->setMovable(true); + table->verticalHeader()->setMovable(true); + // Set StaticContents to enable minimal repaints on resizes. + table->viewport()->setAttribute(Qt::WA_StaticContents); + page.addWidget(table); + + QTreeView *tree = new QTreeView; + tree->setModel(data); + tree->setSelectionModel(selections); + tree->setUniformRowHeights(true); + tree->header()->setStretchLastSection(false); + tree->viewport()->setAttribute(Qt::WA_StaticContents); + // Disable the focus rect to get minimal repaints when scrolling on Mac. + tree->setAttribute(Qt::WA_MacShowFocusRect, false); + page.addWidget(tree); + + QListView *list = new QListView; + list->setModel(data); + list->setSelectionModel(selections); + list->setViewMode(QListView::IconMode); + list->setSelectionMode(QAbstractItemView::ExtendedSelection); + list->setAlternatingRowColors(false); + list->viewport()->setAttribute(Qt::WA_StaticContents); + list->setAttribute(Qt::WA_MacShowFocusRect, false); + page.addWidget(list); + + page.setWindowIcon(QPixmap(":/images/interview.png")); + page.setWindowTitle("Interview"); + page.show(); + + return app.exec(); +} diff --git a/demos/interview/model.cpp b/demos/interview/model.cpp new file mode 100644 index 0000000..1d5040c --- /dev/null +++ b/demos/interview/model.cpp @@ -0,0 +1,147 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "model.h" +#include +#include + +Model::Model(int rows, int columns, QObject *parent) + : QAbstractItemModel(parent), + rc(rows), cc(columns), + tree(new QVector(rows, Node(0))) +{ + +} + +Model::~Model() +{ + delete tree; +} + +QModelIndex Model::index(int row, int column, const QModelIndex &parent) const +{ + if (row < rc && row >= 0 && column < cc && column >= 0) { + Node *p = static_cast(parent.internalPointer()); + Node *n = node(row, p); + if (n) + return createIndex(row, column, n); + } + return QModelIndex(); +} + +QModelIndex Model::parent(const QModelIndex &child) const +{ + if (child.isValid()) { + Node *n = static_cast(child.internalPointer()); + Node *p = parent(n); + if (p) + return createIndex(row(p), 0, p); + } + return QModelIndex(); +} + +int Model::rowCount(const QModelIndex &parent) const +{ + return (parent.isValid() && parent.column() != 0) ? 0 : rc; +} + +int Model::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return cc; +} + +QVariant Model::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + if (role == Qt::DisplayRole) + return "Item " + QString::number(index.row()) + ":" + QString::number(index.column()); + if (role == Qt::DecorationRole) { + if (index.column() == 0) + return iconProvider.icon(QFileIconProvider::Folder); + return iconProvider.icon(QFileIconProvider::File); + } + return QVariant(); +} + +QVariant Model::headerData(int section, Qt::Orientation orientation, int role) const +{ + static QIcon services(QPixmap(":/images/services.png")); + if (role == Qt::DisplayRole) + return QString::number(section); + if (role == Qt::DecorationRole) + return qVariantFromValue(services); + return QAbstractItemModel::headerData(section, orientation, role); +} + +bool Model::hasChildren(const QModelIndex &parent) const +{ + if (parent.isValid() && parent.column() != 0) + return false; + return rc > 0 && cc > 0; +} + +Qt::ItemFlags Model::flags(const QModelIndex &index) const +{ + if (!index.isValid()) + return 0; + return (Qt::ItemIsDragEnabled|Qt::ItemIsSelectable|Qt::ItemIsEnabled); +} + +Model::Node *Model::node(int row, Node *parent) const +{ + if (parent && !parent->children) + parent->children = new QVector(rc, Node(parent)); + QVector *v = parent ? parent->children : tree; + return const_cast(&(v->at(row))); +} + +Model::Node *Model::parent(Node *child) const +{ + return child ? child->parent : 0; +} + +int Model::row(Node *node) const +{ + const Node *first = node->parent ? &(node->parent->children->at(0)) : &(tree->at(0)); + return (node - first); +} diff --git a/demos/interview/model.h b/demos/interview/model.h new file mode 100644 index 0000000..96e6aea --- /dev/null +++ b/demos/interview/model.h @@ -0,0 +1,88 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MODEL_H +#define MODEL_H + +#include +#include +#include + +class Model : public QAbstractItemModel +{ + Q_OBJECT + +public: + Model(int rows, int columns, QObject *parent = 0); + ~Model(); + + QModelIndex index(int row, int column, const QModelIndex &parent) const; + QModelIndex parent(const QModelIndex &child) const; + + int rowCount(const QModelIndex &parent) const; + int columnCount(const QModelIndex &parent) const; + + QVariant data(const QModelIndex &index, int role) const; + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + + bool hasChildren(const QModelIndex &parent) const; + Qt::ItemFlags flags(const QModelIndex &index) const; + +private: + + struct Node + { + Node(Node *parent = 0) : parent(parent), children(0) {} + ~Node() { delete children; } + Node *parent; + QVector *children; + }; + + Node *node(int row, Node *parent) const; + Node *parent(Node *child) const; + int row(Node *node) const; + + int rc, cc; + QVector *tree; + QFileIconProvider iconProvider; +}; + +#endif diff --git a/demos/macmainwindow/macmainwindow.h b/demos/macmainwindow/macmainwindow.h new file mode 100644 index 0000000..b5e4740 --- /dev/null +++ b/demos/macmainwindow/macmainwindow.h @@ -0,0 +1,137 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef MACMAINWINDOW_H +#define MACMAINWINDOW_H + +#include + +#ifdef Q_WS_MAC + +#import + +#ifdef QT_MAC_USE_COCOA +class SearchWidget : public QMacCocoaViewContainer +{ + Q_OBJECT +public: + SearchWidget(QWidget *parent = 0); + ~SearchWidget(); + + QSize sizeHint() const; +private: +}; + +#else +#include + +// The SearchWidget class wraps a native HISearchField. +class SearchWidget : public QWidget +{ + Q_OBJECT +private: + HIViewRef searchField; + CFStringRef searchFieldText; + +public: + QSize sizeHint() const; + SearchWidget(QWidget *parent = 0); + ~SearchWidget(); +}; + +#endif + +QMenu *createMenu(QWidget *parent); + +class SearchWrapper : public QWidget +{ +Q_OBJECT +public: + SearchWrapper(QWidget *parent = 0); + QSize sizeHint() const; + QWidget *s; +}; + +class Spacer : public QWidget +{ +Q_OBJECT +public: + Spacer(QWidget *parent = 0); + QSize sizeHint() const; +}; + +class MacSplitterHandle : public QSplitterHandle +{ +Q_OBJECT +public: + MacSplitterHandle(Qt::Orientation orientation, QSplitter *parent); + void paintEvent(QPaintEvent *); + QSize sizeHint() const; +}; + +class MacSplitter : public QSplitter +{ +public: + QSplitterHandle *createHandle(); +}; + +class MacMainWindow : public QMainWindow +{ +Q_OBJECT +public: + MacMainWindow(); + ~MacMainWindow(); + QAbstractItemModel *createItemModel(); + void resizeEvent(QResizeEvent *e); + QAbstractItemModel *createDocumentModel(); +public: + QSplitter *splitter; + QSplitter *horizontalSplitter; + QTreeView *sidebar; + QListView *documents; + QTextEdit *textedit; + QVBoxLayout *layout; + SearchWidget *searchWidget; + QToolBar * toolBar; +}; + +#endif // Q_WS_MAC + +#endif //MACMAINWINDOW_H diff --git a/demos/macmainwindow/macmainwindow.mm b/demos/macmainwindow/macmainwindow.mm new file mode 100644 index 0000000..156e793 --- /dev/null +++ b/demos/macmainwindow/macmainwindow.mm @@ -0,0 +1,347 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "macmainwindow.h" +#import +#include + + +#ifdef Q_WS_MAC + +#include + +#ifdef QT_MAC_USE_COCOA + +//![0] +SearchWidget::SearchWidget(QWidget *parent) + : QMacCocoaViewContainer(0, parent) +{ + // Many Cocoa objects create temporary autorelease objects, + // so create a pool to catch them. + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + // Create the NSSearchField, set it on the QCocoaViewContainer. + NSSearchField *search = [[NSSearchField alloc] init]; + setCocoaView(search); + + // Use a Qt menu for the search field menu. + QMenu *qtMenu = createMenu(this); + NSMenu *nsMenu = qtMenu->macMenu(0); + [[search cell] setSearchMenuTemplate:nsMenu]; + + // Release our reference, since our super class takes ownership and we + // don't need it anymore. + [search release]; + + // Clean up our pool as we no longer need it. + [pool release]; +} +//![0] + +SearchWidget::~SearchWidget() +{ +} + +QSize SearchWidget::sizeHint() const +{ + return QSize(150, 40); +} + +#else + +// The SearchWidget class wraps a native HISearchField. +SearchWidget::SearchWidget(QWidget *parent) + :QWidget(parent) +{ + + // Create a native search field and pass its window id to QWidget::create. + searchFieldText = CFStringCreateWithCString(0, "search", 0); + HISearchFieldCreate(NULL/*bounds*/, kHISearchFieldAttributesSearchIcon | kHISearchFieldAttributesCancel, + NULL/*menu ref*/, searchFieldText, &searchField); + create(reinterpret_cast(searchField)); + + // Use a Qt menu for the search field menu. + QMenu *searchMenu = createMenu(this); + MenuRef menuRef = searchMenu->macMenu(0); + HISearchFieldSetSearchMenu(searchField, menuRef); + setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); +} + +SearchWidget::~SearchWidget() +{ + CFRelease(searchField); + CFRelease(searchFieldText); +} + +// Get the size hint from the search field. +QSize SearchWidget::sizeHint() const +{ + EventRef event; + HIRect optimalBounds; + CreateEvent(0, kEventClassControl, + kEventControlGetOptimalBounds, + GetCurrentEventTime(), + kEventAttributeUserEvent, &event); + + SendEventToEventTargetWithOptions(event, + HIObjectGetEventTarget(HIObjectRef(winId())), + kEventTargetDontPropagate); + + GetEventParameter(event, + kEventParamControlOptimalBounds, typeHIRect, + 0, sizeof(HIRect), 0, &optimalBounds); + + ReleaseEvent(event); + return QSize(optimalBounds.size.width + 100, // make it a bit wider. + optimalBounds.size.height); +} + +#endif + +QMenu *createMenu(QWidget *parent) +{ + QMenu *searchMenu = new QMenu(parent); + + QAction * indexAction = searchMenu->addAction("Index Search"); + indexAction->setCheckable(true); + indexAction->setChecked(true); + + QAction * fulltextAction = searchMenu->addAction("Full Text Search"); + fulltextAction->setCheckable(true); + + QActionGroup *searchActionGroup = new QActionGroup(parent); + searchActionGroup->addAction(indexAction); + searchActionGroup->addAction(fulltextAction); + searchActionGroup->setExclusive(true); + + return searchMenu; +} + +SearchWrapper::SearchWrapper(QWidget *parent) +:QWidget(parent) +{ + s = new SearchWidget(this); + s->move(2,2); + setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); +} + +QSize SearchWrapper::sizeHint() const +{ + return s->sizeHint() + QSize(6, 2); +} + +Spacer::Spacer(QWidget *parent) +:QWidget(parent) +{ + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + setSizePolicy(sizePolicy); +} + +QSize Spacer::sizeHint() const +{ + return QSize(1, 1); +} + +MacSplitterHandle::MacSplitterHandle(Qt::Orientation orientation, QSplitter *parent) +: QSplitterHandle(orientation, parent) { } + +// Paint the horizontal handle as a gradient, paint +// the vertical handle as a line. +void MacSplitterHandle::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + + QColor topColor(145, 145, 145); + QColor bottomColor(142, 142, 142); + QColor gradientStart(252, 252, 252); + QColor gradientStop(223, 223, 223); + + if (orientation() == Qt::Vertical) { + painter.setPen(topColor); + painter.drawLine(0, 0, width(), 0); + painter.setPen(bottomColor); + painter.drawLine(0, height() - 1, width(), height() - 1); + + QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, height() -3)); + linearGrad.setColorAt(0, gradientStart); + linearGrad.setColorAt(1, gradientStop); + painter.fillRect(QRect(QPoint(0,1), size() - QSize(0, 2)), QBrush(linearGrad)); + } else { + painter.setPen(topColor); + painter.drawLine(0, 0, 0, height()); + } +} + +QSize MacSplitterHandle::sizeHint() const +{ + QSize parent = QSplitterHandle::sizeHint(); + if (orientation() == Qt::Vertical) { + return parent + QSize(0, 3); + } else { + return QSize(1, parent.height()); + } +} + +QSplitterHandle *MacSplitter::createHandle() +{ + return new MacSplitterHandle(orientation(), this); +} + +MacMainWindow::MacMainWindow() +{ + QSettings settings; + restoreGeometry(settings.value("Geometry").toByteArray()); + + setWindowTitle("Mac Main Window"); + + splitter = new MacSplitter(); + + // Set up the left-hand side blue side bar. + sidebar = new QTreeView(); + sidebar->setFrameStyle(QFrame::NoFrame); + sidebar->setAttribute(Qt::WA_MacShowFocusRect, false); + sidebar->setAutoFillBackground(true); + + // Set the palette. + QPalette palette = sidebar->palette(); + QColor macSidebarColor(231, 237, 246); + QColor macSidebarHighlightColor(168, 183, 205); + palette.setColor(QPalette::Base, macSidebarColor); + palette.setColor(QPalette::Highlight, macSidebarHighlightColor); + sidebar->setPalette(palette); + + sidebar->setModel(createItemModel()); + sidebar->header()->hide(); + sidebar->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + sidebar->setTextElideMode(Qt::ElideMiddle); + + splitter->addWidget(sidebar); + + horizontalSplitter = new MacSplitter(); + horizontalSplitter->setOrientation(Qt::Vertical); + splitter->addWidget(horizontalSplitter); + + splitter->setStretchFactor(0, 0); + splitter->setStretchFactor(1, 1); + + // Set up the top document list view. + documents = new QListView(); + documents->setFrameStyle(QFrame::NoFrame); + documents->setAttribute(Qt::WA_MacShowFocusRect, false); + documents->setModel(createDocumentModel()); + documents->setAlternatingRowColors(true); + documents->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + horizontalSplitter->addWidget(documents); + horizontalSplitter->setStretchFactor(0, 0); + + // Set up the text view. + textedit = new QTextEdit(); + textedit->setFrameStyle(QFrame::NoFrame); + textedit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + textedit->setText("





This demo shows how to create a \ + Qt main window application that has the same appearance as other \ + Mac OS X applications such as Mail or iTunes. This includes \ + customizing the item views and QSplitter and wrapping native widgets \ + such as the search field.
"); + + horizontalSplitter->addWidget(textedit); + + setCentralWidget(splitter); + + toolBar = addToolBar(tr("Search")); + toolBar->addWidget(new Spacer()); + toolBar->addWidget(new SearchWrapper()); + + setUnifiedTitleAndToolBarOnMac(true); +} + +MacMainWindow::~MacMainWindow() +{ + QSettings settings; + settings.setValue("Geometry", saveGeometry()); +} + +QAbstractItemModel *MacMainWindow::createItemModel() +{ + QStandardItemModel *model = new QStandardItemModel(); + QStandardItem *parentItem = model->invisibleRootItem(); + + QStandardItem *documentationItem = new QStandardItem("Documentation"); + parentItem->appendRow(documentationItem); + + QStandardItem *assistantItem = new QStandardItem("Qt MainWindow Manual"); + documentationItem->appendRow(assistantItem); + + QStandardItem *designerItem = new QStandardItem("Qt Designer Manual"); + documentationItem->appendRow(designerItem); + + QStandardItem *qtItem = new QStandardItem("Qt Reference Documentation"); + qtItem->appendRow(new QStandardItem("Classes")); + qtItem->appendRow(new QStandardItem("Overviews")); + qtItem->appendRow(new QStandardItem("Tutorial & Examples")); + documentationItem->appendRow(qtItem); + + QStandardItem *bookmarksItem = new QStandardItem("Bookmarks"); + parentItem->appendRow(bookmarksItem); + bookmarksItem->appendRow(new QStandardItem("QWidget")); + bookmarksItem->appendRow(new QStandardItem("QObject")); + bookmarksItem->appendRow(new QStandardItem("QWizard")); + + return model; +} + +void MacMainWindow::resizeEvent(QResizeEvent *) +{ + if (toolBar) + toolBar->updateGeometry(); +} + +QAbstractItemModel *MacMainWindow::createDocumentModel() +{ + QStandardItemModel *model = new QStandardItemModel(); + QStandardItem *parentItem = model->invisibleRootItem(); + parentItem->appendRow(new QStandardItem("QWidget Class Reference")); + parentItem->appendRow(new QStandardItem("QObject Class Reference")); + parentItem->appendRow(new QStandardItem("QListView Class Reference")); + + return model; +} + +#endif // Q_WS_MAC diff --git a/demos/macmainwindow/macmainwindow.pro b/demos/macmainwindow/macmainwindow.pro new file mode 100644 index 0000000..f5165a7 --- /dev/null +++ b/demos/macmainwindow/macmainwindow.pro @@ -0,0 +1,23 @@ +TEMPLATE = app +TARGET = macmainwindow + +CONFIG += qt warn_on console + +OBJECTIVE_SOURCES += macmainwindow.mm +SOURCES += main.cpp +HEADERS += macmainwindow.h + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +LIBS += -framework Cocoa + +# install +mac { +target.path = $$[QT_INSTALL_DEMOS]/macmainwindow +sources.files = $$SOURCES *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/macmainwindow +INSTALLS += target sources +} diff --git a/demos/macmainwindow/main.cpp b/demos/macmainwindow/main.cpp new file mode 100644 index 0000000..2b01cfe --- /dev/null +++ b/demos/macmainwindow/main.cpp @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "macmainwindow.h" + +#ifdef Q_WS_MAC + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + MacMainWindow mainWindow; + mainWindow.show(); + return app.exec(); +} + +#else +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + QLabel label; + label.resize(300, 200); + label.setText(" This demo requires Mac OS X."); + label.show(); + return app.exec(); +} + +#endif diff --git a/demos/mainwindow/colorswatch.cpp b/demos/mainwindow/colorswatch.cpp new file mode 100644 index 0000000..ba6a076 --- /dev/null +++ b/demos/mainwindow/colorswatch.cpp @@ -0,0 +1,746 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "colorswatch.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#undef DEBUG_SIZEHINTS + +QColor bgColorForName(const QString &name) +{ + if (name == "Black") + return QColor("#D8D8D8"); + else if (name == "White") + return QColor("#F1F1F1"); + else if (name == "Red") + return QColor("#F1D8D8"); + else if (name == "Green") + return QColor("#D8E4D8"); + else if (name == "Blue") + return QColor("#D8D8F1"); + else if (name == "Yellow") + return QColor("#F1F0D8"); + return QColor(name).light(110); +} + +QColor fgColorForName(const QString &name) +{ + if (name == "Black") + return QColor("#6C6C6C"); + else if (name == "White") + return QColor("#F8F8F8"); + else if (name == "Red") + return QColor("#F86C6C"); + else if (name == "Green") + return QColor("#6CB26C"); + else if (name == "Blue") + return QColor("#6C6CF8"); + else if (name == "Yellow") + return QColor("#F8F76C"); + return QColor(name); +} + +class ColorDock : public QFrame +{ + Q_OBJECT +public: + ColorDock(const QString &c, QWidget *parent); + + virtual QSize sizeHint() const; + virtual QSize minimumSizeHint() const; + + void setCustomSizeHint(const QSize &size); + +public slots: + void changeSizeHints(); + +protected: + void paintEvent(QPaintEvent *); + QString color; + QSize szHint, minSzHint; +}; + +ColorDock::ColorDock(const QString &c, QWidget *parent) + : QFrame(parent) , color(c) +{ + QFont font = this->font(); + font.setPointSize(8); + setFont(font); + szHint = QSize(-1, -1); + minSzHint = QSize(125, 75); +} + +QSize ColorDock::sizeHint() const +{ + return szHint; +} + +QSize ColorDock::minimumSizeHint() const +{ + return minSzHint; +} + +void ColorDock::paintEvent(QPaintEvent *) +{ + QPainter p(this); + p.setRenderHint(QPainter::Antialiasing); + p.fillRect(rect(), bgColorForName(color)); + + p.save(); + + extern void render_qt_text(QPainter *, int, int, const QColor &); + render_qt_text(&p, width(), height(), fgColorForName(color)); + + p.restore(); + +#ifdef DEBUG_SIZEHINTS + p.setRenderHint(QPainter::Antialiasing, false); + + QSize sz = size(); + QSize szHint = sizeHint(); + QSize minSzHint = minimumSizeHint(); + QSize maxSz = maximumSize(); + QString text = QString::fromLatin1("sz: %1x%2\nszHint: %3x%4\nminSzHint: %5x%6\n" + "maxSz: %8x%9") + .arg(sz.width()).arg(sz.height()) + .arg(szHint.width()).arg(szHint.height()) + .arg(minSzHint.width()).arg(minSzHint.height()) + .arg(maxSz.width()).arg(maxSz.height()); + + QRect r = fontMetrics().boundingRect(rect(), Qt::AlignLeft|Qt::AlignTop, text); + r.adjust(-2, -2, 1, 1); + p.translate(4, 4); + QColor bg = Qt::yellow; + bg.setAlpha(120); + p.setBrush(bg); + p.setPen(Qt::black); + p.drawRect(r); + p.drawText(rect(), Qt::AlignLeft|Qt::AlignTop, text); +#endif // DEBUG_SIZEHINTS +} + +static QSpinBox *createSpinBox(int value, QWidget *parent, int max = 1000) +{ + QSpinBox *result = new QSpinBox(parent); + result->setMinimum(-1); + result->setMaximum(max); + result->setValue(value); + return result; +} + +void ColorDock::changeSizeHints() +{ + QDialog dialog(this); + dialog.setWindowTitle(color); + + QVBoxLayout *topLayout = new QVBoxLayout(&dialog); + + QGridLayout *inputLayout = new QGridLayout(); + topLayout->addLayout(inputLayout); + + inputLayout->addWidget(new QLabel(tr("Size Hint:"), &dialog), 0, 0); + inputLayout->addWidget(new QLabel(tr("Min Size Hint:"), &dialog), 1, 0); + inputLayout->addWidget(new QLabel(tr("Max Size:"), &dialog), 2, 0); + inputLayout->addWidget(new QLabel(tr("Dockwgt Max Size:"), &dialog), 3, 0); + + QSpinBox *szHintW = createSpinBox(szHint.width(), &dialog); + inputLayout->addWidget(szHintW, 0, 1); + QSpinBox *szHintH = createSpinBox(szHint.height(), &dialog); + inputLayout->addWidget(szHintH, 0, 2); + + QSpinBox *minSzHintW = createSpinBox(minSzHint.width(), &dialog); + inputLayout->addWidget(minSzHintW, 1, 1); + QSpinBox *minSzHintH = createSpinBox(minSzHint.height(), &dialog); + inputLayout->addWidget(minSzHintH, 1, 2); + + QSize maxSz = maximumSize(); + QSpinBox *maxSzW = createSpinBox(maxSz.width(), &dialog, QWIDGETSIZE_MAX); + inputLayout->addWidget(maxSzW, 2, 1); + QSpinBox *maxSzH = createSpinBox(maxSz.height(), &dialog, QWIDGETSIZE_MAX); + inputLayout->addWidget(maxSzH, 2, 2); + + QSize dwMaxSz = parentWidget()->maximumSize(); + QSpinBox *dwMaxSzW = createSpinBox(dwMaxSz.width(), &dialog, QWIDGETSIZE_MAX); + inputLayout->addWidget(dwMaxSzW, 3, 1); + QSpinBox *dwMaxSzH = createSpinBox(dwMaxSz.height(), &dialog, QWIDGETSIZE_MAX); + inputLayout->addWidget(dwMaxSzH, 3, 2); + + inputLayout->setColumnStretch(1, 1); + inputLayout->setColumnStretch(2, 1); + + topLayout->addStretch(); + + QHBoxLayout *buttonBox = new QHBoxLayout(); + topLayout->addLayout(buttonBox); + + QPushButton *okButton = new QPushButton(tr("Ok"), &dialog); + QPushButton *cancelButton = new QPushButton(tr("Cancel"), &dialog); + connect(okButton, SIGNAL(clicked()), &dialog, SLOT(accept())); + connect(cancelButton, SIGNAL(clicked()), &dialog, SLOT(reject())); + buttonBox->addStretch(); + buttonBox->addWidget(cancelButton); + buttonBox->addWidget(okButton); + + + if (!dialog.exec()) + return; + + szHint = QSize(szHintW->value(), szHintH->value()); + minSzHint = QSize(minSzHintW->value(), minSzHintH->value()); + maxSz = QSize(maxSzW->value(), maxSzH->value()); + setMaximumSize(maxSz); + dwMaxSz = QSize(dwMaxSzW->value(), dwMaxSzH->value()); + parentWidget()->setMaximumSize(dwMaxSz); + updateGeometry(); + update(); +} + +void ColorDock::setCustomSizeHint(const QSize &size) +{ + szHint = size; + updateGeometry(); +} + +ColorSwatch::ColorSwatch(const QString &colorName, QWidget *parent, Qt::WindowFlags flags) + : QDockWidget(parent, flags) +{ + setObjectName(colorName + QLatin1String(" Dock Widget")); + setWindowTitle(objectName() + QLatin1String(" [*]")); + + QFrame *swatch = new ColorDock(colorName, this); + swatch->setFrameStyle(QFrame::Box | QFrame::Sunken); + + setWidget(swatch); + + changeSizeHintsAction = new QAction(tr("Change Size Hints"), this); + connect(changeSizeHintsAction, SIGNAL(triggered()), swatch, SLOT(changeSizeHints())); + + closableAction = new QAction(tr("Closable"), this); + closableAction->setCheckable(true); + connect(closableAction, SIGNAL(triggered(bool)), SLOT(changeClosable(bool))); + + movableAction = new QAction(tr("Movable"), this); + movableAction->setCheckable(true); + connect(movableAction, SIGNAL(triggered(bool)), SLOT(changeMovable(bool))); + + floatableAction = new QAction(tr("Floatable"), this); + floatableAction->setCheckable(true); + connect(floatableAction, SIGNAL(triggered(bool)), SLOT(changeFloatable(bool))); + + verticalTitleBarAction = new QAction(tr("Vertical title bar"), this); + verticalTitleBarAction->setCheckable(true); + connect(verticalTitleBarAction, SIGNAL(triggered(bool)), + SLOT(changeVerticalTitleBar(bool))); + + floatingAction = new QAction(tr("Floating"), this); + floatingAction->setCheckable(true); + connect(floatingAction, SIGNAL(triggered(bool)), SLOT(changeFloating(bool))); + + allowedAreasActions = new QActionGroup(this); + allowedAreasActions->setExclusive(false); + + allowLeftAction = new QAction(tr("Allow on Left"), this); + allowLeftAction->setCheckable(true); + connect(allowLeftAction, SIGNAL(triggered(bool)), SLOT(allowLeft(bool))); + + allowRightAction = new QAction(tr("Allow on Right"), this); + allowRightAction->setCheckable(true); + connect(allowRightAction, SIGNAL(triggered(bool)), SLOT(allowRight(bool))); + + allowTopAction = new QAction(tr("Allow on Top"), this); + allowTopAction->setCheckable(true); + connect(allowTopAction, SIGNAL(triggered(bool)), SLOT(allowTop(bool))); + + allowBottomAction = new QAction(tr("Allow on Bottom"), this); + allowBottomAction->setCheckable(true); + connect(allowBottomAction, SIGNAL(triggered(bool)), SLOT(allowBottom(bool))); + + allowedAreasActions->addAction(allowLeftAction); + allowedAreasActions->addAction(allowRightAction); + allowedAreasActions->addAction(allowTopAction); + allowedAreasActions->addAction(allowBottomAction); + + areaActions = new QActionGroup(this); + areaActions->setExclusive(true); + + leftAction = new QAction(tr("Place on Left") , this); + leftAction->setCheckable(true); + connect(leftAction, SIGNAL(triggered(bool)), SLOT(placeLeft(bool))); + + rightAction = new QAction(tr("Place on Right") , this); + rightAction->setCheckable(true); + connect(rightAction, SIGNAL(triggered(bool)), SLOT(placeRight(bool))); + + topAction = new QAction(tr("Place on Top") , this); + topAction->setCheckable(true); + connect(topAction, SIGNAL(triggered(bool)), SLOT(placeTop(bool))); + + bottomAction = new QAction(tr("Place on Bottom") , this); + bottomAction->setCheckable(true); + connect(bottomAction, SIGNAL(triggered(bool)), SLOT(placeBottom(bool))); + + areaActions->addAction(leftAction); + areaActions->addAction(rightAction); + areaActions->addAction(topAction); + areaActions->addAction(bottomAction); + + connect(movableAction, SIGNAL(triggered(bool)), areaActions, SLOT(setEnabled(bool))); + + connect(movableAction, SIGNAL(triggered(bool)), allowedAreasActions, SLOT(setEnabled(bool))); + + connect(floatableAction, SIGNAL(triggered(bool)), floatingAction, SLOT(setEnabled(bool))); + + connect(floatingAction, SIGNAL(triggered(bool)), floatableAction, SLOT(setDisabled(bool))); + connect(movableAction, SIGNAL(triggered(bool)), floatableAction, SLOT(setEnabled(bool))); + + tabMenu = new QMenu(this); + tabMenu->setTitle(tr("Tab into")); + connect(tabMenu, SIGNAL(triggered(QAction*)), this, SLOT(tabInto(QAction*))); + + splitHMenu = new QMenu(this); + splitHMenu->setTitle(tr("Split horizontally into")); + connect(splitHMenu, SIGNAL(triggered(QAction*)), this, SLOT(splitInto(QAction*))); + + splitVMenu = new QMenu(this); + splitVMenu->setTitle(tr("Split vertically into")); + connect(splitVMenu, SIGNAL(triggered(QAction*)), this, SLOT(splitInto(QAction*))); + + windowModifiedAction = new QAction(tr("Modified"), this); + windowModifiedAction->setCheckable(true); + windowModifiedAction->setChecked(false); + connect(windowModifiedAction, SIGNAL(toggled(bool)), this, SLOT(setWindowModified(bool))); + + menu = new QMenu(colorName, this); + menu->addAction(toggleViewAction()); + QAction *action = menu->addAction(tr("Raise")); + connect(action, SIGNAL(triggered()), this, SLOT(raise())); + menu->addAction(changeSizeHintsAction); + menu->addSeparator(); + menu->addAction(closableAction); + menu->addAction(movableAction); + menu->addAction(floatableAction); + menu->addAction(floatingAction); + menu->addAction(verticalTitleBarAction); + menu->addSeparator(); + menu->addActions(allowedAreasActions->actions()); + menu->addSeparator(); + menu->addActions(areaActions->actions()); + menu->addSeparator(); + menu->addMenu(splitHMenu); + menu->addMenu(splitVMenu); + menu->addMenu(tabMenu); + menu->addSeparator(); + menu->addAction(windowModifiedAction); + + connect(menu, SIGNAL(aboutToShow()), this, SLOT(updateContextMenu())); + + if(colorName == "Black") { + leftAction->setShortcut(Qt::CTRL|Qt::Key_W); + rightAction->setShortcut(Qt::CTRL|Qt::Key_E); + toggleViewAction()->setShortcut(Qt::CTRL|Qt::Key_R); + } +} + +void ColorSwatch::updateContextMenu() +{ + QMainWindow *mainWindow = qobject_cast(parentWidget()); + const Qt::DockWidgetArea area = mainWindow->dockWidgetArea(this); + const Qt::DockWidgetAreas areas = allowedAreas(); + + closableAction->setChecked(features() & QDockWidget::DockWidgetClosable); + if (windowType() == Qt::Drawer) { + floatableAction->setEnabled(false); + floatingAction->setEnabled(false); + movableAction->setEnabled(false); + verticalTitleBarAction->setChecked(false); + } else { + floatableAction->setChecked(features() & QDockWidget::DockWidgetFloatable); + floatingAction->setChecked(isWindow()); + // done after floating, to get 'floatable' correctly initialized + movableAction->setChecked(features() & QDockWidget::DockWidgetMovable); + verticalTitleBarAction + ->setChecked(features() & QDockWidget::DockWidgetVerticalTitleBar); + } + + allowLeftAction->setChecked(isAreaAllowed(Qt::LeftDockWidgetArea)); + allowRightAction->setChecked(isAreaAllowed(Qt::RightDockWidgetArea)); + allowTopAction->setChecked(isAreaAllowed(Qt::TopDockWidgetArea)); + allowBottomAction->setChecked(isAreaAllowed(Qt::BottomDockWidgetArea)); + + if (allowedAreasActions->isEnabled()) { + allowLeftAction->setEnabled(area != Qt::LeftDockWidgetArea); + allowRightAction->setEnabled(area != Qt::RightDockWidgetArea); + allowTopAction->setEnabled(area != Qt::TopDockWidgetArea); + allowBottomAction->setEnabled(area != Qt::BottomDockWidgetArea); + } + + leftAction->blockSignals(true); + rightAction->blockSignals(true); + topAction->blockSignals(true); + bottomAction->blockSignals(true); + + leftAction->setChecked(area == Qt::LeftDockWidgetArea); + rightAction->setChecked(area == Qt::RightDockWidgetArea); + topAction->setChecked(area == Qt::TopDockWidgetArea); + bottomAction->setChecked(area == Qt::BottomDockWidgetArea); + + leftAction->blockSignals(false); + rightAction->blockSignals(false); + topAction->blockSignals(false); + bottomAction->blockSignals(false); + + if (areaActions->isEnabled()) { + leftAction->setEnabled(areas & Qt::LeftDockWidgetArea); + rightAction->setEnabled(areas & Qt::RightDockWidgetArea); + topAction->setEnabled(areas & Qt::TopDockWidgetArea); + bottomAction->setEnabled(areas & Qt::BottomDockWidgetArea); + } + + tabMenu->clear(); + splitHMenu->clear(); + splitVMenu->clear(); + QList dock_list = qFindChildren(mainWindow); + foreach (ColorSwatch *dock, dock_list) { +// if (!dock->isVisible() || dock->isFloating()) +// continue; + tabMenu->addAction(dock->objectName()); + splitHMenu->addAction(dock->objectName()); + splitVMenu->addAction(dock->objectName()); + } +} + +void ColorSwatch::splitInto(QAction *action) +{ + QMainWindow *mainWindow = qobject_cast(parentWidget()); + QList dock_list = qFindChildren(mainWindow); + ColorSwatch *target = 0; + foreach (ColorSwatch *dock, dock_list) { + if (action->text() == dock->objectName()) { + target = dock; + break; + } + } + if (target == 0) + return; + + Qt::Orientation o = action->parent() == splitHMenu + ? Qt::Horizontal : Qt::Vertical; + mainWindow->splitDockWidget(target, this, o); +} + +void ColorSwatch::tabInto(QAction *action) +{ + QMainWindow *mainWindow = qobject_cast(parentWidget()); + QList dock_list = qFindChildren(mainWindow); + ColorSwatch *target = 0; + foreach (ColorSwatch *dock, dock_list) { + if (action->text() == dock->objectName()) { + target = dock; + break; + } + } + if (target == 0) + return; + + mainWindow->tabifyDockWidget(target, this); +} + +void ColorSwatch::contextMenuEvent(QContextMenuEvent *event) +{ + event->accept(); + menu->exec(event->globalPos()); +} + +void ColorSwatch::resizeEvent(QResizeEvent *e) +{ + if (BlueTitleBar *btb = qobject_cast(titleBarWidget())) + btb->updateMask(); + + QDockWidget::resizeEvent(e); +} + + +void ColorSwatch::allow(Qt::DockWidgetArea area, bool a) +{ + Qt::DockWidgetAreas areas = allowedAreas(); + areas = a ? areas | area : areas & ~area; + setAllowedAreas(areas); + + if (areaActions->isEnabled()) { + leftAction->setEnabled(areas & Qt::LeftDockWidgetArea); + rightAction->setEnabled(areas & Qt::RightDockWidgetArea); + topAction->setEnabled(areas & Qt::TopDockWidgetArea); + bottomAction->setEnabled(areas & Qt::BottomDockWidgetArea); + } +} + +void ColorSwatch::place(Qt::DockWidgetArea area, bool p) +{ + if (!p) return; + + QMainWindow *mainWindow = qobject_cast(parentWidget()); + mainWindow->addDockWidget(area, this); + + if (allowedAreasActions->isEnabled()) { + allowLeftAction->setEnabled(area != Qt::LeftDockWidgetArea); + allowRightAction->setEnabled(area != Qt::RightDockWidgetArea); + allowTopAction->setEnabled(area != Qt::TopDockWidgetArea); + allowBottomAction->setEnabled(area != Qt::BottomDockWidgetArea); + } +} + +void ColorSwatch::setCustomSizeHint(const QSize &size) +{ + if (ColorDock *dock = qobject_cast(widget())) + dock->setCustomSizeHint(size); +} + +void ColorSwatch::changeClosable(bool on) +{ setFeatures(on ? features() | DockWidgetClosable : features() & ~DockWidgetClosable); } + +void ColorSwatch::changeMovable(bool on) +{ setFeatures(on ? features() | DockWidgetMovable : features() & ~DockWidgetMovable); } + +void ColorSwatch::changeFloatable(bool on) +{ setFeatures(on ? features() | DockWidgetFloatable : features() & ~DockWidgetFloatable); } + +void ColorSwatch::changeFloating(bool floating) +{ setFloating(floating); } + +void ColorSwatch::allowLeft(bool a) +{ allow(Qt::LeftDockWidgetArea, a); } + +void ColorSwatch::allowRight(bool a) +{ allow(Qt::RightDockWidgetArea, a); } + +void ColorSwatch::allowTop(bool a) +{ allow(Qt::TopDockWidgetArea, a); } + +void ColorSwatch::allowBottom(bool a) +{ allow(Qt::BottomDockWidgetArea, a); } + +void ColorSwatch::placeLeft(bool p) +{ place(Qt::LeftDockWidgetArea, p); } + +void ColorSwatch::placeRight(bool p) +{ place(Qt::RightDockWidgetArea, p); } + +void ColorSwatch::placeTop(bool p) +{ place(Qt::TopDockWidgetArea, p); } + +void ColorSwatch::placeBottom(bool p) +{ place(Qt::BottomDockWidgetArea, p); } + +void ColorSwatch::changeVerticalTitleBar(bool on) +{ + setFeatures(on ? features() | DockWidgetVerticalTitleBar + : features() & ~DockWidgetVerticalTitleBar); +} + +QSize BlueTitleBar::minimumSizeHint() const +{ + QDockWidget *dw = qobject_cast(parentWidget()); + Q_ASSERT(dw != 0); + QSize result(leftPm.width() + rightPm.width(), centerPm.height()); + if (dw->features() & QDockWidget::DockWidgetVerticalTitleBar) + result.transpose(); + return result; +} + +BlueTitleBar::BlueTitleBar(QWidget *parent) + : QWidget(parent) +{ + leftPm = QPixmap(":/res/titlebarLeft.png"); + centerPm = QPixmap(":/res/titlebarCenter.png"); + rightPm = QPixmap(":/res/titlebarRight.png"); +} + +void BlueTitleBar::paintEvent(QPaintEvent*) +{ + QPainter painter(this); + QRect rect = this->rect(); + + QDockWidget *dw = qobject_cast(parentWidget()); + Q_ASSERT(dw != 0); + + if (dw->features() & QDockWidget::DockWidgetVerticalTitleBar) { + QSize s = rect.size(); + s.transpose(); + rect.setSize(s); + + painter.translate(rect.left(), rect.top() + rect.width()); + painter.rotate(-90); + painter.translate(-rect.left(), -rect.top()); + } + + painter.drawPixmap(rect.topLeft(), leftPm); + painter.drawPixmap(rect.topRight() - QPoint(rightPm.width() - 1, 0), rightPm); + QBrush brush(centerPm); + painter.fillRect(rect.left() + leftPm.width(), rect.top(), + rect.width() - leftPm.width() - rightPm.width(), + centerPm.height(), centerPm); +} + +void BlueTitleBar::mousePressEvent(QMouseEvent *event) +{ + QPoint pos = event->pos(); + + QRect rect = this->rect(); + + QDockWidget *dw = qobject_cast(parentWidget()); + Q_ASSERT(dw != 0); + + if (dw->features() & QDockWidget::DockWidgetVerticalTitleBar) { + QPoint p = pos; + pos.setX(rect.left() + rect.bottom() - p.y()); + pos.setY(rect.top() + p.x() - rect.left()); + + QSize s = rect.size(); + s.transpose(); + rect.setSize(s); + } + + const int buttonRight = 7; + const int buttonWidth = 20; + int right = rect.right() - pos.x(); + int button = (right - buttonRight)/buttonWidth; + switch (button) { + case 0: + event->accept(); + dw->close(); + break; + case 1: + event->accept(); + dw->setFloating(!dw->isFloating()); + break; + case 2: { + event->accept(); + QDockWidget::DockWidgetFeatures features = dw->features(); + if (features & QDockWidget::DockWidgetVerticalTitleBar) + features &= ~QDockWidget::DockWidgetVerticalTitleBar; + else + features |= QDockWidget::DockWidgetVerticalTitleBar; + dw->setFeatures(features); + break; + } + default: + event->ignore(); + break; + } +} + +void BlueTitleBar::updateMask() +{ + QDockWidget *dw = qobject_cast(parent()); + Q_ASSERT(dw != 0); + + QRect rect = dw->rect(); + QPixmap bitmap(dw->size()); + + { + QPainter painter(&bitmap); + + ///initialize to transparent + painter.fillRect(rect, Qt::color0); + + QRect contents = rect; + contents.setTopLeft(geometry().bottomLeft()); + contents.setRight(geometry().right()); + contents.setBottom(contents.bottom()-y()); + painter.fillRect(contents, Qt::color1); + + + + //let's pait the titlebar + + QRect titleRect = this->geometry(); + + if (dw->features() & QDockWidget::DockWidgetVerticalTitleBar) { + QSize s = rect.size(); + s.transpose(); + rect.setSize(s); + + QSize s2 = size(); + s2.transpose(); + titleRect.setSize(s2); + + painter.translate(rect.left(), rect.top() + rect.width()); + painter.rotate(-90); + painter.translate(-rect.left(), -rect.top()); + } + + contents.setTopLeft(titleRect.bottomLeft()); + contents.setRight(titleRect.right()); + contents.setBottom(rect.bottom()-y()); + + QRect rect = titleRect; + + + painter.drawPixmap(rect.topLeft(), leftPm.mask()); + painter.fillRect(rect.left() + leftPm.width(), rect.top(), + rect.width() - leftPm.width() - rightPm.width(), + centerPm.height(), Qt::color1); + painter.drawPixmap(rect.topRight() - QPoint(rightPm.width() - 1, 0), rightPm.mask()); + + painter.fillRect(contents, Qt::color1); + } + + dw->setMask(bitmap); +} + +#include "colorswatch.moc" diff --git a/demos/mainwindow/colorswatch.h b/demos/mainwindow/colorswatch.h new file mode 100644 index 0000000..57c5ac6 --- /dev/null +++ b/demos/mainwindow/colorswatch.h @@ -0,0 +1,136 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef COLORSWATCH_H +#define COLORSWATCH_H + +#include + +QT_FORWARD_DECLARE_CLASS(QAction) +QT_FORWARD_DECLARE_CLASS(QActionGroup) +QT_FORWARD_DECLARE_CLASS(QMenu) + +class ColorSwatch : public QDockWidget +{ + Q_OBJECT + + QAction *closableAction; + QAction *movableAction; + QAction *floatableAction; + QAction *floatingAction; + QAction *verticalTitleBarAction; + + QActionGroup *allowedAreasActions; + QAction *allowLeftAction; + QAction *allowRightAction; + QAction *allowTopAction; + QAction *allowBottomAction; + + QActionGroup *areaActions; + QAction *leftAction; + QAction *rightAction; + QAction *topAction; + QAction *bottomAction; + + QAction *changeSizeHintsAction; + + QMenu *tabMenu; + QMenu *splitHMenu; + QMenu *splitVMenu; + + QAction *windowModifiedAction; + +public: + ColorSwatch(const QString &colorName, QWidget *parent = 0, Qt::WindowFlags flags = 0); + + QMenu *menu; + void setCustomSizeHint(const QSize &size); + +protected: + virtual void contextMenuEvent(QContextMenuEvent *event); + virtual void resizeEvent(QResizeEvent *e); + +private: + void allow(Qt::DockWidgetArea area, bool allow); + void place(Qt::DockWidgetArea area, bool place); + +private slots: + void changeClosable(bool on); + void changeMovable(bool on); + void changeFloatable(bool on); + void changeFloating(bool on); + void changeVerticalTitleBar(bool on); + void updateContextMenu(); + + void allowLeft(bool a); + void allowRight(bool a); + void allowTop(bool a); + void allowBottom(bool a); + + void placeLeft(bool p); + void placeRight(bool p); + void placeTop(bool p); + void placeBottom(bool p); + + void splitInto(QAction *action); + void tabInto(QAction *action); +}; + +class BlueTitleBar : public QWidget +{ + Q_OBJECT +public: + BlueTitleBar(QWidget *parent = 0); + + QSize sizeHint() const { return minimumSizeHint(); } + QSize minimumSizeHint() const; +protected: + void paintEvent(QPaintEvent *event); + void mousePressEvent(QMouseEvent *event); +public slots: + void updateMask(); + +private: + QPixmap leftPm, centerPm, rightPm; +}; + + +#endif diff --git a/demos/mainwindow/main.cpp b/demos/mainwindow/main.cpp new file mode 100644 index 0000000..46268b5 --- /dev/null +++ b/demos/mainwindow/main.cpp @@ -0,0 +1,164 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" + +#include +#include +#include +#include +#include + +void render_qt_text(QPainter *painter, int w, int h, const QColor &color) { + QPainterPath path; + path.moveTo(-0.083695, 0.283849); + path.cubicTo(-0.049581, 0.349613, -0.012720, 0.397969, 0.026886, 0.428917); + path.cubicTo(0.066493, 0.459865, 0.111593, 0.477595, 0.162186, 0.482108); + path.lineTo(0.162186, 0.500000); + path.cubicTo(0.115929, 0.498066, 0.066565, 0.487669, 0.014094, 0.468810); + path.cubicTo(-0.038378, 0.449952, -0.088103, 0.423839, -0.135082, 0.390474); + path.cubicTo(-0.182061, 0.357108, -0.222608, 0.321567, -0.256722, 0.283849); + path.cubicTo(-0.304712, 0.262250, -0.342874, 0.239362, -0.371206, 0.215184); + path.cubicTo(-0.411969, 0.179078, -0.443625, 0.134671, -0.466175, 0.081963); + path.cubicTo(-0.488725, 0.029255, -0.500000, -0.033043, -0.500000, -0.104932); + path.cubicTo(-0.500000, -0.218407, -0.467042, -0.312621, -0.401127, -0.387573); + path.cubicTo(-0.335212, -0.462524, -0.255421, -0.500000, -0.161752, -0.500000); + path.cubicTo(-0.072998, -0.500000, 0.003903, -0.462444, 0.068951, -0.387331); + path.cubicTo(0.133998, -0.312218, 0.166522, -0.217440, 0.166522, -0.102998); + path.cubicTo(0.166522, -0.010155, 0.143394, 0.071325, 0.097138, 0.141441); + path.cubicTo(0.050882, 0.211557, -0.009396, 0.259026, -0.083695, 0.283849); + path.moveTo(-0.167823, -0.456963); + path.cubicTo(-0.228823, -0.456963, -0.277826, -0.432624, -0.314831, -0.383946); + path.cubicTo(-0.361665, -0.323340, -0.385082, -0.230335, -0.385082, -0.104932); + path.cubicTo(-0.385082, 0.017569, -0.361376, 0.112025, -0.313964, 0.178433); + path.cubicTo(-0.277248, 0.229368, -0.228534, 0.254836, -0.167823, 0.254836); + path.cubicTo(-0.105088, 0.254836, -0.054496, 0.229368, -0.016045, 0.178433); + path.cubicTo(0.029055, 0.117827, 0.051605, 0.028691, 0.051605, -0.088975); + path.cubicTo(0.051605, -0.179562, 0.039318, -0.255803, 0.014744, -0.317698); + path.cubicTo(-0.004337, -0.365409, -0.029705, -0.400548, -0.061362, -0.423114); + path.cubicTo(-0.093018, -0.445680, -0.128505, -0.456963, -0.167823, -0.456963); + path.moveTo(0.379011, -0.404739); + path.lineTo(0.379011, -0.236460); + path.lineTo(0.486123, -0.236460); + path.lineTo(0.486123, -0.197292); + path.lineTo(0.379011, -0.197292); + path.lineTo(0.379011, 0.134913); + path.cubicTo(0.379011, 0.168117, 0.383276, 0.190442, 0.391804, 0.201886); + path.cubicTo(0.400332, 0.213330, 0.411246, 0.219052, 0.424545, 0.219052); + path.cubicTo(0.435531, 0.219052, 0.446227, 0.215264, 0.456635, 0.207689); + path.cubicTo(0.467042, 0.200113, 0.474993, 0.188910, 0.480486, 0.174081); + path.lineTo(0.500000, 0.174081); + path.cubicTo(0.488436, 0.210509, 0.471957, 0.237911, 0.450564, 0.256286); + path.cubicTo(0.429170, 0.274662, 0.407054, 0.283849, 0.384215, 0.283849); + path.cubicTo(0.368893, 0.283849, 0.353859, 0.279094, 0.339115, 0.269584); + path.cubicTo(0.324371, 0.260074, 0.313530, 0.246534, 0.306592, 0.228965); + path.cubicTo(0.299653, 0.211396, 0.296184, 0.184075, 0.296184, 0.147002); + path.lineTo(0.296184, -0.197292); + path.lineTo(0.223330, -0.197292); + path.lineTo(0.223330, -0.215667); + path.cubicTo(0.241833, -0.224049, 0.260697, -0.237992, 0.279922, -0.257495); + path.cubicTo(0.299147, -0.276999, 0.316276, -0.300129, 0.331310, -0.326886); + path.cubicTo(0.338826, -0.341070, 0.349523, -0.367021, 0.363400, -0.404739); + path.lineTo(0.379011, -0.404739); + path.moveTo(-0.535993, 0.275629); + + painter->translate(w / 2, h / 2); + double scale = qMin(w, h) * 8 / 10.0; + painter->scale(scale, scale); + + painter->setRenderHint(QPainter::Antialiasing); + + painter->save(); + painter->translate(.1, .1); + painter->fillPath(path, QColor(0, 0, 0, 63)); + painter->restore(); + + painter->setBrush(color); + painter->setPen(QPen(Qt::black, 0.02, Qt::SolidLine, Qt::FlatCap, Qt::RoundJoin)); + painter->drawPath(path); +} + +void usage() +{ + qWarning() << "Usage: mainwindow [-SizeHint x] ..."; + exit(1); +} + +QMap parseCustomSizeHints(int argc, char **argv) +{ + QMap result; + + for (int i = 1; i < argc; ++i) { + QString arg = QString::fromLocal8Bit(argv[i]); + + if (arg.startsWith(QLatin1String("-SizeHint"))) { + QString name = arg.mid(9); + if (name.isEmpty()) + usage(); + if (++i == argc) + usage(); + QString sizeStr = QString::fromLocal8Bit(argv[i]); + int idx = sizeStr.indexOf(QLatin1Char('x')); + if (idx == -1) + usage(); + bool ok; + int w = sizeStr.left(idx).toInt(&ok); + if (!ok) + usage(); + int h = sizeStr.mid(idx + 1).toInt(&ok); + if (!ok) + usage(); + result[name] = QSize(w, h); + } + } + + return result; +} + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + QMap customSizeHints = parseCustomSizeHints(argc, argv); + MainWindow mainWin(customSizeHints); + mainWin.resize(800, 600); + mainWin.show(); + return app.exec(); +} diff --git a/demos/mainwindow/mainwindow.cpp b/demos/mainwindow/mainwindow.cpp new file mode 100644 index 0000000..7edaf52 --- /dev/null +++ b/demos/mainwindow/mainwindow.cpp @@ -0,0 +1,510 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include "colorswatch.h" +#include "toolbar.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const char * const message = + "

Qt Main Window Demo

" + + "

This is a demonstration of the QMainWindow, QToolBar and " + "QDockWidget classes.

" + + "

The tool bar and dock widgets can be dragged around and rearranged " + "using the mouse or via the menu.

" + + "

Each dock widget contains a colored frame and a context " + "(right-click) menu.

" + +#ifdef Q_WS_MAC + "

On Mac OS X, the \"Black\" dock widget has been created as a " + "Drawer, which is a special kind of QDockWidget.

" +#endif + ; + +MainWindow::MainWindow(const QMap &customSizeHints, + QWidget *parent, Qt::WindowFlags flags) + : QMainWindow(parent, flags) +{ + setObjectName("MainWindow"); + setWindowTitle("Qt Main Window Demo"); + + center = new QTextEdit(this); + center->setReadOnly(true); + center->setMinimumSize(400, 205); + setCentralWidget(center); + + setupToolBar(); + setupMenuBar(); + setupDockWidgets(customSizeHints); + + statusBar()->showMessage(tr("Status Bar")); +} + +void MainWindow::actionTriggered(QAction *action) +{ + qDebug("action '%s' triggered", action->text().toLocal8Bit().data()); +} + +void MainWindow::setupToolBar() +{ + for (int i = 0; i < 3; ++i) { + ToolBar *tb = new ToolBar(QString::fromLatin1("Tool Bar %1").arg(i + 1), this); + toolBars.append(tb); + addToolBar(tb); + } +} + +void MainWindow::setupMenuBar() +{ + QMenu *menu = menuBar()->addMenu(tr("&File")); + + QAction *action = menu->addAction(tr("Save layout...")); + connect(action, SIGNAL(triggered()), this, SLOT(saveLayout())); + + action = menu->addAction(tr("Load layout...")); + connect(action, SIGNAL(triggered()), this, SLOT(loadLayout())); + + action = menu->addAction(tr("Switch layout direction")); + connect(action, SIGNAL(triggered()), this, SLOT(switchLayoutDirection())); + + menu->addSeparator(); + + menu->addAction(tr("&Quit"), this, SLOT(close())); + + mainWindowMenu = menuBar()->addMenu(tr("Main window")); + + action = mainWindowMenu->addAction(tr("Animated docks")); + action->setCheckable(true); + action->setChecked(dockOptions() & AnimatedDocks); + connect(action, SIGNAL(toggled(bool)), this, SLOT(setDockOptions())); + + action = mainWindowMenu->addAction(tr("Allow nested docks")); + action->setCheckable(true); + action->setChecked(dockOptions() & AllowNestedDocks); + connect(action, SIGNAL(toggled(bool)), this, SLOT(setDockOptions())); + + action = mainWindowMenu->addAction(tr("Allow tabbed docks")); + action->setCheckable(true); + action->setChecked(dockOptions() & AllowTabbedDocks); + connect(action, SIGNAL(toggled(bool)), this, SLOT(setDockOptions())); + + action = mainWindowMenu->addAction(tr("Force tabbed docks")); + action->setCheckable(true); + action->setChecked(dockOptions() & ForceTabbedDocks); + connect(action, SIGNAL(toggled(bool)), this, SLOT(setDockOptions())); + + action = mainWindowMenu->addAction(tr("Vertical tabs")); + action->setCheckable(true); + action->setChecked(dockOptions() & VerticalTabs); + connect(action, SIGNAL(toggled(bool)), this, SLOT(setDockOptions())); + + QMenu *toolBarMenu = menuBar()->addMenu(tr("Tool bars")); + for (int i = 0; i < toolBars.count(); ++i) + toolBarMenu->addMenu(toolBars.at(i)->menu); + + dockWidgetMenu = menuBar()->addMenu(tr("&Dock Widgets")); +} + +void MainWindow::setDockOptions() +{ + DockOptions opts; + QList actions = mainWindowMenu->actions(); + + if (actions.at(0)->isChecked()) + opts |= AnimatedDocks; + if (actions.at(1)->isChecked()) + opts |= AllowNestedDocks; + if (actions.at(2)->isChecked()) + opts |= AllowTabbedDocks; + if (actions.at(3)->isChecked()) + opts |= ForceTabbedDocks; + if (actions.at(4)->isChecked()) + opts |= VerticalTabs; + + QMainWindow::setDockOptions(opts); +} + +void MainWindow::saveLayout() +{ + QString fileName + = QFileDialog::getSaveFileName(this, tr("Save layout")); + if (fileName.isEmpty()) + return; + QFile file(fileName); + if (!file.open(QFile::WriteOnly)) { + QString msg = tr("Failed to open %1\n%2") + .arg(fileName) + .arg(file.errorString()); + QMessageBox::warning(this, tr("Error"), msg); + return; + } + + QByteArray geo_data = saveGeometry(); + QByteArray layout_data = saveState(); + + bool ok = file.putChar((uchar)geo_data.size()); + if (ok) + ok = file.write(geo_data) == geo_data.size(); + if (ok) + ok = file.write(layout_data) == layout_data.size(); + + if (!ok) { + QString msg = tr("Error writing to %1\n%2") + .arg(fileName) + .arg(file.errorString()); + QMessageBox::warning(this, tr("Error"), msg); + return; + } +} + +void MainWindow::loadLayout() +{ + QString fileName + = QFileDialog::getOpenFileName(this, tr("Load layout")); + if (fileName.isEmpty()) + return; + QFile file(fileName); + if (!file.open(QFile::ReadOnly)) { + QString msg = tr("Failed to open %1\n%2") + .arg(fileName) + .arg(file.errorString()); + QMessageBox::warning(this, tr("Error"), msg); + return; + } + + uchar geo_size; + QByteArray geo_data; + QByteArray layout_data; + + bool ok = file.getChar((char*)&geo_size); + if (ok) { + geo_data = file.read(geo_size); + ok = geo_data.size() == geo_size; + } + if (ok) { + layout_data = file.readAll(); + ok = layout_data.size() > 0; + } + + if (ok) + ok = restoreGeometry(geo_data); + if (ok) + ok = restoreState(layout_data); + + if (!ok) { + QString msg = tr("Error reading %1") + .arg(fileName); + QMessageBox::warning(this, tr("Error"), msg); + return; + } +} + +QAction *addAction(QMenu *menu, const QString &text, QActionGroup *group, QSignalMapper *mapper, + int id) +{ + bool first = group->actions().isEmpty(); + QAction *result = menu->addAction(text); + result->setCheckable(true); + result->setChecked(first); + group->addAction(result); + QObject::connect(result, SIGNAL(triggered()), mapper, SLOT(map())); + mapper->setMapping(result, id); + return result; +} + +void MainWindow::setupDockWidgets(const QMap &customSizeHints) +{ + mapper = new QSignalMapper(this); + connect(mapper, SIGNAL(mapped(int)), this, SLOT(setCorner(int))); + + QMenu *corner_menu = dockWidgetMenu->addMenu(tr("Top left corner")); + QActionGroup *group = new QActionGroup(this); + group->setExclusive(true); + ::addAction(corner_menu, tr("Top dock area"), group, mapper, 0); + ::addAction(corner_menu, tr("Left dock area"), group, mapper, 1); + + corner_menu = dockWidgetMenu->addMenu(tr("Top right corner")); + group = new QActionGroup(this); + group->setExclusive(true); + ::addAction(corner_menu, tr("Top dock area"), group, mapper, 2); + ::addAction(corner_menu, tr("Right dock area"), group, mapper, 3); + + corner_menu = dockWidgetMenu->addMenu(tr("Bottom left corner")); + group = new QActionGroup(this); + group->setExclusive(true); + ::addAction(corner_menu, tr("Bottom dock area"), group, mapper, 4); + ::addAction(corner_menu, tr("Left dock area"), group, mapper, 5); + + corner_menu = dockWidgetMenu->addMenu(tr("Bottom right corner")); + group = new QActionGroup(this); + group->setExclusive(true); + ::addAction(corner_menu, tr("Bottom dock area"), group, mapper, 6); + ::addAction(corner_menu, tr("Right dock area"), group, mapper, 7); + + dockWidgetMenu->addSeparator(); + + static const struct Set { + const char * name; + uint flags; + Qt::DockWidgetArea area; + } sets [] = { +#ifndef Q_WS_MAC + { "Black", 0, Qt::LeftDockWidgetArea }, +#else + { "Black", Qt::Drawer, Qt::LeftDockWidgetArea }, +#endif + { "White", 0, Qt::RightDockWidgetArea }, + { "Red", 0, Qt::TopDockWidgetArea }, + { "Green", 0, Qt::TopDockWidgetArea }, + { "Blue", 0, Qt::BottomDockWidgetArea }, + { "Yellow", 0, Qt::BottomDockWidgetArea } + }; + const int setCount = sizeof(sets) / sizeof(Set); + + for (int i = 0; i < setCount; ++i) { + ColorSwatch *swatch = new ColorSwatch(tr(sets[i].name), this, Qt::WindowFlags(sets[i].flags)); + if (i%2) + swatch->setWindowIcon(QIcon(QPixmap(":/res/qt.png"))); + if (qstrcmp(sets[i].name, "Blue") == 0) { + BlueTitleBar *titlebar = new BlueTitleBar(swatch); + swatch->setTitleBarWidget(titlebar); + connect(swatch, SIGNAL(topLevelChanged(bool)), titlebar, SLOT(updateMask())); + connect(swatch, SIGNAL(featuresChanged(QDockWidget::DockWidgetFeatures)), titlebar, SLOT(updateMask())); + +#ifdef Q_WS_QWS + QPalette pal = palette(); + pal.setBrush(backgroundRole(), QColor(0,0,0,0)); + swatch->setPalette(pal); +#endif + } + + QString name = QString::fromLatin1(sets[i].name); + if (customSizeHints.contains(name)) + swatch->setCustomSizeHint(customSizeHints.value(name)); + + addDockWidget(sets[i].area, swatch); + dockWidgetMenu->addMenu(swatch->menu); + } + + createDockWidgetAction = new QAction(tr("Add dock widget..."), this); + connect(createDockWidgetAction, SIGNAL(triggered()), this, SLOT(createDockWidget())); + destroyDockWidgetMenu = new QMenu(tr("Destroy dock widget"), this); + destroyDockWidgetMenu->setEnabled(false); + connect(destroyDockWidgetMenu, SIGNAL(triggered(QAction*)), this, SLOT(destroyDockWidget(QAction*))); + + dockWidgetMenu->addSeparator(); + dockWidgetMenu->addAction(createDockWidgetAction); + dockWidgetMenu->addMenu(destroyDockWidgetMenu); +} + +void MainWindow::setCorner(int id) +{ + switch (id) { + case 0: + QMainWindow::setCorner(Qt::TopLeftCorner, Qt::TopDockWidgetArea); + break; + case 1: + QMainWindow::setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + break; + case 2: + QMainWindow::setCorner(Qt::TopRightCorner, Qt::TopDockWidgetArea); + break; + case 3: + QMainWindow::setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + break; + case 4: + QMainWindow::setCorner(Qt::BottomLeftCorner, Qt::BottomDockWidgetArea); + break; + case 5: + QMainWindow::setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + break; + case 6: + QMainWindow::setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); + break; + case 7: + QMainWindow::setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + break; + } +} + +void MainWindow::showEvent(QShowEvent *event) +{ + QMainWindow::showEvent(event); +} + +void MainWindow::switchLayoutDirection() +{ + if (layoutDirection() == Qt::LeftToRight) + qApp->setLayoutDirection(Qt::RightToLeft); + else + qApp->setLayoutDirection(Qt::LeftToRight); +} + +class CreateDockWidgetDialog : public QDialog +{ +public: + CreateDockWidgetDialog(QWidget *parent = 0); + + QString objectName() const; + Qt::DockWidgetArea location() const; + +private: + QLineEdit *m_objectName; + QComboBox *m_location; +}; + +CreateDockWidgetDialog::CreateDockWidgetDialog(QWidget *parent) + : QDialog(parent) +{ + QGridLayout *layout = new QGridLayout(this); + + layout->addWidget(new QLabel(tr("Object name:")), 0, 0); + m_objectName = new QLineEdit; + layout->addWidget(m_objectName, 0, 1); + + layout->addWidget(new QLabel(tr("Location:")), 1, 0); + m_location = new QComboBox; + m_location->setEditable(false); + m_location->addItem(tr("Top")); + m_location->addItem(tr("Left")); + m_location->addItem(tr("Right")); + m_location->addItem(tr("Bottom")); + m_location->addItem(tr("Restore")); + layout->addWidget(m_location, 1, 1); + + QHBoxLayout *buttonLayout = new QHBoxLayout; + layout->addLayout(buttonLayout, 2, 0, 1, 2); + buttonLayout->addStretch(); + + QPushButton *cancelButton = new QPushButton(tr("Cancel")); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + buttonLayout->addWidget(cancelButton); + QPushButton *okButton = new QPushButton(tr("Ok")); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + buttonLayout->addWidget(okButton); + + okButton->setDefault(true); +} + +QString CreateDockWidgetDialog::objectName() const +{ + return m_objectName->text(); +} + +Qt::DockWidgetArea CreateDockWidgetDialog::location() const +{ + switch (m_location->currentIndex()) { + case 0: return Qt::TopDockWidgetArea; + case 1: return Qt::LeftDockWidgetArea; + case 2: return Qt::RightDockWidgetArea; + case 3: return Qt::BottomDockWidgetArea; + default: + break; + } + return Qt::NoDockWidgetArea; +} + +void MainWindow::createDockWidget() +{ + CreateDockWidgetDialog dialog(this); + int ret = dialog.exec(); + if (ret == QDialog::Rejected) + return; + + QDockWidget *dw = new QDockWidget; + dw->setObjectName(dialog.objectName()); + dw->setWindowTitle(dialog.objectName()); + dw->setWidget(new QTextEdit); + + Qt::DockWidgetArea area = dialog.location(); + switch (area) { + case Qt::LeftDockWidgetArea: + case Qt::RightDockWidgetArea: + case Qt::TopDockWidgetArea: + case Qt::BottomDockWidgetArea: + addDockWidget(area, dw); + break; + default: + if (!restoreDockWidget(dw)) { + QMessageBox::warning(this, QString(), tr("Failed to restore dock widget")); + delete dw; + return; + } + break; + } + + extraDockWidgets.append(dw); + destroyDockWidgetMenu->setEnabled(true); + destroyDockWidgetMenu->addAction(new QAction(dialog.objectName(), this)); +} + +void MainWindow::destroyDockWidget(QAction *action) +{ + int index = destroyDockWidgetMenu->actions().indexOf(action); + delete extraDockWidgets.takeAt(index); + destroyDockWidgetMenu->removeAction(action); + action->deleteLater(); + + if (destroyDockWidgetMenu->isEmpty()) + destroyDockWidgetMenu->setEnabled(false); +} diff --git a/demos/mainwindow/mainwindow.h b/demos/mainwindow/mainwindow.h new file mode 100644 index 0000000..9c7f620 --- /dev/null +++ b/demos/mainwindow/mainwindow.h @@ -0,0 +1,90 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include + +class ToolBar; +QT_FORWARD_DECLARE_CLASS(QMenu) +QT_FORWARD_DECLARE_CLASS(QSignalMapper) + +class MainWindow : public QMainWindow +{ + Q_OBJECT + + QTextEdit *center; + QList toolBars; + QMenu *dockWidgetMenu; + QMenu *mainWindowMenu; + QSignalMapper *mapper; + QList extraDockWidgets; + QAction *createDockWidgetAction; + QMenu *destroyDockWidgetMenu; + +public: + MainWindow(const QMap &customSizeHints, + QWidget *parent = 0, Qt::WindowFlags flags = 0); + +protected: + void showEvent(QShowEvent *event); + +public slots: + void actionTriggered(QAction *action); + void saveLayout(); + void loadLayout(); + void setCorner(int id); + void switchLayoutDirection(); + void setDockOptions(); + + void createDockWidget(); + void destroyDockWidget(QAction *action); + +private: + void setupToolBar(); + void setupMenuBar(); + void setupDockWidgets(const QMap &customSizeHints); +}; + + +#endif diff --git a/demos/mainwindow/mainwindow.pro b/demos/mainwindow/mainwindow.pro new file mode 100644 index 0000000..9853a55 --- /dev/null +++ b/demos/mainwindow/mainwindow.pro @@ -0,0 +1,16 @@ +TEMPLATE = app +HEADERS += colorswatch.h mainwindow.h toolbar.h +SOURCES += colorswatch.cpp mainwindow.cpp toolbar.cpp main.cpp +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +RESOURCES += mainwindow.qrc + +# install +target.path = $$[QT_INSTALL_DEMOS]/mainwindow +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.png *.jpg *.pro +sources.path = $$[QT_INSTALL_DEMOS]/mainwindow +INSTALLS += target sources + diff --git a/demos/mainwindow/mainwindow.qrc b/demos/mainwindow/mainwindow.qrc new file mode 100644 index 0000000..47ff22a --- /dev/null +++ b/demos/mainwindow/mainwindow.qrc @@ -0,0 +1,8 @@ + + + qt.png + titlebarLeft.png + titlebarCenter.png + titlebarRight.png + + diff --git a/demos/mainwindow/qt.png b/demos/mainwindow/qt.png new file mode 100644 index 0000000..48fa9fc Binary files /dev/null and b/demos/mainwindow/qt.png differ diff --git a/demos/mainwindow/titlebarCenter.png b/demos/mainwindow/titlebarCenter.png new file mode 100644 index 0000000..5cc1413 Binary files /dev/null and b/demos/mainwindow/titlebarCenter.png differ diff --git a/demos/mainwindow/titlebarLeft.png b/demos/mainwindow/titlebarLeft.png new file mode 100644 index 0000000..3151662 Binary files /dev/null and b/demos/mainwindow/titlebarLeft.png differ diff --git a/demos/mainwindow/titlebarRight.png b/demos/mainwindow/titlebarRight.png new file mode 100644 index 0000000..a450526 Binary files /dev/null and b/demos/mainwindow/titlebarRight.png differ diff --git a/demos/mainwindow/toolbar.cpp b/demos/mainwindow/toolbar.cpp new file mode 100644 index 0000000..9de1348 --- /dev/null +++ b/demos/mainwindow/toolbar.cpp @@ -0,0 +1,383 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "toolbar.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +static QPixmap genIcon(const QSize &iconSize, const QString &, const QColor &color) +{ + int w = iconSize.width(); + int h = iconSize.height(); + + QImage image(w, h, QImage::Format_ARGB32_Premultiplied); + image.fill(0); + + QPainter p(&image); + + extern void render_qt_text(QPainter *, int, int, const QColor &); + render_qt_text(&p, w, h, color); + + return QPixmap::fromImage(image, Qt::DiffuseDither | Qt::DiffuseAlphaDither); +} + +static QPixmap genIcon(const QSize &iconSize, int number, const QColor &color) +{ return genIcon(iconSize, QString::number(number), color); } + +ToolBar::ToolBar(const QString &title, QWidget *parent) + : QToolBar(parent), spinbox(0), spinboxAction(0) +{ + tip = 0; + setWindowTitle(title); + setObjectName(title); + + setIconSize(QSize(32, 32)); + + QColor bg(palette().background().color()); + menu = new QMenu("One", this); + menu->setIcon(genIcon(iconSize(), 1, Qt::black)); + menu->addAction(genIcon(iconSize(), "A", Qt::blue), "A"); + menu->addAction(genIcon(iconSize(), "B", Qt::blue), "B"); + menu->addAction(genIcon(iconSize(), "C", Qt::blue), "C"); + addAction(menu->menuAction()); + + QAction *two = addAction(genIcon(iconSize(), 2, Qt::white), "Two"); + QFont boldFont; + boldFont.setBold(true); + two->setFont(boldFont); + + addAction(genIcon(iconSize(), 3, Qt::red), "Three"); + addAction(genIcon(iconSize(), 4, Qt::green), "Four"); + addAction(genIcon(iconSize(), 5, Qt::blue), "Five"); + addAction(genIcon(iconSize(), 6, Qt::yellow), "Six"); + orderAction = new QAction(this); + orderAction->setText(tr("Order Items in Tool Bar")); + connect(orderAction, SIGNAL(triggered()), SLOT(order())); + + randomizeAction = new QAction(this); + randomizeAction->setText(tr("Randomize Items in Tool Bar")); + connect(randomizeAction, SIGNAL(triggered()), SLOT(randomize())); + + addSpinBoxAction = new QAction(this); + addSpinBoxAction->setText(tr("Add Spin Box")); + connect(addSpinBoxAction, SIGNAL(triggered()), SLOT(addSpinBox())); + + removeSpinBoxAction = new QAction(this); + removeSpinBoxAction->setText(tr("Remove Spin Box")); + removeSpinBoxAction->setEnabled(false); + connect(removeSpinBoxAction, SIGNAL(triggered()), SLOT(removeSpinBox())); + + movableAction = new QAction(tr("Movable"), this); + movableAction->setCheckable(true); + connect(movableAction, SIGNAL(triggered(bool)), SLOT(changeMovable(bool))); + + allowedAreasActions = new QActionGroup(this); + allowedAreasActions->setExclusive(false); + + allowLeftAction = new QAction(tr("Allow on Left"), this); + allowLeftAction->setCheckable(true); + connect(allowLeftAction, SIGNAL(triggered(bool)), SLOT(allowLeft(bool))); + + allowRightAction = new QAction(tr("Allow on Right"), this); + allowRightAction->setCheckable(true); + connect(allowRightAction, SIGNAL(triggered(bool)), SLOT(allowRight(bool))); + + allowTopAction = new QAction(tr("Allow on Top"), this); + allowTopAction->setCheckable(true); + connect(allowTopAction, SIGNAL(triggered(bool)), SLOT(allowTop(bool))); + + allowBottomAction = new QAction(tr("Allow on Bottom"), this); + allowBottomAction->setCheckable(true); + connect(allowBottomAction, SIGNAL(triggered(bool)), SLOT(allowBottom(bool))); + + allowedAreasActions->addAction(allowLeftAction); + allowedAreasActions->addAction(allowRightAction); + allowedAreasActions->addAction(allowTopAction); + allowedAreasActions->addAction(allowBottomAction); + + areaActions = new QActionGroup(this); + areaActions->setExclusive(true); + + leftAction = new QAction(tr("Place on Left") , this); + leftAction->setCheckable(true); + connect(leftAction, SIGNAL(triggered(bool)), SLOT(placeLeft(bool))); + + rightAction = new QAction(tr("Place on Right") , this); + rightAction->setCheckable(true); + connect(rightAction, SIGNAL(triggered(bool)), SLOT(placeRight(bool))); + + topAction = new QAction(tr("Place on Top") , this); + topAction->setCheckable(true); + connect(topAction, SIGNAL(triggered(bool)), SLOT(placeTop(bool))); + + bottomAction = new QAction(tr("Place on Bottom") , this); + bottomAction->setCheckable(true); + connect(bottomAction, SIGNAL(triggered(bool)), SLOT(placeBottom(bool))); + + areaActions->addAction(leftAction); + areaActions->addAction(rightAction); + areaActions->addAction(topAction); + areaActions->addAction(bottomAction); + + toolBarBreakAction = new QAction(tr("Insert break"), this); + connect(toolBarBreakAction, SIGNAL(triggered(bool)), this, SLOT(insertToolBarBreak())); + + connect(movableAction, SIGNAL(triggered(bool)), areaActions, SLOT(setEnabled(bool))); + + connect(movableAction, SIGNAL(triggered(bool)), allowedAreasActions, SLOT(setEnabled(bool))); + + menu = new QMenu(title, this); + menu->addAction(toggleViewAction()); + menu->addSeparator(); + menu->addAction(orderAction); + menu->addAction(randomizeAction); + menu->addSeparator(); + menu->addAction(addSpinBoxAction); + menu->addAction(removeSpinBoxAction); + menu->addSeparator(); + menu->addAction(movableAction); + menu->addSeparator(); + menu->addActions(allowedAreasActions->actions()); + menu->addSeparator(); + menu->addActions(areaActions->actions()); + menu->addSeparator(); + menu->addAction(toolBarBreakAction); + + connect(menu, SIGNAL(aboutToShow()), this, SLOT(updateMenu())); + + randomize(); +} + +void ToolBar::updateMenu() +{ + QMainWindow *mainWindow = qobject_cast(parentWidget()); + Q_ASSERT(mainWindow != 0); + + const Qt::ToolBarArea area = mainWindow->toolBarArea(this); + const Qt::ToolBarAreas areas = allowedAreas(); + + movableAction->setChecked(isMovable()); + + allowLeftAction->setChecked(isAreaAllowed(Qt::LeftToolBarArea)); + allowRightAction->setChecked(isAreaAllowed(Qt::RightToolBarArea)); + allowTopAction->setChecked(isAreaAllowed(Qt::TopToolBarArea)); + allowBottomAction->setChecked(isAreaAllowed(Qt::BottomToolBarArea)); + + if (allowedAreasActions->isEnabled()) { + allowLeftAction->setEnabled(area != Qt::LeftToolBarArea); + allowRightAction->setEnabled(area != Qt::RightToolBarArea); + allowTopAction->setEnabled(area != Qt::TopToolBarArea); + allowBottomAction->setEnabled(area != Qt::BottomToolBarArea); + } + + leftAction->setChecked(area == Qt::LeftToolBarArea); + rightAction->setChecked(area == Qt::RightToolBarArea); + topAction->setChecked(area == Qt::TopToolBarArea); + bottomAction->setChecked(area == Qt::BottomToolBarArea); + + if (areaActions->isEnabled()) { + leftAction->setEnabled(areas & Qt::LeftToolBarArea); + rightAction->setEnabled(areas & Qt::RightToolBarArea); + topAction->setEnabled(areas & Qt::TopToolBarArea); + bottomAction->setEnabled(areas & Qt::BottomToolBarArea); + } +} + +void ToolBar::order() +{ + QList ordered, actions1 = actions(), + actions2 = qFindChildren(this); + while (!actions2.isEmpty()) { + QAction *action = actions2.takeFirst(); + if (!actions1.contains(action)) + continue; + actions1.removeAll(action); + ordered.append(action); + } + + clear(); + addActions(ordered); + + orderAction->setEnabled(false); +} + +void ToolBar::randomize() +{ + QList randomized, actions = this->actions(); + while (!actions.isEmpty()) { + QAction *action = actions.takeAt(rand() % actions.size()); + randomized.append(action); + } + clear(); + addActions(randomized); + + orderAction->setEnabled(true); +} + +void ToolBar::addSpinBox() +{ + if (!spinbox) { + spinbox = new QSpinBox(this); + } + if (!spinboxAction) + spinboxAction = addWidget(spinbox); + else + addAction(spinboxAction); + + addSpinBoxAction->setEnabled(false); + removeSpinBoxAction->setEnabled(true); +} + +void ToolBar::removeSpinBox() +{ + if (spinboxAction) + removeAction(spinboxAction); + + addSpinBoxAction->setEnabled(true); + removeSpinBoxAction->setEnabled(false); +} + +void ToolBar::allow(Qt::ToolBarArea area, bool a) +{ + Qt::ToolBarAreas areas = allowedAreas(); + areas = a ? areas | area : areas & ~area; + setAllowedAreas(areas); + + if (areaActions->isEnabled()) { + leftAction->setEnabled(areas & Qt::LeftToolBarArea); + rightAction->setEnabled(areas & Qt::RightToolBarArea); + topAction->setEnabled(areas & Qt::TopToolBarArea); + bottomAction->setEnabled(areas & Qt::BottomToolBarArea); + } +} + +void ToolBar::place(Qt::ToolBarArea area, bool p) +{ + if (!p) + return; + + QMainWindow *mainWindow = qobject_cast(parentWidget()); + Q_ASSERT(mainWindow != 0); + + mainWindow->addToolBar(area, this); + + if (allowedAreasActions->isEnabled()) { + allowLeftAction->setEnabled(area != Qt::LeftToolBarArea); + allowRightAction->setEnabled(area != Qt::RightToolBarArea); + allowTopAction->setEnabled(area != Qt::TopToolBarArea); + allowBottomAction->setEnabled(area != Qt::BottomToolBarArea); + } +} + +void ToolBar::changeMovable(bool movable) +{ setMovable(movable); } + +void ToolBar::allowLeft(bool a) +{ allow(Qt::LeftToolBarArea, a); } + +void ToolBar::allowRight(bool a) +{ allow(Qt::RightToolBarArea, a); } + +void ToolBar::allowTop(bool a) +{ allow(Qt::TopToolBarArea, a); } + +void ToolBar::allowBottom(bool a) +{ allow(Qt::BottomToolBarArea, a); } + +void ToolBar::placeLeft(bool p) +{ place(Qt::LeftToolBarArea, p); } + +void ToolBar::placeRight(bool p) +{ place(Qt::RightToolBarArea, p); } + +void ToolBar::placeTop(bool p) +{ place(Qt::TopToolBarArea, p); } + +void ToolBar::placeBottom(bool p) +{ place(Qt::BottomToolBarArea, p); } + +void ToolBar::insertToolBarBreak() +{ + QMainWindow *mainWindow = qobject_cast(parentWidget()); + Q_ASSERT(mainWindow != 0); + + mainWindow->insertToolBarBreak(this); +} + +void ToolBar::enterEvent(QEvent*) +{ +/* + These labels on top of toolbars look darn ugly + + if (tip == 0) { + tip = new QLabel(windowTitle(), this); + QPalette pal = tip->palette(); + QColor c = Qt::black; + c.setAlpha(100); + pal.setColor(QPalette::Window, c); + pal.setColor(QPalette::Foreground, Qt::white); + tip->setPalette(pal); + tip->setAutoFillBackground(true); + tip->setMargin(3); + tip->setText(windowTitle()); + } + QPoint c = rect().center(); + QSize hint = tip->sizeHint(); + tip->setGeometry(c.x() - hint.width()/2, c.y() - hint.height()/2, + hint.width(), hint.height()); + + tip->show(); +*/ +} + +void ToolBar::leaveEvent(QEvent*) +{ + if (tip != 0) + tip->hide(); +} diff --git a/demos/mainwindow/toolbar.h b/demos/mainwindow/toolbar.h new file mode 100644 index 0000000..a9b9af2 --- /dev/null +++ b/demos/mainwindow/toolbar.h @@ -0,0 +1,118 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TOOLBAR_H +#define TOOLBAR_H + +#include + +QT_FORWARD_DECLARE_CLASS(QAction) +QT_FORWARD_DECLARE_CLASS(QActionGroup) +QT_FORWARD_DECLARE_CLASS(QMenu) +QT_FORWARD_DECLARE_CLASS(QSpinBox) +QT_FORWARD_DECLARE_CLASS(QLabel) + +class ToolBar : public QToolBar +{ + Q_OBJECT + + QSpinBox *spinbox; + QAction *spinboxAction; + + QAction *orderAction; + QAction *randomizeAction; + QAction *addSpinBoxAction; + QAction *removeSpinBoxAction; + + QAction *movableAction; + + QActionGroup *allowedAreasActions; + QAction *allowLeftAction; + QAction *allowRightAction; + QAction *allowTopAction; + QAction *allowBottomAction; + + QActionGroup *areaActions; + QAction *leftAction; + QAction *rightAction; + QAction *topAction; + QAction *bottomAction; + + QAction *toolBarBreakAction; + +public: + ToolBar(const QString &title, QWidget *parent); + + QMenu *menu; + +protected: + void enterEvent(QEvent*); + void leaveEvent(QEvent*); + +private: + void allow(Qt::ToolBarArea area, bool allow); + void place(Qt::ToolBarArea area, bool place); + QLabel *tip; + +private slots: + void order(); + void randomize(); + void addSpinBox(); + void removeSpinBox(); + + void changeMovable(bool movable); + + void allowLeft(bool a); + void allowRight(bool a); + void allowTop(bool a); + void allowBottom(bool a); + + void placeLeft(bool p); + void placeRight(bool p); + void placeTop(bool p); + void placeBottom(bool p); + + void updateMenu(); + void insertToolBarBreak(); + +}; + +#endif diff --git a/demos/mediaplayer/images/screen.png b/demos/mediaplayer/images/screen.png new file mode 100644 index 0000000..a15df92 Binary files /dev/null and b/demos/mediaplayer/images/screen.png differ diff --git a/demos/mediaplayer/main.cpp b/demos/mediaplayer/main.cpp new file mode 100644 index 0000000..279a6c7 --- /dev/null +++ b/demos/mediaplayer/main.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#include +#include "mediaplayer.h" + +int main (int argc, char *argv[]) +{ + Q_INIT_RESOURCE(mediaplayer); + QApplication app(argc, argv); + app.setApplicationName("Media Player"); + app.setOrganizationName("Trolltech"); + app.setQuitOnLastWindowClosed(true); + + QString fileString = app.arguments().value(1); + MediaPlayer player(fileString); + player.show(); + + return app.exec(); +} + diff --git a/demos/mediaplayer/mediaplayer.cpp b/demos/mediaplayer/mediaplayer.cpp new file mode 100644 index 0000000..5f5a5dc --- /dev/null +++ b/demos/mediaplayer/mediaplayer.cpp @@ -0,0 +1,840 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#include + +#define SLIDER_RANGE 8 + +#include "mediaplayer.h" +#include "ui_settings.h" + + +class MediaVideoWidget : public Phonon::VideoWidget +{ +public: + MediaVideoWidget(MediaPlayer *player, QWidget *parent = 0) : + Phonon::VideoWidget(parent), m_player(player), m_action(this) + { + m_action.setCheckable(true); + m_action.setChecked(false); + m_action.setShortcut(QKeySequence( Qt::AltModifier + Qt::Key_Return)); + m_action.setShortcutContext(Qt::WindowShortcut); + connect(&m_action, SIGNAL(toggled(bool)), SLOT(setFullScreen(bool))); + addAction(&m_action); + setAcceptDrops(true); + } + +protected: + void mouseDoubleClickEvent(QMouseEvent *e) + { + Phonon::VideoWidget::mouseDoubleClickEvent(e); + setFullScreen(!isFullScreen()); + } + + void keyPressEvent(QKeyEvent *e) + { + if (e->key() == Qt::Key_Space && !e->modifiers()) { + m_player->playPause(); + e->accept(); + return; + } else if (e->key() == Qt::Key_Escape && !e->modifiers()) { + setFullScreen(false); + e->accept(); + return; + } + Phonon::VideoWidget::keyPressEvent(e); + } + + bool event(QEvent *e) + { + switch(e->type()) + { + case QEvent::Close: + //we just ignore the cose events on the video widget + //this prevents ALT+F4 from having an effect in fullscreen mode + e->ignore(); + return true; + case QEvent::MouseMove: +#ifndef QT_NO_CURSOR + unsetCursor(); +#endif + //fall through + case QEvent::WindowStateChange: + { + //we just update the state of the checkbox, in case it wasn't already + m_action.setChecked(windowState() & Qt::WindowFullScreen); + const Qt::WindowFlags flags = m_player->windowFlags(); + if (windowState() & Qt::WindowFullScreen) { + m_timer.start(1000, this); + } else { + m_timer.stop(); +#ifndef QT_NO_CURSOR + unsetCursor(); +#endif + } + } + break; + default: + break; + } + + return Phonon::VideoWidget::event(e); + } + + void timerEvent(QTimerEvent *e) + { + if (e->timerId() == m_timer.timerId()) { + //let's store the cursor shape +#ifndef QT_NO_CURSOR + setCursor(Qt::BlankCursor); +#endif + } + Phonon::VideoWidget::timerEvent(e); + } + + void dropEvent(QDropEvent *e) + { + m_player->handleDrop(e); + } + + void dragEnterEvent(QDragEnterEvent *e) { + if (e->mimeData()->hasUrls()) + e->acceptProposedAction(); + } + +private: + MediaPlayer *m_player; + QBasicTimer m_timer; + QAction m_action; +}; + + +MediaPlayer::MediaPlayer(const QString &filePath) : + playButton(0), nextEffect(0), settingsDialog(0), ui(0), + m_AudioOutput(Phonon::VideoCategory), + m_videoWidget(new MediaVideoWidget(this)) +{ + setWindowTitle(tr("Media Player")); + setContextMenuPolicy(Qt::CustomContextMenu); + m_videoWidget->setContextMenuPolicy(Qt::CustomContextMenu); + + QSize buttonSize(34, 28); + + QPushButton *openButton = new QPushButton(this); + + openButton->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton)); + QPalette bpal; + QColor arrowcolor = bpal.buttonText().color(); + if (arrowcolor == Qt::black) + arrowcolor = QColor(80, 80, 80); + bpal.setBrush(QPalette::ButtonText, arrowcolor); + openButton->setPalette(bpal); + + rewindButton = new QPushButton(this); + rewindButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); + + forwardButton = new QPushButton(this); + forwardButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); + forwardButton->setEnabled(false); + + playButton = new QPushButton(this); + playIcon = style()->standardIcon(QStyle::SP_MediaPlay); + pauseIcon = style()->standardIcon(QStyle::SP_MediaPause); + playButton->setIcon(playIcon); + + slider = new Phonon::SeekSlider(this); + slider->setMediaObject(&m_MediaObject); + volume = new Phonon::VolumeSlider(&m_AudioOutput); + + QVBoxLayout *vLayout = new QVBoxLayout(this); + vLayout->setContentsMargins(8, 8, 8, 8); + + QHBoxLayout *layout = new QHBoxLayout(); + + info = new QLabel(this); + info->setMinimumHeight(70); + info->setAcceptDrops(false); + info->setMargin(2); + info->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + info->setLineWidth(2); + info->setAutoFillBackground(true); + + QPalette palette; + palette.setBrush(QPalette::WindowText, Qt::white); +#ifndef Q_WS_MAC + openButton->setMinimumSize(54, buttonSize.height()); + rewindButton->setMinimumSize(buttonSize); + forwardButton->setMinimumSize(buttonSize); + playButton->setMinimumSize(buttonSize); +#endif + info->setStyleSheet("border-image:url(:/images/screen.png) ; border-width:3px"); + info->setPalette(palette); + info->setText(tr("
No media
")); + + volume->setFixedWidth(120); + + layout->addWidget(openButton); + layout->addWidget(rewindButton); + layout->addWidget(playButton); + layout->addWidget(forwardButton); + + layout->addStretch(); + layout->addWidget(volume); + + vLayout->addWidget(info); + initVideoWindow(); + vLayout->addWidget(&m_videoWindow); + QVBoxLayout *buttonPanelLayout = new QVBoxLayout(); + m_videoWindow.hide(); + buttonPanelLayout->addLayout(layout); + + timeLabel = new QLabel(this); + progressLabel = new QLabel(this); + QWidget *sliderPanel = new QWidget(this); + QHBoxLayout *sliderLayout = new QHBoxLayout(); + sliderLayout->addWidget(slider); + sliderLayout->addWidget(timeLabel); + sliderLayout->addWidget(progressLabel); + sliderLayout->setContentsMargins(0, 0, 0, 0); + sliderPanel->setLayout(sliderLayout); + + buttonPanelLayout->addWidget(sliderPanel); + buttonPanelLayout->setContentsMargins(0, 0, 0, 0); +#ifdef Q_OS_MAC + layout->setSpacing(4); + buttonPanelLayout->setSpacing(0); + info->setMinimumHeight(100); + info->setFont(QFont("verdana", 15)); + // QStyle *flatButtonStyle = new QWindowsStyle; + openButton->setFocusPolicy(Qt::NoFocus); + // openButton->setStyle(flatButtonStyle); + // playButton->setStyle(flatButtonStyle); + // rewindButton->setStyle(flatButtonStyle); + // forwardButton->setStyle(flatButtonStyle); + #endif + QWidget *buttonPanelWidget = new QWidget(this); + buttonPanelWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + buttonPanelWidget->setLayout(buttonPanelLayout); + vLayout->addWidget(buttonPanelWidget); + + QHBoxLayout *labelLayout = new QHBoxLayout(); + + vLayout->addLayout(labelLayout); + setLayout(vLayout); + + // Create menu bar: + fileMenu = new QMenu(this); + QAction *openFileAction = fileMenu->addAction(tr("Open &File...")); + QAction *openUrlAction = fileMenu->addAction(tr("Open &Location...")); + + fileMenu->addSeparator(); + QMenu *aspectMenu = fileMenu->addMenu(tr("&Aspect ratio")); + QActionGroup *aspectGroup = new QActionGroup(aspectMenu); + connect(aspectGroup, SIGNAL(triggered(QAction *)), this, SLOT(aspectChanged(QAction *))); + aspectGroup->setExclusive(true); + QAction *aspectActionAuto = aspectMenu->addAction(tr("Auto")); + aspectActionAuto->setCheckable(true); + aspectActionAuto->setChecked(true); + aspectGroup->addAction(aspectActionAuto); + QAction *aspectActionScale = aspectMenu->addAction(tr("Scale")); + aspectActionScale->setCheckable(true); + aspectGroup->addAction(aspectActionScale); + QAction *aspectAction16_9 = aspectMenu->addAction(tr("16/9")); + aspectAction16_9->setCheckable(true); + aspectGroup->addAction(aspectAction16_9); + QAction *aspectAction4_3 = aspectMenu->addAction(tr("4/3")); + aspectAction4_3->setCheckable(true); + aspectGroup->addAction(aspectAction4_3); + + QMenu *scaleMenu = fileMenu->addMenu(tr("&Scale mode")); + QActionGroup *scaleGroup = new QActionGroup(scaleMenu); + connect(scaleGroup, SIGNAL(triggered(QAction *)), this, SLOT(scaleChanged(QAction *))); + scaleGroup->setExclusive(true); + QAction *scaleActionFit = scaleMenu->addAction(tr("Fit in view")); + scaleActionFit->setCheckable(true); + scaleActionFit->setChecked(true); + scaleGroup->addAction(scaleActionFit); + QAction *scaleActionCrop = scaleMenu->addAction(tr("Scale and crop")); + scaleActionCrop->setCheckable(true); + scaleGroup->addAction(scaleActionCrop); + + fileMenu->addSeparator(); + QAction *settingsAction = fileMenu->addAction(tr("&Settings...")); + + // Setup signal connections: + connect(rewindButton, SIGNAL(clicked()), this, SLOT(rewind())); + //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + openButton->setMenu(fileMenu); + + connect(playButton, SIGNAL(clicked()), this, SLOT(playPause())); + connect(forwardButton, SIGNAL(clicked()), this, SLOT(forward())); + //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + connect(settingsAction, SIGNAL(triggered(bool)), this, SLOT(showSettingsDialog())); + connect(openUrlAction, SIGNAL(triggered(bool)), this, SLOT(openUrl())); + connect(openFileAction, SIGNAL(triggered(bool)), this, SLOT(openFile())); + + connect(m_videoWidget, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); + connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); + connect(&m_MediaObject, SIGNAL(metaDataChanged()), this, SLOT(updateInfo())); + connect(&m_MediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(updateTime())); + connect(&m_MediaObject, SIGNAL(tick(qint64)), this, SLOT(updateTime())); + connect(&m_MediaObject, SIGNAL(finished()), this, SLOT(finished())); + connect(&m_MediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(stateChanged(Phonon::State, Phonon::State))); + connect(&m_MediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int))); + + rewindButton->setEnabled(false); + playButton->setEnabled(false); + setAcceptDrops(true); + + m_audioOutputPath = Phonon::createPath(&m_MediaObject, &m_AudioOutput); + Phonon::createPath(&m_MediaObject, m_videoWidget); + + if (!filePath.isEmpty()) + setFile(filePath); + resize(minimumSizeHint()); +} + +void MediaPlayer::stateChanged(Phonon::State newstate, Phonon::State oldstate) +{ + Q_UNUSED(oldstate); + + if (oldstate == Phonon::LoadingState) { + m_videoWindow.setVisible(m_MediaObject.hasVideo()); + info->setVisible(!m_MediaObject.hasVideo()); + QRect videoHintRect = QRect(QPoint(0, 0), m_videoWindow.sizeHint()); + QRect newVideoRect = QApplication::desktop()->screenGeometry().intersected(videoHintRect); + if (m_MediaObject.hasVideo()){ + // Flush event que so that sizeHint takes the + // recently shown/hidden m_videoWindow into account: + qApp->processEvents(); + resize(sizeHint()); + } else + resize(minimumSize()); + } + + switch (newstate) { + case Phonon::ErrorState: + QMessageBox::warning(this, "Phonon Mediaplayer", m_MediaObject.errorString(), QMessageBox::Close); + if (m_MediaObject.errorType() == Phonon::FatalError) { + playButton->setEnabled(false); + rewindButton->setEnabled(false); + } else { + m_MediaObject.pause(); + } + break; + case Phonon::PausedState: + case Phonon::StoppedState: + playButton->setIcon(playIcon); + if (m_MediaObject.currentSource().type() != Phonon::MediaSource::Invalid){ + playButton->setEnabled(true); + rewindButton->setEnabled(true); + } else { + playButton->setEnabled(false); + rewindButton->setEnabled(false); + } + break; + case Phonon::PlayingState: + playButton->setEnabled(true); + playButton->setIcon(pauseIcon); + if (m_MediaObject.hasVideo()) + m_videoWindow.show(); + // Fall through + case Phonon::BufferingState: + rewindButton->setEnabled(true); + break; + case Phonon::LoadingState: + rewindButton->setEnabled(false); + break; + } + +} + +void MediaPlayer::initSettingsDialog() +{ + settingsDialog = new QDialog(this); + ui = new Ui_settings(); + ui->setupUi(settingsDialog); + + connect(ui->brightnessSlider, SIGNAL(valueChanged(int)), this, SLOT(setBrightness(int))); + connect(ui->hueSlider, SIGNAL(valueChanged(int)), this, SLOT(setHue(int))); + connect(ui->saturationSlider, SIGNAL(valueChanged(int)), this, SLOT(setSaturation(int))); + connect(ui->contrastSlider , SIGNAL(valueChanged(int)), this, SLOT(setContrast(int))); + connect(ui->aspectCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setAspect(int))); + connect(ui->scalemodeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setScale(int))); + + ui->brightnessSlider->setValue(int(m_videoWidget->brightness() * SLIDER_RANGE)); + ui->hueSlider->setValue(int(m_videoWidget->hue() * SLIDER_RANGE)); + ui->saturationSlider->setValue(int(m_videoWidget->saturation() * SLIDER_RANGE)); + ui->contrastSlider->setValue(int(m_videoWidget->contrast() * SLIDER_RANGE)); + ui->aspectCombo->setCurrentIndex(m_videoWidget->aspectRatio()); + ui->scalemodeCombo->setCurrentIndex(m_videoWidget->scaleMode()); + connect(ui->effectButton, SIGNAL(clicked()), this, SLOT(configureEffect())); + +#ifdef Q_WS_X11 + //Cross fading is not currently implemented in the GStreamer backend + ui->crossFadeSlider->setVisible(false); + ui->crossFadeLabel->setVisible(false); + ui->crossFadeLabel1->setVisible(false); + ui->crossFadeLabel2->setVisible(false); + ui->crossFadeLabel3->setVisible(false); +#endif + ui->crossFadeSlider->setValue((int)(2 * m_MediaObject.transitionTime() / 1000.0f)); + + // Insert audio devices: + QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); + for (int i=0; ideviceCombo->addItem(itemText); + if (devices[i] == m_AudioOutput.outputDevice()) + ui->deviceCombo->setCurrentIndex(i); + } + + // Insert audio effects: + ui->audioEffectsCombo->addItem(tr("")); + QList currEffects = m_audioOutputPath.effects(); + Phonon::Effect *currEffect = currEffects.size() ? currEffects[0] : 0; + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + for (int i=0; iaudioEffectsCombo->addItem(availableEffects[i].name()); + if (currEffect && availableEffects[i] == currEffect->description()) + ui->audioEffectsCombo->setCurrentIndex(i+1); + } + connect(ui->audioEffectsCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(effectChanged())); + +} + +void MediaPlayer::effectChanged() +{ + int currentIndex = ui->audioEffectsCombo->currentIndex(); + if (currentIndex) { + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + Phonon::EffectDescription chosenEffect = availableEffects[currentIndex - 1]; + + QList currEffects = m_audioOutputPath.effects(); + Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; + + // Deleting the running effect will stop playback, it is deleted when removed from path + if (nextEffect && !(currentEffect && (currentEffect->description().name() == nextEffect->description().name()))) + delete nextEffect; + + nextEffect = new Phonon::Effect(chosenEffect); + } + ui->effectButton->setEnabled(currentIndex); +} + +void MediaPlayer::showSettingsDialog() +{ + if (!settingsDialog) + initSettingsDialog(); + + float oldBrightness = m_videoWidget->brightness(); + float oldHue = m_videoWidget->hue(); + float oldSaturation = m_videoWidget->saturation(); + float oldContrast = m_videoWidget->contrast(); + Phonon::VideoWidget::AspectRatio oldAspect = m_videoWidget->aspectRatio(); + Phonon::VideoWidget::ScaleMode oldScale = m_videoWidget->scaleMode(); + int currentEffect = ui->audioEffectsCombo->currentIndex(); + settingsDialog->exec(); + + if (settingsDialog->result() == QDialog::Accepted){ + m_MediaObject.setTransitionTime((int)(1000 * float(ui->crossFadeSlider->value()) / 2.0f)); + QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); + m_AudioOutput.setOutputDevice(devices[ui->deviceCombo->currentIndex()]); + QList currEffects = m_audioOutputPath.effects(); + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + + if (ui->audioEffectsCombo->currentIndex() > 0){ + Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; + if (!currentEffect || currentEffect->description() != nextEffect->description()){ + foreach(Phonon::Effect *effect, currEffects) { + m_audioOutputPath.removeEffect(effect); + delete effect; + } + m_audioOutputPath.insertEffect(nextEffect); + } + } else { + foreach(Phonon::Effect *effect, currEffects) { + m_audioOutputPath.removeEffect(effect); + delete effect; + nextEffect = 0; + } + } + } else { + // Restore previous settings + m_videoWidget->setBrightness(oldBrightness); + m_videoWidget->setSaturation(oldSaturation); + m_videoWidget->setHue(oldHue); + m_videoWidget->setContrast(oldContrast); + m_videoWidget->setAspectRatio(oldAspect); + m_videoWidget->setScaleMode(oldScale); + ui->audioEffectsCombo->setCurrentIndex(currentEffect); + } +} + +void MediaPlayer::initVideoWindow() +{ + QVBoxLayout *videoLayout = new QVBoxLayout(); + videoLayout->addWidget(m_videoWidget); + videoLayout->setContentsMargins(0, 0, 0, 0); + m_videoWindow.setLayout(videoLayout); + m_videoWindow.setMinimumSize(100, 100); +} + + +void MediaPlayer::configureEffect() +{ + if (!nextEffect) + return; + + + QList currEffects = m_audioOutputPath.effects(); + const QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + if (ui->audioEffectsCombo->currentIndex() > 0) { + Phonon::EffectDescription chosenEffect = availableEffects[ui->audioEffectsCombo->currentIndex() - 1]; + + QDialog effectDialog; + effectDialog.setWindowTitle(tr("Configure effect")); + QVBoxLayout *topLayout = new QVBoxLayout(&effectDialog); + + QLabel *description = new QLabel("Description:
" + chosenEffect.description(), &effectDialog); + description->setWordWrap(true); + topLayout->addWidget(description); + + QScrollArea *scrollArea = new QScrollArea(&effectDialog); + topLayout->addWidget(scrollArea); + + QVariantList savedParamValues; + foreach(Phonon::EffectParameter param, nextEffect->parameters()) { + savedParamValues << nextEffect->parameterValue(param); + } + + QWidget *scrollWidget = new Phonon::EffectWidget(nextEffect); + scrollWidget->setMinimumWidth(320); + scrollWidget->setContentsMargins(10, 10, 10,10); + scrollArea->setWidget(scrollWidget); + + QDialogButtonBox *bbox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, &effectDialog); + connect(bbox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), &effectDialog, SLOT(accept())); + connect(bbox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), &effectDialog, SLOT(reject())); + topLayout->addWidget(bbox); + + effectDialog.exec(); + + if (effectDialog.result() != QDialog::Accepted) { + //we need to restore the paramaters values + int currentIndex = 0; + foreach(Phonon::EffectParameter param, nextEffect->parameters()) { + nextEffect->setParameterValue(param, savedParamValues.at(currentIndex++)); + } + + } + } +} + +void MediaPlayer::handleDrop(QDropEvent *e) +{ + QList urls = e->mimeData()->urls(); + if (e->proposedAction() == Qt::MoveAction){ + // Just add to the queue: + for (int i=0; i 0) { + QString fileName = urls[0].toLocalFile(); + QDir dir(fileName); + if (dir.exists()) { + dir.setFilter(QDir::Files); + QStringList entries = dir.entryList(); + if (entries.size() > 0) { + setFile(fileName + QDir::separator() + entries[0]); + for (int i=1; i< entries.size(); ++i) + m_MediaObject.enqueue(fileName + QDir::separator() + entries[i]); + } + } else { + setFile(fileName); + for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); + m_MediaObject.play(); +} + +void MediaPlayer::dropEvent(QDropEvent *e) +{ + if (e->mimeData()->hasUrls() && e->proposedAction() != Qt::LinkAction) { + e->acceptProposedAction(); + handleDrop(e); + } else { + e->ignore(); + } +} + +void MediaPlayer::dragEnterEvent(QDragEnterEvent *e) +{ + dragMoveEvent(e); +} + +void MediaPlayer::dragMoveEvent(QDragMoveEvent *e) +{ + if (e->mimeData()->hasUrls()) { + if (e->proposedAction() == Qt::CopyAction || e->proposedAction() == Qt::MoveAction){ + e->acceptProposedAction(); + } + } +} + +void MediaPlayer::playPause() +{ + if (m_MediaObject.state() == Phonon::PlayingState) + m_MediaObject.pause(); + else { + if (m_MediaObject.currentTime() == m_MediaObject.totalTime()) + m_MediaObject.seek(0); + m_MediaObject.play(); + } +} + +void MediaPlayer::setFile(const QString &fileName) +{ + setWindowTitle(fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1)); + m_MediaObject.setCurrentSource(Phonon::MediaSource(fileName)); + m_MediaObject.play(); +} + +void MediaPlayer::openFile() +{ + QStringList fileNames = QFileDialog::getOpenFileNames(this); + m_MediaObject.clearQueue(); + if (fileNames.size() > 0) { + QString fileName = fileNames[0]; + setFile(fileName); + for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); +} + +void MediaPlayer::bufferStatus(int percent) +{ + if (percent == 0 || percent == 100) + progressLabel->setText(QString()); + else { + QString str = QString::fromLatin1("(%1%)").arg(percent); + progressLabel->setText(str); + } +} + +void MediaPlayer::setSaturation(int val) +{ + m_videoWidget->setSaturation(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setHue(int val) +{ + m_videoWidget->setHue(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setAspect(int val) +{ + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio(val)); +} + +void MediaPlayer::setScale(int val) +{ + m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleMode(val)); +} + +void MediaPlayer::setBrightness(int val) +{ + m_videoWidget->setBrightness(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setContrast(int val) +{ + m_videoWidget->setContrast(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::updateInfo() +{ + int maxLength = 30; + QString font = ""; + QString fontmono = ""; + + QMap metaData = m_MediaObject.metaData(); + QString trackArtist = metaData.value("ARTIST"); + if (trackArtist.length() > maxLength) + trackArtist = trackArtist.left(maxLength) + "..."; + + QString trackTitle = metaData.value("TITLE"); + int trackBitrate = metaData.value("BITRATE").toInt(); + + QString fileName; + if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { + fileName = m_MediaObject.currentSource().url().toString(); + } else { + fileName = m_MediaObject.currentSource().fileName(); + fileName = fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1); + if (fileName.length() > maxLength) + fileName = fileName.left(maxLength) + "..."; + } + + QString title; + if (!trackTitle.isEmpty()) { + if (trackTitle.length() > maxLength) + trackTitle = trackTitle.left(maxLength) + "..."; + title = "Title: " + font + trackTitle + "
"; + } else if (!fileName.isEmpty()) { + if (fileName.length() > maxLength) + fileName = fileName.left(maxLength) + "..."; + title = font + fileName + "
"; + if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { + title.prepend("Url: "); + } else { + title.prepend("File: "); + } + } + + QString artist; + if (!trackArtist.isEmpty()) + artist = "Artist: " + font + trackArtist + ""; + + QString bitrate; + if (trackBitrate != 0) + bitrate = "
Bitrate: " + font + QString::number(trackBitrate/1000) + "kbit"; + + info->setText(title + artist + bitrate); +} + +void MediaPlayer::updateTime() +{ + long len = m_MediaObject.totalTime(); + long pos = m_MediaObject.currentTime(); + QString timeString; + if (pos || len) + { + int sec = pos/1000; + int min = sec/60; + int hour = min/60; + int msec = pos; + + QTime playTime(hour%60, min%60, sec%60, msec%1000); + sec = len / 1000; + min = sec / 60; + hour = min / 60; + msec = len; + + QTime stopTime(hour%60, min%60, sec%60, msec%1000); + QString timeFormat = "m:ss"; + if (hour > 0) + timeFormat = "h:mm:ss"; + timeString = playTime.toString(timeFormat); + if (len) + timeString += " / " + stopTime.toString(timeFormat); + } + timeLabel->setText(timeString); +} + +void MediaPlayer::rewind() +{ + m_MediaObject.seek(0); +} + +void MediaPlayer::forward() +{ + QList queue = m_MediaObject.queue(); + if (queue.size() > 0) { + m_MediaObject.setCurrentSource(queue[0]); + forwardButton->setEnabled(queue.size() > 1); + m_MediaObject.play(); + } +} + +void MediaPlayer::openUrl() +{ + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + QString sourceURL = settings.value("location").toString(); + bool ok = false; + sourceURL = QInputDialog::getText(this, tr("Open Location"), tr("Please enter a valid address here:"), QLineEdit::Normal, sourceURL, &ok); + if (ok && !sourceURL.isEmpty()) { + setWindowTitle(sourceURL.right(sourceURL.length() - sourceURL.lastIndexOf('/') - 1)); + m_MediaObject.setCurrentSource(Phonon::MediaSource(QUrl::fromEncoded(sourceURL.toUtf8()))); + m_MediaObject.play(); + settings.setValue("location", sourceURL); + } +} + +void MediaPlayer::finished() +{ +} + +void MediaPlayer::showContextMenu(const QPoint &p) +{ + fileMenu->popup(m_videoWidget->isFullScreen() ? p : mapToGlobal(p)); +} + +void MediaPlayer::scaleChanged(QAction *act) +{ + if (act->text() == tr("Scale and crop")) + m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop); + else + m_videoWidget->setScaleMode(Phonon::VideoWidget::FitInView); +} + +void MediaPlayer::aspectChanged(QAction *act) +{ + if (act->text() == tr("16/9")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio16_9); + else if (act->text() == tr("Scale")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioWidget); + else if (act->text() == tr("4/3")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio4_3); + else + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto); +} + diff --git a/demos/mediaplayer/mediaplayer.h b/demos/mediaplayer/mediaplayer.h new file mode 100644 index 0000000..d162435 --- /dev/null +++ b/demos/mediaplayer/mediaplayer.h @@ -0,0 +1,137 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#ifndef MEDIALAYER_H +#define MEDIAPLAYER_H + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE +class QPushButton; +class QLabel; +class QSlider; +class QTextEdit; +class QMenu; +class Ui_settings; +QT_END_NAMESPACE + +class MediaPlayer : + public QWidget +{ + Q_OBJECT +public: + MediaPlayer(const QString &); + + void dragEnterEvent(QDragEnterEvent *e); + void dragMoveEvent(QDragMoveEvent *e); + void dropEvent(QDropEvent *e); + void handleDrop(QDropEvent *e); + void setFile(const QString &text); + void initVideoWindow(); + void initSettingsDialog(); + +public slots: + void openFile(); + void rewind(); + void forward(); + void updateInfo(); + void updateTime(); + void finished(); + void playPause(); + void scaleChanged(QAction *); + void aspectChanged(QAction *); + +private slots: + void setAspect(int); + void setScale(int); + void setSaturation(int); + void setContrast(int); + void setHue(int); + void setBrightness(int); + void stateChanged(Phonon::State newstate, Phonon::State oldstate); + void effectChanged(); + void showSettingsDialog(); + void showContextMenu(const QPoint &); + void bufferStatus(int percent); + void openUrl(); + void configureEffect(); + +private: + QIcon playIcon; + QIcon pauseIcon; + QMenu *fileMenu; + QPushButton *playButton; + QPushButton *rewindButton; + QPushButton *forwardButton; + Phonon::SeekSlider *slider; + QLabel *timeLabel; + QLabel *progressLabel; + Phonon::VolumeSlider *volume; + QSlider *m_hueSlider; + QSlider *m_satSlider; + QSlider *m_contSlider; + QLabel *info; + Phonon::Effect *nextEffect; + QDialog *settingsDialog; + Ui_settings *ui; + + QWidget m_videoWindow; + Phonon::MediaObject m_MediaObject; + Phonon::AudioOutput m_AudioOutput; + Phonon::VideoWidget *m_videoWidget; + Phonon::Path m_audioOutputPath; +}; + +#endif //MEDIAPLAYER_H diff --git a/demos/mediaplayer/mediaplayer.pro b/demos/mediaplayer/mediaplayer.pro new file mode 100644 index 0000000..c64abd9 --- /dev/null +++ b/demos/mediaplayer/mediaplayer.pro @@ -0,0 +1,28 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Thu Aug 23 18:02:14 2007 +###################################################################### + +TEMPLATE = app +TARGET = +DEPENDPATH += . build src ui + +QT += phonon + +FORMS += settings.ui +RESOURCES += mediaplayer.qrc + +!win32:CONFIG += CONSOLE + +SOURCES += main.cpp mediaplayer.cpp +HEADERS += mediaplayer.h + +target.path = $$[QT_INSTALL_DEMOS]/mediaplayer +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.html *.doc images +sources.path = $$[QT_INSTALL_DEMOS]/mediaplayer +INSTALLS += target sources + +wince*{ +DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout +} + + diff --git a/demos/mediaplayer/mediaplayer.qrc b/demos/mediaplayer/mediaplayer.qrc new file mode 100644 index 0000000..bcdf404 --- /dev/null +++ b/demos/mediaplayer/mediaplayer.qrc @@ -0,0 +1,5 @@ + + + images/screen.png + + diff --git a/demos/mediaplayer/settings.ui b/demos/mediaplayer/settings.ui new file mode 100644 index 0000000..d2cedd4 --- /dev/null +++ b/demos/mediaplayer/settings.ui @@ -0,0 +1,464 @@ + + settings + + + + 0 + 0 + 360 + 362 + + + + Settings + + + + + + Video options: + + + true + + + + + + Contrast: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Brightness: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Saturation: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Hue: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Aspect ratio: + + + + + + + + 180 + 0 + + + + + Auto + + + + + Stretch + + + + + 4/3 + + + + + 16/9 + + + + + + + + Scale Mode: + + + + + + + + 180 + 0 + + + + + Fit in view + + + + + Scale and crop + + + + + + + + + + + Audio options: + + + true + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Audio device: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Audio effect: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + + + + + false + + + Setup + + + + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Cross fade: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + 0 + 0 + + + + -20 + + + 20 + + + 1 + + + 2 + + + 0 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + + + + + + + + 9 + + + + -10 Sec + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 9 + + + + 0 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 9 + + + + 10 Sec + + + + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + settings + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + settings + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/demos/pathstroke/main.cpp b/demos/pathstroke/main.cpp new file mode 100644 index 0000000..613d835 --- /dev/null +++ b/demos/pathstroke/main.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "pathstroke.h" +#include + +int main(int argc, char **argv) +{ + Q_INIT_RESOURCE(pathstroke); + + QApplication app(argc, argv); + + bool smallScreen = false; + for (int i=0; i widgets = qFindChildren(&pathStrokeWidget); + foreach (QWidget *w, widgets) + w->setStyle(arthurStyle); + + if (smallScreen) + pathStrokeWidget.showFullScreen(); + else + pathStrokeWidget.show(); + + return app.exec(); +} diff --git a/demos/pathstroke/pathstroke.cpp b/demos/pathstroke/pathstroke.cpp new file mode 100644 index 0000000..d079490 --- /dev/null +++ b/demos/pathstroke/pathstroke.cpp @@ -0,0 +1,599 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "pathstroke.h" +#include "arthurstyle.h" +#include "arthurwidgets.h" + +#include + +extern void draw_round_rect(QPainter *p, const QRect &bounds, int radius); + + +PathStrokeControls::PathStrokeControls(QWidget* parent, PathStrokeRenderer* renderer, bool smallScreen) + : QWidget(parent) +{ + m_renderer = renderer; + + if (smallScreen) + layoutForSmallScreens(); + else + layoutForDesktop(); +} + +void PathStrokeControls::createCommonControls(QWidget* parent) +{ + m_capGroup = new QGroupBox(parent); + m_capGroup->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + QRadioButton *flatCap = new QRadioButton(m_capGroup); + QRadioButton *squareCap = new QRadioButton(m_capGroup); + QRadioButton *roundCap = new QRadioButton(m_capGroup); + m_capGroup->setTitle(tr("Cap Style")); + flatCap->setText(tr("Flat")); + squareCap->setText(tr("Square")); + roundCap->setText(tr("Round")); + flatCap->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + squareCap->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + roundCap->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + + m_joinGroup = new QGroupBox(parent); + m_joinGroup->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + QRadioButton *bevelJoin = new QRadioButton(m_joinGroup); + QRadioButton *miterJoin = new QRadioButton(m_joinGroup); + QRadioButton *roundJoin = new QRadioButton(m_joinGroup); + m_joinGroup->setTitle(tr("Join Style")); + bevelJoin->setText(tr("Bevel")); + miterJoin->setText(tr("Miter")); + roundJoin->setText(tr("Round")); + + m_styleGroup = new QGroupBox(parent); + m_styleGroup->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + QRadioButton *solidLine = new QRadioButton(m_styleGroup); + QRadioButton *dashLine = new QRadioButton(m_styleGroup); + QRadioButton *dotLine = new QRadioButton(m_styleGroup); + QRadioButton *dashDotLine = new QRadioButton(m_styleGroup); + QRadioButton *dashDotDotLine = new QRadioButton(m_styleGroup); + QRadioButton *customDashLine = new QRadioButton(m_styleGroup); + m_styleGroup->setTitle(tr("Pen Style")); + + QPixmap line_solid(":res/images/line_solid.png"); + solidLine->setIcon(line_solid); + solidLine->setIconSize(line_solid.size()); + QPixmap line_dashed(":res/images/line_dashed.png"); + dashLine->setIcon(line_dashed); + dashLine->setIconSize(line_dashed.size()); + QPixmap line_dotted(":res/images/line_dotted.png"); + dotLine->setIcon(line_dotted); + dotLine->setIconSize(line_dotted.size()); + QPixmap line_dash_dot(":res/images/line_dash_dot.png"); + dashDotLine->setIcon(line_dash_dot); + dashDotLine->setIconSize(line_dash_dot.size()); + QPixmap line_dash_dot_dot(":res/images/line_dash_dot_dot.png"); + dashDotDotLine->setIcon(line_dash_dot_dot); + dashDotDotLine->setIconSize(line_dash_dot_dot.size()); + customDashLine->setText(tr("Custom")); + + int fixedHeight = bevelJoin->sizeHint().height(); + solidLine->setFixedHeight(fixedHeight); + dashLine->setFixedHeight(fixedHeight); + dotLine->setFixedHeight(fixedHeight); + dashDotLine->setFixedHeight(fixedHeight); + dashDotDotLine->setFixedHeight(fixedHeight); + + m_pathModeGroup = new QGroupBox(parent); + m_pathModeGroup->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + QRadioButton *curveMode = new QRadioButton(m_pathModeGroup); + QRadioButton *lineMode = new QRadioButton(m_pathModeGroup); + m_pathModeGroup->setTitle(tr("Line Style")); + curveMode->setText(tr("Curves")); + lineMode->setText(tr("Lines")); + + + // Layouts + QVBoxLayout *capGroupLayout = new QVBoxLayout(m_capGroup); + capGroupLayout->addWidget(flatCap); + capGroupLayout->addWidget(squareCap); + capGroupLayout->addWidget(roundCap); + + QVBoxLayout *joinGroupLayout = new QVBoxLayout(m_joinGroup); + joinGroupLayout->addWidget(bevelJoin); + joinGroupLayout->addWidget(miterJoin); + joinGroupLayout->addWidget(roundJoin); + + QVBoxLayout *styleGroupLayout = new QVBoxLayout(m_styleGroup); + styleGroupLayout->addWidget(solidLine); + styleGroupLayout->addWidget(dashLine); + styleGroupLayout->addWidget(dotLine); + styleGroupLayout->addWidget(dashDotLine); + styleGroupLayout->addWidget(dashDotDotLine); + styleGroupLayout->addWidget(customDashLine); + + QVBoxLayout *pathModeGroupLayout = new QVBoxLayout(m_pathModeGroup); + pathModeGroupLayout->addWidget(curveMode); + pathModeGroupLayout->addWidget(lineMode); + + + // Connections + connect(flatCap, SIGNAL(clicked()), m_renderer, SLOT(setFlatCap())); + connect(squareCap, SIGNAL(clicked()), m_renderer, SLOT(setSquareCap())); + connect(roundCap, SIGNAL(clicked()), m_renderer, SLOT(setRoundCap())); + + connect(bevelJoin, SIGNAL(clicked()), m_renderer, SLOT(setBevelJoin())); + connect(miterJoin, SIGNAL(clicked()), m_renderer, SLOT(setMiterJoin())); + connect(roundJoin, SIGNAL(clicked()), m_renderer, SLOT(setRoundJoin())); + + connect(curveMode, SIGNAL(clicked()), m_renderer, SLOT(setCurveMode())); + connect(lineMode, SIGNAL(clicked()), m_renderer, SLOT(setLineMode())); + + connect(solidLine, SIGNAL(clicked()), m_renderer, SLOT(setSolidLine())); + connect(dashLine, SIGNAL(clicked()), m_renderer, SLOT(setDashLine())); + connect(dotLine, SIGNAL(clicked()), m_renderer, SLOT(setDotLine())); + connect(dashDotLine, SIGNAL(clicked()), m_renderer, SLOT(setDashDotLine())); + connect(dashDotDotLine, SIGNAL(clicked()), m_renderer, SLOT(setDashDotDotLine())); + connect(customDashLine, SIGNAL(clicked()), m_renderer, SLOT(setCustomDashLine())); + + // Set the defaults: + flatCap->setChecked(true); + bevelJoin->setChecked(true); + curveMode->setChecked(true); + solidLine->setChecked(true); +} + + +void PathStrokeControls::layoutForDesktop() +{ + QGroupBox *mainGroup = new QGroupBox(this); + mainGroup->setFixedWidth(180); + mainGroup->setTitle(tr("Path Stroking")); + + createCommonControls(mainGroup); + + QGroupBox* penWidthGroup = new QGroupBox(mainGroup); + QSlider *penWidth = new QSlider(Qt::Horizontal, penWidthGroup); + penWidth->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + penWidthGroup->setTitle(tr("Pen Width")); + penWidth->setRange(0, 500); + + QPushButton *animated = new QPushButton(mainGroup); + animated->setText(tr("Animate")); + animated->setCheckable(true); + + QPushButton *showSourceButton = new QPushButton(mainGroup); + showSourceButton->setText(tr("Show Source")); +#ifdef QT_OPENGL_SUPPORT + QPushButton *enableOpenGLButton = new QPushButton(mainGroup); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(true); + enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); + if (!QGLFormat::hasOpenGL()) + enableOpenGLButton->hide(); +#endif + QPushButton *whatsThisButton = new QPushButton(mainGroup); + whatsThisButton->setText(tr("What's This?")); + whatsThisButton->setCheckable(true); + + + // Layouts: + QVBoxLayout *penWidthLayout = new QVBoxLayout(penWidthGroup); + penWidthLayout->addWidget(penWidth); + + QVBoxLayout * mainLayout = new QVBoxLayout(this); + mainLayout->setMargin(0); + mainLayout->addWidget(mainGroup); + + QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); + mainGroupLayout->setMargin(3); + mainGroupLayout->addWidget(m_capGroup); + mainGroupLayout->addWidget(m_joinGroup); + mainGroupLayout->addWidget(m_styleGroup); + mainGroupLayout->addWidget(penWidthGroup); + mainGroupLayout->addWidget(m_pathModeGroup); + mainGroupLayout->addWidget(animated); + mainGroupLayout->addStretch(1); + mainGroupLayout->addWidget(showSourceButton); +#ifdef QT_OPENGL_SUPPORT + mainGroupLayout->addWidget(enableOpenGLButton); +#endif + mainGroupLayout->addWidget(whatsThisButton); + + + // Set up connections + connect(animated, SIGNAL(toggled(bool)), + m_renderer, SLOT(setAnimation(bool))); + + connect(penWidth, SIGNAL(valueChanged(int)), + m_renderer, SLOT(setPenWidth(int))); + + connect(showSourceButton, SIGNAL(clicked()), m_renderer, SLOT(showSource())); +#ifdef QT_OPENGL_SUPPORT + connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); +#endif + connect(whatsThisButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setDescriptionEnabled(bool))); + connect(m_renderer, SIGNAL(descriptionEnabledChanged(bool)), + whatsThisButton, SLOT(setChecked(bool))); + + + // Set the defaults + animated->setChecked(true); + penWidth->setValue(50); + +} + +void PathStrokeControls::layoutForSmallScreens() +{ + createCommonControls(this); + + m_capGroup->layout()->setMargin(0); + m_joinGroup->layout()->setMargin(0); + m_styleGroup->layout()->setMargin(0); + m_pathModeGroup->layout()->setMargin(0); + + QPushButton* okBtn = new QPushButton(tr("OK"), this); + okBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + okBtn->setMinimumSize(100,okBtn->minimumSize().height()); + + QPushButton* quitBtn = new QPushButton(tr("Quit"), this); + quitBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + quitBtn->setMinimumSize(100, okBtn->minimumSize().height()); + + QLabel *penWidthLabel = new QLabel(tr(" Width:")); + QSlider *penWidth = new QSlider(Qt::Horizontal, this); + penWidth->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + penWidth->setRange(0, 500); + +#ifdef QT_OPENGL_SUPPORT + QPushButton *enableOpenGLButton = new QPushButton(this); + enableOpenGLButton->setText(tr("Use OpenGL")); + enableOpenGLButton->setCheckable(true); + enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); + if (!QGLFormat::hasOpenGL()) + enableOpenGLButton->hide(); +#endif + + // Layouts: + QHBoxLayout *penWidthLayout = new QHBoxLayout(0); + penWidthLayout->addWidget(penWidthLabel, 0, Qt::AlignRight); + penWidthLayout->addWidget(penWidth); + + QVBoxLayout *leftLayout = new QVBoxLayout(0); + leftLayout->addWidget(m_capGroup); + leftLayout->addWidget(m_joinGroup); +#ifdef QT_OPENGL_SUPPORT + leftLayout->addWidget(enableOpenGLButton); +#endif + leftLayout->addLayout(penWidthLayout); + + QVBoxLayout *rightLayout = new QVBoxLayout(0); + rightLayout->addWidget(m_styleGroup); + rightLayout->addWidget(m_pathModeGroup); + + QGridLayout *mainLayout = new QGridLayout(this); + mainLayout->setMargin(0); + + // Add spacers around the form items so we don't look stupid at higher resolutions + mainLayout->addItem(new QSpacerItem(0,0), 0, 0, 1, 4); + mainLayout->addItem(new QSpacerItem(0,0), 1, 0, 2, 1); + mainLayout->addItem(new QSpacerItem(0,0), 1, 3, 2, 1); + mainLayout->addItem(new QSpacerItem(0,0), 3, 0, 1, 4); + + mainLayout->addLayout(leftLayout, 1, 1); + mainLayout->addLayout(rightLayout, 1, 2); + mainLayout->addWidget(quitBtn, 2, 1, Qt::AlignHCenter | Qt::AlignTop); + mainLayout->addWidget(okBtn, 2, 2, Qt::AlignHCenter | Qt::AlignTop); + +#ifdef QT_OPENGL_SUPPORT + connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); +#endif + + connect(penWidth, SIGNAL(valueChanged(int)), m_renderer, SLOT(setPenWidth(int))); + connect(quitBtn, SIGNAL(clicked()), this, SLOT(emitQuitSignal())); + connect(okBtn, SIGNAL(clicked()), this, SLOT(emitOkSignal())); + + m_renderer->setAnimation(true); + penWidth->setValue(50); +} + +void PathStrokeControls::emitQuitSignal() +{ emit quitPressed(); } + +void PathStrokeControls::emitOkSignal() +{ emit okPressed(); } + + +PathStrokeWidget::PathStrokeWidget(bool smallScreen) +{ + setWindowTitle(tr("Path Stroking")); + + // Widget construction and property setting + m_renderer = new PathStrokeRenderer(this, smallScreen); + + m_controls = new PathStrokeControls(0, m_renderer, smallScreen); + + // Layouting + QHBoxLayout *viewLayout = new QHBoxLayout(this); + viewLayout->addWidget(m_renderer); + + if (!smallScreen) + viewLayout->addWidget(m_controls); + + m_renderer->loadSourceFile(":res/pathstroke/pathstroke.cpp"); + m_renderer->loadDescription(":res/pathstroke/pathstroke.html"); + + connect(m_renderer, SIGNAL(clicked()), this, SLOT(showControls())); + connect(m_controls, SIGNAL(okPressed()), this, SLOT(hideControls())); + connect(m_controls, SIGNAL(quitPressed()), QApplication::instance(), SLOT(quit())); +} + + +void PathStrokeWidget::showControls() +{ + m_controls->showFullScreen(); +} + + +void PathStrokeWidget::hideControls() +{ + m_controls->hide(); +} + + +void PathStrokeWidget::setStyle( QStyle * style ) +{ + QWidget::setStyle(style); + if (m_controls != 0) + { + m_controls->setStyle(style); + + QList widgets = qFindChildren(m_controls); + foreach (QWidget *w, widgets) + w->setStyle(style); + } +} + + +PathStrokeRenderer::PathStrokeRenderer(QWidget *parent, bool smallScreen) + : ArthurFrame(parent) +{ + m_smallScreen = smallScreen; + m_pointSize = 10; + m_activePoint = -1; + m_capStyle = Qt::FlatCap; + m_joinStyle = Qt::BevelJoin; + m_pathMode = CurveMode; + m_penWidth = 1; + m_penStyle = Qt::SolidLine; + m_wasAnimated = true; + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); +} + +void PathStrokeRenderer::paint(QPainter *painter) +{ + if (m_points.isEmpty()) + initializePoints(); + + painter->setRenderHint(QPainter::Antialiasing); + + QPalette pal = palette(); + painter->setPen(Qt::NoPen); + + // Construct the path + QPainterPath path; + path.moveTo(m_points.at(0)); + + if (m_pathMode == LineMode) { + for (int i=1; i dashes; + qreal space = 4; + dashes << 1 << space + << 3 << space + << 9 << space + << 27 << space + << 9 << space + << 3 << space; + stroker.setDashPattern(dashes); + QPainterPath stroke = stroker.createStroke(path); + painter->fillPath(stroke, lg); + + } else { + QPen pen(lg, m_penWidth, m_penStyle, m_capStyle, m_joinStyle); + painter->strokePath(path, pen); + } + } + + if (1) { + // Draw the control points + painter->setPen(QColor(50, 100, 120, 200)); + painter->setBrush(QColor(200, 200, 210, 120)); + for (int i=0; idrawEllipse(QRectF(pos.x() - m_pointSize, + pos.y() - m_pointSize, + m_pointSize*2, m_pointSize*2)); + } + painter->setPen(QPen(Qt::lightGray, 0, Qt::SolidLine)); + painter->setBrush(Qt::NoBrush); + painter->drawPolyline(m_points); + } + +} + +void PathStrokeRenderer::initializePoints() +{ + const int count = 7; + m_points.clear(); + m_vectors.clear(); + + QMatrix m; + qreal rot = 360 / count; + QPointF center(width() / 2, height() / 2); + QMatrix vm; + vm.shear(2, -1); + vm.scale(3, 3); + + for (int i=0; i right) { + vec.setX(-vec.x()); + pos.setX(pos.x() < left ? left : right); + } if (pos.y() < top || pos.y() > bottom) { + vec.setY(-vec.y()); + pos.setY(pos.y() < top ? top : bottom); + } + m_points[i] = pos; + m_vectors[i] = vec; + } + update(); +} + +void PathStrokeRenderer::mousePressEvent(QMouseEvent *e) +{ + setDescriptionEnabled(false); + m_activePoint = -1; + qreal distance = -1; + for (int i=0; ipos(), m_points.at(i)).length(); + if ((distance < 0 && d < 8 * m_pointSize) || d < distance) { + distance = d; + m_activePoint = i; + } + } + + if (m_activePoint != -1) { + m_wasAnimated = m_timer.isActive(); + setAnimation(false); + mouseMoveEvent(e); + } + + // If we're not running in small screen mode, always assume we're dragging + m_mouseDrag = !m_smallScreen; + m_mousePress = e->pos(); +} + +void PathStrokeRenderer::mouseMoveEvent(QMouseEvent *e) +{ + // If we've moved more then 25 pixels, assume user is dragging + if (!m_mouseDrag && QPoint(m_mousePress - e->pos()).manhattanLength() > 25) + m_mouseDrag = true; + + if (m_mouseDrag && m_activePoint >= 0 && m_activePoint < m_points.size()) { + m_points[m_activePoint] = e->pos(); + update(); + } +} + +void PathStrokeRenderer::mouseReleaseEvent(QMouseEvent *) +{ + m_activePoint = -1; + setAnimation(m_wasAnimated); + + if (!m_mouseDrag && m_smallScreen) + emit clicked(); +} + +void PathStrokeRenderer::timerEvent(QTimerEvent *e) +{ + if (e->timerId() == m_timer.timerId()) { + updatePoints(); + QApplication::syncX(); + } // else if (e->timerId() == m_fpsTimer.timerId()) { +// emit frameRate(m_frameCount); +// m_frameCount = 0; +// } +} + +void PathStrokeRenderer::setAnimation(bool animation) +{ + m_timer.stop(); +// m_fpsTimer.stop(); + + if (animation) { + m_timer.start(25, this); +// m_fpsTimer.start(1000, this); +// m_frameCount = 0; + } +} diff --git a/demos/pathstroke/pathstroke.h b/demos/pathstroke/pathstroke.h new file mode 100644 index 0000000..99f17a7 --- /dev/null +++ b/demos/pathstroke/pathstroke.h @@ -0,0 +1,168 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef PATHSTROKE_H +#define PATHSTROKE_H + +#include "arthurwidgets.h" +#include + +class PathStrokeRenderer : public ArthurFrame +{ + Q_OBJECT + Q_PROPERTY(bool animation READ animation WRITE setAnimation) + Q_PROPERTY(qreal penWidth READ realPenWidth WRITE setRealPenWidth) +public: + enum PathMode { CurveMode, LineMode }; + + PathStrokeRenderer(QWidget *parent, bool smallScreen = false); + + void paint(QPainter *); + void mousePressEvent(QMouseEvent *e); + void mouseMoveEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + void timerEvent(QTimerEvent *e); + + QSize sizeHint() const { return QSize(500, 500); } + + bool animation() const { return m_timer.isActive(); } + + qreal realPenWidth() const { return m_penWidth; } + void setRealPenWidth(qreal penWidth) { m_penWidth = penWidth; update(); } + +signals: + void clicked(); + +public slots: + void setPenWidth(int penWidth) { m_penWidth = penWidth / 10.0; update(); } + void setAnimation(bool animation); + + void setFlatCap() { m_capStyle = Qt::FlatCap; update(); } + void setSquareCap() { m_capStyle = Qt::SquareCap; update(); } + void setRoundCap() { m_capStyle = Qt::RoundCap; update(); } + + void setBevelJoin() { m_joinStyle = Qt::BevelJoin; update(); } + void setMiterJoin() { m_joinStyle = Qt::MiterJoin; update(); } + void setRoundJoin() { m_joinStyle = Qt::RoundJoin; update(); } + + void setCurveMode() { m_pathMode = CurveMode; update(); } + void setLineMode() { m_pathMode = LineMode; update(); } + + void setSolidLine() { m_penStyle = Qt::SolidLine; update(); } + void setDashLine() { m_penStyle = Qt::DashLine; update(); } + void setDotLine() { m_penStyle = Qt::DotLine; update(); } + void setDashDotLine() { m_penStyle = Qt::DashDotLine; update(); } + void setDashDotDotLine() { m_penStyle = Qt::DashDotDotLine; update(); } + void setCustomDashLine() { m_penStyle = Qt::NoPen; update(); } + +private: + void initializePoints(); + void updatePoints(); + + QBasicTimer m_timer; + + PathMode m_pathMode; + + bool m_wasAnimated; + + qreal m_penWidth; + int m_pointCount; + int m_pointSize; + int m_activePoint; + QVector m_points; + QVector m_vectors; + + Qt::PenJoinStyle m_joinStyle; + Qt::PenCapStyle m_capStyle; + + Qt::PenStyle m_penStyle; + + bool m_smallScreen; + QPoint m_mousePress; + bool m_mouseDrag; +}; + +class PathStrokeControls : public QWidget +{ + Q_OBJECT +public: + PathStrokeControls(QWidget* parent, PathStrokeRenderer* renderer, bool smallScreen); + +signals: + void okPressed(); + void quitPressed(); + +private: + PathStrokeRenderer* m_renderer; + + QGroupBox *m_capGroup; + QGroupBox *m_joinGroup; + QGroupBox *m_styleGroup; + QGroupBox *m_pathModeGroup; + + void createCommonControls(QWidget* parent); + void layoutForDesktop(); + void layoutForSmallScreens(); + +private slots: + void emitQuitSignal(); + void emitOkSignal(); + +}; + +class PathStrokeWidget : public QWidget +{ + Q_OBJECT +public: + PathStrokeWidget(bool smallScreen); + void setStyle ( QStyle * style ); + +private: + PathStrokeRenderer *m_renderer; + PathStrokeControls *m_controls; + +private slots: + void showControls(); + void hideControls(); + +}; + +#endif // PATHSTROKE_H diff --git a/demos/pathstroke/pathstroke.html b/demos/pathstroke/pathstroke.html new file mode 100644 index 0000000..9e7e50d --- /dev/null +++ b/demos/pathstroke/pathstroke.html @@ -0,0 +1,20 @@ + +
+

Primitive Stroking

+
+ +

In this demo we show some of the various types of pens that can be +used in Qt.

+ +

Qt defines cap styles for how the end points are treated and join +styles for how path segments are joined together. A standard set of +predefined dash patterns are also included that can be used with +QPen.

+ +

In addition to the predefined patterns available in +QPen we also demonstrate direct use of the +QPainterPathStroker class which can be used to define +custom dash patterns. You can see this by enabling the +Custom Pattern option.

+ + diff --git a/demos/pathstroke/pathstroke.pro b/demos/pathstroke/pathstroke.pro new file mode 100644 index 0000000..50b4de2 --- /dev/null +++ b/demos/pathstroke/pathstroke.pro @@ -0,0 +1,20 @@ +SOURCES += main.cpp pathstroke.cpp +HEADERS += pathstroke.h + +SHARED_FOLDER = ../shared + +include($$SHARED_FOLDER/shared.pri) + +RESOURCES += pathstroke.qrc + +contains(QT_CONFIG, opengl) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +# install +target.path = $$[QT_INSTALL_DEMOS]/pathstroke +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.html +sources.path = $$[QT_INSTALL_DEMOS]/pathstroke +INSTALLS += target sources + diff --git a/demos/pathstroke/pathstroke.qrc b/demos/pathstroke/pathstroke.qrc new file mode 100644 index 0000000..a9a7234 --- /dev/null +++ b/demos/pathstroke/pathstroke.qrc @@ -0,0 +1,6 @@ + + + pathstroke.cpp + pathstroke.html + + diff --git a/demos/qtdemo/Info_mac.plist b/demos/qtdemo/Info_mac.plist new file mode 100644 index 0000000..71b0059 --- /dev/null +++ b/demos/qtdemo/Info_mac.plist @@ -0,0 +1,18 @@ + + + + + CFBundleIconFile + @ICON@ + CFBundlePackageType + APPL + CFBundleGetInfoString + Created by Qt/QMake + CFBundleSignature + ???? + CFBundleIdentifier + com.trolltech.qt.demo + CFBundleExecutable + @EXECUTABLE@ + + diff --git a/demos/qtdemo/colors.cpp b/demos/qtdemo/colors.cpp new file mode 100644 index 0000000..18343cb --- /dev/null +++ b/demos/qtdemo/colors.cpp @@ -0,0 +1,390 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "colors.h" + +#ifndef QT_NO_OPENGL + #include +#endif +//#define QT_NO_OPENGL + +// Colors: +QColor Colors::sceneBg1(QColor(91, 91, 91)); +QColor Colors::sceneBg1Line(QColor(114, 108, 104)); +QColor Colors::sceneBg2(QColor(0, 0, 0)); +QColor Colors::sceneLine(255, 255, 255); +QColor Colors::paperBg(QColor(100, 100, 100)); +QColor Colors::menuTextFg(QColor(255, 0, 0)); +QColor Colors::buttonBgLow(QColor(255, 255, 255, 90)); +QColor Colors::buttonBgHigh(QColor(255, 255, 255, 20)); +QColor Colors::buttonText(QColor(255, 255, 255)); +QColor Colors::tt_green(QColor(166, 206, 57)); +QColor Colors::fadeOut(QColor(206, 246, 117, 0)); +QColor Colors::heading(QColor(190,230,80)); +QString Colors::contentColor(""); +QString Colors::glVersion("Not detected!"); + +// Guides: +int Colors::stageStartY = 8; +int Colors::stageHeight = 536; +int Colors::stageStartX = 8; +int Colors::stageWidth = 785; +int Colors::contentStartY = 22; +int Colors::contentHeight = 510; + +// Properties: +bool Colors::openGlRendering = false; +bool Colors::direct3dRendering = false; +bool Colors::softwareRendering = false; +bool Colors::openGlAwailable = true; +bool Colors::direct3dAwailable = true; +bool Colors::xRenderPresent = true; + +bool Colors::noTicker = false; +bool Colors::noRescale = false; +bool Colors::noAnimations = false; +bool Colors::noBlending = false; +bool Colors::noScreenSync = false; +bool Colors::fullscreen = false; +bool Colors::usePixmaps = false; +bool Colors::useLoop = false; +bool Colors::showBoundingRect = false; +bool Colors::showFps = false; +bool Colors::noAdapt = false; +bool Colors::noWindowMask = true; +bool Colors::useButtonBalls = false; +bool Colors::useEightBitPalette = false; +bool Colors::noTimerUpdate = false; +bool Colors::noTickerMorph = false; +bool Colors::adapted = false; +bool Colors::verbose = false; +bool Colors::pause = true; +int Colors::fps = 100; +int Colors::menuCount = 18; +float Colors::animSpeed = 1.0; +float Colors::animSpeedButtons = 1.0; +float Colors::benchmarkFps = -1; +int Colors::tickerLetterCount = 80; +float Colors::tickerMoveSpeed = 0.4f; +float Colors::tickerMorphSpeed = 2.5f; +QString Colors::tickerText = ".EROM ETAERC .SSEL EDOC"; +QString Colors::rootMenuName = "Qt Examples and Demos"; + +QFont Colors::contentFont() +{ + QFont font; + font.setStyleStrategy(QFont::PreferAntialias); +#if defined(Q_OS_MAC) + font.setPixelSize(14); + font.setFamily("Arial"); +#else + font.setPixelSize(13); + font.setFamily("Verdana"); +#endif + return font; +} + +QFont Colors::headingFont() +{ + QFont font; + font.setStyleStrategy(QFont::PreferAntialias); + font.setPixelSize(23); + font.setBold(true); + font.setFamily("Verdana"); + return font; +} + +QFont Colors::buttonFont() +{ + QFont font; + font.setStyleStrategy(QFont::PreferAntialias); +#if 0//defined(Q_OS_MAC) + font.setPixelSize(11); + font.setFamily("Silom"); +#else + font.setPixelSize(11); + font.setFamily("Verdana"); +#endif + return font; +} + +QFont Colors::tickerFont() +{ + QFont font; + font.setStyleStrategy(QFont::PreferAntialias); +#if defined(Q_OS_MAC) + font.setPixelSize(11); + font.setBold(true); + font.setFamily("Arial"); +#else + font.setPixelSize(10); + font.setBold(true); + font.setFamily("sans serif"); +#endif + return font; +} + +float parseFloat(const QString &argument, const QString &name) +{ + if (name.length() == argument.length()){ + QMessageBox::warning(0, "Arguments", + QString("No argument number found for ") + + name + + ". Remember to put name and value adjacent! (e.g. -fps100)"); + exit(0); + } + float value = argument.mid(name.length()).toFloat(); + return value; +} + +QString parseText(const QString &argument, const QString &name) +{ + if (name.length() == argument.length()){ + QMessageBox::warning(0, "Arguments", + QString("No argument number found for ") + + name + + ". Remember to put name and value adjacent! (e.g. -fps100)"); + exit(0); + } + QString value = argument.mid(name.length()); + return value; +} + +void Colors::parseArgs(int argc, char *argv[]) +{ + // some arguments should be processed before + // others. Handle them now: + for (int i=1; i] [-use-loop] [-use-balls] " + + "[-animation-speed] [-fps] " + + "[-low] [-ticker-letters] [-ticker-speed] [-no-ticker-morph] " + + "[-ticker-morph-speed] [-ticker-text]"); + exit(0); + } + } + + Colors::postConfigure(); +} + +void Colors::setLowSettings() +{ + Colors::openGlRendering = false; + Colors::direct3dRendering = false; + Colors::softwareRendering = true; + Colors::noTicker = true; + Colors::noTimerUpdate = true; + Colors::fps = 30; + Colors::usePixmaps = true; + Colors::noAnimations = true; + Colors::noBlending = true; +} + +void Colors::detectSystemResources() +{ +#ifndef QT_NO_OPENGL + if (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_2_0) + Colors::glVersion = "2.0 or higher"; + else if (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_5) + Colors::glVersion = "1.5"; + else if (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_4) + Colors::glVersion = "1.4"; + else if (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_3) + Colors::glVersion = "1.3 or lower"; + if (Colors::verbose) + qDebug() << "- OpenGL version:" << Colors::glVersion; + + QGLWidget glw; + if (!QGLFormat::hasOpenGL() + || !glw.format().directRendering() + || !(QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_5) + || glw.depth() < 24 + ) +#else + if (Colors::verbose) + qDebug() << "- OpenGL not supported by current build of Qt"; +#endif + { + Colors::openGlAwailable = false; + if (Colors::verbose) + qDebug("- OpenGL not recommended on this system"); + } + +#if defined(Q_WS_WIN) + Colors::direct3dAwailable = false; // for now. +#endif + +#if defined(Q_WS_X11) + // check if X render is present: + QPixmap tmp(1, 1); + if (!tmp.x11PictureHandle()){ + Colors::xRenderPresent = false; + if (Colors::verbose) + qDebug("- X render not present"); + } + +#endif + + QWidget w; + if (Colors::verbose) + qDebug() << "- Color depth: " << QString::number(w.depth()); +} + +void Colors::postConfigure() +{ + if (!Colors::noAdapt){ + QWidget w; + if (w.depth() < 16){ + Colors::useEightBitPalette = true; + Colors::adapted = true; + if (Colors::verbose) + qDebug() << "- Adapt: Color depth less than 16 bit. Using 8 bit palette"; + } + + if (!Colors::xRenderPresent){ + Colors::setLowSettings(); + Colors::adapted = true; + if (Colors::verbose) + qDebug() << "- Adapt: X renderer not present. Using low settings"; + } + } + +#if !defined(Q_WS_WIN) + if (Colors::direct3dRendering){ + Colors::direct3dRendering = false; + qDebug() << "- WARNING: Direct3D specified, but not supported on this platform"; + } +#endif + + if (!Colors::openGlRendering && !Colors::direct3dRendering && !Colors::softwareRendering){ + // The user has not decided rendering system. So we do it instead: +#if defined(Q_WS_WIN) + if (Colors::direct3dAwailable) + Colors::direct3dRendering = true; + else +#endif + if (Colors::openGlAwailable) + Colors::openGlRendering = true; + else + Colors::softwareRendering = true; + } +} + + diff --git a/demos/qtdemo/colors.h b/demos/qtdemo/colors.h new file mode 100644 index 0000000..58865c6 --- /dev/null +++ b/demos/qtdemo/colors.h @@ -0,0 +1,130 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef COLORS_H +#define COLORS_H + +#include +#include + +class Colors +{ +private: + Colors(){}; + +public: + static void parseArgs(int argc, char *argv[]); + static void detectSystemResources(); + static void postConfigure(); + static void setLowSettings(); + + // Colors: + static QColor sceneBg1; + static QColor sceneBg2; + static QColor sceneBg1Line; + static QColor paperBg; + static QColor menuTextFg; + static QColor buttonText; + static QColor buttonBgLow; + static QColor buttonBgHigh; + static QColor tt_green; + static QColor fadeOut; + static QColor sceneLine; + static QColor heading; + static QString contentColor; + static QString glVersion; + + // Guides: + static int stageStartY; + static int stageHeight; + static int stageStartX; + static int stageWidth; + static int contentStartY; + static int contentHeight; + + // properties: + static bool openGlRendering; + static bool direct3dRendering; + static bool softwareRendering; + static bool openGlAwailable; + static bool direct3dAwailable; + static bool xRenderPresent; + static bool noAdapt; + static bool noTicker; + static bool noRescale; + static bool noAnimations; + static bool noBlending; + static bool noScreenSync; + static bool useLoop; + static bool noWindowMask; + static bool usePixmaps; + static bool useEightBitPalette; + static bool fullscreen; + static bool showBoundingRect; + static bool showFps; + static bool noTimerUpdate; + static bool noTickerMorph; + static bool useButtonBalls; + static bool adapted; + static bool verbose; + static bool pause; + + static float animSpeed; + static float animSpeedButtons; + static float benchmarkFps; + static int tickerLetterCount; + static int fps; + static int menuCount; + static float tickerMoveSpeed; + static float tickerMorphSpeed; + static QString tickerText; + static QString rootMenuName; + + // fonts + static QFont contentFont(); + static QFont headingFont(); + static QFont buttonFont(); + static QFont tickerFont(); + +}; + +#endif // COLORS_H + diff --git a/demos/qtdemo/demoitem.cpp b/demos/qtdemo/demoitem.cpp new file mode 100644 index 0000000..0335bd3 --- /dev/null +++ b/demos/qtdemo/demoitem.cpp @@ -0,0 +1,280 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "demoitem.h" +#include "menumanager.h" +#include "guide.h" +#include "colors.h" + +QHash DemoItem::sharedImageHash; +QMatrix DemoItem::matrix; + +DemoItem::DemoItem(QGraphicsScene *scene, QGraphicsItem *parent) : QGraphicsItem(parent, scene) +{ + this->opacity = 1.0; + this->locked = false; + this->prepared = false; + this->neverVisible = false; + this->noSubPixeling = false; + this->currentAnimation = 0; + this->currGuide = 0; + this->guideFrame = 0; + this->sharedImage = new SharedImage(); + ++this->sharedImage->refCount; +} + +DemoItem::~DemoItem() +{ + if(--this->sharedImage->refCount == 0){ + if (!this->hashKey.isEmpty()) + DemoItem::sharedImageHash.remove(this->hashKey); + delete this->sharedImage; + } +} + +void DemoItem::setNeverVisible(bool never) +{ + Q_UNUSED(never); +/* + this->neverVisible = never; + if (never){ + this->setVisible(false); + QList c = children(); + for (int i=0; i(c[i]); // Don't use dynamic cast because it needs RTTI support. + if (d) + d->setNeverVisible(true); + else{ + c[i]->setVisible(false); + } + } + } +*/ +} + +void DemoItem::setRecursiveVisible(bool visible){ + if (visible && this->neverVisible){ + this->setVisible(false); + return; + } + + this->setVisible(visible); + QList c = children(); + for (int i=0; i(c[i]); + // if (d) + // d->setRecursiveVisible(visible); + // else{ + c[i]->setVisible(visible); + // } + } +} + +void DemoItem::useGuide(Guide *guide, float startFrame) +{ + this->startFrame = startFrame; + this->guideFrame = startFrame; + while (this->guideFrame > guide->startLength + guide->length()){ + if (guide->nextGuide == guide->firstGuide) + break; + + guide = guide->nextGuide; + } + this->currGuide = guide; +} + +void DemoItem::guideAdvance(float distance) +{ + this->guideFrame += distance; + while (this->guideFrame > this->currGuide->startLength + this->currGuide->length()){ + this->currGuide = this->currGuide->nextGuide; + if (this->currGuide == this->currGuide->firstGuide) + this->guideFrame -= this->currGuide->lengthAll(); + } +} + +void DemoItem::guideMove(float moveSpeed) +{ + this->currGuide->guide(this, moveSpeed); +} + +void DemoItem::setPosUsingSheepDog(const QPointF &dest, const QRectF &sceneFence) +{ + this->setPos(dest); + if (sceneFence.isNull()) + return; + + // I agree. This is not the optimal way of doing it. + // But don't want for use time on it now.... + float itemWidth = this->boundingRect().width(); + float itemHeight = this->boundingRect().height(); + float fenceRight = sceneFence.x() + sceneFence.width(); + float fenceBottom = sceneFence.y() + sceneFence.height(); + + if (this->scenePos().x() < sceneFence.x()) this->moveBy(this->mapFromScene(QPointF(sceneFence.x(), 0)).x(), 0); + if (this->scenePos().x() > fenceRight - itemWidth) this->moveBy(this->mapFromScene(QPointF(fenceRight - itemWidth, 0)).x(), 0); + if (this->scenePos().y() < sceneFence.y()) this->moveBy(0, this->mapFromScene(QPointF(0, sceneFence.y())).y()); + if (this->scenePos().y() > fenceBottom - itemHeight) this->moveBy(0, this->mapFromScene(QPointF(0, fenceBottom - itemHeight)).y()); +} + +void DemoItem::setGuidedPos(const QPointF &pos) +{ + this->guidedPos = pos; +} + +QPointF DemoItem::getGuidedPos() +{ + return this->guidedPos; +} + +void DemoItem::switchGuide(Guide *guide) +{ + this->currGuide = guide; + this->guideFrame = 0; +} + +bool DemoItem::inTransition() +{ + if (this->currentAnimation) + return this->currentAnimation->running(); + else + return false; +} + +void DemoItem::setMatrix(const QMatrix &matrix) +{ + DemoItem::matrix = matrix; +} + +void DemoItem::useSharedImage(const QString &hashKey) +{ + this->hashKey = hashKey; + if (!sharedImageHash.contains(hashKey)) + sharedImageHash.insert(hashKey, this->sharedImage); + else { + if(--this->sharedImage->refCount == 0) + delete this->sharedImage; + this->sharedImage = sharedImageHash.value(hashKey); + ++this->sharedImage->refCount; + } +} + +bool DemoItem::validateImage() +{ + if ((this->sharedImage->matrix != DemoItem::matrix && !Colors::noRescale) || !(this->sharedImage->image || this->sharedImage->pixmap)){ + // (Re)create image according to new matrix + delete this->sharedImage->image; + this->sharedImage->image = 0; + delete this->sharedImage->pixmap; + this->sharedImage->pixmap = 0; + this->sharedImage->matrix = DemoItem::matrix; + + // Let subclass create and draw a new image according to the new matrix + QImage *image = this->createImage(Colors::noRescale ? QMatrix() : DemoItem::matrix); + if (image){ + if (Colors::showBoundingRect){ + // draw red transparent rect + QPainter painter(image); + painter.fillRect(image->rect(), QColor(255, 0, 0, 50)); + painter.end(); + } + + this->sharedImage->unscaledBoundingRect = this->sharedImage->matrix.inverted().mapRect(image->rect()); + if (Colors::usePixmaps){ + if (image->isNull()) + this->sharedImage->pixmap = new QPixmap(1, 1); + else + this->sharedImage->pixmap = new QPixmap(image->size()); + this->sharedImage->pixmap->fill(QColor(0, 0, 0, 0)); + QPainter painter(this->sharedImage->pixmap); + painter.drawImage(0, 0, *image); + delete image; + } else { + this->sharedImage->image = image; + } + return true; + } else + return false; + } + return true; +} + +QRectF DemoItem::boundingRect() const +{ + const_cast(this)->validateImage(); + return this->sharedImage->unscaledBoundingRect; +} + +void DemoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + Q_UNUSED(option); + Q_UNUSED(widget); + + if (this->validateImage()){ + + bool wasSmoothPixmapTransform = painter->testRenderHint(QPainter::SmoothPixmapTransform); + painter->setRenderHint(QPainter::SmoothPixmapTransform); + + if (Colors::noRescale){ + // Let the painter scale the image for us. + // This may degrade both quality and performance + if (this->sharedImage->image) + painter->drawImage(this->pos(), *this->sharedImage->image); + else + painter->drawPixmap(this->pos(), *this->sharedImage->pixmap); + } + else { + QMatrix m = painter->worldMatrix(); + painter->setWorldMatrix(QMatrix()); + float x = this->noSubPixeling ? qRound(m.dx()) : m.dx(); + float y = this->noSubPixeling ? qRound(m.dy()) : m.dy(); + if (this->sharedImage->image) + painter->drawImage(QPointF(x, y), *this->sharedImage->image); + else + painter->drawPixmap(QPointF(x, y), *this->sharedImage->pixmap); + } + + if (!wasSmoothPixmapTransform) { + painter->setRenderHint(QPainter::SmoothPixmapTransform, false); + } + + } +} diff --git a/demos/qtdemo/demoitem.h b/demos/qtdemo/demoitem.h new file mode 100644 index 0000000..e03327b --- /dev/null +++ b/demos/qtdemo/demoitem.h @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DEMO_ITEM_H +#define DEMO_ITEM_H + +#include + +class DemoItemAnimation; +class Guide; + +class SharedImage +{ +public: + SharedImage() : refCount(0), image(0), pixmap(0){}; + ~SharedImage() + { + delete image; + delete pixmap; + } + + int refCount; + QImage *image; + QPixmap *pixmap; + QMatrix matrix; + QRectF unscaledBoundingRect; +}; + +class DemoItem : public QGraphicsItem +{ + +public: + DemoItem(QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + virtual ~DemoItem(); + + bool inTransition(); + virtual void animationStarted(int id = 0){ Q_UNUSED(id); }; + virtual void animationStopped(int id = 0){ Q_UNUSED(id); }; + virtual void prepare(){}; + void setRecursiveVisible(bool visible); + void useSharedImage(const QString &hashKey); + void setNeverVisible(bool never = true); + static void setMatrix(const QMatrix &matrix); + virtual QRectF boundingRect() const; // overridden + void setPosUsingSheepDog(const QPointF &dest, const QRectF &sceneFence); + + qreal opacity; + bool locked; + DemoItemAnimation *currentAnimation; + bool noSubPixeling; + + // Used if controlled by a guide: + void useGuide(Guide *guide, float startFrame = 0); + void guideAdvance(float distance); + void guideMove(float moveSpeed); + void setGuidedPos(const QPointF &position); + QPointF getGuidedPos(); + float startFrame; + float guideFrame; + Guide *currGuide; + +protected: + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option = 0, QWidget *widget = 0); // overridden + virtual QImage *createImage(const QMatrix &) const { return 0; }; + virtual bool collidesWithItem(const QGraphicsItem *, Qt::ItemSelectionMode) const { return false; }; + bool prepared; + +private: + SharedImage *sharedImage; + QString hashKey; + bool neverVisible; + bool validateImage(); + + // Used if controlled by a guide: + void switchGuide(Guide *guide); + friend class Guide; + QPointF guidedPos; + + // The next static hash is shared amongst all demo items, and + // has the purpose of reusing images to save memory and time + static QHash sharedImageHash; + static QMatrix matrix; +}; + +#endif // DEMO_ITEM_H + diff --git a/demos/qtdemo/demoitemanimation.cpp b/demos/qtdemo/demoitemanimation.cpp new file mode 100644 index 0000000..92b2d24 --- /dev/null +++ b/demos/qtdemo/demoitemanimation.cpp @@ -0,0 +1,219 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "demoitemanimation.h" +#include "demoitem.h" +#include "colors.h" + +DemoItemAnimation::DemoItemAnimation(DemoItem *item, INOROUT inOrOut) +{ + this->opacityAt0 = 1.0; + this->opacityAt1 = 1.0; + this->startDelay = 0; + this->inOrOut = inOrOut; + this->hideOnFinished = false; + this->forcePlay = false; + this->timeline = new QTimeLine(5000); + this->timeline->setFrameRange(0, 2000); + this->timeline->setUpdateInterval(int(1000.0/Colors::fps)); + this->moveOnPlay = false; + setTimeLine(this->timeline); + setItem(item); +} + +DemoItemAnimation::~DemoItemAnimation() +{ + // Do not delete demoitem. It is not + // owned by an animation + delete this->timeline; +} + +void DemoItemAnimation::prepare() +{ + this->demoItem()->prepare(); +} + +void DemoItemAnimation::setStartPos(const QPointF &pos){ + this->startPos = pos; +} + +void DemoItemAnimation::setDuration(int duration) +{ + duration = int(duration * Colors::animSpeed); + this->timeline->setDuration(duration); + this->moveOnPlay = true; +} + +void DemoItemAnimation::setCurrentTime(int ms) +{ + this->timeline->setCurrentTime(ms); +} + +bool DemoItemAnimation::notOwnerOfItem() +{ + return this != demoItem()->currentAnimation; +} + +void DemoItemAnimation::play(bool fromStart, bool force) +{ + this->fromStart = fromStart; + this->forcePlay = force; + + QPointF currPos = this->demoItem()->pos(); + + // If the item that this animation controls in currently under the + // control of another animation, stop that animation first + if (this->demoItem()->currentAnimation) + this->demoItem()->currentAnimation->timeline->stop(); + this->demoItem()->currentAnimation = this; + this->timeline->stop(); + + if (Colors::noAnimations && !this->forcePlay){ + this->timeline->setCurrentTime(1); + this->demoItem()->setPos(this->posAt(1)); + } + else{ + if (this->demoItem()->isVisible()) + // If the item is already visible, start the animation from + // the items current position rather than from start. + this->setPosAt(0.0, currPos); + else + this->setPosAt(0.0, this->startPos); + + if (this->fromStart){ + this->timeline->setCurrentTime(0); + this->demoItem()->setPos(this->posAt(0)); + } + } + + if (this->inOrOut == ANIM_IN) + this->demoItem()->setRecursiveVisible(true); + + if (this->startDelay){ + QTimer::singleShot(this->startDelay, this, SLOT(playWithoutDelay())); + return; + } + else + this->playWithoutDelay(); +} + +void DemoItemAnimation::playWithoutDelay() +{ + if (this->moveOnPlay && !(Colors::noAnimations && !this->forcePlay)) + this->timeline->start(); + this->demoItem()->animationStarted(this->inOrOut); +} + +void DemoItemAnimation::stop(bool reset) +{ + this->timeline->stop(); + if (reset) + this->demoItem()->setPos(this->posAt(0)); + if (this->hideOnFinished && !this->moveOnPlay) + this->demoItem()->setRecursiveVisible(false); + this->demoItem()->animationStopped(this->inOrOut); +} + +void DemoItemAnimation::setRepeat(int nr) +{ + this->timeline->setLoopCount(nr); +} + +void DemoItemAnimation::playReverse() +{ +} + +bool DemoItemAnimation::running() +{ + return (this->timeLine()->state() == QTimeLine::Running); +} + +bool DemoItemAnimation::runningOrItemLocked() +{ + return (this->running() || this->demoItem()->locked); +} + +void DemoItemAnimation::lockItem(bool state) +{ + this->demoItem()->locked = state; +} + +DemoItem *DemoItemAnimation::demoItem() +{ + return (DemoItem *) this->item(); +} + +void DemoItemAnimation::setOpacityAt0(qreal opacity) +{ + this->opacityAt0 = opacity; +} + +void DemoItemAnimation::setOpacityAt1(qreal opacity) +{ + this->opacityAt1 = opacity; +} + +void DemoItemAnimation::setOpacity(qreal step) +{ + DemoItem *demoItem = (DemoItem *) item(); + demoItem->opacity = this->opacityAt0 + step * step * step * (this->opacityAt1 - this->opacityAt0); +} + +void DemoItemAnimation::afterAnimationStep(qreal step) +{ + if (step == 1.0f){ + if (this->timeline->loopCount() > 0){ + // animation finished. + if (this->hideOnFinished) + this->demoItem()->setRecursiveVisible(false); + this->demoItem()->animationStopped(this->inOrOut); + } + } else if (Colors::noAnimations && !this->forcePlay){ + // The animation is not at end, but + // the animations should not play, so go to end. + this->setStep(1.0f); // will make this method being called recursive. + } +} + + + + + diff --git a/demos/qtdemo/demoitemanimation.h b/demos/qtdemo/demoitemanimation.h new file mode 100644 index 0000000..ad89ada --- /dev/null +++ b/demos/qtdemo/demoitemanimation.h @@ -0,0 +1,101 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DEMO_ITEM_ANIMATION_H +#define DEMO_ITEM_ANIMATION_H + +#include +#include + +class DemoItem; + +class DemoItemAnimation : public QGraphicsItemAnimation +{ + Q_OBJECT + +public: + enum INOROUT {ANIM_IN, ANIM_OUT, ANIM_UNSPECIFIED}; + + DemoItemAnimation(DemoItem *item, INOROUT inOrOut = ANIM_UNSPECIFIED); + virtual ~DemoItemAnimation(); + + virtual void play(bool fromStart = true, bool force = false); + virtual void playReverse(); + virtual void stop(bool reset = true); + virtual void setRepeat(int nr = 0); + + void setDuration(int duration); + void setDuration(float duration){ setDuration(int(duration)); }; + void setOpacityAt0(qreal opacity); + void setOpacityAt1(qreal opacity); + void setOpacity(qreal step); + void setCurrentTime(int ms); + void setStartPos(const QPointF &pos); + bool notOwnerOfItem(); + + bool running(); + bool runningOrItemLocked(); + void lockItem(bool state); + void prepare(); + + DemoItem *demoItem(); + + virtual void afterAnimationStep(qreal step); // overridden + + QTimeLine *timeline; + qreal opacityAt0; + qreal opacityAt1; + int startDelay; + QPointF startPos; + bool hideOnFinished; + bool moveOnPlay; + bool forcePlay; + bool fromStart; + INOROUT inOrOut; + +private slots: + virtual void playWithoutDelay(); +}; + +#endif // DEMO_ITEM_ANIMATION_H + + + diff --git a/demos/qtdemo/demoscene.cpp b/demos/qtdemo/demoscene.cpp new file mode 100644 index 0000000..29b73d3 --- /dev/null +++ b/demos/qtdemo/demoscene.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "demoscene.h" + +void DemoScene::drawItems(QPainter *painter, int numItems, QGraphicsItem *items[], const QStyleOptionGraphicsItem options[], QWidget *widget) +{ + for (int i=0; isave(); + painter->setMatrix(items[i]->sceneMatrix(), true); + items[i]->paint(painter, &options[i], widget); + painter->restore(); + } +} + + diff --git a/demos/qtdemo/demoscene.h b/demos/qtdemo/demoscene.h new file mode 100644 index 0000000..e4838c7 --- /dev/null +++ b/demos/qtdemo/demoscene.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAIN_VIEW_H +#define MAIN_VIEW_H + +#include + +class DemoScene : public QGraphicsScene +{ +public: + DemoScene(QObject *parent) : QGraphicsScene(parent){}; + +protected: + void drawItems(QPainter *painter, int numItems, QGraphicsItem *items[], const QStyleOptionGraphicsItem options[], QWidget *widget); +}; + +#endif // MAIN_VIEW_H + diff --git a/demos/qtdemo/demotextitem.cpp b/demos/qtdemo/demotextitem.cpp new file mode 100644 index 0000000..cd549fc --- /dev/null +++ b/demos/qtdemo/demotextitem.cpp @@ -0,0 +1,123 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "demotextitem.h" +#include "colors.h" + +DemoTextItem::DemoTextItem(const QString &text, const QFont &font, const QColor &textColor, + float textWidth, QGraphicsScene *scene, QGraphicsItem *parent, TYPE type, const QColor &bgColor) + : DemoItem(scene, parent) +{ + this->type = type; + this->text = text; + this->font = font; + this->textColor = textColor; + this->bgColor = bgColor; + this->textWidth = textWidth; + this->noSubPixeling = true; +} + +void DemoTextItem::setText(const QString &text) +{ + this->text = text; + this->update(); +} + +QImage *DemoTextItem::createImage(const QMatrix &matrix) const +{ + if (this->type == DYNAMIC_TEXT) + return 0; + + float sx = qMin(matrix.m11(), matrix.m22()); + float sy = matrix.m22() < sx ? sx : matrix.m22(); + + QGraphicsTextItem textItem(0, 0); + textItem.setHtml(this->text); + textItem.setTextWidth(this->textWidth); + textItem.setFont(this->font); + textItem.setDefaultTextColor(this->textColor); + textItem.document()->setDocumentMargin(2); + + float w = textItem.boundingRect().width(); + float h = textItem.boundingRect().height(); + QImage *image = new QImage(int(w * sx), int(h * sy), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.scale(sx, sy); + QStyleOptionGraphicsItem style; + textItem.paint(&painter, &style, 0); + return image; +} + + +void DemoTextItem::animationStarted(int) +{ + this->noSubPixeling = false; +} + + +void DemoTextItem::animationStopped(int) +{ + this->noSubPixeling = true; +} + +QRectF DemoTextItem::boundingRect() const + +{ + if (this->type == STATIC_TEXT) + return DemoItem::boundingRect(); + return QRectF(0, 0, 50, 20); // Sorry for using magic number +} + + +void DemoTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + Q_UNUSED(option); + Q_UNUSED(widget); + + if (this->type == STATIC_TEXT) { + DemoItem::paint(painter, option, widget); + return; + } + + painter->setPen(this->textColor); + painter->drawText(0, 0, this->text); +} diff --git a/demos/qtdemo/demotextitem.h b/demos/qtdemo/demotextitem.h new file mode 100644 index 0000000..679e3fb --- /dev/null +++ b/demos/qtdemo/demotextitem.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DEMO_TEXT_ITEM_H +#define DEMO_TEXT_ITEM_H + +#include +#include "demoitem.h" + +class DemoTextItem : public DemoItem +{ +public: + enum TYPE {STATIC_TEXT, DYNAMIC_TEXT}; + + DemoTextItem(const QString &text, const QFont &font, const QColor &textColor, + float textWidth, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0, TYPE type = STATIC_TEXT, const QColor &bgColor = QColor()); + void setText(const QString &text); + QRectF boundingRect() const; // overridden + void animationStarted(int id = 0); + void animationStopped(int id = 0); + +protected: + virtual QImage *createImage(const QMatrix &matrix) const; // overridden + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option = 0, QWidget *widget = 0); // overridden + +private: + float textWidth; + QString text; + QFont font; + QColor textColor; + QColor bgColor; + TYPE type; +}; + +#endif // DEMO_TEXT_ITEM_H + diff --git a/demos/qtdemo/dockitem.cpp b/demos/qtdemo/dockitem.cpp new file mode 100644 index 0000000..7f26f04 --- /dev/null +++ b/demos/qtdemo/dockitem.cpp @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "dockitem.h" +#include "colors.h" + +DockItem::DockItem(ORIENTATION orien, qreal x, qreal y, qreal width, qreal length, QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + this->orientation = orien; + this->width = width; + this->length = length; + this->setPos(x, y); + this->setZValue(40); + this->setupPixmap(); +} + +void DockItem::setupPixmap() +{ + this->pixmap = new QPixmap(int(this->boundingRect().width()), int(this->boundingRect().height())); + this->pixmap->fill(QColor(0, 0, 0, 0)); + QPainter painter(this->pixmap); + // create brush: + QColor background = Colors::sceneBg1; + QLinearGradient brush(0, 0, 0, this->boundingRect().height()); + brush.setSpread(QGradient::PadSpread); + + if (this->orientation == DOWN){ + brush.setColorAt(0.0, background); + brush.setColorAt(0.2, background); + background.setAlpha(0); + brush.setColorAt(1.0, background); + } + else + if (this->orientation == UP){ + brush.setColorAt(1.0, background); + brush.setColorAt(0.8, background); + background.setAlpha(0); + brush.setColorAt(0.0, background); + } + else + qWarning("DockItem doesn't support the orientation given!"); + + painter.fillRect(0, 0, int(this->boundingRect().width()), int(this->boundingRect().height()), brush); + +} + +DockItem::~DockItem() +{ + delete this->pixmap; +} + +QRectF DockItem::boundingRect() const +{ + if (this->orientation == UP || this->orientation == DOWN) + return QRectF(0, 0, this->length, this->width); + else + return QRectF(0, 0, this->width, this->length); +} + +void DockItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + Q_UNUSED(option); + Q_UNUSED(widget); + + painter->drawPixmap(0, 0, *this->pixmap); +} + + + diff --git a/demos/qtdemo/dockitem.h b/demos/qtdemo/dockitem.h new file mode 100644 index 0000000..13473a3 --- /dev/null +++ b/demos/qtdemo/dockitem.h @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DOCK_ITEM_H +#define DOCK_ITEM_H + +#include +#include "demoitem.h" + +class DockItem : public DemoItem +{ +public: + enum ORIENTATION {UP, DOWN, LEFT, RIGHT}; + + DockItem(ORIENTATION orien, qreal x, qreal y, qreal width, qreal length, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + virtual ~DockItem(); + + virtual QRectF boundingRect() const; // overridden + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); // overridden + + qreal length; + qreal width; + ORIENTATION orientation; + +private: + void setupPixmap(); + QPixmap *pixmap; +}; + +#endif // DOCK_ITEM_H + diff --git a/demos/qtdemo/examplecontent.cpp b/demos/qtdemo/examplecontent.cpp new file mode 100644 index 0000000..a568b8c --- /dev/null +++ b/demos/qtdemo/examplecontent.cpp @@ -0,0 +1,158 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "examplecontent.h" +#include "colors.h" +#include "menumanager.h" +#include "imageitem.h" +#include "headingitem.h" + +ExampleContent::ExampleContent(const QString &name, QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + this->name = name; + this->heading = 0; + this->description = 0; + this->screenshot = 0; +} + +void ExampleContent::prepare() +{ + if (!this->prepared){ + this->prepared = true; + this->createContent(); + } +} + +void ExampleContent::animationStopped(int id) +{ + if (id == DemoItemAnimation::ANIM_OUT){ + // Free up some memory: + delete this->heading; + delete this->description; + delete this->screenshot; + this->heading = 0; + this->description = 0; + this->screenshot = 0; + this->prepared = false; + } +} + +QString ExampleContent::loadDescription() +{ + QByteArray ba = MenuManager::instance()->getHtml(this->name); + + QDomDocument exampleDoc; + exampleDoc.setContent(ba, false); + + QDomNodeList paragraphs = exampleDoc.elementsByTagName("p"); + if (paragraphs.length() < 1 && Colors::verbose) + qDebug() << "- ExampleContent::loadDescription(): Could not load description:" << MenuManager::instance()->info[this->name]["docfile"]; + QString description = Colors::contentColor + QLatin1String("Could not load description. Ensure that the documentation for Qt is built."); + for (int p = 0; p < int(paragraphs.length()); ++p) { + description = this->extractTextFromParagraph(paragraphs.item(p)); + if (this->isSummary(description)) { + break; + } + } + return Colors::contentColor + description; +} + +bool ExampleContent::isSummary(const QString &text) +{ + return (!text.contains("[") && + text.indexOf(QRegExp(QString("(In )?((The|This) )?(%1 )?.*(tutorial|example|demo|application)").arg(this->name), Qt::CaseInsensitive)) != -1); +} + +QString ExampleContent::extractTextFromParagraph(const QDomNode &parentNode) +{ + QString description; + QDomNode node = parentNode.firstChild(); + + while (!node.isNull()) { + QString beginTag; + QString endTag; + if (node.isText()) + description += Colors::contentColor + node.nodeValue(); + else if (node.hasChildNodes()) { + if (node.nodeName() == "b") { + beginTag = ""; + endTag = ""; + } else if (node.nodeName() == "a") { + beginTag = Colors::contentColor; + endTag = ""; + } else if (node.nodeName() == "i") { + beginTag = ""; + endTag = ""; + } else if (node.nodeName() == "tt") { + beginTag = ""; + endTag = ""; + } + description += beginTag + this->extractTextFromParagraph(node) + endTag; + } + node = node.nextSibling(); + } + + return description; +} + +void ExampleContent::createContent() +{ + // Create the items: + this->heading = new HeadingItem(this->name, this->scene(), this); + this->description = new DemoTextItem(this->loadDescription(), Colors::contentFont(), + Colors::heading, 500, this->scene(), this); + int imgHeight = 340 - int(this->description->boundingRect().height()) + 50; + this->screenshot = new ImageItem(QImage::fromData(MenuManager::instance()->getImage(this->name)), + 550, imgHeight, this->scene(), this); + + // Place the items on screen: + this->heading->setPos(0, 3); + this->description->setPos(0, this->heading->pos().y() + this->heading->boundingRect().height() + 10); + this->screenshot->setPos(0, this->description->pos().y() + this->description->boundingRect().height() + 10); +} + +QRectF ExampleContent::boundingRect() const +{ + return QRectF(0, 0, 500, 100); +} + + diff --git a/demos/qtdemo/examplecontent.h b/demos/qtdemo/examplecontent.h new file mode 100644 index 0000000..850d64b --- /dev/null +++ b/demos/qtdemo/examplecontent.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef CONTENT_ITEM_H +#define CONTENT_ITEM_H + +#include +#include +#include "demoitem.h" + +class HeadingItem; +class DemoTextItem; +class ImageItem; + +class ExampleContent : public DemoItem +{ + +public: + ExampleContent(const QString &name, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + + virtual QRectF boundingRect() const; + virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0){}; + void animationStopped(int id); + void prepare(); + +private: + QString name; + HeadingItem *heading; + DemoTextItem *description; + ImageItem *screenshot; + + QString loadDescription(); + QString extractTextFromParagraph(const QDomNode &parentNode); + bool isSummary(const QString &text); + void createContent(); +}; + +#endif // CONTENT_ITEM_H + diff --git a/demos/qtdemo/guide.cpp b/demos/qtdemo/guide.cpp new file mode 100644 index 0000000..1f3c355 --- /dev/null +++ b/demos/qtdemo/guide.cpp @@ -0,0 +1,144 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "guide.h" +#include "colors.h" + +Guide::Guide(Guide *follows) +{ + this->scaleX = 1.0; + this->scaleY = 1.0; + + if (follows){ + while (follows->nextGuide != follows->firstGuide) // append to end + follows = follows->nextGuide; + + follows->nextGuide = this; + this->prevGuide = follows; + this->firstGuide = follows->firstGuide; + this->nextGuide = follows->firstGuide; + this->startLength = int(follows->startLength + follows->length()) + 1; + } + else{ + this->prevGuide = this; + this->firstGuide = this; + this->nextGuide = this; + this->startLength = 0; + } +} + +void Guide::setScale(float scaleX, float scaleY, bool all) +{ + this->scaleX = scaleX; + this->scaleY = scaleY; + + if (all){ + Guide *next = this->nextGuide; + while(next != this){ + next->scaleX = scaleX; + next->scaleY = scaleY; + next = next->nextGuide; + } + } +} + +void Guide::setFence(const QRectF &fence, bool all) +{ + this->fence = fence; + + if (all){ + Guide *next = this->nextGuide; + while(next != this){ + next->fence = fence; + next = next->nextGuide; + } + } +} + +Guide::~Guide() +{ + if (this != this->nextGuide && this->nextGuide != this->firstGuide) + delete this->nextGuide; +} + +float Guide::lengthAll() +{ + float len = length(); + Guide *next = this->nextGuide; + while(next != this){ + len += next->length(); + next = next->nextGuide; + } + return len; +} + +void Guide::move(DemoItem *item, QPointF &dest, float moveSpeed) +{ + QLineF walkLine(item->getGuidedPos(), dest); + if (moveSpeed >= 0 && walkLine.length() > moveSpeed){ + // The item is too far away from it's destination point. + // So we choose to move it towards it instead. + float dx = walkLine.dx(); + float dy = walkLine.dy(); + + if (qAbs(dx) > qAbs(dy)){ + // walk along x-axis + if (dx != 0){ + float d = moveSpeed * dy / qAbs(dx); + float s = dx > 0 ? moveSpeed : -moveSpeed; + dest.setX(item->getGuidedPos().x() + s); + dest.setY(item->getGuidedPos().y() + d); + } + } + else{ + // walk along y-axis + if (dy != 0){ + float d = moveSpeed * dx / qAbs(dy); + float s = dy > 0 ? moveSpeed : -moveSpeed; + dest.setX(item->getGuidedPos().x() + d); + dest.setY(item->getGuidedPos().y() + s); + } + } + } + + item->setGuidedPos(dest); +} diff --git a/demos/qtdemo/guide.h b/demos/qtdemo/guide.h new file mode 100644 index 0000000..51ce6c3 --- /dev/null +++ b/demos/qtdemo/guide.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef GUIDE_H +#define GUIDE_H + +#include "demoitem.h" + +class Guide +{ +public: + Guide(Guide *follows = 0); + virtual ~Guide(); + + virtual void guide(DemoItem *item, float moveSpeed) = 0; + void move(DemoItem *item, QPointF &dest, float moveSpeed); + virtual QPointF startPos(){ return QPointF(0, 0); }; + virtual QPointF endPos(){ return QPointF(0, 0); }; + virtual float length(){ return 1; }; + float lengthAll(); + + void setScale(float scaleX, float scaleY, bool all = true); + void setFence(const QRectF &fence, bool all = true); + + int startLength; + Guide *nextGuide; + Guide *firstGuide; + Guide *prevGuide; + float scaleX; + float scaleY; + QRectF fence; +}; + +#endif // GUIDE_H + diff --git a/demos/qtdemo/guidecircle.cpp b/demos/qtdemo/guidecircle.cpp new file mode 100644 index 0000000..98328dc --- /dev/null +++ b/demos/qtdemo/guidecircle.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "guidecircle.h" + +static float PI2 = 2*3.1415f; + +GuideCircle::GuideCircle(const QRectF &rect, float startAngle, float span, DIRECTION dir, Guide *follows) : Guide(follows) +{ + this->radiusX = rect.width() / 2.0; + this->radiusY = rect.height() / 2.0; + this->posX = rect.topLeft().x(); + this->posY = rect.topLeft().y(); + this->spanRad = span * PI2 / -360.0; + if (dir == CCW){ + this->startAngleRad = startAngle * PI2 / -360.0; + this->endAngleRad = startAngleRad + spanRad; + this->stepAngleRad = this->spanRad / this->length(); + } + else{ + this->startAngleRad = spanRad + (startAngle * PI2 / -360.0); + this->endAngleRad = startAngle * PI2 / -360.0; + this->stepAngleRad = -this->spanRad / this->length(); + } +} + +float GuideCircle::length() +{ + return qAbs(this->radiusX * spanRad); +} + +QPointF GuideCircle::startPos() +{ + return QPointF((posX + radiusX + radiusX * cos(startAngleRad)) * scaleX, + (posY + radiusY + radiusY * sin(startAngleRad)) * scaleY); +} + +QPointF GuideCircle::endPos() +{ + return QPointF((posX + radiusX + radiusX * cos(endAngleRad)) * scaleX, + (posY + radiusY + radiusY * sin(endAngleRad)) * scaleY); +} + +void GuideCircle::guide(DemoItem *item, float moveSpeed) +{ + float frame = item->guideFrame - this->startLength; + QPointF end((posX + radiusX + radiusX * cos(startAngleRad + (frame * stepAngleRad))) * scaleX, + (posY + radiusY + radiusY * sin(startAngleRad + (frame * stepAngleRad))) * scaleY); + this->move(item, end, moveSpeed); +} diff --git a/demos/qtdemo/guidecircle.h b/demos/qtdemo/guidecircle.h new file mode 100644 index 0000000..2179527 --- /dev/null +++ b/demos/qtdemo/guidecircle.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef GUIDECIRCLE_H +#define GUIDECIRCLE_H + +#include "guide.h" +#include "demoitem.h" + +class GuideCircle : public Guide +{ +public: + enum DIRECTION {CW = 1, CCW = -1}; + + GuideCircle(const QRectF &rect, float startAngle = 0, float span = 360, DIRECTION dir = CCW, Guide *follows = 0); + + void guide(DemoItem *item, float moveSpeed); // overridden + QPointF startPos(); + QPointF endPos(); + float length(); + +private: + float posX; + float posY; + float radiusX; + float radiusY; + float startAngleRad; + float endAngleRad; + float spanRad; + float stepAngleRad; +}; + +#endif // GUIDECIRCLE_H + diff --git a/demos/qtdemo/guideline.cpp b/demos/qtdemo/guideline.cpp new file mode 100644 index 0000000..ac01339 --- /dev/null +++ b/demos/qtdemo/guideline.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "guideline.h" +#include + +GuideLine::GuideLine(const QLineF &line, Guide *follows) : Guide(follows) +{ + this->line = line; +} + +GuideLine::GuideLine(const QPointF &end, Guide *follows) : Guide(follows) +{ + if (follows) + this->line = QLineF(prevGuide->endPos(), end); + else + this->line = QLineF(QPointF(0, 0), end); +} + +float GuideLine::length() +{ + return line.length(); +} + +QPointF GuideLine::startPos() +{ + return QPointF(this->line.p1().x() * scaleX, this->line.p1().y() * scaleY); +} + +QPointF GuideLine::endPos() +{ + return QPointF(this->line.p2().x() * scaleX, this->line.p2().y() * scaleY); +} + +void GuideLine::guide(DemoItem *item, float moveSpeed) +{ + float frame = item->guideFrame - this->startLength; + float endX = (this->line.p1().x() + (frame * this->line.dx() / this->length())) * scaleX; + float endY = (this->line.p1().y() + (frame * this->line.dy() / this->length())) * scaleY; + QPointF pos(endX, endY); + this->move(item, pos, moveSpeed); +} + diff --git a/demos/qtdemo/guideline.h b/demos/qtdemo/guideline.h new file mode 100644 index 0000000..93daaa8 --- /dev/null +++ b/demos/qtdemo/guideline.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef GUIDELINE_H +#define GUIDELINE_H + +#include "guide.h" +#include "demoitem.h" + +class GuideLine : public Guide +{ +public: + GuideLine(const QLineF &line, Guide *follows = 0); + GuideLine(const QPointF &end, Guide *follows = 0); + + void guide(DemoItem *item, float moveSpeed); // overridden + QPointF startPos(); + QPointF endPos(); + float length(); + +private: + QLineF line; + +}; + +#endif // GUIDELINE_H + diff --git a/demos/qtdemo/headingitem.cpp b/demos/qtdemo/headingitem.cpp new file mode 100644 index 0000000..80a255a --- /dev/null +++ b/demos/qtdemo/headingitem.cpp @@ -0,0 +1,104 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "headingitem.h" +#include "colors.h" + +HeadingItem::HeadingItem(const QString &text, QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + this->text = text; + this->noSubPixeling = true; +} + +QImage *HeadingItem::createImage(const QMatrix &matrix) const +{ + float sx = qMin(matrix.m11(), matrix.m22()); + float sy = matrix.m22() < sx ? sx : matrix.m22(); + QFontMetrics fm(Colors::headingFont()); + + float w = fm.width(this->text) + 1; + float h = fm.height(); + float xShadow = 3.0f; + float yShadow = 3.0f; + + QImage *image = new QImage(int((w + xShadow) * sx), int((h + yShadow) * sy), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.setFont(Colors::headingFont()); + painter.scale(sx, sy); + + //draw shadow + QLinearGradient brush_shadow(xShadow, yShadow, w, yShadow); + brush_shadow.setSpread(QLinearGradient::PadSpread); + if (Colors::useEightBitPalette) + brush_shadow.setColorAt(0.0f, QColor(0, 0, 0)); + else + brush_shadow.setColorAt(0.0f, QColor(0, 0, 0, 100)); + QPen pen_shadow; + pen_shadow.setBrush(brush_shadow); + painter.setPen(pen_shadow); + painter.drawText(int(xShadow), int(yShadow), int(w), int(h), Qt::AlignLeft, this->text); + + // draw text + QLinearGradient brush_text(0, 0, w, w); + brush_text.setSpread(QLinearGradient::PadSpread); + brush_text.setColorAt(0.0f, QColor(255, 255, 255)); + brush_text.setColorAt(0.2f, QColor(255, 255, 255)); + brush_text.setColorAt(0.5f, QColor(190, 190, 190)); + QPen pen_text; + pen_text.setBrush(brush_text); + painter.setPen(pen_text); + painter.drawText(0, 0, int(w), int(h), Qt::AlignLeft, this->text); + return image; +} + + +void HeadingItem::animationStarted(int) +{ + this->noSubPixeling = false; +} + + +void HeadingItem::animationStopped(int) +{ + this->noSubPixeling = true; +} diff --git a/demos/qtdemo/headingitem.h b/demos/qtdemo/headingitem.h new file mode 100644 index 0000000..a5cb997 --- /dev/null +++ b/demos/qtdemo/headingitem.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef HEADING_ITEM_H +#define HEADING_ITEM_H + +#include +#include "demoitem.h" + +class HeadingItem : public DemoItem +{ +public: + HeadingItem(const QString &text, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + void animationStarted(int id = 0); + void animationStopped(int id = 0); + +protected: + virtual QImage *createImage(const QMatrix &matrix) const; // overridden + +private: + QString text; +}; + +#endif // HEADING_ITEM_H + diff --git a/demos/qtdemo/imageitem.cpp b/demos/qtdemo/imageitem.cpp new file mode 100644 index 0000000..e556011 --- /dev/null +++ b/demos/qtdemo/imageitem.cpp @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "imageitem.h" +#include "colors.h" + +ImageItem::ImageItem(const QImage &image, int maxWidth, int maxHeight, QGraphicsScene *scene, + QGraphicsItem *parent, bool adjustSize, float scale) : DemoItem(scene, parent) +{ + this->image = image; + this->maxWidth = maxWidth; + this->maxHeight = maxHeight; + this->adjustSize = adjustSize; + this->scale = scale; +} + +QImage *ImageItem::createImage(const QMatrix &matrix) const +{ + QImage *original = new QImage(image); + if (original->isNull()){ + return original; // nothing we can do about it... + } + + QPoint size = matrix.map(QPoint(this->maxWidth, this->maxHeight)); + float w = size.x(); // x, y is the used as width, height + float h = size.y(); + + // Optimization: if image is smaller than maximum allowed size, just return the loaded image + if (original->size().height() <= h && original->size().width() <= w && !this->adjustSize && this->scale == 1) + return original; + + // Calculate what the size of the final image will be: + w = qMin(w, float(original->size().width()) * this->scale); + h = qMin(h, float(original->size().height()) * this->scale); + + float adjustx = 1.0f; + float adjusty = 1.0f; + if (this->adjustSize){ + adjustx = qMin(matrix.m11(), matrix.m22()); + adjusty = matrix.m22() < adjustx ? adjustx : matrix.m22(); + w *= adjustx; + h *= adjusty; + } + + // Create a new image with correct size, and draw original on it + QImage *image = new QImage(int(w+2), int(h+2), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + if (this->adjustSize) + painter.scale(adjustx, adjusty); + if (this->scale != 1) + painter.scale(this->scale, this->scale); + painter.drawImage(0, 0, *original); + + if (!this->adjustSize){ + // Blur out edges + int blur = 30; + if (h < original->height()){ + QLinearGradient brush1(0, h - blur, 0, h); + brush1.setSpread(QGradient::PadSpread); + brush1.setColorAt(0.0, QColor(0, 0, 0, 0)); + brush1.setColorAt(1.0, Colors::sceneBg1); + painter.fillRect(0, int(h) - blur, original->width(), int(h), brush1); + } + if (w < original->width()){ + QLinearGradient brush2(w - blur, 0, w, 0); + brush2.setSpread(QGradient::PadSpread); + brush2.setColorAt(0.0, QColor(0, 0, 0, 0)); + brush2.setColorAt(1.0, Colors::sceneBg1); + painter.fillRect(int(w) - blur, 0, int(w), original->height(), brush2); + } + } + delete original; + return image; +} diff --git a/demos/qtdemo/imageitem.h b/demos/qtdemo/imageitem.h new file mode 100644 index 0000000..e73079a --- /dev/null +++ b/demos/qtdemo/imageitem.h @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef IMAGE_ITEM_H +#define IMAGE_ITEM_H + +#include +#include "demoitem.h" + +class ImageItem : public DemoItem +{ +public: + ImageItem(const QImage &image, int maxWidth, int maxHeight, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0, + bool adjustSize = false, float scale = 1.0f); + + bool adjustSize; + float scale; +protected: + QImage *createImage(const QMatrix &matrix) const; + +private: + QImage image; + int maxWidth; + int maxHeight; +}; + +#endif // DOCK_ITEM_H + diff --git a/demos/qtdemo/images/demobg.png b/demos/qtdemo/images/demobg.png new file mode 100755 index 0000000..3280afa Binary files /dev/null and b/demos/qtdemo/images/demobg.png differ diff --git a/demos/qtdemo/images/qtlogo_small.png b/demos/qtdemo/images/qtlogo_small.png new file mode 100644 index 0000000..21b17df Binary files /dev/null and b/demos/qtdemo/images/qtlogo_small.png differ diff --git a/demos/qtdemo/images/trolltech-logo.png b/demos/qtdemo/images/trolltech-logo.png new file mode 100644 index 0000000..186c69c Binary files /dev/null and b/demos/qtdemo/images/trolltech-logo.png differ diff --git a/demos/qtdemo/itemcircleanimation.cpp b/demos/qtdemo/itemcircleanimation.cpp new file mode 100644 index 0000000..fff52bb --- /dev/null +++ b/demos/qtdemo/itemcircleanimation.cpp @@ -0,0 +1,507 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "itemcircleanimation.h" +#include "demoitemanimation.h" +#include "colors.h" +#include "menumanager.h" +#include "mainwindow.h" +#include "menumanager.h" + +static QGraphicsScene *sscene; + +//////////////////// POST EFFECT STUFF //////////////////////////////////////// + +class TickerPostEffect +{ +public: + virtual ~TickerPostEffect(){}; + virtual void tick(float){}; + virtual void transform(DemoItem *, QPointF &){}; +}; + +class PostRotateXY : public TickerPostEffect +{ +public: + float currRotX, currRotY; + float speedx, speedy, curvx, curvy; + + PostRotateXY(float speedx, float speedy, float curvx, float curvy) + : currRotX(0), currRotY(0), + speedx(speedx), speedy(speedy), + curvx(curvx), curvy(curvy){}; + + void tick(float adjust) + { + currRotX += speedx * adjust; + currRotY += speedy * adjust; + } + + void transform(DemoItem *item, QPointF &pos) + { + DemoItem *parent = (DemoItem *) item->parentItem(); + QPointF center = parent->boundingRect().center(); + pos.setX(center.x() + (pos.x() - center.x()) * cos(currRotX + pos.x() * curvx)); + pos.setY(center.y() + (pos.y() - center.y()) * cos(currRotY + pos.y() * curvy)); + } +}; + +class PostRotateXYTwist : public TickerPostEffect +{ +public: + float currRotX, currRotY; + float speedx, speedy, curvx, curvy; + + PostRotateXYTwist(float speedx, float speedy, float curvx, float curvy) + : currRotX(0), currRotY(0), + speedx(speedx), speedy(speedy), + curvx(curvx), curvy(curvy){}; + + void tick(float adjust) + { + currRotX += speedx * adjust; + currRotY += speedy * adjust; + } + + void transform(DemoItem *item, QPointF &pos) + { + DemoItem *parent = (DemoItem *) item->parentItem(); + QPointF center = parent->boundingRect().center(); + pos.setX(center.x() + (pos.x() - center.x()) * cos(currRotX + pos.y() * curvx)); + pos.setY(center.y() + (pos.y() - center.y()) * cos(currRotY + pos.x() * curvy)); + } +}; + +//////////////////// TICKER EFFECT STUFF ////////////////////////////////////// + +class TickerEffect +{ + TickerPostEffect *postEffect; +public: + enum EffectStatus{Normal, Intro, Outro} status; + LetterList *letters; + float morphSpeed, moveSpeed; + float normalMorphSpeed, normalMoveSpeed; + bool useSheepDog, morphBetweenModels; + + TickerEffect(LetterList *letters) + : postEffect(new TickerPostEffect()), status(Intro), letters(letters), + morphSpeed(Colors::tickerMorphSpeed), moveSpeed(Colors::tickerMoveSpeed), + normalMorphSpeed(Colors::tickerMorphSpeed), normalMoveSpeed(Colors::tickerMoveSpeed), + useSheepDog(true), morphBetweenModels(!Colors::noTickerMorph){} + + void setPostEffect(TickerPostEffect *effect) + { + delete postEffect; + postEffect = effect; + } + + virtual ~TickerEffect() + { + delete postEffect; + } + + void slowDownAfterIntro(float adjust) + { + if (morphBetweenModels){ + if (status == Intro){ + float dec = 0.1 * adjust; + moveSpeed -= dec; + if (moveSpeed < Colors::tickerMoveSpeed){ + moveSpeed = normalMoveSpeed; + morphSpeed = normalMorphSpeed; + status = Normal; + } + } + } + } + + void moveLetters(float adjust) + { + float adaptedMoveSpeed = this->moveSpeed * adjust; + float adaptedMorphSpeed = this->morphSpeed * adjust; + postEffect->tick(adjust); + + for (int i=0; isize(); i++){ + LetterItem *letter = letters->at(i); + letter->guideAdvance(this->morphBetweenModels ? adaptedMoveSpeed : Colors::tickerMoveSpeed); + letter->guideMove(this->morphBetweenModels ? adaptedMorphSpeed : -1); + + QPointF pos = letter->getGuidedPos(); + postEffect->transform(letter, pos); + + if (useSheepDog) + letter->setPosUsingSheepDog(pos, QRectF(0, 0, 800, 600)); + else + letter->setPos(pos); + } + } + + virtual void tick(float adjust) + { + slowDownAfterIntro(adjust); + moveLetters(adjust); + } + +}; + +class EffectWhirlWind : public TickerEffect +{ +public: + EffectWhirlWind(LetterList *letters) : TickerEffect(letters) + { + moveSpeed = 50; + for (int i=0; iletters->size(); i++){ + LetterItem *letter = this->letters->at(i); + letter->setGuidedPos(QPointF(0, 100)); + } + } +}; + +class EffectSnake : public TickerEffect +{ +public: + EffectSnake(LetterList *letters) : TickerEffect(letters) + { + moveSpeed = 40; + for (int i=0; iletters->size(); i++){ + LetterItem *letter = this->letters->at(i); + letter->setGuidedPos(QPointF(0, -250 - (i * 5))); + } + } +}; + +class EffectScan : public TickerEffect +{ +public: + EffectScan(LetterList *letters) : TickerEffect(letters) + { + for (int i=0; iletters->size(); i++){ + LetterItem *letter = this->letters->at(i); + letter->setGuidedPos(QPointF(100, -300)); + } + } +}; + +class EffectRaindrops : public TickerEffect +{ +public: + EffectRaindrops(LetterList *letters) : TickerEffect(letters) + { + for (int i=0; iletters->size(); i++){ + LetterItem *letter = this->letters->at(i); + letter->setGuidedPos(QPointF(-100 + rand() % 200, - 200.0f - rand() % 1300)); + } + } +}; + +class EffectLine : public TickerEffect +{ +public: + EffectLine(LetterList *letters) : TickerEffect(letters) + { + for (int i=0; iletters->size(); i++){ + LetterItem *letter = this->letters->at(i); + letter->setGuidedPos(QPointF(100, 500.0f + i * 20)); + } + } +}; + +//////////////////// TICKER STUFF ///////////////////////////////////////////// + +ItemCircleAnimation::ItemCircleAnimation(QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + sscene = scene; + this->letterCount = Colors::tickerLetterCount; + this->scale = 1; + this->showCount = -1; + this->tickOnPaint = false; + this->paused = false; + this->doIntroTransitions = true; + this->setAcceptsHoverEvents(true); + this->setCursor(Qt::OpenHandCursor); + this->setupGuides(); + this->setupLetters(); + this->useGuideQt(); + this->effect = 0;//new TickerEffect(this->letterList); +} + +ItemCircleAnimation::~ItemCircleAnimation() +{ + delete this->letterList; + delete this->qtGuide1; + delete this->qtGuide2; + delete this->qtGuide3; + delete this->effect; +} + +void ItemCircleAnimation::createLetter(char c) +{ + LetterItem *letter = new LetterItem(c, sscene, this); + this->letterList->append(letter); +} + +void ItemCircleAnimation::setupLetters() +{ + this->letterList = new LetterList(); + + QString s = Colors::tickerText; + int len = s.length(); + int i = 0; + for (; i < this->letterCount - len; i += len) + for (int l=0; lletterCount; ++i) + createLetter(' '); +} + +void ItemCircleAnimation::setupGuides() +{ + int x = 0; + int y = 20; + + this->qtGuide1 = new GuideCircle(QRectF(x, y, 260, 260), -36, 342); + new GuideLine(QPointF(x + 240, y + 268), this->qtGuide1); + new GuideLine(QPointF(x + 265, y + 246), this->qtGuide1); + new GuideLine(QPointF(x + 158, y + 134), this->qtGuide1); + new GuideLine(QPointF(x + 184, y + 109), this->qtGuide1); + new GuideLine(QPointF(x + 160, y + 82), this->qtGuide1); + new GuideLine(QPointF(x + 77, y + 163), this->qtGuide1); // T-top + new GuideLine(QPointF(x + 100, y + 190), this->qtGuide1); + new GuideLine(QPointF(x + 132, y + 159), this->qtGuide1); + new GuideLine(QPointF(x + 188, y + 211), this->qtGuide1); + new GuideCircle(QRectF(x + 30, y + 30, 200, 200), -30, 336, GuideCircle::CW, this->qtGuide1); + new GuideLine(QPointF(x + 238, y + 201), this->qtGuide1); + + y = 30; + this->qtGuide2 = new GuideCircle(QRectF(x + 30, y + 30, 200, 200), 135, 270, GuideCircle::CCW); + new GuideLine(QPointF(x + 222, y + 38), this->qtGuide2); + new GuideCircle(QRectF(x, y, 260, 260), 135, 270, GuideCircle::CW, this->qtGuide2); + new GuideLine(QPointF(x + 59, y + 59), this->qtGuide2); + + x = 115; + y = 10; + this->qtGuide3 = new GuideLine(QLineF(x, y, x + 30, y)); + new GuideLine(QPointF(x + 30, y + 170), this->qtGuide3); + new GuideLine(QPointF(x, y + 170), this->qtGuide3); + new GuideLine(QPointF(x, y), this->qtGuide3); + + this->qtGuide1->setFence(QRectF(0, 0, 800, 600)); + this->qtGuide2->setFence(QRectF(0, 0, 800, 600)); + this->qtGuide3->setFence(QRectF(0, 0, 800, 600)); +} + +void ItemCircleAnimation::useGuide(Guide *guide, int firstLetter, int lastLetter) +{ + float padding = guide->lengthAll() / float(lastLetter - firstLetter); + for (int i=firstLetter; iletterList->at(i); + letter->useGuide(guide, (i - firstLetter) * padding); + } +} + +void ItemCircleAnimation::useGuideQt() +{ + if (this->currGuide != this->qtGuide1){ + this->useGuide(qtGuide1, 0, this->letterCount); + this->currGuide = qtGuide1; + } +} + +void ItemCircleAnimation::useGuideTt() +{ + if (this->currGuide != this->qtGuide2){ + int split = int(this->letterCount * 5.0 / 7.0); + this->useGuide(qtGuide2, 0, split); + this->useGuide(qtGuide3, split, this->letterCount); + this->currGuide = qtGuide2; + } +} + +QRectF ItemCircleAnimation::boundingRect() const +{ + return QRectF(0, 0, 300, 320); +} + +void ItemCircleAnimation::prepare() +{ +} + +void ItemCircleAnimation::switchToNextEffect() +{ + ++this->showCount; + delete this->effect; + + switch (this->showCount){ + case 1: + this->effect = new EffectSnake(this->letterList); + break; + case 2: + this->effect = new EffectLine(this->letterList); + this->effect->setPostEffect(new PostRotateXYTwist(0.01f, 0.0f, 0.003f, 0.0f)); + break; + case 3: + this->effect = new EffectRaindrops(this->letterList); + this->effect->setPostEffect(new PostRotateXYTwist(0.01f, 0.005f, 0.003f, 0.003f)); + break; + case 4: + this->effect = new EffectScan(this->letterList); + this->effect->normalMoveSpeed = 0; + this->effect->setPostEffect(new PostRotateXY(0.008f, 0.0f, 0.005f, 0.0f)); + break; + default: + this->showCount = 0; + this->effect = new EffectWhirlWind(this->letterList); + } +} + +void ItemCircleAnimation::animationStarted(int id) +{ + if (id == DemoItemAnimation::ANIM_IN){ + if (this->doIntroTransitions){ + // Make all letters dissapear + for (int i=0; iletterList->size(); i++){ + LetterItem *letter = this->letterList->at(i); + letter->setPos(1000, 0); + } + this->switchToNextEffect(); + this->useGuideQt(); + this->scale = 1; + // The first time we run, we have a rather large + // delay to perform benchmark before the ticker shows. + // But now, since we are showing, use a more appropriate value: + this->currentAnimation->startDelay = 1500; + } + } + else if (this->effect) + this->effect->useSheepDog = false; + + this->tickTimer = QTime::currentTime(); +} + +void ItemCircleAnimation::animationStopped(int) +{ + // Nothing to do. +} + +void ItemCircleAnimation::swapModel(){ + if (this->currGuide == this->qtGuide2) + this->useGuideQt(); + else + this->useGuideTt(); +} + +void ItemCircleAnimation::hoverEnterEvent(QGraphicsSceneHoverEvent *) +{ +// Skip swap here to enhance ticker dragging +// this->swapModel(); +} + +void ItemCircleAnimation::hoverLeaveEvent(QGraphicsSceneHoverEvent *) +{ + this->swapModel(); +} + +void ItemCircleAnimation::setTickerScale(float s) +{ + this->scale = s; + qtGuide1->setScale(this->scale, this->scale); + qtGuide2->setScale(this->scale, this->scale); + qtGuide3->setScale(this->scale, this->scale); +} + +void ItemCircleAnimation::mousePressEvent(QGraphicsSceneMouseEvent *event) +{ + this->mouseMoveLastPosition = event->scenePos(); + if (event->button() == Qt::LeftButton) + this->setCursor(Qt::ClosedHandCursor); + else + this->switchToNextEffect(); +} + +void ItemCircleAnimation::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + this->setCursor(Qt::OpenHandCursor); +} + +void ItemCircleAnimation::mouseMoveEvent(QGraphicsSceneMouseEvent *event) +{ + QPointF newPosition = event->scenePos(); + this->setPosUsingSheepDog(this->pos() + newPosition - this->mouseMoveLastPosition, QRectF(-260, -280, 1350, 1160)); + this->mouseMoveLastPosition = newPosition; +} + +void ItemCircleAnimation::wheelEvent(QGraphicsSceneWheelEvent *event) +{ + this->effect->moveSpeed = this->effect->moveSpeed + (event->delta() > 0 ? -0.20 : 0.20); + if (this->effect->moveSpeed < 0) + this->effect->moveSpeed = 0; +} + +void ItemCircleAnimation::pause(bool on) +{ + this->paused = on; + this->tickTimer = QTime::currentTime(); +} + +void ItemCircleAnimation::tick() +{ + if (this->paused || !this->effect) + return; + + float t = this->tickTimer.msecsTo(QTime::currentTime()); + this->tickTimer = QTime::currentTime(); + this->effect->tick(t/10.0f); +} + +void ItemCircleAnimation::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) +{ + if (this->tickOnPaint) + tick(); +} + + + + diff --git a/demos/qtdemo/itemcircleanimation.h b/demos/qtdemo/itemcircleanimation.h new file mode 100644 index 0000000..27e399c --- /dev/null +++ b/demos/qtdemo/itemcircleanimation.h @@ -0,0 +1,110 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef ITEM_CIRCLE_ANIMATION_H +#define ITEM_CIRCLE_ANIMATION_H + +#include +#include +#include +#include +#include +#include "demoitem.h" +#include "letteritem.h" +#include "guideline.h" +#include "guidecircle.h" + +typedef QList LetterList; +class TickerEffect; + +class ItemCircleAnimation : public QObject, public DemoItem +{ +public: + ItemCircleAnimation(QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + virtual ~ItemCircleAnimation(); + + // overidden methods: + QRectF boundingRect() const; + void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); + void hoverEnterEvent(QGraphicsSceneHoverEvent *event); + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + void wheelEvent(QGraphicsSceneWheelEvent *event); + void animationStarted(int id = 0); + void animationStopped(int id = 0); + void prepare(); + void tick(); + void switchToNextEffect(); + void useGuideQt(); + void useGuideTt(); + void pause(bool on); + + bool tickOnPaint; + bool paused; + bool doIntroTransitions; + +private: + void setupLetters(); + void createLetter(char c); + void setupGuides(); + void useGuide(Guide *guide, int firstLetter, int lastLetter); + void swapModel(); + void setTickerScale(float s); + + int showCount; + float scale; + QPointF mouseMoveLastPosition; + int letterCount; + LetterList *letterList; + Guide *qtGuide1; + Guide *qtGuide2; + Guide *qtGuide3; + Guide *currGuide; + TickerEffect *effect; + QTime tickTimer; +}; + +#endif // ITEM_CIRCLE_ANIMATION_H + + + diff --git a/demos/qtdemo/letteritem.cpp b/demos/qtdemo/letteritem.cpp new file mode 100644 index 0000000..7b814b1 --- /dev/null +++ b/demos/qtdemo/letteritem.cpp @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "letteritem.h" +#include "colors.h" + +LetterItem::LetterItem(char letter, QGraphicsScene *scene, QGraphicsItem *parent) : DemoItem(scene, parent), letter(letter) +{ + useSharedImage(QString(__FILE__) + letter); +} + +LetterItem::~LetterItem() +{ +} + +QImage *LetterItem::createImage(const QMatrix &matrix) const +{ + QRect scaledRect = matrix.mapRect(QRect(0, 0, 25, 25)); + QImage *image = new QImage(scaledRect.width(), scaledRect.height(), QImage::Format_ARGB32_Premultiplied); + image->fill(0); + QPainter painter(image); + painter.scale(matrix.m11(), matrix.m22()); + painter.setRenderHints(QPainter::TextAntialiasing | QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + painter.setPen(Qt::NoPen); + if (Colors::useEightBitPalette){ + painter.setBrush(QColor(102, 175, 54)); + painter.drawEllipse(0, 0, 25, 25); + painter.setFont(Colors::tickerFont()); + painter.setPen(QColor(255, 255, 255)); + painter.drawText(10, 15, QString(this->letter)); + } + else { + QLinearGradient brush(0, 0, 0, 25); + brush.setSpread(QLinearGradient::PadSpread); + brush.setColorAt(0.0, QColor(102, 175, 54, 200)); + brush.setColorAt(1.0, QColor(102, 175, 54, 60)); + painter.setBrush(brush); + painter.drawEllipse(0, 0, 25, 25); + painter.setFont(Colors::tickerFont()); + painter.setPen(QColor(255, 255, 255, 255)); + painter.drawText(10, 15, QString(this->letter)); + } + return image; +} + + diff --git a/demos/qtdemo/letteritem.h b/demos/qtdemo/letteritem.h new file mode 100644 index 0000000..8c3f16e --- /dev/null +++ b/demos/qtdemo/letteritem.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef LETTER_ITEM_H +#define LETTER_ITEM_H + +#include +#include "demoitem.h" + +class LetterItem : public DemoItem +{ +public: + LetterItem(char letter, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + virtual ~LetterItem(); + +protected: + QImage *createImage(const QMatrix &matrix) const; + +private: + char letter; +}; + +#endif // LETTER_ITEM_H + diff --git a/demos/qtdemo/main.cpp b/demos/qtdemo/main.cpp new file mode 100644 index 0000000..bf2028d --- /dev/null +++ b/demos/qtdemo/main.cpp @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "mainwindow.h" +#include "menumanager.h" +#include "colors.h" + +static void artisticSleep(int sleepTime) +{ + QTime time; + time.restart(); + while (time.elapsed() < sleepTime) + QCoreApplication::processEvents(QEventLoop::AllEvents, 50); +} + +int main(int argc, char *argv[]) +{ + Q_INIT_RESOURCE(qtdemo); + QApplication app(argc, argv); + Colors::parseArgs(argc, argv); + MainWindow mainWindow; + MenuManager::instance()->init(&mainWindow); + mainWindow.setFocus(); + + if (Colors::fullscreen) + mainWindow.showFullScreen(); + else { + mainWindow.enableMask(true); + mainWindow.show(); + } + + artisticSleep(500); + mainWindow.start(); + return app.exec(); +} diff --git a/demos/qtdemo/mainwindow.cpp b/demos/qtdemo/mainwindow.cpp new file mode 100644 index 0000000..8723823 --- /dev/null +++ b/demos/qtdemo/mainwindow.cpp @@ -0,0 +1,483 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include "menumanager.h" +#include "colors.h" +#include "dockitem.h" +#include "demotextitem.h" +#include "imageitem.h" +#include "demoitem.h" +#include "demoscene.h" + +#ifndef QT_NO_OPENGL + #include +#endif +//#define QT_NO_OPENGL + +MainWindow::MainWindow(QWidget *parent) : QGraphicsView(parent), updateTimer(this) +{ + this->currentFps = Colors::fps; + this->loop = false; + this->fpsMedian = -1; + this->fpsLabel = 0; + this->pausedLabel = 0; + this->doneAdapt = false; + this->useTimer = false; + this->updateTimer.setSingleShot(true); + this->trolltechLogo = 0; + this->qtLogo = 0; + this->setupWidget(); + this->setupScene(); + this->setupSceneItems(); + this->drawBackgroundToPixmap(); +} + +MainWindow::~MainWindow() +{ + delete this->trolltechLogo; + delete this->qtLogo; +} + +void MainWindow::setupWidget() +{ + QRect screenRect = QApplication::desktop()->screenGeometry(QApplication::desktop()->primaryScreen()); + QRect windowRect(0, 0, 800, 600); + if (screenRect.width() < 800) + windowRect.setWidth(screenRect.width()); + if (screenRect.height() < 600) + windowRect.setHeight(screenRect.height()); + windowRect.moveCenter(screenRect.center()); + this->setGeometry(windowRect); + this->setMinimumSize(80, 60); + setWindowTitle(tr("Qt Examples and Demos")); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setFrameStyle(QFrame::NoFrame); + this->setRenderingSystem(); + connect(&this->updateTimer, SIGNAL(timeout()), this, SLOT(tick())); +} + +void MainWindow::setRenderingSystem() +{ + QWidget *viewport = 0; + + if (Colors::direct3dRendering){ + viewport->setAttribute(Qt::WA_MSWindowsUseDirect3D); + setCacheMode(QGraphicsView::CacheNone); + if (Colors::verbose) + qDebug() << "- using Direct3D"; + } +#ifndef QT_NO_OPENGL + else if (Colors::openGlRendering){ + QGLWidget *glw = new QGLWidget(QGLFormat(QGL::SampleBuffers)); + if (Colors::noScreenSync) + glw->format().setSwapInterval(0); + glw->setAutoFillBackground(false); + viewport = glw; + setCacheMode(QGraphicsView::CacheNone); + if (Colors::verbose) + qDebug() << "- using OpenGL"; + } +#endif + else{ // software rendering + viewport = new QWidget; + setCacheMode(QGraphicsView::CacheBackground); + if (Colors::verbose) + qDebug() << "- using software rendering"; + } + + setViewport(viewport); +} + +void MainWindow::start() +{ + this->switchTimerOnOff(true); + this->demoStartTime.restart(); + MenuManager::instance()->itemSelected(MenuManager::ROOT, Colors::rootMenuName); + if (Colors::verbose) + qDebug("- starting demo"); +} + +void MainWindow::enableMask(bool enable) +{ + if (!enable || Colors::noWindowMask) + this->clearMask(); + else { + QPolygon region; + region.setPoints(9, + // north side: + 0, 0, + 800, 0, + // east side: + // 800, 70, + // 790, 90, + // 790, 480, + // 800, 500, + 800, 600, + // south side: + 700, 600, + 670, 590, + 130, 590, + 100, 600, + 0, 600, + // west side: + // 0, 550, + // 10, 530, + // 10, 520, + // 0, 520, + 0, 0); + this->setMask(QRegion(region)); + } +} + +void MainWindow::setupScene() +{ + this->scene = new DemoScene(this); + this->scene->setSceneRect(0, 0, 800, 600); + setScene(this->scene); + this->scene->setItemIndexMethod(QGraphicsScene::NoIndex); +} + +void MainWindow::drawItems(QPainter *painter, int numItems, QGraphicsItem **items, const QStyleOptionGraphicsItem* options) +{ + QGraphicsView::drawItems(painter, numItems, items, options); +} + +void MainWindow::switchTimerOnOff(bool on) +{ + bool ticker = MenuManager::instance()->ticker && MenuManager::instance()->ticker->scene(); + if (ticker) + MenuManager::instance()->ticker->tickOnPaint = !on || Colors::noTimerUpdate; + + if (on && !Colors::noTimerUpdate){ + this->useTimer = true; + this->setViewportUpdateMode(QGraphicsView::NoViewportUpdate); + this->fpsTime = QTime::currentTime(); + this->updateTimer.start(int(1000 / Colors::fps)); + } + else{ + this->useTimer = false; + this->updateTimer.stop(); + if (Colors::softwareRendering) + if (Colors::noTicker) + this->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); + else + this->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); + else + this->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + } +} + +bool MainWindow::measureFps() +{ + // Calculate time diff: + float t = this->fpsTime.msecsTo(QTime::currentTime()); + if (t == 0) + t = 0.01f; + this->currentFps = (1000.0f / t); + this->fpsHistory += this->currentFps; + this->fpsTime = QTime::currentTime(); + + // Calculate median: + int size = this->fpsHistory.size(); + if (size == 10){ + qSort(this->fpsHistory.begin(), this->fpsHistory.end()); + this->fpsMedian = this->fpsHistory.at(int(size/2)); + if (this->fpsMedian == 0) + this->fpsMedian = 0.01f; + this->fpsHistory.clear(); + return true; + } + return false; +} + +/** + Used for adaption in case things are so slow + that no median yet has been calculated +*/ +void MainWindow::forceFpsMedianCalculation() +{ + if (this->fpsMedian != -1) + return; + + int size = this->fpsHistory.size(); + if (size == 0){ + this->fpsMedian = 0.01f; + return; + } + + qSort(this->fpsHistory.begin(), this->fpsHistory.end()); + this->fpsMedian = this->fpsHistory.at(int(size/2)); + if (this->fpsMedian == 0) + this->fpsMedian = 0.01f; +} + +void MainWindow::tick() +{ + bool medianChanged = this->measureFps(); + this->checkAdapt(); + + if (medianChanged && this->fpsLabel && Colors::showFps) + this->fpsLabel->setText(QString("FPS: ") + QString::number(int(this->currentFps))); + + if (MenuManager::instance()->ticker) + MenuManager::instance()->ticker->tick(); + + this->viewport()->update(); + if (Colors::softwareRendering) + QApplication::syncX(); + + if (this->useTimer) + this->updateTimer.start(int(1000 / Colors::fps)); +} + +void MainWindow::setupSceneItems() +{ + if (Colors::showFps){ + this->fpsLabel = new DemoTextItem(QString("FPS: --"), Colors::buttonFont(), Qt::white, -1, this->scene, 0, DemoTextItem::DYNAMIC_TEXT); + this->fpsLabel->setZValue(100); + this->fpsLabel->setPos(Colors::stageStartX, 600 - QFontMetricsF(Colors::buttonFont()).height() - 5); + } + + this->trolltechLogo = new ImageItem(QImage(":/images/trolltech-logo.png"), 1000, 1000, this->scene, 0, true, 0.5f); + this->qtLogo = new ImageItem(QImage(":/images/qtlogo_small.png"), 1000, 1000, this->scene, 0, true, 0.5f); + this->trolltechLogo->setZValue(100); + this->qtLogo->setZValue(100); + this->pausedLabel = new DemoTextItem(QString("PAUSED"), Colors::buttonFont(), Qt::white, -1, this->scene, 0); + this->pausedLabel->setZValue(100); + QFontMetricsF fm(Colors::buttonFont()); + this->pausedLabel->setPos(Colors::stageWidth - fm.width("PAUSED"), 590 - fm.height()); + this->pausedLabel->setRecursiveVisible(false); +} + +void MainWindow::checkAdapt() +{ + if (this->doneAdapt + || Colors::noTimerUpdate + || this->demoStartTime.elapsed() < 2000) + return; + + this->doneAdapt = true; + this->forceFpsMedianCalculation(); + Colors::benchmarkFps = this->fpsMedian; + if (Colors::verbose) + qDebug() << "- benchmark:" << QString::number(Colors::benchmarkFps) << "FPS"; + + if (Colors::noAdapt) + return; + + if (this->fpsMedian < 30){ + if (MenuManager::instance()->ticker && MenuManager::instance()->ticker->scene()){ + this->scene->removeItem(MenuManager::instance()->ticker); + Colors::noTimerUpdate = true; + this->switchTimerOnOff(false); + if (this->fpsLabel) + this->fpsLabel->setText(QString("FPS: (") + QString::number(this->fpsMedian) + QString(")")); + if (Colors::verbose) + qDebug() << "- benchmark adaption: removed ticker (fps < 30)"; + } + + if (this->fpsMedian < 20){ + Colors::noAnimations = true; + if (Colors::verbose) + qDebug() << "- benchmark adaption: animations switched off (fps < 20)"; + } + + Colors::adapted = true; + } +} + +int MainWindow::performBenchmark() +{ +/* + QTime time; + time.restart(); + while (time.elapsed() < 2000) + QCoreApplication::processEvents(QEventLoop::AllEvents, 50); +*/ + return 0; +} + +void MainWindow::drawBackgroundToPixmap() +{ + const QRectF r = this->scene->sceneRect(); + this->background = QPixmap(qRound(r.width()), qRound(r.height())); + this->background.fill(Qt::black); + QPainter painter(&this->background); + + if (false && Colors::useEightBitPalette){ + painter.fillRect(r, Colors::sceneBg1); + } else { + QImage bg(":/images/demobg.png"); + painter.drawImage(0, 0, bg); + } +} + +void MainWindow::drawBackground(QPainter *painter, const QRectF &rect) +{ + Q_UNUSED(rect); + painter->drawPixmap(QPoint(0, 0), this->background); +} + +void MainWindow::showEvent(QShowEvent * event) +{ + Q_UNUSED(event); + QGraphicsView::showEvent(event); +} + +void MainWindow::toggleFullscreen() +{ + if (this->isFullScreen()){ + this->enableMask(true); + this->showNormal(); + if (MenuManager::instance()->ticker) + MenuManager::instance()->ticker->pause(false); + } + else { + this->enableMask(false); + this->showFullScreen(); + } +} + +void MainWindow::keyPressEvent(QKeyEvent *event) +{ + if (event->key() == Qt::Key_Escape){ + this->loop = false; + QApplication::quit(); + } + else if (event->key() == Qt::Key_1){ + QString s(""); + s += "Rendering system: "; + if (Colors::openGlRendering) + s += "OpenGL"; + else if (Colors::direct3dRendering) + s += "Direct3D"; + else + s += "software"; + + s += "\nAdapt: "; + s += Colors::noAdapt ? "off" : "on"; + s += "\nAdaption occured: "; + s += Colors::adapted ? "yes" : "no"; + s += "\nOpenGL version: "; + s += Colors::glVersion; + QWidget w; + s += "\nColor bit depth: "; + s += QString::number(w.depth()); + s += "\nWanted FPS: "; + s += QString::number(Colors::fps); + s += "\nBenchmarked FPS: "; + s += Colors::benchmarkFps != -1 ? QString::number(Colors::benchmarkFps) : "not calculated"; + s += "\nAnimations: "; + s += Colors::noAnimations ? "off" : "on"; + s += "\nBlending: "; + s += Colors::useEightBitPalette ? "off" : "on"; + s += "\nTicker: "; + s += Colors::noTicker ? "off" : "on"; + s += "\nPixmaps: "; + s += Colors::usePixmaps ? "on" : "off"; + s += "\nRescale images on resize: "; + s += Colors::noRescale ? "off" : "on"; + s += "\nTimer based updates: "; + s += Colors::noTimerUpdate ? "off" : "on"; + s += "\nSeparate loop: "; + s += Colors::useLoop ? "yes" : "no"; + s += "\nScreen sync: "; + s += Colors::noScreenSync ? "no" : "yes"; + QMessageBox::information(0, QString("Current configuration"), s); + } +} + +void MainWindow::focusInEvent(QFocusEvent *) +{ + if (!Colors::pause) + return; + + if (MenuManager::instance()->ticker) + MenuManager::instance()->ticker->pause(false); + + int code = MenuManager::instance()->currentMenuCode; + if (code == MenuManager::ROOT || code == MenuManager::MENU1) + this->switchTimerOnOff(true); + + this->pausedLabel->setRecursiveVisible(false); +} + +void MainWindow::focusOutEvent(QFocusEvent *) +{ + if (!Colors::pause) + return; + + if (MenuManager::instance()->ticker) + MenuManager::instance()->ticker->pause(true); + + int code = MenuManager::instance()->currentMenuCode; + if (code == MenuManager::ROOT || code == MenuManager::MENU1) + this->switchTimerOnOff(false); + + this->pausedLabel->setRecursiveVisible(true); +} + +void MainWindow::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event); + + this->resetMatrix(); + this->scale(event->size().width() / 800.0, event->size().height() / 600.0); + QGraphicsView::resizeEvent(event); + DemoItem::setMatrix(this->matrix()); + + if (this->trolltechLogo){ + const QRectF r = this->scene->sceneRect(); + QRectF ttb = this->trolltechLogo->boundingRect(); + this->trolltechLogo->setPos(int((r.width() - ttb.width()) / 2), 595 - ttb.height()); + QRectF qtb = this->qtLogo->boundingRect(); + this->qtLogo->setPos(802 - qtb.width(), 0); + } + + // Changing size will almost always + // hurt FPS during the changing. So + // ignore it. + this->fpsHistory.clear(); +} + + diff --git a/demos/qtdemo/mainwindow.h b/demos/qtdemo/mainwindow.h new file mode 100644 index 0000000..388a392 --- /dev/null +++ b/demos/qtdemo/mainwindow.h @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAIN_WINDOW_H +#define MAIN_WINDOW_H + +#include +#include + +class DemoTextItem; +class ImageItem; + +class MainWindow : public QGraphicsView +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = 0); + ~MainWindow(); + void enableMask(bool enable); + void toggleFullscreen(); + int performBenchmark(); + void switchTimerOnOff(bool on); + void start(); + + QGraphicsScene *scene; + bool loop; + + // FPS stuff: + QList frameTimeList; + QList fpsHistory; + float currentFps; + float fpsMedian; + DemoTextItem *fpsLabel; + +protected: + // Overidden methods: + void showEvent(QShowEvent *event); + void keyPressEvent(QKeyEvent *event); + void resizeEvent(QResizeEvent *event); + void drawBackground(QPainter *painter, const QRectF &rect); + void drawItems(QPainter *painter, int numItems, QGraphicsItem ** items, const QStyleOptionGraphicsItem* options); + void focusInEvent(QFocusEvent *event); + void focusOutEvent(QFocusEvent *event); + +private slots: + void tick(); + +private: + void setupWidget(); + void setupSceneItems(); + void drawBackgroundToPixmap(); + void setupScene(); + bool measureFps(); + void forceFpsMedianCalculation(); + void checkAdapt(); + void setRenderingSystem(); + + QTimer updateTimer; + QTime demoStartTime; + QTime fpsTime; + QPixmap background; + ImageItem *trolltechLogo; + ImageItem *qtLogo; + bool doneAdapt; + bool useTimer; + DemoTextItem *pausedLabel; +}; + +#endif // MAIN_WINDOW_H + diff --git a/demos/qtdemo/menucontent.cpp b/demos/qtdemo/menucontent.cpp new file mode 100644 index 0000000..a74cfe4 --- /dev/null +++ b/demos/qtdemo/menucontent.cpp @@ -0,0 +1,140 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "menucontent.h" +#include "colors.h" +#include "menumanager.h" +#include "demotextitem.h" +#include "headingitem.h" + +MenuContentItem::MenuContentItem(const QDomElement &el, QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + this->name = el.attribute("name"); + this->heading = 0; + this->description1 = 0; + this->description2 = 0; + + if (el.tagName() == "demos") + this->readmePath = QLibraryInfo::location(QLibraryInfo::DemosPath) + "/README"; + else + this->readmePath = QLibraryInfo::location(QLibraryInfo::ExamplesPath) + "/" + el.attribute("dirname") + "/README"; + +} + +void MenuContentItem::prepare() +{ + if (!this->prepared){ + this->prepared= true; + this->createContent(); + } +} + +void MenuContentItem::animationStopped(int id) +{ + if (this->name == Colors::rootMenuName) + return; // Optimization hack. + + if (id == DemoItemAnimation::ANIM_OUT){ + // Free up some memory: + delete this->heading; + delete this->description1; + delete this->description2; + this->heading = 0; + this->description1 = 0; + this->description2 = 0; + this->prepared = false; + } +} + +QString MenuContentItem::loadDescription(int startPara, int nrPara) +{ + QString result; + QFile readme(this->readmePath); + if (!readme.open(QFile::ReadOnly)){ + if (Colors::verbose) + qDebug() << "- MenuContentItem::loadDescription: Could not load:" << this->readmePath; + return ""; + } + + QTextStream in(&readme); + // Skip a certain number of paragraphs: + while (startPara) + if (in.readLine().isEmpty()) --startPara; + + // Read in the number of wanted paragraphs: + QString line = in.readLine(); + do { + result += line + " "; + line = in.readLine(); + if (line.isEmpty()){ + --nrPara; + line = "

" + in.readLine(); + } + } while (nrPara && !in.atEnd()); + + return Colors::contentColor + result; +} + +void MenuContentItem::createContent() +{ + // Create the items: + this->heading = new HeadingItem(this->name, this->scene(), this); + QString para1 = this->loadDescription(0, 1); + if (para1.isEmpty()) + para1 = Colors::contentColor + QLatin1String("Could not load description. Ensure that the documentation for Qt is built."); + QColor bgcolor = Colors::sceneBg1.darker(200); + bgcolor.setAlpha(100); + this->description1 = new DemoTextItem(para1, Colors::contentFont(), Colors::heading, 500, this->scene(), this, DemoTextItem::STATIC_TEXT); + this->description2 = new DemoTextItem(this->loadDescription(1, 2), Colors::contentFont(), Colors::heading, 250, this->scene(), this, DemoTextItem::STATIC_TEXT); + + // Place the items on screen: + this->heading->setPos(0, 3); + this->description1->setPos(0, this->heading->pos().y() + this->heading->boundingRect().height() + 10); + this->description2->setPos(0, this->description1->pos().y() + this->description1->boundingRect().height() + 15); +} + +QRectF MenuContentItem::boundingRect() const +{ + return QRectF(0, 0, 500, 350); +} + + diff --git a/demos/qtdemo/menucontent.h b/demos/qtdemo/menucontent.h new file mode 100644 index 0000000..737492d --- /dev/null +++ b/demos/qtdemo/menucontent.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MENU_CONTENT_ITEM_H +#define MENU_CONTENT_ITEM_H + +#include +#include +#include "demoitem.h" + +class HeadingItem; +class DemoTextItem; + +class MenuContentItem : public DemoItem +{ + +public: + MenuContentItem(const QDomElement &el, QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + + virtual QRectF boundingRect() const; // overridden + virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0){}; // overridden + void animationStopped(int id); + void prepare(); + +private: + QString name; + QString readmePath; + HeadingItem *heading; + DemoTextItem *description1; + DemoTextItem *description2; + + QString loadDescription(int startPara, int nrPara); + QString extractTextFromParagraph(const QDomNode &parentNode); + + void createContent(); +}; + +#endif // MENU_CONTENT_ITEM_H + diff --git a/demos/qtdemo/menumanager.cpp b/demos/qtdemo/menumanager.cpp new file mode 100644 index 0000000..bfa2e3f --- /dev/null +++ b/demos/qtdemo/menumanager.cpp @@ -0,0 +1,876 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "menumanager.h" +#include "colors.h" +#include "menucontent.h" +#include "examplecontent.h" + +MenuManager *MenuManager::pInstance = 0; + +MenuManager * MenuManager::instance() +{ + if (!MenuManager::pInstance) + MenuManager::pInstance = new MenuManager(); + return MenuManager::pInstance; +} + +MenuManager::MenuManager() +{ + this->ticker = 0; + this->tickerInAnim = 0; + this->upButton = 0; + this->downButton = 0; + this->helpEngine = 0; + this->score = new Score(); + this->currentMenu = QLatin1String("[no menu visible]"); + this->currentCategory = QLatin1String("[no category visible]"); + this->currentMenuButtons = QLatin1String("[no menu buttons visible]"); + this->currentInfo = QLatin1String("[no info visible]"); + this->currentMenuCode = -1; + this->readXmlDocument(); + this->initHelpEngine(); +} + +MenuManager::~MenuManager() +{ + delete this->score; + delete this->contentsDoc; + delete this->helpEngine; +} + +QByteArray MenuManager::getResource(const QString &name) +{ + QByteArray ba = this->helpEngine->fileData(name); + if (Colors::verbose && ba.isEmpty()) + qDebug() << " - WARNING: Could not get " << name; + return ba; +} + +void MenuManager::readXmlDocument() +{ + this->contentsDoc = new QDomDocument(); + QString errorStr; + int errorLine; + int errorColumn; + + QFile file(":/xml/examples.xml"); + bool statusOK = this->contentsDoc->setContent(&file, true, &errorStr, &errorLine, &errorColumn); + if (!statusOK){ + QMessageBox::critical(0, + QObject::tr("DOM Parser"), + QObject::tr("Could not read or find the contents document. Error at line %1, column %2:\n%3") + .arg(errorLine).arg(errorColumn).arg(errorStr) + ); + exit(-1); + } +} + +void MenuManager::initHelpEngine() +{ + this->helpRootUrl = QString("qthelp://com.trolltech.qt.%1%2%3/qdoc/") + .arg(QT_VERSION >> 16).arg((QT_VERSION >> 8) & 0xFF) + .arg(QT_VERSION & 0xFF); + + // Store help collection file in cache dir of assistant + QString cacheDir = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + + QLatin1String("/Trolltech/Assistant/"); + QString helpDataFile = QString(QLatin1String("qtdemo_%1.qhc")).arg(QLatin1String(QT_VERSION_STR)); + + QDir dir; + if (!dir.exists(cacheDir)) + dir.mkpath(cacheDir); + + // Create help engine (and new + // helpDataFile if it does not exist): + this->helpEngine = new QHelpEngineCore(cacheDir + helpDataFile); + this->helpEngine->setupData(); + + QString qtDocRoot = QLibraryInfo::location(QLibraryInfo::DocumentationPath) + QLatin1String("/qch"); + qtDocRoot = QDir(qtDocRoot).absolutePath(); + + QStringList qchFiles; + qchFiles << QLatin1String("/qt.qch") + << QLatin1String("/designer.qch") + << QLatin1String("/linguist.qch"); + + QString oldDir = helpEngine->customValue(QLatin1String("docDir"), QString()).toString(); + if (oldDir != qtDocRoot) { + foreach (const QString &qchFile, qchFiles) + helpEngine->unregisterDocumentation(QHelpEngineCore::namespaceName(qtDocRoot + qchFile)); + } + + // If the data that the engine will work + // on is not yet registered, do it now: + foreach (const QString &qchFile, qchFiles) + helpEngine->registerDocumentation(qtDocRoot + qchFile); + + helpEngine->setCustomValue(QLatin1String("docDir"), qtDocRoot); +} + +void MenuManager::itemSelected(int userCode, const QString &menuName) +{ + switch (userCode){ + case LAUNCH: + this->launchExample(this->currentInfo); + break; + case DOCUMENTATION: + this->showDocInAssistant(this->currentInfo); + break; + case QUIT: + this->window->loop = false; + QCoreApplication::quit(); + break; + case FULLSCREEN: + this->window->toggleFullscreen(); + break; + case ROOT: + // out: + this->score->queueMovie(this->currentMenu + " -out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(this->currentMenuButtons + " -out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(this->currentInfo + " -out"); + this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY); + this->score->queueMovie("back -out", Score::ONLY_IF_VISIBLE); + // book-keeping: + this->currentMenuCode = ROOT; + this->currentMenu = menuName + " -menu1"; + this->currentMenuButtons = menuName + " -buttons"; + this->currentInfo = menuName + " -info"; + // in: + this->score->queueMovie("upndown -shake"); + this->score->queueMovie(this->currentMenu, Score::FROM_START, Score::UNLOCK_ITEMS); + this->score->queueMovie(this->currentMenuButtons, Score::FROM_START, Score::UNLOCK_ITEMS); + this->score->queueMovie(this->currentInfo); + if (!Colors::noTicker){ + this->ticker->doIntroTransitions = true; + this->tickerInAnim->startDelay = 2000; + this->ticker->useGuideQt(); + this->score->queueMovie("ticker", Score::NEW_ANIMATION_ONLY); + this->window->switchTimerOnOff(true); + } + break; + case MENU1: + // out: + this->score->queueMovie(this->currentMenu + " -out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(this->currentMenuButtons + " -out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(this->currentInfo + " -out"); + // book-keeping: + this->currentMenuCode = MENU1; + this->currentCategory = menuName; + this->currentMenu = menuName + " -menu1"; + this->currentInfo = menuName + " -info"; + // in: + this->score->queueMovie("upndown -shake"); + this->score->queueMovie("back -in"); + this->score->queueMovie(this->currentMenu, Score::FROM_START, Score::UNLOCK_ITEMS); + this->score->queueMovie(this->currentInfo); + if (!Colors::noTicker) + this->ticker->useGuideTt(); + break; + case MENU2: + // out: + this->score->queueMovie(this->currentInfo + " -out", Score::NEW_ANIMATION_ONLY); + this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY); + // book-keeping: + this->currentMenuCode = MENU2; + this->currentInfo = menuName; + // in / shake: + this->score->queueMovie("upndown -shake"); + this->score->queueMovie("back -shake"); + this->score->queueMovie(this->currentMenu + " -shake"); + this->score->queueMovie(this->currentInfo, Score::NEW_ANIMATION_ONLY); + this->score->queueMovie(this->currentInfo + " -buttons", Score::NEW_ANIMATION_ONLY); + if (!Colors::noTicker){ + this->score->queueMovie("ticker -out", Score::NEW_ANIMATION_ONLY); + this->window->switchTimerOnOff(false); + } + break; + case UP:{ + QString backMenu = this->info[this->currentMenu]["back"]; + if (!backMenu.isNull()){ + this->score->queueMovie(this->currentMenu + " -top_out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(backMenu + " -bottom_in", Score::FROM_START, Score::UNLOCK_ITEMS); + this->currentMenu = backMenu; + } + break; } + case DOWN:{ + QString moreMenu = this->info[this->currentMenu]["more"]; + if (!moreMenu.isNull()){ + this->score->queueMovie(this->currentMenu + " -bottom_out", Score::FROM_START, Score::LOCK_ITEMS); + this->score->queueMovie(moreMenu + " -top_in", Score::FROM_START, Score::UNLOCK_ITEMS); + this->currentMenu = moreMenu; + } + break; } + case BACK:{ + if (this->currentMenuCode == MENU2){ + // out: + this->score->queueMovie(this->currentInfo + " -out", Score::NEW_ANIMATION_ONLY); + this->score->queueMovie(this->currentInfo + " -buttons -out", Score::NEW_ANIMATION_ONLY); + // book-keeping: + this->currentMenuCode = MENU1; + this->currentMenuButtons = this->currentCategory + " -buttons"; + this->currentInfo = this->currentCategory + " -info"; + // in / shake: + this->score->queueMovie("upndown -shake"); + this->score->queueMovie(this->currentMenu + " -shake"); + this->score->queueMovie(this->currentInfo, Score::NEW_ANIMATION_ONLY); + this->score->queueMovie(this->currentInfo + " -buttons", Score::NEW_ANIMATION_ONLY); + if (!Colors::noTicker){ + this->ticker->doIntroTransitions = false; + this->tickerInAnim->startDelay = 500; + this->score->queueMovie("ticker", Score::NEW_ANIMATION_ONLY); + this->window->switchTimerOnOff(true); + } + } else if (this->currentMenuCode != ROOT) + itemSelected(ROOT, Colors::rootMenuName); + break; } + } + + // update back- and more buttons + bool noBackMenu = this->info[this->currentMenu]["back"].isNull(); + bool noMoreMenu = this->info[this->currentMenu]["more"].isNull(); + this->upButton->setState(noBackMenu ? TextButton::DISABLED : TextButton::OFF); + this->downButton->setState(noMoreMenu ? TextButton::DISABLED : TextButton::OFF); + + if (this->score->hasQueuedMovies()){ + this->score->playQue(); + // Playing new movies might include + // loading etc. So ignore the FPS + // at this point + this->window->fpsHistory.clear(); + } +} + +void MenuManager::showDocInAssistant(const QString &name) +{ + QString url = this->resolveDocUrl(name); + if (Colors::verbose) + qDebug() << "Sending URL to Assistant:" << url; + + // Start assistant if it's not already running: + if (this->assistantProcess.state() != QProcess::Running){ + QString app = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator(); +#if !defined(Q_OS_MAC) + app += QLatin1String("assistant"); +#else + app += QLatin1String("Assistant.app/Contents/MacOS/Assistant"); +#endif + QStringList args; + args << QLatin1String("-enableRemoteControl"); + this->assistantProcess.start(app, args); + if (!this->assistantProcess.waitForStarted()) { + QMessageBox::critical(0, tr("Qt Demo"), tr("Could not start Qt Assistant.").arg(app)); + return; + } + } + + // Send command through remote control even if the process + // was started to activate assistant and bring it to front: + QTextStream str(&this->assistantProcess); + str << "SetSource " << url << QLatin1Char('\0') << endl; +} + +void MenuManager::launchExample(const QString &name) +{ + QString executable = this->resolveExeFile(name); +#ifdef Q_OS_MAC + if (Colors::verbose) + qDebug() << "Launching:" << executable; + bool success = QDesktopServices::openUrl(QUrl::fromLocalFile(executable)); + if (!success){ + QMessageBox::critical(0, tr("Failed to launch the example"), + tr("Could not launch the example. Ensure that it has been built."), + QMessageBox::Cancel); + } +#else // Not mac. To not break anything regarding dll's etc, keep it the way it was before: + QProcess *process = new QProcess(this); + connect(process, SIGNAL(finished(int)), this, SLOT(exampleFinished())); + connect(process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(exampleError(QProcess::ProcessError))); + +#ifdef Q_OS_WIN + //make sure it finds the dlls on windows + QString curpath = QString::fromLocal8Bit(qgetenv("PATH").constData()); + QString newpath = QString("PATH=%1;%2").arg(QLibraryInfo::location(QLibraryInfo::BinariesPath), curpath); + process->setEnvironment(QStringList(newpath)); +#endif + + if (info[name]["changedirectory"] != "false"){ + QString workingDirectory = resolveDataDir(name); + process->setWorkingDirectory(workingDirectory); + if (Colors::verbose) + qDebug() << "Setting working directory:" << workingDirectory; + } + + if (Colors::verbose) + qDebug() << "Launching:" << executable; + process->start(executable); +#endif +} + +void MenuManager::exampleFinished() +{ +} + +void MenuManager::exampleError(QProcess::ProcessError error) +{ + if (error != QProcess::Crashed) + QMessageBox::critical(0, tr("Failed to launch the example"), + tr("Could not launch the example. Ensure that it has been built."), + QMessageBox::Cancel); +} + +void MenuManager::init(MainWindow *window) +{ + this->window = window; + + // Create div: + this->createTicker(); + this->createUpnDownButtons(); + this->createBackButton(); + + // Create first level menu: + QDomElement rootElement = this->contentsDoc->documentElement(); + this->createRootMenu(rootElement); + + // Create second level menus: + QDomNode level2MenuNode = rootElement.firstChild(); + while (!level2MenuNode.isNull()){ + QDomElement level2MenuElement = level2MenuNode.toElement(); + this->createSubMenu(level2MenuElement); + + // create leaf menu and example info: + QDomNode exampleNode = level2MenuElement.firstChild(); + while (!exampleNode.isNull()){ + QDomElement exampleElement = exampleNode.toElement(); + this->readInfoAboutExample(exampleElement); + this->createLeafMenu(exampleElement); + exampleNode = exampleNode.nextSibling(); + } + + level2MenuNode = level2MenuNode.nextSibling(); + } +} + +void MenuManager::readInfoAboutExample(const QDomElement &example) +{ + QString name = example.attribute("name"); + if (this->info.contains(name)) + qWarning() << "__WARNING: MenuManager::readInfoAboutExample: Demo/example with name" + << name << "appears twize in the xml-file!__"; + + this->info[name]["filename"] = example.attribute("filename"); + this->info[name]["category"] = example.parentNode().toElement().tagName(); + this->info[name]["dirname"] = example.parentNode().toElement().attribute("dirname"); + this->info[name]["changedirectory"] = example.attribute("changedirectory"); + this->info[name]["image"] = example.attribute("image"); +} + +QString MenuManager::resolveDataDir(const QString &name) +{ + QString dirName = this->info[name]["dirname"]; + QString category = this->info[name]["category"]; + QString fileName = this->info[name]["filename"]; + + QDir dir; + if (category == "demos") + dir = QDir(QLibraryInfo::location(QLibraryInfo::DemosPath)); + else + dir = QDir(QLibraryInfo::location(QLibraryInfo::ExamplesPath)); + + dir.cd(dirName); + dir.cd(fileName); + return dir.absolutePath(); +} + +QString MenuManager::resolveExeFile(const QString &name) +{ + QString dirName = this->info[name]["dirname"]; + QString category = this->info[name]["category"]; + QString fileName = this->info[name]["filename"]; + + QDir dir; + if (category == "demos") + dir = QDir(QLibraryInfo::location(QLibraryInfo::DemosPath)); + else + dir = QDir(QLibraryInfo::location(QLibraryInfo::ExamplesPath)); + + dir.cd(dirName); + dir.cd(fileName); + + QFile unixFile(dir.path() + "/" + fileName); + if (unixFile.exists()) return unixFile.fileName(); + QFile winR(dir.path() + "\\release\\" + fileName + ".exe"); + if (winR.exists()) return winR.fileName(); + QFile winD(dir.path() + "\\debug\\" + fileName + ".exe"); + if (winD.exists()) return winD.fileName(); + QFile mac(dir.path() + "/" + fileName + ".app"); + if (mac.exists()) return mac.fileName(); + + if (Colors::verbose) + qDebug() << "- WARNING: Could not resolve executable:" << dir.path() << fileName; + return "__executable not found__"; +} + +QString MenuManager::resolveDocUrl(const QString &name) +{ + QString dirName = this->info[name]["dirname"]; + QString category = this->info[name]["category"]; + QString fileName = this->info[name]["filename"]; + + if (category == "demos") + return this->helpRootUrl + "demos-" + fileName + ".html"; + else + return this->helpRootUrl + dirName.replace("/", "-") + "-" + fileName + ".html"; +} + +QString MenuManager::resolveImageUrl(const QString &name) +{ + return this->helpRootUrl + "images/" + name; +} + +QByteArray MenuManager::getHtml(const QString &name) +{ + return getResource(this->resolveDocUrl(name)); +} + +QByteArray MenuManager::getImage(const QString &name) +{ + QString imageName = this->info[name]["image"]; + QString category = this->info[name]["category"]; + QString fileName = this->info[name]["filename"]; + + if (imageName.isEmpty()){ + if (category == "demos") + imageName = fileName + "-demo.png"; + else + imageName = fileName + "-example.png"; + if ((getResource(resolveImageUrl(imageName))).isEmpty()) + imageName = fileName + ".png"; + if ((getResource(resolveImageUrl(imageName))).isEmpty()) + imageName = fileName + "example.png"; + } + return getResource(resolveImageUrl(imageName)); +} + + +void MenuManager::createRootMenu(const QDomElement &el) +{ + QString name = el.attribute("name"); + createMenu(el, MENU1); + createInfo(new MenuContentItem(el, this->window->scene, 0), name + " -info"); + + Movie *menuButtonsIn = this->score->insertMovie(name + " -buttons"); + Movie *menuButtonsOut = this->score->insertMovie(name + " -buttons -out"); + createLowLeftButton(QLatin1String("Quit"), QUIT, menuButtonsIn, menuButtonsOut, 0); + createLowRightButton("Toggle fullscreen", FULLSCREEN, menuButtonsIn, menuButtonsOut, 0); +} + +void MenuManager::createSubMenu(const QDomElement &el) +{ + QString name = el.attribute("name"); + createMenu(el, MENU2); + createInfo(new MenuContentItem(el, this->window->scene, 0), name + " -info"); +} + +void MenuManager::createLeafMenu(const QDomElement &el) +{ + QString name = el.attribute("name"); + createInfo(new ExampleContent(name, this->window->scene, 0), name); + + Movie *infoButtonsIn = this->score->insertMovie(name + " -buttons"); + Movie *infoButtonsOut = this->score->insertMovie(name + " -buttons -out"); + createLowRightLeafButton("Documentation", 600, DOCUMENTATION, infoButtonsIn, infoButtonsOut, 0); + if (el.attribute("executable") != "false") + createLowRightLeafButton("Launch", 405, LAUNCH, infoButtonsIn, infoButtonsOut, 0); +} + +void MenuManager::createMenu(const QDomElement &category, BUTTON_TYPE type) +{ + qreal sw = this->window->scene->sceneRect().width(); + int xOffset = 15; + int yOffset = 10; + int maxExamples = Colors::menuCount; + int menuIndex = 1; + QString name = category.attribute("name"); + QDomNode currentNode = category.firstChild(); + QString currentMenu = name + QLatin1String(" -menu") + QString::number(menuIndex); + + while (!currentNode.isNull()){ + Movie *movieIn = this->score->insertMovie(currentMenu); + Movie *movieOut = this->score->insertMovie(currentMenu + " -out"); + Movie *movieNextTopOut = this->score->insertMovie(currentMenu + " -top_out"); + Movie *movieNextBottomOut = this->score->insertMovie(currentMenu + " -bottom_out"); + Movie *movieNextTopIn = this->score->insertMovie(currentMenu + " -top_in"); + Movie *movieNextBottomIn = this->score->insertMovie(currentMenu + " -bottom_in"); + Movie *movieShake = this->score->insertMovie(currentMenu + " -shake"); + + int i = 0; + while (!currentNode.isNull() && i < maxExamples){ + TextButton *item; + + // create normal menu button + QString label = currentNode.toElement().attribute("name"); + item = new TextButton(label, TextButton::LEFT, type, this->window->scene, 0); + currentNode = currentNode.nextSibling(); + +#ifndef QT_OPENGL_SUPPORT + if (currentNode.toElement().attribute("dirname") == "opengl") + currentNode = currentNode.nextSibling(); +#endif + + item->setRecursiveVisible(false); + item->setZValue(10); + qreal ih = item->sceneBoundingRect().height(); + qreal iw = item->sceneBoundingRect().width(); + qreal ihp = ih + 3; + + // create in-animation: + DemoItemAnimation *anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + anim->setDuration(float(1000 + (i * 20)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, -ih)); + anim->setPosAt(0.20, QPointF(xOffset, -ih)); + anim->setPosAt(0.50, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY + (10 * float(i / 4.0f)))); + anim->setPosAt(0.60, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.70, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY + (5 * float(i / 4.0f)))); + anim->setPosAt(0.80, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.90, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY + (2 * float(i / 4.0f)))); + anim->setPosAt(1.00, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + movieIn->append(anim); + + // create out-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + anim->hideOnFinished = true; + anim->setDuration((700 + (30 * i)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.60, QPointF(xOffset, 600 - ih - ih)); + anim->setPosAt(0.65, QPointF(xOffset + 20, 600 - ih)); + anim->setPosAt(1.00, QPointF(sw + iw, 600 - ih)); + movieOut->append(anim); + + // create shake-animation: + anim = new DemoItemAnimation(item); + anim->setDuration(700 * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.55, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY - i*2.0)); + anim->setPosAt(0.70, QPointF(xOffset - 10, (i * ihp) + yOffset + Colors::contentStartY - i*1.5)); + anim->setPosAt(0.80, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY - i*1.0)); + anim->setPosAt(0.90, QPointF(xOffset - 2, (i * ihp) + yOffset + Colors::contentStartY - i*0.5)); + anim->setPosAt(1.00, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + movieShake->append(anim); + + // create next-menu top-out-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + anim->hideOnFinished = true; + anim->setDuration((200 + (30 * i)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.70, QPointF(xOffset, yOffset + Colors::contentStartY)); + anim->setPosAt(1.00, QPointF(-iw, yOffset + Colors::contentStartY)); + movieNextTopOut->append(anim); + + // create next-menu bottom-out-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + anim->hideOnFinished = true; + anim->setDuration((200 + (30 * i)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.70, QPointF(xOffset, (maxExamples * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(1.00, QPointF(-iw, (maxExamples * ihp) + yOffset + Colors::contentStartY)); + movieNextBottomOut->append(anim); + + // create next-menu top-in-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + anim->setDuration((700 - (30 * i)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(-iw, yOffset + Colors::contentStartY)); + anim->setPosAt(0.30, QPointF(xOffset, yOffset + Colors::contentStartY)); + anim->setPosAt(1.00, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + movieNextTopIn->append(anim); + + // create next-menu bottom-in-animation: + int reverse = maxExamples - i; + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + anim->setDuration((1000 - (30 * reverse)) * Colors::animSpeedButtons); + anim->setStartPos(QPointF(-iw, (maxExamples * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(0.30, QPointF(xOffset, (maxExamples * ihp) + yOffset + Colors::contentStartY)); + anim->setPosAt(1.00, QPointF(xOffset, (i * ihp) + yOffset + Colors::contentStartY)); + movieNextBottomIn->append(anim); + + i++; + } + + if (!currentNode.isNull() && i == maxExamples){ + // We need another menu, so register for 'more' and 'back' buttons + ++menuIndex; + this->info[currentMenu]["more"] = name + QLatin1String(" -menu") + QString::number(menuIndex); + currentMenu = name + QLatin1String(" -menu") + QString::number(menuIndex); + this->info[currentMenu]["back"] = name + QLatin1String(" -menu") + QString::number(menuIndex - 1); + } + } +} + + +void MenuManager::createLowLeftButton(const QString &label, BUTTON_TYPE type, + Movie *movieIn, Movie *movieOut, Movie *movieShake, const QString &menuString) +{ + TextButton *button = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL); + if (!menuString.isNull()) + button->setMenuString(menuString); + button->setRecursiveVisible(false); + button->setZValue(10); + + qreal iw = button->sceneBoundingRect().width(); + int xOffset = 15; + + // create in-animation: + DemoItemAnimation *buttonIn = new DemoItemAnimation(button, DemoItemAnimation::ANIM_IN); + buttonIn->setDuration(1800 * Colors::animSpeedButtons); + buttonIn->setStartPos(QPointF(-iw, Colors::contentStartY + Colors::contentHeight - 35)); + buttonIn->setPosAt(0.5, QPointF(-iw, Colors::contentStartY + Colors::contentHeight - 35)); + buttonIn->setPosAt(0.7, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 35)); + buttonIn->setPosAt(1.0, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 26)); + movieIn->append(buttonIn); + + // create out-animation: + DemoItemAnimation *buttonOut = new DemoItemAnimation(button, DemoItemAnimation::ANIM_OUT); + buttonOut->hideOnFinished = true; + buttonOut->setDuration(400 * Colors::animSpeedButtons); + buttonOut->setStartPos(QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 26)); + buttonOut->setPosAt(1.0, QPointF(-iw, Colors::contentStartY + Colors::contentHeight - 26)); + movieOut->append(buttonOut); + + if (movieShake){ + DemoItemAnimation *shakeAnim = new DemoItemAnimation(button, DemoItemAnimation::ANIM_UNSPECIFIED); + shakeAnim->timeline->setCurveShape(QTimeLine::LinearCurve); + shakeAnim->setDuration(650); + shakeAnim->setStartPos(buttonIn->posAt(1.0f)); + shakeAnim->setPosAt(0.60, buttonIn->posAt(1.0f)); + shakeAnim->setPosAt(0.70, buttonIn->posAt(1.0f) + QPointF(-3, 0)); + shakeAnim->setPosAt(0.80, buttonIn->posAt(1.0f) + QPointF(2, 0)); + shakeAnim->setPosAt(0.90, buttonIn->posAt(1.0f) + QPointF(-1, 0)); + shakeAnim->setPosAt(1.00, buttonIn->posAt(1.0f)); + movieShake->append(shakeAnim); + } +} + +void MenuManager::createLowRightButton(const QString &label, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie * /*movieShake*/) +{ + TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL); + item->setRecursiveVisible(false); + item->setZValue(10); + + qreal sw = this->window->scene->sceneRect().width(); + int xOffset = 70; + + // create in-animation: + DemoItemAnimation *anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + anim->setDuration(1800 * Colors::animSpeedButtons); + anim->setStartPos(QPointF(sw, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.5, QPointF(sw, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.7, QPointF(xOffset + 535, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(1.0, QPointF(xOffset + 535, Colors::contentStartY + Colors::contentHeight - 26)); + movieIn->append(anim); + + // create out-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + anim->hideOnFinished = true; + anim->setDuration(400 * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset + 535, Colors::contentStartY + Colors::contentHeight - 26)); + anim->setPosAt(1.0, QPointF(sw, Colors::contentStartY + Colors::contentHeight - 26)); + movieOut->append(anim); +} + +void MenuManager::createLowRightLeafButton(const QString &label, int xOffset, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie * /*movieShake*/) +{ + TextButton *item = new TextButton(label, TextButton::RIGHT, type, this->window->scene, 0, TextButton::PANEL); + item->setRecursiveVisible(false); + item->setZValue(10); + + qreal sw = this->window->scene->sceneRect().width(); + qreal sh = this->window->scene->sceneRect().height(); + + // create in-animation: + DemoItemAnimation *anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + anim->setDuration(1050 * Colors::animSpeedButtons); + anim->setStartPos(QPointF(sw, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.10, QPointF(sw, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.30, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.35, QPointF(xOffset + 30, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.40, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.45, QPointF(xOffset + 5, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(0.50, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 35)); + anim->setPosAt(1.00, QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 26)); + movieIn->append(anim); + + // create out-animation: + anim = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + anim->hideOnFinished = true; + anim->setDuration(300 * Colors::animSpeedButtons); + anim->setStartPos(QPointF(xOffset, Colors::contentStartY + Colors::contentHeight - 26)); + anim->setPosAt(1.0, QPointF(xOffset, sh)); + movieOut->append(anim); +} + +void MenuManager::createInfo(DemoItem *item, const QString &name) +{ + Movie *movie_in = this->score->insertMovie(name); + Movie *movie_out = this->score->insertMovie(name + " -out"); + item->setZValue(8); + item->setRecursiveVisible(false); + + float xOffset = 230.0f; + DemoItemAnimation *infoIn = new DemoItemAnimation(item, DemoItemAnimation::ANIM_IN); + infoIn->timeline->setCurveShape(QTimeLine::LinearCurve); + infoIn->setDuration(650); + infoIn->setStartPos(QPointF(this->window->scene->sceneRect().width(), Colors::contentStartY)); + infoIn->setPosAt(0.60, QPointF(xOffset, Colors::contentStartY)); + infoIn->setPosAt(0.70, QPointF(xOffset + 20, Colors::contentStartY)); + infoIn->setPosAt(0.80, QPointF(xOffset, Colors::contentStartY)); + infoIn->setPosAt(0.90, QPointF(xOffset + 7, Colors::contentStartY)); + infoIn->setPosAt(1.00, QPointF(xOffset, Colors::contentStartY)); + movie_in->append(infoIn); + + DemoItemAnimation *infoOut = new DemoItemAnimation(item, DemoItemAnimation::ANIM_OUT); + infoOut->timeline->setCurveShape(QTimeLine::EaseInCurve); + infoOut->setDuration(300); + infoOut->hideOnFinished = true; + infoOut->setStartPos(QPointF(xOffset, Colors::contentStartY)); + infoOut->setPosAt(1.0, QPointF(-600, Colors::contentStartY)); + movie_out->append(infoOut); +} + +void MenuManager::createTicker() +{ + if (!Colors::noTicker){ + Movie *movie_in = this->score->insertMovie("ticker"); + Movie *movie_out = this->score->insertMovie("ticker -out"); + Movie *movie_activate = this->score->insertMovie("ticker -activate"); + Movie *movie_deactivate = this->score->insertMovie("ticker -deactivate"); + + this->ticker = new ItemCircleAnimation(this->window->scene, 0); + this->ticker->setZValue(50); + this->ticker->hide(); + + // Move ticker in: + int qtendpos = 485; + int qtPosY = 120; + this->tickerInAnim = new DemoItemAnimation(this->ticker, DemoItemAnimation::ANIM_IN); + this->tickerInAnim->setDuration(500); + this->tickerInAnim->setStartPos(QPointF(this->window->scene->sceneRect().width(), Colors::contentStartY + qtPosY)); + this->tickerInAnim->setPosAt(0.60, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + this->tickerInAnim->setPosAt(0.70, QPointF(qtendpos + 30, Colors::contentStartY + qtPosY)); + this->tickerInAnim->setPosAt(0.80, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + this->tickerInAnim->setPosAt(0.90, QPointF(qtendpos + 5, Colors::contentStartY + qtPosY)); + this->tickerInAnim->setPosAt(1.00, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + movie_in->append(this->tickerInAnim); + + // Move ticker out: + DemoItemAnimation *qtOut = new DemoItemAnimation(this->ticker, DemoItemAnimation::ANIM_OUT); + qtOut->hideOnFinished = true; + qtOut->setDuration(500); + qtOut->setStartPos(QPointF(qtendpos, Colors::contentStartY + qtPosY)); + qtOut->setPosAt(1.00, QPointF(this->window->scene->sceneRect().width() + 700, Colors::contentStartY + qtPosY)); + movie_out->append(qtOut); + + // Move ticker in on activate: + DemoItemAnimation *qtActivate = new DemoItemAnimation(this->ticker); + qtActivate->setDuration(400); + qtActivate->setStartPos(QPointF(this->window->scene->sceneRect().width(), Colors::contentStartY + qtPosY)); + qtActivate->setPosAt(0.60, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + qtActivate->setPosAt(0.70, QPointF(qtendpos + 30, Colors::contentStartY + qtPosY)); + qtActivate->setPosAt(0.80, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + qtActivate->setPosAt(0.90, QPointF(qtendpos + 5, Colors::contentStartY + qtPosY)); + qtActivate->setPosAt(1.00, QPointF(qtendpos, Colors::contentStartY + qtPosY)); + movie_activate->append(qtActivate); + + // Move ticker out on deactivate: + DemoItemAnimation *qtDeactivate = new DemoItemAnimation(this->ticker); + qtDeactivate->hideOnFinished = true; + qtDeactivate->setDuration(400); + qtDeactivate->setStartPos(QPointF(qtendpos, Colors::contentStartY + qtPosY)); + qtDeactivate->setPosAt(1.00, QPointF(qtendpos, 800)); + movie_deactivate->append(qtDeactivate); + } +} + +void MenuManager::createUpnDownButtons() +{ + float xOffset = 15.0f; + float yOffset = 450.0f; + + this->upButton = new TextButton("", TextButton::LEFT, MenuManager::UP, this->window->scene, 0, TextButton::UP); + this->upButton->prepare(); + this->upButton->setPos(xOffset, yOffset); + this->upButton->setState(TextButton::DISABLED); + + this->downButton = new TextButton("", TextButton::LEFT, MenuManager::DOWN, this->window->scene, 0, TextButton::DOWN); + this->downButton->prepare(); + this->downButton->setPos(xOffset + 10 + this->downButton->sceneBoundingRect().width(), yOffset); + + Movie *movieShake = this->score->insertMovie("upndown -shake"); + + DemoItemAnimation *shakeAnim = new DemoItemAnimation(this->upButton, DemoItemAnimation::ANIM_UNSPECIFIED); + shakeAnim->timeline->setCurveShape(QTimeLine::LinearCurve); + shakeAnim->setDuration(650); + shakeAnim->setStartPos(this->upButton->pos()); + shakeAnim->setPosAt(0.60, this->upButton->pos()); + shakeAnim->setPosAt(0.70, this->upButton->pos() + QPointF(-2, 0)); + shakeAnim->setPosAt(0.80, this->upButton->pos() + QPointF(1, 0)); + shakeAnim->setPosAt(0.90, this->upButton->pos() + QPointF(-1, 0)); + shakeAnim->setPosAt(1.00, this->upButton->pos()); + movieShake->append(shakeAnim); + + shakeAnim = new DemoItemAnimation(this->downButton, DemoItemAnimation::ANIM_UNSPECIFIED); + shakeAnim->timeline->setCurveShape(QTimeLine::LinearCurve); + shakeAnim->setDuration(650); + shakeAnim->setStartPos(this->downButton->pos()); + shakeAnim->setPosAt(0.60, this->downButton->pos()); + shakeAnim->setPosAt(0.70, this->downButton->pos() + QPointF(-5, 0)); + shakeAnim->setPosAt(0.80, this->downButton->pos() + QPointF(-3, 0)); + shakeAnim->setPosAt(0.90, this->downButton->pos() + QPointF(-1, 0)); + shakeAnim->setPosAt(1.00, this->downButton->pos()); + movieShake->append(shakeAnim); +} + +void MenuManager::createBackButton() +{ + Movie *backIn = this->score->insertMovie("back -in"); + Movie *backOut = this->score->insertMovie("back -out"); + Movie *backShake = this->score->insertMovie("back -shake"); + createLowLeftButton(QLatin1String("Back"), ROOT, backIn, backOut, backShake, Colors::rootMenuName); +} diff --git a/demos/qtdemo/menumanager.h b/demos/qtdemo/menumanager.h new file mode 100644 index 0000000..3a12c54 --- /dev/null +++ b/demos/qtdemo/menumanager.h @@ -0,0 +1,134 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MENU_MANAGER_H +#define MENU_MANAGER_H + +#include +#include +#include + +#include "score.h" +#include "textbutton.h" +#include "mainwindow.h" +#include "itemcircleanimation.h" + +typedef QHash StringHash; +typedef QHash HashHash; + +class TextButton; + +class MenuManager : public QObject +{ + Q_OBJECT + +public: + enum BUTTON_TYPE {ROOT, MENU1, MENU2, LAUNCH, DOCUMENTATION, QUIT, FULLSCREEN, UP, DOWN, BACK}; + + // singleton pattern: + static MenuManager *instance(); + virtual ~MenuManager(); + + void init(MainWindow *window); + void itemSelected(int userCode, const QString &menuName = ""); + + QByteArray getHtml(const QString &name); + QByteArray getImage(const QString &name); + QString resolveExeFile(const QString &name); + QString resolveDocUrl(const QString &name); + QString resolveImageUrl(const QString &name); + QString resolveDataDir(const QString &name); + + HashHash info; + ItemCircleAnimation *ticker; + MainWindow *window; + Score *score; + int currentMenuCode; + +private slots: + void exampleFinished(); + void exampleError(QProcess::ProcessError error); + +private: + // singleton pattern: + MenuManager(); + static MenuManager *pInstance; + + QByteArray getResource(const QString &name); + + void readXmlDocument(); + void initHelpEngine(); + void getDocumentationDir(); + void readInfoAboutExample(const QDomElement &example); + void showDocInAssistant(const QString &docFile); + void launchExample(const QString &uniqueName); + + void createMenu(const QDomElement &category, BUTTON_TYPE type); + void createLowLeftButton(const QString &label, BUTTON_TYPE type, + Movie *movieIn, Movie *movieOut, Movie *movieShake, const QString &menuString = QString()); + void createLowRightButton(const QString &label, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie *movieShake); + void createLowRightLeafButton(const QString &label, int pos, BUTTON_TYPE type, Movie *movieIn, Movie *movieOut, Movie * /*movieShake*/); + void createRootMenu(const QDomElement &el); + void createSubMenu(const QDomElement &el); + void createLeafMenu(const QDomElement &el); + void createInfo(DemoItem *item, const QString &name); + void createTicker(); + void createUpnDownButtons(); + void createBackButton(); + + QDomDocument *contentsDoc; + QProcess assistantProcess; + QString currentMenu; + QString currentCategory; + QString currentMenuButtons; + QString currentInfo; + QString helpRootUrl; + DemoItemAnimation *tickerInAnim; + QDir docDir; + QDir imgDir; + QHelpEngineCore *helpEngine; + + TextButton *upButton; + TextButton *downButton; +}; + +#endif // MENU_MANAGER_H + diff --git a/demos/qtdemo/qtdemo.icns b/demos/qtdemo/qtdemo.icns new file mode 100644 index 0000000..def5f0e Binary files /dev/null and b/demos/qtdemo/qtdemo.icns differ diff --git a/demos/qtdemo/qtdemo.ico b/demos/qtdemo/qtdemo.ico new file mode 100644 index 0000000..016c77f Binary files /dev/null and b/demos/qtdemo/qtdemo.ico differ diff --git a/demos/qtdemo/qtdemo.pro b/demos/qtdemo/qtdemo.pro new file mode 100644 index 0000000..2534b75 --- /dev/null +++ b/demos/qtdemo/qtdemo.pro @@ -0,0 +1,72 @@ +CONFIG += assistant help x11inc +TARGET = qtdemo +DESTDIR = $$QT_BUILD_TREE/bin +OBJECTS_DIR = .obj +MOC_DIR = .moc +INSTALLS += target sources +QT += xml network + +contains(QT_CONFIG, opengl) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +RESOURCES = qtdemo.qrc +HEADERS = mainwindow.h \ + demoscene.h \ + demoitem.h \ + score.h \ + demoitemanimation.h \ + itemcircleanimation.h \ + demotextitem.h \ + headingitem.h \ + dockitem.h \ + scanitem.h \ + letteritem.h \ + examplecontent.h \ + menucontent.h \ + guide.h \ + guideline.h \ + guidecircle.h \ + menumanager.h \ + colors.h \ + textbutton.h \ + imageitem.h +SOURCES = main.cpp \ + demoscene.cpp \ + mainwindow.cpp \ + demoitem.cpp \ + score.cpp \ + demoitemanimation.cpp \ + itemcircleanimation.cpp \ + demotextitem.cpp \ + headingitem.cpp \ + dockitem.cpp \ + scanitem.cpp \ + letteritem.cpp \ + examplecontent.cpp \ + menucontent.cpp \ + guide.cpp \ + guideline.cpp \ + guidecircle.cpp \ + menumanager.cpp \ + colors.cpp \ + textbutton.cpp \ + imageitem.cpp + +win32:RC_FILE = qtdemo.rc +mac { +ICON = qtdemo.icns +QMAKE_INFO_PLIST = Info_mac.plist +} + +# install +target.path = $$[QT_INSTALL_BINS] +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist +sources.path = $$[QT_INSTALL_DEMOS]/qtdemo + diff --git a/demos/qtdemo/qtdemo.qrc b/demos/qtdemo/qtdemo.qrc new file mode 100644 index 0000000..b30dd58 --- /dev/null +++ b/demos/qtdemo/qtdemo.qrc @@ -0,0 +1,8 @@ + + + xml/examples.xml + images/qtlogo_small.png + images/trolltech-logo.png + images/demobg.png + + diff --git a/demos/qtdemo/qtdemo.rc b/demos/qtdemo/qtdemo.rc new file mode 100644 index 0000000..4cf2a63 --- /dev/null +++ b/demos/qtdemo/qtdemo.rc @@ -0,0 +1,2 @@ +IDI_ICON1 ICON DISCARDABLE "qtdemo.ico" + diff --git a/demos/qtdemo/scanitem.cpp b/demos/qtdemo/scanitem.cpp new file mode 100644 index 0000000..0eab840 --- /dev/null +++ b/demos/qtdemo/scanitem.cpp @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "scanitem.h" +#include "colors.h" + +#define ITEM_WIDTH 16 +#define ITEM_HEIGHT 16 + +ScanItem::ScanItem(QGraphicsScene *scene, QGraphicsItem *parent) + : DemoItem(scene, parent) +{ + useSharedImage(QString(__FILE__)); +} + +ScanItem::~ScanItem() +{ +} + +QImage *ScanItem::createImage(const QMatrix &matrix) const +{ + QRect scaledRect = matrix.mapRect(QRect(0, 0, ITEM_WIDTH, ITEM_HEIGHT)); + QImage *image = new QImage(scaledRect.width(), scaledRect.height(), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.setRenderHint(QPainter::Antialiasing); + + if (Colors::useEightBitPalette){ + painter.setPen(QPen(QColor(100, 100, 100), 2)); + painter.setBrush(QColor(206, 246, 117)); + painter.drawEllipse(1, 1, scaledRect.width()-2, scaledRect.height()-2); + } + else { + painter.setPen(QPen(QColor(0, 0, 0, 15), 1)); +// painter.setBrush(QColor(206, 246, 117, 150)); + painter.setBrush(QColor(0, 0, 0, 15)); + painter.drawEllipse(1, 1, scaledRect.width()-2, scaledRect.height()-2); + } + return image; +} + + diff --git a/demos/qtdemo/scanitem.h b/demos/qtdemo/scanitem.h new file mode 100644 index 0000000..b0b5ffc --- /dev/null +++ b/demos/qtdemo/scanitem.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SCAN_ITEM_H +#define SCAN_ITEM_H + +#include +#include "demoitem.h" + +class ScanItem : public DemoItem +{ +public: + ScanItem(QGraphicsScene *scene = 0, QGraphicsItem *parent = 0); + virtual ~ScanItem(); + +protected: + QImage *createImage(const QMatrix &matrix) const; + +}; + +#endif // SCAN_ITEM_H + diff --git a/demos/qtdemo/score.cpp b/demos/qtdemo/score.cpp new file mode 100644 index 0000000..f45ba0d --- /dev/null +++ b/demos/qtdemo/score.cpp @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "score.h" +#include "colors.h" +#include "demoitem.h" + +Score::Score() +{ +} + +Score::~Score() +{ + // NB! Deleting all movies. + qDeleteAll(this->index); +} + +void Score::prepare(Movie *movie, RUN_MODE runMode, LOCK_MODE lockMode) +{ + if (lockMode == LOCK_ITEMS){ + for (int i=0; isize(); ++i){ + if (runMode == ONLY_IF_VISIBLE && !movie->at(i)->demoItem()->isVisible()) + continue; + movie->at(i)->lockItem(true); + movie->at(i)->prepare(); + } + } + else if (lockMode == UNLOCK_ITEMS){ + for (int i=0; isize(); ++i){ + if (runMode == ONLY_IF_VISIBLE && !movie->at(i)->demoItem()->isVisible()) + continue; + movie->at(i)->lockItem(false); + movie->at(i)->prepare(); + } + } + else { + for (int i=0; isize(); ++i){ + if (runMode == ONLY_IF_VISIBLE && !movie->at(i)->demoItem()->isVisible()) + continue; + movie->at(i)->prepare(); + } + } +} + +void Score::play(Movie *movie, RUN_MODE runMode) +{ + if (runMode == NEW_ANIMATION_ONLY){ + for (int i=0; isize(); ++i) + if (movie->at(i)->notOwnerOfItem()) + movie->at(i)->play(true); + } + else if (runMode == ONLY_IF_VISIBLE){ + for (int i=0; isize(); ++i) + if (movie->at(i)->demoItem()->isVisible()) + movie->at(i)->play(runMode == FROM_START); + } + else { + for (int i=0; isize(); ++i) + movie->at(i)->play(runMode == FROM_START); + } +} + +void Score::playMovie(const QString &indexName, RUN_MODE runMode, LOCK_MODE lockMode) +{ + MovieIndex::iterator movieIterator = this->index.find(indexName); + if (movieIterator == this->index.end()) + return; + + Movie *movie = *movieIterator; + this->prepare(movie, runMode, lockMode); + this->play(movie, runMode); +} + +void Score::queueMovie(const QString &indexName, RUN_MODE runMode, LOCK_MODE lockMode) +{ + MovieIndex::iterator movieIterator = this->index.find(indexName); + if (movieIterator == this->index.end()){ + if (Colors::verbose) + qDebug() << "Queuing movie:" << indexName << "(does not exist)"; + return; + } + + Movie *movie = *movieIterator; + this->prepare(movie, runMode, lockMode); + this->playList.append(PlayListMember(movie, int(runMode))); + if (Colors::verbose) + qDebug() << "Queuing movie:" << indexName; +} + +void Score::playQue() +{ + int movieCount = this->playList.size(); + for (int i=0; iplay(this->playList.at(i).movie, RUN_MODE(this->playList.at(i).runMode)); + this->playList.clear(); + if (Colors::verbose) + qDebug() << "********* Playing que *********"; +} + +void Score::insertMovie(const QString &indexName, Movie *movie) +{ + this->index.insert(indexName, movie); +} + +Movie *Score::insertMovie(const QString &indexName) +{ + Movie *movie = new Movie(); + insertMovie(indexName, movie); + return movie; +} + diff --git a/demos/qtdemo/score.h b/demos/qtdemo/score.h new file mode 100644 index 0000000..bfed5d2 --- /dev/null +++ b/demos/qtdemo/score.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SCORE_H +#define SCORE_H + +#include +#include +#include "demoitemanimation.h" + +typedef QList Movie; +typedef QHash MovieIndex; + +class PlayListMember +{ +public: + PlayListMember(Movie *movie, int runMode) : movie(movie), runMode(runMode){}; + Movie *movie; + int runMode; +}; +typedef QList PlayList; + +class Score +{ +public: + enum LOCK_MODE {LOCK_ITEMS, UNLOCK_ITEMS, SKIP_LOCK}; + enum RUN_MODE {FROM_CURRENT, FROM_START, NEW_ANIMATION_ONLY, ONLY_IF_VISIBLE}; + + Score(); + virtual ~Score(); + + void playMovie(const QString &indexName, RUN_MODE runMode = FROM_START, LOCK_MODE lockMode = SKIP_LOCK); + void insertMovie(const QString &indexName, Movie *movie); + Movie *insertMovie(const QString &indexName); + void queueMovie(const QString &indexName, RUN_MODE runMode = FROM_START, LOCK_MODE lockMode = SKIP_LOCK); + void playQue(); + bool hasQueuedMovies(){ return this->playList.size() > 0; }; + + MovieIndex index; + PlayList playList; + +private: + void prepare(Movie *movie, RUN_MODE runMode, LOCK_MODE lockMode); + void play(Movie *movie, RUN_MODE runMode); +}; + +#endif // SCORE_H + diff --git a/demos/qtdemo/textbutton.cpp b/demos/qtdemo/textbutton.cpp new file mode 100644 index 0000000..96e1a23 --- /dev/null +++ b/demos/qtdemo/textbutton.cpp @@ -0,0 +1,384 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "textbutton.h" +#include "demoitemanimation.h" +#include "demotextitem.h" +#include "colors.h" +#include "menumanager.h" + +#define BUTTON_WIDTH 180 +#define BUTTON_HEIGHT 19 + +class ButtonBackground : public DemoItem +{ +public: + TextButton::BUTTONTYPE type; + bool highlighted; + bool pressed; + QSize logicalSize; + + ButtonBackground(TextButton::BUTTONTYPE type, bool highlighted, bool pressed, QSize logicalSize, + QGraphicsScene *scene, QGraphicsItem *parent) : DemoItem(scene, parent) + { + this->type = type; + this->highlighted = highlighted; + this->pressed = pressed; + this->logicalSize = logicalSize; + useSharedImage(QString(__FILE__) + static_cast(type) + highlighted + pressed); + } + +protected: + QImage *createImage(const QMatrix &matrix) const + { + if (type == TextButton::SIDEBAR || type == TextButton::PANEL) + return createRoundButtonBackground(matrix); + else + return createArrowBackground(matrix); + } + + QImage *createRoundButtonBackground(const QMatrix &matrix) const + { + QRect scaledRect; + scaledRect = matrix.mapRect(QRect(0, 0, this->logicalSize.width(), this->logicalSize.height())); + + QImage *image = new QImage(scaledRect.width(), scaledRect.height(), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.setRenderHint(QPainter::SmoothPixmapTransform); + painter.setRenderHint(QPainter::Antialiasing); + painter.setPen(Qt::NoPen); + + if (Colors::useEightBitPalette){ + painter.setPen(QColor(120, 120, 120)); + if (this->pressed) + painter.setBrush(QColor(60, 60, 60)); + else if (this->highlighted) + painter.setBrush(QColor(100, 100, 100)); + else + painter.setBrush(QColor(80, 80, 80)); + } + else { + QLinearGradient outlinebrush(0, 0, 0, scaledRect.height()); + QLinearGradient brush(0, 0, 0, scaledRect.height()); + + brush.setSpread(QLinearGradient::PadSpread); + QColor highlight(255, 255, 255, 70); + QColor shadow(0, 0, 0, 70); + QColor sunken(220, 220, 220, 30); + QColor normal1(255, 255, 245, 60); + QColor normal2(255, 255, 235, 10); + + if (this->type == TextButton::PANEL){ + normal1 = QColor(200, 170, 160, 50); + normal2 = QColor(50, 10, 0, 50); + } + + if (pressed) { + outlinebrush.setColorAt(0.0f, shadow); + outlinebrush.setColorAt(1.0f, highlight); + brush.setColorAt(0.0f, sunken); + painter.setPen(Qt::NoPen); + } else { + outlinebrush.setColorAt(1.0f, shadow); + outlinebrush.setColorAt(0.0f, highlight); + brush.setColorAt(0.0f, normal1); + if (!this->highlighted) + brush.setColorAt(1.0f, normal2); + painter.setPen(QPen(outlinebrush, 1)); + } + painter.setBrush(brush); + } + + if (this->type == TextButton::PANEL) + painter.drawRect(0, 0, scaledRect.width(), scaledRect.height()); + else + painter.drawRoundedRect(0, 0, scaledRect.width(), scaledRect.height(), 10, 90, Qt::RelativeSize); + return image; + } + + QImage *createArrowBackground(const QMatrix &matrix) const + { + QRect scaledRect; + scaledRect = matrix.mapRect(QRect(0, 0, this->logicalSize.width(), this->logicalSize.height())); + + QImage *image = new QImage(scaledRect.width(), scaledRect.height(), QImage::Format_ARGB32_Premultiplied); + image->fill(QColor(0, 0, 0, 0).rgba()); + QPainter painter(image); + painter.setRenderHint(QPainter::SmoothPixmapTransform); + painter.setRenderHint(QPainter::Antialiasing); + painter.setPen(Qt::NoPen); + + if (Colors::useEightBitPalette){ + painter.setPen(QColor(120, 120, 120)); + if (this->pressed) + painter.setBrush(QColor(60, 60, 60)); + else if (this->highlighted) + painter.setBrush(QColor(100, 100, 100)); + else + painter.setBrush(QColor(80, 80, 80)); + } + else { + QLinearGradient outlinebrush(0, 0, 0, scaledRect.height()); + QLinearGradient brush(0, 0, 0, scaledRect.height()); + + brush.setSpread(QLinearGradient::PadSpread); + QColor highlight(255, 255, 255, 70); + QColor shadow(0, 0, 0, 70); + QColor sunken(220, 220, 220, 30); + QColor normal1 = QColor(200, 170, 160, 50); + QColor normal2 = QColor(50, 10, 0, 50); + + if (pressed) { + outlinebrush.setColorAt(0.0f, shadow); + outlinebrush.setColorAt(1.0f, highlight); + brush.setColorAt(0.0f, sunken); + painter.setPen(Qt::NoPen); + } else { + outlinebrush.setColorAt(1.0f, shadow); + outlinebrush.setColorAt(0.0f, highlight); + brush.setColorAt(0.0f, normal1); + if (!this->highlighted) + brush.setColorAt(1.0f, normal2); + painter.setPen(QPen(outlinebrush, 1)); + } + painter.setBrush(brush); + } + + painter.drawRect(0, 0, scaledRect.width(), scaledRect.height()); + + float xOff = scaledRect.width() / 2; + float yOff = scaledRect.height() / 2; + float sizex = 3.0f * matrix.m11(); + float sizey = 1.5f * matrix.m22(); + if (this->type == TextButton::UP) + sizey *= -1; + QPainterPath path; + path.moveTo(xOff, yOff + (5 * sizey)); + path.lineTo(xOff - (4 * sizex), yOff - (3 * sizey)); + path.lineTo(xOff + (4 * sizex), yOff - (3 * sizey)); + path.lineTo(xOff, yOff + (5 * sizey)); + painter.drawPath(path); + + return image; + } + +}; + +TextButton::TextButton(const QString &text, ALIGNMENT align, int userCode, + QGraphicsScene *scene, QGraphicsItem *parent, BUTTONTYPE type) + : DemoItem(scene, parent) +{ + this->menuString = text; + this->buttonLabel = text; + this->alignment = align; + this->buttonType = type; + this->userCode = userCode; + this->bgOn = 0; + this->bgOff = 0; + this->bgHighlight = 0; + this->bgDisabled = 0; + this->state = OFF; + + this->setAcceptsHoverEvents(true); + this->setCursor(Qt::PointingHandCursor); + + // Calculate button size: + const int w = 180; + const int h = 19; + if (type == SIDEBAR || type == PANEL) + this->logicalSize = QSize(w, h); + else + this->logicalSize = QSize(int((w / 2.0f) - 5), int(h * 1.5f)); +} + +void TextButton::setMenuString(const QString &menu) +{ + this->menuString = menu; +} + +void TextButton::prepare() +{ + if (!this->prepared){ + this->prepared = true; + this->setupHoverText(); + this->setupScanItem(); + this->setupButtonBg(); + } +} + +TextButton::~TextButton() +{ + if (this->prepared){ + if (Colors::useButtonBalls) + delete this->scanAnim; + } +} + +QRectF TextButton::boundingRect() const +{ + return QRectF(0, 0, this->logicalSize.width(), this->logicalSize.height()); +}; + +void TextButton::setupHoverText() +{ + if (this->buttonLabel.isEmpty()) + return; + + DemoTextItem *textItem = new DemoTextItem(this->buttonLabel, Colors::buttonFont(), Colors::buttonText, -1, this->scene(), this); + textItem->setZValue(zValue() + 2); + textItem->setPos(16, 0); +} + +void TextButton::setupScanItem() +{ + if (Colors::useButtonBalls){ + ScanItem *scanItem = new ScanItem(0, this); + scanItem->setZValue(zValue() + 1); + + this->scanAnim = new DemoItemAnimation(scanItem); + this->scanAnim->timeline->setLoopCount(1); + + float x = 1; + float y = 1.5f; + float stop = BUTTON_WIDTH - scanItem->boundingRect().width() - x; + if (this->alignment == LEFT){ + this->scanAnim->setDuration(2500); + this->scanAnim->setPosAt(0.0, QPointF(x, y)); + this->scanAnim->setPosAt(0.5, QPointF(x, y)); + this->scanAnim->setPosAt(0.7, QPointF(stop, y)); + this->scanAnim->setPosAt(1.0, QPointF(x, y)); + scanItem->setPos(QPointF(x, y)); + } + else { + this->scanAnim->setPosAt(0.0, QPointF(stop, y)); + this->scanAnim->setPosAt(0.5, QPointF(x, y)); + this->scanAnim->setPosAt(1.0, QPointF(stop, y)); + scanItem->setPos(QPointF(stop, y)); + } + } +} + +void TextButton::setState(STATE state) +{ + this->state = state; + this->bgOn->setRecursiveVisible(state == ON); + this->bgOff->setRecursiveVisible(state == OFF); + this->bgHighlight->setRecursiveVisible(state == HIGHLIGHT); + this->bgDisabled->setRecursiveVisible(state == DISABLED); + this->setCursor(state == DISABLED ? Qt::ArrowCursor : Qt::PointingHandCursor); + +} + +void TextButton::setupButtonBg() +{ + this->bgOn = new ButtonBackground(this->buttonType, true, true, this->logicalSize, this->scene(), this); + this->bgOff = new ButtonBackground(this->buttonType, false, false, this->logicalSize, this->scene(), this); + this->bgHighlight = new ButtonBackground(this->buttonType, true, false, this->logicalSize, this->scene(), this); + this->bgDisabled = new ButtonBackground(this->buttonType, true, true, this->logicalSize, this->scene(), this); + this->setState(OFF); +} + +void TextButton::hoverEnterEvent(QGraphicsSceneHoverEvent *) +{ + if (this->locked || this->state == DISABLED) + return; + + if (this->state == OFF){ + this->setState(HIGHLIGHT); + + if (Colors::noAnimations && Colors::useButtonBalls){ + // wait a bit in the beginning + // to enhance the effect. Have to this here + // so that the adaption can be dynamic + this->scanAnim->setDuration(1000); + this->scanAnim->setPosAt(0.2, this->scanAnim->posAt(0)); + } + + if (MenuManager::instance()->window->fpsMedian > 10 + || Colors::noAdapt + || Colors::noTimerUpdate){ + if (Colors::useButtonBalls) + this->scanAnim->play(true, true); + } + } +} + +void TextButton::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) +{ + Q_UNUSED(event); + if (this->state == DISABLED) + return; + + this->setState(OFF); + + if (Colors::noAnimations && Colors::useButtonBalls) + this->scanAnim->stop(); +} + +void TextButton::mousePressEvent(QGraphicsSceneMouseEvent *) +{ + if (this->state == DISABLED) + return; + + if (this->state == HIGHLIGHT || this->state == OFF) + this->setState(ON); +} + +void TextButton::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +{ + if (this->state == ON){ + this->setState(OFF); + if (!this->locked && this->boundingRect().contains(event->pos())){ + MenuManager::instance()->itemSelected(this->userCode, this->menuString); + } + } +} + +void TextButton::animationStarted(int) +{ + if (this->state == DISABLED) + return; + this->setState(OFF); +} + + + diff --git a/demos/qtdemo/textbutton.h b/demos/qtdemo/textbutton.h new file mode 100644 index 0000000..b7c91fb --- /dev/null +++ b/demos/qtdemo/textbutton.h @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TEXT_BUTTON_H +#define TEXT_BUTTON_H + +#include +#include "demoitem.h" +#include "demotextitem.h" +#include "scanitem.h" + +class DemoItemAnimation; +class ButtonBackground; + +class TextButton : public DemoItem +{ +public: + enum ALIGNMENT {LEFT, RIGHT}; + enum BUTTONTYPE {SIDEBAR, PANEL, UP, DOWN}; + enum STATE {ON, OFF, HIGHLIGHT, DISABLED}; + + TextButton(const QString &text, ALIGNMENT align = LEFT, int userCode = 0, + QGraphicsScene *scene = 0, QGraphicsItem *parent = 0, BUTTONTYPE color = SIDEBAR); + virtual ~TextButton(); + + // overidden methods: + virtual QRectF boundingRect() const; + virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0){}; + virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event); + virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); + virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + + void animationStarted(int id = 0); + void prepare(); + void setState(STATE state); + void setMenuString(const QString &menu); + void setDisabled(bool disabled); + +private: + void setupButtonBg(); + void setupScanItem(); + void setupHoverText(); + + DemoItemAnimation *scanAnim; + ButtonBackground *bgOn; + ButtonBackground *bgOff; + ButtonBackground *bgHighlight; + ButtonBackground *bgDisabled; + + BUTTONTYPE buttonType; + ALIGNMENT alignment; + QString buttonLabel; + QString menuString; + int userCode; + QSize logicalSize; + + STATE state; +}; + +#endif // TEXT_BUTTON_H + diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml new file mode 100644 index 0000000..df2d93b --- /dev/null +++ b/demos/qtdemo/xml/examples.xml @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demos/shared/arthurstyle.cpp b/demos/shared/arthurstyle.cpp new file mode 100644 index 0000000..846d2f3 --- /dev/null +++ b/demos/shared/arthurstyle.cpp @@ -0,0 +1,452 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "arthurstyle.h" +#include "arthurwidgets.h" +#include +#include +#include +#include +#include +#include +#include +#include + +QPixmap cached(const QString &img) +{ + if (QPixmap *p = QPixmapCache::find(img)) + return *p; + + QPixmap pm; + pm = QPixmap::fromImage(QImage(img), Qt::OrderedDither | Qt::OrderedAlphaDither); + if (pm.isNull()) + return QPixmap(); + + QPixmapCache::insert(img, pm); + return pm; +} + + +ArthurStyle::ArthurStyle() + : QWindowsStyle() +{ + Q_INIT_RESOURCE(shared); +} + + +void ArthurStyle::drawHoverRect(QPainter *painter, const QRect &r) const +{ + qreal h = r.height(); + qreal h2 = r.height() / qreal(2); + QPainterPath path; + path.addRect(r.x() + h2, r.y() + 0, r.width() - h2 * 2, r.height()); + path.addEllipse(r.x(), r.y(), h, h); + path.addEllipse(r.x() + r.width() - h, r.y(), h, h); + path.setFillRule(Qt::WindingFill); + painter->setPen(Qt::NoPen); + painter->setBrush(QColor(191, 215, 191)); + painter->setRenderHint(QPainter::Antialiasing); + painter->drawPath(path); +} + + +void ArthurStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const +{ + + Q_ASSERT(option); + switch (element) { + case PE_FrameFocusRect: + break; + + case PE_IndicatorRadioButton: + if (const QStyleOptionButton *button = qstyleoption_cast(option)) { + bool hover = (button->state & State_Enabled) && (button->state & State_MouseOver); + painter->save(); + QPixmap radio; + if (hover) + drawHoverRect(painter, widget->rect()); + + if (button->state & State_Sunken) + radio = cached(":res/images/radiobutton-on.png"); + else if (button->state & State_On) + radio = cached(":res/images/radiobutton_on.png"); + else + radio = cached(":res/images/radiobutton_off.png"); + painter->drawPixmap(button->rect.topLeft(), radio); + + painter->restore(); + } + break; + + case PE_PanelButtonCommand: + if (const QStyleOptionButton *button = qstyleoption_cast(option)) { + bool hover = (button->state & State_Enabled) && (button->state & State_MouseOver); + + painter->save(); + const QPushButton *pushButton = qobject_cast(widget); + Q_ASSERT(pushButton); + QWidget *parent = pushButton->parentWidget(); + if (parent && qobject_cast(parent)) { + QLinearGradient lg(0, 0, 0, parent->height()); + lg.setColorAt(0, QColor(224,224,224)); + lg.setColorAt(1, QColor(255,255,255)); + painter->setPen(Qt::NoPen); + painter->setBrush(lg); + painter->setBrushOrigin(-widget->mapToParent(QPoint(0,0))); + painter->drawRect(button->rect); + painter->setBrushOrigin(0,0); + } + + bool down = (button->state & State_Sunken) || (button->state & State_On); + + QPixmap left, right, mid; + if (down) { + left = cached(":res/images/button_pressed_cap_left.png"); + right = cached(":res/images/button_pressed_cap_right.png"); + mid = cached(":res/images/button_pressed_stretch.png"); + } else { + left = cached(":res/images/button_normal_cap_left.png"); + right = cached(":res/images/button_normal_cap_right.png"); + mid = cached(":res/images/button_normal_stretch.png"); + } + painter->drawPixmap(button->rect.topLeft(), left); + painter->drawTiledPixmap(QRect(button->rect.x() + left.width(), + button->rect.y(), + button->rect.width() - left.width() - right.width(), + left.height()), + mid); + painter->drawPixmap(button->rect.x() + button->rect.width() - right.width(), + button->rect.y(), + right); + if (hover) + painter->fillRect(widget->rect().adjusted(3,5,-3,-5), QColor(31,127,31,63)); + painter->restore(); + } + break; + + case PE_FrameGroupBox: + if (const QStyleOptionFrameV2 *group + = qstyleoption_cast(option)) { + const QRect &r = group->rect; + + painter->save(); + int radius = 14; + int radius2 = radius*2; + QPainterPath clipPath; + clipPath.moveTo(radius, 0); + clipPath.arcTo(r.right() - radius2, 0, radius2, radius2, 90, -90); + clipPath.arcTo(r.right() - radius2, r.bottom() - radius2, radius2, radius2, 0, -90); + clipPath.arcTo(r.left(), r.bottom() - radius2, radius2, radius2, 270, -90); + clipPath.arcTo(r.left(), r.top(), radius2, radius2, 180, -90); + painter->setClipPath(clipPath); + QPixmap titleStretch = cached(":res/images/title_stretch.png"); + QPixmap topLeft = cached(":res/images/groupframe_topleft.png"); + QPixmap topRight = cached(":res/images/groupframe_topright.png"); + QPixmap bottomLeft = cached(":res/images/groupframe_bottom_left.png"); + QPixmap bottomRight = cached(":res/images/groupframe_bottom_right.png"); + QPixmap leftStretch = cached(":res/images/groupframe_left_stretch.png"); + QPixmap topStretch = cached(":res/images/groupframe_top_stretch.png"); + QPixmap rightStretch = cached(":res/images/groupframe_right_stretch.png"); + QPixmap bottomStretch = cached(":res/images/groupframe_bottom_stretch.png"); + QLinearGradient lg(0, 0, 0, r.height()); + lg.setColorAt(0, QColor(224,224,224)); + lg.setColorAt(1, QColor(255,255,255)); + painter->setPen(Qt::NoPen); + painter->setBrush(lg); + painter->drawRect(r.adjusted(0, titleStretch.height()/2, 0, 0)); + painter->setClipping(false); + + int topFrameOffset = titleStretch.height()/2 - 2; + painter->drawPixmap(r.topLeft() + QPoint(0, topFrameOffset), topLeft); + painter->drawPixmap(r.topRight() - QPoint(topRight.width()-1, 0) + + QPoint(0, topFrameOffset), topRight); + painter->drawPixmap(r.bottomLeft() - QPoint(0, bottomLeft.height()-1), bottomLeft); + painter->drawPixmap(r.bottomRight() - QPoint(bottomRight.width()-1, + bottomRight.height()-1), bottomRight); + + QRect left = r; + left.setY(r.y() + topLeft.height() + topFrameOffset); + left.setWidth(leftStretch.width()); + left.setHeight(r.height() - topLeft.height() - bottomLeft.height() - topFrameOffset); + painter->drawTiledPixmap(left, leftStretch); + + QRect top = r; + top.setX(r.x() + topLeft.width()); + top.setY(r.y() + topFrameOffset); + top.setWidth(r.width() - topLeft.width() - topRight.width()); + top.setHeight(topLeft.height()); + painter->drawTiledPixmap(top, topStretch); + + QRect right = r; + right.setX(r.right() - rightStretch.width()+1); + right.setY(r.y() + topRight.height() + topFrameOffset); + right.setWidth(rightStretch.width()); + right.setHeight(r.height() - topRight.height() + - bottomRight.height() - topFrameOffset); + painter->drawTiledPixmap(right, rightStretch); + + QRect bottom = r; + bottom.setX(r.x() + bottomLeft.width()); + bottom.setY(r.bottom() - bottomStretch.height()+1); + bottom.setWidth(r.width() - bottomLeft.width() - bottomRight.width()); + bottom.setHeight(bottomLeft.height()); + painter->drawTiledPixmap(bottom, bottomStretch); + painter->restore(); + } + break; + + default: + QWindowsStyle::drawPrimitive(element, option, painter, widget); + break; + } + return; +} + + +void ArthurStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, + QPainter *painter, const QWidget *widget) const +{ + switch (control) { + case CC_Slider: + if (const QStyleOptionSlider *slider = qstyleoption_cast(option)) { + QRect groove = subControlRect(CC_Slider, option, SC_SliderGroove, widget); + QRect handle = subControlRect(CC_Slider, option, SC_SliderHandle, widget); + + painter->save(); + + bool hover = (slider->state & State_Enabled) && (slider->state & State_MouseOver); + if (hover) { + QRect moderated = widget->rect().adjusted(0, 4, 0, -4); + drawHoverRect(painter, moderated); + } + + if ((option->subControls & SC_SliderGroove) && groove.isValid()) { + QPixmap grv = cached(":res/images/slider_bar.png"); + painter->drawPixmap(QRect(groove.x() + 5, groove.y(), + groove.width() - 10, grv.height()), + grv); + } + if ((option->subControls & SC_SliderHandle) && handle.isValid()) { + QPixmap hndl = cached(":res/images/slider_thumb_on.png"); + painter->drawPixmap(handle.topLeft(), hndl); + } + + painter->restore(); + } + break; + case CC_GroupBox: + if (const QStyleOptionGroupBox *groupBox + = qstyleoption_cast(option)) { + QStyleOptionGroupBox groupBoxCopy(*groupBox); + groupBoxCopy.subControls &= ~SC_GroupBoxLabel; + QWindowsStyle::drawComplexControl(control, &groupBoxCopy, painter, widget); + + if (groupBox->subControls & SC_GroupBoxLabel) { + const QRect &r = groupBox->rect; + QPixmap titleLeft = cached(":res/images/title_cap_left.png"); + QPixmap titleRight = cached(":res/images/title_cap_right.png"); + QPixmap titleStretch = cached(":res/images/title_stretch.png"); + int txt_width = groupBox->fontMetrics.width(groupBox->text) + 20; + painter->drawPixmap(r.center().x() - txt_width/2, 0, titleLeft); + QRect tileRect = subControlRect(control, groupBox, SC_GroupBoxLabel, widget); + painter->drawTiledPixmap(tileRect, titleStretch); + painter->drawPixmap(tileRect.x() + tileRect.width(), 0, titleRight); + int opacity = 31; + painter->setPen(QColor(0, 0, 0, opacity)); + painter->drawText(tileRect.translated(0, 1), + Qt::AlignVCenter | Qt::AlignHCenter, groupBox->text); + painter->drawText(tileRect.translated(2, 1), + Qt::AlignVCenter | Qt::AlignHCenter, groupBox->text); + painter->setPen(QColor(0, 0, 0, opacity * 2)); + painter->drawText(tileRect.translated(1, 1), + Qt::AlignVCenter | Qt::AlignHCenter, groupBox->text); + painter->setPen(Qt::white); + painter->drawText(tileRect, Qt::AlignVCenter | Qt::AlignHCenter, groupBox->text); + } + } + break; + default: + QWindowsStyle::drawComplexControl(control, option, painter, widget); + break; + } + return; +} + +QRect ArthurStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option, + SubControl subControl, const QWidget *widget) const +{ + QRect rect; + + switch (control) { + default: + rect = QWindowsStyle::subControlRect(control, option, subControl, widget); + break; + case CC_GroupBox: + if (const QStyleOptionGroupBox *group + = qstyleoption_cast(option)) { + switch (subControl) { + default: + rect = QWindowsStyle::subControlRect(control, option, subControl, widget); + break; + case SC_GroupBoxContents: + rect = QWindowsStyle::subControlRect(control, option, subControl, widget); + rect.adjust(0, -8, 0, 0); + break; + case SC_GroupBoxFrame: + rect = group->rect; + break; + case SC_GroupBoxLabel: + QPixmap titleLeft = cached(":res/images/title_cap_left.png"); + QPixmap titleRight = cached(":res/images/title_cap_right.png"); + QPixmap titleStretch = cached(":res/images/title_stretch.png"); + int txt_width = group->fontMetrics.width(group->text) + 20; + rect = QRect(group->rect.center().x() - txt_width/2 + titleLeft.width(), 0, + txt_width - titleLeft.width() - titleRight.width(), + titleStretch.height()); + break; + } + } + break; + } + + if (control == CC_Slider && subControl == SC_SliderHandle) { + rect.setWidth(13); + rect.setHeight(27); + } else if (control == CC_Slider && subControl == SC_SliderGroove) { + rect.setHeight(9); + rect.moveTop(27/2 - 9/2); + } + return rect; +} + +QSize ArthurStyle::sizeFromContents(ContentsType type, const QStyleOption *option, + const QSize &size, const QWidget *widget) const +{ + QSize newSize = QWindowsStyle::sizeFromContents(type, option, size, widget); + + + switch (type) { + case CT_RadioButton: + newSize += QSize(20, 0); + break; + + case CT_PushButton: + newSize.setHeight(26); + break; + + case CT_Slider: + newSize.setHeight(27); + break; + + default: + break; + } + + return newSize; +} + +int ArthurStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QWidget *widget) const +{ + if (pm == PM_SliderLength) + return 13; + return QWindowsStyle::pixelMetric(pm, opt, widget); +} + +void ArthurStyle::polish(QWidget *widget) +{ + if (widget->layout() && qobject_cast(widget)) { + if (qFindChildren(widget).size() == 0) { + widget->layout()->setSpacing(0); + widget->layout()->setMargin(12); + } else { + widget->layout()->setMargin(13); + } + } + + if (qobject_cast(widget) + || qobject_cast(widget) + || qobject_cast(widget)) { + widget->setAttribute(Qt::WA_Hover); + } + + QPalette pal = widget->palette(); + if (widget->isWindow()) { + pal.setColor(QPalette::Background, QColor(241, 241, 241)); + widget->setPalette(pal); + } + +} + +void ArthurStyle::unpolish(QWidget *widget) +{ + if (qobject_cast(widget) + || qobject_cast(widget) + || qobject_cast(widget)) { + widget->setAttribute(Qt::WA_Hover, false); + } +} + +void ArthurStyle::polish(QPalette &palette) +{ + palette.setColor(QPalette::Background, QColor(241, 241, 241)); +} + +QRect ArthurStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const +{ + QRect r; + switch(element) { + case SE_RadioButtonClickRect: + r = widget->rect(); + break; + case SE_RadioButtonContents: + r = widget->rect().adjusted(20, 0, 0, 0); + break; + default: + r = QWindowsStyle::subElementRect(element, option, widget); + break; + } + + if (qobject_cast(widget)) + r = r.adjusted(5, 0, -5, 0); + + return r; +} diff --git a/demos/shared/arthurstyle.h b/demos/shared/arthurstyle.h new file mode 100644 index 0000000..ec79361 --- /dev/null +++ b/demos/shared/arthurstyle.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef ARTHURSTYLE_H +#define ARTHURSTYLE_H + +#include + +QT_USE_NAMESPACE + +class ArthurStyle : public QWindowsStyle +{ +public: + ArthurStyle(); + + void drawHoverRect(QPainter *painter, const QRect &rect) const; + + void drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget = 0) const; +// void drawControl(ControlElement element, const QStyleOption *option, +// QPainter *painter, const QWidget *widget) const; + void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, + QPainter *painter, const QWidget *widget) const; + QSize sizeFromContents(ContentsType type, const QStyleOption *option, + const QSize &size, const QWidget *widget) const; + + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const; + QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, + SubControl sc, const QWidget *widget) const; + +// SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, +// const QPoint &pos, const QWidget *widget = 0) const; + + int pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const; + + void polish(QPalette &palette); + void polish(QWidget *widget); + void unpolish(QWidget *widget); +}; + +#endif diff --git a/demos/shared/arthurwidgets.cpp b/demos/shared/arthurwidgets.cpp new file mode 100644 index 0000000..f9eed99 --- /dev/null +++ b/demos/shared/arthurwidgets.cpp @@ -0,0 +1,371 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "arthurwidgets.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +extern QPixmap cached(const QString &img); + +ArthurFrame::ArthurFrame(QWidget *parent) + : QWidget(parent) + , m_prefer_image(false) +{ +#ifdef QT_OPENGL_SUPPORT + glw = 0; + m_use_opengl = false; + QGLFormat f = QGLFormat::defaultFormat(); + f.setSampleBuffers(true); + f.setStencil(true); + f.setAlpha(true); + f.setAlphaBufferSize(8); + QGLFormat::setDefaultFormat(f); +#endif + m_document = 0; + m_show_doc = false; + + m_tile = QPixmap(128, 128); + m_tile.fill(Qt::white); + QPainter pt(&m_tile); + QColor color(230, 230, 230); + pt.fillRect(0, 0, 64, 64, color); + pt.fillRect(64, 64, 64, 64, color); + pt.end(); + +// QPalette pal = palette(); +// pal.setBrush(backgroundRole(), m_tile); +// setPalette(pal); + +#ifdef Q_WS_X11 + QPixmap xRenderPixmap(1, 1); + m_prefer_image = xRenderPixmap.pixmapData()->classId() == QPixmapData::X11Class && !xRenderPixmap.x11PictureHandle(); +#endif +} + + +#ifdef QT_OPENGL_SUPPORT +void ArthurFrame::enableOpenGL(bool use_opengl) +{ + m_use_opengl = use_opengl; + + if (!glw) { + glw = new GLWidget(this); + glw->setAutoFillBackground(false); + glw->disableAutoBufferSwap(); + QApplication::postEvent(this, new QResizeEvent(size(), size())); + } + + if (use_opengl) { + glw->show(); + } else { + glw->hide(); + } + + update(); +} +#endif + +void ArthurFrame::paintEvent(QPaintEvent *e) +{ +#ifdef Q_WS_QWS + static QPixmap *static_image = 0; +#else + static QImage *static_image = 0; +#endif + QPainter painter; + if (preferImage() +#ifdef QT_OPENGL_SUPPORT + && !m_use_opengl +#endif + ) { + if (!static_image || static_image->size() != size()) { + delete static_image; +#ifdef Q_WS_QWS + static_image = new QPixmap(size()); +#else + static_image = new QImage(size(), QImage::Format_RGB32); +#endif + } + painter.begin(static_image); + + int o = 10; + + QBrush bg = palette().brush(QPalette::Background); + painter.fillRect(0, 0, o, o, bg); + painter.fillRect(width() - o, 0, o, o, bg); + painter.fillRect(0, height() - o, o, o, bg); + painter.fillRect(width() - o, height() - o, o, o, bg); + } else { +#ifdef QT_OPENGL_SUPPORT + if (m_use_opengl) { + painter.begin(glw); + painter.fillRect(QRectF(0, 0, glw->width(), glw->height()), palette().color(backgroundRole())); + } else { + painter.begin(this); + } +#else + painter.begin(this); +#endif + } + + painter.setClipRect(e->rect()); + + painter.setRenderHint(QPainter::Antialiasing); + + QPainterPath clipPath; + + QRect r = rect(); + qreal left = r.x() + 1; + qreal top = r.y() + 1; + qreal right = r.right(); + qreal bottom = r.bottom(); + qreal radius2 = 8 * 2; + + clipPath.moveTo(right - radius2, top); + clipPath.arcTo(right - radius2, top, radius2, radius2, 90, -90); + clipPath.arcTo(right - radius2, bottom - radius2, radius2, radius2, 0, -90); + clipPath.arcTo(left, bottom - radius2, radius2, radius2, 270, -90); + clipPath.arcTo(left, top, radius2, radius2, 180, -90); + clipPath.closeSubpath(); + + painter.save(); + painter.setClipPath(clipPath, Qt::IntersectClip); + + painter.drawTiledPixmap(rect(), m_tile); + + // client painting + + paint(&painter); + + painter.restore(); + + painter.save(); + if (m_show_doc) + paintDescription(&painter); + painter.restore(); + + int level = 180; + painter.setPen(QPen(QColor(level, level, level), 2)); + painter.setBrush(Qt::NoBrush); + painter.drawPath(clipPath); + + if (preferImage() +#ifdef QT_OPENGL_SUPPORT + && !m_use_opengl +#endif + ) { + painter.end(); + painter.begin(this); +#ifdef Q_WS_QWS + painter.drawPixmap(e->rect(), *static_image, e->rect()); +#else + painter.drawImage(e->rect(), *static_image, e->rect()); +#endif + } + +#ifdef QT_OPENGL_SUPPORT + if (m_use_opengl && (inherits("PathDeformRenderer") || inherits("PathStrokeRenderer") || inherits("CompositionRenderer") || m_show_doc)) + glw->swapBuffers(); +#endif +} + +void ArthurFrame::resizeEvent(QResizeEvent *e) +{ +#ifdef QT_OPENGL_SUPPORT + if (glw) + glw->setGeometry(0, 0, e->size().width()-1, e->size().height()-1); +#endif + QWidget::resizeEvent(e); +} + +void ArthurFrame::setDescriptionEnabled(bool enabled) +{ + if (m_show_doc != enabled) { + m_show_doc = enabled; + emit descriptionEnabledChanged(m_show_doc); + update(); + } +} + +void ArthurFrame::loadDescription(const QString &fileName) +{ + QFile textFile(fileName); + QString text; + if (!textFile.open(QFile::ReadOnly)) + text = QString("Unable to load resource file: '%1'").arg(fileName); + else + text = textFile.readAll(); + setDescription(text); +} + + +void ArthurFrame::setDescription(const QString &text) +{ + m_document = new QTextDocument(this); + m_document->setHtml(text); +} + +void ArthurFrame::paintDescription(QPainter *painter) +{ + if (!m_document) + return; + + int pageWidth = qMax(width() - 100, 100); + int pageHeight = qMax(height() - 100, 100); + if (pageWidth != m_document->pageSize().width()) { + m_document->setPageSize(QSize(pageWidth, pageHeight)); + } + + QRect textRect(width() / 2 - pageWidth / 2, + height() / 2 - pageHeight / 2, + pageWidth, + pageHeight); + int pad = 10; + QRect clearRect = textRect.adjusted(-pad, -pad, pad, pad); + painter->setPen(Qt::NoPen); + painter->setBrush(QColor(0, 0, 0, 63)); + int shade = 10; + painter->drawRect(clearRect.x() + clearRect.width() + 1, + clearRect.y() + shade, + shade, + clearRect.height() + 1); + painter->drawRect(clearRect.x() + shade, + clearRect.y() + clearRect.height() + 1, + clearRect.width() - shade + 1, + shade); + + painter->setRenderHint(QPainter::Antialiasing, false); + painter->setBrush(QColor(255, 255, 255, 220)); + painter->setPen(Qt::black); + painter->drawRect(clearRect); + + painter->setClipRegion(textRect, Qt::IntersectClip); + painter->translate(textRect.topLeft()); + + QAbstractTextDocumentLayout::PaintContext ctx; + + QLinearGradient g(0, 0, 0, textRect.height()); + g.setColorAt(0, Qt::black); + g.setColorAt(0.9, Qt::black); + g.setColorAt(1, Qt::transparent); + + QPalette pal = palette(); + pal.setBrush(QPalette::Text, g); + + ctx.palette = pal; + ctx.clip = QRect(0, 0, textRect.width(), textRect.height()); + m_document->documentLayout()->draw(painter, ctx); +} + +void ArthurFrame::loadSourceFile(const QString &sourceFile) +{ + m_sourceFileName = sourceFile; +} + +void ArthurFrame::showSource() +{ + // Check for existing source + if (qFindChild(this)) + return; + + QString contents; + if (m_sourceFileName.isEmpty()) { + contents = QString("No source for widget: '%1'").arg(objectName()); + } else { + QFile f(m_sourceFileName); + if (!f.open(QFile::ReadOnly)) + contents = QString("Could not open file: '%1'").arg(m_sourceFileName); + else + contents = f.readAll(); + } + + contents.replace('&', "&"); + contents.replace('<', "<"); + contents.replace('>', ">"); + + QStringList keywords; + keywords << "for " << "if " << "switch " << " int " << "#include " << "const" + << "void " << "uint " << "case " << "double " << "#define " << "static" + << "new" << "this"; + + foreach (QString keyword, keywords) + contents.replace(keyword, QLatin1String("") + keyword + QLatin1String("")); + contents.replace("(int ", "(int "); + + QStringList ppKeywords; + ppKeywords << "#ifdef" << "#ifndef" << "#if" << "#endif" << "#else"; + + foreach (QString keyword, ppKeywords) + contents.replace(keyword, QLatin1String("") + keyword + QLatin1String("")); + + contents.replace(QRegExp("(\\d\\d?)"), QLatin1String("\\1")); + + QRegExp commentRe("(//.+)\\n"); + commentRe.setMinimal(true); + contents.replace(commentRe, QLatin1String("\\1\n")); + + QRegExp stringLiteralRe("(\".+\")"); + stringLiteralRe.setMinimal(true); + contents.replace(stringLiteralRe, QLatin1String("\\1")); + + QString html = contents; + html.prepend("
");
+    html.append("
"); + + QTextBrowser *sourceViewer = new QTextBrowser(0); + sourceViewer->setWindowTitle("Source: " + m_sourceFileName.mid(5)); + sourceViewer->setParent(this, Qt::Dialog); + sourceViewer->setAttribute(Qt::WA_DeleteOnClose); + sourceViewer->setLineWrapMode(QTextEdit::NoWrap); + sourceViewer->setHtml(html); + sourceViewer->resize(600, 600); + sourceViewer->show(); +} diff --git a/demos/shared/arthurwidgets.h b/demos/shared/arthurwidgets.h new file mode 100644 index 0000000..4d55b61 --- /dev/null +++ b/demos/shared/arthurwidgets.h @@ -0,0 +1,118 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef ARTHURWIDGETS_H +#define ARTHURWIDGETS_H + +#include "arthurstyle.h" +#include +#include +#include + +#if defined(QT_OPENGL_SUPPORT) +#include +class GLWidget : public QGLWidget +{ +public: + GLWidget(QWidget *parent) + : QGLWidget(QGLFormat(QGL::SampleBuffers), parent) {} + void disableAutoBufferSwap() { setAutoBufferSwap(false); } + void paintEvent(QPaintEvent *) { parentWidget()->update(); } +}; +#endif + +QT_FORWARD_DECLARE_CLASS(QTextDocument) +QT_FORWARD_DECLARE_CLASS(QTextEdit) +QT_FORWARD_DECLARE_CLASS(QVBoxLayout) + +class ArthurFrame : public QWidget +{ + Q_OBJECT +public: + ArthurFrame(QWidget *parent); + virtual void paint(QPainter *) {} + + + void paintDescription(QPainter *p); + + void loadDescription(const QString &filename); + void setDescription(const QString &htmlDesc); + + void loadSourceFile(const QString &fileName); + + bool preferImage() const { return m_prefer_image; } + +#if defined(QT_OPENGL_SUPPORT) + QGLWidget *glWidget() const { return glw; } +#endif + +public slots: + void setPreferImage(bool pi) { m_prefer_image = pi; } + void setDescriptionEnabled(bool enabled); + void showSource(); + +#if defined(QT_OPENGL_SUPPORT) + void enableOpenGL(bool use_opengl); + bool usesOpenGL() { return m_use_opengl; } +#endif + +signals: + void descriptionEnabledChanged(bool); + +protected: + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + +#if defined(QT_OPENGL_SUPPORT) + GLWidget *glw; + bool m_use_opengl; +#endif + QPixmap m_tile; + + bool m_show_doc; + bool m_prefer_image; + QTextDocument *m_document; + + QString m_sourceFileName; + +}; + +#endif diff --git a/demos/shared/hoverpoints.cpp b/demos/shared/hoverpoints.cpp new file mode 100644 index 0000000..70062f6 --- /dev/null +++ b/demos/shared/hoverpoints.cpp @@ -0,0 +1,333 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifdef QT_OPENGL_SUPPORT +#include +#endif + +#include "arthurwidgets.h" +#include "hoverpoints.h" + +#define printf + +HoverPoints::HoverPoints(QWidget *widget, PointShape shape) + : QObject(widget) +{ + m_widget = widget; + widget->installEventFilter(this); + + m_connectionType = CurveConnection; + m_sortType = NoSort; + m_shape = shape; + m_pointPen = QPen(QColor(255, 255, 255, 191), 1); + m_connectionPen = QPen(QColor(255, 255, 255, 127), 2); + m_pointBrush = QBrush(QColor(191, 191, 191, 127)); + m_pointSize = QSize(11, 11); + m_currentIndex = -1; + m_editable = true; + m_enabled = true; + + connect(this, SIGNAL(pointsChanged(const QPolygonF &)), + m_widget, SLOT(update())); +} + + +void HoverPoints::setEnabled(bool enabled) +{ + if (m_enabled != enabled) { + m_enabled = enabled; + m_widget->update(); + } +} + + +bool HoverPoints::eventFilter(QObject *object, QEvent *event) +{ + if (object == m_widget && m_enabled) { + switch (event->type()) { + + case QEvent::MouseButtonPress: + { + QMouseEvent *me = (QMouseEvent *) event; + + QPointF clickPos = me->pos(); + int index = -1; + for (int i=0; ibutton() == Qt::LeftButton) { + if (index == -1) { + if (!m_editable) + return false; + int pos = 0; + // Insert sort for x or y + if (m_sortType == XSort) { + for (int i=0; i clickPos.x()) { + pos = i; + break; + } + } else if (m_sortType == YSort) { + for (int i=0; i clickPos.y()) { + pos = i; + break; + } + } + + m_points.insert(pos, clickPos); + m_locks.insert(pos, 0); + m_currentIndex = pos; + firePointChange(); + } else { + m_currentIndex = index; + } + return true; + + } else if (me->button() == Qt::RightButton) { + if (index >= 0 && m_editable) { + if (m_locks[index] == 0) { + m_locks.remove(index); + m_points.remove(index); + } + firePointChange(); + return true; + } + } + + } + break; + + case QEvent::MouseButtonRelease: + m_currentIndex = -1; + break; + + case QEvent::MouseMove: + if (m_currentIndex >= 0) + movePoint(m_currentIndex, ((QMouseEvent *)event)->pos()); + break; + + case QEvent::Resize: + { + QResizeEvent *e = (QResizeEvent *) event; + if (e->oldSize().width() == 0 || e->oldSize().height() == 0) + break; + qreal stretch_x = e->size().width() / qreal(e->oldSize().width()); + qreal stretch_y = e->size().height() / qreal(e->oldSize().height()); + for (int i=0; i(that_widget); + if (af && af->usesOpenGL()) + af->glWidget()->swapBuffers(); +#endif + return true; + } + default: + break; + } + } + + return false; +} + + +void HoverPoints::paintPoints() +{ + QPainter p; +#ifdef QT_OPENGL_SUPPORT + ArthurFrame *af = qobject_cast(m_widget); + if (af && af->usesOpenGL()) + p.begin(af->glWidget()); + else + p.begin(m_widget); +#else + p.begin(m_widget); +#endif + + p.setRenderHint(QPainter::Antialiasing); + + if (m_connectionPen.style() != Qt::NoPen && m_connectionType != NoConnection) { + p.setPen(m_connectionPen); + + if (m_connectionType == CurveConnection) { + QPainterPath path; + path.moveTo(m_points.at(0)); + for (int i=1; i right || (lock & HoverPoints::LockToRight)) p.setX(right); + + if (p.y() < top || (lock & HoverPoints::LockToTop)) p.setY(top); + else if (p.y() > bottom || (lock & HoverPoints::LockToBottom)) p.setY(bottom); + + return p; +} + +void HoverPoints::setPoints(const QPolygonF &points) +{ + m_points.clear(); + for (int i=0; i 0) { + m_locks.resize(m_points.size()); + + m_locks.fill(0); + } +} + + +void HoverPoints::movePoint(int index, const QPointF &point, bool emitUpdate) +{ + m_points[index] = bound_point(point, boundingRect(), m_locks.at(index)); + if (emitUpdate) + firePointChange(); +} + + +inline static bool x_less_than(const QPointF &p1, const QPointF &p2) +{ + return p1.x() < p2.x(); +} + + +inline static bool y_less_than(const QPointF &p1, const QPointF &p2) +{ + return p1.y() < p2.y(); +} + +void HoverPoints::firePointChange() +{ +// printf("HoverPoints::firePointChange(), current=%d\n", m_currentIndex); + + if (m_sortType != NoSort) { + + QPointF oldCurrent; + if (m_currentIndex != -1) { + oldCurrent = m_points[m_currentIndex]; + } + + if (m_sortType == XSort) + qSort(m_points.begin(), m_points.end(), x_less_than); + else if (m_sortType == YSort) + qSort(m_points.begin(), m_points.end(), y_less_than); + + // Compensate for changed order... + if (m_currentIndex != -1) { + for (int i=0; i + +QT_FORWARD_DECLARE_CLASS(QBypassWidget) + +class HoverPoints : public QObject +{ + Q_OBJECT +public: + enum PointShape { + CircleShape, + RectangleShape + }; + + enum LockType { + LockToLeft = 0x01, + LockToRight = 0x02, + LockToTop = 0x04, + LockToBottom = 0x08 + }; + + enum SortType { + NoSort, + XSort, + YSort + }; + + enum ConnectionType { + NoConnection, + LineConnection, + CurveConnection + }; + + HoverPoints(QWidget *widget, PointShape shape); + + bool eventFilter(QObject *object, QEvent *event); + + void paintPoints(); + + inline QRectF boundingRect() const; + void setBoundingRect(const QRectF &boundingRect) { m_bounds = boundingRect; } + + QPolygonF points() const { return m_points; } + void setPoints(const QPolygonF &points); + + QSizeF pointSize() const { return m_pointSize; } + void setPointSize(const QSizeF &size) { m_pointSize = size; } + + SortType sortType() const { return m_sortType; } + void setSortType(SortType sortType) { m_sortType = sortType; } + + ConnectionType connectionType() const { return m_connectionType; } + void setConnectionType(ConnectionType connectionType) { m_connectionType = connectionType; } + + void setConnectionPen(const QPen &pen) { m_connectionPen = pen; } + void setShapePen(const QPen &pen) { m_pointPen = pen; } + void setShapeBrush(const QBrush &brush) { m_pointBrush = brush; } + + void setPointLock(int pos, LockType lock) { m_locks[pos] = lock; } + + void setEditable(bool editable) { m_editable = editable; } + bool editable() const { return m_editable; } + +public slots: + void setEnabled(bool enabled); + void setDisabled(bool disabled) { setEnabled(!disabled); } + +signals: + void pointsChanged(const QPolygonF &points); + +public: + void firePointChange(); + +private: + inline QRectF pointBoundingRect(int i) const; + void movePoint(int i, const QPointF &newPos, bool emitChange = true); + + QWidget *m_widget; + + QPolygonF m_points; + QRectF m_bounds; + PointShape m_shape; + SortType m_sortType; + ConnectionType m_connectionType; + + QVector m_locks; + + QSizeF m_pointSize; + int m_currentIndex; + bool m_editable; + bool m_enabled; + + QPen m_pointPen; + QBrush m_pointBrush; + QPen m_connectionPen; +}; + + +inline QRectF HoverPoints::pointBoundingRect(int i) const +{ + QPointF p = m_points.at(i); + qreal w = m_pointSize.width(); + qreal h = m_pointSize.height(); + qreal x = p.x() - w / 2; + qreal y = p.y() - h / 2; + return QRectF(x, y, w, h); +} + +inline QRectF HoverPoints::boundingRect() const +{ + if (m_bounds.isEmpty()) + return m_widget->rect(); + else + return m_bounds; +} + +#endif // HOVERPOINTS_H diff --git a/demos/shared/images/bg_pattern.png b/demos/shared/images/bg_pattern.png new file mode 100644 index 0000000..ee67026 Binary files /dev/null and b/demos/shared/images/bg_pattern.png differ diff --git a/demos/shared/images/button_normal_cap_left.png b/demos/shared/images/button_normal_cap_left.png new file mode 100644 index 0000000..db31dd9 Binary files /dev/null and b/demos/shared/images/button_normal_cap_left.png differ diff --git a/demos/shared/images/button_normal_cap_right.png b/demos/shared/images/button_normal_cap_right.png new file mode 100644 index 0000000..38ead1c Binary files /dev/null and b/demos/shared/images/button_normal_cap_right.png differ diff --git a/demos/shared/images/button_normal_stretch.png b/demos/shared/images/button_normal_stretch.png new file mode 100644 index 0000000..87abe67 Binary files /dev/null and b/demos/shared/images/button_normal_stretch.png differ diff --git a/demos/shared/images/button_pressed_cap_left.png b/demos/shared/images/button_pressed_cap_left.png new file mode 100644 index 0000000..66bfc13 Binary files /dev/null and b/demos/shared/images/button_pressed_cap_left.png differ diff --git a/demos/shared/images/button_pressed_cap_right.png b/demos/shared/images/button_pressed_cap_right.png new file mode 100644 index 0000000..3d4cfe2 Binary files /dev/null and b/demos/shared/images/button_pressed_cap_right.png differ diff --git a/demos/shared/images/button_pressed_stretch.png b/demos/shared/images/button_pressed_stretch.png new file mode 100644 index 0000000..4dd4ad1 Binary files /dev/null and b/demos/shared/images/button_pressed_stretch.png differ diff --git a/demos/shared/images/curve_thing_edit-6.png b/demos/shared/images/curve_thing_edit-6.png new file mode 100644 index 0000000..034b474 Binary files /dev/null and b/demos/shared/images/curve_thing_edit-6.png differ diff --git a/demos/shared/images/frame_bottom.png b/demos/shared/images/frame_bottom.png new file mode 100644 index 0000000..889b40d Binary files /dev/null and b/demos/shared/images/frame_bottom.png differ diff --git a/demos/shared/images/frame_bottomleft.png b/demos/shared/images/frame_bottomleft.png new file mode 100644 index 0000000..0b3023f Binary files /dev/null and b/demos/shared/images/frame_bottomleft.png differ diff --git a/demos/shared/images/frame_bottomright.png b/demos/shared/images/frame_bottomright.png new file mode 100644 index 0000000..0021e35 Binary files /dev/null and b/demos/shared/images/frame_bottomright.png differ diff --git a/demos/shared/images/frame_left.png b/demos/shared/images/frame_left.png new file mode 100644 index 0000000..40f331c Binary files /dev/null and b/demos/shared/images/frame_left.png differ diff --git a/demos/shared/images/frame_right.png b/demos/shared/images/frame_right.png new file mode 100644 index 0000000..023af8c Binary files /dev/null and b/demos/shared/images/frame_right.png differ diff --git a/demos/shared/images/frame_top.png b/demos/shared/images/frame_top.png new file mode 100644 index 0000000..001f3a7 Binary files /dev/null and b/demos/shared/images/frame_top.png differ diff --git a/demos/shared/images/frame_topleft.png b/demos/shared/images/frame_topleft.png new file mode 100644 index 0000000..58c68d4 Binary files /dev/null and b/demos/shared/images/frame_topleft.png differ diff --git a/demos/shared/images/frame_topright.png b/demos/shared/images/frame_topright.png new file mode 100644 index 0000000..6a7e8d3 Binary files /dev/null and b/demos/shared/images/frame_topright.png differ diff --git a/demos/shared/images/groupframe_bottom_left.png b/demos/shared/images/groupframe_bottom_left.png new file mode 100644 index 0000000..af2fe06 Binary files /dev/null and b/demos/shared/images/groupframe_bottom_left.png differ diff --git a/demos/shared/images/groupframe_bottom_right.png b/demos/shared/images/groupframe_bottom_right.png new file mode 100644 index 0000000..fdf2e97 Binary files /dev/null and b/demos/shared/images/groupframe_bottom_right.png differ diff --git a/demos/shared/images/groupframe_bottom_stretch.png b/demos/shared/images/groupframe_bottom_stretch.png new file mode 100644 index 0000000..f47b67d Binary files /dev/null and b/demos/shared/images/groupframe_bottom_stretch.png differ diff --git a/demos/shared/images/groupframe_left_stretch.png b/demos/shared/images/groupframe_left_stretch.png new file mode 100644 index 0000000..c122f46 Binary files /dev/null and b/demos/shared/images/groupframe_left_stretch.png differ diff --git a/demos/shared/images/groupframe_right_stretch.png b/demos/shared/images/groupframe_right_stretch.png new file mode 100644 index 0000000..1056b78 Binary files /dev/null and b/demos/shared/images/groupframe_right_stretch.png differ diff --git a/demos/shared/images/groupframe_top_stretch.png b/demos/shared/images/groupframe_top_stretch.png new file mode 100644 index 0000000..5746ef9 Binary files /dev/null and b/demos/shared/images/groupframe_top_stretch.png differ diff --git a/demos/shared/images/groupframe_topleft.png b/demos/shared/images/groupframe_topleft.png new file mode 100644 index 0000000..98d9cd9 Binary files /dev/null and b/demos/shared/images/groupframe_topleft.png differ diff --git a/demos/shared/images/groupframe_topright.png b/demos/shared/images/groupframe_topright.png new file mode 100644 index 0000000..1a0a328 Binary files /dev/null and b/demos/shared/images/groupframe_topright.png differ diff --git a/demos/shared/images/line_dash_dot.png b/demos/shared/images/line_dash_dot.png new file mode 100644 index 0000000..1c61442 Binary files /dev/null and b/demos/shared/images/line_dash_dot.png differ diff --git a/demos/shared/images/line_dash_dot_dot.png b/demos/shared/images/line_dash_dot_dot.png new file mode 100644 index 0000000..0d9bb97 Binary files /dev/null and b/demos/shared/images/line_dash_dot_dot.png differ diff --git a/demos/shared/images/line_dashed.png b/demos/shared/images/line_dashed.png new file mode 100644 index 0000000..d5bc7ea Binary files /dev/null and b/demos/shared/images/line_dashed.png differ diff --git a/demos/shared/images/line_dotted.png b/demos/shared/images/line_dotted.png new file mode 100644 index 0000000..a2f9a35 Binary files /dev/null and b/demos/shared/images/line_dotted.png differ diff --git a/demos/shared/images/line_solid.png b/demos/shared/images/line_solid.png new file mode 100644 index 0000000..60ef3f9 Binary files /dev/null and b/demos/shared/images/line_solid.png differ diff --git a/demos/shared/images/radiobutton-off.png b/demos/shared/images/radiobutton-off.png new file mode 100644 index 0000000..af1753a Binary files /dev/null and b/demos/shared/images/radiobutton-off.png differ diff --git a/demos/shared/images/radiobutton-on.png b/demos/shared/images/radiobutton-on.png new file mode 100644 index 0000000..f875838 Binary files /dev/null and b/demos/shared/images/radiobutton-on.png differ diff --git a/demos/shared/images/radiobutton_off.png b/demos/shared/images/radiobutton_off.png new file mode 100644 index 0000000..400906e Binary files /dev/null and b/demos/shared/images/radiobutton_off.png differ diff --git a/demos/shared/images/radiobutton_on.png b/demos/shared/images/radiobutton_on.png new file mode 100644 index 0000000..50a049e Binary files /dev/null and b/demos/shared/images/radiobutton_on.png differ diff --git a/demos/shared/images/slider_bar.png b/demos/shared/images/slider_bar.png new file mode 100644 index 0000000..1b3d62c Binary files /dev/null and b/demos/shared/images/slider_bar.png differ diff --git a/demos/shared/images/slider_thumb_off.png b/demos/shared/images/slider_thumb_off.png new file mode 100644 index 0000000..d7f141d Binary files /dev/null and b/demos/shared/images/slider_thumb_off.png differ diff --git a/demos/shared/images/slider_thumb_on.png b/demos/shared/images/slider_thumb_on.png new file mode 100644 index 0000000..8e1f510 Binary files /dev/null and b/demos/shared/images/slider_thumb_on.png differ diff --git a/demos/shared/images/title_cap_left.png b/demos/shared/images/title_cap_left.png new file mode 100644 index 0000000..2d47507 Binary files /dev/null and b/demos/shared/images/title_cap_left.png differ diff --git a/demos/shared/images/title_cap_right.png b/demos/shared/images/title_cap_right.png new file mode 100644 index 0000000..dc3ff85 Binary files /dev/null and b/demos/shared/images/title_cap_right.png differ diff --git a/demos/shared/images/title_stretch.png b/demos/shared/images/title_stretch.png new file mode 100644 index 0000000..1104334 Binary files /dev/null and b/demos/shared/images/title_stretch.png differ diff --git a/demos/shared/shared.pri b/demos/shared/shared.pri new file mode 100644 index 0000000..b551595 --- /dev/null +++ b/demos/shared/shared.pri @@ -0,0 +1,20 @@ +INCLUDEPATH += $$SHARED_FOLDER + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} +contains(CONFIG, debug_and_release_target) { + CONFIG(debug, debug|release) { + LIBS+=-L$$SHARED_FOLDER/debug + } else { + LIBS+=-L$$SHARED_FOLDER/release + } +} else { + LIBS += -L$$SHARED_FOLDER +} + +hpux-acc*:LIBS += $$SHARED_FOLDER/libdemo_shared.a +hpuxi-acc*:LIBS += $$SHARED_FOLDER/libdemo_shared.a +!hpuxi-acc*:!hpux-acc*:LIBS += -ldemo_shared + diff --git a/demos/shared/shared.pro b/demos/shared/shared.pro new file mode 100644 index 0000000..cabce25 --- /dev/null +++ b/demos/shared/shared.pro @@ -0,0 +1,33 @@ +TEMPLATE = lib +CONFIG += static + +contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2) { + DEFINES += QT_OPENGL_SUPPORT + QT += opengl +} + +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} +TARGET = demo_shared + +SOURCES += \ + arthurstyle.cpp\ + arthurwidgets.cpp \ + hoverpoints.cpp + +HEADERS += \ + arthurstyle.h \ + arthurwidgets.h \ + hoverpoints.h + +RESOURCES += shared.qrc + +# install +target.path = $$[QT_INSTALL_DEMOS]/shared +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.pri images +sources.path = $$[QT_INSTALL_DEMOS]/shared +INSTALLS += sources +!cross_compile:INSTALLS += target + diff --git a/demos/shared/shared.qrc b/demos/shared/shared.qrc new file mode 100644 index 0000000..17336ec --- /dev/null +++ b/demos/shared/shared.qrc @@ -0,0 +1,39 @@ + + + images/button_normal_cap_left.png + images/button_normal_cap_right.png + images/button_normal_stretch.png + images/button_pressed_cap_left.png + images/button_pressed_cap_right.png + images/button_pressed_stretch.png + images/radiobutton-on.png + images/radiobutton_on.png + images/radiobutton_off.png + images/slider_bar.png + images/slider_thumb_on.png + images/groupframe_topleft.png + images/groupframe_topright.png + images/groupframe_bottom_left.png + images/groupframe_bottom_right.png + images/groupframe_top_stretch.png + images/groupframe_bottom_stretch.png + images/groupframe_left_stretch.png + images/groupframe_right_stretch.png + images/frame_topleft.png + images/frame_topright.png + images/frame_bottomleft.png + images/frame_bottomright.png + images/frame_left.png + images/frame_top.png + images/frame_right.png + images/frame_bottom.png + images/title_cap_left.png + images/title_cap_right.png + images/title_stretch.png + images/line_dash_dot.png + images/line_dotted.png + images/line_dashed.png + images/line_solid.png + images/line_dash_dot_dot.png + + diff --git a/demos/spreadsheet/images/interview.png b/demos/spreadsheet/images/interview.png new file mode 100644 index 0000000..0c3d690 Binary files /dev/null and b/demos/spreadsheet/images/interview.png differ diff --git a/demos/spreadsheet/main.cpp b/demos/spreadsheet/main.cpp new file mode 100644 index 0000000..7a71641 --- /dev/null +++ b/demos/spreadsheet/main.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "spreadsheet.h" + +int main(int argc, char** argv) { + Q_INIT_RESOURCE(spreadsheet); + QApplication app(argc, argv); + SpreadSheet sheet(10, 6); + sheet.setWindowIcon(QPixmap(":/images/interview.png")); + sheet.resize(640, 420); + sheet.show(); + return app.exec(); +} + + diff --git a/demos/spreadsheet/printview.cpp b/demos/spreadsheet/printview.cpp new file mode 100644 index 0000000..76c4ae8 --- /dev/null +++ b/demos/spreadsheet/printview.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "printview.h" +#include +#include + +PrintView::PrintView() +{ + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); +} + +void PrintView::print(QPrinter *printer) +{ +#ifndef QT_NO_PRINTER + resize(printer->width(), printer->height()); + render(printer); +#endif +} + diff --git a/demos/spreadsheet/printview.h b/demos/spreadsheet/printview.h new file mode 100644 index 0000000..3f2b918 --- /dev/null +++ b/demos/spreadsheet/printview.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef PRINTVIEW_H +#define PRINTVIEW_H + +#include + +class PrintView : public QTableView +{ + Q_OBJECT + +public: + PrintView(); + +public Q_SLOTS: + void print(QPrinter *printer); +}; + +#endif // PRINTVIEW_H + + diff --git a/demos/spreadsheet/spreadsheet.cpp b/demos/spreadsheet/spreadsheet.cpp new file mode 100644 index 0000000..742855e --- /dev/null +++ b/demos/spreadsheet/spreadsheet.cpp @@ -0,0 +1,631 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the demonstration applications 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 either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "spreadsheet.h" +#include "spreadsheetdelegate.h" +#include "spreadsheetitem.h" +#include "printview.h" + +SpreadSheet::SpreadSheet(int rows, int cols, QWidget *parent) + : QMainWindow(parent) +{ + addToolBar(toolBar = new QToolBar()); + formulaInput = new QLineEdit(); + + cellLabel = new QLabel(toolBar); + cellLabel->setMinimumSize(80, 0); + + toolBar->addWidget(cellLabel); + toolBar->addWidget(formulaInput); + + table = new QTableWidget(rows, cols, this); + for (int c = 0; c < cols; ++c) { + QString character(QChar('A' + c)); + table->setHorizontalHeaderItem(c, new QTableWidgetItem(character)); + } + + table->setItemPrototype(table->item(rows -1, cols - 1)); + table->setItemDelegate(new SpreadSheetDelegate()); + + createActions(); + updateColor(0); + setupMenuBar(); + setupContents(); + setCentralWidget(table); + + statusBar(); + connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)), + this, SLOT(updateStatus(QTableWidgetItem*))); + connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)), + this, SLOT(updateColor(QTableWidgetItem*))); + connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)), + this, SLOT(updateLineEdit(QTableWidgetItem*))); + connect(table, SIGNAL(itemChanged(QTableWidgetItem*)), + this, SLOT(updateStatus(QTableWidgetItem*))); + connect(formulaInput, SIGNAL(returnPressed()), this, SLOT(returnPressed())); + connect(table, SIGNAL(itemChanged(QTableWidgetItem*)), + this, SLOT(updateLineEdit(QTableWidgetItem*))); + + setWindowTitle(tr("Spreadsheet")); +} + +void SpreadSheet::createActions() +{ + cell_sumAction = new QAction(tr("Sum"), this); + connect(cell_sumAction, SIGNAL(triggered()), this, SLOT(actionSum())); + + cell_addAction = new QAction(tr("&Add"), this); + cell_addAction->setShortcut(Qt::CTRL | Qt::Key_Plus); + connect(cell_addAction, SIGNAL(triggered()), this, SLOT(actionAdd())); + + cell_subAction = new QAction(tr("&Subtract"), this); + cell_subAction->setShortcut(Qt::CTRL | Qt::Key_Minus); + connect(cell_subAction, SIGNAL(triggered()), this, SLOT(actionSubtract())); + + cell_mulAction = new QAction(tr("&Multiply"), this); + cell_mulAction->setShortcut(Qt::CTRL | Qt::Key_multiply); + connect(cell_mulAction, SIGNAL(triggered()), this, SLOT(actionMultiply())); + + cell_divAction = new QAction(tr("&Divide"), this); + cell_divAction->setShortcut(Qt::CTRL | Qt::Key_division); + connect(cell_divAction, SIGNAL(triggered()), this, SLOT(actionDivide())); + + fontAction = new QAction(tr("Font..."), this); + fontAction->setShortcut(Qt::CTRL | Qt::Key_F); + connect(fontAction, SIGNAL(triggered()), this, SLOT(selectFont())); + + colorAction = new QAction(QPixmap(16, 16), tr("Background &Color..."), this); + connect(colorAction, SIGNAL(triggered()), this, SLOT(selectColor())); + + clearAction = new QAction(tr("Clear"), this); + clearAction->setShortcut(Qt::Key_Delete); + connect(clearAction, SIGNAL(triggered()), this, SLOT(clear())); + + aboutSpreadSheet = new QAction(tr("About Spreadsheet"), this); + connect(aboutSpreadSheet, SIGNAL(triggered()), this, SLOT(showAbout())); + + exitAction = new QAction(tr("E&xit"), this); + connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit())); + + printAction = new QAction(tr("&Print"), this); + connect(printAction, SIGNAL(triggered()), this, SLOT(print())); + + firstSeparator = new QAction(this); + firstSeparator->setSeparator(true); + + secondSeparator = new QAction(this); + secondSeparator->setSeparator(true); +} + +void SpreadSheet::setupMenuBar() +{ + QMenu *fileMenu = menuBar()->addMenu(tr("&File")); + fileMenu->addAction(printAction); + fileMenu->addAction(exitAction); + + QMenu *cellMenu = menuBar()->addMenu(tr("&Cell")); + cellMenu->addAction(cell_addAction); + cellMenu->addAction(cell_subAction); + cellMenu->addAction(cell_mulAction); + cellMenu->addAction(cell_divAction); + cellMenu->addAction(cell_sumAction); + cellMenu->addSeparator(); + cellMenu->addAction(colorAction); + cellMenu->addAction(fontAction); + + menuBar()->addSeparator(); + + QMenu *aboutMenu = menuBar()->addMenu(tr("&Help")); + aboutMenu->addAction(aboutSpreadSheet); +} + +void SpreadSheet::updateStatus(QTableWidgetItem *item) +{ + if (item && item == table->currentItem()) { + statusBar()->showMessage(item->data(Qt::StatusTipRole).toString(), + 1000); + cellLabel->setText(tr("Cell: (%1)").arg(encode_pos(table->row(item), + table->column(item)))); + } +} + +void SpreadSheet::updateColor(QTableWidgetItem *item) +{ + QPixmap pix(16, 16); + QColor col; + if (item) + col = item->backgroundColor(); + if (!col.isValid()) + col = palette().base().color(); + + QPainter pt(&pix); + pt.fillRect(0, 0, 16, 16, col); + + QColor lighter = col.light(); + pt.setPen(lighter); + QPoint lightFrame[] = { QPoint(0, 15), QPoint(0, 0), QPoint(15, 0) }; + pt.drawPolyline(lightFrame, 3); + + pt.setPen(col.dark()); + QPoint darkFrame[] = { QPoint(1, 15), QPoint(15, 15), QPoint(15, 1) }; + pt.drawPolyline(darkFrame, 3); + + pt.end(); + + colorAction->setIcon(pix); +} + +void SpreadSheet::updateLineEdit(QTableWidgetItem *item) +{ + if (item != table->currentItem()) + return; + if (item) + formulaInput->setText(item->data(Qt::EditRole).toString()); + else + formulaInput->clear(); +} + +void SpreadSheet::returnPressed() +{ + QString text = formulaInput->text(); + int row = table->currentRow(); + int col = table->currentColumn(); + QTableWidgetItem *item = table->item(row, col); + if (!item) + table->setItem(row, col, new SpreadSheetItem(text)); + else + item->setData(Qt::EditRole, text); + table->viewport()->update(); +} + +void SpreadSheet::selectColor() +{ + QTableWidgetItem *item = table->currentItem(); + QColor col = item ? item->backgroundColor() : table->palette().base().color(); + col = QColorDialog::getColor(col, this); + if (!col.isValid()) + return; + + QList selected = table->selectedItems(); + if (selected.count() == 0) + return; + + foreach(QTableWidgetItem *i, selected) + if (i) + i->setBackgroundColor(col); + + updateColor(table->currentItem()); +} + +void SpreadSheet::selectFont() +{ + QList selected = table->selectedItems(); + if (selected.count() == 0) + return; + + bool ok = false; + QFont fnt = QFontDialog::getFont(&ok, font(), this); + + if (!ok) + return; + foreach(QTableWidgetItem *i, selected) + if (i) + i->setFont(fnt); +} + +bool SpreadSheet::runInputDialog(const QString &title, + const QString &c1Text, + const QString &c2Text, + const QString &opText, + const QString &outText, + QString *cell1, QString *cell2, QString *outCell) +{ + QStringList rows, cols; + for (int c = 0; c < table->columnCount(); ++c) + cols << QChar('A' + c); + for (int r = 0; r < table->rowCount(); ++r) + rows << QString::number(1 + r); + + QDialog addDialog(this); + addDialog.setWindowTitle(title); + + QGroupBox group(title, &addDialog); + group.setMinimumSize(250, 100); + + QLabel cell1Label(c1Text, &group); + QComboBox cell1RowInput(&group); + int c1Row, c1Col; + decode_pos(*cell1, &c1Row, &c1Col); + cell1RowInput.addItems(rows); + cell1RowInput.setCurrentIndex(c1Row); + + QComboBox cell1ColInput(&group); + cell1ColInput.addItems(cols); + cell1ColInput.setCurrentIndex(c1Col); + + QLabel operatorLabel(opText, &group); + operatorLabel.setAlignment(Qt::AlignHCenter); + + QLabel cell2Label(c2Text, &group); + QComboBox cell2RowInput(&group); + int c2Row, c2Col; + decode_pos(*cell2, &c2Row, &c2Col); + cell2RowInput.addItems(rows); + cell2RowInput.setCurrentIndex(c2Row); + QComboBox cell2ColInput(&group); + cell2ColInput.addItems(cols); + cell2ColInput.setCurrentIndex(c2Col); + + QLabel equalsLabel("=", &group); + equalsLabel.setAlignment(Qt::AlignHCenter); + + QLabel outLabel(outText, &group); + QComboBox outRowInput(&group); + int outRow, outCol; + decode_pos(*outCell, &outRow, &outCol); + outRowInput.addItems(rows); + outRowInput.setCurrentIndex(outRow); + QComboBox outColInput(&group); + outColInput.addItems(cols); + outColInput.setCurrentIndex(outCol); + + QPushButton cancelButton(tr("Cancel"), &addDialog); + connect(&cancelButton, SIGNAL(clicked()), &addDialog, SLOT(reject())); + + QPushButton okButton(tr("OK"), &addDialog); + okButton.setDefault(true); + connect(&okButton, SIGNAL(clicked()), &addDialog, SLOT(accept())); + + QHBoxLayout *buttonsLayout = new QHBoxLayout; + buttonsLayout->addStretch(1); + buttonsLayout->addWidget(&okButton); + buttonsLayout->addSpacing(10); + buttonsLayout->addWidget(&cancelButton); + + QVBoxLayout *dialogLayout = new QVBoxLayout(&addDialog); + dialogLayout->addWidget(&group); + dialogLayout->addStretch(1); + dialogLayout->addItem(buttonsLayout); + + QHBoxLayout *cell1Layout = new QHBoxLayout; + cell1Layout->addWidget(&cell1Label); + cell1Layout->addSpacing(10); + cell1Layout->addWidget(&cell1ColInput); + cell1Layout->addSpacing(10); + cell1Layout->addWidget(&cell1RowInput); + + QHBoxLayout *cell2Layout = new QHBoxLayout; + cell2Layout->addWidget(&cell2Label); + cell2Layout->addSpacing(10); + cell2Layout->addWidget(&cell2ColInput); + cell2Layout->addSpacing(10); + cell2Layout->addWidget(&cell2RowInput); + + QHBoxLayout *outLayout = new QHBoxLayout; + outLayout->addWidget(&outLabel); + outLayout->addSpacing(10); + outLayout->addWidget(&outColInput); + outLayout->addSpacing(10); + outLayout->addWidget(&outRowInput); + + QVBoxLayout *vLayout = new QVBoxLayout(&group); + vLayout->addItem(cell1Layout); + vLayout->addWidget(&operatorLabel); + vLayout->addItem(cell2Layout); + vLayout->addWidget(&equalsLabel); + vLayout->addStretch(1); + vLayout->addItem(outLayout); + + if (addDialog.exec()) { + *cell1 = cell1ColInput.currentText() + cell1RowInput.currentText(); + *cell2 = cell2ColInput.currentText() + cell2RowInput.currentText(); + *outCell = outColInput.currentText() + outRowInput.currentText(); + return true; + } + + return false; +} + +void SpreadSheet::actionSum() +{ + int row_first = 0; + int row_last = 0; + int row_cur = 0; + + int col_first = 0; + int col_last = 0; + int col_cur = 0; + + QList selected = table->selectedItems(); + + if (!selected.isEmpty()) { + QTableWidgetItem *first = selected.first(); + QTableWidgetItem *last = selected.last(); + row_first = table->row(first); + row_last = table->row(last); + col_first = table->column(first); + col_last = table->column(last); + } + + QTableWidgetItem *current = table->currentItem(); + + if (current) { + row_cur = table->row(current); + col_cur = table->column(current); + } + + QString cell1 = encode_pos(row_first, col_first); + QString cell2 = encode_pos(row_last, col_last); + QString out = encode_pos(row_cur, col_cur); + + if (runInputDialog(tr("Sum cells"), tr("First cell:"), tr("Last cell:"), + QString("%1").arg(QChar(0x03a3)), tr("Output to:"), + &cell1, &cell2, &out)) { + int row, col; + decode_pos(out, &row, &col); + table->item(row, col)->setText(tr("sum %1 %2").arg(cell1, cell2)); + } +} + +void SpreadSheet::actionMath_helper(const QString &title, const QString &op) +{ + QString cell1 = "C1"; + QString cell2 = "C2"; + QString out = "C3"; + + QTableWidgetItem *current = table->currentItem(); + if (current) + out = encode_pos(table->currentRow(), table->currentColumn()); + + if (runInputDialog(title, tr("Cell 1"), tr("Cell 2"), op, tr("Output to:"), + &cell1, &cell2, &out)) { + int row, col; + decode_pos(out, &row, &col); + table->item(row, col)->setText(tr("%1, %2, %3").arg(op, cell1, cell2)); + } +} + +void SpreadSheet::actionAdd() +{ + actionMath_helper(tr("Addition"), "+"); +} + +void SpreadSheet::actionSubtract() +{ + actionMath_helper(tr("Subtraction"), "-"); +} + +void SpreadSheet::actionMultiply() +{ + actionMath_helper(tr("Multiplication"), "*"); +} +void SpreadSheet::actionDivide() +{ + actionMath_helper(tr("Division"), "/"); +} + +void SpreadSheet::clear() +{ + foreach (QTableWidgetItem *i, table->selectedItems()) + i->setText(""); +} + +void SpreadSheet::setupContextMenu() +{ + addAction(cell_addAction); + addAction(cell_subAction); + addAction(cell_mulAction); + addAction(cell_divAction); + addAction(cell_sumAction); + addAction(firstSeparator); + addAction(colorAction); + addAction(fontAction); + addAction(secondSeparator); + addAction(clearAction); + setContextMenuPolicy(Qt::ActionsContextMenu); +} + +void SpreadSheet::setupContents() +{ + QColor titleBackground(Qt::lightGray); + QFont titleFont = table->font(); + titleFont.setBold(true); + + // column 0 + table->setItem(0, 0, new SpreadSheetItem("Item")); + table->item(0, 0)->setBackgroundColor(titleBackground); + table->item(0, 0)->setToolTip("This column shows the purchased item/service"); + table->item(0, 0)->setFont(titleFont); + + table->setItem(1, 0, new SpreadSheetItem("AirportBus")); + table->setItem(2, 0, new SpreadSheetItem("Flight (Munich)")); + table->setItem(3, 0, new SpreadSheetItem("Lunch")); + table->setItem(4, 0, new SpreadSheetItem("Flight (LA)")); + table->setItem(5, 0, new SpreadSheetItem("Taxi")); + table->setItem(6, 0, new SpreadSheetItem("Diinner")); + table->setItem(7, 0, new SpreadSheetItem("Hotel")); + table->setItem(8, 0, new SpreadSheetItem("Flight (Oslo)")); + table->setItem(9, 0, new SpreadSheetItem("Total:")); + + table->item(9, 0)->setFont(titleFont); + table->item(9, 0)->setBackgroundColor(Qt::lightGray); + + // column 1 + table->setItem(0, 1, new SpreadSheetItem("Date")); + table->item(0, 1)->setBackgroundColor(titleBackground); + table->item(0, 1)->setToolTip("This column shows the purchase date, double click to change"); + table->item(0, 1)->setFont(titleFont); + + table->setItem(1, 1, new SpreadSheetItem("15/6/2006")); + table->setItem(2, 1, new SpreadSheetItem("15/6/2006")); + table->setItem(3, 1, new SpreadSheetItem("15/6/2006")); + table->setItem(4, 1, new SpreadSheetItem("21/5/2006")); + table->setItem(5, 1, new SpreadSheetItem("16/6/2006")); + table->setItem(6, 1, new SpreadSheetItem("16/6/2006")); + table->setItem(7, 1, new SpreadSheetItem("16/6/2006")); + table->setItem(8, 1, new SpreadSheetItem("18/6/2006")); + + table->setItem(9, 1, new SpreadSheetItem()); + table->item(9, 1)->setBackgroundColor(Qt::lightGray); + + // column 2 + table->setItem(0, 2, new SpreadSheetItem("Price")); + table->item(0, 2)->setBackgroundColor(titleBackground); + table->item(0, 2)->setToolTip("This collumn shows the price of the purchase"); + table->item(0, 2)->setFont(titleFont); + + table->setItem(1, 2, new SpreadSheetItem("150")); + table->setItem(2, 2, new SpreadSheetItem("2350")); + table->setItem(3, 2, new SpreadSheetItem("-14")); + table->setItem(4, 2, new SpreadSheetItem("980")); + table->setItem(5, 2, new SpreadSheetItem("5")); + table->setItem(6, 2, new SpreadSheetItem("120")); + table->setItem(7, 2, new SpreadSheetItem("300")); + table->setItem(8, 2, new SpreadSheetItem("1240")); + + table->setItem(9, 2, new SpreadSheetItem()); + + // column 3 + table->setItem(0, 3, new SpreadSheetItem("Currency")); + table->item(0, 3)->setBackgroundColor(titleBackground); + table->item(0, 3)->setToolTip("This column shows the currency"); + table->item(0, 3)->setFont(titleFont); + + table->setItem(1, 3, new SpreadSheetItem("NOK")); + table->setItem(2, 3, new SpreadSheetItem("NOK")); + table->setItem(3, 3, new SpreadSheetItem("EUR")); + table->setItem(4, 3, new SpreadSheetItem("EUR")); + table->setItem(5, 3, new SpreadSheetItem("USD")); + table->setItem(6, 3, new SpreadSheetItem("USD")); + table->setItem(7, 3, new SpreadSheetItem("USD")); + table->setItem(8, 3, new SpreadSheetItem("USD")); + + table->setItem(9, 3, new SpreadSheetItem()); + table->item(9,3)->setBackgroundColor(Qt::lightGray); + + // column 4 + table->setItem(0, 4, new SpreadSheetItem("Ex. Rate")); + table->item(0, 4)->setBackgroundColor(titleBackground); + table->item(0, 4)->setToolTip("This column shows the exchange rate to NOK"); + table->item(0, 4)->setFont(titleFont); + + table->setItem(1, 4, new SpreadSheetItem("1")); + table->setItem(2, 4, new SpreadSheetItem("1")); + table->setItem(3, 4, new SpreadSheetItem("8")); + table->setItem(4, 4, new SpreadSheetItem("8")); + table->setItem(5, 4, new SpreadSheetItem("7")); + table->setItem(6, 4, new SpreadSheetItem("7")); + table->setItem(7, 4, new SpreadSheetItem("7")); + table->setItem(8, 4, new SpreadSheetItem("7")); + + table->setItem(9, 4, new SpreadSheetItem()); + table->item(9,4)->setBackgroundColor(Qt::lightGray); + + // column 5 + table->setItem(0, 5, new SpreadSheetItem("NOK")); + table->item(0, 5)->setBackgroundColor(titleBackground); + table->item(0, 5)->setToolTip("This column shows the expenses in NOK"); + table->item(0, 5)->setFont(titleFont); + + table->setItem(1, 5, new SpreadSheetItem("* C2 E2")); + table->setItem(2, 5, new SpreadSheetItem("* C3 E3")); + table->setItem(3, 5, new SpreadSheetItem("* C4 E4")); + table->setItem(4, 5, new SpreadSheetItem("* C5 E5")); + table->setItem(5, 5, new SpreadSheetItem("* C6 E6")); + table->setItem(6, 5, new SpreadSheetItem("* C7 E7")); + table->setItem(7, 5, new SpreadSheetItem("* C8 E8")); + table->setItem(8, 5, new SpreadSheetItem("* C9 E9")); + + table->setItem(9, 5, new SpreadSheetItem("sum F2 F9")); + table->item(9,5)->setBackgroundColor(Qt::lightGray); +} + +const char *htmlText = +"" +"

This demo shows use of QTableWidget with custom handling for" +" individual cells.

" +"

Using a customized table item we make it possible to have dynamic" +" output in different cells. The content that is implemented for this" +" particular demo is:" +"