diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2016-10-05 12:16:58 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> | 2016-10-05 11:49:44 +0000 |
commit | c27c9a3123890919baaf484802b0607105c1bc34 (patch) | |
tree | 5fae4cfe61f25fd96828551259e452b23a274286 /src/plugins/qmldesigner/documentwarningwidget.cpp | |
parent | 9a9c29dd828a4caae28260f4636b08a63a888913 (diff) |
QmlDesigner: fix gotoCode in error/warning case
The QmlDesignerPlugin::hideDesigner() jumped again to selected node,
which came after the DocumentWarningWidget already set it.
Change-Id: I6e84342208c6405e8b25b516cd411b30bc48fcdb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmldesigner/documentwarningwidget.cpp')
-rw-r--r-- | src/plugins/qmldesigner/documentwarningwidget.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/documentwarningwidget.cpp b/src/plugins/qmldesigner/documentwarningwidget.cpp index d3b217844f..12baccb7b1 100644 --- a/src/plugins/qmldesigner/documentwarningwidget.cpp +++ b/src/plugins/qmldesigner/documentwarningwidget.cpp @@ -65,9 +65,8 @@ DocumentWarningWidget::DocumentWarningWidget(QWidget *parent) connect(m_navigateLabel, &QLabel::linkActivated, this, [=](const QString &link) { if (link == QLatin1String("goToCode")) { - RewriterError message = m_messages.at(m_currentMessage); hide(); - emit gotoCodeClicked(message.url().toLocalFile(), message.line(), message.column() - 1); + emitGotoCodeClicked(m_messages.at(m_currentMessage)); } else if (link == QLatin1String("previous")) { --m_currentMessage; refreshContent(); @@ -79,10 +78,8 @@ DocumentWarningWidget::DocumentWarningWidget(QWidget *parent) connect(m_continueButton, &QPushButton::clicked, this, [=]() { hide(); - if (m_mode == ErrorMode) { - RewriterError message = m_messages.at(m_currentMessage); - emit gotoCodeClicked(message.url().toLocalFile(), message.line(), message.column() - 1); - } + if (m_mode == ErrorMode) + emitGotoCodeClicked(m_messages.at(m_currentMessage)); }); connect(m_ignoreWarningsCheckBox, &QCheckBox::toggled, this, &DocumentWarningWidget::ignoreCheckBoxToggled); @@ -173,11 +170,23 @@ bool DocumentWarningWidget::eventFilter(QObject *object, QEvent *event) void DocumentWarningWidget::showEvent(QShowEvent *event) { + m_gotoCodeWasClicked = false; moveToParentCenter(); refreshContent(); Utils::FakeToolTip::showEvent(event); } +bool DocumentWarningWidget::gotoCodeWasClicked() +{ + return m_gotoCodeWasClicked; +} + +void DocumentWarningWidget::emitGotoCodeClicked(const RewriterError &message) +{ + m_gotoCodeWasClicked = true; + emit gotoCodeClicked(message.url().toLocalFile(), message.line(), message.column() - 1); +} + bool DocumentWarningWidget::warningsEnabled() const { DesignerSettings settings = QmlDesignerPlugin::instance()->settings(); |