summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-02-01 03:01:27 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-02-01 03:01:27 +0100
commit454f01b7b05ec61ff7c76a23e5dd4a612626d409 (patch)
treed7d52f1f631d25e91fd7de5334c3c0811c940720 /src
parentc365f6ee6fc21aeacf5564db5d62cce125967f3c (diff)
parentb3b244669a16b49f037bd4b8b1faa9d677c2b900 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'src')
-rw-r--r--src/assistant/assistant/centralwidget.cpp8
-rw-r--r--src/assistant/assistant/centralwidget.h6
-rw-r--r--src/assistant/assistant/helpviewer.h2
-rw-r--r--src/assistant/assistant/helpviewer_qwv.cpp6
-rw-r--r--src/assistant/assistant/mainwindow.cpp2
-rw-r--r--src/designer/src/lib/shared/iconselector.cpp3
-rw-r--r--src/macdeployqt/shared/shared.cpp24
-rw-r--r--src/qdoc/configure.pri8
-rw-r--r--src/qdoc/cppcodeparser.cpp3
-rw-r--r--src/qdoc/node.h4
-rw-r--r--src/qdoc/sections.cpp40
11 files changed, 58 insertions, 48 deletions
diff --git a/src/assistant/assistant/centralwidget.cpp b/src/assistant/assistant/centralwidget.cpp
index 4a4fba7ed..7136a8909 100644
--- a/src/assistant/assistant/centralwidget.cpp
+++ b/src/assistant/assistant/centralwidget.cpp
@@ -568,12 +568,12 @@ void CentralWidget::handleSourceChanged(const QUrl &url)
emit sourceChanged(url);
}
-void CentralWidget::slotHighlighted(const QString &link)
+void CentralWidget::slotHighlighted(const QUrl &link)
{
TRACE_OBJ
- QString resolvedLink = m_resolvedLinks.value(link);
+ QUrl resolvedLink = m_resolvedLinks.value(link);
if (!link.isEmpty() && resolvedLink.isEmpty()) {
- resolvedLink = HelpEngineWrapper::instance().findFile(link).toString();
+ resolvedLink = HelpEngineWrapper::instance().findFile(link);
m_resolvedLinks.insert(link, resolvedLink);
}
emit highlighted(resolvedLink);
@@ -605,7 +605,7 @@ void CentralWidget::connectSignals(HelpViewer *page)
this, &CentralWidget::backwardAvailable);
connect(page, &HelpViewer::sourceChanged,
this, &CentralWidget::handleSourceChanged);
- connect(page, QOverload<const QString &>::of(&HelpViewer::highlighted),
+ connect(page, QOverload<const QUrl &>::of(&HelpViewer::highlighted),
this, &CentralWidget::slotHighlighted);
}
diff --git a/src/assistant/assistant/centralwidget.h b/src/assistant/assistant/centralwidget.h
index 34de716a4..4943c2ff3 100644
--- a/src/assistant/assistant/centralwidget.h
+++ b/src/assistant/assistant/centralwidget.h
@@ -129,7 +129,7 @@ signals:
void currentViewerChanged();
void copyAvailable(bool yes);
void sourceChanged(const QUrl &url);
- void highlighted(const QString &link);
+ void highlighted(const QUrl &link);
void forwardAvailable(bool available);
void backwardAvailable(bool available);
void addBookmark(const QString &title, const QString &url);
@@ -142,7 +142,7 @@ private slots:
void highlightSearchTerms();
void printPreviewToPrinter(QPrinter *printer);
void handleSourceChanged(const QUrl &url);
- void slotHighlighted(const QString &link);
+ void slotHighlighted(const QUrl& link);
private:
void initPrinter();
@@ -160,7 +160,7 @@ private:
FindWidget *m_findWidget;
QStackedWidget *m_stackedWidget;
TabBar *m_tabBar;
- QHash<QString, QString> m_resolvedLinks;
+ QHash<QUrl, QUrl> m_resolvedLinks;
};
QT_END_NAMESPACE
diff --git a/src/assistant/assistant/helpviewer.h b/src/assistant/assistant/helpviewer.h
index 1b4f23a9a..e63173b1e 100644
--- a/src/assistant/assistant/helpviewer.h
+++ b/src/assistant/assistant/helpviewer.h
@@ -121,7 +121,7 @@ signals:
void sourceChanged(const QUrl &url);
void forwardAvailable(bool enabled);
void backwardAvailable(bool enabled);
- void highlighted(const QString &link);
+ void highlighted(const QUrl &link);
void printRequested();
#elif !defined(BROWSER_QTWEBKIT)
// Provide signals present in QWebView for browsers that do not inherit QWebView
diff --git a/src/assistant/assistant/helpviewer_qwv.cpp b/src/assistant/assistant/helpviewer_qwv.cpp
index f8acb7b46..7d9cfc07f 100644
--- a/src/assistant/assistant/helpviewer_qwv.cpp
+++ b/src/assistant/assistant/helpviewer_qwv.cpp
@@ -166,8 +166,10 @@ HelpViewer::HelpViewer(qreal zoom, QWidget *parent)
SLOT(actionChanged()));
connect(pageAction(QWebPage::Forward), SIGNAL(changed()), this,
SLOT(actionChanged()));
- connect(page(), SIGNAL(linkHovered(QString,QString,QString)), this,
- SIGNAL(highlighted(QString)));
+ connect(page(), &QWebPage::linkHovered, this,
+ [this] (const QString &link, const QString &, const QString &) {
+ emit this->highlighted(QUrl(link));
+ });
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
connect(this, SIGNAL(loadStarted()), this, SLOT(setLoadStarted()));
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(setLoadFinished(bool)));
diff --git a/src/assistant/assistant/mainwindow.cpp b/src/assistant/assistant/mainwindow.cpp
index 0273129ca..56312583d 100644
--- a/src/assistant/assistant/mainwindow.cpp
+++ b/src/assistant/assistant/mainwindow.cpp
@@ -676,7 +676,7 @@ void MainWindow::setupActions()
connect(m_centralWidget, &CentralWidget::backwardAvailable,
globalActions, &GlobalActions::updateActions);
connect(m_centralWidget, &CentralWidget::highlighted,
- this, [this](const QString &link) { statusBar()->showMessage(link);} );
+ this, [this](const QUrl &link) { statusBar()->showMessage(link.toString());} );
// index window
connect(m_indexWindow, &IndexWindow::linkActivated,
diff --git a/src/designer/src/lib/shared/iconselector.cpp b/src/designer/src/lib/shared/iconselector.cpp
index 05aaa9c98..ccfdc5c18 100644
--- a/src/designer/src/lib/shared/iconselector.cpp
+++ b/src/designer/src/lib/shared/iconselector.cpp
@@ -591,8 +591,7 @@ void IconThemeEditor::updatePreview(const QString &t)
{
// Update preview label with icon.
if (t.isEmpty() || !QIcon::hasThemeIcon(t)) { // Empty
- const QPixmap *currentPixmap = d->m_themeLabel->pixmap();
- if (currentPixmap == nullptr || currentPixmap->cacheKey() != d->m_emptyPixmap.cacheKey())
+ if (d->m_themeLabel->pixmap(Qt::ReturnByValue).cacheKey() != d->m_emptyPixmap.cacheKey())
d->m_themeLabel->setPixmap(d->m_emptyPixmap);
} else {
const QIcon icon = QIcon::fromTheme(t);
diff --git a/src/macdeployqt/shared/shared.cpp b/src/macdeployqt/shared/shared.cpp
index 454e72b7c..b308a6007 100644
--- a/src/macdeployqt/shared/shared.cpp
+++ b/src/macdeployqt/shared/shared.cpp
@@ -53,6 +53,7 @@ bool alwaysOwerwriteEnabled = false;
bool runCodesign = false;
QStringList librarySearchPath;
QString codesignIdentiy;
+QString extraEntitlements;
bool hardenedRuntime = false;
bool appstoreCompliant = false;
int logLevel = 1;
@@ -473,6 +474,23 @@ QStringList findAppBundleFiles(const QString &appBundlePath, bool absolutePath =
return result;
}
+QString findEntitlementsFile(const QString& path)
+{
+ QDirIterator iter(path, QStringList() << QString::fromLatin1("*.entitlements"),
+ QDir::Files, QDirIterator::Subdirectories);
+
+ while (iter.hasNext()) {
+ iter.next();
+ if (iter.fileInfo().isSymLink())
+ continue;
+
+ //return the first entitlements file - only one is used for signing anyway
+ return iter.fileInfo().absoluteFilePath();
+ }
+
+ return QString();
+}
+
QList<FrameworkInfo> getQtFrameworks(const QList<DylibInfo> &dependencies, const QString &appBundlePath, const QSet<QString> &rpaths, bool useDebugLibs)
{
QList<FrameworkInfo> libraries;
@@ -1382,6 +1400,9 @@ void codesignFile(const QString &identity, const QString &filePath)
if (hardenedRuntime)
codeSignOptions << "-o" << "runtime";
+ if (!extraEntitlements.isEmpty())
+ codeSignOptions << "--entitlements" << extraEntitlements;
+
QProcess codesign;
codesign.start("codesign", codeSignOptions);
codesign.waitForFinished(-1);
@@ -1504,6 +1525,9 @@ QSet<QString> codesignBundle(const QString &identity,
}
}
+ // Look for an entitlements file in the bundle to include when signing
+ extraEntitlements = findEntitlementsFile(appBundleAbsolutePath + "/Contents/Resources/");
+
// All dependencies are signed, now sign this binary.
codesignFile(identity, binary);
signedBinaries.insert(binary);
diff --git a/src/qdoc/configure.pri b/src/qdoc/configure.pri
index e9d7667c0..670ad5e7b 100644
--- a/src/qdoc/configure.pri
+++ b/src/qdoc/configure.pri
@@ -1,7 +1,7 @@
-defineReplace(extractVersion) { return($$replace(1, ^(\\d+\\.\\d+\\.\\d+)(svn)?$, \\1)) }
-defineReplace(extractMajorVersion) { return($$replace(1, ^(\\d+)\\.\\d+\\.\\d+(svn)?$, \\1)) }
-defineReplace(extractMinorVersion) { return($$replace(1, ^\\d+\\.(\\d+)\\.\\d+(svn)?$, \\1)) }
-defineReplace(extractPatchVersion) { return($$replace(1, ^\\d+\\.\\d+\\.(\\d+)(svn)?$, \\1)) }
+defineReplace(extractVersion) { return($$replace(1, ^(\\d+\\.\\d+\\.\\d+)(svn|git)?$, \\1)) }
+defineReplace(extractMajorVersion) { return($$replace(1, ^(\\d+)\\.\\d+\\.\\d+(svn|git)?$, \\1)) }
+defineReplace(extractMinorVersion) { return($$replace(1, ^\\d+\\.(\\d+)\\.\\d+(svn|git)?$, \\1)) }
+defineReplace(extractPatchVersion) { return($$replace(1, ^\\d+\\.\\d+\\.(\\d+)(svn|git)?$, \\1)) }
defineTest(versionIsAtLeast) {
actual_major_version = $$extractMajorVersion($$1)
diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp
index 87fade3cc..877b08279 100644
--- a/src/qdoc/cppcodeparser.cpp
+++ b/src/qdoc/cppcodeparser.cpp
@@ -456,6 +456,7 @@ void CppCodeParser::processQmlProperties(const Doc &doc, NodeList &nodes, DocLis
docs.append(doc);
for (const auto n : sharedNodes)
scn->append(n);
+ scn->sort();
}
}
@@ -948,6 +949,8 @@ void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeL
}
}
}
+ for (auto *scn : sharedCommentNodes)
+ scn->sort();
}
}
}
diff --git a/src/qdoc/node.h b/src/qdoc/node.h
index fbee8128f..ee93e8200 100644
--- a/src/qdoc/node.h
+++ b/src/qdoc/node.h
@@ -957,6 +957,10 @@ public:
n->setSharedCommentNode(this);
setGenus(n->genus());
}
+ void sort()
+ {
+ std::sort(collective_.begin(), collective_.end(), Node::nodeNameLessThan);
+ }
const QVector<Node *> &collective() const { return collective_; }
void setOverloadFlags();
void setRelatedNonmember(bool b) override;
diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp
index 5f954517d..c0c5e095d 100644
--- a/src/qdoc/sections.cpp
+++ b/src/qdoc/sections.cpp
@@ -30,6 +30,7 @@
#include "config.h"
#include "generator.h"
+#include "loggingcategory.h"
#include <QtCore/qdebug.h>
#include <QtCore/qobjectdefs.h>
@@ -979,7 +980,6 @@ void Sections::buildStdCppClassRefPageSections()
allMembers.insert(n);
if (!documentAll && !n->hasDoc())
continue;
- // distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019
}
pushBaseClasses(stack, cn);
}
@@ -1000,51 +1000,29 @@ void Sections::buildStdQmlTypeRefPageSections()
Section &allMembers = allMembersSection();
const Aggregate *qtn = aggregate_;
- while (true) {
+ while (qtn) {
if (!qtn->isAbstract() || !classMap)
classMap = allMembers.newClassMap(qtn);
- for (auto it = qtn->constBegin(); it != qtn->constEnd(); ++it) {
- Node *n = *it;
+ for (const auto n : qtn->childNodes()) {
if (n->isInternal())
continue;
if (!n->isSharedCommentNode() || n->isPropertyGroup())
allMembers.add(classMap, n);
- distributeQmlNodeInSummaryVector(summarySections, n);
- distributeQmlNodeInDetailsVector(detailsSections, n);
+ if (qtn == aggregate_ || qtn->isAbstract()) {
+ distributeQmlNodeInSummaryVector(summarySections, n);
+ distributeQmlNodeInDetailsVector(detailsSections, n);
+ }
}
if (qtn->qmlBaseNode() == qtn) {
- qDebug() << "qdoc internal error: circular type definition."
- << "QML type" << qtn->name() << "can't be its own base type";
- qtn = nullptr;
+ qCDebug(lcQdoc, "error: circular type definition: '%s' inherits itself",
+ qPrintable(qtn->name()));
break;
}
qtn = static_cast<QmlTypeNode *>(qtn->qmlBaseNode());
- if (qtn == nullptr)
- break;
- if (!qtn->isAbstract())
- break;
}
- while (qtn != nullptr) {
- if (!qtn->isAbstract() || !classMap)
- classMap = allMembers.newClassMap(qtn);
- for (auto it = qtn->constBegin(); it != qtn->constEnd(); ++it) {
- Node *n = *it;
- if (n->isInternal() || n->isSharedCommentNode())
- continue;
-
- allMembers.add(classMap, n);
- }
- if (qtn->qmlBaseNode() == qtn) {
- qDebug() << "qdoc internal error: circular type definition."
- << "QML type" << qtn->name() << "can't be its own base type";
- qtn = nullptr;
- break;
- }
- qtn = static_cast<QmlTypeNode *>(qtn->qmlBaseNode());
- }
reduce(summarySections);
reduce(detailsSections);
allMembers.reduce();