Merge branch 'master' into jgrpp

# Conflicts:
#	src/genworld_gui.cpp
#	src/group_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/toolbar_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_type.h
This commit is contained in:
Jonathan G Rennison
2019-04-11 18:12:22 +01:00
53 changed files with 587 additions and 627 deletions

View File

@@ -91,7 +91,7 @@ static ErrorList _settings_error_list; ///< Errors while loading minimal setting
typedef void SettingDescProc(IniFile *ini, const SettingDesc *desc, const char *grpname, void *object);
typedef void SettingDescProcList(IniFile *ini, const char *grpname, StringList *list);
typedef void SettingDescProcList(IniFile *ini, const char *grpname, StringList &list);
static bool IsSignedVarMemType(VarType vt);
@@ -725,16 +725,16 @@ static void IniSaveSettings(IniFile *ini, const SettingDesc *sd, const char *grp
* @param grpname character string identifying the section-header of the ini file that will be parsed
* @param list new list with entries of the given section
*/
static void IniLoadSettingList(IniFile *ini, const char *grpname, StringList *list)
static void IniLoadSettingList(IniFile *ini, const char *grpname, StringList &list)
{
IniGroup *group = ini->GetGroup(grpname);
if (group == NULL || list == NULL) return;
if (group == NULL) return;
list->Clear();
list.clear();
for (const IniItem *item = group->item; item != NULL; item = item->next) {
if (item->name != NULL) list->push_back(stredup(item->name));
if (item->name != NULL) list.emplace_back(item->name);
}
}
@@ -747,15 +747,15 @@ static void IniLoadSettingList(IniFile *ini, const char *grpname, StringList *li
* @param list pointer to an string(pointer) array that will be used as the
* source to be saved into the relevant ini section
*/
static void IniSaveSettingList(IniFile *ini, const char *grpname, StringList *list)
static void IniSaveSettingList(IniFile *ini, const char *grpname, StringList &list)
{
IniGroup *group = ini->GetGroup(grpname);
if (group == NULL || list == NULL) return;
if (group == NULL) return;
group->Clear();
for (char *iter : *list) {
group->GetItem(iter, true)->SetValue("");
for (const auto &iter : list) {
group->GetItem(iter.c_str(), true)->SetValue("");
}
}
@@ -1828,9 +1828,9 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc, SettingDescP
proc(ini, _currency_settings,"currency", &_custom_currency);
proc(ini, _company_settings, "company", &_settings_client.company);
proc_list(ini, "server_bind_addresses", &_network_bind_list);
proc_list(ini, "servers", &_network_host_list);
proc_list(ini, "bans", &_network_ban_list);
proc_list(ini, "server_bind_addresses", _network_bind_list);
proc_list(ini, "servers", _network_host_list);
proc_list(ini, "bans", _network_ban_list);
}
}
@@ -1896,21 +1896,20 @@ void SaveToConfig()
/**
* Get the list of known NewGrf presets.
* @param[in,out] list Pointer to list for storing the preset names.
* @returns List of preset names.
*/
void GetGRFPresetList(GRFPresetList *list)
StringList GetGRFPresetList()
{
list->Clear();
StringList list;
IniFile *ini = IniLoadConfig();
IniGroup *group;
for (group = ini->group; group != NULL; group = group->next) {
std::unique_ptr<IniFile> ini(IniLoadConfig());
for (IniGroup *group = ini->group; group != NULL; group = group->next) {
if (strncmp(group->name, "preset-", 7) == 0) {
list->push_back(stredup(group->name + 7));
list.emplace_back(group->name + 7);
}
}
delete ini;
return list;
}
/**