2009-05-12 20:05:00 +02:00

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);
}