diff --git a/radiant/ui/common/SoundChooser.cpp b/radiant/ui/common/SoundChooser.cpp index d6f15bda24..3b6b8f66e1 100644 --- a/radiant/ui/common/SoundChooser.cpp +++ b/radiant/ui/common/SoundChooser.cpp @@ -32,6 +32,8 @@ namespace const char* const SHOW_SHADER_DEF_TEXT = N_("Show Shader Definition"); const char* const SHOW_SHADER_DEF_ICON = "icon_script.png"; + + const char* const RKEY_WINDOW_STATE = "user/ui/soundChooser/window"; } /** @@ -166,7 +168,7 @@ SoundChooser::SoundChooser(wxWindow* parent) : std::bind(&SoundChooser::testShowShaderDefinition, this) )); - FitToScreen(0.5f, 0.7f); + _windowPosition.initialise(this, RKEY_WINDOW_STATE, 0.5f, 0.7f); // Load the shaders loadSoundShaders(); @@ -267,6 +269,8 @@ bool SoundChooser::testShowShaderDefinition() int SoundChooser::ShowModal() { + _windowPosition.applyPosition(); + _shadersReloaded = GlobalSoundManager().signal_soundShadersReloaded() .connect(sigc::mem_fun(this, &SoundChooser::onShadersReloaded)); @@ -277,6 +281,8 @@ int SoundChooser::ShowModal() _selectedShader.clear(); } + _windowPosition.saveToPath(RKEY_WINDOW_STATE); + return returnCode; } diff --git a/radiant/ui/common/SoundChooser.h b/radiant/ui/common/SoundChooser.h index 1ad84c8a8d..37f3ce5223 100644 --- a/radiant/ui/common/SoundChooser.h +++ b/radiant/ui/common/SoundChooser.h @@ -4,6 +4,7 @@ #include "wxutil/dialog/DialogBase.h" #include "wxutil/dataview/ResourceTreeView.h" #include "wxutil/menu/PopupMenu.h" +#include "wxutil/WindowPosition.h" #include "SoundShaderPreview.h" #include @@ -32,6 +33,8 @@ class SoundChooser : sigc::connection _shadersReloaded; + wxutil::WindowPosition _windowPosition; + private: // Widget construction