forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.5' into 4.6
Change-Id: I3ab4084095d90daf064475157b9a3cdce56dbdec
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
#include <QBuffer>
|
#include <QBuffer>
|
||||||
#include <QContextMenuEvent>
|
#include <QContextMenuEvent>
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
|
#include <QTimer>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
|
||||||
#include <QWebEngineContextMenuData>
|
#include <QWebEngineContextMenuData>
|
||||||
@@ -89,7 +90,20 @@ WebEngineHelpViewer::WebEngineHelpViewer(QWidget *parent) :
|
|||||||
setPalette(p);
|
setPalette(p);
|
||||||
|
|
||||||
connect(m_widget, &QWebEngineView::urlChanged, this, &WebEngineHelpViewer::sourceChanged);
|
connect(m_widget, &QWebEngineView::urlChanged, this, &WebEngineHelpViewer::sourceChanged);
|
||||||
connect(m_widget, &QWebEngineView::loadStarted, this, &WebEngineHelpViewer::slotLoadStarted);
|
connect(m_widget, &QWebEngineView::loadStarted, this, [this] {
|
||||||
|
slotLoadStarted();
|
||||||
|
// Work around QTBUG-65223: if only anchor changed, we never get a loadFinished signal
|
||||||
|
// If a link is clicked in a page, it can happen that the new URL has not yet been set,
|
||||||
|
// so we need to delay a bit...
|
||||||
|
QTimer::singleShot(/*magic timeout=*/150, this, [this] {
|
||||||
|
QUrl urlWithoutFragment = source();
|
||||||
|
urlWithoutFragment.setFragment(QString());
|
||||||
|
qDebug() << urlWithoutFragment << m_previousUrlWithoutFragment;
|
||||||
|
if (urlWithoutFragment == m_previousUrlWithoutFragment)
|
||||||
|
slotLoadFinished();
|
||||||
|
m_previousUrlWithoutFragment = urlWithoutFragment;
|
||||||
|
});
|
||||||
|
});
|
||||||
connect(m_widget, &QWebEngineView::loadFinished, this, &WebEngineHelpViewer::slotLoadFinished);
|
connect(m_widget, &QWebEngineView::loadFinished, this, &WebEngineHelpViewer::slotLoadFinished);
|
||||||
connect(m_widget, &QWebEngineView::titleChanged, this, &WebEngineHelpViewer::titleChanged);
|
connect(m_widget, &QWebEngineView::titleChanged, this, &WebEngineHelpViewer::titleChanged);
|
||||||
connect(m_widget->page(), &QWebEnginePage::linkHovered, this, &WebEngineHelpViewer::setToolTip);
|
connect(m_widget->page(), &QWebEnginePage::linkHovered, this, &WebEngineHelpViewer::setToolTip);
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
WebView *m_widget;
|
WebView *m_widget;
|
||||||
|
QUrl m_previousUrlWithoutFragment;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -648,13 +648,21 @@ void CustomToolChainConfigWidget::applyImpl()
|
|||||||
tc->setCompilerCommand(m_compilerCommand->fileName());
|
tc->setCompilerCommand(m_compilerCommand->fileName());
|
||||||
tc->setMakeCommand(m_makeCommand->fileName());
|
tc->setMakeCommand(m_makeCommand->fileName());
|
||||||
tc->setTargetAbi(m_abiWidget->currentAbi());
|
tc->setTargetAbi(m_abiWidget->currentAbi());
|
||||||
tc->setPredefinedMacros(Macro::toMacros(m_predefinedDetails->text().toUtf8()));
|
Macros macros = Utils::transform<QVector>(
|
||||||
|
m_predefinedDetails->text().split('\n', QString::SkipEmptyParts),
|
||||||
|
[](const QString &m) {
|
||||||
|
return Macro::fromKeyValue(m);
|
||||||
|
});
|
||||||
|
tc->setPredefinedMacros(macros);
|
||||||
tc->setHeaderPaths(m_headerDetails->entries());
|
tc->setHeaderPaths(m_headerDetails->entries());
|
||||||
tc->setCxx11Flags(m_cxx11Flags->text().split(QLatin1Char(',')));
|
tc->setCxx11Flags(m_cxx11Flags->text().split(QLatin1Char(',')));
|
||||||
tc->setMkspecs(m_mkspecs->text());
|
tc->setMkspecs(m_mkspecs->text());
|
||||||
tc->setDisplayName(displayName); // reset display name
|
tc->setDisplayName(displayName); // reset display name
|
||||||
tc->setOutputParserId(Core::Id::fromSetting(m_errorParserComboBox->currentData()));
|
tc->setOutputParserId(Core::Id::fromSetting(m_errorParserComboBox->currentData()));
|
||||||
tc->setCustomParserSettings(m_customParserSettings);
|
tc->setCustomParserSettings(m_customParserSettings);
|
||||||
|
|
||||||
|
setFromToolchain(); // Refresh with actual data from the toolchain. This shows what e.g. the
|
||||||
|
// macro parser did with the input.
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomToolChainConfigWidget::setFromToolchain()
|
void CustomToolChainConfigWidget::setFromToolchain()
|
||||||
@@ -665,7 +673,10 @@ void CustomToolChainConfigWidget::setFromToolchain()
|
|||||||
m_compilerCommand->setFileName(tc->compilerCommand());
|
m_compilerCommand->setFileName(tc->compilerCommand());
|
||||||
m_makeCommand->setFileName(FileName::fromString(tc->makeCommand(Environment())));
|
m_makeCommand->setFileName(FileName::fromString(tc->makeCommand(Environment())));
|
||||||
m_abiWidget->setAbis(QList<Abi>(), tc->targetAbi());
|
m_abiWidget->setAbis(QList<Abi>(), tc->targetAbi());
|
||||||
m_predefinedMacros->setPlainText(QString::fromUtf8(Macro::toByteArray(tc->rawPredefinedMacros())));
|
const QStringList macroLines = Utils::transform<QList>(tc->rawPredefinedMacros(), [](const Macro &m) {
|
||||||
|
return QString::fromUtf8(m.toKeyValue(QByteArray()));
|
||||||
|
});
|
||||||
|
m_predefinedMacros->setPlainText(macroLines.join('\n'));
|
||||||
m_headerPaths->setPlainText(tc->headerPathsList().join('\n'));
|
m_headerPaths->setPlainText(tc->headerPathsList().join('\n'));
|
||||||
m_cxx11Flags->setText(tc->cxx11Flags().join(QLatin1Char(',')));
|
m_cxx11Flags->setText(tc->cxx11Flags().join(QLatin1Char(',')));
|
||||||
m_mkspecs->setText(tc->mkspecs());
|
m_mkspecs->setText(tc->mkspecs());
|
||||||
|
|||||||
@@ -1,18 +1,12 @@
|
|||||||
import qbs
|
import qbs
|
||||||
import qbs.Utilities
|
import qbs.Utilities
|
||||||
|
|
||||||
CppApplication {
|
QtcTool {
|
||||||
name: "valgrind-fake"
|
name: "valgrind-fake"
|
||||||
consoleApplication: true
|
consoleApplication: true
|
||||||
destinationDirectory: qtc.ide_bin_path
|
destinationDirectory: qtc.ide_bin_path
|
||||||
|
install: false
|
||||||
Depends { name: "Qt"; submodules: ["network", "xml"]; }
|
Depends { name: "Qt"; submodules: ["network", "xml"]; }
|
||||||
Depends { name: "qtc" }
|
|
||||||
cpp.cxxLanguageVersion: "c++11"
|
|
||||||
|
|
||||||
Properties {
|
|
||||||
condition: Utilities.versionCompare(Qt.core.version, "5.7") < 0
|
|
||||||
cpp.minimumMacosVersion: project.minimumMacosVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
files: [
|
files: [
|
||||||
"main.cpp",
|
"main.cpp",
|
||||||
|
|||||||
Reference in New Issue
Block a user