mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-19 00:36:10 -04:00
Replace ObservableMap with MapProperty (#1870)
This commit is contained in:
parent
7e826a5952
commit
95e15d7df4
@ -141,7 +141,7 @@ public final class Config implements Cloneable, Observable {
|
|||||||
private StringProperty versionListSource = new SimpleStringProperty("balanced");
|
private StringProperty versionListSource = new SimpleStringProperty("balanced");
|
||||||
|
|
||||||
@SerializedName("configurations")
|
@SerializedName("configurations")
|
||||||
private ObservableMap<String, Profile> configurations = FXCollections.observableMap(new TreeMap<>());
|
private SimpleMapProperty<String, Profile> configurations = new SimpleMapProperty<>(FXCollections.observableMap(new TreeMap<>()));
|
||||||
|
|
||||||
@SerializedName("accounts")
|
@SerializedName("accounts")
|
||||||
private ObservableList<Map<Object, Object>> accountStorages = FXCollections.observableArrayList();
|
private ObservableList<Map<Object, Object>> accountStorages = FXCollections.observableArrayList();
|
||||||
@ -476,7 +476,7 @@ public final class Config implements Cloneable, Observable {
|
|||||||
return versionListSource;
|
return versionListSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObservableMap<String, Profile> getConfigurations() {
|
public MapProperty<String, Profile> getConfigurations() {
|
||||||
return configurations;
|
return configurations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ package org.jackhuang.hmcl.setting;
|
|||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.Observable;
|
import javafx.beans.Observable;
|
||||||
import javafx.beans.property.*;
|
import javafx.beans.property.*;
|
||||||
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import org.jackhuang.hmcl.Metadata;
|
import org.jackhuang.hmcl.Metadata;
|
||||||
import org.jackhuang.hmcl.event.EventBus;
|
import org.jackhuang.hmcl.event.EventBus;
|
||||||
@ -29,8 +30,8 @@ import java.io.File;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.TreeMap;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static javafx.collections.FXCollections.observableArrayList;
|
import static javafx.collections.FXCollections.observableArrayList;
|
||||||
import static org.jackhuang.hmcl.setting.ConfigHolder.config;
|
import static org.jackhuang.hmcl.setting.ConfigHolder.config;
|
||||||
@ -130,8 +131,11 @@ public final class Profiles {
|
|||||||
if (!initialized)
|
if (!initialized)
|
||||||
return;
|
return;
|
||||||
// update storage
|
// update storage
|
||||||
config().getConfigurations().clear();
|
TreeMap<String, Profile> newConfigurations = new TreeMap<>();
|
||||||
config().getConfigurations().putAll(profiles.stream().collect(Collectors.toMap(Profile::getName, it -> it)));
|
for (Profile profile : profiles) {
|
||||||
|
newConfigurations.put(profile.getName(), profile);
|
||||||
|
}
|
||||||
|
config().getConfigurations().setValue(FXCollections.observableMap(newConfigurations));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user