Skip to content

Commit 0b77aea

Browse files
committed
Preserve order of repositories, allow reordering of repositories
1 parent 4f139f3 commit 0b77aea

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

src/schembrowser/ui/SchematicBrowserDialog.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public void setCullingArea(Rect cullingArea) {
169169
rebuildPane = () -> {
170170
t[0].clear();
171171
firstSchematic = null;
172-
for (String repo : loadedRepositories.keys()) {
172+
for (String repo : repositoryLinks) {
173173
if (hiddenRepositories.contains(repo)) continue;
174174
setupRepoUi(t[0], ignoreSymbols.matcher(nameSearchString.toLowerCase()).replaceAll(""), repo);
175175
}
@@ -468,7 +468,7 @@ void hideBrowser(){
468468

469469
void getSettings(){
470470
repositoryLinks.clear();
471-
repositoryLinks.add(Core.settings.getString("schematicrepositories","bend-n/design-it").split(";"));
471+
repositoryLinks.add(Core.settings.getString("schematicrepositories", "MindustryDesignIt/design-it").split(";"));
472472

473473
if (!Core.settings.getString("hiddenschematicrepositories", "").isEmpty()) {
474474
hiddenRepositories.clear();
@@ -573,9 +573,10 @@ protected static class SchematicRepositoriesDialog extends BaseDialog {
573573
private boolean refetch = false;
574574
private boolean rebuild = false;
575575
private final ImageButton.ImageButtonStyle settingTogglei = new ImageButton.ImageButtonStyle(){{
576-
imageCheckedColor = Pal.accent;
576+
imageDisabledColor = Color.darkGray;
577+
imageOverColor = Color.white;
577578
imageDownColor = Pal.accent;
578-
imageUpColor = Color.darkGray;
579+
imageUpColor = Color.gray;
579580
}};
580581

581582
public SchematicRepositoriesDialog(SchematicBrowserDialog browser){
@@ -605,6 +606,25 @@ void rebuild(){
605606
for (var i = 0; i < browser.repositoryLinks.size; i++) {
606607
final String link = browser.repositoryLinks.get(i);
607608
Table table = new Table();
609+
int finalI = i;
610+
table.button(Icon.upOpen, settingTogglei, 16f, () -> {
611+
if (finalI < 1) return;
612+
var links = browser.repositoryLinks;
613+
String temp = links.get(finalI);
614+
links.set(finalI, links.get(finalI - 1));
615+
links.set(finalI - 1, temp);
616+
rebuild();
617+
browser.rebuildResults();
618+
}).padRight(20f).tooltip("@editor.moveup").get().setDisabled(i == 0);
619+
table.button(Icon.downOpen, settingTogglei, 16f, () -> {
620+
if (finalI >= browser.repositoryLinks.size - 1) return;
621+
var links = browser.repositoryLinks;
622+
String temp = links.get(finalI);
623+
links.set(finalI, links.get(finalI + 1));
624+
links.set(finalI + 1, temp);
625+
rebuild();
626+
browser.rebuildResults();
627+
}).padRight(20f).tooltip("@editor.movedown").get().setDisabled(i == browser.repositoryLinks.size - 1);
608628
table.button(Icon.cancel, settingTogglei, 16f, () -> {
609629
browser.repositoryLinks.remove(link);
610630
browser.loadedRepositories.remove(link);
@@ -613,7 +633,6 @@ void rebuild(){
613633
rebuild = true;
614634
rebuild();
615635
}).padRight(20f).tooltip("@save.delete");
616-
int finalI = i;
617636
table.button(Icon.edit, settingTogglei, 16f, () -> editRepo(link, l -> {
618637
browser.repositoryLinks.set(finalI, l);
619638
browser.loadedRepositories.remove(link);

0 commit comments

Comments
 (0)