diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-03-26 13:09:43 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-03-26 13:09:43 +0100 |
commit | 599be01a676cd7990abb3bb25f7ce02565193a89 (patch) | |
tree | 6dba09d8c7766e3719e266b71556bc52f5220722 /src/plugins/find | |
parent | ec10e0d79e9cf52b3cac164da5c39accbf4d2b50 (diff) | |
parent | f409fdd6d3a6aed8b32ded224cf624d52a1ae0fd (diff) |
Merge remote-tracking branch 'origin/2.7'
Conflicts:
qtcreator.pri
qtcreator.qbs
share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri
share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp
share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h
src/plugins/debugger/debuggerplugin.cpp
src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp
src/plugins/qmldesigner/components/debugview/debugview.cpp
src/plugins/qmldesigner/components/formeditor/abstractcustomtool.cpp
src/plugins/qmldesigner/components/formeditor/abstractcustomtool.h
src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
src/plugins/qmldesigner/components/integration/stackedutilitypanelcontroller.h
src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
src/plugins/qmldesigner/components/navigator/navigatorview.cpp
src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
src/plugins/qmldesigner/designercore/include/abstractview.h
src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h
src/plugins/qmldesigner/designercore/include/rewriterview.h
src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp
src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp
src/plugins/qmldesigner/designercore/model/abstractview.cpp
src/plugins/qmldesigner/designmodewidget.cpp
Change-Id: I9d8126e88397c02a87b5e4ab4da44e2bc7089134
Diffstat (limited to 'src/plugins/find')
-rw-r--r-- | src/plugins/find/findtoolbar.cpp | 28 | ||||
-rw-r--r-- | src/plugins/find/findtoolbar.h | 3 |
2 files changed, 24 insertions, 7 deletions
diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp index ec4d673a697..571c193910f 100644 --- a/src/plugins/find/findtoolbar.cpp +++ b/src/plugins/find/findtoolbar.cpp @@ -285,6 +285,14 @@ void FindToolBar::installEventFilters() } } +bool FindToolBar::shouldSetFocusOnKeyEvent(QKeyEvent *event) +{ + return event->key() == Qt::Key_Escape && !event->modifiers() + && !m_findCompleter->popup()->isVisible() + && !m_replaceCompleter->popup()->isVisible() + && m_currentDocumentFind->isEnabled(); +} + bool FindToolBar::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { @@ -315,13 +323,9 @@ bool FindToolBar::eventFilter(QObject *obj, QEvent *event) } } else if (obj == this && event->type() == QEvent::ShortcutOverride) { QKeyEvent *ke = static_cast<QKeyEvent *>(event); - if (ke->key() == Qt::Key_Escape && !ke->modifiers() - && !m_findCompleter->popup()->isVisible() - && !m_replaceCompleter->popup()->isVisible()) { - if (setFocusToCurrentFindSupport()) { - event->accept(); - return true; - } + if (shouldSetFocusOnKeyEvent(ke)) { + event->accept(); + return true; } else if (ke->key() == Qt::Key_Space && (ke->modifiers() & Utils::HostOsInfo::controlModifier())) { event->accept(); return true; @@ -334,6 +338,16 @@ bool FindToolBar::eventFilter(QObject *obj, QEvent *event) return Utils::StyledBar::eventFilter(obj, event); } +void FindToolBar::keyPressEvent(QKeyEvent *event) +{ + if (shouldSetFocusOnKeyEvent(event)) { + if (setFocusToCurrentFindSupport()) + event->accept(); + return; + } + return Utils::StyledBar::keyPressEvent(event); +} + void FindToolBar::adaptToCandidate() { updateFindAction(); diff --git a/src/plugins/find/findtoolbar.h b/src/plugins/find/findtoolbar.h index 6a341b80b22..f8f9b3b8abe 100644 --- a/src/plugins/find/findtoolbar.h +++ b/src/plugins/find/findtoolbar.h @@ -97,6 +97,7 @@ private slots: protected: bool focusNextPrevChild(bool next); + void keyPressEvent(QKeyEvent *event); private: void installEventFilters(); @@ -115,6 +116,8 @@ private: void updateIcons(); void updateFlagMenus(); + bool shouldSetFocusOnKeyEvent(QKeyEvent *event); + FindPlugin *m_plugin; CurrentDocumentFind *m_currentDocumentFind; Ui::FindWidget m_ui; |