Skip to content
This repository was archived by the owner on Aug 18, 2024. It is now read-only.

Commit e8340d4

Browse files
authored
Merge pull request #11 from tildejustin/master
adds saving file directory so you don't have to navigate to it each time
2 parents 47177eb + e9a727f commit e8340d4

File tree

5 files changed

+55
-4
lines changed

5 files changed

+55
-4
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group 'com.redlimerl'
7-
version '0.5.3'
7+
version '0.5.4'
88
repositories {
99
mavenCentral()
1010
}

src/main/java/com/pistacium/modcheck/ModCheck.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.google.gson.JsonParser;
55
import com.pistacium.modcheck.mod.ModData;
66
import com.pistacium.modcheck.mod.version.ModVersion;
7+
import com.pistacium.modcheck.util.Config;
78
import com.pistacium.modcheck.util.ModCheckStatus;
89
import com.pistacium.modcheck.util.ModCheckUtils;
910

@@ -32,6 +33,8 @@ public static void setStatus(ModCheckStatus status) {
3233

3334
public static final ArrayList<ModData> AVAILABLE_MODS = new ArrayList<>();
3435

36+
public static Config config;
37+
3538

3639
public static void main(String[] args) {
3740
THREAD_EXECUTOR.submit(() -> {

src/main/java/com/pistacium/modcheck/ModCheckFrame.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.pistacium.modcheck.mod.ModData;
66
import com.pistacium.modcheck.mod.resource.ModResource;
77
import com.pistacium.modcheck.mod.version.ModVersion;
8+
import com.pistacium.modcheck.util.Config;
89
import com.pistacium.modcheck.util.ModCheckStatus;
910
import com.pistacium.modcheck.util.ModCheckUtils;
1011
import com.pistacium.modcheck.util.SwingUtils;
@@ -81,7 +82,8 @@ private void initHeaderLayout() {
8182

8283
JButton selectPathButton = new JButton("Select Instance Paths");
8384
selectPathButton.addActionListener(e -> {
84-
JFileChooser pathSelector = new JFileChooser();
85+
Config instanceDir = ModCheckUtils.readConfig();
86+
JFileChooser pathSelector = instanceDir == null ? new JFileChooser() : new JFileChooser(instanceDir.getDir());
8587
pathSelector.setMultiSelectionEnabled(true);
8688
pathSelector.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
8789
pathSelector.setDialogType(JFileChooser.CUSTOM_DIALOG);
@@ -111,6 +113,7 @@ public Object getItem() {
111113
}
112114
selectedDirLabel.setText("<html>Selected Instances : <br>" + stringBuilder.substring(0, stringBuilder.length() - (stringBuilder.length() != 0 ? 2 : 0)) + "</html>");
113115
}
116+
ModCheckUtils.writeConfig(files[0].getParentFile());
114117
});
115118

116119
instanceSelectPanel.add(selectPathButton);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.pistacium.modcheck.util;
2+
3+
import java.io.File;
4+
5+
public class Config {
6+
final String filepath;
7+
8+
public Config(String filepath) {
9+
this.filepath = filepath;
10+
}
11+
12+
public File getDir() {
13+
return new File(filepath);
14+
}
15+
}

src/main/java/com/pistacium/modcheck/util/ModCheckUtils.java

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.pistacium.modcheck.util;
22

3-
import com.google.gson.JsonObject;
4-
import com.google.gson.JsonParser;
3+
import com.google.gson.*;
4+
import com.pistacium.modcheck.ModCheck;
55

66
import java.io.*;
77
import java.net.HttpURLConnection;
@@ -75,4 +75,34 @@ public static String getAPIUrl(String url, String type) {
7575

7676
return url;
7777
}
78+
79+
public static Config readConfig() {
80+
Gson gson = new Gson();
81+
File file = new File("modcheck.json");
82+
if (!file.exists()) {
83+
return null;
84+
}
85+
BufferedReader br = null;
86+
try {
87+
br = new BufferedReader(new FileReader(file));
88+
} catch (FileNotFoundException e) {
89+
e.printStackTrace();
90+
}
91+
assert br != null;
92+
return gson.fromJson(br, Config.class);
93+
}
94+
95+
public static void writeConfig(File dir) {
96+
File file = new File("modcheck.json");
97+
Config config = new Config(dir.getPath());
98+
try (Writer writer = new FileWriter(file)) {
99+
Gson gson = new GsonBuilder()
100+
.setPrettyPrinting()
101+
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
102+
.create();
103+
gson.toJson(config, writer);
104+
} catch (IOException e) {
105+
throw new RuntimeException(e);
106+
}
107+
}
78108
}

0 commit comments

Comments
 (0)