Add listener for the autosave timer

Originally committed to SVN as r4765.
This commit is contained in:
Thomas Goyne 2010-08-26 18:38:44 +00:00
parent 0248e7c754
commit 071ada7487

View file

@ -92,6 +92,8 @@
#define StartupLog(a) #define StartupLog(a)
#endif #endif
static void autosave_timer_changed(wxTimer &timer, const agi::OptionValue &opt);
FrameMain::FrameMain (wxArrayString args) FrameMain::FrameMain (wxArrayString args)
: wxFrame ((wxFrame*)NULL,-1,_T(""),wxDefaultPosition,wxSize(920,700),wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN) : wxFrame ((wxFrame*)NULL,-1,_T(""),wxDefaultPosition,wxSize(920,700),wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN)
{ {
@ -179,6 +181,7 @@ FrameMain::FrameMain (wxArrayString args)
if (time > 0) { if (time > 0) {
AutoSave.Start(time*1000); AutoSave.Start(time*1000);
} }
OPT_GET("App/Auto/Save Every Seconds")->Subscribe(this, std::tr1::bind(autosave_timer_changed, std::tr1::ref(AutoSave), std::tr1::placeholders::_1));
// Set accelerator keys // Set accelerator keys
StartupLog(_T("Install hotkeys")); StartupLog(_T("Install hotkeys"));
@ -1346,3 +1349,13 @@ bool FrameMain::HasASSDraw() {
return false; return false;
#endif #endif
} }
static void autosave_timer_changed(wxTimer &timer, const agi::OptionValue &opt) {
int freq = opt.GetInt();
if (freq <= 0) {
timer.Stop();
}
else {
timer.Start(freq * 1000);
}
}