85 lines
3.0 KiB
C++
Executable File
85 lines
3.0 KiB
C++
Executable File
#include "video.cpp"
|
|
#include "audio.cpp"
|
|
#include "input.cpp"
|
|
#include "paths.cpp"
|
|
#include "cheateditor.cpp"
|
|
#include "advanced.cpp"
|
|
|
|
#include "utility/inputcapture.cpp"
|
|
#include "utility/codeeditor.cpp"
|
|
|
|
void SettingsWindow::setup() {
|
|
window = new QWidget;
|
|
window->setObjectName("settings-window");
|
|
window->setWindowTitle("Configuration Settings");
|
|
|
|
list = new QListWidget;
|
|
video = new QListWidgetItem("Video");
|
|
audio = new QListWidgetItem("Audio");
|
|
input = new QListWidgetItem("Input");
|
|
paths = new QListWidgetItem("Paths");
|
|
cheatcodes = new QListWidgetItem("Cheat Codes");
|
|
advanced = new QListWidgetItem("Advanced");
|
|
list->addItem(video);
|
|
list->addItem(audio);
|
|
list->addItem(input);
|
|
list->addItem(paths);
|
|
list->addItem(cheatcodes);
|
|
list->addItem(advanced);
|
|
list->setCurrentItem(input); //select most frequently used panel by default
|
|
list->setFixedWidth(135);
|
|
list->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
|
|
|
|
panel = new QWidget;
|
|
panel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
|
|
|
layout = new QHBoxLayout;
|
|
layout->setMargin(Style::WindowMargin);
|
|
layout->setSpacing(Style::WidgetSpacing);
|
|
layout->addWidget(list);
|
|
layout->addWidget(panel);
|
|
window->setLayout(layout);
|
|
|
|
winVideoSettings = new VideoSettingsWindow;
|
|
winAudioSettings = new AudioSettingsWindow;
|
|
winInputSettings = new InputSettingsWindow;
|
|
winPathSettings = new PathSettingsWindow;
|
|
winCheatEditor = new CheatEditorWindow;
|
|
winAdvancedSettings = new AdvancedSettingsWindow;
|
|
winInputCapture = new InputCaptureWindow;
|
|
winCodeEditor = new CodeEditorWindow;
|
|
|
|
winVideoSettings->setup();
|
|
winAudioSettings->setup();
|
|
winInputSettings->setup();
|
|
winPathSettings->setup();
|
|
winCheatEditor->setup();
|
|
winAdvancedSettings->setup();
|
|
winInputCapture->setup();
|
|
winCodeEditor->setup();
|
|
|
|
panelLayout = new QStackedLayout(panel);
|
|
panelLayout->addWidget(winVideoSettings->panel);
|
|
panelLayout->addWidget(winAudioSettings->panel);
|
|
panelLayout->addWidget(winInputSettings->panel);
|
|
panelLayout->addWidget(winPathSettings->panel);
|
|
panelLayout->addWidget(winCheatEditor->panel);
|
|
panelLayout->addWidget(winAdvancedSettings->panel);
|
|
panel->setLayout(panelLayout);
|
|
|
|
connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(listChanged()));
|
|
|
|
listChanged();
|
|
window->setMinimumSize(600, 360);
|
|
}
|
|
|
|
void SettingsWindow::listChanged() {
|
|
QListWidgetItem *item = list->currentItem();
|
|
if(item == video) panelLayout->setCurrentWidget(winVideoSettings->panel);
|
|
if(item == audio) panelLayout->setCurrentWidget(winAudioSettings->panel);
|
|
if(item == input) panelLayout->setCurrentWidget(winInputSettings->panel);
|
|
if(item == paths) panelLayout->setCurrentWidget(winPathSettings->panel);
|
|
if(item == cheatcodes) panelLayout->setCurrentWidget(winCheatEditor->panel);
|
|
if(item == advanced) panelLayout->setCurrentWidget(winAdvancedSettings->panel);
|
|
}
|