Skip to content

Commit 739eb4a

Browse files
committed
arrow keys not work smoothly and block the file save
Save loop will wait for the last operation to be 1000ms old before saving the file
1 parent 7229127 commit 739eb4a

File tree

3 files changed

+22
-24
lines changed

3 files changed

+22
-24
lines changed

BowlerStudio

src/main/java/com/commonwealthrobotics/TimelineManager.java

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void onSaveSuggestion() {}
5959
public void onRegenerateStart() {}
6060
@Override
6161
public void onRegenerateDone() {
62-
update(false);
62+
//update(false);
6363
}
6464

6565
@Override
@@ -68,11 +68,11 @@ public void onInitializationStart() {
6868
}
6969
@Override
7070
public void onInitializationDone() {
71-
update(false);
71+
//update(false);
7272
}
7373
@Override
7474
public void onTimelineUpdate() {
75-
new Exception().printStackTrace();
75+
//new Exception().printStackTrace();
7676
update(true);
7777
}
7878
});
@@ -129,6 +129,7 @@ private void update(boolean clear) {
129129
int my = i;
130130
ContextMenu contextMenu = new ContextMenu();
131131
toAdd.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
132+
session.setKeyBindingFocus();
132133
BowlerStudio.runLater(() -> {
133134
if (event.getButton() == MouseButton.PRIMARY) {
134135
int index = ap.get().getCurrentIndex() - 1;
@@ -139,9 +140,20 @@ private void update(boolean clear) {
139140
new Thread(() -> {
140141
ap.get().moveToOpIndex(my);
141142
}).start();
142-
session.setKeyBindingFocus();
143+
144+
}
145+
if (event.getButton() == MouseButton.SECONDARY) {
146+
// Show context menu where the mouse was clicked
147+
contextMenu.show(toAdd, event.getScreenX(), event.getScreenY());
148+
new Thread(() -> {
149+
try {
150+
Thread.sleep(3000);
151+
} catch (InterruptedException e) {
152+
e.printStackTrace();
153+
}
154+
BowlerStudio.runLater(() -> contextMenu.hide());
155+
}).start();
143156
}
144-
145157
});
146158

147159
});
@@ -165,27 +177,13 @@ private void update(boolean clear) {
165177
MenuItem deleteItem = new MenuItem("Delete");
166178
deleteItem.getStyleClass().add("image-button-focus");
167179
deleteItem.setOnAction(event -> {
180+
toAdd.setDisable(true);
181+
buttons.remove(toAdd);
168182
ap.get().deleteOperation(op);
169183
});
170184
// Add the delete item to the context menu
171185
contextMenu.getItems().add(deleteItem);
172186
// Add event handler for right-click
173-
toAdd.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
174-
BowlerStudio.runLater(() -> {
175-
if (event.getButton() == MouseButton.SECONDARY) {
176-
// Show context menu where the mouse was clicked
177-
contextMenu.show(toAdd, event.getScreenX(), event.getScreenY());
178-
new Thread(() -> {
179-
try {
180-
Thread.sleep(3000);
181-
} catch (InterruptedException e) {
182-
e.printStackTrace();
183-
}
184-
BowlerStudio.runLater(() -> contextMenu.hide());
185-
}).start();
186-
}
187-
});
188-
});
189187
} catch (Exception ex) {
190188
ex.printStackTrace();
191189
}

src/main/java/com/commonwealthrobotics/controls/SelectionSession.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,13 +1508,13 @@ public void save() {
15081508
if (autosaveThread == null) {
15091509
autosaveThread = new Thread(() -> {
15101510
while (ap.isOpen()) {
1511-
if (needsSave) {
1511+
if (needsSave && ap.get().timeSinceLastUpdate()>1000) {
15121512
System.out.println("Auto save " + ap.get().getSelf().getAbsolutePath());
15131513
ap.save(ap.get());
15141514
needsSave = false;
15151515
}
15161516
try {
1517-
Thread.sleep(10000);
1517+
Thread.sleep(1000);
15181518
} catch (InterruptedException e) {
15191519
// Auto-generated catch block
15201520
e.printStackTrace();

0 commit comments

Comments
 (0)