aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/documentwarningwidget.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2016-10-05 12:16:58 +0200
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-10-05 11:49:44 +0000
commitc27c9a3123890919baaf484802b0607105c1bc34 (patch)
tree5fae4cfe61f25fd96828551259e452b23a274286 /src/plugins/qmldesigner/documentwarningwidget.cpp
parent9a9c29dd828a4caae28260f4636b08a63a888913 (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.cpp21
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();