Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
melonDS
Commits
0bd53a34
Commit
0bd53a34
authored
Aug 11, 2020
by
Arisotura
Browse files
lay base for the actual dialog
also make EmuSettingsDialog properly modal
parent
e217d016
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/frontend/qt_sdl/CMakeLists.txt
View file @
0bd53a34
...
...
@@ -3,6 +3,7 @@ project(qt_sdl)
SET
(
SOURCES_QT_SDL
main.cpp
main_shaders.h
CheatsDialog.cpp
EmuSettingsDialog.cpp
InputConfigDialog.cpp
VideoSettingsDialog.cpp
...
...
src/frontend/qt_sdl/CheatsDialog.cpp
0 → 100644
View file @
0bd53a34
/*
Copyright 2016-2020 Arisotura
This file is part of melonDS.
melonDS is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with melonDS. If not, see http://www.gnu.org/licenses/.
*/
#include <stdio.h>
#include <QFileDialog>
#include "types.h"
#include "Platform.h"
#include "Config.h"
#include "PlatformConfig.h"
#include "CheatsDialog.h"
#include "ui_CheatsDialog.h"
CheatsDialog
*
CheatsDialog
::
currentDlg
=
nullptr
;
extern
char
*
EmuDirectory
;
CheatsDialog
::
CheatsDialog
(
QWidget
*
parent
)
:
QDialog
(
parent
),
ui
(
new
Ui
::
CheatsDialog
)
{
ui
->
setupUi
(
this
);
setAttribute
(
Qt
::
WA_DeleteOnClose
);
// setup UI here
}
CheatsDialog
::~
CheatsDialog
()
{
delete
ui
;
}
void
CheatsDialog
::
on_CheatsDialog_accepted
()
{
// save shit here
closeDlg
();
}
void
CheatsDialog
::
on_CheatsDialog_rejected
()
{
// don't save shit here
closeDlg
();
}
src/frontend/qt_sdl/CheatsDialog.h
0 → 100644
View file @
0bd53a34
/*
Copyright 2016-2020 Arisotura
This file is part of melonDS.
melonDS is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with melonDS. If not, see http://www.gnu.org/licenses/.
*/
#ifndef CHEATSDIALOG_H
#define CHEATSDIALOG_H
#include <QDialog>
namespace
Ui
{
class
CheatsDialog
;
}
class
CheatsDialog
;
class
CheatsDialog
:
public
QDialog
{
Q_OBJECT
public:
explicit
CheatsDialog
(
QWidget
*
parent
);
~
CheatsDialog
();
static
CheatsDialog
*
currentDlg
;
static
CheatsDialog
*
openDlg
(
QWidget
*
parent
)
{
if
(
currentDlg
)
{
currentDlg
->
activateWindow
();
return
currentDlg
;
}
currentDlg
=
new
CheatsDialog
(
parent
);
currentDlg
->
open
();
return
currentDlg
;
}
static
void
closeDlg
()
{
currentDlg
=
nullptr
;
}
private
slots
:
void
on_CheatsDialog_accepted
();
void
on_CheatsDialog_rejected
();
//
private:
Ui
::
CheatsDialog
*
ui
;
//
};
#endif // CHEATSDIALOG_H
src/frontend/qt_sdl/EmuSettingsDialog.h
View file @
0bd53a34
...
...
@@ -42,7 +42,7 @@ public:
}
currentDlg
=
new
EmuSettingsDialog
(
parent
);
currentDlg
->
show
();
currentDlg
->
open
();
return
currentDlg
;
}
static
void
closeDlg
()
...
...
src/frontend/qt_sdl/main.cpp
View file @
0bd53a34
...
...
@@ -34,6 +34,7 @@
#include "main.h"
#include "Input.h"
#include "CheatsDialog.h"
#include "EmuSettingsDialog.h"
#include "InputConfigDialog.h"
#include "VideoSettingsDialog.h"
...
...
@@ -1062,6 +1063,14 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
actStop
=
menu
->
addAction
(
"Stop"
);
connect
(
actStop
,
&
QAction
::
triggered
,
this
,
&
MainWindow
::
onStop
);
menu
->
addSeparator
();
actEnableCheats
=
menu
->
addAction
(
"Enable cheats"
);
connect
(
actEnableCheats
,
&
QAction
::
triggered
,
this
,
&
MainWindow
::
onEnableCheats
);
actSetupCheats
=
menu
->
addAction
(
"Setup cheat codes"
);
connect
(
actSetupCheats
,
&
QAction
::
triggered
,
this
,
&
MainWindow
::
onSetupCheats
);
}
{
QMenu
*
menu
=
menubar
->
addMenu
(
"Config"
);
...
...
@@ -1651,6 +1660,24 @@ void MainWindow::onStop()
NDS
::
Stop
();
}
void
MainWindow
::
onEnableCheats
(
bool
checked
)
{
//
}
void
MainWindow
::
onSetupCheats
()
{
emuThread
->
emuPause
();
CheatsDialog
*
dlg
=
CheatsDialog
::
openDlg
(
this
);
connect
(
dlg
,
&
CheatsDialog
::
finished
,
this
,
&
MainWindow
::
onCheatsDialogFinished
);
}
void
MainWindow
::
onCheatsDialogFinished
(
int
res
)
{
emuThread
->
emuUnpause
();
}
void
MainWindow
::
onOpenEmuSettings
()
{
...
...
src/frontend/qt_sdl/main.h
View file @
0bd53a34
...
...
@@ -198,6 +198,9 @@ private slots:
void
onPause
(
bool
checked
);
void
onReset
();
void
onStop
();
void
onEnableCheats
(
bool
checked
);
void
onSetupCheats
();
void
onCheatsDialogFinished
(
int
res
);
void
onOpenEmuSettings
();
void
onEmuSettingsDialogFinished
(
int
res
);
...
...
@@ -245,6 +248,8 @@ public:
QAction
*
actPause
;
QAction
*
actReset
;
QAction
*
actStop
;
QAction
*
actEnableCheats
;
QAction
*
actSetupCheats
;
QAction
*
actEmuSettings
;
QAction
*
actInputConfig
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment