metaforce/hecl-gui/LaunchMenu.hpp

46 lines
918 B
C++
Raw Normal View History

2018-10-07 03:41:18 +00:00
#pragma once
2018-01-10 06:19:48 +00:00
#include <QMenu>
2018-12-08 05:19:40 +00:00
namespace hecl {
struct CVarCommons;
}
2018-01-10 06:19:48 +00:00
class QAction;
2018-12-08 05:19:40 +00:00
class LaunchMenu : public QMenu {
Q_OBJECT
hecl::CVarCommons& m_commons;
2018-01-10 06:19:48 +00:00
2018-12-08 05:19:40 +00:00
QMenu m_apiMenu;
QMenu m_msaaMenu;
QMenu m_anisoMenu;
2018-01-10 06:19:48 +00:00
2018-12-08 05:19:40 +00:00
QActionGroup m_apiGroup;
QActionGroup m_msaaGroup;
QActionGroup m_anisoGroup;
2018-01-10 06:19:48 +00:00
QAction* m_developerMode = nullptr;
QAction* m_enableCheats = nullptr;
2018-12-08 05:19:40 +00:00
void initApiAction(const QString& action);
void initMsaaAction(const QString& action);
void initAnisoAction(const QString& action);
void initDeepColor();
void initDeveloperMode();
void initCheats();
2018-01-10 06:19:48 +00:00
public:
explicit LaunchMenu(hecl::CVarCommons& commons, QWidget* parent = Q_NULLPTR);
~LaunchMenu() override;
2018-01-10 06:19:48 +00:00
public slots:
2018-12-08 05:19:40 +00:00
void apiTriggered();
void msaaTriggered();
void anisoTriggered();
void deepColorTriggered();
void developerModeTriggered();
void cheatsTriggered();
void editRuntimeArgs();
2018-01-10 06:19:48 +00:00
};