mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
64 lines
2.2 KiB
C++
64 lines
2.2 KiB
C++
////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Program : MyUppApp.exe
|
|
// Version : 0.0.3 Alpha
|
|
// Date : November 2006
|
|
// Copyright : Copyright(C) 2006 by Yeoh HS
|
|
// Author : Yeoh HS
|
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
|
#include "Options.h"
|
|
|
|
#define IMAGECLASS OptionsImg
|
|
#define IMAGEFILE <MyUppApp/Options.iml>
|
|
#include <Draw/iml_source.h>
|
|
|
|
// get user options, process and save.
|
|
void
|
|
Options::onbtnSave()
|
|
{
|
|
int dontsplash = optSplash.Get(); // get the value from option control
|
|
int savewinpos = optSaveWinPos.Get();// get the value from option control
|
|
|
|
Ctrl* owner = GetOwner(); // get a handle to the Options dislog owner which is MyUppApp main window.
|
|
Rect rc; // create a struct to store window position and size
|
|
|
|
if ( savewinpos != 1 ) { // if Save Window option is not checked.
|
|
rc.left = 0; // set window position x to 0
|
|
rc.top = 0; // set window position y to 0
|
|
} else {
|
|
rc = owner->GetRect(); // get the position and size of MyUppApp main window
|
|
}
|
|
|
|
String cfg; // create a string to store config data
|
|
cfg << "Splash=" << dontsplash << "\n" // save user's choice
|
|
"SaveWinPos=" << savewinpos << "\n" // save user's choice
|
|
"PosX=" << rc.left << "\n" // save window x position
|
|
"PosY=" << rc.top << "\n"; // save window y position
|
|
|
|
if( !SaveFile(cfgfile, cfg) ) // save the config file
|
|
Exclamation("Error saving configuration!"); // if failed show error dialog
|
|
else
|
|
PromptOK("Options saved!"); // show success dialog
|
|
|
|
Break(IDOK); // close this dialog
|
|
}
|
|
|
|
|
|
// do setup work here
|
|
Options::Options()
|
|
{
|
|
CtrlLayout(*this,"Options");
|
|
Icon(OptionsImg::Options());
|
|
|
|
// set callback for the save button
|
|
btnSave <<= THISBACK(onbtnSave);
|
|
|
|
// get the values from the config file
|
|
VectorMap<String, String> cfg = LoadIniFile(cfgfile);
|
|
int dontsplash = ScanInt(cfg.Get("Splash", Null));
|
|
int savewinpos = ScanInt(cfg.Get("SaveWinPos", Null));
|
|
|
|
// set option controls with current value from config file
|
|
optSplash = dontsplash;
|
|
optSaveWinPos = savewinpos;
|
|
}
|
|
// end of file
|