]> git.lyx.org Git - lyx.git/blob - src/frontends/qt3/QViewSource.C
Extracted from r14281
[lyx.git] / src / frontends / qt3 / QViewSource.C
1 /**
2  * \file QViewSource.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author John Levon
7  * \author Bo Peng
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #include <config.h>
13
14 #include "QViewSource.h"
15 #include "QViewSourceDialog.h"
16 #include "qt_helpers.h"
17 #include "lyx_gui.h"
18
19 #include "controllers/ControlViewSource.h"
20
21 #include <sstream>
22
23 #include <qtextview.h>
24 #include <qpushbutton.h>
25
26 namespace lyx {
27 namespace frontend {
28
29 typedef QController<ControlViewSource, QView<QViewSourceDialog> > base_class;
30
31 QViewSource::QViewSource(Dialog & parent)
32         : base_class(parent, "")
33 {}
34
35
36 void QViewSource::build_dialog()
37 {
38         dialog_.reset(new QViewSourceDialog(this));
39         dialog_->viewSourceTV->setReadOnly(true);
40         dialog_->viewSourceTV->setTextFormat(Qt::PlainText);
41         // this is personal. I think source code should be in fixed-size font
42         QFont font(toqstr(lyx_gui::typewriter_font_name()));
43         font.setFixedPitch(true);
44         font.setStyleHint(QFont::TypeWriter);
45         dialog_->viewSourceTV->setFont(font);
46         // again, personal taste
47         dialog_->viewSourceTV->setWordWrap(QTextEdit::NoWrap);
48 }
49
50
51 void QViewSource::update_contents()
52 {
53         setTitle(controller().title());
54         dialog_->viewSourceTV->setText(toqstr(controller().updateContent()));
55 }
56
57 } // namespace frontend
58 } // namespace lyx