diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java index 22223a3f9..385c7c438 100644 --- a/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/src/com/jpexs/decompiler/flash/gui/Main.java @@ -1176,21 +1176,24 @@ public class Main { private static void reloadLastSession() { if (Configuration.saveSessionOnExit.get()) { - String lastSession = Configuration.lastSessionData.get(); + String lastSession = Configuration.lastSessionFiles.get(); if (lastSession != null && lastSession.length() > 0) { String[] filesToOpen = lastSession.split(File.pathSeparator, -1); - int cnt = filesToOpen.length - 1; - SWFSourceInfo[] sourceInfos = new SWFSourceInfo[cnt]; - for (int i = 0; i < cnt; i++) { - String fileToOpen = filesToOpen[i]; - sourceInfos[i] = new SWFSourceInfo(null, fileToOpen, null); + List exfiles = new ArrayList<>(); + for (int i = 0; i < filesToOpen.length; i++) { + if (new File(filesToOpen[i]).exists()) { + exfiles.add(filesToOpen[i]); + } + } + SWFSourceInfo[] sourceInfos = new SWFSourceInfo[exfiles.size()]; + for (int i = 0; i < exfiles.size(); i++) { + sourceInfos[i] = new SWFSourceInfo(null, exfiles.get(i), null); + } + if (sourceInfos.length > 0) { + openFile(sourceInfos, () -> { + mainFrame.getPanel().tagTree.setSelectionPathString(Configuration.lastSessionSelection.get()); + }); } - - openFile(sourceInfos, () -> { - // last part contains the selected node in the tagtree - String pathStr = filesToOpen[filesToOpen.length - 1]; - mainFrame.getPanel().tagTree.setSelectionPathString(pathStr); - }); } } } diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java index f0ee16ed8..c295b2566 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java @@ -120,20 +120,25 @@ public final class MainFrameRibbon extends AppRibbonFrame { public void windowClosing(WindowEvent e) { if (Configuration.saveSessionOnExit.get()) { StringBuilder sb = new StringBuilder(); + boolean first = true; for (SWFList swf : panel.getSwfs()) { + if (!first) { + sb.append(File.pathSeparator); + } + first = false; String file = swf.sourceInfo.getFile(); if (file != null) { sb.append(file); - sb.append(File.pathSeparator); } } + Configuration.lastSessionFiles.set(sb.toString()); + String path = panel.tagTree.getSelectionPathString(); if (path != null) { - sb.append(path); + Configuration.lastSessionSelection.set(path); } - Configuration.lastSessionData.set(sb.toString()); } boolean closeResult = panel.closeAll(); diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties index c6c03030d..f17a31506 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties @@ -342,8 +342,11 @@ config.description.setFFDecVersionInExportedFont = When this setting is disabled config.name.gui.skin = User Interface Skin config.description.gui.skin = Look and feel skin -config.name.lastSessionData = Last session data -config.description.lastSessionData = Contains the opened files from the last session +config.name.lastSessionFiles = Last session files +config.description.lastSessionFiles = Contains the opened files from the last session + +config.name.lastSessionSelection = Last session selection +config.description.lastSessionSelection = Contains the selection from the last session config.name.loopMedia = Loop sounds and sprites config.description.loopMedia = Automatically restarts the playing of the sounds and sprites diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties index 4bd271721..596dac30f 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties @@ -342,8 +342,9 @@ config.description.setFFDecVersionInExportedFont = Kdy\u017e je toto nastaven\u0 config.name.gui.skin = Vzhled u\u017eivatelsk\u00e9ho rozhran\u00ed config.description.gui.skin = Barevbn\u00e9 sch\u00e9ma vzhledu -config.name.lastSessionData = Data posledn\u00ed session -config.description.lastSessionData = Obsahuje otev\u0159en\u00e9 soubory z posledn\u00ed session +#todo +#config.name.lastSessionData = Data posledn\u00ed session +#config.description.lastSessionData = Obsahuje otev\u0159en\u00e9 soubory z posledn\u00ed session config.name.loopMedia = P\u0159ehr\u00e1vat zvuky a sprity dokola config.description.loopMedia = Automaticky restartovat p\u0159ehr\u00e1v\u00e1n\u00ed zvuk\u016f a sprit\u016f diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_es.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_es.properties index 9450044a8..29af47604 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_es.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_es.properties @@ -342,8 +342,9 @@ config.description.setFFDecVersionInExportedFont = Cuando este ajuste es deshabi config.name.gui.skin = Piel de interfaz de usuario config.description.gui.skin = Apariencia de piel -config.name.lastSessionData = Datos de la \u00faltima sesi\u00f3n -config.description.lastSessionData = Contiene los archivos abiertos de la \u00faltima sesi\u00f3n +#todo +#config.name.lastSessionData = Datos de la \u00faltima sesi\u00f3n +#config.description.lastSessionData = Contiene los archivos abiertos de la \u00faltima sesi\u00f3n config.name.loopMedia = Bucle de sonidos y sprites config.description.loopMedia = Reiniciar automaticamente la reproducci\u00f3n the sonidos y sprites diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_hu.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_hu.properties index 0ae7da5c0..3b35f805c 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_hu.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_hu.properties @@ -342,8 +342,11 @@ config.description.setFFDecVersionInExportedFont = Ha ez a be\u00e1ll\u00edt\u00 config.name.gui.skin = Felhaszn\u00e1l\u00f3i fel\u00fclet b\u0151r config.description.gui.skin = Kin\u00e9zet -config.name.lastSessionData = Utols\u00f3 munkamenet adatai -config.description.lastSessionData = Az legut\u00f3bbi munkamenetben megnyitott f\u00e1jlokat tartalmazza +config.name.lastSessionFiles = Utols\u00f3 munkamenet f\u00e1jljai +config.description.lastSessionFiles = Az legut\u00f3bbi munkamenetben megnyitott f\u00e1jlokat tartalmazza + +config.name.lastSessionSelection = Utols\u00f3 munkamenet kiv\u00e1laszott eleme +config.description.lastSessionSelection = Az legut\u00f3bbi munkamenetben kiv\u00e1laszott elemet tartalmazza config.name.loopMedia = Zen\u00e9k \u00e9s szpr\u00e1jtok config.description.loopMedia = Aut\u00f3matikusan \u00fajraind\u00edtja a zen\u00e9k \u00e9s szpr\u00e1jtok lej\u00e1tsz\u00e1s\u00e1t diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_sv.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_sv.properties index a557d5603..63ba48f1e 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_sv.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_sv.properties @@ -342,8 +342,9 @@ config.description.setFFDecVersionInExportedFont = N\u00e4r den h\u00e4r inst\u0 config.name.gui.skin = Anv\u00e4ndargr\u00e4nssnitt Skinn config.description.gui.skin = Utseende och k\u00e4nsla skinn -config.name.lastSessionData = Senast session information -config.description.lastSessionData = Inneh\u00e5ller dem \u00f6ppnade filerna fr\u00e5n senast session +#todo +#config.name.lastSessionData = Senast session information +#config.description.lastSessionData = Inneh\u00e5ller dem \u00f6ppnade filerna fr\u00e5n senast session config.name.loopMedia = Upprepa ljud och sprites config.description.loopMedia = Startar automatiskt om spelandet av ljud och sprites diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties index 34a46df82..b37c480b4 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties @@ -620,6 +620,3 @@ tagInfo.sampleCount = Sample Count filter.dmg = Mac Executable files (*.dmg) filter.linuxExe = Linux Executable files - -filter.dmg = Mac K\u00f6rbara filer (*.dmg) -filter.linuxExe = Linux K\u00f6rbara filer diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties index 66d99f825..df9083949 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties @@ -611,3 +611,6 @@ header.uncompressed = Okomprimerad header.warning.unsupportedGfxCompression = GFX st\u00f6der endast okomprimerat eller Zlib komprimerad inneh\u00e5ll. header.warning.minimumZlibVersion = Zlib kompression beh\u00f6ver SWF version 6 eller st\u00f6rre. header.warning.minimumLzmaVersion = LZMA kompression beh\u00f6ver SWF version 13 eller st\u00f6rre. + +filter.dmg = Mac K\u00f6rbara filer (*.dmg) +filter.linuxExe = Linux K\u00f6rbara filer