diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-01 11:27:38 +0200 |
---|---|---|
committer | cherrypickbot <cherrypickbot@codereview.qt-project.org> | 2020-04-01 19:47:07 +0000 |
commit | 7c0562d06e84febceac0d8f1d36cf4d6e0758398 (patch) | |
tree | 30fd368374e9448224aaff5c270c667102c1c029 | |
parent | 8685a264d6961a759257bb3c8ece0beffca2bd14 (diff) | |
download | qttools-7c0562d06e84febceac0d8f1d36cf4d6e0758398.tar.gz |
Qt Designer/signal slot editor: Improve adding new connections
Ensure new connections are visible and selected.
The order of statements in Add/DeleteConnectionCommand
needs to be changed for the model indexes to be valid.
Cherry-picked from branch: dev
Change-Id: Ib66ab86a085e47829cc5c8c0c6da78c9a7321748
Task-number: QTBUG-82924
Reviewed-by: cherrypickbot
-rw-r--r-- | src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp | 3 | ||||
-rw-r--r-- | src/designer/src/lib/shared/connectionedit.cpp | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp b/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp index 70668c362..a7dcc28e7 100644 --- a/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp +++ b/src/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp @@ -772,9 +772,10 @@ void SignalSlotEditorWindow::updateDialogSelection(Connection *con) return; QModelIndex index = m_proxy_model->mapFromSource(m_model->connectionToIndex(con)); - if (index == m_view->currentIndex()) + if (!index.isValid() || index == m_view->currentIndex()) return; m_handling_selection_change = true; + m_view->scrollTo(index, QTreeView::EnsureVisible); m_view->setCurrentIndex(index); m_handling_selection_change = false; diff --git a/src/designer/src/lib/shared/connectionedit.cpp b/src/designer/src/lib/shared/connectionedit.cpp index 5e43607d4..6af42627a 100644 --- a/src/designer/src/lib/shared/connectionedit.cpp +++ b/src/designer/src/lib/shared/connectionedit.cpp @@ -135,8 +135,8 @@ void AddConnectionCommand::redo() emit edit()->aboutToAddConnection(edit()->m_con_list.size()); edit()->m_con_list.append(m_con); m_con->inserted(); - edit()->setSelected(m_con, true); emit edit()->connectionAdded(m_con); + edit()->setSelected(m_con, true); } void AddConnectionCommand::undo() @@ -223,10 +223,10 @@ void DeleteConnectionsCommand::undo() emit edit()->aboutToAddConnection(edit()->m_con_list.size()); edit()->m_con_list.append(con); edit()->selectNone(); - edit()->setSelected(con, true); con->update(); con->inserted(); emit edit()->connectionAdded(con); + edit()->setSelected(con, true); } } |