]> git.lyx.org Git - lyx.git/blob - src/frontends/qt/DockView.cpp
Move <QKeyEvent> from DockView.h
[lyx.git] / src / frontends / qt / DockView.cpp
1 // -*- C++ -*-
2 /**
3  * \file DockView.cpp
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Abdelrazak Younes
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #include <config.h>
13
14 #include "DockView.h"
15 #include "GuiView.h"
16
17 #include <QKeyEvent>
18
19
20 namespace lyx {
21 namespace frontend {
22
23
24 DockView::DockView(GuiView & parent, QString const & name,
25                    QString const & title, Qt::DockWidgetArea area,
26                    Qt::WindowFlags flags)
27         : QDockWidget(&parent, flags), Dialog(parent, name, title)
28 {
29         setObjectName(name);
30         parent.addDockWidget(area, this);
31         hide();
32         connect(&parent, SIGNAL(bufferViewChanged()),
33                 this, SLOT(onBufferViewChanged()));
34 }
35
36
37 void DockView::keyPressEvent(QKeyEvent * ev)
38 {
39         if (ev->key() == Qt::Key_Escape) {
40                 QMainWindow * mw = static_cast<QMainWindow *>(parent());
41                 if (!mw) {
42                         ev->ignore();
43                         return;
44                 }
45                 mw->activateWindow();
46                 mw->setFocus();
47                 if (isFloating())
48                         hide();
49                 ev->accept();
50         }
51 }
52
53
54 } // namespace frontend
55 } // namespace lyx
56
57 #include "moc_DockView.cpp"