Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"

bb10
Qt Forward Merge Bot 2020-01-09 01:00:08 +01:00
commit 06b2d54e4b
15 changed files with 779 additions and 64 deletions

View File

@ -1857,10 +1857,13 @@ void MakefileGenerator::callExtraCompilerDependCommand(const ProString &extraCom
const QString &tmp_out,
bool dep_lines,
QStringList *deps,
bool existingDepsOnly)
bool existingDepsOnly,
bool checkCommandAvailability)
{
char buff[256];
QString dep_cmd = replaceExtraCompilerVariables(tmp_dep_cmd, inpf, tmp_out, LocalShell);
if (checkCommandAvailability && !canExecute(dep_cmd))
return;
dep_cmd = dep_cd_cmd + fixEnvVariables(dep_cmd);
if (FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), QT_POPEN_READ)) {
QByteArray depData;

View File

@ -87,7 +87,8 @@ protected:
void callExtraCompilerDependCommand(const ProString &extraCompiler, const QString &dep_cd_cmd,
const QString &tmp_dep_cmd, const QString &inpf,
const QString &tmp_out, bool dep_lines, QStringList *deps,
bool existingDepsOnly);
bool existingDepsOnly,
bool checkCommandAvailability = false);
void writeExtraCompilerTargets(QTextStream &t);
void writeExtraCompilerVariables(QTextStream &t);
bool writeDummyMakefile(QTextStream &t);

View File

@ -2351,33 +2351,15 @@ bool VCFilter::addExtraCompiler(const VCFilterFile &info)
if (!tmp_dep.isEmpty())
deps = tmp_dep;
if (!tmp_dep_cmd.isEmpty()) {
// Execute dependency command, and add every line as a dep
char buff[256];
QString dep_cmd = Project->replaceExtraCompilerVariables(
tmp_dep_cmd, inFile, out, MakefileGenerator::LocalShell);
if(Project->canExecute(dep_cmd)) {
dep_cmd.prepend(QLatin1String("cd ")
+ IoUtils::shellQuote(Option::fixPathToLocalOS(Option::output_dir, false))
+ QLatin1String(" && "));
if (FILE *proc = QT_POPEN(dep_cmd.toLatin1().constData(), QT_POPEN_READ)) {
QString indeps;
while(!feof(proc)) {
int read_in = (int)fread(buff, 1, 255, proc);
if(!read_in)
break;
indeps += QByteArray(buff, read_in);
}
QT_PCLOSE(proc);
if(!indeps.isEmpty()) {
QStringList extradeps = indeps.split(QLatin1Char('\n'));
for (int i = 0; i < extradeps.count(); ++i) {
QString dd = extradeps.at(i).simplified();
if (!dd.isEmpty())
deps += Project->fileFixify(dd, MakefileGenerator::FileFixifyFromOutdir);
}
}
}
}
const QString dep_cd_cmd = QLatin1String("cd ")
+ IoUtils::shellQuote(Option::fixPathToLocalOS(Option::output_dir, false))
+ QLatin1String(" && ");
Project->callExtraCompilerDependCommand(extraCompilerName, dep_cd_cmd, tmp_dep_cmd,
inFile, out,
true, // dep_lines
&deps,
configs.contains("dep_existing_only"),
true /* checkCommandAvailability */);
}
for (int i = 0; i < deps.count(); ++i)
deps[i] = Option::fixPathToTargetOS(

View File

@ -69,6 +69,8 @@ public:
bool pchIsCFile = false;
VCProjectWriter *projectWriter;
using Win32MakefileGenerator::callExtraCompilerDependCommand;
protected:
virtual VCProjectWriter *createProjectWriter();
bool doDepends() const override { return false; } // Never necessary

View File

@ -153,7 +153,7 @@ Qt::HighDpiScaleFactorRoundingPolicy QGuiApplicationPrivate::highDpiScaleFactorR
// that behavior by disabling rounding by default.
Qt::HighDpiScaleFactorRoundingPolicy::PassThrough;
#else
Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor;
Qt::HighDpiScaleFactorRoundingPolicy::Round;
#endif
bool QGuiApplicationPrivate::highDpiScalingUpdated = false;
@ -3550,8 +3550,8 @@ Qt::ApplicationState QGuiApplication::applicationState()
environment variable. The QGuiApplication::highDpiScaleFactorRoundingPolicy()
accessor will reflect the environment, if set.
The default value is Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor.
On Qt for Android the default is Qt::HighDpiScaleFactorRoundingPolicy::PassThough,
The default value is Qt::HighDpiScaleFactorRoundingPolicy::Round.
On Qt for Android the default is Qt::HighDpiScaleFactorRoundingPolicy::PassThrough,
which preserves historical behavior from earlier Qt versions.
*/
void QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy policy)

View File

@ -93,6 +93,10 @@
"libs": "-llibssl -llibcrypto -lUser32 -lWs2_32 -lAdvapi32 -lCrypt32",
"condition": "config.msvc"
},
{
"libs": "-lssl_arm64-v8a -lcrypto_arm64-v8a",
"condition": "config.android"
},
{
"libs": "-lssl -lcrypto",
"condition": "!config.msvc"
@ -432,7 +436,7 @@
"report": [
{
"type": "note",
"condition": "features.openssl-linked && libs.openssl.source != 0
"condition": "!config.android && features.openssl-linked && libs.openssl.source != 0
&& input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
"message": "When linking against OpenSSL, you can override the default
library names through OPENSSL_LIBS.

View File

@ -115,9 +115,11 @@ qtConfig(ssl) {
# - libs in <OPENSSL_DIR>\lib\VC\static
# - configure: -openssl -openssl-linked -I <OPENSSL_DIR>\include -L <OPENSSL_DIR>\lib\VC\static OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32" OPENSSL_LIBS_DEBUG="-lssleay32MDd -llibeay32MDd" OPENSSL_LIBS_RELEASE="-lssleay32MD -llibeay32MD"
qtConfig(openssl-linked): \
QMAKE_USE_FOR_PRIVATE += openssl
else: \
qtConfig(openssl-linked): {
android {
build_pass: LIBS_PRIVATE += -lssl_$${QT_ARCH} -lcrypto_$${QT_ARCH}
} else: QMAKE_USE_FOR_PRIVATE += openssl
} else: \
QMAKE_USE_FOR_PRIVATE += openssl/nolink
win32 {
LIBS_PRIVATE += -lcrypt32

View File

@ -1394,6 +1394,8 @@ void QXcbWindow::propagateSizeHints()
}
xcb_icccm_set_wm_normal_hints(xcb_connection(), m_window, &hints);
m_sizeHintsScaleFactor = QHighDpiScaling::scaleAndOrigin(screen()).factor;
}
void QXcbWindow::requestActivateWindow()
@ -1785,6 +1787,9 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
// will make the comparison later.
QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->screen());
if (!qFuzzyCompare(QHighDpiScaling::scaleAndOrigin(newScreen).factor, m_sizeHintsScaleFactor))
propagateSizeHints();
// Send the synthetic expose event on resize only when the window is shrinked,
// because the "XCB_GRAVITY_NORTH_WEST" flag doesn't send it automatically.
if (!m_oldWindowSize.isEmpty()

View File

@ -278,6 +278,8 @@ protected:
QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
int m_swapInterval = -1;
qreal m_sizeHintsScaleFactor = 1.0;
};
class QXcbForeignWindow : public QXcbWindow

View File

@ -28,7 +28,7 @@ qhp.QtTestLib.subprojects.classes.sortPages = true
tagfile = ../../../doc/qttestlib/qttestlib.tags
depends += qtcore qtdoc qtwidgets qtgui qmake qtqmltest
depends += qtcore qtdoc qtwidgets qtgui qmake qtqmltest qtcmake
headerdirs += ..

View File

@ -85,7 +85,7 @@
You can use a Qt Creator wizard to create a project that contains Qt tests
and build and run them directly from Qt Creator. For more information, see
\l {Running Autotests}.
\l {Qt Creator: Running Autotests}{Running Autotests}.
\section1 Creating a Test
@ -146,7 +146,7 @@
\section2 Building with CMake and CTest
You can use \l {CMake and CTest} to create a test.
You can use \l {Building with CMake and CTest} to create a test.
\l{https://cmake.org/cmake/help/latest/manual/ctest.1.html}{CTest} enables
you to include or exclude tests based on a regular expression that is
matched against the test name. You can further apply the \c LABELS property

View File

@ -1868,7 +1868,7 @@ bool QApplication::event(QEvent *e)
closeAllWindows();
for (auto *w : topLevelWidgets()) {
if (w->isVisible() && !(w->windowType() == Qt::Desktop) && !(w->windowType() == Qt::Popup) &&
(!(w->windowType() == Qt::Dialog) || !w->parentWidget())) {
(!(w->windowType() == Qt::Dialog) || !w->parentWidget()) && !w->testAttribute(Qt::WA_DontShowOnScreen)) {
e->ignore();
return true;
}

View File

@ -42,6 +42,7 @@
#include <QtGui/qpa/qplatformsystemtrayicon.h>
#include <qpa/qplatformtheme.h>
#include <private/qguiapplication_p.h>
#include <private/qhighdpiscaling_p.h>
#include <QApplication>
#include <QStyle>
@ -75,10 +76,14 @@ void QSystemTrayIconPrivate::remove_sys()
QRect QSystemTrayIconPrivate::geometry_sys() const
{
if (qpa_sys)
return qpa_sys->geometry();
else
if (!qpa_sys)
return QRect();
auto screen = QGuiApplication::primaryScreen();
#if QT_CONFIG(menu)
if (menu)
screen = menu->screen();
#endif
return QHighDpi::fromNativePixels(qpa_sys->geometry(), screen);
}
void QSystemTrayIconPrivate::updateIcon_sys()

View File

@ -0,0 +1,678 @@
# -*- coding: utf-8 -*-
#####################################################################
##
## Copyright (C) 2016 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the autotests of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:GPL-EXCEPT$
## 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 The Qt Company. For licensing terms
## and conditions see https://www.qt.io/terms-conditions. For further
## information use the contact form at https://www.qt.io/contact-us.
##
## GNU General Public License Usage
## Alternatively, this file may be used under the terms of the GNU
## General Public License version 3 as published by the Free Software
## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
## included in the packaging of this file. Please review the following
## information to ensure the GNU General Public License requirements will
## be met: https://www.gnu.org/licenses/gpl-3.0.html.
##
## $QT_END_LICENSE$
##
#####################################################################
################################################################################
## Form generated from reading UI file 'config.ui'
##
## Created by: Qt User Interface Compiler version 5.14.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QFont,
QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
QRadialGradient)
from PySide2.QtWidgets import *
import GammaView
class Ui_Config(object):
def setupUi(self, Config):
if Config.objectName():
Config.setObjectName(u"Config")
Config.resize(600, 650)
Config.setSizeGripEnabled(True)
self.vboxLayout = QVBoxLayout(Config)
self.vboxLayout.setSpacing(6)
self.vboxLayout.setContentsMargins(11, 11, 11, 11)
self.vboxLayout.setObjectName(u"vboxLayout")
self.vboxLayout.setContentsMargins(8, 8, 8, 8)
self.hboxLayout = QHBoxLayout()
self.hboxLayout.setSpacing(6)
self.hboxLayout.setObjectName(u"hboxLayout")
self.hboxLayout.setContentsMargins(0, 0, 0, 0)
self.ButtonGroup1 = QGroupBox(Config)
self.ButtonGroup1.setObjectName(u"ButtonGroup1")
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.ButtonGroup1.sizePolicy().hasHeightForWidth())
self.ButtonGroup1.setSizePolicy(sizePolicy)
self.vboxLayout1 = QVBoxLayout(self.ButtonGroup1)
self.vboxLayout1.setSpacing(6)
self.vboxLayout1.setContentsMargins(11, 11, 11, 11)
self.vboxLayout1.setObjectName(u"vboxLayout1")
self.vboxLayout1.setContentsMargins(11, 11, 11, 11)
self.size_176_220 = QRadioButton(self.ButtonGroup1)
self.size_176_220.setObjectName(u"size_176_220")
self.vboxLayout1.addWidget(self.size_176_220)
self.size_240_320 = QRadioButton(self.ButtonGroup1)
self.size_240_320.setObjectName(u"size_240_320")
self.vboxLayout1.addWidget(self.size_240_320)
self.size_320_240 = QRadioButton(self.ButtonGroup1)
self.size_320_240.setObjectName(u"size_320_240")
self.vboxLayout1.addWidget(self.size_320_240)
self.size_640_480 = QRadioButton(self.ButtonGroup1)
self.size_640_480.setObjectName(u"size_640_480")
self.vboxLayout1.addWidget(self.size_640_480)
self.size_800_600 = QRadioButton(self.ButtonGroup1)
self.size_800_600.setObjectName(u"size_800_600")
self.vboxLayout1.addWidget(self.size_800_600)
self.size_1024_768 = QRadioButton(self.ButtonGroup1)
self.size_1024_768.setObjectName(u"size_1024_768")
self.vboxLayout1.addWidget(self.size_1024_768)
self.hboxLayout1 = QHBoxLayout()
self.hboxLayout1.setSpacing(6)
self.hboxLayout1.setObjectName(u"hboxLayout1")
self.hboxLayout1.setContentsMargins(0, 0, 0, 0)
self.size_custom = QRadioButton(self.ButtonGroup1)
self.size_custom.setObjectName(u"size_custom")
sizePolicy1 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.size_custom.sizePolicy().hasHeightForWidth())
self.size_custom.setSizePolicy(sizePolicy1)
self.hboxLayout1.addWidget(self.size_custom)
self.size_width = QSpinBox(self.ButtonGroup1)
self.size_width.setObjectName(u"size_width")
self.size_width.setMinimum(1)
self.size_width.setMaximum(1280)
self.size_width.setSingleStep(16)
self.size_width.setValue(400)
self.hboxLayout1.addWidget(self.size_width)
self.size_height = QSpinBox(self.ButtonGroup1)
self.size_height.setObjectName(u"size_height")
self.size_height.setMinimum(1)
self.size_height.setMaximum(1024)
self.size_height.setSingleStep(16)
self.size_height.setValue(300)
self.hboxLayout1.addWidget(self.size_height)
self.vboxLayout1.addLayout(self.hboxLayout1)
self.hboxLayout.addWidget(self.ButtonGroup1)
self.ButtonGroup2 = QGroupBox(Config)
self.ButtonGroup2.setObjectName(u"ButtonGroup2")
self.vboxLayout2 = QVBoxLayout(self.ButtonGroup2)
self.vboxLayout2.setSpacing(6)
self.vboxLayout2.setContentsMargins(11, 11, 11, 11)
self.vboxLayout2.setObjectName(u"vboxLayout2")
self.vboxLayout2.setContentsMargins(11, 11, 11, 11)
self.depth_1 = QRadioButton(self.ButtonGroup2)
self.depth_1.setObjectName(u"depth_1")
self.vboxLayout2.addWidget(self.depth_1)
self.depth_4gray = QRadioButton(self.ButtonGroup2)
self.depth_4gray.setObjectName(u"depth_4gray")
self.vboxLayout2.addWidget(self.depth_4gray)
self.depth_8 = QRadioButton(self.ButtonGroup2)
self.depth_8.setObjectName(u"depth_8")
self.vboxLayout2.addWidget(self.depth_8)
self.depth_12 = QRadioButton(self.ButtonGroup2)
self.depth_12.setObjectName(u"depth_12")
self.vboxLayout2.addWidget(self.depth_12)
self.depth_15 = QRadioButton(self.ButtonGroup2)
self.depth_15.setObjectName(u"depth_15")
self.vboxLayout2.addWidget(self.depth_15)
self.depth_16 = QRadioButton(self.ButtonGroup2)
self.depth_16.setObjectName(u"depth_16")
self.vboxLayout2.addWidget(self.depth_16)
self.depth_18 = QRadioButton(self.ButtonGroup2)
self.depth_18.setObjectName(u"depth_18")
self.vboxLayout2.addWidget(self.depth_18)
self.depth_24 = QRadioButton(self.ButtonGroup2)
self.depth_24.setObjectName(u"depth_24")
self.vboxLayout2.addWidget(self.depth_24)
self.depth_32 = QRadioButton(self.ButtonGroup2)
self.depth_32.setObjectName(u"depth_32")
self.vboxLayout2.addWidget(self.depth_32)
self.depth_32_argb = QRadioButton(self.ButtonGroup2)
self.depth_32_argb.setObjectName(u"depth_32_argb")
self.vboxLayout2.addWidget(self.depth_32_argb)
self.hboxLayout.addWidget(self.ButtonGroup2)
self.vboxLayout.addLayout(self.hboxLayout)
self.hboxLayout2 = QHBoxLayout()
self.hboxLayout2.setSpacing(6)
self.hboxLayout2.setObjectName(u"hboxLayout2")
self.hboxLayout2.setContentsMargins(0, 0, 0, 0)
self.TextLabel1_3 = QLabel(Config)
self.TextLabel1_3.setObjectName(u"TextLabel1_3")
self.hboxLayout2.addWidget(self.TextLabel1_3)
self.skin = QComboBox(Config)
self.skin.addItem("")
self.skin.setObjectName(u"skin")
sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.skin.sizePolicy().hasHeightForWidth())
self.skin.setSizePolicy(sizePolicy2)
self.hboxLayout2.addWidget(self.skin)
self.vboxLayout.addLayout(self.hboxLayout2)
self.touchScreen = QCheckBox(Config)
self.touchScreen.setObjectName(u"touchScreen")
self.vboxLayout.addWidget(self.touchScreen)
self.lcdScreen = QCheckBox(Config)
self.lcdScreen.setObjectName(u"lcdScreen")
self.vboxLayout.addWidget(self.lcdScreen)
self.spacerItem = QSpacerItem(20, 10, QSizePolicy.Minimum, QSizePolicy.Expanding)
self.vboxLayout.addItem(self.spacerItem)
self.TextLabel1 = QLabel(Config)
self.TextLabel1.setObjectName(u"TextLabel1")
sizePolicy.setHeightForWidth(self.TextLabel1.sizePolicy().hasHeightForWidth())
self.TextLabel1.setSizePolicy(sizePolicy)
self.TextLabel1.setWordWrap(True)
self.vboxLayout.addWidget(self.TextLabel1)
self.GroupBox1 = QGroupBox(Config)
self.GroupBox1.setObjectName(u"GroupBox1")
self.gridLayout = QGridLayout(self.GroupBox1)
self.gridLayout.setSpacing(6)
self.gridLayout.setContentsMargins(11, 11, 11, 11)
self.gridLayout.setObjectName(u"gridLayout")
self.gridLayout.setHorizontalSpacing(6)
self.gridLayout.setVerticalSpacing(6)
self.gridLayout.setContentsMargins(11, 11, 11, 11)
self.TextLabel3 = QLabel(self.GroupBox1)
self.TextLabel3.setObjectName(u"TextLabel3")
self.gridLayout.addWidget(self.TextLabel3, 6, 0, 1, 1)
self.bslider = QSlider(self.GroupBox1)
self.bslider.setObjectName(u"bslider")
palette = QPalette()
brush = QBrush(QColor(128, 128, 128, 255))
brush.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.WindowText, brush)
brush1 = QBrush(QColor(0, 0, 255, 255))
brush1.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Button, brush1)
brush2 = QBrush(QColor(127, 127, 255, 255))
brush2.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Light, brush2)
brush3 = QBrush(QColor(38, 38, 255, 255))
brush3.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Midlight, brush3)
brush4 = QBrush(QColor(0, 0, 127, 255))
brush4.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Dark, brush4)
brush5 = QBrush(QColor(0, 0, 170, 255))
brush5.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Mid, brush5)
brush6 = QBrush(QColor(0, 0, 0, 255))
brush6.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Text, brush6)
brush7 = QBrush(QColor(255, 255, 255, 255))
brush7.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.BrightText, brush7)
palette.setBrush(QPalette.Active, QPalette.ButtonText, brush)
palette.setBrush(QPalette.Active, QPalette.Base, brush7)
brush8 = QBrush(QColor(220, 220, 220, 255))
brush8.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Window, brush8)
palette.setBrush(QPalette.Active, QPalette.Shadow, brush6)
brush9 = QBrush(QColor(10, 95, 137, 255))
brush9.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.Highlight, brush9)
palette.setBrush(QPalette.Active, QPalette.HighlightedText, brush7)
palette.setBrush(QPalette.Active, QPalette.Link, brush6)
palette.setBrush(QPalette.Active, QPalette.LinkVisited, brush6)
brush10 = QBrush(QColor(232, 232, 232, 255))
brush10.setStyle(Qt.SolidPattern)
palette.setBrush(QPalette.Active, QPalette.AlternateBase, brush10)
palette.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
palette.setBrush(QPalette.Inactive, QPalette.Button, brush1)
palette.setBrush(QPalette.Inactive, QPalette.Light, brush2)
palette.setBrush(QPalette.Inactive, QPalette.Midlight, brush3)
palette.setBrush(QPalette.Inactive, QPalette.Dark, brush4)
palette.setBrush(QPalette.Inactive, QPalette.Mid, brush5)
palette.setBrush(QPalette.Inactive, QPalette.Text, brush6)
palette.setBrush(QPalette.Inactive, QPalette.BrightText, brush7)
palette.setBrush(QPalette.Inactive, QPalette.ButtonText, brush)
palette.setBrush(QPalette.Inactive, QPalette.Base, brush7)
palette.setBrush(QPalette.Inactive, QPalette.Window, brush8)
palette.setBrush(QPalette.Inactive, QPalette.Shadow, brush6)
palette.setBrush(QPalette.Inactive, QPalette.Highlight, brush9)
palette.setBrush(QPalette.Inactive, QPalette.HighlightedText, brush7)
palette.setBrush(QPalette.Inactive, QPalette.Link, brush6)
palette.setBrush(QPalette.Inactive, QPalette.LinkVisited, brush6)
palette.setBrush(QPalette.Inactive, QPalette.AlternateBase, brush10)
palette.setBrush(QPalette.Disabled, QPalette.WindowText, brush)
palette.setBrush(QPalette.Disabled, QPalette.Button, brush1)
palette.setBrush(QPalette.Disabled, QPalette.Light, brush2)
palette.setBrush(QPalette.Disabled, QPalette.Midlight, brush3)
palette.setBrush(QPalette.Disabled, QPalette.Dark, brush4)
palette.setBrush(QPalette.Disabled, QPalette.Mid, brush5)
palette.setBrush(QPalette.Disabled, QPalette.Text, brush6)
palette.setBrush(QPalette.Disabled, QPalette.BrightText, brush7)
palette.setBrush(QPalette.Disabled, QPalette.ButtonText, brush)
palette.setBrush(QPalette.Disabled, QPalette.Base, brush7)
palette.setBrush(QPalette.Disabled, QPalette.Window, brush8)
palette.setBrush(QPalette.Disabled, QPalette.Shadow, brush6)
palette.setBrush(QPalette.Disabled, QPalette.Highlight, brush9)
palette.setBrush(QPalette.Disabled, QPalette.HighlightedText, brush7)
palette.setBrush(QPalette.Disabled, QPalette.Link, brush6)
palette.setBrush(QPalette.Disabled, QPalette.LinkVisited, brush6)
palette.setBrush(QPalette.Disabled, QPalette.AlternateBase, brush10)
self.bslider.setPalette(palette)
self.bslider.setMaximum(400)
self.bslider.setValue(100)
self.bslider.setOrientation(Qt.Horizontal)
self.gridLayout.addWidget(self.bslider, 6, 1, 1, 1)
self.blabel = QLabel(self.GroupBox1)
self.blabel.setObjectName(u"blabel")
self.gridLayout.addWidget(self.blabel, 6, 2, 1, 1)
self.TextLabel2 = QLabel(self.GroupBox1)
self.TextLabel2.setObjectName(u"TextLabel2")
self.gridLayout.addWidget(self.TextLabel2, 4, 0, 1, 1)
self.gslider = QSlider(self.GroupBox1)
self.gslider.setObjectName(u"gslider")
palette1 = QPalette()
palette1.setBrush(QPalette.Active, QPalette.WindowText, brush)
brush11 = QBrush(QColor(0, 255, 0, 255))
brush11.setStyle(Qt.SolidPattern)
palette1.setBrush(QPalette.Active, QPalette.Button, brush11)
brush12 = QBrush(QColor(127, 255, 127, 255))
brush12.setStyle(Qt.SolidPattern)
palette1.setBrush(QPalette.Active, QPalette.Light, brush12)
brush13 = QBrush(QColor(38, 255, 38, 255))
brush13.setStyle(Qt.SolidPattern)
palette1.setBrush(QPalette.Active, QPalette.Midlight, brush13)
brush14 = QBrush(QColor(0, 127, 0, 255))
brush14.setStyle(Qt.SolidPattern)
palette1.setBrush(QPalette.Active, QPalette.Dark, brush14)
brush15 = QBrush(QColor(0, 170, 0, 255))
brush15.setStyle(Qt.SolidPattern)
palette1.setBrush(QPalette.Active, QPalette.Mid, brush15)
palette1.setBrush(QPalette.Active, QPalette.Text, brush6)
palette1.setBrush(QPalette.Active, QPalette.BrightText, brush7)
palette1.setBrush(QPalette.Active, QPalette.ButtonText, brush)
palette1.setBrush(QPalette.Active, QPalette.Base, brush7)
palette1.setBrush(QPalette.Active, QPalette.Window, brush8)
palette1.setBrush(QPalette.Active, QPalette.Shadow, brush6)
palette1.setBrush(QPalette.Active, QPalette.Highlight, brush9)
palette1.setBrush(QPalette.Active, QPalette.HighlightedText, brush7)
palette1.setBrush(QPalette.Active, QPalette.Link, brush6)
palette1.setBrush(QPalette.Active, QPalette.LinkVisited, brush6)
palette1.setBrush(QPalette.Active, QPalette.AlternateBase, brush10)
palette1.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
palette1.setBrush(QPalette.Inactive, QPalette.Button, brush11)
palette1.setBrush(QPalette.Inactive, QPalette.Light, brush12)
palette1.setBrush(QPalette.Inactive, QPalette.Midlight, brush13)
palette1.setBrush(QPalette.Inactive, QPalette.Dark, brush14)
palette1.setBrush(QPalette.Inactive, QPalette.Mid, brush15)
palette1.setBrush(QPalette.Inactive, QPalette.Text, brush6)
palette1.setBrush(QPalette.Inactive, QPalette.BrightText, brush7)
palette1.setBrush(QPalette.Inactive, QPalette.ButtonText, brush)
palette1.setBrush(QPalette.Inactive, QPalette.Base, brush7)
palette1.setBrush(QPalette.Inactive, QPalette.Window, brush8)
palette1.setBrush(QPalette.Inactive, QPalette.Shadow, brush6)
palette1.setBrush(QPalette.Inactive, QPalette.Highlight, brush9)
palette1.setBrush(QPalette.Inactive, QPalette.HighlightedText, brush7)
palette1.setBrush(QPalette.Inactive, QPalette.Link, brush6)
palette1.setBrush(QPalette.Inactive, QPalette.LinkVisited, brush6)
palette1.setBrush(QPalette.Inactive, QPalette.AlternateBase, brush10)
palette1.setBrush(QPalette.Disabled, QPalette.WindowText, brush)
palette1.setBrush(QPalette.Disabled, QPalette.Button, brush11)
palette1.setBrush(QPalette.Disabled, QPalette.Light, brush12)
palette1.setBrush(QPalette.Disabled, QPalette.Midlight, brush13)
palette1.setBrush(QPalette.Disabled, QPalette.Dark, brush14)
palette1.setBrush(QPalette.Disabled, QPalette.Mid, brush15)
palette1.setBrush(QPalette.Disabled, QPalette.Text, brush6)
palette1.setBrush(QPalette.Disabled, QPalette.BrightText, brush7)
palette1.setBrush(QPalette.Disabled, QPalette.ButtonText, brush)
palette1.setBrush(QPalette.Disabled, QPalette.Base, brush7)
palette1.setBrush(QPalette.Disabled, QPalette.Window, brush8)
palette1.setBrush(QPalette.Disabled, QPalette.Shadow, brush6)
palette1.setBrush(QPalette.Disabled, QPalette.Highlight, brush9)
palette1.setBrush(QPalette.Disabled, QPalette.HighlightedText, brush7)
palette1.setBrush(QPalette.Disabled, QPalette.Link, brush6)
palette1.setBrush(QPalette.Disabled, QPalette.LinkVisited, brush6)
palette1.setBrush(QPalette.Disabled, QPalette.AlternateBase, brush10)
self.gslider.setPalette(palette1)
self.gslider.setMaximum(400)
self.gslider.setValue(100)
self.gslider.setOrientation(Qt.Horizontal)
self.gridLayout.addWidget(self.gslider, 4, 1, 1, 1)
self.glabel = QLabel(self.GroupBox1)
self.glabel.setObjectName(u"glabel")
self.gridLayout.addWidget(self.glabel, 4, 2, 1, 1)
self.TextLabel7 = QLabel(self.GroupBox1)
self.TextLabel7.setObjectName(u"TextLabel7")
self.gridLayout.addWidget(self.TextLabel7, 0, 0, 1, 1)
self.TextLabel8 = QLabel(self.GroupBox1)
self.TextLabel8.setObjectName(u"TextLabel8")
self.gridLayout.addWidget(self.TextLabel8, 0, 2, 1, 1)
self.gammaslider = QSlider(self.GroupBox1)
self.gammaslider.setObjectName(u"gammaslider")
palette2 = QPalette()
palette2.setBrush(QPalette.Active, QPalette.WindowText, brush)
palette2.setBrush(QPalette.Active, QPalette.Button, brush7)
palette2.setBrush(QPalette.Active, QPalette.Light, brush7)
palette2.setBrush(QPalette.Active, QPalette.Midlight, brush7)
brush16 = QBrush(QColor(127, 127, 127, 255))
brush16.setStyle(Qt.SolidPattern)
palette2.setBrush(QPalette.Active, QPalette.Dark, brush16)
brush17 = QBrush(QColor(170, 170, 170, 255))
brush17.setStyle(Qt.SolidPattern)
palette2.setBrush(QPalette.Active, QPalette.Mid, brush17)
palette2.setBrush(QPalette.Active, QPalette.Text, brush6)
palette2.setBrush(QPalette.Active, QPalette.BrightText, brush7)
palette2.setBrush(QPalette.Active, QPalette.ButtonText, brush)
palette2.setBrush(QPalette.Active, QPalette.Base, brush7)
palette2.setBrush(QPalette.Active, QPalette.Window, brush8)
palette2.setBrush(QPalette.Active, QPalette.Shadow, brush6)
palette2.setBrush(QPalette.Active, QPalette.Highlight, brush9)
palette2.setBrush(QPalette.Active, QPalette.HighlightedText, brush7)
palette2.setBrush(QPalette.Active, QPalette.Link, brush6)
palette2.setBrush(QPalette.Active, QPalette.LinkVisited, brush6)
palette2.setBrush(QPalette.Active, QPalette.AlternateBase, brush10)
palette2.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
palette2.setBrush(QPalette.Inactive, QPalette.Button, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.Light, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.Midlight, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.Dark, brush16)
palette2.setBrush(QPalette.Inactive, QPalette.Mid, brush17)
palette2.setBrush(QPalette.Inactive, QPalette.Text, brush6)
palette2.setBrush(QPalette.Inactive, QPalette.BrightText, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.ButtonText, brush)
palette2.setBrush(QPalette.Inactive, QPalette.Base, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.Window, brush8)
palette2.setBrush(QPalette.Inactive, QPalette.Shadow, brush6)
palette2.setBrush(QPalette.Inactive, QPalette.Highlight, brush9)
palette2.setBrush(QPalette.Inactive, QPalette.HighlightedText, brush7)
palette2.setBrush(QPalette.Inactive, QPalette.Link, brush6)
palette2.setBrush(QPalette.Inactive, QPalette.LinkVisited, brush6)
palette2.setBrush(QPalette.Inactive, QPalette.AlternateBase, brush10)
palette2.setBrush(QPalette.Disabled, QPalette.WindowText, brush)
palette2.setBrush(QPalette.Disabled, QPalette.Button, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.Light, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.Midlight, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.Dark, brush16)
palette2.setBrush(QPalette.Disabled, QPalette.Mid, brush17)
palette2.setBrush(QPalette.Disabled, QPalette.Text, brush6)
palette2.setBrush(QPalette.Disabled, QPalette.BrightText, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.ButtonText, brush)
palette2.setBrush(QPalette.Disabled, QPalette.Base, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.Window, brush8)
palette2.setBrush(QPalette.Disabled, QPalette.Shadow, brush6)
palette2.setBrush(QPalette.Disabled, QPalette.Highlight, brush9)
palette2.setBrush(QPalette.Disabled, QPalette.HighlightedText, brush7)
palette2.setBrush(QPalette.Disabled, QPalette.Link, brush6)
palette2.setBrush(QPalette.Disabled, QPalette.LinkVisited, brush6)
palette2.setBrush(QPalette.Disabled, QPalette.AlternateBase, brush10)
self.gammaslider.setPalette(palette2)
self.gammaslider.setMaximum(400)
self.gammaslider.setValue(100)
self.gammaslider.setOrientation(Qt.Horizontal)
self.gridLayout.addWidget(self.gammaslider, 0, 1, 1, 1)
self.TextLabel1_2 = QLabel(self.GroupBox1)
self.TextLabel1_2.setObjectName(u"TextLabel1_2")
self.gridLayout.addWidget(self.TextLabel1_2, 2, 0, 1, 1)
self.rlabel = QLabel(self.GroupBox1)
self.rlabel.setObjectName(u"rlabel")
self.gridLayout.addWidget(self.rlabel, 2, 2, 1, 1)
self.rslider = QSlider(self.GroupBox1)
self.rslider.setObjectName(u"rslider")
palette3 = QPalette()
palette3.setBrush(QPalette.Active, QPalette.WindowText, brush)
brush18 = QBrush(QColor(255, 0, 0, 255))
brush18.setStyle(Qt.SolidPattern)
palette3.setBrush(QPalette.Active, QPalette.Button, brush18)
brush19 = QBrush(QColor(255, 127, 127, 255))
brush19.setStyle(Qt.SolidPattern)
palette3.setBrush(QPalette.Active, QPalette.Light, brush19)
brush20 = QBrush(QColor(255, 38, 38, 255))
brush20.setStyle(Qt.SolidPattern)
palette3.setBrush(QPalette.Active, QPalette.Midlight, brush20)
brush21 = QBrush(QColor(127, 0, 0, 255))
brush21.setStyle(Qt.SolidPattern)
palette3.setBrush(QPalette.Active, QPalette.Dark, brush21)
brush22 = QBrush(QColor(170, 0, 0, 255))
brush22.setStyle(Qt.SolidPattern)
palette3.setBrush(QPalette.Active, QPalette.Mid, brush22)
palette3.setBrush(QPalette.Active, QPalette.Text, brush6)
palette3.setBrush(QPalette.Active, QPalette.BrightText, brush7)
palette3.setBrush(QPalette.Active, QPalette.ButtonText, brush)
palette3.setBrush(QPalette.Active, QPalette.Base, brush7)
palette3.setBrush(QPalette.Active, QPalette.Window, brush8)
palette3.setBrush(QPalette.Active, QPalette.Shadow, brush6)
palette3.setBrush(QPalette.Active, QPalette.Highlight, brush9)
palette3.setBrush(QPalette.Active, QPalette.HighlightedText, brush7)
palette3.setBrush(QPalette.Active, QPalette.Link, brush6)
palette3.setBrush(QPalette.Active, QPalette.LinkVisited, brush6)
palette3.setBrush(QPalette.Active, QPalette.AlternateBase, brush10)
palette3.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
palette3.setBrush(QPalette.Inactive, QPalette.Button, brush18)
palette3.setBrush(QPalette.Inactive, QPalette.Light, brush19)
palette3.setBrush(QPalette.Inactive, QPalette.Midlight, brush20)
palette3.setBrush(QPalette.Inactive, QPalette.Dark, brush21)
palette3.setBrush(QPalette.Inactive, QPalette.Mid, brush22)
palette3.setBrush(QPalette.Inactive, QPalette.Text, brush6)
palette3.setBrush(QPalette.Inactive, QPalette.BrightText, brush7)
palette3.setBrush(QPalette.Inactive, QPalette.ButtonText, brush)
palette3.setBrush(QPalette.Inactive, QPalette.Base, brush7)
palette3.setBrush(QPalette.Inactive, QPalette.Window, brush8)
palette3.setBrush(QPalette.Inactive, QPalette.Shadow, brush6)
palette3.setBrush(QPalette.Inactive, QPalette.Highlight, brush9)
palette3.setBrush(QPalette.Inactive, QPalette.HighlightedText, brush7)
palette3.setBrush(QPalette.Inactive, QPalette.Link, brush6)
palette3.setBrush(QPalette.Inactive, QPalette.LinkVisited, brush6)
palette3.setBrush(QPalette.Inactive, QPalette.AlternateBase, brush10)
palette3.setBrush(QPalette.Disabled, QPalette.WindowText, brush)
palette3.setBrush(QPalette.Disabled, QPalette.Button, brush18)
palette3.setBrush(QPalette.Disabled, QPalette.Light, brush19)
palette3.setBrush(QPalette.Disabled, QPalette.Midlight, brush20)
palette3.setBrush(QPalette.Disabled, QPalette.Dark, brush21)
palette3.setBrush(QPalette.Disabled, QPalette.Mid, brush22)
palette3.setBrush(QPalette.Disabled, QPalette.Text, brush6)
palette3.setBrush(QPalette.Disabled, QPalette.BrightText, brush7)
palette3.setBrush(QPalette.Disabled, QPalette.ButtonText, brush)
palette3.setBrush(QPalette.Disabled, QPalette.Base, brush7)
palette3.setBrush(QPalette.Disabled, QPalette.Window, brush8)
palette3.setBrush(QPalette.Disabled, QPalette.Shadow, brush6)
palette3.setBrush(QPalette.Disabled, QPalette.Highlight, brush9)
palette3.setBrush(QPalette.Disabled, QPalette.HighlightedText, brush7)
palette3.setBrush(QPalette.Disabled, QPalette.Link, brush6)
palette3.setBrush(QPalette.Disabled, QPalette.LinkVisited, brush6)
palette3.setBrush(QPalette.Disabled, QPalette.AlternateBase, brush10)
self.rslider.setPalette(palette3)
self.rslider.setMaximum(400)
self.rslider.setValue(100)
self.rslider.setOrientation(Qt.Horizontal)
self.gridLayout.addWidget(self.rslider, 2, 1, 1, 1)
self.PushButton3 = QPushButton(self.GroupBox1)
self.PushButton3.setObjectName(u"PushButton3")
self.gridLayout.addWidget(self.PushButton3, 8, 0, 1, 3)
self.MyCustomWidget1 = GammaView(self.GroupBox1)
self.MyCustomWidget1.setObjectName(u"MyCustomWidget1")
self.gridLayout.addWidget(self.MyCustomWidget1, 0, 3, 9, 1)
self.vboxLayout.addWidget(self.GroupBox1)
self.hboxLayout3 = QHBoxLayout()
self.hboxLayout3.setSpacing(6)
self.hboxLayout3.setObjectName(u"hboxLayout3")
self.hboxLayout3.setContentsMargins(0, 0, 0, 0)
self.spacerItem1 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.hboxLayout3.addItem(self.spacerItem1)
self.buttonOk = QPushButton(Config)
self.buttonOk.setObjectName(u"buttonOk")
self.buttonOk.setAutoDefault(True)
self.hboxLayout3.addWidget(self.buttonOk)
self.buttonCancel = QPushButton(Config)
self.buttonCancel.setObjectName(u"buttonCancel")
self.buttonCancel.setAutoDefault(True)
self.hboxLayout3.addWidget(self.buttonCancel)
self.vboxLayout.addLayout(self.hboxLayout3)
self.retranslateUi(Config)
self.size_width.valueChanged.connect(self.size_custom.click)
self.size_height.valueChanged.connect(self.size_custom.click)
self.buttonOk.setDefault(True)
QMetaObject.connectSlotsByName(Config)
# setupUi
def retranslateUi(self, Config):
Config.setWindowTitle(QCoreApplication.translate("Config", u"Configure", None))
self.ButtonGroup1.setTitle(QCoreApplication.translate("Config", u"Size", None))
self.size_176_220.setText(QCoreApplication.translate("Config", u"176x220 \"SmartPhone\"", None))
self.size_240_320.setText(QCoreApplication.translate("Config", u"240x320 \"PDA\"", None))
self.size_320_240.setText(QCoreApplication.translate("Config", u"320x240 \"TV\" / \"QVGA\"", None))
self.size_640_480.setText(QCoreApplication.translate("Config", u"640x480 \"VGA\"", None))
self.size_800_600.setText(QCoreApplication.translate("Config", u"800x600", None))
self.size_1024_768.setText(QCoreApplication.translate("Config", u"1024x768", None))
self.size_custom.setText(QCoreApplication.translate("Config", u"Custom", None))
self.ButtonGroup2.setTitle(QCoreApplication.translate("Config", u"Depth", None))
self.depth_1.setText(QCoreApplication.translate("Config", u"1 bit monochrome", None))
self.depth_4gray.setText(QCoreApplication.translate("Config", u"4 bit grayscale", None))
self.depth_8.setText(QCoreApplication.translate("Config", u"8 bit", None))
self.depth_12.setText(QCoreApplication.translate("Config", u"12 (16) bit", None))
self.depth_15.setText(QCoreApplication.translate("Config", u"15 bit", None))
self.depth_16.setText(QCoreApplication.translate("Config", u"16 bit", None))
self.depth_18.setText(QCoreApplication.translate("Config", u"18 bit", None))
self.depth_24.setText(QCoreApplication.translate("Config", u"24 bit", None))
self.depth_32.setText(QCoreApplication.translate("Config", u"32 bit", None))
self.depth_32_argb.setText(QCoreApplication.translate("Config", u"32 bit ARGB", None))
self.TextLabel1_3.setText(QCoreApplication.translate("Config", u"Skin", None))
self.skin.setItemText(0, QCoreApplication.translate("Config", u"None", None))
self.touchScreen.setText(QCoreApplication.translate("Config", u"Emulate touch screen (no mouse move)", None))
self.lcdScreen.setText(QCoreApplication.translate("Config", u"Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)", None))
self.TextLabel1.setText(QCoreApplication.translate("Config", u"<p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.", None))
self.GroupBox1.setTitle(QCoreApplication.translate("Config", u"Gamma", None))
self.TextLabel3.setText(QCoreApplication.translate("Config", u"Blue", None))
self.blabel.setText(QCoreApplication.translate("Config", u"1.0", None))
self.TextLabel2.setText(QCoreApplication.translate("Config", u"Green", None))
self.glabel.setText(QCoreApplication.translate("Config", u"1.0", None))
self.TextLabel7.setText(QCoreApplication.translate("Config", u"All", None))
self.TextLabel8.setText(QCoreApplication.translate("Config", u"1.0", None))
self.TextLabel1_2.setText(QCoreApplication.translate("Config", u"Red", None))
self.rlabel.setText(QCoreApplication.translate("Config", u"1.0", None))
self.PushButton3.setText(QCoreApplication.translate("Config", u"Set all to 1.0", None))
self.buttonOk.setText(QCoreApplication.translate("Config", u"&OK", None))
self.buttonCancel.setText(QCoreApplication.translate("Config", u"&Cancel", None))
# retranslateUi

View File

@ -45,11 +45,23 @@ static const char diffToStderrEnvVar[] = "UIC_STDERR_DIFF";
struct TestEntry
{
enum Flag
{
IdBasedTranslation = 0x1,
Python = 0x2, // Python baseline is present
DontTestPythonCompile = 0x4 // Do not test Python compilation
};
Q_DECLARE_FLAGS(Flags, Flag)
QByteArray name;
QString baselineBaseName;
QString uiFileName;
QString baseLineFileName;
QString generatedFileName;
Flags flags;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(TestEntry::Flags)
class tst_uic : public QObject
{
Q_OBJECT
@ -73,8 +85,8 @@ private Q_SLOTS:
void compare();
void compare_data() const;
void python();
void python_data() const;
void pythonCompile();
void pythonCompile_data() const;
void runCompare();
@ -89,9 +101,12 @@ private:
QString m_python;
};
static const char versionRegexp[] =
R"([*#][*#] Created by: Qt User Interface Compiler version \d{1,2}\.\d{1,2}\.\d{1,2})";
tst_uic::tst_uic()
: m_command(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/uic"))
, m_versionRegexp(QLatin1String(R"(\*\* Created by: Qt User Interface Compiler version \d{1,2}\.\d{1,2}\.\d{1,2})"))
, m_versionRegexp(QLatin1String(versionRegexp))
{
}
@ -165,10 +180,27 @@ void tst_uic::populateTestEntries()
m_testEntries.reserve(baselineFiles.size());
for (const QFileInfo &baselineFile : baselineFiles) {
const QString baseName = baselineFile.baseName();
const QString baselineBaseName = baseLinePrefix + baseName;
const QString generatedFile = generatedPrefix + baselineFile.fileName()
+ QLatin1String(".h");
m_testEntries.append(TestEntry{baseName.toLocal8Bit(), baselineBaseName, generatedFile});
TestEntry entry;
// qprintsettingsoutput: variable named 'from' clashes with Python
if (baseName == QLatin1String("qprintsettingsoutput"))
entry.flags.setFlag(TestEntry::DontTestPythonCompile);
else if (baseName == QLatin1String("qttrid"))
entry.flags.setFlag(TestEntry::IdBasedTranslation);
entry.name = baseName.toLocal8Bit();
entry.uiFileName = baselineFile.absoluteFilePath();
entry.baseLineFileName = entry.uiFileName + QLatin1String(".h");
const QString generatedFilePrefix = generatedPrefix + baselineFile.fileName();
entry.generatedFileName = generatedFilePrefix + QLatin1String(".h");
m_testEntries.append(entry);
// Check for a Python baseline
entry.baseLineFileName = entry.uiFileName + QLatin1String(".py");
if (QFileInfo::exists(entry.baseLineFileName)) {
entry.name.append(QByteArrayLiteral("-python"));
entry.flags.setFlag(TestEntry::DontTestPythonCompile);
entry.flags.setFlag(TestEntry::Python);
entry.generatedFileName = generatedFilePrefix + QLatin1String(".py");
m_testEntries.append(entry);
}
}
}
@ -237,9 +269,11 @@ void tst_uic::run_data() const
for (const TestEntry &te : m_testEntries) {
QStringList options;
if (te.name == QByteArrayLiteral("qttrid"))
options << QStringList(QLatin1String("-idbased"));
QTest::newRow(te.name.constData()) << (te.baselineBaseName + QLatin1String(".ui"))
if (te.flags.testFlag(TestEntry::IdBasedTranslation))
options.append(QLatin1String("-idbased"));
if (te.flags.testFlag(TestEntry::Python))
options << QLatin1String("-g") << QLatin1String("python");
QTest::newRow(te.name.constData()) << te.uiFileName
<< te.generatedFileName << options;
}
}
@ -319,7 +353,7 @@ void tst_uic::compare_data() const
QTest::addColumn<QString>("generatedFile");
for (const TestEntry &te : m_testEntries) {
QTest::newRow(te.name.constData()) << (te.baselineBaseName + QLatin1String(".ui.h"))
QTest::newRow(te.name.constData()) << te.baseLineFileName
<< te.generatedFileName;
}
}
@ -396,7 +430,8 @@ static inline QByteArray msgCompilePythonFailed(const QByteArray &error)
return lines.join('\n');
}
void tst_uic::python_data() const
// Test Python code generation by compiling the file
void tst_uic::pythonCompile_data() const
{
QTest::addColumn<QString>("originalFile");
QTest::addColumn<QString>("generatedFile");
@ -405,19 +440,15 @@ void tst_uic::python_data() const
? qMin(1, m_testEntries.size()) : m_testEntries.size();
for (int i = 0; i < size; ++i) {
const TestEntry &te = m_testEntries.at(i);
// qprintsettingsoutput: variable named 'from' clashes with Python
if (!te.baselineBaseName.endsWith(QLatin1String("/qprintsettingsoutput"))) {
QString generatedFile = te.generatedFileName;
generatedFile.chop(1); // foo.h -> foo.py
generatedFile.append(QLatin1String("py"));
if (!te.flags.testFlag(TestEntry::DontTestPythonCompile)) {
QTest::newRow(te.name.constData())
<< (te.baselineBaseName + QLatin1String(".ui"))
<< generatedFile;
<< te.uiFileName
<< te.generatedFileName;
}
}
}
void tst_uic::python()
void tst_uic::pythonCompile()
{
QFETCH(QString, originalFile);
QFETCH(QString, generatedFile);