Merge remote-tracking branch 'origin/5.13' into dev

Conflicts:
	tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp

Added tests/auto/testlib/selftests/expected_crashes_5.txt to work
round the output of the crashes test (which exercises UB, see
QTBUG-73903) being truncated on one test platform.

Change-Id: I9cd3f2639b4e50c3c4513e14629a40bdca8f8273
This commit is contained in:
Qt Forward Merge Bot 2019-02-20 01:01:00 +01:00 committed by Edward Welbourne
commit 035f934d7a
1117 changed files with 59318 additions and 21210 deletions

View File

@ -7,4 +7,3 @@ or follow one of these links:
Mac OS X: http://doc.qt.io/qt-%SHORTVERSION%/osx-building.html
Windows: http://doc.qt.io/qt-%SHORTVERSION%/windows-building.html
X11 Platforms: http://doc.qt.io/qt-%SHORTVERSION%/linux-building.html
Windows CE: http://doc.qt.io/qt-%SHORTVERSION%/install-wince.html

View File

@ -144,6 +144,9 @@ attribute_target("sha") void test_shani()
#endif
#if T(AVX)
# if defined(__WIN64__) && defined(__GNUC__) && !defined(__clang__)
# error "AVX support is broken in 64-bit MinGW - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49001"
# endif
attribute_target("avx") void test_avx()
{
__m256d a = _mm256_setzero_pd();

View File

@ -167,7 +167,8 @@ Build options:
-pch ................. Use precompiled headers [auto]
-ltcg ................ Use Link Time Code Generation [no]
-use-gold-linker ..... Use the GNU gold linker [auto]
-linker [bfd,gold,lld] Force use of the GNU ld, GNU gold or LLVM/LLD linker
instead of default one (GCC only)
-incredibuild-xge .... Use the IncrediBuild XGE [no] (Windows only)
-ccache .............. Use the ccache compiler cache [no] (Unix only)
-make-tool <tool> .... Use <tool> to build qmake [nmake] (Windows only)

View File

@ -90,6 +90,7 @@
"headersclean": "boolean",
"incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" },
"libudev": "boolean",
"linker": { "type": "optionalString", "values": [ "bfd", "gold", "lld" ] },
"ltcg": "boolean",
"make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] },
"make-tool": "string",
@ -131,7 +132,7 @@
"syncqt": "boolean",
"sysroot": "string",
"testcocoon": "boolean",
"use-gold-linker": { "type": "boolean", "name": "use_gold_linker" },
"use-gold-linker": { "type": "boolean", "name": "use_gold_linker_alias" },
"warnings-are-errors": { "type": "boolean", "name": "warnings_are_errors" },
"Werror": { "type": "boolean", "name": "warnings_are_errors" },
"widgets": "boolean",
@ -224,8 +225,8 @@
},
"testTypeDependencies": {
"linkerSupportsFlag": [ "use_gold_linker" ],
"verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "qmakeargs", "commit" ],
"linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
"verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
"compile": [ "verifyspec" ],
"detectPkgConfig": [ "cross_compile", "machineTuple" ],
"library": [ "pkg-config", "compiler-flags" ],
@ -357,11 +358,21 @@
]
}
},
"use_bfd_linker": {
"label": "bfd linker",
"type": "compilerSupportsFlag",
"flag": "-fuse-ld=bfd"
},
"use_gold_linker": {
"label": "gold linker",
"type": "compilerSupportsFlag",
"flag": "-fuse-ld=gold"
},
"use_lld_linker" : {
"label": "lld linker",
"type": "compilerSupportsFlag",
"flag": "-fuse-ld=lld"
},
"optimize_debug": {
"label": "-Og support",
"type": "compilerSupportsFlag",
@ -649,11 +660,34 @@
"output": [ "qmakeArgs" ],
"condition": "input.qmakeArgs != ''"
},
"use_bfd_linker": {
"label": "bfd",
"autoDetect": "false",
"enable" : "input.linker == 'bfd'",
"disable" : "input.linker == 'gold' || input.linker == 'lld'",
"condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_bfd_linker",
"output": [ "privateConfig", "useBFDLinker" ]
},
"use_gold_linker_alias": {
"autoDetect": "false",
"condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_gold_linker"
},
"use_gold_linker": {
"label": "Using gold linker",
"label": "gold",
"autoDetect": "false",
"enable" : "input.linker == 'gold' || features.use_gold_linker_alias" ,
"disable" : "input.linker == 'bfd' || input.linker == 'lld'",
"condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_gold_linker",
"output": [ "privateConfig", "useGoldLinker" ]
},
"use_lld_linker": {
"label": "lld",
"autoDetect": "false",
"enable" : "input.linker == 'lld'",
"disable" : "input.linker == 'bfd' || input.linker == 'gold'",
"condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_lld_linker",
"output": [ "privateConfig", "useLLDLinker" ]
},
"optimize_debug": {
"label": "Optimize debug build",
"condition": "!config.msvc && !config.clang && (features.debug || features.debug_and_release) && tests.optimize_debug",
@ -1165,7 +1199,7 @@
"label": "Thread support",
"purpose": "Provides QThread and related classes.",
"section": "Kernel",
"condition": "!config.wasm",
"autoDetect": "!config.wasm",
"output": [ "publicFeature" ]
},
"future": {
@ -1386,7 +1420,12 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5
"args": "ccache",
"condition": "config.unix"
},
"use_gold_linker",
{
"message": "Linker",
"type": "firstAvailableFeature",
"args": "use_bfd_linker use_gold_linker use_lld_linker",
"condition": "features.use_bfd_linker || features.use_gold_linker || features.use_lld_linker"
},
{
"type": "feature",
"args": "enable_new_dtags",

View File

@ -1026,6 +1026,14 @@ defineTest(qtConfOutput_crossCompile) {
export(CONFIG)
}
defineTest(qtConfOutput_useBFDLinker) {
!$${2}: return()
# We need to preempt the output here, so that qtConfTest_linkerSupportsFlag can work properly in qtbase
CONFIG += use_bfd_linker
export(CONFIG)
}
defineTest(qtConfOutput_useGoldLinker) {
!$${2}: return()
@ -1034,6 +1042,14 @@ defineTest(qtConfOutput_useGoldLinker) {
export(CONFIG)
}
defineTest(qtConfOutput_useLLDLinker) {
!$${2}: return()
# We need to preempt the output here, so that qtConfTest_linkerSupportsFlag can work properly in qtbase
CONFIG += use_lld_linker
export(CONFIG)
}
defineTest(qtConfOutput_debugAndRelease) {
$$qtConfEvaluate("features.debug") {
qtConfOutputVar(append, "publicPro", "CONFIG", "debug")

View File

@ -53,14 +53,12 @@
#include <QDialog>
#include <QDataStream>
#include <qlocalsocket.h>
#include <QLocalSocket>
QT_BEGIN_NAMESPACE
class QLabel;
class QLineEdit;
class QPushButton;
class QLocalSocket;
QT_END_NAMESPACE
class Client : public QDialog

View File

@ -49,9 +49,6 @@
****************************************************************************/
#include <QApplication>
#include <QtCore>
#include <stdlib.h>
#include "server.h"

View File

@ -48,15 +48,11 @@
**
****************************************************************************/
#include "server.h"
#include <QtWidgets>
#include <QtNetwork>
#include <stdlib.h>
#include "server.h"
#include <qlocalserver.h>
#include <qlocalsocket.h>
Server::Server(QWidget *parent)
: QDialog(parent)
{

View File

@ -51,7 +51,6 @@
#include "dialog.h"
#include <QFileDialog>
#include <QBuffer>
#include <QtCore/QDebug>
/*!
\class Dialog
@ -81,10 +80,10 @@ Dialog::Dialog(QWidget *parent)
: QDialog(parent), sharedMemory("QSharedMemoryExample")
{
ui.setupUi(this);
connect(ui.loadFromFileButton, SIGNAL(clicked()), SLOT(loadFromFile()));
connect(ui.loadFromSharedMemoryButton,
SIGNAL(clicked()),
SLOT(loadFromMemory()));
connect(ui.loadFromFileButton, &QPushButton::clicked,
this, &Dialog::loadFromFile);
connect(ui.loadFromSharedMemoryButton, &QPushButton::clicked,
this, &Dialog::loadFromMemory);
setWindowTitle(tr("SharedMemory Example"));
}
//! [0]

View File

@ -51,8 +51,8 @@
#ifndef DIALOG_H
#define DIALOG_H
#include <qdialog.h>
#include <qsharedmemory.h>
#include <QDialog>
#include <QSharedMemory>
#include "ui_dialog.h"
//! [0]
@ -61,7 +61,7 @@ class Dialog : public QDialog
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
Dialog(QWidget *parent = nullptr);
public slots:
void loadFromFile();

View File

@ -55,9 +55,6 @@
#include <QCommandLineParser>
#include <QCommandLineOption>
#include <QDebug>
#include <QMimeDatabase>
#include <QMimeType>
int main(int argc, char *argv[])
{

View File

@ -50,9 +50,8 @@
#include "mimetypemodel.h"
#include <QIcon>
#include <QDebug>
#include <QIcon>
#include <QMimeDatabase>
#include <QTextStream>
#include <QVariant>

View File

@ -2,8 +2,7 @@ QT += core
QT -= gui
TARGET = cbordump
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
TEMPLATE = app

View File

@ -56,7 +56,6 @@
#include <QCborArray>
#include <QCborValue>
#include <QDataStream>
#include <QDebug>
#include <QFloat16>
#include <QFile>
#include <QMetaType>

View File

@ -2,8 +2,7 @@ QT += core
QT -= gui
TARGET = convert
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
TEMPLATE = app

View File

@ -185,7 +185,7 @@ void Game::write(QJsonObject &json) const
json["player"] = playerObject;
QJsonArray levelArray;
for (const Level level : mLevels) {
for (const Level &level : mLevels) {
QJsonObject levelObject;
level.write(levelObject);
levelArray.append(levelObject);

View File

@ -97,7 +97,7 @@ void Level::write(QJsonObject &json) const
{
json["name"] = mName;
QJsonArray npcArray;
for (const Character npc : mNpcs) {
for (const Character &npc : mNpcs) {
QJsonObject npcObject;
npc.write(npcObject);
npcArray.append(npcObject);

View File

@ -2,8 +2,7 @@ QT += core
QT -= gui
TARGET = savegame
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
TEMPLATE = app

View File

@ -48,14 +48,13 @@
**
****************************************************************************/
#include "mandelbrotwidget.h"
#include <QPainter>
#include <QKeyEvent>
#include <math.h>
#include "mandelbrotwidget.h"
//! [0]
const double DefaultCenterX = -0.637011f;
const double DefaultCenterY = -0.0395159f;
@ -75,7 +74,8 @@ MandelbrotWidget::MandelbrotWidget(QWidget *parent)
pixmapScale = DefaultScale;
curScale = DefaultScale;
connect(&thread, SIGNAL(renderedImage(QImage,double)), this, SLOT(updatePixmap(QImage,double)));
connect(&thread, &RenderThread::renderedImage,
this, &MandelbrotWidget::updatePixmap);
setWindowTitle(tr("Mandelbrot"));
#ifndef QT_NO_CURSOR
@ -117,7 +117,8 @@ void MandelbrotWidget::paintEvent(QPaintEvent * /* event */)
painter.save();
painter.translate(newX, newY);
painter.scale(scaleFactor, scaleFactor);
QRectF exposed = painter.matrix().inverted().mapRect(rect()).adjusted(-1, -1, 1, 1);
QRectF exposed = painter.transform().inverted().mapRect(rect()).adjusted(-1, -1, 1, 1);
painter.drawPixmap(exposed, pixmap, exposed);
painter.restore();
}

View File

@ -62,7 +62,7 @@ class MandelbrotWidget : public QWidget
Q_OBJECT
public:
MandelbrotWidget(QWidget *parent = 0);
MandelbrotWidget(QWidget *parent = nullptr);
protected:
void paintEvent(QPaintEvent *event) override;

View File

@ -50,7 +50,7 @@
#include "renderthread.h"
#include <QtWidgets>
#include <QImage>
#include <cmath>
//! [0]

View File

@ -66,7 +66,7 @@ class RenderThread : public QThread
Q_OBJECT
public:
RenderThread(QObject *parent = 0);
RenderThread(QObject *parent = nullptr);
~RenderThread();
void render(double centerX, double centerY, double scaleFactor, QSize resultSize);

View File

@ -48,8 +48,6 @@
**
****************************************************************************/
#include <QColor>
#include <QRect>
#include "block.h"
Block::Block()
@ -57,9 +55,8 @@ Block::Block()
}
Block::Block(const Block &other)
: m_rect(other.m_rect), m_color(other.m_color)
{
m_rect = other.m_rect;
m_color = other.m_color;
}
Block::~Block()
@ -67,9 +64,8 @@ Block::~Block()
}
Block::Block(const QRect &rect, const QColor &color)
: m_rect(rect), m_color(color)
{
m_rect = rect;
m_color = color;
}
QColor Block::color() const

View File

@ -52,7 +52,6 @@
#define BLOCK_H
#include <QColor>
#include <QDebug>
#include <QMetaType>
#include <QRect>

View File

@ -62,7 +62,7 @@ class RenderThread : public QThread
Q_OBJECT
public:
RenderThread(QObject *parent = 0);
RenderThread(QObject *parent = nullptr);
~RenderThread();
void processImage(const QImage &image);

View File

@ -48,30 +48,34 @@
**
****************************************************************************/
#include <QtWidgets>
#include "window.h"
#include <QtWidgets>
//! [Window constructor start]
Window::Window()
Window::Window(QWidget *parent)
: QWidget(parent), thread(new RenderThread(this))
{
thread = new RenderThread();
//! [Window constructor start] //! [set up widgets and connections]
label = new QLabel();
label = new QLabel(this);
label->setAlignment(Qt::AlignCenter);
loadButton = new QPushButton(tr("&Load image..."));
resetButton = new QPushButton(tr("&Stop"));
loadButton = new QPushButton(tr("&Load image..."), this);
resetButton = new QPushButton(tr("&Stop"), this);
resetButton->setEnabled(false);
connect(loadButton, SIGNAL(clicked()), this, SLOT(loadImage()));
connect(resetButton, SIGNAL(clicked()), thread, SLOT(stopProcess()));
connect(thread, SIGNAL(finished()), this, SLOT(resetUi()));
connect(loadButton, &QPushButton::clicked,
this, QOverload<>::of(&Window::loadImage));
connect(resetButton, &QPushButton::clicked,
thread, &RenderThread::stopProcess);
connect(thread, &RenderThread::finished,
this, &Window::resetUi);
//! [set up widgets and connections] //! [connecting signal with custom type]
connect(thread, SIGNAL(sendBlock(Block)), this, SLOT(addBlock(Block)));
connect(thread, &RenderThread::sendBlock,
this, &Window::addBlock);
//! [connecting signal with custom type]
QHBoxLayout *buttonLayout = new QHBoxLayout();
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addStretch();
buttonLayout->addWidget(loadButton);
buttonLayout->addWidget(resetButton);

View File

@ -65,7 +65,7 @@ class Window : public QWidget
Q_OBJECT
public:
Window();
Window(QWidget *parent = nullptr);
void loadImage(const QImage &image);
public slots:

View File

@ -1,8 +1,7 @@
SOURCES += semaphores.cpp
QT = core
CONFIG -= app_bundle
CONFIG += console
CONFIG += cmdline
# install
target.path = $$[QT_INSTALL_EXAMPLES]/corelib/threads/semaphores

View File

@ -1,6 +1,6 @@
QT = core
CONFIG -= moc app_bundle
CONFIG += console
CONFIG -= moc
CONFIG += cmdline
SOURCES += waitconditions.cpp

View File

@ -49,7 +49,6 @@
****************************************************************************/
#include "randomlistmodel.h"
#include <QRandomGenerator>
#include <stdlib.h>
static const int bufferSize(500);
static const int lookAhead(100);

View File

@ -59,7 +59,7 @@ class RandomListModel : public QAbstractListModel
{
Q_OBJECT
public:
RandomListModel(QObject *parent = 0);
RandomListModel(QObject *parent = nullptr);
~RandomListModel();
int rowCount(const QModelIndex & = QModelIndex()) const override;

View File

@ -49,6 +49,7 @@
****************************************************************************/
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include "message.h"

View File

@ -50,15 +50,16 @@
#include "message.h"
#include <QDebug>
//! [Message class implementation]
Message::Message()
{
}
Message::Message(const Message &other)
: m_body(other.m_body), m_headers(other.m_headers)
{
m_body = other.m_body;
m_headers = other.m_headers;
}
Message::~Message()
@ -67,9 +68,8 @@ Message::~Message()
//! [Message class implementation]
Message::Message(const QString &body, const QStringList &headers)
: m_body(body), m_headers(headers)
{
m_body = body;
m_headers = headers;
}
//! [custom type streaming operator]

View File

@ -51,7 +51,6 @@
#ifndef MESSAGE_H
#define MESSAGE_H
#include <QDebug>
#include <QMetaType>
#include <QStringList>

View File

@ -57,19 +57,20 @@ int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Window window1;
QStringList headers;
headers << "Subject: Hello World"
<< "From: address@example.com";
QString body = "This is a test.\r\n";
Message message(body, headers);
Window window1;
window1.setMessage(message);
Window window2;
QObject::connect(&window1, SIGNAL(messageSent(Message)),
&window2, SLOT(setMessage(Message)));
QObject::connect(&window2, SIGNAL(messageSent(Message)),
&window1, SLOT(setMessage(Message)));
QObject::connect(&window1, &Window::messageSent,
&window2, &Window::setMessage);
QObject::connect(&window2, &Window::messageSent,
&window1, &Window::setMessage);
window1.show();
window2.show();
return app.exec();

View File

@ -55,9 +55,8 @@ Message::Message()
}
Message::Message(const Message &other)
: m_body(other.m_body), m_headers(other.m_headers)
{
m_body = other.m_body;
m_headers = other.m_headers;
}
Message::~Message()
@ -65,9 +64,8 @@ Message::~Message()
}
Message::Message(const QString &body, const QStringList &headers)
: m_body(body), m_headers(headers)
{
m_body = body;
m_headers = headers;
}
QString Message::body() const

View File

@ -51,7 +51,6 @@
#ifndef MESSAGE_H
#define MESSAGE_H
#include <QDebug>
#include <QMetaType>
#include <QStringList>

View File

@ -52,14 +52,15 @@
#include "window.h"
//! [Window constructor]
Window::Window()
Window::Window(QWidget *parent)
: QWidget(parent), editor(new QTextEdit(this))
{
editor = new QTextEdit();
QPushButton *sendButton = new QPushButton(tr("&Send message"));
connect(sendButton, SIGNAL(clicked()), this, SLOT(sendMessage()));
connect(sendButton, &QPushButton::clicked,
this, &Window::sendMessage);
QHBoxLayout *buttonLayout = new QHBoxLayout();
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addStretch();
buttonLayout->addWidget(sendButton);
buttonLayout->addStretch();

View File

@ -62,7 +62,7 @@ class Window : public QWidget
Q_OBJECT
public:
Window();
Window(QWidget *parent = nullptr);
signals:
void messageSent(const Message &message);

View File

@ -1,7 +1,6 @@
TEMPLATE = app
QT = core network
mac:CONFIG -= app_bundle
win32:CONFIG += console
CONFIG += cmdline
HEADERS += dnslookup.h
SOURCES += dnslookup.cpp

View File

@ -1,6 +1,5 @@
QT = core network
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
SOURCES += main.cpp

View File

@ -1,6 +1,5 @@
QT = core network
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
HEADERS += downloadmanager.h textprogressbar.h
SOURCES += downloadmanager.cpp main.cpp textprogressbar.cpp

View File

@ -160,7 +160,7 @@ void GSuggestCompletion::showCompletion(const QVector<QString> &choices)
for (const auto &choice : choices) {
auto item = new QTreeWidgetItem(popup);
item->setText(0, choice);
item->setTextColor(0, color);
item->setForeground(0, color);
}
popup->setCurrentItem(popup->topLevelItem(0));

View File

@ -206,7 +206,8 @@ void SslClient::setupUi()
padLock->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored);
QHBoxLayout *layout = new QHBoxLayout(form->hostNameEdit);
layout->setMargin(form->hostNameEdit->style()->pixelMetric(QStyle::PM_DefaultFrameWidth));
const int margin = form->hostNameEdit->style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
layout->setContentsMargins(margin, margin, margin, margin);
layout->setSpacing(0);
layout->addStretch();
layout->addWidget(padLock);

View File

@ -630,7 +630,7 @@ void MainWindow::about()
QPushButton *quitButton = new QPushButton("OK");
QHBoxLayout *topLayout = new QHBoxLayout;
topLayout->setMargin(10);
topLayout->setContentsMargins(10, 10, 10, 10);
topLayout->setSpacing(10);
topLayout->addWidget(icon);
topLayout->addWidget(text);

View File

@ -6,8 +6,7 @@
#! [0]
TEMPLATE = app
LANGUAGE = C++
CONFIG += console precompile_header
CONFIG -= app_bundle
CONFIG += cmdline precompile_header
QT += widgets
# Use Precompiled headers (PCH)

View File

@ -1,8 +1,7 @@
TEMPLATE = app
TARGET = mapdemo
QT += concurrent
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
SOURCES += main.cpp

View File

@ -1,6 +1,5 @@
QT += concurrent widgets
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
SOURCES += main.cpp

View File

@ -1,6 +1,5 @@
QT += concurrent widgets
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
SOURCES += main.cpp

View File

@ -109,9 +109,8 @@ void ImageItem::setFrame(int frame)
//! [4]
void ImageItem::adjust()
{
QMatrix matrix;
matrix.scale(120/ boundingRect().width(), 120/ boundingRect().height());
setMatrix(matrix);
setTransform(QTransform::fromScale(120 / boundingRect().width(),
120 / boundingRect().height()));
}
//! [4]

View File

@ -91,7 +91,7 @@ FindDialog::FindDialog(QWidget *parent)
connect(moreButton, &QAbstractButton::toggled, extension, &QWidget::setVisible);
QVBoxLayout *extensionLayout = new QVBoxLayout;
extensionLayout->setMargin(0);
extensionLayout->setContentsMargins(QMargins());
extensionLayout->addWidget(wholeWordsCheckBox);
extensionLayout->addWidget(backwardCheckBox);
extensionLayout->addWidget(searchSelectionCheckBox);

View File

@ -79,9 +79,9 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid
{
Q_UNUSED(widget);
QColor fillColor = (option->state & QStyle::State_Selected) ? color.dark(150) : color;
QColor fillColor = (option->state & QStyle::State_Selected) ? color.darker(150) : color;
if (option->state & QStyle::State_MouseOver)
fillColor = fillColor.light(125);
fillColor = fillColor.lighter(125);
const qreal lod = option->levelOfDetailFromTransform(painter->worldTransform());
if (lod < 0.2) {
@ -105,7 +105,7 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid
pen.setWidth(width);
QBrush b = painter->brush();
painter->setBrush(QBrush(fillColor.dark(option->state & QStyle::State_Sunken ? 120 : 100)));
painter->setBrush(QBrush(fillColor.darker(option->state & QStyle::State_Sunken ? 120 : 100)));
painter->drawRect(QRect(14, 14, 79, 39));
painter->setBrush(b);

View File

@ -113,7 +113,7 @@ void RobotHead::paint(QPainter *painter,
Q_UNUSED(option);
Q_UNUSED(widget);
if (pixmap.isNull()) {
painter->setBrush(dragOver ? color.light(130) : color);
painter->setBrush(dragOver ? color.lighter(130) : color);
painter->drawRoundedRect(-10, -30, 20, 30, 25, 25, Qt::RelativeSize);
painter->setBrush(Qt::white);
painter->drawEllipse(-7, -3 - 20, 7, 7);
@ -173,7 +173,7 @@ void RobotTorso::paint(QPainter *painter,
Q_UNUSED(option);
Q_UNUSED(widget);
painter->setBrush(dragOver ? color.light(130) : color);
painter->setBrush(dragOver ? color.lighter(130) : color);
painter->drawRoundedRect(-20, -20, 40, 60, 25, 25, Qt::RelativeSize);
painter->drawEllipse(-25, -20, 20, 20);
painter->drawEllipse(5, -20, 20, 20);
@ -197,7 +197,7 @@ void RobotLimb::paint(QPainter *painter,
Q_UNUSED(option);
Q_UNUSED(widget);
painter->setBrush(dragOver ? color.light(130) : color);
painter->setBrush(dragOver ? color.lighter(130) : color);
painter->drawRoundedRect(boundingRect(), 50, 50, Qt::RelativeSize);
painter->drawEllipse(-5, -5, 10, 10);
}

View File

@ -177,8 +177,8 @@ void Node::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid
if (option->state & QStyle::State_Sunken) {
gradient.setCenter(3, 3);
gradient.setFocalPoint(3, 3);
gradient.setColorAt(1, QColor(Qt::yellow).light(120));
gradient.setColorAt(0, QColor(Qt::darkYellow).light(120));
gradient.setColorAt(1, QColor(Qt::yellow).lighter(120));
gradient.setColorAt(0, QColor(Qt::darkYellow).lighter(120));
} else {
gradient.setColorAt(0, Qt::yellow);
gradient.setColorAt(1, Qt::darkYellow);

View File

@ -62,7 +62,7 @@ RoundRectItem::RoundRectItem(const QRectF &bounds, const QColor &color,
gradient.setStart(bounds.topLeft());
gradient.setFinalStop(bounds.bottomRight());
gradient.setColorAt(0, color);
gradient.setColorAt(1, color.dark(200));
gradient.setColorAt(1, color.darker(200));
setCacheMode(ItemCoordinateCache);
}
//! [0]
@ -94,7 +94,7 @@ void RoundRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
Q_UNUSED(widget);
painter->setPen(Qt::NoPen);
painter->setBrush(QColor(0, 0, 0, 64));
painter->drawRoundRect(bounds.translated(2, 2));
painter->drawRoundedRect(bounds.translated(2, 2), 25, 25, Qt::RelativeSize);
//! [3]
//! [4]
if (fillRect)
@ -102,7 +102,7 @@ void RoundRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
else
painter->setBrush(gradient);
painter->setPen(QPen(Qt::black, 1));
painter->drawRoundRect(bounds);
painter->drawRoundedRect(bounds, 25,25, Qt::RelativeSize);
//! [4]
//! [5]
if (!pix.isNull()) {

View File

@ -79,7 +79,7 @@ void SplashItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option
painter->setPen(QPen(Qt::black, 2));
painter->setBrush(QColor(245, 245, 255, 220));
painter->setClipRect(boundingRect());
painter->drawRoundRect(3, -100 + 3, 400 - 6, 250 - 6);
painter->drawRoundedRect(3, -100 + 3, 400 - 6, 250 - 6, 25, 25, Qt::RelativeSize);
QRectF textRect = boundingRect().adjusted(10, 10, -10, -10);
int flags = Qt::AlignTop | Qt::AlignLeft | Qt::TextWordWrap;

View File

@ -169,7 +169,7 @@ void PuzzleWidget::mousePressEvent(QMouseEvent *event)
drag->setHotSpot(event->pos() - square.topLeft());
drag->setPixmap(piece.pixmap);
if (drag->start(Qt::MoveAction) == Qt::IgnoreAction) {
if (drag->exec(Qt::MoveAction) == Qt::IgnoreAction) {
pieces.insert(found, piece);
update(targetSquare(event->pos()));

View File

@ -188,19 +188,19 @@ void SpreadSheet::updateColor(QTableWidgetItem *item)
QPixmap pix(16, 16);
QColor col;
if (item)
col = item->backgroundColor();
col = item->background().color();
if (!col.isValid())
col = palette().base().color();
QPainter pt(&pix);
pt.fillRect(0, 0, 16, 16, col);
QColor lighter = col.light();
QColor lighter = col.lighter();
pt.setPen(lighter);
QPoint lightFrame[] = { QPoint(0, 15), QPoint(0, 0), QPoint(15, 0) };
pt.drawPolyline(lightFrame, 3);
pt.setPen(col.dark());
pt.setPen(col.darker());
QPoint darkFrame[] = { QPoint(1, 15), QPoint(15, 15), QPoint(15, 1) };
pt.drawPolyline(darkFrame, 3);
@ -235,7 +235,7 @@ void SpreadSheet::returnPressed()
void SpreadSheet::selectColor()
{
QTableWidgetItem *item = table->currentItem();
QColor col = item ? item->backgroundColor() : table->palette().base().color();
QColor col = item ? item->background().color() : table->palette().base().color();
col = QColorDialog::getColor(col, this);
if (!col.isValid())
return;
@ -246,7 +246,7 @@ void SpreadSheet::selectColor()
for (QTableWidgetItem *i : selected) {
if (i)
i->setBackgroundColor(col);
i->setBackground(col);
}
updateColor(table->currentItem());
@ -485,13 +485,13 @@ void SpreadSheet::setupContextMenu()
void SpreadSheet::setupContents()
{
QColor titleBackground(Qt::lightGray);
QBrush titleBackground(Qt::lightGray);
QFont titleFont = table->font();
titleFont.setBold(true);
// column 0
table->setItem(0, 0, new SpreadSheetItem("Item"));
table->item(0, 0)->setBackgroundColor(titleBackground);
table->item(0, 0)->setBackground(titleBackground);
table->item(0, 0)->setToolTip("This column shows the purchased item/service");
table->item(0, 0)->setFont(titleFont);
@ -506,11 +506,11 @@ void SpreadSheet::setupContents()
table->setItem(9, 0, new SpreadSheetItem("Total:"));
table->item(9, 0)->setFont(titleFont);
table->item(9, 0)->setBackgroundColor(Qt::lightGray);
table->item(9, 0)->setBackground(titleBackground);
// column 1
table->setItem(0, 1, new SpreadSheetItem("Date"));
table->item(0, 1)->setBackgroundColor(titleBackground);
table->item(0, 1)->setBackground(titleBackground);
table->item(0, 1)->setToolTip("This column shows the purchase date, double click to change");
table->item(0, 1)->setFont(titleFont);
@ -524,11 +524,11 @@ void SpreadSheet::setupContents()
table->setItem(8, 1, new SpreadSheetItem("18/6/2006"));
table->setItem(9, 1, new SpreadSheetItem());
table->item(9, 1)->setBackgroundColor(Qt::lightGray);
table->item(9, 1)->setBackground(titleBackground);
// column 2
table->setItem(0, 2, new SpreadSheetItem("Price"));
table->item(0, 2)->setBackgroundColor(titleBackground);
table->item(0, 2)->setBackground(titleBackground);
table->item(0, 2)->setToolTip("This column shows the price of the purchase");
table->item(0, 2)->setFont(titleFont);
@ -542,11 +542,11 @@ void SpreadSheet::setupContents()
table->setItem(8, 2, new SpreadSheetItem("1240"));
table->setItem(9, 2, new SpreadSheetItem());
table->item(9, 2)->setBackgroundColor(Qt::lightGray);
table->item(9, 2)->setBackground(Qt::lightGray);
// column 3
table->setItem(0, 3, new SpreadSheetItem("Currency"));
table->item(0, 3)->setBackgroundColor(titleBackground);
table->item(0, 3)->setBackground(titleBackground);
table->item(0, 3)->setToolTip("This column shows the currency");
table->item(0, 3)->setFont(titleFont);
@ -560,11 +560,11 @@ void SpreadSheet::setupContents()
table->setItem(8, 3, new SpreadSheetItem("USD"));
table->setItem(9, 3, new SpreadSheetItem());
table->item(9,3)->setBackgroundColor(Qt::lightGray);
table->item(9, 3)->setBackground(Qt::lightGray);
// column 4
table->setItem(0, 4, new SpreadSheetItem("Ex. Rate"));
table->item(0, 4)->setBackgroundColor(titleBackground);
table->item(0, 4)->setBackground(titleBackground);
table->item(0, 4)->setToolTip("This column shows the exchange rate to NOK");
table->item(0, 4)->setFont(titleFont);
@ -578,11 +578,11 @@ void SpreadSheet::setupContents()
table->setItem(8, 4, new SpreadSheetItem("7"));
table->setItem(9, 4, new SpreadSheetItem());
table->item(9,4)->setBackgroundColor(Qt::lightGray);
table->item(9, 4)->setBackground(titleBackground);
// column 5
table->setItem(0, 5, new SpreadSheetItem("NOK"));
table->item(0, 5)->setBackgroundColor(titleBackground);
table->item(0, 5)->setBackground(titleBackground);
table->item(0, 5)->setToolTip("This column shows the expenses in NOK");
table->item(0, 5)->setFont(titleFont);
@ -596,7 +596,7 @@ void SpreadSheet::setupContents()
table->setItem(8, 5, new SpreadSheetItem("* C9 E9"));
table->setItem(9, 5, new SpreadSheetItem("sum F2 F9"));
table->item(9,5)->setBackgroundColor(Qt::lightGray);
table->item(9, 5)->setBackground(titleBackground);
}
const char *htmlText =

View File

@ -88,7 +88,7 @@ void StarRating::paint(QPainter *painter, const QRect &rect,
painter->setPen(Qt::NoPen);
painter->setBrush(mode == EditMode::Editable ?
palette.highlight() :
palette.foreground());
palette.windowText());
const int yOffset = (rect.height() - PaintingScaleFactor) / 2;
painter->translate(rect.x(), rect.y() + yOffset);

View File

@ -50,10 +50,10 @@
#include "borderlayout.h"
BorderLayout::BorderLayout(QWidget *parent, int margin, int spacing)
BorderLayout::BorderLayout(QWidget *parent, const QMargins &margins, int spacing)
: QLayout(parent)
{
setMargin(margin);
setContentsMargins(margins);
setSpacing(spacing);
}

View File

@ -59,7 +59,7 @@ class BorderLayout : public QLayout
public:
enum Position { West, North, South, East, Center };
explicit BorderLayout(QWidget *parent, int margin = 0, int spacing = -1);
explicit BorderLayout(QWidget *parent, const QMargins &margins = QMargins(), int spacing = -1);
BorderLayout(int spacing = -1);
~BorderLayout();

View File

@ -158,7 +158,8 @@ QSize FlowLayout::minimumSize() const
for (const QLayoutItem *item : qAsConst(itemList))
size = size.expandedTo(item->minimumSize());
size += QSize(2*margin(), 2*margin());
const QMargins margins = contentsMargins();
size += QSize(margins.left() + margins.right(), margins.top() + margins.bottom());
return size;
}
//! [8]

View File

@ -86,7 +86,7 @@ QColor bgColorForName(const QString &name)
return QColor("#D8D8F1");
if (name == "Yellow")
return QColor("#F1F0D8");
return QColor(name).light(110);
return QColor(name).lighter(110);
}
QColor fgColorForName(const QString &name)

View File

@ -72,7 +72,7 @@ MainWindow::MainWindow()
bottomFiller->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QVBoxLayout *layout = new QVBoxLayout;
layout->setMargin(5);
layout->setContentsMargins(5, 5, 5, 5);
layout->addWidget(topFiller);
layout->addWidget(infoLabel);
layout->addWidget(bottomFiller);

View File

@ -341,9 +341,9 @@ void CompositionRenderer::drawSource(QPainter &p)
QRectF circle_rect = rectangle_around(m_circle_pos);
QColor color = QColor::fromHsvF(m_circle_hue / 360.0, 1, 1, m_circle_alpha / 255.0);
QLinearGradient circle_gradient(circle_rect.topLeft(), circle_rect.bottomRight());
circle_gradient.setColorAt(0, color.light());
circle_gradient.setColorAt(0, color.lighter());
circle_gradient.setColorAt(0.5, color);
circle_gradient.setColorAt(1, color.dark());
circle_gradient.setColorAt(1, color.darker());
p.setBrush(circle_gradient);
p.drawEllipse(circle_rect);

View File

@ -150,7 +150,7 @@ void PathDeformControls::layoutForDesktop()
QVBoxLayout * mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(mainGroup);
mainLayout->setMargin(0);
mainLayout->setContentsMargins(QMargins());
connect(radiusSlider, &QAbstractSlider::valueChanged, m_renderer, &PathDeformRenderer::setRadius);
connect(deformSlider, &QAbstractSlider::valueChanged, m_renderer, &PathDeformRenderer::setIntensity);
@ -211,7 +211,7 @@ void PathDeformControls::layoutForSmallScreen()
QGridLayout *mainGroupLayout = new QGridLayout(mainGroup);
mainGroupLayout->setMargin(0);
mainGroupLayout->setContentsMargins(QMargins());
mainGroupLayout->addWidget(radiusLabel, 0, 0, Qt::AlignRight);
mainGroupLayout->addWidget(radiusSlider, 0, 1);
mainGroupLayout->addWidget(deformLabel, 1, 0, Qt::AlignRight);

View File

@ -78,7 +78,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(fontTree, &QTreeWidget::itemChanged,
this, &MainWindow::updateStyles);
fontTree->setItemSelected(fontTree->topLevelItem(0), true);
fontTree->topLevelItem(0)->setSelected(true);
showFont(fontTree->topLevelItem(0));
}

View File

@ -180,7 +180,7 @@ GradientEditor::GradientEditor(QWidget *parent)
{
QVBoxLayout *vbox = new QVBoxLayout(this);
vbox->setSpacing(1);
vbox->setMargin(1);
vbox->setContentsMargins(1, 1, 1, 1);
m_red_shade = new ShadeWidget(ShadeWidget::RedShade, this);
m_green_shade = new ShadeWidget(ShadeWidget::GreenShade, this);

View File

@ -227,11 +227,11 @@ void PathStrokeControls::layoutForDesktop()
penWidthLayout->addWidget(penWidth);
QVBoxLayout * mainLayout = new QVBoxLayout(this);
mainLayout->setMargin(0);
mainLayout->setContentsMargins(QMargins());
mainLayout->addWidget(mainGroup);
QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup);
mainGroupLayout->setMargin(3);
mainGroupLayout->setContentsMargins(3, 3, 3, 3);
mainGroupLayout->addWidget(m_capGroup);
mainGroupLayout->addWidget(m_joinGroup);
mainGroupLayout->addWidget(m_styleGroup);
@ -270,10 +270,10 @@ void PathStrokeControls::layoutForSmallScreens()
{
createCommonControls(this);
m_capGroup->layout()->setMargin(0);
m_joinGroup->layout()->setMargin(0);
m_styleGroup->layout()->setMargin(0);
m_pathModeGroup->layout()->setMargin(0);
m_capGroup->layout()->setContentsMargins(QMargins());
m_joinGroup->layout()->setContentsMargins(QMargins());
m_styleGroup->layout()->setContentsMargins(QMargins());
m_pathModeGroup->layout()->setContentsMargins(QMargins());
QPushButton* okBtn = new QPushButton(tr("OK"), this);
okBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
@ -313,7 +313,7 @@ void PathStrokeControls::layoutForSmallScreens()
rightLayout->addWidget(m_pathModeGroup);
QGridLayout *mainLayout = new QGridLayout(this);
mainLayout->setMargin(0);
mainLayout->setContentsMargins(QMargins());
// Add spacers around the form items so we don't look stupid at higher resolutions
mainLayout->addItem(new QSpacerItem(0,0), 0, 0, 1, 4);

View File

@ -443,9 +443,9 @@ void ArthurStyle::polish(QWidget *widget)
if (widget->layout() && qobject_cast<QGroupBox *>(widget)) {
if (widget->findChildren<QGroupBox *>().size() == 0) {
widget->layout()->setSpacing(0);
widget->layout()->setMargin(12);
widget->layout()->setContentsMargins(12, 12, 12, 12);
} else {
widget->layout()->setMargin(13);
widget->layout()->setContentsMargins(13, 13, 13, 13);
}
}

View File

@ -1,6 +1,5 @@
QT = core
win32: CONFIG += console
mac:CONFIG -= app_bundle
CONFIG += cmdline
SOURCES += main.cpp

View File

@ -1,6 +1,5 @@
QT = core
win32: CONFIG += console
mac:CONFIG -= app_bundle
CONFIG += cmdline
SOURCES = main.cpp

View File

@ -146,13 +146,13 @@ QState *createLightState(LightWidget *light, int duration, QState *parent = 0)
class TrafficLight : public QWidget
{
public:
TrafficLight(QWidget *parent = 0)
TrafficLight(QWidget *parent = nullptr)
: QWidget(parent)
{
QVBoxLayout *vbox = new QVBoxLayout(this);
TrafficLightWidget *widget = new TrafficLightWidget();
TrafficLightWidget *widget = new TrafficLightWidget;
vbox->addWidget(widget);
vbox->setMargin(0);
vbox->setContentsMargins(QMargins());
QStateMachine *machine = new QStateMachine(this);
QState *redGoingYellow = createLightState(widget->redLight(), 3000);

View File

@ -125,7 +125,7 @@ void PluginDialog::populateTreeWidget(QObject *plugin, const QString &text)
{
auto pluginItem = new QTreeWidgetItem(treeWidget);
pluginItem->setText(0, text);
treeWidget->setItemExpanded(pluginItem, true);
pluginItem->setExpanded(true);
QFont boldFont = pluginItem->font(0);
boldFont.setBold(true);

View File

@ -376,7 +376,7 @@ QWidget *RegularExpressionDialog::setupLeftUi()
QFormLayout *layout = new QFormLayout(container);
layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
layout->setMargin(0);
layout->setContentsMargins(QMargins());
QLabel *regexpAndSubjectLabel = new QLabel(tr("<h3>Regular expression and text input</h3>"));
layout->addRow(regexpAndSubjectLabel);
@ -448,7 +448,7 @@ QWidget *RegularExpressionDialog::setupRightUi()
QFormLayout *layout = new QFormLayout(container);
layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
layout->setMargin(0);
layout->setContentsMargins(QMargins());
QLabel *matchInfoLabel = new QLabel(tr("<h3>Match information</h3>"));
layout->addRow(matchInfoLabel);

View File

@ -338,9 +338,9 @@ static QGradient gradient(const QColor &color, const QRect &rect)
QColor c = color;
c.setAlpha(160);
QLinearGradient result(rect.topLeft(), rect.bottomRight());
result.setColorAt(0, c.dark(150));
result.setColorAt(0.5, c.light(200));
result.setColorAt(1, c.dark(150));
result.setColorAt(0, c.darker(150));
result.setColorAt(0.5, c.lighter(200));
result.setColorAt(1, c.darker(150));
return result;
}

View File

@ -85,8 +85,8 @@ void NorwegianWoodStyle::polish(QPalette &palette)
setTexture(palette, QPalette::Mid, midImage);
setTexture(palette, QPalette::Window, backgroundImage);
QBrush brush = palette.background();
brush.setColor(brush.color().dark());
QBrush brush = palette.window();
brush.setColor(brush.color().darker());
palette.setBrush(QPalette::Disabled, QPalette::WindowText, brush);
palette.setBrush(QPalette::Disabled, QPalette::Text, brush);
@ -185,7 +185,7 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element,
qstyleoption_cast<const QStyleOptionButton *>(option);
if (buttonOption
&& (buttonOption->features & QStyleOptionButton::Flat)) {
brush = option->palette.background();
brush = option->palette.window();
darker = (option->state & (State_Sunken | State_On));
} else {
if (option->state & (State_Sunken | State_On)) {
@ -261,7 +261,7 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element,
painter->setPen(bottomPen);
painter->drawPath(roundRect);
painter->setPen(option->palette.foreground().color());
painter->setPen(option->palette.windowText().color());
painter->setClipping(false);
painter->drawPath(roundRect);

View File

@ -212,7 +212,7 @@ void WidgetGallery::createBottomLeftTabWidget()
tableWidget = new QTableWidget(10, 10);
QHBoxLayout *tab1hbox = new QHBoxLayout;
tab1hbox->setMargin(5);
tab1hbox->setContentsMargins(5,5, 5, 5);
tab1hbox->addWidget(tableWidget);
tab1->setLayout(tab1hbox);
@ -227,7 +227,7 @@ void WidgetGallery::createBottomLeftTabWidget()
"How I wonder what you are!\n"));
QHBoxLayout *tab2hbox = new QHBoxLayout;
tab2hbox->setMargin(5);
tab2hbox->setContentsMargins(5, 5, 5, 5);
tab2hbox->addWidget(textEdit);
tab2->setLayout(tab2hbox);

View File

@ -358,7 +358,7 @@ void TetrixBoard::showNextPiece()
QPixmap pixmap(dx * squareWidth(), dy * squareHeight());
QPainter painter(&pixmap);
painter.fillRect(pixmap.rect(), nextPieceLabel->palette().background());
painter.fillRect(pixmap.rect(), nextPieceLabel->palette().window());
for (int i = 0; i < 4; ++i) {
int x = nextPiece.x(i) - nextPiece.minX();
@ -405,11 +405,11 @@ void TetrixBoard::drawSquare(QPainter &painter, int x, int y, TetrixShape shape)
painter.fillRect(x + 1, y + 1, squareWidth() - 2, squareHeight() - 2,
color);
painter.setPen(color.light());
painter.setPen(color.lighter());
painter.drawLine(x, y + squareHeight() - 1, x, y);
painter.drawLine(x, y, x + squareWidth() - 1, y);
painter.setPen(color.dark());
painter.setPen(color.darker());
painter.drawLine(x + 1, y + squareHeight() - 1,
x + squareWidth() - 1, y + squareHeight() - 1);
painter.drawLine(x + squareWidth() - 1, y + squareHeight() - 1,

View File

@ -184,7 +184,7 @@ void XbelTree::parseFolderElement(const QDomElement &element,
item->setText(0, title);
bool folded = (element.attribute(foldedAttribute()) != QLatin1String("no"));
setItemExpanded(item, !folded);
item->setExpanded(!folded);
QDomElement child = element.firstChildElement();
while (!child.isNull()) {

View File

@ -1,10 +1,9 @@
SOURCES += main.cpp
QT -= gui
CONFIG -= app_bundle
RESOURCES = resources.qrc
win32: CONFIG += console
CONFIG += cmdline
# install
target.path = $$[QT_INSTALL_EXAMPLES]/xml/htmlinfo

View File

@ -100,7 +100,7 @@ void XbelGenerator::generateItem(const QTreeWidgetItem *item, int depth)
{
QString tagName = item->data(0, Qt::UserRole).toString();
if (tagName == QLatin1String("folder")) {
bool folded = !treeWidget->isItemExpanded(item);
bool folded = !item->isExpanded();
out << indent(depth) << "<folder folded=\"" << (folded ? "yes" : "no")
<< "\">\n"
<< indent(depth + 1) << "<title>" << escapedText(item->text(0))

View File

@ -94,7 +94,7 @@ bool XbelHandler::startElement(const QString & /* namespaceURI */,
item->setIcon(0, folderIcon);
item->setText(0, QObject::tr("Folder"));
bool folded = (attributes.value(foldedAttribute()) != QLatin1String("no"));
treeWidget->setItemExpanded(item, !folded);
item->setExpanded(!folded);
} else if (qName == QLatin1String("bookmark")) {
item = createChildItem(qName);
item->setFlags(item->flags() | Qt::ItemIsEditable);

View File

@ -140,7 +140,7 @@ void XbelReader::readFolder(QTreeWidgetItem *item)
QTreeWidgetItem *folder = createChildItem(item);
bool folded = (xml.attributes().value(foldedAttribute()) != QLatin1String("no"));
treeWidget->setItemExpanded(folder, !folded);
folder->setExpanded(!folded);
while (xml.readNextStartElement()) {
if (xml.name() == QLatin1String("title"))

View File

@ -87,7 +87,7 @@ void XbelWriter::writeItem(const QTreeWidgetItem *item)
{
QString tagName = item->data(0, Qt::UserRole).toString();
if (tagName == QLatin1String("folder")) {
bool folded = !treeWidget->isItemExpanded(item);
bool folded = !item->isExpanded();
xml.writeStartElement(tagName);
xml.writeAttribute(XbelReader::foldedAttribute(), folded ? yesValue() : noValue());
xml.writeTextElement(titleElement(), item->text(0));

View File

@ -1,5 +1,4 @@
CONFIG += console
CONFIG -= app_bundle
CONFIG += cmdline
QT -= gui
SOURCES += main.cpp

View File

@ -29,8 +29,11 @@ else: equals(ANDROID_TARGET_ARCH, mips): \
else: equals(ANDROID_TARGET_ARCH, mips64): \
QMAKE_CFLAGS += -target mips64el-none-linux-android
QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a
QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a
equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \

View File

@ -20,7 +20,9 @@ QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link,
QMAKE_LFLAGS_NEW_DTAGS = -Wl,--enable-new-dtags
QMAKE_LFLAGS_GDB_INDEX = -Wl,--gdb-index
QMAKE_LFLAGS_USE_BFD = -fuse-ld=bfd
QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold
QMAKE_LFLAGS_USE_LLD = -fuse-ld=lld
# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions

View File

@ -17,8 +17,8 @@ os_directory = $$(INTEGRITY_DIR)
isEmpty(os_directory): \
error("This qmakespec requires $INTEGRITY_DIR to be set")
QMAKE_CC = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
QMAKE_CXX = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
QMAKE_CC = cxintarm64 -U__ARM_NEON__ -U__ARM_NEON -bsp $$bsp_name -os_dir $$os_directory -non_shared
QMAKE_CXX = cxintarm64 -U__ARM_NEON__ -U__ARM_NEON -bsp $$bsp_name -os_dir $$os_directory -non_shared
QMAKE_LINK = $$QMAKE_CXX
QMAKE_AR = $$QMAKE_CXX -archive -o

View File

@ -113,4 +113,9 @@ greaterThan(QMAKE_MSC_VER, 1910) {
COMPAT_MKSPEC =
}
greaterThan(QMAKE_MSC_VER, 1919) {
# Visual Studio 2019 (16.0) / Visual C++ 19.20 and up
MSVC_VER = 16.0
}
!isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC

View File

@ -33,9 +33,6 @@ gl_lib_directory = $$(GL_LIB_DIR)
isEmpty(gl_lib_directory): \
error("This qmakespec requires $GL_LIB_DIR to be set")
QMAKE_LIBDIR += $$(QCLIBS_DIR)/base
QMAKE_LIBDIR += $$(QCLIBS_DIR)/multimedia/display
QMAKE_INCDIR += $$(QC_MULTIMEDIA_INC_DIR)
QMAKE_LIBS_EGL += -lESXEGL_Adreno -lESXGLESv2_Adreno -ladreno_utils -lGSLUser -lOSUser -lpanel -livfs -lposix -lpmem -ltzbsp -lpaged_alloc -lglnext-llvm -lopenwfd -lplanedef -lmmosallibrary
@ -51,7 +48,12 @@ QMAKE_LFLAGS += -bigswitch
# OpenGL libraries have a dependency on libEGL
QMAKE_INCDIR_EGL = $$(GL_INC_DIR)
QMAKE_LIBDIR_EGL = $$(GL_LIB_DIR)
QMAKE_LIBDIR_EGL += $$(QCLIBS_DIR)/base
QMAKE_LIBDIR_EGL += $$(QCLIBS_DIR)/multimedia/display
QMAKE_INCDIR_OPENGL_ES2 = $$(GL_INC_DIR)
QMAKE_LIBDIR_OPENGL_ES2 = $$(GL_LIB_DIR)
QMAKE_LIBDIR_OPENGL_ES2 += $$(QCLIBS_DIR)/base
QMAKE_LIBDIR_OPENGL_ES2 += $$(QCLIBS_DIR)/multimedia/display
load(qt_config)

View File

@ -20,6 +20,10 @@ QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
QMAKE_INCDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/include
QMAKE_LIBDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBS_BCM_HOST = -lbcm_host
contains(DISTRO, squeeze) {
#Debian Squeeze: Legacy everything
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lEGL

View File

@ -16,6 +16,11 @@ QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
QMAKE_INCDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/include
QMAKE_LIBDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBS_BCM_HOST = -lbcm_host
QMAKE_CFLAGS += -march=armv7-a -marm -mthumb-interwork -mfpu=neon-vfpv4 -mtune=cortex-a7 -mabi=aapcs-linux
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

View File

@ -31,6 +31,10 @@ QMAKE_LIBS_OPENGL_ES2 = $${VC_LINK_LINE} -lGLESv2
# The official opt vc EGL references GLESv2 symbols: need to link it
QMAKE_LIBS_EGL = $${VC_LINK_LINE} -lEGL -lGLESv2
QMAKE_LIBDIR_BCM_HOST = $$VC_LIBRARY_PATH
QMAKE_INCDIR_BCM_HOST = $$VC_INCLUDE_PATH
QMAKE_LIBS_BCM_HOST = -lbcm_host
QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

View File

@ -58,6 +58,14 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
!isEmpty(ANDROID_PACKAGE_SOURCE_DIR): \
FILE_CONTENT += " \"android-package-source-directory\": $$emitString($$ANDROID_PACKAGE_SOURCE_DIR),"
# Android-specific version string
!isEmpty(ANDROID_VERSION_NAME): \
FILE_CONTENT += " \"android-version-name\": $$emitString($$ANDROID_VERSION_NAME),"
# Android-specific version number
!isEmpty(ANDROID_VERSION_CODE): \
FILE_CONTENT += " \"android-version-code\": $$emitString($$ANDROID_VERSION_CODE),"
!isEmpty(ANDROID_EXTRA_LIBS): \
FILE_CONTENT += " \"android-extra-libs\": $$emitString($$join(ANDROID_EXTRA_LIBS, ",")),"

View File

@ -0,0 +1,2 @@
win32: CONFIG *= console
macos: CONFIG -= app_bundle

View File

@ -52,13 +52,18 @@ endmacro()
function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configuration lib_deps link_flags)
set(_lib_deps)
set(_link_flags)
get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE)
if(EXISTS \"${prl_file_location}\")
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\")
string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings})
string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends})
set(_search_paths)
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
foreach(_flag ${_static_depends})
if(_flag MATCHES \"^-l(.*)$\")
# Handle normal libraries passed as -lfoo
set(_lib \"${CMAKE_MATCH_1}\")
if(_lib MATCHES \"^pthread$\")
find_package(Threads REQUIRED)
@ -77,9 +82,14 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
message(FATAL_ERROR \"Library not found: ${_lib}\")
endif()
endif()
elseif(EXISTS \"${_flag}\")
# The flag is an absolute path to an existing library
list(APPEND _lib_deps \"${_flag}\")
elseif(_flag MATCHES \"^-L(.*)$\")
# Handle -Lfoo flags by putting their paths in the search path used by find_library above
list(APPEND _search_paths \"${CMAKE_MATCH_1}\")
else()
# Handle all remaining flags by simply passing them to the linker
list(APPEND _link_flags ${_flag})
endif()
endforeach()

View File

@ -78,7 +78,9 @@ stack_protector_strong {
# disable special linker flags for host builds (no proper test for host support yet)
!host_build|!cross_compile {
use_bfd_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_BFD
use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD
use_lld_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_LLD
enable_new_dtags: QMAKE_LFLAGS += $$QMAKE_LFLAGS_NEW_DTAGS
enable_gdb_index: QMAKE_LFLAGS += $$QMAKE_LFLAGS_GDB_INDEX
}

View File

@ -1,12 +1,25 @@
CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version)
ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
$(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
$(info This requires a fresh build. Please wipe the build directory completely,)
$(info including any .qmake.stash and .qmake.cache files generated by qmake.)
# FIXME: Ideally this should be advertised as just running make distclean, or we
# should even do it automatically by having proper makefile dependencies between
# .qmake.stash and the SDK version, but as qmake doesn't seem to be consistent in
# how it deals with .qmake.stash as a dependency we need to defer that until later.
$(error ^)
ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
# We don't want to complain about out of date SDK unless the target needs to be remade.
# This covers use-cases such as running 'make check' after moving the build to a
# computer without Xcode or with a different Xcode version.
TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
ifeq ($(TARGET_UP_TO_DATE),0)
ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
$(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
$(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
else ifneq ($(CURRENT_MAC_SDK_VERSION),)
$(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
else
$(info Unknown error resolving current platform SDK version.)
endif
$(info This requires a fresh build. Please wipe the build directory completely,)
$(info including any .qmake.stash and .qmake.cache files generated by qmake.)
$(error ^)
endif
endif
endif

View File

@ -2,7 +2,7 @@
# due to required Qt modules being missing.
!isEmpty(QMAKE_FAILED_REQUIREMENTS): return()
CONFIG *= thread
qtConfig(thread): CONFIG *= thread
#handle defines
win32 {

Some files were not shown because too many files have changed in this diff Show More