diff options
author | Mateusz Kaduk <mateusz.kaduk@gmail.com> | 2004-12-27 05:50:18 +0000 |
---|---|---|
committer | Mateusz Kaduk <mateusz.kaduk@gmail.com> | 2004-12-27 05:50:18 +0000 |
commit | 27be25397b09772928d5cdf8c47e350f9baefb69 (patch) | |
tree | 6e6d6fd80fea53651e46e251c2c8145ee399b2ba /src/gui/setup.cpp | |
parent | 5b3b8e8089902cb957e4dd19c0b258bc7bdb8065 (diff) | |
download | mana-27be25397b09772928d5cdf8c47e350f9baefb69.tar.gz mana-27be25397b09772928d5cdf8c47e350f9baefb69.tar.bz2 mana-27be25397b09772928d5cdf8c47e350f9baefb69.tar.xz mana-27be25397b09772928d5cdf8c47e350f9baefb69.zip |
Using Configuration class
Added switch for sound
Diffstat (limited to 'src/gui/setup.cpp')
-rw-r--r-- | src/gui/setup.cpp | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 84c3b2be..0f3b2b1b 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -39,16 +39,18 @@ Setup::Setup(gcn::Container *parent) : Window(parent, "Setup") { modesListModel = new ModesListModel(); - displayLabel = new gcn::Label("Display"); + displayLabel = new gcn::Label("Display settings"); modesList = new gcn::ListBox(modesListModel); scrollArea = new gcn::ScrollArea(modesList); fsCheckBox = new CheckBox("Full screen", false); + soundLabel = new gcn::Label("Sound settings"); + soundCheckBox = new CheckBox("Sound", false); applyButton = new Button("Apply"); cancelButton = new Button("Cancel"); /* Set dimension */ scrollArea->setDimension(gcn::Rectangle(0,0,120,50)); - displayLabel->setDimension(gcn::Rectangle(0,0,80, 16)); + displayLabel->setDimension(gcn::Rectangle(0,0,100,16)); applyButton->setDimension(gcn::Rectangle(0,0,80, 16)); cancelButton->setDimension(gcn::Rectangle(0,0,80, 16)); @@ -59,7 +61,9 @@ Setup::Setup(gcn::Container *parent) /* Set position */ scrollArea->setPosition(10,40); displayLabel->setPosition(10,10); - fsCheckBox->setPosition(100,16); + soundLabel->setPosition(10,90); + fsCheckBox->setPosition(110,36); + soundCheckBox->setPosition(10,116); applyButton->setPosition(10,190); cancelButton->setPosition(150,190); @@ -71,6 +75,8 @@ Setup::Setup(gcn::Container *parent) add(scrollArea); add(displayLabel); add(fsCheckBox); + add(soundLabel); + add(soundCheckBox); add(applyButton); add(cancelButton); @@ -79,6 +85,8 @@ Setup::Setup(gcn::Container *parent) //TODO: load default settings modesList->setSelected(1); + fsCheckBox->setMarked(config.getValue("screen",0)); + soundCheckBox->setMarked(config.getValue("sound",0)); } /* @@ -101,13 +109,25 @@ void Setup::action(const std::string& eventId) { if(eventId == "apply") { setVisible(false); - //TODO: Save&apply setup changes - if(fsCheckBox->isMarked() == true) { + + /* Display settings */ + if(fsCheckBox->isMarked() == true && config.getValue("screen",0) == 2) { + config.setValue("screen",1); set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,800,600,0,0); - } else { + + } else + if(fsCheckBox->isMarked() == false && config.getValue("screen",0) == 1) { + config.setValue("screen",2); set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); } + /* Sound settings */ + if(soundCheckBox->isMarked() == true) { + config.setValue("sound",1); + } else { + config.setValue("sound",0); + } + } else if(eventId == "cancel") { setVisible(false); } |