-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
132 lines (81 loc) · 2.89 KB
/
mainwindow.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
130
131
132
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMdiSubWindow>
#include <QMessageBox>
#include "trecentfiles.h"
class QPlainTextEdit;
class TFormDoc;
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
typedef QMessageBox::StandardButton SButton;
class MainWindow : public QMainWindow
{
Q_OBJECT
protected:
void closeEvent(QCloseEvent *event) override; //主窗口关闭时关闭所有子窗口
public:
MainWindow(QWidget *parent ,const QString& filePath);
~MainWindow();
// FileInterface
virtual void openFile(const QString& aFileName,bool bNewFile = false) ;
virtual void newFile() ;
virtual QString recentOpenDir() ;
//ShowResult interface
void showStatusMsg(QString msg) ;
QMenu * createTitleMenu(QWidget* target);
private slots:
void on_actDoc_Open_triggered(); //打开文件
void on_actDoc_New_triggered(); //新建文件
void on_actCut_triggered(); //cut
void on_actCopy_triggered(); //copy
void on_actPaste_triggered(); //paste
void on_actFont_triggered(); //设置字体
void on_mdiArea_subWindowActivated(QMdiSubWindow *arg1); //子窗口被激活
void on_actCascade_triggered(); //级联形式显示子窗口
void on_actTile_triggered(); //平铺形式显示子窗口
void on_actCloseALL_triggered(); //关闭全部子窗口
void on_actDoc_Save_triggered();
void on_actionGo_to_triggered();
void on_actionTabbedView_triggered(bool checked);
void on_actionsearch_triggered();
void on_actionZoom_in_triggered();
void on_actionzoomout_triggered();
void on_actionSearch_Next_triggered();
void on_actionSearch_Previous_triggered();
void on_actionReplace_triggered();
void on_actionUndo_triggered();
void on_actionRedo_triggered();
void on_actionCloseTab_triggered();
void on_actionClose_other_files_triggered();
void on_actionSave_as_triggered();
void on_actionSave_All_triggered();
void on_recentFileOpen(bool checked);
private :
void switchViewMode(bool isTabbed);
bool findActiveForm(TFormDoc *&doc);
void updateActionState();
bool closeAllSubs();
QMessageBox::StandardButton closeSub(QMdiSubWindow * subWindow, QMessageBox::StandardButton inButton = QMessageBox::NoButton, bool batch = false);
QPlainTextEdit * getActiveEdit();
public slots:
virtual void on_undoAvailable(bool b) ;
virtual void on_redoAvailable(bool b) ;
virtual void on_copyAvailable(bool b) ;
virtual void on_selectionChanged() ;
void on_editorDropFile(QString filePath);
private:
TFormDoc * createFormDoc();
Ui::MainWindow *ui;
QString recentPath;
QString openPath;
TRecentFiles m_recentFiles;
void loadSettings();
void saveSettings();
void saveFile(TFormDoc *doc,bool otherName = false);
void updateRecentMenu();
};
#endif // MAINWINDOW_H