aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/find
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-03-26 13:09:43 +0100
committerEike Ziller <eike.ziller@digia.com>2013-03-26 13:09:43 +0100
commit599be01a676cd7990abb3bb25f7ce02565193a89 (patch)
tree6dba09d8c7766e3719e266b71556bc52f5220722 /src/plugins/find
parentec10e0d79e9cf52b3cac164da5c39accbf4d2b50 (diff)
parentf409fdd6d3a6aed8b32ded224cf624d52a1ae0fd (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.cpp28
-rw-r--r--src/plugins/find/findtoolbar.h3
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;