]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/QInclude.h
* LyX::addFileToLoad(): new method for double-clicked file icons on MacOS.
[lyx.git] / src / frontends / qt4 / QInclude.h
1 // -*- C++ -*-
2 /**
3  * \file QInclude.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef QINCLUDE_H
13 #define QINCLUDE_H
14
15 #include "QDialogView.h"
16
17 #include "ui/IncludeUi.h"
18
19 #include <QDialog>
20
21 namespace lyx {
22 namespace frontend {
23
24 class QInclude;
25
26 class QIncludeDialog : public QDialog, public Ui::QIncludeUi {
27         Q_OBJECT
28 public:
29         QIncludeDialog(QInclude * form);
30
31         void updateLists();
32
33         virtual void show();
34 protected Q_SLOTS:
35         virtual void change_adaptor();
36         virtual void loadClicked();
37         virtual void browseClicked();
38         virtual void typeChanged(int v);
39 protected:
40         virtual void closeEvent(QCloseEvent * e);
41 private:
42         QInclude * form_;
43 };
44
45
46 class ControlInclude;
47
48 ///
49 class QInclude : public QController<ControlInclude, QView<QIncludeDialog> >
50 {
51 public:
52         ///
53         friend class QIncludeDialog;
54         ///
55         QInclude(Dialog &);
56 protected:
57         virtual bool isValid();
58 private:
59         /// Apply changes
60         virtual void apply();
61         /// update
62         virtual void update_contents();
63         /// build the dialog
64         virtual void build_dialog();
65
66         /// load the file
67         void load();
68
69         /// browse for a file
70         void browse();
71 };
72
73 } // namespace frontend
74 } // namespace lyx
75
76 #endif // QINCLUDE_H