diff options
| author | 2019-05-12 11:04:33 +0200 | |
|---|---|---|
| committer | 2019-05-12 11:04:33 +0200 | |
| commit | 324af846e90ae38886c2298559510aa935b054ee (patch) | |
| tree | ffcb1e64b6108100b6636059a85d3f6034eab83d /src/main/java/cuchaz/enigma/gui/GuiController.java | |
| parent | Quick find fixes (#133) (diff) | |
| download | enigma-fork-324af846e90ae38886c2298559510aa935b054ee.tar.gz enigma-fork-324af846e90ae38886c2298559510aa935b054ee.tar.xz enigma-fork-324af846e90ae38886c2298559510aa935b054ee.zip | |
Rename in place functionality (#131)
* Rename in place functionality
* Don't allow rename if renaming is not allowed for the token
* Remove redundant 'R' hotkey
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/GuiController.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/GuiController.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java index 5610233..1683333 100644 --- a/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/src/main/java/cuchaz/enigma/gui/GuiController.java | |||
| @@ -297,14 +297,7 @@ public class GuiController { | |||
| 297 | * @param reference | 297 | * @param reference |
| 298 | */ | 298 | */ |
| 299 | private void showReference(EntryReference<Entry<?>, Entry<?>> reference) { | 299 | private void showReference(EntryReference<Entry<?>, Entry<?>> reference) { |
| 300 | EntryRemapper mapper = this.deobfuscator.getMapper(); | 300 | Collection<Token> tokens = getTokensForReference(reference); |
| 301 | |||
| 302 | SourceIndex index = this.currentSource.getIndex(); | ||
| 303 | Collection<Token> tokens = mapper.getObfResolver().resolveReference(reference, ResolutionStrategy.RESOLVE_CLOSEST) | ||
| 304 | .stream() | ||
| 305 | .flatMap(r -> index.getReferenceTokens(r).stream()) | ||
| 306 | .collect(Collectors.toList()); | ||
| 307 | |||
| 308 | if (tokens.isEmpty()) { | 301 | if (tokens.isEmpty()) { |
| 309 | // DEBUG | 302 | // DEBUG |
| 310 | System.err.println(String.format("WARNING: no tokens found for %s in %s", reference, this.currentSource.getEntry())); | 303 | System.err.println(String.format("WARNING: no tokens found for %s in %s", reference, this.currentSource.getEntry())); |
| @@ -313,6 +306,16 @@ public class GuiController { | |||
| 313 | } | 306 | } |
| 314 | } | 307 | } |
| 315 | 308 | ||
| 309 | public Collection<Token> getTokensForReference(EntryReference<Entry<?>, Entry<?>> reference) { | ||
| 310 | EntryRemapper mapper = this.deobfuscator.getMapper(); | ||
| 311 | |||
| 312 | SourceIndex index = this.currentSource.getIndex(); | ||
| 313 | return mapper.getObfResolver().resolveReference(reference, ResolutionStrategy.RESOLVE_CLOSEST) | ||
| 314 | .stream() | ||
| 315 | .flatMap(r -> index.getReferenceTokens(r).stream()) | ||
| 316 | .collect(Collectors.toList()); | ||
| 317 | } | ||
| 318 | |||
| 316 | public void openPreviousReference() { | 319 | public void openPreviousReference() { |
| 317 | if (hasPreviousReference()) { | 320 | if (hasPreviousReference()) { |
| 318 | setReference(gui.referenceHistory.goBack()); | 321 | setReference(gui.referenceHistory.goBack()); |