From a753126959319eef17ff12c4fe2786ab1e0b73e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=BCseyin=20Kozan?= Date: Sun, 15 Jul 2012 16:35:30 +0300 Subject: [PATCH] Close opened files by middle click. Change-Id: I548c62d6a043677e3989ec9f9082f2dcd731fae1 Reviewed-by: Dmitry Savchenko Reviewed-by: Eike Ziller --- .../coreplugin/editormanager/openeditorsview.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index 9a9c69b0059..cc48b681313 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -118,6 +118,7 @@ OpenEditorsWidget::OpenEditorsWidget() m_ui.editorList->header()->resizeSection(1, 16); m_ui.editorList->setContextMenuPolicy(Qt::CustomContextMenu); m_ui.editorList->installEventFilter(this); + m_ui.editorList->viewport()->installEventFilter(this); connect(em, SIGNAL(currentEditorChanged(Core::IEditor*)), this, SLOT(updateCurrentItem(Core::IEditor*))); @@ -162,6 +163,17 @@ bool OpenEditorsWidget::eventFilter(QObject *obj, QEvent *event) && ke->modifiers() == 0) { closeEditor(m_ui.editorList->currentIndex()); } + } else if (obj == m_ui.editorList->viewport() + && event->type() == QEvent::MouseButtonRelease) { + QMouseEvent * me = static_cast(event); + if (me->button() == Qt::MiddleButton + && me->modifiers() == Qt::NoModifier) { + QModelIndex index = m_ui.editorList->indexAt(me->pos()); + if (index.isValid()) { + closeEditor(index); + return true; + } + } } return false; }