Skip to content

Commit 25b24f2

Browse files
committed
Fix Import and improve Select
1 parent 43921d8 commit 25b24f2

File tree

5 files changed

+42
-8
lines changed

5 files changed

+42
-8
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>me.lauriichan.school</groupId>
66
<artifactId>compile</artifactId>
7-
<version>1.0.0</version>
7+
<version>1.0.1</version>
88

99
<repositories>
1010
<repository>

src/main/java/me/lauriichan/school/compile/project/Project.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,11 @@ public void println(String line) {
182182

183183
public boolean compile() {
184184
if (!isCompileable()) {
185+
ConsoleView.APP_LOG.ifPresent(log -> {
186+
log.warn("Das Projekt '" + name + "' kann nicht kompiliert werden,");
187+
log.warn("da es kein normales Java Projekt ist!");
188+
});
189+
Main.SELECT.ifPresent(consumer -> consumer.accept(3));
185190
return false;
186191
}
187192
Executor.execute(() -> Singleton.get(ProjectCompiler.class).compile(this));
@@ -191,7 +196,7 @@ public boolean compile() {
191196
public boolean execute() {
192197
if (RUNNING) {
193198
ConsoleView.APP_LOG.ifPresent(log -> {
194-
log.error("Projekt '" + name + "' konnt nicht ausgeführt werden,");
199+
log.error("Das Projekt '" + name + "' konnt nicht ausgeführt werden,");
195200
log.error("da ein Projekt bereits ausgeführt wird!");
196201
});
197202
Main.SELECT.ifPresent(consumer -> consumer.accept(3));

src/main/java/me/lauriichan/school/compile/window/ui/component/RadioList.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,8 @@ public void setCurrent(int current) {
344344
button.press();
345345
}
346346
}
347-
this.current = Math.min(components.size(), Math.max(0, current));
348-
if (this.current == components.size()) {
347+
this.current = Math.min(components.size(), Math.max(-1, current));
348+
if (this.current == components.size() || this.current == -1) {
349349
return;
350350
}
351351
RadioButton button = components.get(this.current);

src/main/java/me/lauriichan/school/compile/window/view/MainView.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,24 @@ public void removeProject(String name) {
161161
}
162162
}
163163

164+
public void selectProject(String name) {
165+
Component component = pane.getChild(0);
166+
if (component == null || !(component instanceof RadioList)) {
167+
return;
168+
}
169+
RadioList list = (RadioList) component;
170+
RadioButton[] buttons = list.getChildren();
171+
for (int index = 0; index < buttons.length; index++) {
172+
String btnName = buttons[index].getText().split("\n", 2)[0];
173+
if (!name.equals(btnName)) {
174+
continue;
175+
}
176+
list.setCurrent(-1);
177+
list.setCurrent(index);
178+
break;
179+
}
180+
}
181+
164182
public void exportProject(Project project) {
165183
JnaFileChooser chooser = new JnaFileChooser();
166184
chooser.setMultiSelectionEnabled(false);
@@ -245,11 +263,16 @@ public void importProject() {
245263
FileUtils.copyDirectory(folder, output);
246264
FileUtils.deleteDirectory(folder);
247265
Project.create(project.getName(), project.getPacket(), output, null);
248-
project = Project.get(project.getName());
249-
if(project == null) {
266+
Project tmpProject = Project.get(project.getName());
267+
if (tmpProject == null) {
250268
return;
251269
}
252-
project.open();
270+
tmpProject.getOptions().addAll(project.getOptions());
271+
addProject(tmpProject);
272+
selectProject(tmpProject.getName());
273+
Project.setDefault(tmpProject);
274+
Singleton.get(Settings.class).save();
275+
tmpProject.open();
253276
});
254277
}
255278

@@ -263,7 +286,7 @@ private void fillList(RadioList list) {
263286
if (project == null) {
264287
continue;
265288
}
266-
if(!project.getDirectory().exists()) {
289+
if (!project.getDirectory().exists()) {
267290
Project.PROJECTS.delete(Singleton.get(Settings.class), project.getName());
268291
continue;
269292
}

src/main/java/me/lauriichan/school/compile/window/view/TemplateView.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212

1313
import jnafilechooser.api.JnaFileChooser;
1414
import jnafilechooser.api.JnaFileChooser.Mode;
15+
import me.lauriichan.school.compile.data.Settings;
1516
import me.lauriichan.school.compile.project.Project;
1617
import me.lauriichan.school.compile.project.ProjectInfo;
1718
import me.lauriichan.school.compile.project.template.Template;
1819
import me.lauriichan.school.compile.util.Executor;
20+
import me.lauriichan.school.compile.util.Singleton;
1921
import me.lauriichan.school.compile.window.input.mouse.MouseButton;
2022
import me.lauriichan.school.compile.window.ui.BasicPane;
2123
import me.lauriichan.school.compile.window.ui.Component;
@@ -126,12 +128,16 @@ private void createProject(Boolean state, Object input, Template template) {
126128
if (project == null) {
127129
return;
128130
}
131+
Project.setDefault(project);
129132
Executor.execute(() -> project.open());
133+
Singleton.get(Settings.class).save();
130134
if (existed) {
131135
main.updateProject(project);
136+
main.selectProject(project.getName());
132137
return;
133138
}
134139
main.addProject(project);
140+
main.selectProject(project.getName());
135141
}
136142

137143
public void setButtonLocked(boolean locked) {

0 commit comments

Comments
 (0)