From b730bb890207d206505c338178fd49d244cd554d Mon Sep 17 00:00:00 2001 From: Arisotura <thetotalworm@gmail.com> Date: Sat, 11 May 2019 15:36:42 +0200 Subject: welp --- src/libui_sdl/DlgVideoSettings.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/libui_sdl/DlgVideoSettings.h (limited to 'src/libui_sdl/DlgVideoSettings.h') diff --git a/src/libui_sdl/DlgVideoSettings.h b/src/libui_sdl/DlgVideoSettings.h new file mode 100644 index 0000000..cd3d1b1 --- /dev/null +++ b/src/libui_sdl/DlgVideoSettings.h @@ -0,0 +1,29 @@ +/* + Copyright 2016-2019 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 DLGVIDEOSETTINGS_H +#define DLGVIDEOSETTINGS_H + +namespace DlgVideoSettings +{ + +void Open(); + +} + +#endif // DLGVIDEOSETTINGS_H -- cgit v1.2.3 From eb6fe823f8196373906916b47fbeecf5d7a63e8a Mon Sep 17 00:00:00 2001 From: Arisotura <thetotalworm@gmail.com> Date: Sat, 25 May 2019 20:58:32 +0200 Subject: close any opened dialogs when closing the main window --- src/libui_sdl/DlgAudioSettings.cpp | 7 +++++++ src/libui_sdl/DlgAudioSettings.h | 1 + src/libui_sdl/DlgEmuSettings.cpp | 7 +++++++ src/libui_sdl/DlgEmuSettings.h | 1 + src/libui_sdl/DlgInputConfig.cpp | 8 ++++++++ src/libui_sdl/DlgInputConfig.h | 1 + src/libui_sdl/DlgVideoSettings.cpp | 7 +++++++ src/libui_sdl/DlgVideoSettings.h | 1 + src/libui_sdl/DlgWifiSettings.cpp | 7 +++++++ src/libui_sdl/DlgWifiSettings.h | 1 + src/libui_sdl/main.cpp | 13 +++++++++++++ 11 files changed, 54 insertions(+) (limited to 'src/libui_sdl/DlgVideoSettings.h') diff --git a/src/libui_sdl/DlgAudioSettings.cpp b/src/libui_sdl/DlgAudioSettings.cpp index 66bdf61..385128c 100644 --- a/src/libui_sdl/DlgAudioSettings.cpp +++ b/src/libui_sdl/DlgAudioSettings.cpp @@ -180,4 +180,11 @@ void Open() uiControlShow(uiControl(win)); } +void Close() +{ + if (!opened) return; + uiControlDestroy(uiControl(win)); + opened = false; +} + } diff --git a/src/libui_sdl/DlgAudioSettings.h b/src/libui_sdl/DlgAudioSettings.h index 30a5d53..f058c25 100644 --- a/src/libui_sdl/DlgAudioSettings.h +++ b/src/libui_sdl/DlgAudioSettings.h @@ -23,6 +23,7 @@ namespace DlgAudioSettings { void Open(); +void Close(); } diff --git a/src/libui_sdl/DlgEmuSettings.cpp b/src/libui_sdl/DlgEmuSettings.cpp index ad8c047..768560d 100644 --- a/src/libui_sdl/DlgEmuSettings.cpp +++ b/src/libui_sdl/DlgEmuSettings.cpp @@ -107,4 +107,11 @@ void Open() uiControlShow(uiControl(win)); } +void Close() +{ + if (!opened) return; + uiControlDestroy(uiControl(win)); + opened = false; +} + } diff --git a/src/libui_sdl/DlgEmuSettings.h b/src/libui_sdl/DlgEmuSettings.h index 126497a..baff7ce 100644 --- a/src/libui_sdl/DlgEmuSettings.h +++ b/src/libui_sdl/DlgEmuSettings.h @@ -23,6 +23,7 @@ namespace DlgEmuSettings { void Open(); +void Close(); } diff --git a/src/libui_sdl/DlgInputConfig.cpp b/src/libui_sdl/DlgInputConfig.cpp index 513bd90..98cdf8c 100644 --- a/src/libui_sdl/DlgInputConfig.cpp +++ b/src/libui_sdl/DlgInputConfig.cpp @@ -450,5 +450,13 @@ void Open(int type) uiControlShow(uiControl(dlg->win)); } +void Close(int type) +{ + if (openedmask & (1<<type)) + uiControlDestroy(uiControl(inputdlg[type].win)); + + openedmask &= ~(1<<type); +} + } diff --git a/src/libui_sdl/DlgInputConfig.h b/src/libui_sdl/DlgInputConfig.h index 9a73f37..94c7325 100644 --- a/src/libui_sdl/DlgInputConfig.h +++ b/src/libui_sdl/DlgInputConfig.h @@ -23,6 +23,7 @@ namespace DlgInputConfig { void Open(int type); +void Close(int type); } diff --git a/src/libui_sdl/DlgVideoSettings.cpp b/src/libui_sdl/DlgVideoSettings.cpp index 69e5ac5..8749dc5 100644 --- a/src/libui_sdl/DlgVideoSettings.cpp +++ b/src/libui_sdl/DlgVideoSettings.cpp @@ -306,4 +306,11 @@ void Open() uiControlShow(uiControl(win)); } +void Close() +{ + if (!opened) return; + uiControlDestroy(uiControl(win)); + opened = false; +} + } diff --git a/src/libui_sdl/DlgVideoSettings.h b/src/libui_sdl/DlgVideoSettings.h index cd3d1b1..25a938f 100644 --- a/src/libui_sdl/DlgVideoSettings.h +++ b/src/libui_sdl/DlgVideoSettings.h @@ -23,6 +23,7 @@ namespace DlgVideoSettings { void Open(); +void Close(); } diff --git a/src/libui_sdl/DlgWifiSettings.cpp b/src/libui_sdl/DlgWifiSettings.cpp index e16ce50..09080a0 100644 --- a/src/libui_sdl/DlgWifiSettings.cpp +++ b/src/libui_sdl/DlgWifiSettings.cpp @@ -261,4 +261,11 @@ void Open() uiControlShow(uiControl(win)); } +void Close() +{ + if (!opened) return; + uiControlDestroy(uiControl(win)); + opened = false; +} + } diff --git a/src/libui_sdl/DlgWifiSettings.h b/src/libui_sdl/DlgWifiSettings.h index f7b7398..466ce10 100644 --- a/src/libui_sdl/DlgWifiSettings.h +++ b/src/libui_sdl/DlgWifiSettings.h @@ -23,6 +23,7 @@ namespace DlgWifiSettings { void Open(); +void Close(); } diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp index c086bbf..0c7aacd 100644 --- a/src/libui_sdl/main.cpp +++ b/src/libui_sdl/main.cpp @@ -1637,11 +1637,23 @@ void UndoStateLoad() } +void CloseAllDialogs() +{ + DlgAudioSettings::Close(); + DlgEmuSettings::Close(); + DlgInputConfig::Close(0); + DlgInputConfig::Close(1); + DlgVideoSettings::Close(); + DlgWifiSettings::Close(); +} + + int OnCloseWindow(uiWindow* window, void* blarg) { EmuRunning = 3; while (EmuStatus != 3); + CloseAllDialogs(); uiQuit(); return 1; } @@ -1678,6 +1690,7 @@ void OnCloseByMenu(uiMenuItem* item, uiWindow* window, void* blarg) EmuRunning = 3; while (EmuStatus != 3); + CloseAllDialogs(); DestroyMainWindow(); uiQuit(); } -- cgit v1.2.3