Skip to content

Commit b498028

Browse files
committed
[Refactor] Replace include guards with #pragma once in MainWindow and Tree headers + change row pointer to smart pointer
1 parent c5ece45 commit b498028

File tree

2 files changed

+60
-57
lines changed

2 files changed

+60
-57
lines changed

include/MainWindow.h

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,46 @@
1-
#ifndef MAINWINDOW_H
2-
#define MAINWINDOW_H
3-
4-
#include "CodeEditor.h"
5-
#include "Syntax.h"
6-
#include "Tree.h"
7-
8-
#include <QMainWindow>
9-
#include <QMenu>
10-
#include <QAction>
11-
#include <QIcon>
12-
#include <QKeySequence>
13-
14-
class MainWindow : public QMainWindow
15-
{
16-
Q_OBJECT
17-
18-
public:
19-
explicit MainWindow(QWidget *parent = nullptr);
20-
virtual ~MainWindow();
21-
void loadFileInEditor(const QString &filePath);
22-
void initTree();
23-
24-
private slots:
25-
void newFile();
26-
void openFile();
27-
void saveFile();
28-
void saveFileAs();
29-
void showAbout();
30-
31-
private:
32-
void createMenuBar();
33-
void createFileActions(QMenu *fileMenu);
34-
void createHelpActions(QMenu *helpMenu);
35-
void createAppActions(QMenu *appMenu);
36-
QAction *createAction(const QIcon &icon, const QString &text,
37-
const QKeySequence &shortcut, const QString &statusTip,
38-
void (MainWindow::*slot)());
39-
CodeEditor *editor;
40-
QString currentFileName;
41-
Syntax *syntax;
42-
Tree *tree;
43-
};
44-
45-
#endif // MAINWINDOW_H
1+
#pragma once
2+
3+
#include <QMainWindow>
4+
#include <QMenu>
5+
#include <QAction>
6+
#include <QIcon>
7+
#include <QKeySequence>
8+
#include <memory>
9+
#include <QFile>
10+
11+
class CodeEditor;
12+
class Syntax;
13+
class Tree;
14+
15+
class MainWindow : public QMainWindow
16+
{
17+
Q_OBJECT
18+
19+
public:
20+
explicit MainWindow(QWidget *parent = nullptr);
21+
virtual ~MainWindow();
22+
void loadFileInEditor(const QString &filePath);
23+
// Initialize the file tree view and set it as the central widget
24+
// of the main window, alongside the code editor
25+
void initTree();
26+
27+
private slots:
28+
void newFile();
29+
void openFile();
30+
void saveFile();
31+
void saveFileAs();
32+
void showAbout();
33+
34+
private:
35+
void createMenuBar();
36+
void createFileActions(QMenu *fileMenu);
37+
void createHelpActions(QMenu *helpMenu);
38+
void createAppActions(QMenu *appMenu);
39+
QAction *createAction(const QIcon &icon, const QString &text,
40+
const QKeySequence &shortcut, const QString &statusTip,
41+
void (MainWindow::*slot)());
42+
std::unique_ptr<CodeEditor> editor;
43+
QString currentFileName;
44+
std::unique_ptr<Syntax> syntax;
45+
std::unique_ptr<Tree> tree;
46+
};

include/Tree.h

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
1-
#ifndef TREE_H
2-
#define TREE_H
1+
#pragma once
32

43
#include <QSplitter>
5-
#include <QTreeView>
6-
#include <QFileSystemModel>
74
#include <QObject>
5+
#include <memory>
86

9-
class MainWindow; // Forward declaration
7+
// Forward declarations
8+
class MainWindow;
9+
class QTreeView;
10+
class QFileSystemModel;
11+
class QFileIconProvider;
1012

1113
class Tree : public QObject
1214
{
1315
Q_OBJECT
1416

1517
public:
16-
Tree(QSplitter *splitter, MainWindow *mainWindow);
18+
explicit Tree(QSplitter *splitter, MainWindow *mainWindow);
1719
~Tree();
1820

1921
private:
2022
void showContextMenu(const QPoint &pos);
2123
void setupModel();
2224
void setupTree();
2325
void openFile(const QModelIndex &index);
24-
QString getDirectoryPath();
26+
QString getDirectoryPath() const;
2527

26-
QFileSystemModel *model;
27-
QTreeView *tree;
28-
MainWindow *mainWindow;
29-
};
28+
std::unique_ptr<QFileIconProvider> m_iconProvider;
29+
std::unique_ptr<QFileSystemModel> m_model;
30+
std::unique_ptr<QTreeView> m_tree;
3031

31-
#endif // TREE_H
32+
MainWindow *m_mainWindow;
33+
};

0 commit comments

Comments
 (0)