]> git.lyx.org Git - features.git/blob - src/frontends/qt4/GuiBranches.h
3edf0970ea4e0f0ef486e762e4614620190fbe08
[features.git] / src / frontends / qt4 / GuiBranches.h
1 // -*- C++ -*-
2 /**
3  * \file GuiBranches.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Edwin Leuven
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef GUIBRANCHES_H
13 #define GUIBRANCHES_H
14
15 #include "Buffer.h"
16 #include "GuiDocument.h"
17 #include "ui_BranchesUnknownUi.h"
18 #include "ui_BranchesUi.h"
19 #include "BranchList.h"
20
21 #include <QWidget>
22
23 class QTreeWidgetItem;
24
25 namespace lyx {
26
27 class BufferParams;
28
29 namespace frontend {
30
31 class BranchesUnknownDialog : public QDialog, public Ui::BranchesUnknownUi
32 {
33 public:
34         BranchesUnknownDialog(QWidget * parent) : QDialog(parent)
35         {
36                 Ui::BranchesUnknownUi::setupUi(this);
37                 QDialog::setModal(true);
38         }
39 };
40
41 class GuiBranches : public QWidget, public Ui::BranchesUi
42 {
43         Q_OBJECT
44 public:
45         GuiBranches(QWidget * parent = 0);
46
47         void update(BufferParams const & params);
48         void apply(BufferParams & params) const;
49         void setUnknownBranches(QStringList const & b) { unknown_branches_ = b; }
50
51 Q_SIGNALS:
52         void changed();
53
54 protected:
55         void toggleBranch(QTreeWidgetItem *);
56         void toggleColor(QTreeWidgetItem *);
57         void updateView();
58
59 protected Q_SLOTS:
60         void on_addBranchPB_pressed();
61         void on_removePB_pressed();
62         void on_activatePB_pressed();
63         void on_branchesTW_itemDoubleClicked(QTreeWidgetItem *, int);
64         void on_colorPB_clicked();
65         void on_unknownPB_pressed();
66         void addUnknown();
67         void addAllUnknown();
68         void unknownBranchSelChanged();
69
70 private:
71         /// Contains all legal branches for this doc
72         BranchList branchlist_;
73         ///
74         BranchesUnknownDialog * undef_;
75         ///
76         ButtonController undef_bc_;
77         ///
78         QStringList unknown_branches_;
79 };
80
81 } // namespace frontend
82 } // namespace lyx
83
84 #endif // GUIBRANCHES_H