diff --git a/aegisub/libaegisub/common/option.cpp b/aegisub/libaegisub/common/option.cpp index 17fa75608..94765e167 100644 --- a/aegisub/libaegisub/common/option.cpp +++ b/aegisub/libaegisub/common/option.cpp @@ -129,8 +129,7 @@ void Options::Flush() { break; case OptionValue::Type_List_String: { - std::vector array_string; - i->second->GetListString(array_string); + std::vector const& array_string(i->second->GetListString()); json::Array array; @@ -145,8 +144,7 @@ void Options::Flush() { break; case OptionValue::Type_List_Int: { - std::vector array_int; - i->second->GetListInt(array_int); + std::vector const& array_int(i->second->GetListInt()); json::Array array; @@ -160,8 +158,7 @@ void Options::Flush() { break; case OptionValue::Type_List_Double: { - std::vector array_double; - i->second->GetListDouble(array_double); + std::vector const& array_double(i->second->GetListDouble()); json::Array array; @@ -175,8 +172,7 @@ void Options::Flush() { break; case OptionValue::Type_List_Colour: { - std::vector array_colour; - i->second->GetListColour(array_colour); + std::vector const& array_colour(i->second->GetListColour()); json::Array array; for (std::vector::const_iterator i_colour = array_colour.begin(); i_colour != array_colour.end(); ++i_colour) { @@ -189,11 +185,9 @@ void Options::Flush() { break; case OptionValue::Type_List_Bool: { - std::vector array_bool; + std::vector const& array_bool(i->second->GetListBool()); json::Array array; - - i->second->GetListBool(array_bool); for (std::vector::const_iterator i_bool = array_bool.begin(); i_bool != array_bool.end(); ++i_bool) { json::Object obj; obj["bool"] = *i_bool; diff --git a/aegisub/libaegisub/common/option_visit.cpp b/aegisub/libaegisub/common/option_visit.cpp index b800c7a28..fc07d5e78 100644 --- a/aegisub/libaegisub/common/option_visit.cpp +++ b/aegisub/libaegisub/common/option_visit.cpp @@ -162,40 +162,25 @@ void ConfigVisitor::AddOptionValue(OptionValue* opt) { opt_cur->SetBool(opt->GetBool()); break; - case OptionValue::Type_List_String: { - std::vector array; - opt->GetListString(array); - opt_cur->SetListString(array); + case OptionValue::Type_List_String: + opt_cur->SetListString(opt->GetListString()); break; - } - case OptionValue::Type_List_Int: { - std::vector array; - opt->GetListInt(array); - opt_cur->SetListInt(array); + case OptionValue::Type_List_Int: + opt_cur->SetListInt(opt->GetListInt()); break; - } - case OptionValue::Type_List_Double: { - std::vector array; - opt->GetListDouble(array); - opt_cur->SetListDouble(array); + case OptionValue::Type_List_Double: + opt_cur->SetListDouble(opt->GetListDouble()); break; - } - case OptionValue::Type_List_Colour: { - std::vector array; - opt->GetListColour(array); - opt_cur->SetListColour(array); + case OptionValue::Type_List_Colour: + opt_cur->SetListColour(opt->GetListColour()); break; - } - case OptionValue::Type_List_Bool: { - std::vector array; - opt->GetListBool(array); - opt_cur->SetListBool(array); + case OptionValue::Type_List_Bool: + opt_cur->SetListBool(opt->GetListBool()); break; - } } } } // namespace agi diff --git a/aegisub/libaegisub/common/path.cpp b/aegisub/libaegisub/common/path.cpp index 1b7044d38..51f9b326b 100644 --- a/aegisub/libaegisub/common/path.cpp +++ b/aegisub/libaegisub/common/path.cpp @@ -78,7 +78,7 @@ void Path::Set(const char *name, const std::string &path) { void Path::ListGet(const char *name, std::vector &out) { - opt->Get(name)->GetListString(out); + out = opt->Get(name)->GetListString(); } diff --git a/aegisub/libaegisub/include/libaegisub/option_value.h b/aegisub/libaegisub/include/libaegisub/option_value.h index 138c517c5..8cbe6ac28 100644 --- a/aegisub/libaegisub/include/libaegisub/option_value.h +++ b/aegisub/libaegisub/include/libaegisub/option_value.h @@ -98,11 +98,11 @@ public: virtual bool GetDefaultBool() const { throw TypeError("bool"); } - virtual void GetListString(std::vector &out) const { throw ListTypeError("string"); } - virtual void GetListInt(std::vector &out) const { throw ListTypeError("int"); } - virtual void GetListDouble(std::vector &out) const { throw ListTypeError("double"); } - virtual void GetListColour(std::vector &out) const { throw ListTypeError("colour"); } - virtual void GetListBool(std::vector &out) const { throw ListTypeError("string"); } + virtual std::vector const& GetListString() const { throw ListTypeError("string"); } + virtual std::vector const& GetListInt() const { throw ListTypeError("int"); } + virtual std::vector const& GetListDouble() const { throw ListTypeError("double"); } + virtual std::vector const& GetListColour() const { throw ListTypeError("colour"); } + virtual std::vector const& GetListBool() const { throw ListTypeError("string"); } virtual void SetListString(const std::vector& val) { throw ListTypeError("string", " set "); } virtual void SetListInt(const std::vector& val) { throw ListTypeError("int", " set "); } @@ -110,11 +110,11 @@ public: virtual void SetListColour(const std::vector& val) { throw ListTypeError("colour", " set "); } virtual void SetListBool(const std::vector& val) { throw ListTypeError("string", " set "); } - virtual void GetDefaultListString(std::vector &out) const { throw ListTypeError("string"); } - virtual void GetDefaultListInt(std::vector &out) const { throw ListTypeError("int"); } - virtual void GetDefaultListDouble(std::vector &out) const { throw ListTypeError("double"); } - virtual void GetDefaultListColour(std::vector &out) const { throw ListTypeError("colour"); } - virtual void GetDefaultListBool(std::vector &out) const { throw ListTypeError("string"); } + virtual std::vector const& GetDefaultListString() const { throw ListTypeError("string"); } + virtual std::vector const& GetDefaultListInt() const { throw ListTypeError("int"); } + virtual std::vector const& GetDefaultListDouble() const { throw ListTypeError("double"); } + virtual std::vector const& GetDefaultListColour() const { throw ListTypeError("colour"); } + virtual std::vector const& GetDefaultListBool() const { throw ListTypeError("string"); } DEFINE_SIGNAL_ADDERS(ValueChanged, Subscribe); @@ -134,7 +134,7 @@ public: OptionType GetType() const { return OptionValue::Type_##type_name; } \ std::string GetName() const { return name; } \ void Reset() { value = value_default; NotifyChanged(); } \ - bool IsDefault() const { return (value == value_default) ? 1 : 0; } \ + bool IsDefault() const { return value == value_default; } \ }; CONFIG_OPTIONVALUE(String, std::string) @@ -164,13 +164,13 @@ class OptionValueList: public OptionValue { public: \ virtual std::string GetString() const { return "";} \ OptionValueList##type_name(std::string member_name): name(member_name) {} \ - void GetList##type_name(std::vector &out) const { out = array; } \ + std::vector const& GetList##type_name() const { return array; } \ void SetList##type_name(const std::vector& val) { array = val; NotifyChanged(); } \ - void GetDefaultList##type_name(std::vector &out) const { out = array_default; } \ + std::vector const& GetDefaultList##type_name() const { return array_default; } \ OptionType GetType() const { return OptionValue::Type_List_##type_name; } \ std::string GetName() const { return name; } \ void Reset() { array = array_default; NotifyChanged(); } \ - bool IsDefault() const { return (array == array_default) ? 1 : 0; } \ + bool IsDefault() const { return array == array_default; } \ }; diff --git a/aegisub/src/base_grid.cpp b/aegisub/src/base_grid.cpp index 5f1c564a1..6daaac8e8 100644 --- a/aegisub/src/base_grid.cpp +++ b/aegisub/src/base_grid.cpp @@ -142,8 +142,7 @@ void BaseGrid::UpdateStyle() { } // Set column widths - std::vector column_array; - OPT_GET("Subtitle/Grid/Column")->GetListBool(column_array); + std::vector column_array(OPT_GET("Subtitle/Grid/Column")->GetListBool()); assert(column_array.size() == columns); for (int i = 0; i < columns; ++i) showCol[i] = column_array[i]; SetColumnWidths(); diff --git a/aegisub/src/dialog_paste_over.cpp b/aegisub/src/dialog_paste_over.cpp index e9c6c3a75..2b661232e 100644 --- a/aegisub/src/dialog_paste_over.cpp +++ b/aegisub/src/dialog_paste_over.cpp @@ -94,7 +94,7 @@ DialogPasteOver::DialogPasteOver (wxWindow *parent, std::vector& options) // Load checked items /// @todo This assumes a static set of fields. - OPT_GET("Tool/Paste Lines Over/Fields")->GetListBool(options); + options = OPT_GET("Tool/Paste Lines Over/Fields")->GetListBool(); for (unsigned int i=0;iCheck(i,options[i]); // Top buttons