diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-01 03:01:27 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-01 03:01:27 +0100 |
commit | 454f01b7b05ec61ff7c76a23e5dd4a612626d409 (patch) | |
tree | d7d52f1f631d25e91fd7de5334c3c0811c940720 /src | |
parent | c365f6ee6fc21aeacf5564db5d62cce125967f3c (diff) | |
parent | b3b244669a16b49f037bd4b8b1faa9d677c2b900 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: I674982e1a1f7d47bb1541f544ff1506a7cbe3a72
Diffstat (limited to 'src')
-rw-r--r-- | src/assistant/assistant/centralwidget.cpp | 8 | ||||
-rw-r--r-- | src/assistant/assistant/centralwidget.h | 6 | ||||
-rw-r--r-- | src/assistant/assistant/helpviewer.h | 2 | ||||
-rw-r--r-- | src/assistant/assistant/helpviewer_qwv.cpp | 6 | ||||
-rw-r--r-- | src/assistant/assistant/mainwindow.cpp | 2 | ||||
-rw-r--r-- | src/designer/src/lib/shared/iconselector.cpp | 3 | ||||
-rw-r--r-- | src/macdeployqt/shared/shared.cpp | 24 | ||||
-rw-r--r-- | src/qdoc/configure.pri | 8 | ||||
-rw-r--r-- | src/qdoc/cppcodeparser.cpp | 3 | ||||
-rw-r--r-- | src/qdoc/node.h | 4 | ||||
-rw-r--r-- | src/qdoc/sections.cpp | 40 |
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(); |