-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheditor.h
129 lines (114 loc) · 2.76 KB
/
editor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#ifndef EDITOR_H
#define EDITOR_H
#include "workingdirwidget.h"
#include <QMainWindow>
#include <QPlainTextEdit>
#include <QLabel>
#include <QToolBar>
#include <QTabWidget>
#include <QTimer>
#include <QTimerEvent>
#include <QDialog>
#include <QDockWidget>
#include <QTreeView>
#include <QFileSystemModel>
#include <QDir>
class Editor : public QMainWindow
{
Q_OBJECT
public:
static int const MIN_FONT_SIZE = 7;
static int const DEFAULT_FONT_SIZE = 14;
static int const MAX_FONT_SIZE = 24;
Editor(QWidget *parent = nullptr);
virtual ~Editor();
protected:
void timerEvent(QTimerEvent *event);
private slots:
void newF();
void open();
void save();
void saveAs();
void quit();
void cut();
void copy();
void paste();
void selectAll();
void undo();
void redo();
void font();
void increaseFontSize();
void decreaseFontSize();
void originalFontSize();
void hideStatusBar();
void hideToolBar();
void autoSave();
void closeTab();
void openSettingsTab();
void viewDocumentation();
void toggleCheckbox(QAction *action);
private:
void init();
void initTabWidget();
void initMenuBar();
void initFileMenuActions();
void initEditMenuActions();
void initViewMenuActions();
void initPreferencesMenuActions();
void initHelpMenuActions();
void initActions();
void initToolBar();
void initStatusBar();
void initWorkingDir();
void connectToWorkingDirSignals();
void openFileFromProjectWidget(QString filePath);
int untitled_files_nb;
// Menu
QMenu *file;
QMenu *edit;
QMenu *view;
QMenu *preferences;
QMenu *help;
QToolBar *toolbar;
// Actions
QAction *AnewFile;
QAction *AopenFile;
QAction *newWindow;
QAction *AaddProjectFolder;
QAction *AsaveFile;
QAction *AsaveFileAs;
QAction *Aquit;
QAction *Acut;
QAction *Acopy;
QAction *Apaste;
QAction *AselectAll;
QAction *Aundo;
QAction *Aredo;
QAction *AhideStatusBar;
QAction *AhideToolBar;
QAction *AautoSave;
QAction *AsetFont;
QAction *AeditSettings;
QAction *AoriginalFontSize;
QAction *AincreaseFontSize;
QAction *AdecreaseFontSize;
QAction *AviewDocumentation;
// Multiple files
QTabWidget *tabs;
QList<QPlainTextEdit*> editAreas;
QList<QString> files;
QList<QString> informativeText;
//////////
QLabel *statusBarText;
// Settings Widget
bool isSettingsTabOpened;
QWidget *settings;
//Working dirs items
QDockWidget *workingDirDockWidget;
WorkingDirWidget *workingDirWidget;
signals:
// To set the right icon for checkable actions
void checkboxToggled(QAction *action);
void newWindowRequest();
};
#endif // EDITOR_H