Store camera settings (#6013)

* load and save camera options

Signed-off-by: rhhong <rhhong@amazon.com>

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
This commit is contained in:
Roman
2021-11-30 08:32:11 -08:00
committed by GitHub
parent 12efc84632
commit 6cb53891ed
2 changed files with 31 additions and 1 deletions
@@ -8,8 +8,10 @@
#include <QToolButton>
#include <QMenu>
#include <QSettings>
#include <EMStudio/AnimViewportToolBar.h>
#include <EMStudio/AnimViewportRequestBus.h>
#include <EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/EMStudioManager.h>
#include <AzCore/std/string/string.h>
#include <AzQtComponents/Components/Widgets/ToolBar.h>
@@ -109,6 +111,13 @@ namespace EMStudio
cameraButton->setIcon(QIcon(":/EMotionFXAtom/Camera_category.svg"));
addWidget(cameraButton);
}
LoadSettings();
}
AnimViewportToolBar::~AnimViewportToolBar()
{
SaveSettings();
}
void AnimViewportToolBar::CreateViewOptionEntry(
@@ -144,4 +153,23 @@ namespace EMStudio
}
}
}
void AnimViewportToolBar::LoadSettings()
{
AZStd::string renderFlagsFilename(EMStudioManager::GetInstance()->GetAppDataFolder());
renderFlagsFilename += "AnimViewportRenderFlags.cfg";
QSettings settings(renderFlagsFilename.c_str(), QSettings::IniFormat, this);
const bool isChecked = settings.value("CameraFollowUp", false).toBool();
m_followCharacterAction->setChecked(isChecked);
}
void AnimViewportToolBar::SaveSettings()
{
AZStd::string renderFlagsFilename(EMStudioManager::GetInstance()->GetAppDataFolder());
renderFlagsFilename += "AnimViewportRenderFlags.cfg";
QSettings settings(renderFlagsFilename.c_str(), QSettings::IniFormat, this);
settings.setValue("CameraFollowUp", m_followCharacterAction->isChecked());
}
} // namespace EMStudio
@@ -22,9 +22,11 @@ namespace EMStudio
{
public:
AnimViewportToolBar(QWidget* parent = nullptr);
~AnimViewportToolBar() = default;
~AnimViewportToolBar();
void SetRenderFlags(EMotionFX::ActorRenderFlagBitset renderFlags);
void LoadSettings();
void SaveSettings();
private:
void CreateViewOptionEntry(