Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUI using QT #39

Draft
wants to merge 159 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
13199bd
gui test
Wolfmyths Aug 14, 2024
43552e8
Combine git ignores
Wolfmyths Aug 14, 2024
100595f
recreated project from Qt Creator
Wolfmyths Aug 14, 2024
7759628
Update CMake, upgrade cpp code
Wolfmyths Aug 15, 2024
2ce54b2
Merge pull request #32 from Wolfmyths/update
TheoW03 Aug 15, 2024
8ed12e3
QT works I Added a bat script for building the GUI :3
TheoW03 Aug 16, 2024
ced82a2
Central layout with some functionality
Wolfmyths Sep 5, 2024
59f7872
Rewrite game display
Wolfmyths Sep 13, 2024
30d63de
Fixed ptrs and crashes, pages feature
Wolfmyths Sep 13, 2024
c3d4b69
snake_case, more sorting functionality
Wolfmyths Sep 13, 2024
047ae3a
Improvements
Wolfmyths Sep 14, 2024
9eefa94
Finished sorting and search features
Wolfmyths Sep 16, 2024
ad9be30
Display updates when rom is favorited
Wolfmyths Sep 16, 2024
7ed251a
Merge branch 'master' into QtUi
TheoW03 Sep 16, 2024
de041b3
added the bash equalivant of my build script
TheoW03 Sep 16, 2024
1cb0a1c
Tweaks, and list stress test
Wolfmyths Sep 16, 2024
656c21e
Merge branch 'QtUi' of https://github.com/TheoW03/TetroidNES into QtUi
Wolfmyths Sep 16, 2024
a4257dd
Added page functionality
Wolfmyths Sep 16, 2024
f97c69a
Added rom list content margins
Wolfmyths Sep 16, 2024
0319b8e
Added page indicator
Wolfmyths Sep 17, 2024
cd49b27
Small adjustments
Wolfmyths Sep 18, 2024
62efbb4
SFML implementation
Wolfmyths Sep 23, 2024
5b7422f
Merge remote-tracking branch 'origin' into QtUi
TheoW03 Sep 23, 2024
3e878a5
Merge branch 'master' into QtUi
TheoW03 Oct 14, 2024
67faa25
Merge remote-tracking branch 'origin' into QtUi
TheoW03 Oct 15, 2024
d571506
Moving files around
Wolfmyths Oct 15, 2024
2de10a7
Merging
TheoW03 Oct 15, 2024
f7cf4b8
Merge branch 'QtUi' of github.com:TheoW03/TetroidNES into QtUi
TheoW03 Oct 15, 2024
0807915
added execute so u can execute CPU from the GUI
TheoW03 Oct 15, 2024
b5f08c9
forgot ticking was a thing
TheoW03 Oct 15, 2024
2ef1c6e
Changed project structure again~
Wolfmyths Oct 16, 2024
9dfaf99
Merge branch 'QtUi' of https://github.com/TheoW03/TetroidNES into QtUi
Wolfmyths Oct 16, 2024
b5cc79c
Got it to build on linux :]
TheoW03 Oct 16, 2024
28e192b
Fixed Cmake to build Emulator backend with project.
TheoW03 Oct 16, 2024
5946f41
Logging outputs to external file, misc stuff
Wolfmyths Oct 17, 2024
0685ddd
Merge branch 'QtUi' of https://github.com/TheoW03/TetroidNES into QtUi
Wolfmyths Oct 17, 2024
5de3582
Replace QApp instance object with built-in macro
Wolfmyths Oct 17, 2024
47876e8
Added macro
TheoW03 Oct 17, 2024
c0750e9
Merge branch 'QtUi' of github.com:TheoW03/TetroidNES into QtUi
TheoW03 Oct 17, 2024
30b0c56
Merge branch 'QtUi' of https://github.com/TheoW03/TetroidNES into QtUi
Wolfmyths Oct 17, 2024
e6a4c84
CMake sets version macro in main.cpp
Wolfmyths Oct 17, 2024
a97afe5
added the log methods for qt
TheoW03 Oct 17, 2024
cf982d5
Added version macro as well as a loggin option in Execute
TheoW03 Oct 17, 2024
7bc8085
Solve merge conflicts
Wolfmyths Oct 17, 2024
8b1cd11
Added util.h, fixed VERSION_DEF on non win32
Wolfmyths Oct 17, 2024
21f7f70
Displaying works! (Kinda)
Wolfmyths Oct 17, 2024
75b91fe
Displaying works (kinda) pt2
Wolfmyths Oct 17, 2024
941105f
got the CPU to execute :]
TheoW03 Oct 18, 2024
b195a59
Rendering works now!!!
Wolfmyths Oct 18, 2024
51fc1ee
renamed it and logs more stuff
TheoW03 Oct 19, 2024
c4ba888
zzz
TheoW03 Oct 19, 2024
7282609
Drag and drop features to main window
Wolfmyths Oct 19, 2024
0259dca
Confirmation to close app
Wolfmyths Oct 19, 2024
a8bcb3b
Update main.cpp
Wolfmyths Oct 19, 2024
9072bf8
GameDisplay, MainWindow Menubar
Wolfmyths Oct 19, 2024
d8ad005
Replaced foreach macro with range-based for loops
Wolfmyths Oct 19, 2024
8f6da96
Added better CPU logging
TheoW03 Oct 19, 2024
6dd61cc
logs are now a time stamp and i better logged the CPU
TheoW03 Oct 19, 2024
cfeef44
Settings menu, new way to start game
Wolfmyths Oct 20, 2024
f1cf3dc
a
TheoW03 Oct 20, 2024
d6f25c8
better error handeling
TheoW03 Oct 20, 2024
679c122
got rid of filter events added defualt constructor to Execute
TheoW03 Oct 20, 2024
ebe366b
Fixed memory leak, cleaned up declarations, misc
Wolfmyths Oct 20, 2024
1cd1a4f
Limited log creation to 32
Wolfmyths Oct 21, 2024
32905bb
setting up logs is log.cpp
TheoW03 Oct 21, 2024
030e1c9
clean up.
TheoW03 Oct 21, 2024
529e7fa
added logging to the bus
TheoW03 Oct 21, 2024
d5ecb9c
Cleaned up includes in main.cpp
Wolfmyths Oct 21, 2024
5e6865d
Error messages now display on the message box
TheoW03 Oct 21, 2024
0344e19
Merge branch 'QtUi' of github.com:TheoW03/TetroidNES into QtUi
TheoW03 Oct 21, 2024
2093f0d
Made the game frame rate 60fps
Wolfmyths Oct 21, 2024
11668cb
Changed GameDisplay's inheritence, misc...
Wolfmyths Oct 21, 2024
7d4ebe5
A lot of stuff!
Wolfmyths Oct 22, 2024
e5784ff
rom titles, crash fix, misc
Wolfmyths Oct 22, 2024
b7daf6f
Fixed changing pages, adjusted scroll bar
Wolfmyths Oct 22, 2024
2937543
Fixed segfault
TheoW03 Oct 22, 2024
209a164
Refactored list reset AGAIN
Wolfmyths Oct 23, 2024
15c039f
I fixed the GUI a bit
TheoW03 Oct 23, 2024
fbfbb73
Renamed 2 files, added settings handler class
Wolfmyths Oct 23, 2024
ccf49f6
Adjusted includes to be more consistent
Wolfmyths Oct 23, 2024
9630166
added more detail CPU logs
TheoW03 Oct 24, 2024
605de55
added dates to logs
TheoW03 Oct 24, 2024
2b7b3c2
Performance/adjustments, added tooltips
Wolfmyths Oct 24, 2024
d086100
Page scrolling, fix crash
Wolfmyths Oct 24, 2024
026bf1c
Explicit casting
Wolfmyths Oct 24, 2024
4a5551c
New settings, misc
Wolfmyths Oct 25, 2024
6e05b3d
Settings, optimizations
Wolfmyths Oct 26, 2024
09ff814
fixed it to work on linux
TheoW03 Oct 28, 2024
cdf916a
switching to gpl
TheoW03 Oct 28, 2024
a54cc28
Create LICENSE
TheoW03 Oct 28, 2024
15530b6
added the ability log things
TheoW03 Nov 1, 2024
94773f9
added NTSC and PAL rom support
TheoW03 Nov 7, 2024
29264d1
a
TheoW03 Nov 7, 2024
110dfb8
Added emu speed% setting and FPS/Speed metric
Wolfmyths Nov 9, 2024
c9bb374
Improved framerate accuracy
Wolfmyths Nov 9, 2024
1806237
I did various changes
TheoW03 Dec 5, 2024
33c49c0
Buffed NMI's a bit
TheoW03 Dec 5, 2024
3beb87a
fixed Vblanks and NMI's
TheoW03 Dec 8, 2024
6ce9d24
switched frames to a timer
TheoW03 Dec 8, 2024
b21b641
Cycles are more accurate
TheoW03 Dec 8, 2024
28794a0
still runs slow :<
TheoW03 Dec 8, 2024
ee7d00f
emulator is fast asf now :3
TheoW03 Dec 9, 2024
8473d1e
cleaned up a bit
TheoW03 Dec 9, 2024
ec5bf35
update README
TheoW03 Dec 9, 2024
241de87
clean up
TheoW03 Dec 10, 2024
fc00ffa
Partially fixed emu lag
Wolfmyths Dec 10, 2024
c98bcba
Fixed CPU bottleneck
Wolfmyths Dec 11, 2024
31d0ba7
Added some debug tools
Wolfmyths Dec 11, 2024
f57bb0d
can now get cycle number for each instr
TheoW03 Dec 12, 2024
a81b39e
got us up to 6 fps (progress)
TheoW03 Dec 12, 2024
5546ec2
Toolbar addition, exception handling
Wolfmyths Dec 16, 2024
aa867fd
Switched over to Pascal_Snake_Case for source file name
TheoW03 Dec 16, 2024
a881f2b
rmoved a garbage file for a minute
TheoW03 Dec 16, 2024
a2fc8cb
Restructured emu thread
Wolfmyths Dec 17, 2024
b7eb7b7
a
TheoW03 Dec 18, 2024
6d17221
Fixed FPS issues, added thread pausing
Wolfmyths Dec 19, 2024
9a99305
Merge branch 'QtUiThread' of github.com:TheoW03/TetroidNES into QtUiT…
TheoW03 Dec 19, 2024
b7af2b5
x.x
TheoW03 Dec 19, 2024
6b4525d
Merge pull request #40 from TheoW03/QtUiThread
TheoW03 Dec 19, 2024
9c1aa1b
Crash, adjustments
Wolfmyths Dec 19, 2024
5d1a365
added the CPU logs when exit game and better error codes
TheoW03 Dec 19, 2024
9220c7a
Added I/O registers :3
TheoW03 Dec 19, 2024
fce54b6
Threaded option, rewrote emu speed
Wolfmyths Dec 21, 2024
e5015e3
Log viewer, shortened CMakeLists
Wolfmyths Dec 21, 2024
0f935bd
a
TheoW03 Dec 23, 2024
9d58dde
Uodated build script
TheoW03 Dec 26, 2024
8f505d2
Rewrote emulator worker code again
Wolfmyths Dec 27, 2024
948420f
fixed FPS
TheoW03 Dec 27, 2024
203c263
Added shader support
Wolfmyths Dec 29, 2024
0e132d5
shaders now work
TheoW03 Dec 29, 2024
a0d048d
added CRT shader
TheoW03 Dec 29, 2024
99a8f9a
added better shader and updated a thing
TheoW03 Jan 1, 2025
263b6cf
Refactors, bug fixes, tweaks
Wolfmyths Jan 2, 2025
b045e21
updated build script to include errors
TheoW03 Jan 2, 2025
abff7ac
Completer, refactored game title
Wolfmyths Jan 2, 2025
650e1b7
[bug fix]: Fixed slight syntax error
TheoW03 Jan 2, 2025
c186d0a
[refactor] made computer.cpp header only
TheoW03 Jan 2, 2025
6825d88
[feat]: wip pallets :3
TheoW03 Jan 2, 2025
56c0b25
Tweaks, bugfix
Wolfmyths Jan 2, 2025
0866171
Implement pragma once
Wolfmyths Jan 2, 2025
cf17a8a
[bug fix]: added more logging so we can expand to more ROMS
TheoW03 Jan 3, 2025
f7d1e06
[bug fix] fixed background rendering as well as better logging
TheoW03 Jan 3, 2025
293cb8a
[refactor] parameterized the shade r
TheoW03 Jan 7, 2025
c763a8e
[refactor | Misc] added Test ROms as well as moved some depreciated f…
TheoW03 Jan 7, 2025
d5134f4
Tweaks
Wolfmyths Jan 7, 2025
baba519
added contributors
TheoW03 Jan 7, 2025
0e6d7df
[refactor]: fixed up readme to include contributors
TheoW03 Jan 7, 2025
38275e6
Tweaks
Wolfmyths Jan 7, 2025
7b01167
[bug fix] ROMS are parsed before creating the window
TheoW03 Jan 7, 2025
da8d3db
[feat | bug fix] error checking works now :3
TheoW03 Jan 8, 2025
b1f67ed
CPU now logs properly after every close
TheoW03 Jan 8, 2025
52102c3
Tweaks
Wolfmyths Jan 8, 2025
087ea95
Tweaks
Wolfmyths Jan 8, 2025
5fffe34
[refactor] changed wokring on error
TheoW03 Jan 10, 2025
8855556
[bug fix] time is updated eevry frame
TheoW03 Jan 10, 2025
930aa9c
Tweak
Wolfmyths Jan 10, 2025
d5c4a6a
Pause function, tweaks
Wolfmyths Jan 11, 2025
1b67bf0
Remove unused include
Wolfmyths Jan 11, 2025
4935ad9
refactor: split the render texture method
TheoW03 Jan 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Implement pragma once
[Refactor] Replaced include guards with "#pragma once" for all header files
Wolfmyths committed Jan 2, 2025
commit 086617138b777712bdd0c8e920ba4b00b2e9a0fe
10 changes: 4 additions & 6 deletions src/include/Emulator/APU.h
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
#include <iostream>
#pragma once

#ifndef APU_H
#define APU_H
#include <iostream>
#include <cstdint>

class APU
{
private:
uint8_t apu_ram[0x17];

public:
APU();
};

#endif
};
14 changes: 6 additions & 8 deletions src/include/Emulator/Bus.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#pragma once

#include <iostream>
#include <Emulator/PPU.h>
#include <Emulator/LoadRom.h>
#include <Emulator/APU.h>
#include <optional>
#ifndef CONTROILER_H
#define CONTROILER_H
#include <cstdint>

enum class Controller
{
A = 0b00000001,
@@ -16,10 +18,7 @@ enum class Controller
LEFT = 0b01000000,
RIGHT = 0b10000000
};
#endif
#ifndef BUS_H
#define BUS_H
#include <cstdint>

class Bus
{
private:
@@ -82,5 +81,4 @@ class Bus
std::vector<uint8_t> render_texture(std::tuple<size_t, size_t> res);
std::optional<std::string> check_error();
void log_ppu();
};
#endif
};
11 changes: 4 additions & 7 deletions src/include/Emulator/EmulatorUtil.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#pragma once

#include <iostream>
#include <Emulator/Bus.h>
#include <filesystem>
@@ -7,8 +9,6 @@
#define NES_RES_W 240
#define NES_RES_L 256

#ifndef CPU_H
#define CPU_H
struct CPU
{
uint8_t A_Reg;
@@ -36,9 +36,7 @@ struct CPU
Bus bus;
std::optional<int> interrupt;
};
#endif
#ifndef ADDRESS_MODE
#define ADDRESS_MODE

enum class AddressMode
{
ACCUMULATOR,
@@ -54,5 +52,4 @@ enum class AddressMode
INDIRECT_Y,
RELATIVE,
IMPLIED
};
#endif
};
7 changes: 3 additions & 4 deletions src/include/Emulator/Execute.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#pragma once

#include <Emulator/EmulatorUtil.h>

#define NES_START 0x8000

#ifndef EXECUTE_H
#define EXECUTE_H
class Execute
{
private:
@@ -18,5 +18,4 @@ class Execute
void log_Cpu();
void joypad1(Controller button, int isPressed);
void joypad2(Controller button, int isPressed);
};
#endif
};
12 changes: 4 additions & 8 deletions src/include/Emulator/LoadRom.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#pragma once

#include <iostream>
#include <vector>
#include <optional>
#include <cstdint>
#ifndef MIRROR_TYPE_H
#define MIRROR_TYPE_H

enum MirrorType
{
VERTICAL,
@@ -16,9 +17,6 @@ enum ColorEncoding
Pal,
Ntsc
};
#endif
#ifndef ROM_H
#define ROM_H

struct Rom
{
@@ -30,6 +28,4 @@ struct Rom
};

std::vector<uint8_t> file_tobyte_vector(std::string file_name);
std::optional<Rom> load_rom(std::vector<uint8_t> instructions);

#endif
std::optional<Rom> load_rom(std::vector<uint8_t> instructions);
8 changes: 3 additions & 5 deletions src/include/Emulator/PPU.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#pragma once

#include <iostream>
#include <vector>
// #include <SFML/Graphics.hpp>
@@ -7,8 +9,6 @@
#include <tuple>
#include <chrono>

#ifndef PPU_H
#define PPU_H
#include <cstdint>
class PPU
{
@@ -126,6 +126,4 @@ class PPU
// void render(sf::Texture &texture, int bank, int tile);
std::vector<uint8_t> render_texture(std::tuple<size_t, size_t> res);
void log_ppu();
};

#endif
};
8 changes: 2 additions & 6 deletions src/include/Qt/Emulator_Worker.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef EMULATORWORKER_H
#define EMULATORWORKER_H
#pragma once

#include <chrono>

@@ -43,7 +42,4 @@ private slots:
void process_cpu();
void render_frame();

};


#endif // EMULATORWORKER_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/Log_Display.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef LOGDISPLAY_H
#define LOGDISPLAY_H
#pragma once

#include <QObject>
#include <QWidget>
@@ -38,6 +37,4 @@ public slots:
LogNotifier &log_notifier;
QPlainTextEdit *text_display;

};

#endif // LOGDISPLAY_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/filtercontrolframe.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef FILTERCONTROLFRAME_H
#define FILTERCONTROLFRAME_H
#pragma once

#include <QFrame>
#include <QPushButton>
@@ -30,6 +29,4 @@ class FilterControlFrame : public QFrame

private slots:
void update_completer_model(QStringList dirs);
};

#endif // FILTERCONTROLFRAME_H
};
5 changes: 1 addition & 4 deletions src/include/Qt/flowlayout.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#ifndef FLOWLAYOUT_H
#define FLOWLAYOUT_H
#pragma once

#include <QLayout>
#include <QRect>
@@ -38,5 +37,3 @@ class FlowLayout : public QLayout
int m_vSpace;
};
//! [0]

#endif // FLOWLAYOUT_H
7 changes: 2 additions & 5 deletions src/include/Qt/gamedisplay.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef GAMEDISPLAY_H
#define GAMEDISPLAY_H
#pragma once

#include <chrono>
#include <functional>
@@ -67,6 +66,4 @@ private slots:
void closeEvent(QCloseEvent *event) override;
QPaintEngine *paintEngine() const override;
void resizeEvent(QResizeEvent *event) override;
};

#endif // GAMEDISPLAY_H
};
1 change: 0 additions & 1 deletion src/include/Qt/log.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

#include <QApplication>
#include <QLocale>
#include <QTranslator>
6 changes: 2 additions & 4 deletions src/include/Qt/mainwindow.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#pragma once

#include <Qt/filtercontrolframe.h>
#include <Qt/romlist.h>
@@ -47,5 +46,4 @@ public slots:
private:
Ui::MainWindow *ui;

};
#endif // MAINWINDOW_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/menubar.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef MENUBAR_H
#define MENUBAR_H
#pragma once

#include <QMenuBar>
#include <QAction>
@@ -34,6 +33,4 @@ public slots:

QMenu *help;

};

#endif // MENUBAR_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/romdata.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef ROMDATA_H
#define ROMDATA_H
#pragma once

#include <QObject>
#include <QUrl>
@@ -34,6 +33,4 @@ class RomData : public QObject
QString m_title;
bool m_favorited;
QUrl m_path;
};

#endif // ROMDATA_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/romlist.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef ROMLIST_H
#define ROMLIST_H
#pragma once

#include <QWidget>
#include <QObject>
@@ -53,6 +52,4 @@ class RomList : public QWidget
uint32_t m_items_per_page;
private slots:
void on_rom_dirs_changed(QStringList dirs);
};

#endif // ROMLIST_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/romlistitem.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef ROMLISTITEM_H
#define ROMLISTITEM_H
#pragma once

#include <QWidget>
#include <QFrame>
@@ -31,6 +30,4 @@ private slots:
RomData* m_romdata;

signals:
};

#endif // ROMLISTITEM_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/settingsdisplay.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef SETTINGSDISPLAY_H
#define SETTINGSDISPLAY_H
#pragma once

#include <QStackedWidget>
#include <QPlainTextEdit>
@@ -81,6 +80,4 @@ private slots:
void on_min_gui_on_start_checkbox_toggled(const bool toggled);
void on_speed_index_changed(const int idx);

};

#endif //SETTINGSDISPLAY_h
};
7 changes: 2 additions & 5 deletions src/include/Qt/settingsmanager.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef SETTINGSMANAGER_H
#define SETTINGSMANAGER_H
#pragma once

#include <QObject>
#include <QSettings>
@@ -60,6 +59,4 @@ class SettingsManager : public QObject
private:
SettingsManager();
QSettings m_settings = QSettings(SAVE_DIR, QSettings::IniFormat, this);
};

#endif // SETTINGSMANAGER_H
};
7 changes: 2 additions & 5 deletions src/include/Qt/settingswidget.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef SETTINGS_H
#define SETTINGS_H
#pragma once

#include <QListWidget>
#include <QStackedWidget>
@@ -37,6 +36,4 @@ private slots:
protected:
void closeEvent(QCloseEvent *event) override;

};

#endif // SETTINGS_H
};
Loading