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:
commit
035f934d7a
1
INSTALL
1
INSTALL
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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)
|
||||
|
@ -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",
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -49,9 +49,6 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QtCore>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "server.h"
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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]
|
||||
|
@ -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();
|
||||
|
@ -55,9 +55,6 @@
|
||||
|
||||
#include <QCommandLineParser>
|
||||
#include <QCommandLineOption>
|
||||
#include <QDebug>
|
||||
#include <QMimeDatabase>
|
||||
#include <QMimeType>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -50,9 +50,8 @@
|
||||
|
||||
#include "mimetypemodel.h"
|
||||
|
||||
#include <QIcon>
|
||||
|
||||
#include <QDebug>
|
||||
#include <QIcon>
|
||||
#include <QMimeDatabase>
|
||||
#include <QTextStream>
|
||||
#include <QVariant>
|
||||
|
@ -2,8 +2,7 @@ QT += core
|
||||
QT -= gui
|
||||
|
||||
TARGET = cbordump
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
|
@ -56,7 +56,6 @@
|
||||
#include <QCborArray>
|
||||
#include <QCborValue>
|
||||
#include <QDataStream>
|
||||
#include <QDebug>
|
||||
#include <QFloat16>
|
||||
#include <QFile>
|
||||
#include <QMetaType>
|
||||
|
@ -2,8 +2,7 @@ QT += core
|
||||
QT -= gui
|
||||
|
||||
TARGET = convert
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -2,8 +2,7 @@ QT += core
|
||||
QT -= gui
|
||||
|
||||
TARGET = savegame
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -50,7 +50,7 @@
|
||||
|
||||
#include "renderthread.h"
|
||||
|
||||
#include <QtWidgets>
|
||||
#include <QImage>
|
||||
#include <cmath>
|
||||
|
||||
//! [0]
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -52,7 +52,6 @@
|
||||
#define BLOCK_H
|
||||
|
||||
#include <QColor>
|
||||
#include <QDebug>
|
||||
#include <QMetaType>
|
||||
#include <QRect>
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -65,7 +65,7 @@ class Window : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Window();
|
||||
Window(QWidget *parent = nullptr);
|
||||
void loadImage(const QImage &image);
|
||||
|
||||
public slots:
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
QT = core
|
||||
CONFIG -= moc app_bundle
|
||||
CONFIG += console
|
||||
CONFIG -= moc
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += waitconditions.cpp
|
||||
|
||||
|
@ -49,7 +49,6 @@
|
||||
****************************************************************************/
|
||||
#include "randomlistmodel.h"
|
||||
#include <QRandomGenerator>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const int bufferSize(500);
|
||||
static const int lookAhead(100);
|
||||
|
@ -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;
|
||||
|
@ -49,6 +49,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QVariant>
|
||||
#include "message.h"
|
||||
|
||||
|
@ -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]
|
||||
|
@ -51,7 +51,6 @@
|
||||
#ifndef MESSAGE_H
|
||||
#define MESSAGE_H
|
||||
|
||||
#include <QDebug>
|
||||
#include <QMetaType>
|
||||
#include <QStringList>
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
@ -51,7 +51,6 @@
|
||||
#ifndef MESSAGE_H
|
||||
#define MESSAGE_H
|
||||
|
||||
#include <QDebug>
|
||||
#include <QMetaType>
|
||||
#include <QStringList>
|
||||
|
||||
|
@ -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();
|
||||
|
@ -62,7 +62,7 @@ class Window : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Window();
|
||||
Window(QWidget *parent = nullptr);
|
||||
|
||||
signals:
|
||||
void messageSent(const Message &message);
|
||||
|
@ -1,7 +1,6 @@
|
||||
TEMPLATE = app
|
||||
QT = core network
|
||||
mac:CONFIG -= app_bundle
|
||||
win32:CONFIG += console
|
||||
CONFIG += cmdline
|
||||
HEADERS += dnslookup.h
|
||||
SOURCES += dnslookup.cpp
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
QT = core network
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -1,8 +1,7 @@
|
||||
TEMPLATE = app
|
||||
TARGET = mapdemo
|
||||
QT += concurrent
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
QT += concurrent widgets
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
QT += concurrent widgets
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -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]
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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()) {
|
||||
|
@ -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;
|
||||
|
@ -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()));
|
||||
|
||||
|
@ -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 =
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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]
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
QT = core
|
||||
win32: CONFIG += console
|
||||
mac:CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
QT = core
|
||||
win32: CONFIG += console
|
||||
mac:CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
|
||||
SOURCES = main.cpp
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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()) {
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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);
|
||||
|
@ -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"))
|
||||
|
@ -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));
|
||||
|
@ -1,5 +1,4 @@
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += cmdline
|
||||
QT -= gui
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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, ",")),"
|
||||
|
||||
|
2
mkspecs/features/cmdline.prf
Normal file
2
mkspecs/features/cmdline.prf
Normal file
@ -0,0 +1,2 @@
|
||||
win32: CONFIG *= console
|
||||
macos: CONFIG -= app_bundle
|
@ -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()
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user