mirror of https://github.com/bsnes-emu/bsnes.git
59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
SystemProperties::SystemProperties() {
|
|
systemProperties = this;
|
|
|
|
layout.setMargin(5);
|
|
nameLabel.setText("Name:");
|
|
bootLabel.setText("Boot:");
|
|
bootEdit.setEditable(false);
|
|
for(auto& emulator : program->emulators) {
|
|
bootEdit.append(ComboEditItem().setText(emulator->information.name));
|
|
}
|
|
bootBrowse.setText("Browse ...").onActivate([&] {
|
|
string filters = "Games|";
|
|
for(auto& emulator : program->emulators) {
|
|
for(auto& media : emulator->media) {
|
|
filters.append("*.", media.type, ":");
|
|
}
|
|
}
|
|
filters.trimRight(":", 1L);
|
|
if(auto location = BrowserDialog()
|
|
.setTitle("Select Boot Game")
|
|
.setPath(settings["Library/Location"].text())
|
|
.setFilters(filters)
|
|
.openFolder()) {
|
|
bootEdit.setText(location);
|
|
}
|
|
});
|
|
acceptButton.onActivate([&] {
|
|
setVisible(false);
|
|
settingsManager->systems.accept();
|
|
});
|
|
cancelButton.setText("Cancel").onActivate([&] {
|
|
setVisible(false);
|
|
});
|
|
|
|
setTitle("System Properties");
|
|
setSize({480, layout.minimumSize().height()});
|
|
setDismissable();
|
|
}
|
|
|
|
auto SystemProperties::append() -> void {
|
|
setCentered(*settingsManager);
|
|
nameEdit.setText("");
|
|
bootEdit.setText("");
|
|
acceptButton.setText("Append");
|
|
setFocused();
|
|
setVisible();
|
|
nameEdit.setFocused();
|
|
}
|
|
|
|
auto SystemProperties::modify(Markup::Node system) -> void {
|
|
setCentered(*settingsManager);
|
|
nameEdit.setText(system["Name"].text());
|
|
bootEdit.setText(system["Boot"].text());
|
|
acceptButton.setText("Modify");
|
|
setFocused();
|
|
setVisible();
|
|
nameEdit.setFocused();
|
|
}
|