From 38d3a7bb6eec46f1bab5ed53334ff2639e9b6eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Thu, 27 Nov 2014 11:47:42 +0100 Subject: [PATCH 01/11] changes-5.4.0: Additional changes for Android Mention the new bearer plugin. Change-Id: Icf5f53ef1f920a13a1820dedceb0fa64f0155887 Reviewed-by: Eskil Abrahamsen Blomfeldt --- dist/changes-5.4.0 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/changes-5.4.0 b/dist/changes-5.4.0 index 2cdf52e4d36..efd5d9149ed 100644 --- a/dist/changes-5.4.0 +++ b/dist/changes-5.4.0 @@ -402,7 +402,8 @@ Android - [QTBUG-41817] QClipboard::mimeData() now returns an empty object instead of null pointer from QClipboard when clipboard is empty for consistency with other platforms. - + - New bearer plugin. It's now possible to get more information about the + different network configurations on Android. - Important Behavior Changes: * [QTBUG-36274] The main event loop is now stopped when the app is suspended From a2da88712f1e057747f68a28361b300faac5e605 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 24 Nov 2014 23:41:00 -0800 Subject: [PATCH 02/11] Make QtDBus compile without libdbus-1 headers, if dlopening Most of QtDBus already needs very little from libdus-1, so create an extra header containing the minimum API we actually need. One large advantage of this solution is that now QtDBus can always be enabled, even if the system doesn't have libdbus-1 installed. This is interesting on OS X, where libdbus-1 is often installed by Homebrew or MacPorts, which may include extra libraries we don't want in our packaging. Change-Id: I1b397121ec12eeca333ef778cf8e1c7b64d6b223 Reviewed-by: Lars Knoll --- configure | 4 +- src/dbus/dbus.pro | 3 +- src/dbus/dbus_minimal_p.h | 275 ++++++++++++++++++ src/dbus/qdbus_symbols_p.h | 7 +- .../dbus/qdbusmarshall/tst_qdbusmarshall.cpp | 6 +- 5 files changed, 289 insertions(+), 6 deletions(-) create mode 100644 src/dbus/dbus_minimal_p.h diff --git a/configure b/configure index d95d8a2a4a5..6f21ba76abe 100755 --- a/configure +++ b/configure @@ -4642,8 +4642,8 @@ if [ "$CFG_DBUS" != "no" ]; then fi QMakeVar set QT_HOST_CFLAGS_DBUS "$QT_CFLAGS_DBUS" else - if [ "$CFG_DBUS" = "auto" ]; then - CFG_DBUS=no + if [ "$CFG_DBUS" != "linked" ]; then + CFG_DBUS=runtime elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then # CFG_DBUS is "yes" or "linked" here diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index c5afe8c4d26..3ef8e6c80c4 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -61,7 +61,8 @@ HEADERS += $$PUB_HEADERS \ qdbusintegrator_p.h \ qdbuspendingcall_p.h \ qdbus_symbols_p.h \ - qdbusintrospection_p.h + qdbusintrospection_p.h \ + dbus_minimal_p.h SOURCES += qdbusconnection.cpp \ qdbusconnectioninterface.cpp \ qdbuserror.cpp \ diff --git a/src/dbus/dbus_minimal_p.h b/src/dbus/dbus_minimal_p.h new file mode 100644 index 00000000000..862e8201a19 --- /dev/null +++ b/src/dbus/dbus_minimal_p.h @@ -0,0 +1,275 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Intel Corporation +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtDBus module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** 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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DBUS_MINIMAL_P_H +#define DBUS_MINIMAL_P_H + +extern "C" { + +// Equivalent to dbus-arch-deps.h +typedef qint64 dbus_int64_t; +typedef quint64 dbus_uint64_t; +typedef qint32 dbus_int32_t; +typedef quint32 dbus_uint32_t; +typedef qint16 dbus_int16_t; +typedef quint16 dbus_uint16_t; + +// simulate minimum version we support +#define DBUS_MAJOR_VERSION 1 +#define DBUS_MINOR_VERSION 2 +#define DBUS_VERSION ((1 << 16) | (2 << 8)) + +// forward declaration to opaque types we use +struct DBusConnection; +struct DBusMessage; +struct DBusPendingCall; +struct DBusServer; +struct DBusTimeout; +struct DBusWatch; + +// This file contains constants and typedefs from libdbus-1 headers, +// which carry the following copyright: +/* + * Copyright (C) 2002, 2003 CodeFactory AB + * Copyright (C) 2004, 2005 Red Hat, Inc. + * + * Licensed under the Academic Free License version 2.1 + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +/* dbus-types.h */ +typedef dbus_uint32_t dbus_unichar_t; +typedef dbus_uint32_t dbus_bool_t; + +/* dbus-shared.h */ +#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" +#define DBUS_PATH_DBUS "/org/freedesktop/DBus" +#define DBUS_INTERFACE_DBUS "org.freedesktop.DBus" +#define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable" +#define DBUS_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties" + +#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT 0x1 /**< Allow another service to become the primary owner if requested */ +#define DBUS_NAME_FLAG_REPLACE_EXISTING 0x2 /**< Request to replace the current primary owner */ +#define DBUS_NAME_FLAG_DO_NOT_QUEUE 0x4 /**< If we can not become the primary owner do not place us in the queue */ + +#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1 /**< Service has become the primary owner of the requested name */ +#define DBUS_REQUEST_NAME_REPLY_IN_QUEUE 2 /**< Service could not become the primary owner and has been placed in the queue */ +#define DBUS_REQUEST_NAME_REPLY_EXISTS 3 /**< Service is already in the queue */ +#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4 /**< Service is already the primary owner */ + +#define DBUS_RELEASE_NAME_REPLY_RELEASED 1 /**< Service was released from the given name */ +#define DBUS_RELEASE_NAME_REPLY_NON_EXISTENT 2 /**< The given name does not exist on the bus */ +#define DBUS_RELEASE_NAME_REPLY_NOT_OWNER 3 /**< Service is not an owner of the given name */ + +typedef enum +{ + DBUS_BUS_SESSION, /**< The login session bus */ + DBUS_BUS_SYSTEM, /**< The systemwide bus */ + DBUS_BUS_STARTER /**< The bus that started us, if any */ +} DBusBusType; + +typedef enum +{ + DBUS_HANDLER_RESULT_HANDLED, /**< Message has had its effect - no need to run more handlers. */ + DBUS_HANDLER_RESULT_NOT_YET_HANDLED, /**< Message has not had any effect - see if other handlers want it. */ + DBUS_HANDLER_RESULT_NEED_MEMORY /**< Need more memory in order to return #DBUS_HANDLER_RESULT_HANDLED or #DBUS_HANDLER_RESULT_NOT_YET_HANDLED. Please try again later with more memory. */ +} DBusHandlerResult; + +/* dbus-memory.h */ +typedef void (* DBusFreeFunction) (void *memory); + +/* dbus-connection.h */ +typedef enum +{ + DBUS_WATCH_READABLE = 1 << 0, /**< As in POLLIN */ + DBUS_WATCH_WRITABLE = 1 << 1, /**< As in POLLOUT */ + DBUS_WATCH_ERROR = 1 << 2, /**< As in POLLERR (can't watch for + * this, but can be present in + * current state passed to + * dbus_watch_handle()). + */ + DBUS_WATCH_HANGUP = 1 << 3 /**< As in POLLHUP (can't watch for + * it, but can be present in current + * state passed to + * dbus_watch_handle()). + */ + /* Internal to libdbus, there is also _DBUS_WATCH_NVAL in dbus-watch.h */ +} DBusWatchFlags; + +typedef enum +{ + DBUS_DISPATCH_DATA_REMAINS, /**< There is more data to potentially convert to messages. */ + DBUS_DISPATCH_COMPLETE, /**< All currently available data has been processed. */ + DBUS_DISPATCH_NEED_MEMORY /**< More memory is needed to continue. */ +} DBusDispatchStatus; + +typedef dbus_bool_t (* DBusAddWatchFunction) (DBusWatch *watch, + void *data); +typedef void (* DBusWatchToggledFunction) (DBusWatch *watch, + void *data); +typedef void (* DBusRemoveWatchFunction) (DBusWatch *watch, + void *data); +typedef dbus_bool_t (* DBusAddTimeoutFunction) (DBusTimeout *timeout, + void *data); +typedef void (* DBusTimeoutToggledFunction) (DBusTimeout *timeout, + void *data); +typedef void (* DBusRemoveTimeoutFunction) (DBusTimeout *timeout, + void *data); +typedef void (* DBusDispatchStatusFunction) (DBusConnection *connection, + DBusDispatchStatus new_status, + void *data); +typedef void (* DBusWakeupMainFunction) (void *data); +typedef void (* DBusPendingCallNotifyFunction) (DBusPendingCall *pending, + void *user_data); +typedef DBusHandlerResult (* DBusHandleMessageFunction) (DBusConnection *connection, + DBusMessage *message, + void *user_data); + +/* dbus-errors.h */ +struct DBusError +{ + const char *name; /**< public error name field */ + const char *message; /**< public error message field */ + + unsigned int dummy1 : 1; /**< placeholder */ + unsigned int dummy2 : 1; /**< placeholder */ + unsigned int dummy3 : 1; /**< placeholder */ + unsigned int dummy4 : 1; /**< placeholder */ + unsigned int dummy5 : 1; /**< placeholder */ + + void *padding1; /**< placeholder */ +}; + +/* dbus-message.h */ +struct DBusMessageIter +{ + void *dummy1; /**< Don't use this */ + void *dummy2; /**< Don't use this */ + dbus_uint32_t dummy3; /**< Don't use this */ + int dummy4; /**< Don't use this */ + int dummy5; /**< Don't use this */ + int dummy6; /**< Don't use this */ + int dummy7; /**< Don't use this */ + int dummy8; /**< Don't use this */ + int dummy9; /**< Don't use this */ + int dummy10; /**< Don't use this */ + int dummy11; /**< Don't use this */ + int pad1; /**< Don't use this */ + int pad2; /**< Don't use this */ + void *pad3; /**< Don't use this */ +}; + +/* dbus-protocol.h */ +#define DBUS_TYPE_INVALID ((int) '\0') +#define DBUS_TYPE_INVALID_AS_STRING "\0" +#define DBUS_TYPE_BYTE ((int) 'y') +#define DBUS_TYPE_BYTE_AS_STRING "y" +#define DBUS_TYPE_BOOLEAN ((int) 'b') +#define DBUS_TYPE_BOOLEAN_AS_STRING "b" +#define DBUS_TYPE_INT16 ((int) 'n') +#define DBUS_TYPE_INT16_AS_STRING "n" +#define DBUS_TYPE_UINT16 ((int) 'q') +#define DBUS_TYPE_UINT16_AS_STRING "q" +#define DBUS_TYPE_INT32 ((int) 'i') +#define DBUS_TYPE_INT32_AS_STRING "i" +#define DBUS_TYPE_UINT32 ((int) 'u') +#define DBUS_TYPE_UINT32_AS_STRING "u" +#define DBUS_TYPE_INT64 ((int) 'x') +#define DBUS_TYPE_INT64_AS_STRING "x" +#define DBUS_TYPE_UINT64 ((int) 't') +#define DBUS_TYPE_UINT64_AS_STRING "t" +#define DBUS_TYPE_DOUBLE ((int) 'd') +#define DBUS_TYPE_DOUBLE_AS_STRING "d" +#define DBUS_TYPE_STRING ((int) 's') +#define DBUS_TYPE_STRING_AS_STRING "s" +#define DBUS_TYPE_OBJECT_PATH ((int) 'o') +#define DBUS_TYPE_OBJECT_PATH_AS_STRING "o" +#define DBUS_TYPE_SIGNATURE ((int) 'g') +#define DBUS_TYPE_SIGNATURE_AS_STRING "g" +#define DBUS_TYPE_UNIX_FD ((int) 'h') +#define DBUS_TYPE_UNIX_FD_AS_STRING "h" +#define DBUS_TYPE_ARRAY ((int) 'a') +#define DBUS_TYPE_ARRAY_AS_STRING "a" +#define DBUS_TYPE_VARIANT ((int) 'v') +#define DBUS_TYPE_VARIANT_AS_STRING "v" + +#define DBUS_TYPE_STRUCT ((int) 'r') +#define DBUS_TYPE_STRUCT_AS_STRING "r" +#define DBUS_TYPE_DICT_ENTRY ((int) 'e') +#define DBUS_TYPE_DICT_ENTRY_AS_STRING "e" + +#define DBUS_STRUCT_BEGIN_CHAR ((int) '(') +#define DBUS_STRUCT_BEGIN_CHAR_AS_STRING "(" +#define DBUS_STRUCT_END_CHAR ((int) ')') +#define DBUS_STRUCT_END_CHAR_AS_STRING ")" +#define DBUS_DICT_ENTRY_BEGIN_CHAR ((int) '{') +#define DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING "{" +#define DBUS_DICT_ENTRY_END_CHAR ((int) '}') +#define DBUS_DICT_ENTRY_END_CHAR_AS_STRING "}" + +#define DBUS_MESSAGE_TYPE_INVALID 0 +#define DBUS_MESSAGE_TYPE_METHOD_CALL 1 +#define DBUS_MESSAGE_TYPE_METHOD_RETURN 2 +#define DBUS_MESSAGE_TYPE_ERROR 3 +#define DBUS_MESSAGE_TYPE_SIGNAL 4 + +#define DBUS_MAXIMUM_NAME_LENGTH 255 + +#define DBUS_INTROSPECT_1_0_XML_NAMESPACE "http://www.freedesktop.org/standards/dbus" +#define DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" +#define DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" +#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" + +/* dbus-server.h */ +typedef void (* DBusNewConnectionFunction) (DBusServer *server, + DBusConnection *new_connection, + void *data); + +} // extern "C" + +#endif // DBUS_MINIMAL_P_H + diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h index 71658f84c67..88c51947ed9 100644 --- a/src/dbus/qdbus_symbols_p.h +++ b/src/dbus/qdbus_symbols_p.h @@ -47,10 +47,15 @@ #define QDBUS_SYMBOLS_P_H #include -#include #ifndef QT_NO_DBUS +#ifdef QT_LINKED_LIBDBUS +# include +#else +# include "dbus_minimal_p.h" +#endif + QT_BEGIN_NAMESPACE #if !defined QT_LINKED_LIBDBUS diff --git a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp index 6372fbb0e27..972205566a2 100644 --- a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp +++ b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp @@ -33,14 +33,16 @@ #include #include #include -#include -#include #include "common.h" #include #include +#define QT_LINKED_LIBDBUS +#include +#include + static const char serviceName[] = "org.qtproject.autotests.qpong"; static const char objectPath[] = "/org/qtproject/qpong"; static const char *interfaceName = serviceName; From 03b5ecce4ab8dc879e27dc8f07d6f3ef846efde0 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 1 Dec 2014 09:10:43 +0100 Subject: [PATCH 03/11] FSEvents file system watcher: Do not watch whole parent hierarchies. Unfortunately the FSEvents implementation for watching parent hierarchies has the major flaw, that watching a path will then create watches for the whole parent hierarchy even if that hierarchy is already watched. Watching /A/B/C and /A/B/D will create two watches each for /A and /A/B. This leads to an explosion of open file handles. Luckily we do not need to watch the parent hierarchy since this is not a supported usecase of QFileSystemWatcher anyhow, so just don't do it. Task-number: QTCREATORBUG-13531 Change-Id: I9ecb5f08e4be35e4fbd58a7ca3155867fcb1589f Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qfilesystemwatcher_fsevents.mm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/corelib/io/qfilesystemwatcher_fsevents.mm b/src/corelib/io/qfilesystemwatcher_fsevents.mm index eebca1cfb00..90ef7a63360 100644 --- a/src/corelib/io/qfilesystemwatcher_fsevents.mm +++ b/src/corelib/io/qfilesystemwatcher_fsevents.mm @@ -518,7 +518,6 @@ bool QFseventsFileSystemWatcherEngine::startStream() NULL }; const CFAbsoluteTime latency = .5; // in seconds - FSEventStreamCreateFlags flags = kFSEventStreamCreateFlagWatchRoot; // Never start with kFSEventStreamEventIdSinceNow, because this will generate an invalid // soft-assert in FSEventStreamFlushSync in CarbonCore when no event occurred. @@ -530,7 +529,7 @@ bool QFseventsFileSystemWatcherEngine::startStream() reinterpret_cast(pathsToWatch), lastReceivedEvent, latency, - flags); + FSEventStreamCreateFlags(0)); if (!stream) { DEBUG() << "Failed to create stream!"; From 2903db0469487944f035aff1c44e69605d48fa8f Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Mon, 1 Dec 2014 09:57:15 +0200 Subject: [PATCH 04/11] winrt: Fix Windows Store Certification WinRT requires that IDXGIDevice3::Trim() is called on application suspend in order to pass Store Certification. Task-number: QTBUG-38481 Change-Id: Ia3cb5d3f6a2db8f11e4bfa4fd5c7791e18d6c36d Reviewed-by: Maurice Kalinowski --- src/plugins/platforms/winrt/qwinrtscreen.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp index fadcd01b066..612a50f6b7e 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.cpp +++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp @@ -37,6 +37,9 @@ #include #include #include +#ifndef Q_OS_WINPHONE +#include +#endif #include "qwinrtbackingstore.h" #include "qwinrtinputcontext.h" @@ -1113,6 +1116,16 @@ HRESULT QWinRTScreen::onActivated(ICoreWindow *, IWindowActivatedEventArgs *args HRESULT QWinRTScreen::onSuspended(IInspectable *, ISuspendingEventArgs *) { +#ifndef Q_OS_WINPHONE + Q_D(QWinRTScreen); + ComPtr d3dDevice; + const EGLBoolean ok = eglQuerySurfacePointerANGLE(d->eglDisplay, EGL_NO_SURFACE, EGL_DEVICE_EXT, (void **)d3dDevice.GetAddressOf()); + if (ok && d3dDevice) { + ComPtr dxgiDevice; + if (SUCCEEDED(d3dDevice.As(&dxgiDevice))) + dxgiDevice->Trim(); + } +#endif QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationSuspended); QWindowSystemInterface::flushWindowSystemEvents(); return S_OK; From f9f270a6c85fbf42de1e7bf34cc1887e90a0dcf1 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 28 Nov 2014 12:13:19 +0100 Subject: [PATCH 05/11] Doc: add navigation info to qmake Manual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the navigation.landingpage variable to the qdocconf file. Task-number: QTBUG-42965 Change-Id: Ia5ee411fc0dbd5cd8c2d238f346b0f1818b54289 Reviewed-by: Friedemann Kleint Reviewed-by: Topi Reiniö --- qmake/doc/qmake.qdocconf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qmake/doc/qmake.qdocconf b/qmake/doc/qmake.qdocconf index bfdf1d17981..1a232379990 100644 --- a/qmake/doc/qmake.qdocconf +++ b/qmake/doc/qmake.qdocconf @@ -73,3 +73,5 @@ depends += \ qtx11extras \ qtxml \ qtxmlpatterns + +navigation.landingpage = "qmake Manual" From 2dbcaf5d96ffc2bbd41a6bd6b7d3d36131edb69b Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Wed, 26 Nov 2014 11:13:16 +0200 Subject: [PATCH 06/11] QOpenGLFramebufferObject: pass sized format also with dynamic GL The GL_RGBA8_OES define is not in scope for dynamic OpenGL builds, so pass in GL_RGBA8 instead (it is defined as the same value, 0x8058) when in ES mode. The functionality check already ensures the extension is available, so the ifdef guards can be removed. This fixes default multisampled FBO creation under ANGLE when using -opengl dynamic. Task-number: QTBUG-40921 Change-Id: Iac4b7e230a463c27b61af75c3307421f9deac856 Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglframebufferobject.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gui/opengl/qopenglframebufferobject.cpp b/src/gui/opengl/qopenglframebufferobject.cpp index b185e332e68..cbc992b7e8e 100644 --- a/src/gui/opengl/qopenglframebufferobject.cpp +++ b/src/gui/opengl/qopenglframebufferobject.cpp @@ -479,11 +479,9 @@ void QOpenGLFramebufferObjectPrivate::init(QOpenGLFramebufferObject *, const QSi GLenum storageFormat = internal_format; // ES requires a sized format. The older desktop extension does not. Correct the format on ES. if (ctx->isOpenGLES() && internal_format == GL_RGBA) { -#ifdef GL_RGBA8_OES if (funcs.hasOpenGLExtension(QOpenGLExtensions::Sized8Formats)) - storageFormat = GL_RGBA8_OES; + storageFormat = GL_RGBA8; else -#endif storageFormat = GL_RGBA4; } From 1ed09b486eaca10c11aa454d648ad857f819b183 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Wed, 3 Dec 2014 10:12:18 +0100 Subject: [PATCH 07/11] Doc: Update external links to point to doc.qt.io Task-number: QTBUG-43062 Change-Id: Ic630f0c7af20ab5ffa88a71a6ab99d42250cf272 Reviewed-by: Leena Miettinen --- doc/global/externalsites/qch-urls.qdoc | 18 +- doc/global/externalsites/qtcreator.qdoc | 234 ++++++++++++------------ 2 files changed, 126 insertions(+), 126 deletions(-) diff --git a/doc/global/externalsites/qch-urls.qdoc b/doc/global/externalsites/qch-urls.qdoc index f8ff8df7a01..53ab94091ed 100644 --- a/doc/global/externalsites/qch-urls.qdoc +++ b/doc/global/externalsites/qch-urls.qdoc @@ -38,7 +38,7 @@ \title external: Publishing Applications to Ovi Store */ /*! - \externalpage http://qt-project.org/doc/qtcreator + \externalpage http://doc.qt.io/qtcreator \title external: Qt Creator Manual */ /*! @@ -50,31 +50,31 @@ \title external: Qt Mobility QML Plugins */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-managing.html + \externalpage http://doc.qt.io/qtcreator/creator-project-managing.html \title external: Creating Qt Projects in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-building-running.html + \externalpage http://doc.qt.io/qtcreator/creator-building-running.html \title external: Building and Running Applications in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-running-targets.html + \externalpage http://doc.qt.io/qtcreator/creator-running-targets.html \title external: Set Compiler Targets in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-build-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-build-settings.html \title external: Build Settings in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-run-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-run-settings.html \title external: Run Settings in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-using-qt-designer.html + \externalpage http://doc.qt.io/qtcreator/creator-using-qt-designer.html \title external: Designer in Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugging.html + \externalpage http://doc.qt.io/qtcreator/creator-debugging.html \title external: Debugging Applications in Creator */ /*! @@ -90,6 +90,6 @@ \title external: Qt Mobility Examples */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-overview.html + \externalpage http://doc.qt.io/qtcreator/creator-overview.html \title external: Qt Creator Overview */ diff --git a/doc/global/externalsites/qtcreator.qdoc b/doc/global/externalsites/qtcreator.qdoc index a98fbd0a56c..c2eed07c6d6 100644 --- a/doc/global/externalsites/qtcreator.qdoc +++ b/doc/global/externalsites/qtcreator.qdoc @@ -26,472 +26,472 @@ ****************************************************************************/ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-deployment-qnx.html + \externalpage http://doc.qt.io/qtcreator/creator-deployment-qnx.html \title Qt Creator: Deploying Applications to QNX Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-baremetal.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-baremetal.html \title Qt Creator: Connecting Bare Metal Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-bb10.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-bb10.html \title Qt Creator: Connecting BlackBerry 10 Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-qnx.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-qnx.html \title Qt Creator: Connecting QNX Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-deployment-bb10.html + \externalpage http://doc.qt.io/qtcreator/creator-deployment-bb10.html \title Qt Creator: Deploying Applications to BlackBerry 10 Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-generic-linux.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-generic-linux.html \title Qt Creator: Connecting Embedded Linux Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-deployment-embedded-linux.html + \externalpage http://doc.qt.io/qtcreator/creator-deployment-embedded-linux.html \title Qt Creator: Deploying Applications to Embedded Linux Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-faq.html + \externalpage http://doc.qt.io/qtcreator/creator-faq.html \title Qt Creator: FAQ */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-tips.html + \externalpage http://doc.qt.io/qtcreator/creator-tips.html \title Qt Creator: Tips and Tricks */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-help.html + \externalpage http://doc.qt.io/qtcreator/creator-help.html \title Qt Creator: Using the Help Mode */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-quick-tour.html + \externalpage http://doc.qt.io/qtcreator/creator-quick-tour.html \title Qt Creator: User Interface */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-cli.html + \externalpage http://doc.qt.io/qtcreator/creator-cli.html \title Qt Creator: Using Command Line Options */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-task-lists.html + \externalpage http://doc.qt.io/qtcreator/creator-task-lists.html \title Qt Creator: Showing Task List Files in Issues Pane */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-managing-sessions.html + \externalpage http://doc.qt.io/qtcreator/creator-project-managing-sessions.html \title Qt Creator: Managing Sessions */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-external.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-external.html \title Qt Creator: Using External Tools */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-version-control.html + \externalpage http://doc.qt.io/qtcreator/creator-version-control.html \title Qt Creator: Using Version Control Systems */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-keyboard-shortcuts.html + \externalpage http://doc.qt.io/qtcreator/creator-keyboard-shortcuts.html \title Qt Creator: Keyboard Shortcuts */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-screens.html + \externalpage http://doc.qt.io/qtcreator/quick-screens.html \title Qt Creator: Creating Screens */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-qml-application.html + \externalpage http://doc.qt.io/qtcreator/creator-qml-application.html \title Qt Creator: Creating a Qt Quick Application */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-export-to-qml.html + \externalpage http://doc.qt.io/qtcreator/quick-export-to-qml.html \title Qt Creator: Exporting Designs from Graphics Software */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-qml-modules-with-plugins.html + \externalpage http://doc.qt.io/qtcreator/creator-qml-modules-with-plugins.html \title Qt Creator: Using QML Modules with Plugins */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-visual-editor.html + \externalpage http://doc.qt.io/qtcreator/creator-visual-editor.html \title Qt Creator: Developing Qt Quick Applications */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-using-qt-quick-designer.html + \externalpage http://doc.qt.io/qtcreator/creator-using-qt-quick-designer.html \title Qt Creator: Using Qt Quick Designer */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-projects.html + \externalpage http://doc.qt.io/qtcreator/quick-projects.html \title Qt Creator: Creating Qt Quick Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-components.html + \externalpage http://doc.qt.io/qtcreator/quick-components.html \title Qt Creator: Creating Components */ /*! - \externalpage http://qt-project.org/doc/qtcreator/qt-quick-toolbars.html + \externalpage http://doc.qt.io/qtcreator/qt-quick-toolbars.html \title Qt Creator: Using Qt Quick Toolbars */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-buttons.html + \externalpage http://doc.qt.io/qtcreator/quick-buttons.html \title Qt Creator: Creating Buttons */ /*! - \externalpage http://qt-project.org/doc/qtcreator/quick-scalable-image.html + \externalpage http://doc.qt.io/qtcreator/quick-scalable-image.html \title Qt Creator: Creating Scalable Buttons and Borders */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-options.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-options.html \title Qt Creator: Configuring the Editor */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-functions.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-functions.html \title Qt Creator: Writing Code */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-coding-navigating.html + \externalpage http://doc.qt.io/qtcreator/creator-coding-navigating.html \title Qt Creator: Working in Edit Mode */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-highlighting.html + \externalpage http://doc.qt.io/qtcreator/creator-highlighting.html \title Qt Creator: Semantic Highlighting */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-checking-code-syntax.html + \externalpage http://doc.qt.io/qtcreator/creator-checking-code-syntax.html \title Qt Creator: Checking Code Syntax */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-completing-code.html + \externalpage http://doc.qt.io/qtcreator/creator-completing-code.html \title Qt Creator: Completing Code */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-codepasting.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-codepasting.html \title Qt Creator: Pasting and Fetching Code Snippets */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-macros.html + \externalpage http://doc.qt.io/qtcreator/creator-macros.html \title Qt Creator: Using Text Editing Macros */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-fakevim.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-fakevim.html \title Qt Creator: Using FakeVim Mode */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-indenting-code.html + \externalpage http://doc.qt.io/qtcreator/creator-indenting-code.html \title Qt Creator: Indenting Text or Code */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-finding.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-finding.html \title Qt Creator: Finding and Replacing */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-refactoring.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-refactoring.html \title Qt Creator: Refactoring */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-locator.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-locator.html \title Qt Creator: Searching with the Locator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-coding.html + \externalpage http://doc.qt.io/qtcreator/creator-coding.html \title Qt Creator: Coding */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-options-text.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-options-text.html \title Qt Creator: Specifying Text Editor Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-finding-overview.html + \externalpage http://doc.qt.io/qtcreator/creator-finding-overview.html \title Qt Creator: Finding */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-mime-types.html + \externalpage http://doc.qt.io/qtcreator/creator-mime-types.html \title Qt Creator: Editing MIME Types */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-qml-debugging-example.html + \externalpage http://doc.qt.io/qtcreator/creator-qml-debugging-example.html \title Qt Creator: Debugging a Qt Quick Example Application */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugging-example.html + \externalpage http://doc.qt.io/qtcreator/creator-debugging-example.html \title Qt Creator: Debugging a C++ Example Application */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugger-engines.html + \externalpage http://doc.qt.io/qtcreator/creator-debugger-engines.html \title Qt Creator: Setting Up Debugger */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugging-qml.html + \externalpage http://doc.qt.io/qtcreator/creator-debugging-qml.html \title Qt Creator: Debugging Qt Quick Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugging.html + \externalpage http://doc.qt.io/qtcreator/creator-debugging.html \title Qt Creator: Debugging */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugger-operating-modes.html + \externalpage http://doc.qt.io/qtcreator/creator-debugger-operating-modes.html \title Qt Creator: Launching the Debugger */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debug-mode.html + \externalpage http://doc.qt.io/qtcreator/creator-debug-mode.html \title Qt Creator: Interacting with the Debugger */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debugging-helpers.html + \externalpage http://doc.qt.io/qtcreator/creator-debugging-helpers.html \title Qt Creator: Using Debugging Helpers */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-troubleshooting-debugging.html + \externalpage http://doc.qt.io/qtcreator/creator-troubleshooting-debugging.html \title Qt Creator: Troubleshooting Debugger */ /*! - \externalpage http://qt-project.org/doc/qtcreator/index.html + \externalpage http://doc.qt.io/qtcreator/index.html \title Qt Creator Manual */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-advanced.html + \externalpage http://doc.qt.io/qtcreator/creator-advanced.html \title Qt Creator: Advanced Use */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-os-supported-platforms.html + \externalpage http://doc.qt.io/qtcreator/creator-os-supported-platforms.html \title Qt Creator: Supported Platforms */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-connecting-mobile.html + \externalpage http://doc.qt.io/qtcreator/creator-connecting-mobile.html \title Qt Creator: Connecting Mobile Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-usability.html + \externalpage http://doc.qt.io/qtcreator/creator-usability.html \title Qt Creator: Optimizing Applications for Mobile Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-acknowledgements.html + \externalpage http://doc.qt.io/qtcreator/creator-acknowledgements.html \title Qt Creator: Acknowledgements */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-help-overview.html + \externalpage http://doc.qt.io/qtcreator/creator-help-overview.html \title Qt Creator: Getting Help */ /*! - \externalpage http://qt-project.org/doc/qtcreator/technical-support.html + \externalpage http://doc.qt.io/qtcreator/technical-support.html \title Qt Creator: Technical Support */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-overview.html + \externalpage http://doc.qt.io/qtcreator/creator-overview.html \title Qt Creator: IDE Overview */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-testing.html + \externalpage http://doc.qt.io/qtcreator/creator-testing.html \title Qt Creator: Debugging and Analyzing */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-deployment.html + \externalpage http://doc.qt.io/qtcreator/creator-deployment.html \title Qt Creator: Deploying to Mobile Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-tutorials.html + \externalpage http://doc.qt.io/qtcreator/creator-tutorials.html \title Qt Creator: Tutorials */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-known-issues.html + \externalpage http://doc.qt.io/qtcreator/creator-known-issues.html \title Qt Creator: Known Issues */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-design-mode.html + \externalpage http://doc.qt.io/qtcreator/creator-design-mode.html \title Qt Creator: Designing User Interfaces */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-publish-ovi.html + \externalpage http://doc.qt.io/qtcreator/creator-publish-ovi.html \title Qt Creator: Publishing */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-glossary.html + \externalpage http://doc.qt.io/qtcreator/creator-glossary.html \title Qt Creator: Glossary */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-getting-started.html + \externalpage http://doc.qt.io/qtcreator/creator-getting-started.html \title Qt Creator: Getting Started */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-analyzer.html + \externalpage http://doc.qt.io/qtcreator/creator-analyzer.html \title Qt Creator: Detecting Memory Leaks */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-cache-profiler.html + \externalpage http://doc.qt.io/qtcreator/creator-cache-profiler.html \title Qt Creator: Profiling Function Execution */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-running-valgrind-remotely.html + \externalpage http://doc.qt.io/qtcreator/creator-running-valgrind-remotely.html \title Qt Creator: Running Valgrind Tools Remotely */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-valgrind-overview.html + \externalpage http://doc.qt.io/qtcreator/creator-valgrind-overview.html \title Qt Creator: Using Valgrind Code Analysis Tools */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-analyze-mode.html + \externalpage http://doc.qt.io/qtcreator/creator-analyze-mode.html \title Qt Creator: Analyzing Code */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-qml-performance-monitor.html + \externalpage http://doc.qt.io/qtcreator/creator-qml-performance-monitor.html \title Qt Creator: Profiling QML Applications */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-deploying-android.html + \externalpage http://doc.qt.io/qtcreator/creator-deploying-android.html \title Qt Creator: Deploying Applications to Android Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-ios.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-ios.html \title Qt Creator: Connecting iOS devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-android.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-android.html \title Qt Creator: Connecting Android Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-build-example-application.html + \externalpage http://doc.qt.io/qtcreator/creator-build-example-application.html \title Qt Creator: Building and Running an Example */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-generic.html + \externalpage http://doc.qt.io/qtcreator/creator-project-generic.html \title Qt Creator: Setting Up a Generic Project */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-sharing-project-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-sharing-project-settings.html \title Qt Creator: Sharing Project Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-opening.html + \externalpage http://doc.qt.io/qtcreator/creator-project-opening.html \title Qt Creator: Opening Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-managing.html + \externalpage http://doc.qt.io/qtcreator/creator-project-managing.html \title Qt Creator: Managing Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-cmake.html + \externalpage http://doc.qt.io/qtcreator/creator-project-cmake.html \title Qt Creator: Setting Up a CMake Project */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-targets.html + \externalpage http://doc.qt.io/qtcreator/creator-targets.html \title Qt Creator: Adding Kits */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-tool-chains.html + \externalpage http://doc.qt.io/qtcreator/creator-tool-chains.html \title Qt Creator: Adding Compilers */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-qbs.html + \externalpage http://doc.qt.io/qtcreator/creator-project-qbs.html \title Qt Creator: Setting Up a Qbs Project */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-creating.html + \externalpage http://doc.qt.io/qtcreator/creator-project-creating.html \title Qt Creator: Creating Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-wizards.html + \externalpage http://doc.qt.io/qtcreator/creator-project-wizards.html \title Qt Creator: Adding New Custom Wizards */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-projects-autotools.html + \externalpage http://doc.qt.io/qtcreator/creator-projects-autotools.html \title Qt Creator: Setting Up an Autotools Project */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-configuring-projects.html + \externalpage http://doc.qt.io/qtcreator/creator-configuring-projects.html \title Qt Creator: Configuring Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-build-process-customizing.html + \externalpage http://doc.qt.io/qtcreator/creator-build-process-customizing.html \title Qt Creator: Customizing the Build Process */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-build-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-build-settings.html \title Qt Creator: Specifying Build Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-code-style-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-code-style-settings.html \title Qt Creator: Specifying Code Style Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-run-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-run-settings.html \title Qt Creator: Specifying Run Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-qmake-libraries.html + \externalpage http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html \title Qt Creator: Adding Libraries to Projects */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-other.html + \externalpage http://doc.qt.io/qtcreator/creator-project-other.html \title Qt Creator: Using Other Build Systems */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-running-targets.html + \externalpage http://doc.qt.io/qtcreator/creator-running-targets.html \title Qt Creator: Running on Multiple Platforms */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-build-dependencies.html + \externalpage http://doc.qt.io/qtcreator/creator-build-dependencies.html \title Qt Creator: Specifying Dependencies */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-building-running.html + \externalpage http://doc.qt.io/qtcreator/creator-building-running.html \title Qt Creator: Building and Running */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-editor-settings.html + \externalpage http://doc.qt.io/qtcreator/creator-editor-settings.html \title Qt Creator: Specifying Editor Settings */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-project-qmake.html + \externalpage http://doc.qt.io/qtcreator/creator-project-qmake.html \title Qt Creator: Adding Qt Versions */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-building-targets.html + \externalpage http://doc.qt.io/qtcreator/creator-building-targets.html \title Qt Creator: Building for Multiple Platforms */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-using-qt-designer.html + \externalpage http://doc.qt.io/qtcreator/creator-using-qt-designer.html \title Qt Creator: Developing Widget Based Applications */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-writing-program.html + \externalpage http://doc.qt.io/qtcreator/creator-writing-program.html \title Qt Creator: Creating a Qt Widget Based Application */ /*! - \externalpage http://qt-project.org/doc/qtcreator/adding-plugins.html + \externalpage http://doc.qt.io/qtcreator/adding-plugins.html \title Qt Creator: Adding Qt Designer Plugins */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-configuring.html + \externalpage http://doc.qt.io/qtcreator/creator-configuring.html \title Qt Creator: Configuring Qt Creator */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-debuggers.html + \externalpage http://doc.qt.io/qtcreator/creator-debuggers.html \title Qt Creator: Adding Debuggers */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-mobile-app-tutorial.html + \externalpage http://doc.qt.io/qtcreator/creator-mobile-app-tutorial.html \title Qt Creator: Creating a Mobile Application */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-diff-editor.html + \externalpage http://doc.qt.io/qtcreator/creator-diff-editor.html \title Qt Creator: Comparing Files */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-beautifier.html + \externalpage http://doc.qt.io/qtcreator/creator-beautifier.html \title Qt Creator: Beautifying Source Code */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-developing-winrt.html + \externalpage http://doc.qt.io/qtcreator/creator-developing-winrt.html \title Qt Creator: Connecting Windows Runtime Devices */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-clang-codemodel.html + \externalpage http://doc.qt.io/qtcreator/creator-clang-codemodel.html \title Qt Creator: Parsing C++ Files */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-quick-ui-forms.html + \externalpage http://doc.qt.io/qtcreator/creator-quick-ui-forms.html \title Qt Creator: Qt Quick UI Forms */ /*! - \externalpage http://qt-project.org/doc/qtcreator/creator-clang-static-analyzer.html + \externalpage http://doc.qt.io/qtcreator/creator-clang-static-analyzer.html \title Qt Creator: Using Clang Static Analyzer */ From 457496b83090006b232c56c04042bf6c9b8b2c31 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 21 Oct 2014 14:57:50 +0200 Subject: [PATCH 08/11] Doc: new template for qt.io online style An online documentation template that follows the style of qt.io site. Update the url variable for Qt modules to point to doc.qt.io/qt-5/. Task-number: QTBUG-42086 Change-Id: I5428a02cd503aef2217efd7361f4c8b7b5895a52 Reviewed-by: Leena Miettinen --- doc/global/config.qdocconf | 3 +- doc/global/fileextensions.qdocconf | 2 +- doc/global/html-footer-online.qdocconf | 84 + doc/global/html-header-online.qdocconf | 179 +- doc/global/includes-online/search.qdoc | 39 + doc/global/qt-html-templates-online.qdocconf | 18 +- .../qt-module-defaults-offline.qdocconf | 3 + ...module-defaults-online-commercial.qdocconf | 29 + doc/global/qt-module-defaults-online.qdocconf | 19 +- doc/global/template/scripts/extras.js | 23 + doc/global/template/scripts/main.js | 241 ++ doc/global/template/style/doc_search.png | Bin 0 -> 2151 bytes doc/global/template/style/gsc.css | 192 ++ doc/global/template/style/icomoon.eot | Bin 0 -> 4624 bytes doc/global/template/style/icomoon.svg | 20 + doc/global/template/style/icomoon.ttf | Bin 0 -> 4460 bytes doc/global/template/style/icomoon.woff | Bin 0 -> 4536 bytes doc/global/template/style/list_arrow.png | Bin 0 -> 1115 bytes doc/global/template/style/online.css | 2517 ++++++++++------- 19 files changed, 2302 insertions(+), 1067 deletions(-) create mode 100644 doc/global/html-footer-online.qdocconf create mode 100644 doc/global/includes-online/search.qdoc create mode 100644 doc/global/qt-module-defaults-online-commercial.qdocconf create mode 100644 doc/global/template/scripts/extras.js create mode 100644 doc/global/template/scripts/main.js create mode 100644 doc/global/template/style/doc_search.png create mode 100644 doc/global/template/style/gsc.css create mode 100755 doc/global/template/style/icomoon.eot create mode 100755 doc/global/template/style/icomoon.svg create mode 100755 doc/global/template/style/icomoon.ttf create mode 100755 doc/global/template/style/icomoon.woff create mode 100644 doc/global/template/style/list_arrow.png diff --git a/doc/global/config.qdocconf b/doc/global/config.qdocconf index 295a5ed08b8..a6ab546b75b 100644 --- a/doc/global/config.qdocconf +++ b/doc/global/config.qdocconf @@ -9,8 +9,7 @@ dita.metadata.default.audience = programmer #Set the main Qt index.html navigation.homepage = "Qt $QT_VER" -buildversion = "Qt $QT_VERSION Reference Documentation" sourcedirs += includes -url = http://qt-project.org/doc/qt-5 +url = http://doc.qt.io/qt-5 diff --git a/doc/global/fileextensions.qdocconf b/doc/global/fileextensions.qdocconf index 0a106d5befe..88e51595f13 100644 --- a/doc/global/fileextensions.qdocconf +++ b/doc/global/fileextensions.qdocconf @@ -1,4 +1,4 @@ -naturallanguage = en_US +naturallanguage = en outputencoding = UTF-8 sourceencoding = UTF-8 diff --git a/doc/global/html-footer-online.qdocconf b/doc/global/html-footer-online.qdocconf new file mode 100644 index 00000000000..326900160c5 --- /dev/null +++ b/doc/global/html-footer-online.qdocconf @@ -0,0 +1,84 @@ +# HTML footer for qt.io + +HTML.footer += \ + "\n" \ + "\n" \ + "\n" \ + "\n" \ + "\n" \ + "
\n" \ + "\n" \ + "
\n" diff --git a/doc/global/html-header-online.qdocconf b/doc/global/html-header-online.qdocconf index 5c21644a392..7e9aae66f1d 100644 --- a/doc/global/html-header-online.qdocconf +++ b/doc/global/html-header-online.qdocconf @@ -1,64 +1,149 @@ -#HTML Header with Qt Project branding and online links +# HTML Header with qt.io branding and online links -HTML.stylesheets = template/style/online.css +HTML.stylesheets = template/style/online.css \ + template/style/gsc.css \ + template/style/list_arrow.png \ + template/style/icomoon.eot \ + template/style/icomoon.svg \ + template/style/icomoon.ttf \ + template/style/icomoon.woff \ + template/style/doc_search.png #for including files into the qch file. Relative to the outputdir of a QDoc build. -# $QT_INSTALL_DOCS/qtquick/style/online.css for example -qhp.extraFiles += style/online.css +qhp.extraFiles += style/online.css \ + style/gsc.css \ + style/list_arrow.png \ + style/icomoon.eot \ + style/icomoon.svg \ + style/icomoon.ttf \ + style/icomoon.woff HTML.headerstyles = \ - " \n" + " \n" \ + " \n" + +HTML.headerscripts = \ + " \n" \ + " \n" \ + " \n" \ + " \n" \ + " \n" \ + " \n" + +HTML.scripts = template/scripts/extras.js \ + template/scripts/main.js HTML.endheader = \ "\n" +# minimal header HTML.postheader = \ "\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - " Qt Home\n" \ - " Bug Tracker\n" \ - " Code Review\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - " \n" \ - " \"Qt\"\n" \ - " \n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "

Qt Documentation Snapshots

\n" \ - "
\n" \ - "
\n" \ - "
    \n" \ - "
  • \n" \ - " Snapshots\n" \ - "
  • \n" \ - "
  • \n" \ - " Released\n" \ - "
  • \n" \ - "
  • \n" \ - " Archives\n" \ - "
  • \n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "

\n" \ + " We bake cookies in your browser for a better experience. Using this site means that you consent. Read More\n" \ + "

\n" \ + " \n" \ + "
\n" \ "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + " \n" \ + "
\n" \ + " Menu\n" \ + "
\n" \ + " \n" \ + " \n" \ + " \n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + "
\n" \ + "

\n" \ "
\n" \ - "
\n" \ - "
\n" \ - "
\n" \ - "
    \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "

Qt Documentation

\n" \ + "
\n" \ + " \n" \ + " \n" \ + "
\n" \ + "
    \n" HTML.postpostheader = \ - "
\n" \ - "
\n" \ + " \n" \ + "
\n" \ "
\n" \ "
\n" \ - "
\n" \ + "
\n" + +HTML.prologue = \ + "
\n" diff --git a/doc/global/includes-online/search.qdoc b/doc/global/includes-online/search.qdoc new file mode 100644 index 00000000000..25c4563df60 --- /dev/null +++ b/doc/global/includes-online/search.qdoc @@ -0,0 +1,39 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page search-results.html +\title Search Results + +\raw HTML + + + +\endraw +*/ diff --git a/doc/global/qt-html-templates-online.qdocconf b/doc/global/qt-html-templates-online.qdocconf index 88abc3429bf..78d0d497c8b 100644 --- a/doc/global/qt-html-templates-online.qdocconf +++ b/doc/global/qt-html-templates-online.qdocconf @@ -1,23 +1,9 @@ #include standard set of HTML header and footer. include(html-config.qdocconf) include(html-header-online.qdocconf) -include(html-footer.qdocconf) +include(html-footer-online.qdocconf) #uncomment if navigation bar is not wanted #HTML.nonavigationbar = "true" -HTML.stylesheets = template/style/online.css -HTML.extraimages += template/images/ico_out.png \ - template/images/ico_note.png \ - template/images/ico_note_attention.png \ - template/images/btn_prev.png \ - template/images/btn_next.png \ - template/images/bullet_dn.png \ - template/images/bullet_sq.png \ - template/images/bgrContent.png \ - template/images/Qt-logo.png \ - template/images/Qt-dark_gradient.png \ - template/images/Qt-footer-bg.jpg \ - template/images/Qt-footer_shadow.png \ - template/images/Qt-gradient.png \ - template/images/Qt-header-bg.jpg +sourcedirs += includes-online diff --git a/doc/global/qt-module-defaults-offline.qdocconf b/doc/global/qt-module-defaults-offline.qdocconf index bdca2129607..af7afdd96f9 100644 --- a/doc/global/qt-module-defaults-offline.qdocconf +++ b/doc/global/qt-module-defaults-offline.qdocconf @@ -11,3 +11,6 @@ include(qt-html-templates-offline.qdocconf) #extra configuration data such as file extensions include(config.qdocconf) + +# Show Qt version as part of the navigation bar +buildversion = "Qt $QT_VERSION Reference Documentation" diff --git a/doc/global/qt-module-defaults-online-commercial.qdocconf b/doc/global/qt-module-defaults-online-commercial.qdocconf new file mode 100644 index 00000000000..23b0998ccbf --- /dev/null +++ b/doc/global/qt-module-defaults-online-commercial.qdocconf @@ -0,0 +1,29 @@ +# This template uses the default online template for qt.io +# and modifies it for a commercial Qt component + +# Start of footer - the rest is defined in the default template +HTML.footer = \ + "

Available under certain Qt licenses.
Find out more.

\n" \ + "
\n" + +include(macros.qdocconf) +include(qt-cpp-defines.qdocconf) +include(compat.qdocconf) +#include(manifest-meta.qdocconf) +include(fileextensions.qdocconf) +include(qt-html-templates-online.qdocconf) + +#extra configuration data DITA information +include(config.qdocconf) + +HTML.prologue = \ + "
\n" \ + "

C

\n" + +# Turn off single-directory output mode +HTML.nosubdirs = "false" + +# Set navigation homepage +navigation.homepage = "Qt Documentation" + +sourcedirs += includes-online diff --git a/doc/global/qt-module-defaults-online.qdocconf b/doc/global/qt-module-defaults-online.qdocconf index 258295b4f9d..fcff1976d11 100644 --- a/doc/global/qt-module-defaults-online.qdocconf +++ b/doc/global/qt-module-defaults-online.qdocconf @@ -1,7 +1,20 @@ #The online onfiguration for a Qt 5 module, including Add-Ons and Tools. -#Online version contains a different header. #Include this file for a standard Qt 5 module; builds with the online style. +# Start of footer - the rest is defined in qt-html-templates-online.qdocconf +HTML.footer = \ + "
\n" \ + "

\n" \ + " © 2014 Digia Plc and/or its\n" \ + " subsidiaries. Documentation contributions included herein are the copyrights of\n" \ + " their respective owners. " \ + " The documentation provided herein is licensed under the terms of the" \ + " GNU Free Documentation" \ + " License version 1.3 as published by the Free Software Foundation. " \ + " Digia, Qt and their respective logos are trademarks of Digia Plc " \ + " in Finland and/or other countries worldwide. All other trademarks are property\n" \ + " of their respective owners.

\n" + #include standard set of macros and C++ defines and ignores include(macros.qdocconf) include(qt-cpp-defines.qdocconf) @@ -12,3 +25,7 @@ include(qt-html-templates-online.qdocconf) #extra configuration data DITA information include(config.qdocconf) + +# single-directory output mode +HTML.nosubdirs = "true" +HTML.outputsubdir = "html" diff --git a/doc/global/template/scripts/extras.js b/doc/global/template/scripts/extras.js new file mode 100644 index 00000000000..cb1102d4936 --- /dev/null +++ b/doc/global/template/scripts/extras.js @@ -0,0 +1,23 @@ +var vOffset = 65; + +$(function () { + $('a[href*=#]:not([href=#])').on('click', function () { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + if (target.length) { + setTimeout(function () { + $('html, body').animate({scrollTop: target.offset().top - vOffset}, 50);}, 50); + // return false; + } + }); +}); + +$(window).load(function () { + var h = window.location.hash; + var re = /[^a-z0-9_\#\-]/i + if (h.length > 1 && !re.test(h)) { + setTimeout(function () { + $(window).scrollTop($(h).offset().top - vOffset); + }, 0); + } +}); diff --git a/doc/global/template/scripts/main.js b/doc/global/template/scripts/main.js new file mode 100644 index 00000000000..79de4ea5b2e --- /dev/null +++ b/doc/global/template/scripts/main.js @@ -0,0 +1,241 @@ +"use strict"; + +function createCookie(name, value, days) { + var expires; + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/"; + $('.cookies_yum').click(function() { + $(this).fadeOut() + }); +} +function readCookie(name) { + var nameEQ = escape(name) + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return unescape(c.substring(nameEQ.length, c.length)); + } + return null; +} +function eraseCookie(name) { + createCookie(name, "", -1); +} +function load_sdk(s, id, src) { + var js, fjs = document.getElementsByTagName(s)[0]; + if (document.getElementById(id)) return; + js = document.createElement(s); + js.id = id; + js.src = src; + fjs.parentNode.insertBefore(js, fjs); +} +$(document).ready(function($) { + if (document.documentElement.clientWidth < 1220) { + oneQt.extraLinksToMain(); + } + + $('#menuextras .search').click(function(e){ + e.preventDefault(); + $('.big_bar.account').slideUp(); + $('.big_bar.search').slideToggle(); + $('.big_bar_search').focus(); + $(this).toggleClass('open'); + }); + $('.cookies_yum').click(function() { + $('.cookies_yum').fadeOut(); + createCookie("cookies_nom", "yum", 180); + var cookie_added = 1; + }); + if (!(readCookie('cookies_nom') == 'yum')) { + $('.cookies_yum').fadeIn(); + } else { + var cookie_added = 1; + } + + Modernizr.load({test: Modernizr.input.placeholder, + nope: wpThemeFolder + '/js/placeholders.min.js'}); + + $('#navbar .navbar-toggle').click(function(e) { + e.preventDefault(); + if ($(this).hasClass('opened')) { + $(this).removeClass('opened'); + $('#navbar .navbar-menu').css('max-height', '0px'); + } + else { + $(this).addClass('opened'); + $('#navbar .navbar-menu').css('max-height', $('#navbar .navbar-menu ul').outerHeight() + 'px'); + } + }); + + $(window).resize(function() { + oneQt.stickySidebar(); + oneQt.footerPosition(); + if (document.documentElement.clientWidth < 1220) { + oneQt.extraLinksToMain(); + } else { + oneQt.mainLinkstoExtra(); + } + }); + + $(window).scroll(function() { + oneQt.stickySidebar(); + oneQt.stickyHeader(); + }); + + oneQt.stickySidebar(); + oneQt.footerPosition(); + oneQt.tabContents(); +}); + +$( window ).load(function() { + load_sdk('script', 'facebook-jssdk','//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=207346529386114&version=v2.0'); + load_sdk('script', 'twitter-wjs', '//platform.twitter.com/widgets.js'); + $.getScript("//www.google.com/jsapi", function(){ + google.load("feeds", "1", {"callback": oneQt.liveFeeds}); + }); +}); + +var oneQt = { + stickySidebar: function() { + if ($('#sidebar').length && $('#sidebar').outerHeight() > 20) { + var $sidebar = $('#sidebar'); + var $win = $(window); + var $sidebarContainer = $sidebar.parent(); + var headerHeight = $('#navbar').outerHeight(); + if ($win.outerHeight() - headerHeight > $sidebar.innerHeight() && + $win.scrollTop() > $sidebarContainer.offset().top) { + var newTop = headerHeight + $win.scrollTop() - $sidebarContainer.offset().top; + if (newTop + $sidebar.innerHeight() > $sidebarContainer.innerHeight()) + newTop = $sidebarContainer.innerHeight() - $sidebar.innerHeight(); + + $sidebar.css({top: newTop +'px'}) + } + else { + $sidebar.css({top: '0'}) + } + } + }, + + footerPosition: function () { + $('#footerbar').removeClass('fixed'); + if (($('.hbspt-form').length > 0) || ($('#customerInfo').length > 0) || ($('.purchase_bar').length > 0)) { + var footerBottomPos = $('#footerbar').offset().top + $('#footerbar').outerHeight(); + if (footerBottomPos < $(window).height()) + $('#footerbar').addClass('fixed'); + } + }, + + stickyHeader: function () { + var originalHeaderHeight = 79; + if ($(window).scrollTop() > originalHeaderHeight) { + $('#navbar').addClass('fixed'); + $('#bottom_header').fadeOut(); + + if (!(cookie_added == 1)) { + $('.cookies_yum').fadeOut(); + createCookie("cookies_nom", "yum", 180); + var cookie_added = 1; + } + } + else { + $('#navbar').removeClass('fixed'); + $('#bottom_header').fadeIn(); + } + }, + + tabContents: function () { + $('.tab-container').each(function(i) { + var $el = $(this); + $el.find('.tab-titles li:eq(0)').addClass('active'); + $el.find('.tab-contents .tab:eq(0)').addClass('active'); + $el.find('.tab-titles a').click(function(e) { + e.preventDefault(); + var index = $(this).parent().index(); + $el.find('.tab-titles li').removeClass('active'); + $el.find('.tab-contents .tab').removeClass('active'); + $(this).parent().addClass('active'); + $el.find('.tab-contents .tab').eq(index).addClass('active'); + }) + }); + }, + + liveFeeds: function () { + $('.feed-container').each(function(i) { + var feedUrl = $(this).data('url'); + if (feedUrl != "") oneQt.blogFeed($(this), feedUrl); + }); + }, + + blogFeed: function ($container, feedUrl) { + var feed = new google.feeds.Feed(feedUrl); + feed.setNumEntries(3); + feed.load(function(result) { + $container.html(''); + if (!result.error) { + for (var i = 0; i < result.feed.entries.length; i++) { + var entry = result.feed.entries[i]; + var $article = $('
'); + $container.append($article); + var html = '
'; + html += ' '; + html += '
'; + html += '
'; + html += '

' + html += '

' + html += '

'; + html += '
    '; + html += '
'; + html += '
'; + $article.append(html); + $article.find('h4 a').text(result.feed.title); + $article.find('h3 a').text(entry.title); + $article.find('p a').text(entry.author); + try { + for (var j=0; j'); + $li.find('a').text(entry.categories[j]); + $article.find('.taglist').append($li); + } + } catch(e) {} + } + if (result.feed.link && result.feed.link != "") { + var linkHtml = 'Show all'; + $container.append(linkHtml); + } + } + }); + }, + + extraLinksToMain: function() { + var extramenuLinks = $('#menuextras').find('li'); + var mainmenu = $('#mainmenu'); + var count = 0; + if ($(extramenuLinks).length > 3) { + $(extramenuLinks).each(function() { + if (count < 3) { + var newLink = $(this); + $(newLink).addClass('dynamic-add'); + $(mainmenu).append(newLink); + } + count++; + }); + } + }, + + mainLinkstoExtra: function() { + var mainmenuLinks = $('#mainmenu').find('.dynamic-add'); + var extramenu = $('#menuextras'); + var count = 0; + $(mainmenuLinks).each(function() { + var newLink = $(this); + $(extramenu).prepend(newLink); + count++; + }); + } +} diff --git a/doc/global/template/style/doc_search.png b/doc/global/template/style/doc_search.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7bccd46f95748946bad81b2cecb8d0df7f6ca2 GIT binary patch literal 2151 zcmaJ?c~lek77mM)Ee4BVM1@H}WhqG}2_h*=LlR7cP&Qd)k&sM6ge)XMmS-(X1Qa}M zVgW;;6{YqSB7z)1i)?}*778d)z!kBG3$943@)9cc{qcBn&dhH)_xtX5@BPl1Lw>$H z;D#24Fc=KZpi=|XD_-;J>#4t%9y#^uWxb3RDhm{GWl1av1S4}qF%ZBIuy{}a#NwnR z^g*sLn2s$!C{z~8^dYfD0t`zNgGm;M)o2*Z)gxKVV#h%;AO_;`g>L9)=P#lGKF19m z;>5%;#S|!(PfwLVfvLVh?9@263kU7t4!9L z6e5drL;o!*l<5ahL=p&a!ZZzBpQY21a8OCwo&jz5Tp^w zG%unj&I?B*Qt&P=pz|`8Dq<%JAfap-%lQZEwIWty2!U9gnF>kx`yh^&L?i%~3McVb z)9r;5kTB+;Lut3de1+>9X zRKPV5u8a21F*mk10QLr4LeSHW$)i_ou&TbWM*jL+)uPSp)UAq#zQ>B+oqaNSqikW& zZC)WA6#h1B-Bp6PqSaEht^g67wzVBL1P{G~Y1aQOqxg>gcKri7Nnd$F?Jry{w>sap z3`)1abv{sKGr-cG=Uvf8D!4E}%sDoD7r6$vdZW(y2x@hM#1C;mOPT)Jz0c9YSNbX~ z_ZlM_i?$!AOg~_0#f?VcKWNA5Dq9uz_lR{OR)xH^U%b6?Z$~_uTY@A2)Q& zTh@WP7vMda*~F-V9b=oA{)NrK9)H&P%A2o@DQagdX|}C{;Z?@_`@%-bBIZxq%5ydd zrURunp)*BaKcTkARcMt|t#0Js!s=ROu4Wzd(X)2yy?ifH*L=s?bH~!>7sQHf$N>ZE zYSYT2BQ~Z=Se&(QH~ytJyij0J%m+|`Wduc&)fXXU_1EqMX69Z+psA%$=(>hoT!G~* zzJ~eo_yVo_M0COQueDX1yF6`tH~ z!6QFv#9#FMel*W2=z00m)cgfI+XwA!<}U@>fOkvTi-38e!n|&(ThcCX&DZS96E9>o~t8Uo#0~^Iu=Ls@}WurYj22TBcl;D znF`g zQh8~Wbblg}34*bIO6R|Q-i zr$8ly@XsdR2ZPhH9lpWNm|=|_rdCV6jUr=W%cZZ-{=417J5?XfANkk zRXp*G2Yc;K?J7RHxqnlum0T4wm2GHdzmRKmTHiMT-iH|fe9-_0gK@O4nwOu5(ER!t MG+%0+XLQDY0RK2*5&!@I literal 0 HcmV?d00001 diff --git a/doc/global/template/style/gsc.css b/doc/global/template/style/gsc.css new file mode 100644 index 00000000000..e3d6391d6b5 --- /dev/null +++ b/doc/global/template/style/gsc.css @@ -0,0 +1,192 @@ +.gsc-control-cse table, table td, table th { + border: none !important; + margin-bottom: 10px !important +} +.gsc-control-cse { + width: 100% !important; + box-sizing: border-box !important +} +.gsc-control-cse * { + font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; + line-height: 1.5 !important; + font-weight: 300 !important +} +.gsc-control-cse, +.gsc-control-cse .gsc-table-result { + width: 100% !important; + font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; + font-weight: 300 !important; + font-size: 13px !important +} +.gsc-resultsHeader { + width: 100% !important; + clear: both !important +} +.gsc-resultsHeader td.gsc-twiddleRegionCell { + width: 75% !important +} +.gsc-resultsbox-visible { + display: block !important +} +.gsc-resultsbox-invisible { + display: none !important +} +.gsc-results { + padding-bottom: 2px !important; + width: 99% !important +} +.gsc-result { + margin-bottom: 10px !important +} +.gsc-result .gs-title { + height: 1.4em !important; + overflow: hidden !important +} +.gsc-result div.gs-watermark { + display: none !important +} +.gsc-results .gsc-result img.gs-ad-marker { + display: none !important +} +.gsc-webResult:after { + content: "." !important; + display: block !important; + height: 0 !important; + clear: both !important; + visibility: hidden !important +} +.gsc-webResult { + zoom: 1 !important +} +.gsc-webResult .gsc-result { + margin: 0 !important; + padding: .5em 0 !important; + border-bottom: 1px solid #ebebeb !important +} +.gsc-above-wrapper-area { + border-bottom: 1px solid #E9E9E9 !important; + padding: 5px 0 5px 0 !important +} +.gsc-above-wrapper-area-invisible { + display: none !important +} +.gsc-above-wrapper-area-container { + width: 100% !important +} +.gsc-result-info { + text-align: left !important; + color: #676767 !important; + font-size: 13px !important; + padding-left: 8px !important; + margin: 10px 0 10px 0 !important +} +.gsc-result-info-container { + text-align: left !important +} +.gsc-result-info-invisible { + display: none !important +} +.gsc-orderby-container { + text-align: right !important; + background: transparent !important +} +.gsc-orderby-invisible { + display: none !important +} +.gsc-orderby-label { + color: #676767 !important; + padding: 5px 5px 6px 0 !important +} +.gsc-selected-option-container { + background-color: transparent !important; + border: 1px solid #eee !important; + border: 1px solid rgba(0, 0, 0, 0.1) !important; + border-radius: 2px !important; + box-shadow: none !important; + color: #444 !important; + cursor: default !important; + font-size: 11px !important; + font-weight: bold !important; + height: 20px !important; + line-height: 20px !important; + max-width: 90% !important; + min-width: 54px !important; + outline: 0 !important; + padding: 0 28px 0 6px !important; + position: relative !important; + text-align: center !important; + width: 50px !important !important +} +.gsc-selected-option { + position: relative !important; + width: 100% !important; +} +.gsc-control-cse .gsc-option-selector { + border: none !important; + height: 11px !important; + margin-top: -4px !important; + position: absolute !important; + right: 5px !important; + top: 8px !important; + width: 7px !important; + padding: 0 5px 0 5px !important; + background: url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat +} +.gsc-results .gsc-cursor-box .gsc-trailing-more-results { + margin-bottom: 0 !important; + display: inline !important +} +.gsc-results .gsc-cursor { + display: inline !important +} +.gsc-results .gsc-cursor-box { + margin: 10px 5px 10px !important +} +.gsc-results .gsc-cursor-box .gsc-cursor-page { + cursor: pointer !important; + color: #000000 !important; + text-decoration: underline !important; + margin-right: 8px !important; + display: inline !important +} +.gsc-results .gsc-cursor-box .gsc-cursor-current-page { + cursor: default !important; + color: white !important; + background-color: #5caa15 !important; + font-weight: bold !important; + text-decoration: none !important; + padding: 0 3px 0 3px !important; + margin-top: 10px !important; + cursor: pointer !important +} +.gs-result .gs-title, +.gs-result .gs-title * { + color: #5caa15 !important; + text-decoration: underline !important +} +.gs-webResult div.gs-visibleUrl-long, +.gs-promotion div.gs-visibleUrl-long { + overflow: hidden !important; + display: none !important +} +.gs-webResult div.gs-per-result-labels a.gs-label { + text-decoration: underline !important; + cursor: pointer !important; + padding: 3px !important; + color: #26282a !important +} +.gs-webResult div.gs-per-result-labels a.gs-label.gs-labelActive { + cursor: default !important; + text-decoration: none !important +} +.gsc-control-cse:after { + content: "." !important; + display: block !important; + clear: both !important; + height: 0 !important; + visibility: hidden !important +} + +*:first-child + html .gsc-inline-block { + display: inline !important +} diff --git a/doc/global/template/style/icomoon.eot b/doc/global/template/style/icomoon.eot new file mode 100755 index 0000000000000000000000000000000000000000..68f0fa6ae6f0c2e28b928f3cb3d8b78abeede398 GIT binary patch literal 4624 zcma)ATWnlM8J?MQX6D>4-aWgHg zl=cCEC{WZQA|dg>15yz}AR)v<00|*c#N`3?fhVNCG`5KH2o+LAABfF2b9Ogt0H^?kmCX4uA zCQBF)kh5ftTqj>53uK1e0w+ga2Im&Jjj?J>fsB(;GN#9Foeic^=#sAxgN&Vi=|IIQ z{^xh#{1*S0XBTHydd|Ol8H0M!p1wYFdj-D{+Vl9et}ncLjV>L37j5wUcjo72uA28A zzfVZ0)J@ETAr{To&{pGz<`?hW&1XQ7@GVr63(K=J$<_E5X#WxI{>7QQE2M{>LHi-v zg{7IrxmR}m_#aSdLdU09mT%vIohb3N>L&&x^d8~po2J*md9L~UA=yPNZ*Do48xY(mol~uX}DdM z6>u&MW}uIox46wsn^S{YzR88(b|VA8gBh3m%-G1sc3INa@diIqVa7o0hFt+4sP)dE~e~QPktQ zu@p8|t`^TlUua``IsWdWDN~z-B_1_EA^rY~(DL8LY zpRAni>nl`-he~rtL*^KU!@A2s7}3!ro1Gk5g^=RjE#fXq&&1ZWWPsqF_@G+o>pNRH zIyY1*-=O)eOE*B>OWk_d_9z7UdxDY-+H#Rn>_74cy)_InEZ3nHgoT5-ijJGjCq0}Z=(3p_VRgTe# zS~-QKEohVih&rAr6lo+%4=>iW<#^~L^Ys@@3y8o?(*+p6B{-%ju8=<8)^S&+MJTP<-d>rT*ew$f z$-&?33%a^VR$-i|DZL*WbVnt)i?2iM>- zP)0H8!NH-7cH54l{3PI~HM*g3H^rL^NZFo_y}%qHV|80sChBo*xP*;;hIZmmV=JTn zu?)H~QYvmn<6>##+Ygn|j6KBq=qYa8G;m9yn&ie$75S73n~TX?1ir!8`bSC*wHW(@ zn$3XECflEqh&Q%h1syI`bnVxDnpAt_sT;{FpdYj-KJosZ`<7w#@Jmjh~8BuWsni6Q;ZcrZCD7SJ|7IQ-d>_WYJ@bbz#J!* zYM_Xn^9FnT5#;}Qa`LV3%K+JNH5jUk|%t*{z07M0*D9T`vgM=g2-&X6X>oznfM0s7)(VWo(~Wg<18BuvUQx^Om3jr1 z$|@vazPyKjD|Ws$gj-H{9jmeuAY?Z-wbvW0&@+coRE(;7e+~KL8uG^>a$pApL$<+m zw$TV_qkN1G;I%<#9>q&4A8e&^mjEJH7RTk@#nYLYE1A + + +Generated by IcoMoon + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/global/template/style/icomoon.ttf b/doc/global/template/style/icomoon.ttf new file mode 100755 index 0000000000000000000000000000000000000000..4518527c8b4cadba1fdb54c4f9987cb5877e605d GIT binary patch literal 4460 zcma)9U2I%O6`q-UXXgI@c=zr)j(^sB9j}uT$KD^Wlg3E}A}x)Rv}w{xkc2pn69?j- zG(k%HfIt)|YAYfk@xTL85kep##6tlIAyLH71L^}$NW3(*i1G*(Qbiw#%{Oy*Hyh)) zTwl+gIWu$4nK^U5b1tET5SM&~7-Ztq3kRxJ`9Hq}=QsGjIKMQv+IRN7i-gdA^k=Wm z-CV_Qg#IFat*h5xxk8tZy@x*d{=16{bC=CK58fvvoWS_hA{b)Hd=-5)e`Im#*6m^r z6bau%Gktw!elEEj{~Y~4pg*`YcYBre(dW>=hkj{!ZfW7AT|fED85+w_qop zcvg)QgAsa%aE#5;E8slc`u&jXBCn}=T@Q`AI+}cnkoz`W+r%GTgEWZI{H#%ZLKyy) z#ynaznkOci#;-#xj6ppq-M2R%Y;J-_Kod>V&A<1VtrdCz4J8z_LMcfY9xIww$F@sWr zg@!PkP?*9nII}__U6V`3m|+;U@KWQYHXQfhe|3K+$UMcgnflTuR}CWmaWF#u8AFs1nfWonW~>0KsmYgf2&^bm7x ztKibp^^IRB<1NE-m9!G0oEz9hXfY{xVB3YjABuCOASl?T?IM;X#RqGu0>=gx)CEKE!+sPh8? zc66R5U)w>etYj$E72_RDP$=~XENDz97OF?-RK1eH(iSwz07PBS42m=oWtSKG+HyVg zmHGO!rUgXcrs)C@96NE{yko}_S4Tgdf(a+@T7i_lm^EF~G0nenn;{?#W^?Wf8Cq6| z1st)gA4_m7Q(Pf^zOCaf&5BT3vAw-AH?i9$Ad-bKYnqPXnlFehvAnGeCP;vWHbFe( zDnB4Qbo_8<2QTmpZo9F*K8hgiKHUtD9|2=MKRt+)pvU7&ZiYAK z$kGn}0_F%At887JYQ*)?6bJhR?Z%GvKqy_GcvGjqO)Khop+3{d!E3>Wo}< zm(4eDM&sl(d5OG@TISERpB|x~qR-G1sErzjX|r9Nv?`NEEk?#^-?|nM;M(G9Hv8rPsdv+zmPnExwt>SF;m6 z9gOQTVXCS^tf^G;EV42qlG^{ODdY#*HUcCCdR;-+*-Y~=EJwD5G+9GfsvyjaYu9D~ zQI)%(xK;`1WI~g)Q5#kb!7cSmQ9K;kdB@3FO@ z0!{RCj+3|ToMY!KIy*g0eZ{k#9xEzg8G6~{4@OE3c!Nrm=#8SWf>ZRoUQ{MQFyJG2 zgr}-0fFuOiJwQZDtwmJYImLp^UqZo*-yej7kv|;AL*8yvFw?i~-UxH-9vDP#E0c1l zh}12{4xlzHh0%Zy23T(|Qy?`$8dhM96H7Hw#LiiRJ@^Rn|1>@Q=J#ZP>QR_d*LRG* zy75zmHl73rECjwOkOzGEW7J_cf*3bg30Fm^83*50x^<_%u}+6J-T`0_s`CRLv=)l* z04b!GX=uw6zTEgAE^qc?Qv`b94mZ3biam7)mMuBvH~ zKXBA1pX z<=&-Jxw%WZQ{O)x&YamZdS)h^UEi(@Nu&AjOmyOUt#1XTX!xT z`M)gNz7V>wTJ=U(pU+*soO^!TQfObaP&^r(T&~xbPeO0&TkUUA|2v-#4}VBp7=q_7 zH{VA_ZvSdzTSr%YC1wxSsc%gbqi-k%+Lokj7;Vs@K&V0bO}$MmLW$}AS5g=zwZ-F$ zG*1TU6#X?TvCkTV#=p$h#EasGVyz`CpeGgP;^{2Wy{rky&sz3SZAWGs1O0T1Z-5?Y z(I)7#Et-=8df9wIB&oJ&ht$cu`UW;_aMa#1I+K~vnaqsNWM*_GGouC89&D}6WL|^Z z739+u{4J9g$pU$q+$7g@uY~WMaWa8k*PLtfD@!XY%a1aVbQZ`}@+ESe%t62-3&=4o m>=r3u#sZWm6?5bkelLS}iM)dLGg`%omKo#f91$-&J^uyb$pB&i literal 0 HcmV?d00001 diff --git a/doc/global/template/style/icomoon.woff b/doc/global/template/style/icomoon.woff new file mode 100755 index 0000000000000000000000000000000000000000..5c8466c40fbeb6d98c53192c2e9fcfc0507f8c83 GIT binary patch literal 4536 zcmai1TWp+16`q;@pZV`M@6B;yd%f#;os>BCUcAo5Nd+P;jdN+5v=SsCj^oAwUy>$> zv_eRT0<8)n5)wi@AQd455<)zLi%=zs5Imqh@Py!{u|<_fsE{i9Ky1D<|E|3@jywDR zvomLA&N(w@&UeoL#WN>PFwRht-!M=A&r`i!IrH4XDr4Nn*cE#1(tm$9voL)Vv^n&r z=}4`K1}mi(~Zr=*?YAez7op7jolK^o#oK;b#}87iK{_ z3)!Ef_k~?Q{^!l5+jp?v@2$@>&@u$$_n5?-DGp89Q?36G*e>=e`kjT7*iGe0#vVF+ zc@00ltfljg@uF@E)Fdg3nnttC)cbL9LIOX|iVvN&M{8?(cJU$8ZNB!89<#MV51`_V zV^*ZOq%`nu9?~K=0f%xgJImCB`|$_U@`H0tA6mOiy=zNVL9C7xWCI9r93-+rF1pXB96p;^ck za+O>*k7>2h>R5HWnXAwYy#ng!k(5oXI$FbcTS%kcp+yF&RmW@P!iliQaXo&~iIh^S zZ~xGAlnQJi4K58|7@Qj-GL+#)%2b9Sg&ir&Go>YjFbu=7WMEl|V_1gQW!s^YmLUv` zN%JM?NYjzr;C5h26?FN#`}+mgoL%{A&bjSN2oM|(7D>afP0mfrFeP|{i~+EchH05k za6yxN&L0TNv3EtQ#}5n7vGX23S6}@lDQ_FLN8E~nOKD&iku5AGL&wR7L4T4dhGE{Z ze8YqgOA-EHOkLM+patbc(D zVs&V+JbNq>u3@;MyAnn*AIW926NAfOQrfqL-4)9>aWrinXh>hZUn}k@CM-sN*_g7YxZL7yt z+wSlgM`e_wtE*Il0s1o=R0ho1uxV+BeH;`KFIde&MXLatsmQVuXM15@&S|RvPgcg1 zX}X4IKBqd^%C<15U;#9=3TlH&cIdSIy&bF|Q@HKK`uY%@wDWXRJl+JxdVcv3LI%Np z`^oL$g$}c&CV@T3ByZpy>ot^|?0l@@@*UKQ7 zn_2|Hb7(tVuABEruCJ6QrGqGdiI8GR)04_qFuW7n7A{4gq-O$Rp&v|xU_eRvSM-uqjaJjS@ zjZ5X>Z@ouK3-KQI$4^V+mVqdRYC;-6rRHNQ94;1bVfdO5s~-{{ZVT}TS}lOjrZ|u` z;cwyqIURy3h7Ra4-J~-@-nzDIzJW6uVdvNj>`mk{f98AmG5!huG(UyhsBx4x+sR2Q zGilTkM4a}mYXJeSEv|Mm)7yyjN|4AG||hrZq{)!u9LC()Wif2h~~Imc3i|V^wJXa#l#1+ zK4PW1<9Iml7JR=OnMoM-25=tbQ#J*V1OulFh-lMVc%_pe5_tX!0w#k!Vbm7~14+{F z?>3b%1IOu(F~{kGLi{eNltD&Bw-`Hs*r*uAy#WXyy}8JN)NpBNfi-So(L|NF7Yy;} zL-7C8#KbqhZ-vMnm1*hxPViS&e@1BITcCgh$2S$?Kw$j@dDyKm!3`$nl!Tf|_+65% zJN4BS-oJVufZa#u2RvvkRNnzoSbi#@%})i^>ibDvDj*(!?_&ZPphh%ly!h=Pp(Ion zLqO{1{Y141LOdivF|u9CX%Rr`z%M;lO9e*a>Bc^#0ko2ytkQM@5>H@BS|I@otb2Iv z#C?4bQBL_CyRvgY$Zj0!9)F<9&mKV`AEmgzg8Xp>`QsovxC4SA+Ymb2XhytQInMj> z*`PCz(q+mA+o{}TfXLN_F>Bw#nauRn%$XmYj3&?T9XdZ5O|5K~hLq!(=zM%?zE+z* zb$j^yQGaU6KYD(cbnA?T`09LYUb~^$_KDEtn^k}4=Che=*D}v;n+olZXA7s}(~I@` z;%UfjeXIRF-gE!6(a{f>2Srf+a{FCGK3PT7Pat+r%&^wRl?S*+S>yR6P;=o{E{K%u>*?UZNQ zPI;#7lxNybd8TcJwTD`3Q=T`#cM0)y3BN`5Jey@NvD@s1?iKN!Gr~sE>zH$6W@%w* zX>l_VL1&g-XJ26RY#IzUEnp`!vpcMa8M6>VBBt3L{9gm@Dtj6Ar?iMuEj32y9N{lJ GmHz=YMFm9w literal 0 HcmV?d00001 diff --git a/doc/global/template/style/list_arrow.png b/doc/global/template/style/list_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a6be665bfea5a4f202d2981db3211eb3158f68 GIT binary patch literal 1115 zcmaJ=OK8+U7>+KMrCO|tqD3*pQXlK))x_<_uI-w%cEyykF1QDUW|L_f+ho#Y>TY{+ zD?Sf}s#Ub8R8jGw9`sP~;6+6dQ9(gPK}1nO@E}+ap-#5l)`M$cGBZE__x-PLjW)!UNu|{`Qid)d zMOqB&EYFdVD9wptB*Jebd6p9xmSecuFc*~sL1I~Q`lE0(*XWRvO7nCqe2Y=KycALo^g4Nc@z^F~5J^n62d55Zqv(sKTgD-RwXIcX5f zZss!&&Qu4+29K=FAE;hI-0rP8arI?mV4`yAP}>vo^Myh8`y4TJvZ}0e_*G5y{khM6 zzI!;D*xu6k4TyC=+hIU!|lg977F3vb7vcS_b a.nextPage { - background-image: url('../images/btn_next.png'); - background-repeat: no-repeat; - background-position: right; - padding-right: 20px; - height: 20px; - margin-left: 30px; - } - -.naviNextPrevious > a.prevPage { - background-image: url('../images/btn_prev.png'); - background-repeat: no-repeat; - background-position: left; - padding-left: 20px; - height: 20px; - padding-left: 20px; - } - -.navigationbar { - background-repeat: no-repeat; - height: 33px; - margin: 0px !important; - padding: 0px !important; - border-bottom: 1px solid rgb(209, 209, 209); - background-image: -moz-linear-gradient(center top , rgb(246, 245, 245), rgb(239, 239, 239)); - background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.0, #efefef), color-stop(0.5, #f6f5f5) ); - border-radius: 10px 10px 0px 0px; -} - -.navigationbar ul { - margin: 0px; - padding: 8px 0px 15px 15px; - height: 20px; - } - -.navigationbar li { - list-style-type: none; - float: left; - font-size: 15px; - } - - .navigationbar li a { - display: block; - text-decoration: none; - background: url('../images/arrow_bc.png'); - background-repeat: no-repeat; - background-position: right; - padding-right: 25px; - font-size: inherit; +@media (min-width: 1120px) { + #navbar.fixed,#navbar.shadow_bottom { + -moz-box-shadow:0px 0px 8px rgba(0,0,0,0.2); + -webkit-box-shadow:0px 0px 8px rgba(0,0,0,0.2); + box-shadow:0px 0px 8px rgba(0,0,0,0.2) } - -#buildversion { - font-style: italic; - font-size: small; - float: right; - margin-right: 5px; -} - -/* ------------ -headers ------------ -*/ - -@media screen { - .title { - color: #313131; - font-size: 18px; - font-weight: normal; - left: 0; - padding-bottom: 20px; - padding-left: 10px; - padding-top: 20px; - border-bottom: 1px #CCC solid; - font-weight: bold; - margin-left: 0px; - margin-right: 0px; - } -} - -h1 { - margin: 0 -} - -h2, p.h2 { - font: 500 16px/1.2 Arial; - font-weight: 100; - background-color: #F2F3F4; - padding: 4px; - padding-left: 14px; - margin-bottom: 30px; - margin-top: 30px; - margin-left: -10px; - margin-right: -5px; - border-top: #E0E0DE 1px solid; - border-bottom: #E0E0DE 1px solid; - max-width: 99%; - overflow: hidden; -} - -h2:target { - background-color: #F2F3D4; -} - -h3 { - font: 500 14px/1.2 Arial; - font-weight: 100; - text-decoration: underline; - margin-bottom: 30px; - margin-top: 30px; -} - -h3.fn:target { - background-color: #F6F6D6; -} - -h3.fn, span.fn { - border-width: 1px; - border-style: solid; - border-color: #E6E6E6; - -moz-border-radius: 7px 7px 7px 7px; - -webkit-border-radius: 7px 7px 7px 7px; - border-radius: 7px 7px 7px 7px; - background-color: #F6F6F6; - word-spacing: 3px; - padding: 5px 5px; - text-decoration: none; - font-weight: bold; - max-width: 75%; - font-size: 14px; - margin: 0px; - margin-top: 45px; -} - -.name { - color: #1A1A1A -} - -.type { - color: #808080 -} - -@media print { - .title { - color: #0066CB; - font-size: 32px; - font-weight: normal; - left: 0; - position: absolute; - right: 0; - top: 0; - } -} - -/* ------------------ -table styles ------------------ -*/ - -.table img { - border: none; - margin-left: 0px; - -moz-box-shadow: 0px 0px 0px #fff; - -webkit-box-shadow: 0px 0px 0px #fff; - box-shadow: 0px 0px 0px #fff; -} - -/* table with border alternative colours*/ - -table, pre { - -moz-border-radius: 7px 7px 7px 7px; - -webkit-border-radius: 7px 7px 7px 7px; - border-radius: 7px 7px 7px 7px; - background-color: #F6F6F6; - border: 1px solid #E6E6E6; - border-collapse: separate; - font-size: 12px; - line-height: 1.2; - margin-bottom: 25px; - margin-left: 15px; - font-size: 12px; - line-height: 1.2; - margin-bottom: 25px; - margin-left: 15px; -} - - table tr.even { - background-color: white; - color: #66666E; - } - - table tr.odd { - background-color: #F6F6F6; - color: #66666E; - } - - table tr:target { - background-color: #F6F6D6; - } - - table thead { - text-align: left; - padding-left: 20px; - background-color: #e1e0e0; - border-left: none; - border-right: none; - } - - table thead th { - padding-top: 5px; - padding-left: 10px; - padding-bottom: 5px; - border-bottom: 2px solid #D1D1D1; - padding-right: 10px; + #navbar.fixed #menuextras li a,#navbar.shadow_bottom #menuextras li a { + padding-top:9px; + height:50px + } + #navbar.fixed #menuextras li a span,#navbar.shadow_bottom #menuextras li a span { + max-height:0 + } + #navbar.fixed #menuextras li a:before,#navbar.shadow_bottom #menuextras li a:before { + font-size:30px + } + #navbar.fixed #mainmenu li a { + height:50px; + padding:14px 0.7em + } + #navbar.fixed #mainmenu li a:hover { + border-bottom:4px solid #5caa15 + } + #navbar.fixed .navbar-toggle { + padding:13px 14px 9px + } + #navbar.fixed #menuextras li.navbar-search { + padding:0px 0 + } + #navbar.fixed #menuextras ul.menuextraslinks,#navbar.fixed #menuextras ul.menuextraslanguages { + display:none + } + #navbar.fixed .navbar-oneQt:before { + font-size:35px; + top:7px + } + #navbar.fixed #mainmenu li.current-menu-item a { + border-bottom:4px solid #80C342 } - - table td { - padding: 3px 15px 3px 20px; - border-bottom: #CCC dotted 1px; - } - - table th { - text-align: left; - padding-left: 20px; - } - - table p { - margin: 0px - } - -/* table bodless & white*/ - -.borderless { - border-radius: 0px 0px 0px 0px; - background-color: #fff; - border: 1px solid #fff; } - -.borderless td { - border: none; - border-bottom: #fff dotted 1px; - } - -.borderless tr { - background-color: #FFF; - color: #66666E; - } - -/* ------------ -List ------------ -*/ - -ul { - margin-top: 10px; +@media (max-width: 1120px) { + #navbar { + padding:0; + position:relative + } + #navbar .container { + max-width:100% + } + #navbar .menuextraslanguages { + bottom:10px !important; + right:0 + } + #navbar .menuextraslanguages li a { + color:#7fc241 !important + } + #navbar .menuextraslanguages li.active a,#navbar .menuextraslanguages li a:hover { + border-color:#7fc241 !important + } + #navbar .container { + padding:0 + } + #navbar .navbar-toggle { + display:block + } + #navbar .navbar-oneQt,#navbar.fixed .navbar-oneQt,#navbar .navbar-oneQt:hover { + margin-left:0; + height:26px; + width:22px; + padding:7px 20px 7px 15px + } + #navbar .navbar-oneQt:before { + left:20px + } + #navbar .navbar-menu { + max-height:0; + overflow:hidden; + width:100%; + border-top:1px solid #eee; + -webkit-transition:all 600ms ease-in-out; + -moz-transition:all 600ms ease-in-out; + -o-transition:all 600ms ease-in-out; + transition:all 600ms ease-in-out; + position:relative + } + #mainmenu { + float:none; + width:100%; + padding:0; + margin:0 + } + #mainmenu li { + float:none; + list-style:none + } + #mainmenu li:nth-child(odd) { + background:rgba(0,0,0,0) + } + #mainmenu li a,#navbar.fixed #mainmenu li a { + padding:10px; + border-left:3px solid #fff; + height:auto; + width:100% + } + #mainmenu li.current-menu-item a,#navbar.fixed #mainmenu li.current-menu-item a { + border-bottom:none; + border-left:3px solid #5caa15; + padding:10px + } + #mainmenu li a:hover { + border-bottom:0; + padding:10px; + border-left:3px solid #5caa15 + } + #navbar.fixed { + -moz-box-shadow:0px 0px 0px rgba(0,0,0,0); + -webkit-box-shadow:0px 0px 0px rgba(0,0,0,0); + box-shadow:0px 0px 0px rgba(0,0,0,0) + } + .lt-ie9 #navbar.fixed { + border-bottom:none + } + #menuextras li.navbar-search { + padding:5px 0 + } + .container { + padding:0 2% + } + body .main { + margin-top:0px + } } - -li { - margin-bottom: 10px; - padding-left: 8px; - list-style: outside; - list-style-type: square; - text-align: left; +.in-page-nav { + width:100%; + background:#eeeeee } - -ol { - margin: 10px; - padding: 0; +.in-page-nav ul { + margin:0 auto; + letter-spacing:-0.31em; + max-width:1180px; + text-align:center } - - ol > li { - margin-left: 30px; - padding-left: 8px; - list-style: decimal; - } - -.centerAlign { - text-align: left +.in-page-nav ul li { + display:inline-block; + letter-spacing:normal } - -.cpp { - display: block; - margin: 10px; - overflow: auto; - padding: 20px 20px 20px 20px; +.in-page-nav ul li a { + color:#26282a; + padding:25px 10px; + display:inline-block } - -.js { - display: block; - margin: 10px; - overflow: auto; - padding: 20px 20px 20px 20px; +body.qt-account #navbar .navbar-oneQt { + width:auto; + height:auto } - -.footerNavi { - width: auto; - text-align: right; - margin-top: 50px; - z-index: 1; +body.qt-account #navbar .navbar-oneQt:before { + left:0; + position:relative; + display:inline-block; + vertical-align:middle; + top:0; + margin-right:20px } - -.memItemLeft { - padding-right: 3px +body.qt-account #navbar .navbar-oneQt h2 { + margin:0; + color:#000; + display:inline-block; + vertical-align:middle } - -.memItemRight { - padding: 3px 15px 3px 0 +.landing header[role="banner"] { + background:#26282a } - -.qml { - display: block; - margin: 10px; - overflow: auto; - padding: 20px 20px 20px 20px; +.landing header[role="banner"] figure { + max-width:1180px; + margin:auto; + position:relative } - -.qmldefault { - padding-left: 5px; - float: right; - color: red; +.landing header[role="banner"] figure img { + max-width:100% } - -.qmlreadonly { - padding-left: 5px; - float: right; - color: #254117; +.landing header[role="banner"] figcaption { + color:#fff; + position:absolute; + left:0px; + width:100%; + text-align:center } - -.rightAlign { - padding: 3px 5px 3px 10px; - text-align: right; +.landing header[role="banner"] figcaption.top { + top:0 } - -.qmldoc { - margin-left: 15px +.landing header[role="banner"] figcaption.bottom { + bottom:0 } - -/* ------------ -Content table ------------ -*/ - -@media print { - .toc { - float: right; - clear: right; - padding-bottom: 10px; - padding-top: 50px; - width: 100%; - background-image: url('../images/bgrContent.png'); - background-position: top; - background-repeat: no-repeat; - } +.landing header[role="banner"] figcaption h1 { + margin:50px auto 0 auto; + max-width:70%; + font-weight:600 } - -@media screen { - .toc { - clear: both; - clear: right; - position: relative; - top: 83px; - float: right; - vertical-align: top; - -moz-border-radius: 7px 7px 7px 7px; - -webkit-border-radius: 7px 7px 7px 7px; - border-radius: 7px 7px 7px 7px; - background: #FFF url('../images/bgrContent.png'); - background-position: top; - background-repeat: repeat-x; - border: 1px solid #E6E6E6; - padding-left: 5px; - padding-bottom: 10px; - height: auto; - width: 200px; - text-align: left; - margin-left: 20px; - } +.landing header[role="banner"] figcaption h3 { + margin-bottom:40px } - -.toc h3 { - text-decoration: none +.cookies_yum { + background-color:#006325; + display:none; + width:100% } - -.toc h3 { - font: 500 14px/1.2 Arial; - font-weight: 100; - padding: 0px; - margin: 0px; - padding-top: 5px; - padding-left: 5px; +.cookies_yum img { + width:25px; + top:6px; + display:inline-block; + position:absolute; + left:6px } - -.toc ul { - padding-left: 10px; - padding-right: 5px; - padding-top: 10px; +.cookies_yum div { + margin:0 auto; + max-width:1180px; + min-height:30px; + padding:6px 0px 6px 0px; + position:relative } - -.toc ul li { - margin-left: 15px; - list-style-image: url('../images/blu_dot.png'); - list-style: outside; - marker-offset: 0px; - margin-bottom: 8px; - padding-left: 0px; - } - -.toc .level1 { - border: none +.cookies_yum p { + color:white; + margin:0px; + font-size:0.79em; + display:inline-block; + line-height:1.2; + padding:0 30px 0 40px } - -.toc .level2 { - border: none; - margin-left: 25px; +.cookies_yum p a { + white-space:nowrap } - -.level3 { - border: none; - margin-left: 30px; +.cookies_yum a:hover { + color:white +} +.cookies_yum .close { + width:15px; + height:15px; + background-image:url("../images/cookiebar-x.png"); + background-size:15px 30px; + background-position:top left; + cursor:pointer; + top:6px; + right:6px; + position:absolute +} +.cookies_yum .close:hover { + background-position:bottom left +} +#bottom_header { + display:block; + position:absolute; + width:100%; + z-index:50; + padding-top:15px +} +#bottom_header .container { + overflow:visible +} +#bottom_header .left { + font-weight:bolder +} +#bottom_header a { + color:white; + transition-duration:0.3s +} +#bottom_header .left a:hover { + padding-left:10px +} +.fixed .menuextraslanguages { + opacity:0; + visibility:hidden +} +@media (max-width: 1120px) { + .fixed .menuextraslanguages { + opacity:1 !important; + visibility:visible !important + } +} +#navbar .menuextraslanguages { + position:absolute; + right:0; + bottom:-35px; + transition:all 0.2s ease-in-out; + -webkit-transition:all 0.2s ease-in-out; + -moz-transition:all 0.2s ease-in-out; + -ms-transition:all 0.2s ease-in-out; + -o-transition:all 0.2s ease-in-out +} +#navbar .menuextraslanguages li { + display:inline; + list-style:none; + margin-left:3px; + padding:0px 4px; + font-size:0.6875em +} +#navbar .menuextraslanguages li.dark a { + color:#868482 +} +#navbar .menuextraslanguages li.dark a:hover { + border:2px solid #868482 +} +#navbar .menuextraslanguages li.active.dark a { + border-color:#868482; + color:#868482 +} +#navbar .menuextraslanguages a { + color:#fff; + padding:2px 4px; + border:2px solid transparent +} +#navbar .menuextraslanguages a:hover,#navbar .menuextraslanguages li.active a { + border:2px solid #fff; + color:#fff +} +#bottom_header .dark,#bottom_header .dark.active { + color:#868482; + transition-duration:0.3s; + border-color:#868482 !important +} +#navbar .big_bar { + width:100%; + height:100px; + background-color:#80C342; + display:none; + position:relative +} +#navbar .big_bar.search { + height:auto; + overflow:hidden; + display:none +} +#navbar .big_bar ::-webkit-input-placeholder { + color:#fff +} +#navbar .big_bar :-moz-input-placeholder { + color:#fff +} +#navbar .big_bar ::-moz-input-placeholder { + color:#fff +} +#navbar .big_bar :-ms-input-placeholder { + color:#fff +} +#navbar .big_bar:hover>div .big_bar_button.account { + background-position:right bottom +} +#navbar .big_bar.account h1 { + padding-top:20px +} +#navbar .big_bar.account h1,#navbar .big_bar.account h1 a { + color:#FFF; + margin-bottom:5px +} +#navbar .big_bar.account h1 a:hover { + color:#328930 +} +#navbar .big_bar_button:hover { + background-position:left bottom; + cursor:pointer +} +#navbar .big_bar_button.account { + background-position:right top +} +#navbar .big_bar input.big_bar_search { + background:none repeat scroll 0 0 transparent; + border:medium none; + color:#fff; + display:block; + float:left; + font-size:4em; + outline:0 none; + width:70%; + line-height:1.3; + height:auto; + margin:10px 5%; + padding:0; + box-sizing:border-box; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + *behavior:url(boxsizing.htc) +} +#navbar .big_bar_button { + background-color:transparent; + border:none; + width:18%; + transition-duration:0.3s; + display:block; + float:left; + position:relative; + font-family:'QT Icons'; + font-size:3.5em; + color:#fff; + margin:15px 2% 0 0 !important; + text-align:right; + padding-right:2px !important; + transition:all 0.2s ease-in-out; + -webkit-transition:all 0.2s ease-in-out; + -moz-transition:all 0.2s ease-in-out; + -ms-transition:all 0.2s ease-in-out; + -o-transition:all 0.2s ease-in-out +} +#navbar .big_bar_button:focus,#navbar .big_bar_button:hover { + outline:0; + color:#ebebeb +} +.hero_slide>div { + width:80%; + margin:0 auto +} +.hero_slide>div:first-child>div { + width:80%; + margin:0 auto +} +.hero_slide .content { + margin-top:70px +} +.hero_bar { + padding-top:50px; + padding-bottom:18px +} +.hero_bar p { + font-size:0.875em; + text-align:center +} +.hero_bar .arrow { + bottom:65px; + display:block; + margin:0 auto; + position:relative; + right:260px; + width:230px +} +.hero_bar .comment { + margin:0 +} +#footerbar { + background:#26282a; + color:#fff +} +#footerbar.fixed { + bottom:0; + left:0; + width:100% +} +#footerbar .footer-main .footer-nav { + display:inline; + float:left +} +#footerbar .footer-main .footer-nav li { + float:left; + margin-right:1em +} +#footerbar .footer-main .footer-nav li a { + display:block; + padding:31px 10px 15px 0; + line-height:20px; + height:20px; + color:#d6d6d6 +} +#footerbar .footer-main .footer-nav li a:hover,#footerbar .footer-main .footer-nav li.current-menu-item a { + color:#eee +} +#footerbar .footer-main .footer-nav .sub-menu { + margin-left:0; + margin-bottom:0 +} +#footerbar .footer-main .footer-nav .sub-menu li { + float:none +} +#footerbar .footer-main .footer-nav .sub-menu ul { + padding:1px 1em; + font-size:0.786em; + line-height:8px; + float:none; + color:#5d5b59; + margin-bottom:0 +} +#footerbar .footer-main .footer-nav .sub-menu li a { + padding:1px 0; + font-size:0.786em; + line-height:8px; + float:none; + color:#d6d6d6 +} +#footerbar .footer-main .footer-nav .sub-menu li a:hover,#footerbar .footer-main .footer-nav .sub-menu li.current-menu-item a { + color:#eee +} +#footerbar .footer-main .footer-logo { + display:inline; + float:right; + padding:29px 0 28px 10px; + margin-left:30px; + width:56px +} +#footerbar .footer-main .footer-logo:before { + content:attr(data-icon); + font-family:'Qt Icons'; + width:100%; + line-height:1.2; + display:inline-block; + font-size:1.875em; + color:#706e6d +} +#footerbar .footer-main .footer-logo:hover { + padding:31px 0 26px 10px +} +#footerbar .footer-main .footer-social { + display:inline; + float:right; + padding-top:31px +} +#footerbar .footer-main .footer-social>div { + margin-left:0.1em; + margin-bottom:10px +} +#footerbar .disclaimer { + font-size:0.786em; + line-height:2.73; + color:#868584; + padding-top:20px; + padding-bottom:0.5% +} +#footerbar .disclaimer a { + color:#bdbebf +} +#footerbar .disclaimer a:hover { + color:#d6d6d6 +} +#footerbar .disclaimer ul li { + float:left; + vertical-align:middle; + margin-left:1.18em +} +#footerbar .disclaimer ul li:first-child { + margin-left:0 +} +#footerbar .disclaimer ul.lang-selector a { + color:#506a34; + color:rgba(128,195,66,0.3) +} +#footerbar .disclaimer ul.lang-selector a:hover { + color:#80c342; + color:rgba(128,195,66,0.7) +} +#menu-footer-menu, #menu-footer-menu ul { + margin-left:0; + margin-bottom:0 +} +@font-face { + font-family:'Open Sans'; + font-style:normal; + font-weight:300; + src:local("Open Sans Light"),local("OpenSans-Light"),url(//fonts.gstatic.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf) format("truetype") +} +@font-face { + font-family:'Open Sans'; + font-style:normal; + font-weight:400; + src:local("Open Sans"),local("OpenSans"),url(//fonts.gstatic.com/s/opensans/v10/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format("truetype") +} +@font-face { + font-family:'Open Sans'; + font-style:normal; + font-weight:600; + src:local("Open Sans Semibold"),local("OpenSans-Semibold"),url(//fonts.gstatic.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf) format("truetype") +} +@font-face { + font-family:'Open Sans'; + font-style:normal; + font-weight:700; + src:local("Open Sans Bold"),local("OpenSans-Bold"),url(//fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf) format("truetype") +} +@font-face { + font-family:'Open Sans'; + font-style:normal; + font-weight:800; + src:local("Open Sans Extrabold"),local("OpenSans-Extrabold"),url(//fonts.gstatic.com/s/opensans/v10/EInbV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf) format("truetype") +} +@font-face { + font-family:'Droid Sans Mono'; + font-style:normal; + font-weight:400; + src:local("Droid Sans Mono"),local("DroidSansMono"),url(//fonts.gstatic.com/s/droidsansmono/v7/ns-m2xQYezAtqh7ai59hJUYuTAAIFFn5GTWtryCmBQ4.woff) format("woff") +} +@font-face { + font-family:'Qt Icons'; + src:url("../style/icomoon.eot?-tgjuoj"); + src:url("../style/icomoon.eot?#iefix-tgjuoj") format("embedded-opentype"),url("../style/icomoon.woff?-tgjuoj") format("woff"),url("../style/icomoon.ttf?-tgjuoj") format("truetype"),url("../style/icomoon.svg?-tgjuoj#icomoon") format("svg"); + font-weight:normal; + font-style:normal +} +.clearfix:before,.clearfix:after { + content:" "; + display:table +} +.clearfix:after { + clear:both } - .clearfix { - clear: both + *zoom:1 } - -/* start index box */ - -.indexbox { - width: 100%; - display: inline-block; +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video { + margin:0; + padding:0; + border:0; + font-size:100% } - -.indexbox .indexIcon { - width: 11% - } - - .indexbox .indexIcon span { - display: block - } - -.indexboxcont { - display: block +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,caption,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video { + vertical-align:baseline } - -.indexboxcont .sectionlist { - display: inline-block; - vertical-align: top; - width: 32.5%; - padding: 0; - } - - .indexboxcont .sectionlist ul { - margin-bottom: 20px - } - - .indexboxcont .sectionlist ul li { - line-height: 1.5 - } - -.indexboxcont .indexIcon { - width: 11%; - *width: 18%; - _width: 18%; - overflow: hidden; - } - -.indexboxcont .section { - float: left - } - -.indexboxcont .section { - display: inline-block; - width: 49%; - *width: 42%; - _width: 42%; - padding: 0 2% 0 1%; - vertical-align: top; - } - - .indexboxcont .section p { - padding-top: 20px; - padding-bottom: 20px; - } - -.indexboxcont:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} - -/* ------------ -Landing page ------------ -*/ - -.col-group { - white-space: nowrap; - vertical-align: top; -} - -.col-1 { - display: inline-block; - white-space: normal; - width: 70%; - height: 100%; - float: left; -} - -.col-1 h1 { - margin: 20px 0 0 0 - } - -.col-2 { - display: inline-block; - white-space: normal; - width: 25%; - margin: 0 0 0 50px; -} - -.sectionlist { - width: 100% !important -} - -/* -Additions from Qt Project -*/ - body { - background: #E8E8E8; - margin: 0px; - font-family: "Open Sans",sans-serif !important; + font-family:“Open Sans”, Arial, Helvetica, sans-serif; + line-height:1.5; + font-weight:300 } - -.qt13a-twoCol { - width: 23.46939%; - float: left; - margin-right: 2.04082%; - display: inline; +h1,h2,h3,h4,h5,h6 { + font-weight:300 } - -.qt13a-fourCol { - width: 48.97959%; - float: left; - margin-right: 2.04082%; - display: inline; +.context h2,.context h3,.context h4,.context h5,.context h6 { + margin:1.5em 0 1em } - -.qt13a-sixCol { - width: 70.4898%; - float: left; - margin-right: 2.04082%; - display: inline; +.context h1 { + margin-bottom:1em; + font-size:3.125em } - -.qt13a-eightCol { - width: 100%; - float: left; - margin-right: 2.04082%; - display: inline; +.context h3.fn,.context h3.flags { + color:#26282a; + font-size:1.46em; + padding:15px 0 15px 0; + border-bottom:2px #eee solid; + word-wrap:break-word } - -.qt13a-fiveCol { - width: 17.35537%; - float: left; - margin-right: 3.30579%; - display: inline; +.context h3.fn .name, +.context h3 span.type, +.qmlname span.name { + font-weight: 400 } - -.qt13a-fiveCol:nth-child(2n) { - float: left; - margin-right: 3.30579%; +.qmlname { + font-size:1.46em } - -.qt13a-omega { - float: right; - margin-right: 0; - *margin-left: -20px; - display: inline; +.qmlproto table { + border:none; + border-bottom:2px #eee solid } - -.qt13a-last { - float: right; - margin-right: 0; - *margin-left: -20px; - display: inline; +.qmlproto table p { + max-width:100% } - -.qt13a-container { - *zoom: 1; - padding-left: 20px; - padding-right: 20px; - margin-left: auto; - margin-right: auto; - max-width: 1045px; +.qmlproto table tr { + background-color:#fff } - -.qt13a-container:after { - content: ""; - display: table; - clear: both; +.qmlname td, .qmlname th { + border:none; + text-align:left; + padding:5px 0 0 0 } - -.qt13a-container.qt13a-dynamic { - max-width: 1295px +.qmlreadonly,.qmldefault { + padding:0 5px 0 5px; + font-size:0.75em; + background-color:#eee; + float:right } - -.qt13a-no-bg-img { - background-image: none !important +.qmlreadonly { + color:#414141 } - -.qt13a-wrapper { - overflow: hidden +.qmldefault { + color:#D14141 } - -.content-view { - position: relative; - overflow: hidden; +.rightAlign { + padding:3px 5px 3px 10px; + text-align:right } - -#qt13a-header { - background: url('../images/Qt-header-bg.jpg') repeat; - min-height: 126px; - padding: 0; - margin: 0; - min-width: 1045px; - margin-bottom: 18px; +article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { + display:block } - - #qt13a-header .qt13a-nav-divider-left { - border-left: 1px solid #35322f; - padding-left: 10px; - margin-left: 5px; - font-size: 13px; - } - - #qt13a-header #qt13a-title_nav { - padding-top: 34px; - width: 87.37374%; - float: left; - margin-right: 1.0101%; - display: inline; - float: right; - margin-right: 0; - *margin-left: -20px; - display: inline; - } - - #qt13a-header .qt13a-gradient { - background: url('../images/Qt-gradient.png') repeat-x; - background-position: bottom; - margin: 0; - min-height: 126px; - padding: 0; - } - - #qt13a-header p.qt13a-title { - font-size: 24px; - margin: 0 0 0 0px; - letter-spacing: -1px; - color: #35322f; - font-weight: 600; - } - - #qt13a-header p.qt13a-title a { - font-weight: 600; - color: #35322f; - } - - #qt13a-header p.qt13a-title a:hover { - color: #35322f; - text-decoration: none; - } - - #qt13a-header #qt13a-title { - padding: 0px 0 0 0px; - padding-bottom: 0px; - } - - #qt13a-header #qt13a-logo { - float: left; - width: 11.61616%; - float: left; - margin-right: 1.0101%; - display: inline; - margin: 20px 0px 10px 0; - min-width: 50px; - } - - #qt13a-header #qt13a-logo .qt13a-site-logo { - background: url('../images/Qt-logo.png') no-repeat; - text-indent: -100em; - overflow: hidden; - display: block; - height: 90px; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; - } - - #qt13a-header #qt13a-logo img { - float: left; - border: 0; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; - } - - #qt13a-header .qt13a-nav { - background: none - } - - #qt13a-header .qt13a-nav .qt13a-nav-divider-left { - border-left: 1px solid #35322f; - padding-left: 20px; - } - - #qt13a-header .qt13a-nav .qt13a-nav-small a { - font-size: 13px - } - - #qt13a-header .qt13a-nav ul { - margin: 0 0 0 0px; - padding: 11px 0 0; - background: none; - } - - #qt13a-header .qt13a-nav ul li.devnet-active a { - color: #fff - } - - #qt13a-header .qt13a-nav ul li { - display: inline-block; - width: auto; - padding: 0 2.88% 0 0; - margin: 0; - border: 0; - *display: inline; - zoom: 1; - } - - #qt13a-header .qt13a-nav ul li a { - color: #35322f; - margin: 0; - padding: 0; - line-height: 18px; - font-size: 18px; - } - - #qt13a-header .qt13a-nav ul li a:hover, #qt13a-header .qt13a-nav ul li a:active, #qt13a-header .qt13a-nav ul li a.active { - color: #fff; - text-decoration: none; - } - -#qt13a-register_search { - display: block; - font-variant: 400; - float: right; +body { + line-height:1; + font-family:"Open Sans", Arial, Helvetica, sans-serif; + transition-duration:1s } - -#qt13a-register { - padding: 34px 0px 0; - float: right; - text-align: right; - color: #1e1b18; +ol,ul { + list-style:none } - - #qt13a-register .qt13a-link-divider { - padding: 0 5px - } - - #qt13a-register a { - color: #1e1b18; - font-weight: 400; - font-size: 13px; - padding-left: 13px; - } - - #qt13a-register a:visited { - color: #1e1b18 - } - - #qt13a-register a:hover { - color: #fff; - text-decoration: none; - } - -#search { - margin-top: 23px +.context ol,.context ul { + margin-top:0.75em; + margin-left:20px } - -#qt13a-footer { - background: url('../images/Qt-header-bg.jpg') repeat; - margin: 0; +.mainContent ol>li { + list-style-type:decimal } - - #qt13a-footer .qt13a-container { - padding: 36px 0 - } - - #qt13a-footer .qt13a-gradient { - background: url('../images/Qt-dark_gradient.png') repeat-x; - background-position: bottom; - margin: 0; - min-height: 126px; - padding: 0; - } - - #qt13a-footer .qt13a-shadow { - background: transparent url('../images/Qt-footer_shadow.png') repeat-x top center - } - - #qt13a-footer .qt13a-last { - float: right; - margin-right: 0; - *margin-left: -20px; - display: inline; - } - - #qt13a-footer ul { - width: 17.35537%; - float: left; - margin-right: 3.30579%; - display: inline; - padding-left: 0; - list-style-type: none; - } - - #qt13a-footer ul li a.qt13a-some-icon { - width: 32px; - height: 32px; - background-repeat: none; - text-indent: -300em; - overflow: hidden; - display: -moz-inline-stack; - display: inline-block; - vertical-align: middle; - *vertical-align: auto; - zoom: 1; - *display: inline; - } - - #qt13a-footer ul li a { - font-family: "Open Sans",sans-serif; - font-size: 13px; - color: #35322f; - padding: 0; - font-weight: 400; - } - - #qt13a-footer ul li a:hover, #qt13a-footer ul li a:active { - color: #35322f; - text-decoration: underline; - } - - #qt13a-footer .qt13a-title a, #qt13a-footer .qt13a-title { - padding: 18px 0 18px; - font-weight: 400; - letter-spacing: -0.5pt; - color: #35322f; - font-size: 18px; - margin: 0; - } - -.qt13a-copyright { - border-top: 1px solid #000; - background: url('../images/Qt-footer-bg.jpg') repeat; - margin: 0; - padding: 36px 0; - font-weight: 400; - font-size: 0.84615em; - line-height: 1.63636em; +blockquote,q { + quotes:none } - -.qt13a-copyright p { - padding: 0; - color: #aeadac; - font-size: 11px; - } - -.qt13a-copyright a { - color: #328930 - } - -.qt13a-copyright a:visited { - color: #328930 - } - -.searchbox { - display: block; - overflow: hidden; - padding: 0px 35px 0 5px; +blockquote:before,blockquote:after,q:before,q:after { + content:''; + content:none; + width:100% } - -.content-view { - position: relative; - overflow: hidden; +table { + border-collapse:collapse; + border-spacing:0; + margin-bottom:25px; + width:100% } - -p, li, p.forum-overview-title, p.forum-description, p.desc, p.forum-lastpost, div.navigationbars li, div.block-profile div { - font-size: 13px -} - -p.forum-description.desc { - font-size: 13px !important -} - -.steps li { - font-size: 16px -} - -div.license p, div.notes p { - font-size: 12px !important -} - a { - color: #44a51c; - text-decoration: none; + color:#5caa15; + text-decoration:none; + transition-duration:0.3s } - -.wrap { - padding-left: 30px -} - -a:visited { - color: #007330; - text-align: left; -} - a:hover { - color: #44a51c; - text-align: left; + color:#46a2da } - -a:visited:hover { - color: #44a51c; - text-align: left; +.main,.navbar-header,#footerbar>div { + max-width:1500px; + width:95%; + margin:0 auto } - -a:link { - color: #007330; - text-decoration: none; - text-align: left; -} - .main { - padding: 0px 30px 30px 30px + margin-top:100px +} +.main_index { + background-color:#fff +} +.sectionlist { + margin-bottom:2em +} +[class*="col-"] { + letter-spacing:normal +} +.landing,.main_index .row { + letter-spacing:-0.31em +} +.main_index .row>div { + letter-spacing:normal +} +.col-1,.context { + width:80%; + display:inline-block; + background-color:#fff; + padding:35px; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + -ms-box-sizing:border-box; + box-sizing:border-box +} +.col-1 h2 { + font-size:2.1875em; + font-weight:300; + line-height:1.1; + margin-bottom:0.83em; + margin-top:1em +} +.icons1of3 img { + display:inline-block; + float:left; + margin-right:0.75em; + margin-top:-5px; + width:2.75em +} +div.multi-column { + position:relative +} +div.multi-column div { + display:-moz-inline-box; + display:inline-block; + vertical-align:top; + margin-top:1em; + margin-right:2em; + width:16em +} +.sidebar { + display:block; + float:right; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + -ms-box-sizing:border-box; + box-sizing:border-box; + width:20%; + padding-left:30px +} +.toc,.sectionlist { + padding:35px; + background-color:#fff; + margin-bottom:2em +} +.sidebar-content:empty { + display:none; + visibility:hidden +} +.col-2 h2,.toc h3,.sidebar-content h2,.sidebar-content h3,.sectionlist h2 { + font-weight:400; + margin-bottom:2em +} +.toc h3 a { + color:#404244 +} +.title { + font-size:3em; + font-weight:300; + letter-spacing:-1px; + line-height:1.15em; + margin-bottom:0.5em; + word-wrap:break-word +} +.navigationbar,col-1 h2 { + font-size:0.75em +} +.navigationbar h1 { + font-size:3.125em; + margin-bottom:1em; + margin-top:1em +} +.navigationbar li { + display:inline-block; + margin-right:5px; + position:relative; + padding-right:10px; + color:#585a5c +} +.navigationbar li a { + color:#58585c +} +body { + background-color:#eee; + color:#404244 +} +.sectionlist li { + margin-bottom:5px +} +dd { + padding-bottom:0.25em; + padding-left:2em +} +.col-1 ul { + margin-bottom:1.56em +} +.mainContent li { + margin-bottom:0.8em; + line-height:1.25em +} +.mainContent p { + line-height:1.56em; + margin-bottom:1.5em; + color:#404244; + max-width:85% +} +.mainContent b { + font-weight:400 +} +.context ul { + margin-bottom:1.5em +} +.mainContent ul ul { + margin-top:0.5em +} +.mainContent .naviNextPrevious { + margin-top:25px; + max-width:100% +} +.naviNextPrevious.headerNavi { + display:none +} +.nextPage { + float:right +} +.prevPage:before { + content:"< " +} +.nextPage:after { + content:" >" +} +.navigationbar li:after { + color:#404244; + content:"›"; + display:inline-block; + font-size:1.5em; + line-height:1; + position:absolute; + right:-2px; + top:-4px +} +.navigationbar ul:last li a { + color:#80c342 +} +.sub-navigation { + margin-top:10px +} +.navigationbar li:last-child:after,.sub-navigation li:after { + content:none +} +.navigationbar { + margin-bottom:10px +} +#buildversion { + font-style:italic; + font-size:small; + float:right +} +.copy-notice { + width:65%; + font-size:0.75em; + margin-top:50px; + margin-bottom:25px; + line-height:1.75em; + color:#585a5c +} +li a.active { + color:#585a5c +} +.flowList { + padding:25px +} +.alphaChar { + font-size:2em; + position:absolute +} +.flowList.odd { + background-color:#eee +} +.context ul>li,.doc-column ul>li { + list-style-image:url("list_arrow.png"); + margin-left:15px; + color:#404244; + line-height:1.16em +} +.mainContent table p { + margin:0px; + padding:0px +} +.mainContent table p { + margin:0px; + padding:0px; + min-height:2em +} +.context h4,.context h3,.context h2 { + font-size:2.1875em +} +.context p img { + margin-top:0.75em; + max-width:100% +} +.context table { + vertical-align:initial +} +table .odd { + background-color:#eee +} +table thead { + text-align:left; + padding-left:20px +} +table,table td,table th { + border:1px solid #eee +} +table td,table th { + padding:5px 20px; + line-height:1.3 +} +table.alignedsummary,table.propsummary { + width:initial +} +div.main_index .row:first-child { + border-bottom:1px solid #eee +} +div.main_index .row { + position:relative +} +div.main_index .row>div { + display:inline-block; + width:50%; + vertical-align:top; + padding:50px; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + -ms-box-sizing:border-box; + box-sizing:border-box +} +div.main_index h2 { + font-size:2.1875em; + margin-bottom:1em +} +#search_bar { + width:40%; + float:right +} +div.main_index .row:after { + content:""; + position:absolute; + top:0; + right:50%; + height:100%; + width:1px; + background-color:#eee +} +div.table { + overflow-x:auto +} +p.qt_commercial { + border:3px solid #5caa15; + margin:0 auto; + padding:15px; + width:28%; + text-align:center; + clear:both +} +h1.qt_commercial { + padding:20px; + background-color:#5caa15; + display:inline; + float:right; + font-size:1.25em; + line-height:1.25em; + height:1.25em; + color:#fff +} +div.qt_commercial { + border-top:5px solid #5caa15; + margin-bottom:50px +} +pre { + background-color:#404244; + color:#fff; + display:block; + font-family:"Droid Sans Mono"; + line-height:1.5; + overflow-x:auto; + margin-bottom:25px; + overflow-x:auto; + padding:25px; + margin-top:0.75em +} +.copy_text { + background-color:#46a2da; + color:#fff; + border:2px solid #46a2da; + padding:10px 16px; + margin-left:-10px; + margin-top:-50px; + position:absolute; + opacity:0; + cursor:pointer; + float:right +} +.copy_text:hover { + background-color:#fff; + color:#46a2da +} +code,.codelike { + font-family:"Droid Sans Mono" +} +h3.fn code { + font-size:0.75em; + float:right; + background-color:#eee; + padding:3px; + margin: 3px 0 0 20px +} +pre:hover>.copy_text { + display:inline-block; + opacity:1; + transition:0.5s ease +} +#main_title_bar { + letter-spacing:-0.31em +} +#main_title_bar .search_bar { + letter-spacing:normal; + width:50%; + display:inline-block; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + -ms-box-sizing:border-box; + box-sizing:border-box; + vertical-align:middle +} +#main_title_bar h1 { + letter-spacing:normal; + width:50%; + display:inline-block; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + -ms-box-sizing:border-box; + box-sizing:border-box; + vertical-align:middle +} +#main_title_bar .search_bar * { + letter-spacing:normal; + padding:0; + margin:0; + border:none +} +@media (max-width: 980px) { + body { + font-size:calc-em(14px) + } + #main_title_bar { + letter-spacing:-0.31em; + width:100% + } + #main_title_bar>h1,#main_title_bar .search_bar { + display:block; + width:100% + } + #main_title_bar .search_bar { + margin-bottom:15px + } + .main { + margin-top:0px + } + .main_index .row { + border:none !important + } + .title { + font-size:1.5em; + font-weight:400; + word-wrap:break-word + } + .col-1,.context,.naviNextPrevious,.sidebar { + padding:10px + } + .sidebar { + padding-top:0 + } + .search .sidebar { + display:none; + visibility:hidden + } + .col-2 h2,.toc h3,.sidebar-content h2,.sidebar-content h3,.sectionlist h2 { + text-align:center + } + div.main_index .row:after { + content:none + } + div.main_index .row>div { + display:block !important; + width:100%; + padding:0; + margin:0 + } + .context,.sidebar,.col-1 { + width:100% + } + .main_index h2,h1 { + text-align:center + } + .context h4,.context h3,.context h2 { + text-align:center + } + .sidebar-content,.col-2,.toc { + background-color:#fff; + margin-bottom:1em; + padding:20px + } + .mainContent p { + line-height:1.56em; + margin-bottom:1em; + max-width:100% + } + table td,table th { + padding:5px 5px + } +} +[id]:target,[name]:target,[name]:target+* { + -webkit-animation:highlighter 3s; + animation:highlighter 3s +} +@-webkit-keyframes highlighter { + 25% { + background-color:#46a2da; + color:#fff + } + 75% { + background-color:#46a2da; + color:#fff + } +} +@keyframes highlighter { + 25% { + background-color:#46a2da; + color:#fff + } + 75% { + background-color:#46a2da; + color:#fff + } +} +@-webkit-keyframes copypaste { + 25% { + opacity:1 + } + 100% { + border-radius:10px; + margin-top:-50px; + opacity:1 + } +} +@keyframes copypaste { + 25% { + opacity:1 + } + 100% { + border-radius:10px; + margin-top:-50px; + opacity:1 + } +} +#footer { + clear:both +} +.menuextraslanguages { + display:none; + visibility:hidden +} +form.gsc-search-box { + font-size: 25px !important; + margin-top: 0 !important; + margin-right: 0 !important; + margin-bottom: 4px !important; + margin-left: 0 !important; + width: 100% !important; +} +table.gsc-search-box { + border-style: none !important; + border-width: 0 !important; + border-spacing: 0 0 !important; + width: 100% !important; + margin-bottom: 2px !important; } -.main-rounded { - display: inline-block; - background: none repeat scroll 0% 0% rgb(255,255,255); - width: 100%; - border: 1px solid #DADADA; - border-radius: 10px 10px 10px 10px; - box-shadow: 0 0 3px #C4C4C4; - padding-bottom: 30px; +table.gsc-search-box td { + vertical-align: middle !important; +} + +table.gsc-search-box td.gsc-input { + padding-right: 0px !important; +} +table.gsc-search-box td.gsc-input input { + background-position: 15px center !important; +} + +td.gsc-search-button { + width: 1% !important; +} + +td.gsc-clear-button { + width: 14px !important; + visibility:hidden !important; + display:none !important; +} +table.gsc-branding td, +table.gsc-branding { + margin: 0 0 0 0 !important; + padding: 0 0 0 0 !important; + border: none !important; +} + +table.gsc-branding { + border-style: none !important; + border-width: 0 !important; + border-spacing: 0 0 !important; + width: 100% !important; +} + +.gsc-branding-text { + color: #676767 !important; +} + +td.gsc-branding-text { + vertical-align: top !important; +} +td.gsc-branding-text div.gsc-branding-text { + padding-bottom: 2px !important; + text-align: right !important; + font-size: 11px !important; + margin-right: 2px !important; +} + +td.gsc-branding-img { + width: 65px !important; + vertical-align: bottom !important; +} + +img.gsc-branding-img { + padding-top: 1px !important; + margin: 0 0 0 0 !important; + padding-right: 0 !important; + padding-left: 0 !important; + padding-bottom: 0 !important; + border: none !important; + display: inline !important; +} + +input.gsc-search-button { + background-color: white !important; + height: 35px !important; + width: 35px !important; + color: transparent !important; + background-image: url("doc_search.png") !important; + background-size: 25px auto; + background-position: 0px 5px; + background-repeat: no-repeat; + margin-left: -43px !important; + overflow: hidden; + min-width: 20px !important; +} + +input.gsc-search-button:hover { + cursor: pointer; +} + +.gsc-search-box-tools .gsc-clear-button { + display: none !important; + visibility: none !important; +} + +.gsc-overflow-hidden { + overflow: hidden !important; +} + +input.gsc-input { + background-color: #fff !important; + border: 1px solid #d6d6d6 !important; + border-radius: 5px !important; + box-sizing: border-box !important; + color: #868482 !important; + outline: 0 none !important; + padding: 9px 10px 10px !important; + transition: color 0.5s ease 0s, box-shadow 0.5s ease 0s, background-color 0.5s ease 0s !important; +} + +input { + font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; + line-height: 1.5 !important; + font-weight: 300 !important; + vertical-align:middle +} + +input:focus { + border-color: #46a2da; + box-shadow: 0 0 5px #46a2da; + color: #000; } From ab6d645850e88f3e351d196bf009135b6189ba8a Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 26 Nov 2014 13:12:08 +0100 Subject: [PATCH 09/11] Android: Fix broken system palette When we overwrite the default palette, we have to make sure we don't overwrite default values with black for all the colors that are not retrieved from the json file. We would for instance get black as both the base color and text color which would make some components unusable. Change-Id: I1079a70a0ac7eb379ed5e8d92c6b39c2ea77ba49 Task-number: QTBUG-42812 Task-number: QTBUG-42998 Reviewed-by: BogDan Vatra Reviewed-by: J-P Nurmi --- src/plugins/platforms/android/qandroidplatformtheme.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/android/qandroidplatformtheme.cpp b/src/plugins/platforms/android/qandroidplatformtheme.cpp index f9f2e4a9440..375096139dc 100644 --- a/src/plugins/platforms/android/qandroidplatformtheme.cpp +++ b/src/plugins/platforms/android/qandroidplatformtheme.cpp @@ -278,7 +278,8 @@ static std::shared_ptr loadAndroidStyle(QPalette *defaultPalette) const int pt = paletteType(key); if (pt > -1 || !qtClassName.isEmpty()) { // Extract palette information - QPalette palette; + QPalette palette = *defaultPalette; + attributeIterator = item.find(QLatin1String("defaultTextColorPrimary")); if (attributeIterator != item.constEnd()) palette.setColor(QPalette::WindowText, QRgb(int(attributeIterator.value().toDouble()))); From bd5743f1d8472e70aeeccd08858130d4781bde41 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 3 Dec 2014 12:09:50 +0100 Subject: [PATCH 10/11] Make tst_qwindow::positioning more reliable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't check for absolute counts of resize events but just check if we were resized. Also use QTest::qWaitForWindowExposed instead of QTRY_COMPARE and checking for QEvent::Expose. Change-Id: Ie383493a8ce6d88cad50bd6375d432ad1578449c Reviewed-by: Jørgen Lind --- tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index fac16ff8a35..46b33e5d399 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -233,17 +233,11 @@ void tst_QWindow::resizeEventAfterResize() void tst_QWindow::positioning_data() { QTest::addColumn("windowflags"); - QTest::addColumn("resizecount"); - QTest::newRow("default") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::WindowFullscreenButtonHint) -#if defined(Q_OS_OSX) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 - << 4; -#else - << 3; -#endif + QTest::newRow("default") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::WindowFullscreenButtonHint); #ifdef Q_OS_OSX - QTest::newRow("fake") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint) << 4; + QTest::newRow("fake") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); #endif } @@ -262,7 +256,6 @@ void tst_QWindow::positioning() const QRect geometry(m_availableTopLeft + QPoint(80, 80), m_testWindowSize); QFETCH(int, windowflags); - QFETCH(int, resizecount); Window window((Qt::WindowFlags)windowflags); window.setGeometry(QRect(m_availableTopLeft + QPoint(20, 20), m_testWindowSize)); window.setFramePosition(m_availableTopLeft + QPoint(40, 40)); // Move window around before show, size must not change. @@ -273,8 +266,7 @@ void tst_QWindow::positioning() window.showNormal(); QCoreApplication::processEvents(); - QTRY_COMPARE(window.received(QEvent::Resize), 1); - QTRY_VERIFY(window.received(QEvent::Expose) > 0); + QTest::qWaitForWindowExposed(&window); QMargins originalMargins = window.frameMargins(); @@ -284,25 +276,22 @@ void tst_QWindow::positioning() QPoint originalPos = window.position(); QPoint originalFramePos = window.framePosition(); + window.reset(); window.setWindowState(Qt::WindowFullScreen); QCoreApplication::processEvents(); -#if defined(Q_OS_BLACKBERRY) // "window" is the "root" window and will always be shown fullscreen - // so we only expect one resize event - Q_UNUSED(resizecount); - QTRY_COMPARE(window.received(QEvent::Resize), 1); -#else - QTRY_COMPARE(window.received(QEvent::Resize), 2); + // On BB10 the window is the root window and fullscreen, so nothing is resized. +#if !defined(Q_OS_BLACKBERRY) + QTRY_VERIFY(window.received(QEvent::Resize) > 0); #endif QTest::qWait(2000); + window.reset(); window.setWindowState(Qt::WindowNoState); QCoreApplication::processEvents(); -#if defined(Q_OS_BLACKBERRY) // "window" is the "root" window and will always be shown fullscreen - // so we only expect one resize event - QTRY_COMPARE(window.received(QEvent::Resize), 1); -#else - QTRY_COMPARE(window.received(QEvent::Resize), resizecount); + // On BB10 the window is the root window and fullscreen, so nothing is resized. +#if !defined(Q_OS_BLACKBERRY) + QTRY_VERIFY(window.received(QEvent::Resize) > 0); #endif QTRY_COMPARE(originalPos, window.position()); From 5367fa356233da4c0f28172a8f817791525f5457 Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Thu, 4 Dec 2014 15:21:28 +0200 Subject: [PATCH 11/11] winrt: Fix window resize The fixed-size EGL display must be updated on PC as well as Windows Phone. Task-number: QTBUG-43112 Change-Id: I0ba90370b67e8c065843e5754579e341b647266d Reviewed-by: Oliver Wolff --- src/plugins/platforms/winrt/qwinrtscreen.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp index 612a50f6b7e..37a3ff3d63b 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.cpp +++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp @@ -1081,12 +1081,14 @@ HRESULT QWinRTScreen::onSizeChanged(ICoreWindow *, IWindowSizeChangedEventArgs * d->logicalSize = logicalSize; if (d->eglDisplay) { const QRect newGeometry = geometry(); -#ifdef Q_OS_WINPHONE // Resize the EGL window - const int width = newGeometry.width() * (d->orientation == Qt::InvertedPortraitOrientation || d->orientation == Qt::LandscapeOrientation ? -1 : 1); - const int height = newGeometry.height() * (d->orientation == Qt::InvertedPortraitOrientation || d->orientation == Qt::InvertedLandscapeOrientation ? -1 : 1); + int width = newGeometry.width(); + int height = newGeometry.height(); +#ifdef Q_OS_WINPHONE // Windows Phone can pass in a negative size to provide orientation information + width *= (d->orientation == Qt::InvertedPortraitOrientation || d->orientation == Qt::LandscapeOrientation) ? -1 : 1; + height *= (d->orientation == Qt::InvertedPortraitOrientation || d->orientation == Qt::InvertedLandscapeOrientation) ? -1 : 1; +#endif eglSurfaceAttrib(d->eglDisplay, d->eglSurface, EGL_WIDTH, width); eglSurfaceAttrib(d->eglDisplay, d->eglSurface, EGL_HEIGHT, height); -#endif QWindowSystemInterface::handleScreenGeometryChange(screen(), newGeometry, newGeometry); QPlatformScreen::resizeMaximizedWindows(); handleExpose();