]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/GuiBranches.h
b42cc5e3628bd53d6a13d014374aac5fd0e0bb87
[lyx.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         void renameBranches(docstring const &, docstring const &);
54
55 protected:
56         void toggleBranch(QTreeWidgetItem *);
57         void toggleColor(QTreeWidgetItem *);
58         void updateView();
59
60 protected Q_SLOTS:
61         void on_addBranchPB_pressed();
62         void on_removePB_pressed();
63         void on_renamePB_pressed();
64         void on_activatePB_pressed();
65         void on_branchesTW_itemDoubleClicked(QTreeWidgetItem *, int);
66         void on_branchesTW_itemSelectionChanged();
67         void on_colorPB_clicked();
68         void on_unknownPB_pressed();
69         void addUnknown();
70         void addAllUnknown();
71         void unknownBranchSelChanged();
72
73 private:
74         /// Contains all legal branches for this doc
75         BranchList branchlist_;
76         ///
77         BranchesUnknownDialog * undef_;
78         ///
79         ButtonController undef_bc_;
80         ///
81         QStringList unknown_branches_;
82 };
83
84 } // namespace frontend
85 } // namespace lyx
86
87 #endif // GUIBRANCHES_H