forked from mia/Aegisub
Fix compilation failure from incomplete merging in r6692
Originally committed to SVN as r6696.
This commit is contained in:
parent
ba7b7efc12
commit
1d15bf273a
2 changed files with 7 additions and 21 deletions
|
@ -113,6 +113,7 @@ public:
|
||||||
virtual std::vector<Colour> const& GetDefaultListColour() const { throw ListTypeError("colour"); }
|
virtual std::vector<Colour> const& GetDefaultListColour() const { throw ListTypeError("colour"); }
|
||||||
virtual std::vector<bool> const& GetDefaultListBool() const { throw ListTypeError("string"); }
|
virtual std::vector<bool> const& GetDefaultListBool() const { throw ListTypeError("string"); }
|
||||||
|
|
||||||
|
virtual void Set(const OptionValue *new_value)=0;
|
||||||
|
|
||||||
DEFINE_SIGNAL_ADDERS(ValueChanged, Subscribe)
|
DEFINE_SIGNAL_ADDERS(ValueChanged, Subscribe)
|
||||||
};
|
};
|
||||||
|
@ -132,6 +133,7 @@ public:
|
||||||
std::string GetName() const { return name; } \
|
std::string GetName() const { return name; } \
|
||||||
void Reset() { value = value_default; NotifyChanged(); } \
|
void Reset() { value = value_default; NotifyChanged(); } \
|
||||||
bool IsDefault() const { return value == value_default; } \
|
bool IsDefault() const { return value == value_default; } \
|
||||||
|
void Set(const OptionValue *new_val) { Set##type_name(new_val->Get##type_name()); } \
|
||||||
};
|
};
|
||||||
|
|
||||||
CONFIG_OPTIONVALUE(String, std::string)
|
CONFIG_OPTIONVALUE(String, std::string)
|
||||||
|
@ -147,7 +149,8 @@ CONFIG_OPTIONVALUE(Bool, bool)
|
||||||
std::string name; \
|
std::string name; \
|
||||||
public: \
|
public: \
|
||||||
virtual std::string GetString() const { return "";} \
|
virtual std::string GetString() const { return "";} \
|
||||||
OptionValueList##type_name(std::string member_name): name(member_name) {} \
|
OptionValueList##type_name(std::string const& name, std::vector<type> const& value = std::vector<type>()) \
|
||||||
|
: array(value), array_default(value), name(name) { } \
|
||||||
std::vector<type> const& GetList##type_name() const { return array; } \
|
std::vector<type> const& GetList##type_name() const { return array; } \
|
||||||
void SetList##type_name(const std::vector<type>& val) { array = val; NotifyChanged(); } \
|
void SetList##type_name(const std::vector<type>& val) { array = val; NotifyChanged(); } \
|
||||||
std::vector<type> const& GetDefaultList##type_name() const { return array_default; } \
|
std::vector<type> const& GetDefaultList##type_name() const { return array_default; } \
|
||||||
|
@ -155,6 +158,7 @@ CONFIG_OPTIONVALUE(Bool, bool)
|
||||||
std::string GetName() const { return name; } \
|
std::string GetName() const { return name; } \
|
||||||
void Reset() { array = array_default; NotifyChanged(); } \
|
void Reset() { array = array_default; NotifyChanged(); } \
|
||||||
bool IsDefault() const { return array == array_default; } \
|
bool IsDefault() const { return array == array_default; } \
|
||||||
|
void Set(const OptionValue *nv) { SetList##type_name(nv->GetList##type_name()); } \
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <wx/event.h>
|
#include <wx/event.h>
|
||||||
#include <wx/filefn.h>
|
#include <wx/filefn.h>
|
||||||
#include <wx/listctrl.h>
|
#include <wx/listctrl.h>
|
||||||
|
#include <wx/msgdlg.h>
|
||||||
#include <wx/srchctrl.h>
|
#include <wx/srchctrl.h>
|
||||||
#include <wx/sizer.h>
|
#include <wx/sizer.h>
|
||||||
#include <wx/spinctrl.h>
|
#include <wx/spinctrl.h>
|
||||||
|
@ -626,26 +627,7 @@ void Preferences::OnOK(wxCommandEvent &event) {
|
||||||
|
|
||||||
void Preferences::OnApply(wxCommandEvent &) {
|
void Preferences::OnApply(wxCommandEvent &) {
|
||||||
for (std::map<std::string, agi::OptionValue*>::iterator cur = pending_changes.begin(); cur != pending_changes.end(); ++cur) {
|
for (std::map<std::string, agi::OptionValue*>::iterator cur = pending_changes.begin(); cur != pending_changes.end(); ++cur) {
|
||||||
agi::OptionValue *opt = OPT_SET(cur->first);
|
OPT_SET(cur->first)->Set(cur->second);
|
||||||
switch (opt->GetType()) {
|
|
||||||
case agi::OptionValue::Type_Bool:
|
|
||||||
opt->SetBool(cur->second->GetBool());
|
|
||||||
break;
|
|
||||||
case agi::OptionValue::Type_Colour:
|
|
||||||
opt->SetColour(cur->second->GetColour());
|
|
||||||
break;
|
|
||||||
case agi::OptionValue::Type_Double:
|
|
||||||
opt->SetDouble(cur->second->GetDouble());
|
|
||||||
break;
|
|
||||||
case agi::OptionValue::Type_Int:
|
|
||||||
opt->SetInt(cur->second->GetInt());
|
|
||||||
break;
|
|
||||||
case agi::OptionValue::Type_String:
|
|
||||||
opt->SetString(cur->second->GetString());
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw PreferenceNotSupported("Unsupported type");
|
|
||||||
}
|
|
||||||
delete cur->second;
|
delete cur->second;
|
||||||
}
|
}
|
||||||
pending_changes.clear();
|
pending_changes.clear();
|
||||||
|
|
Loading…
Reference in a new issue