]> git.lyx.org Git - lyx.git/blob - src/frontends/qt/DockView.cpp
b0f0be4cb5b1a26f2f6e4c9565d1af70f3151857
[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
18 namespace lyx {
19 namespace frontend {
20
21
22 DockView::DockView(GuiView & parent, QString const & name,
23                    QString const & title, Qt::DockWidgetArea area,
24                    Qt::WindowFlags flags)
25         : QDockWidget(&parent, flags), Dialog(parent, name, title)
26 {
27         setObjectName(name);
28         parent.addDockWidget(area, this);
29         hide();
30         connect(&parent, SIGNAL(bufferViewChanged()),
31                 this, SLOT(onBufferViewChanged()));
32 }
33
34
35 void DockView::keyPressEvent(QKeyEvent * ev)
36 {
37         if (ev->key() == Qt::Key_Escape) {
38                 QMainWindow * mw = static_cast<QMainWindow *>(parent());
39                 if (!mw) {
40                         ev->ignore();
41                         return;
42                 }
43                 mw->activateWindow();
44                 mw->setFocus();
45                 if (isFloating())
46                         hide();
47                 ev->accept();
48         }
49 }
50
51
52 } // namespace frontend
53 } // namespace lyx
54
55 #include "moc_DockView.cpp"