diff --git a/CHANGELOG.md b/CHANGELOG.md
index e34c773bc..58599441f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
- #1155, #1602 AS3 remove trait button
- #1260, #1438 AS1/2 direct editing on(xxx), onClipEvent(xxx) handlers
- #1366, #1409, #1429, #1573, #1598 AS1/2/3 Add script/class (context menu on scripts folder)
+- Removing BUTTONCONDACTION, CLIPACTIONRECORD
### Fixed
- #1298 AS1/2 properly decompiled setProperty/getProperty
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java
index b00f342f0..d6c6df1c4 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java
@@ -12,7 +12,8 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library.
*/
+ * License along with this library.
+ */
package com.jpexs.decompiler.flash.tags;
import com.jpexs.decompiler.flash.SWF;
@@ -456,4 +457,14 @@ public class PlaceObject2Tag extends PlaceObjectTypeTag implements ASMSourceCont
public Integer getVisible() {
return null;
}
+
+ @Override
+ public void setClipActions(CLIPACTIONS clipActions) {
+ this.clipActions = clipActions;
+ }
+
+ @Override
+ public void setPlaceFlagHasClipActions(boolean placeFlagHasClipActions) {
+ this.placeFlagHasClipActions = placeFlagHasClipActions;
+ }
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java
index 345f6719a..afc02f89a 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java
@@ -12,7 +12,8 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library.
*/
+ * License along with this library.
+ */
package com.jpexs.decompiler.flash.tags;
import com.jpexs.decompiler.flash.EndOfStreamException;
@@ -641,4 +642,14 @@ public class PlaceObject3Tag extends PlaceObjectTypeTag implements ASMSourceCont
}
return null;
}
+
+ @Override
+ public void setClipActions(CLIPACTIONS clipActions) {
+ this.clipActions = clipActions;
+ }
+
+ @Override
+ public void setPlaceFlagHasClipActions(boolean placeFlagHasClipActions) {
+ this.placeFlagHasClipActions = placeFlagHasClipActions;
+ }
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java
index 15dc2f841..f01a8ebd0 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java
@@ -12,7 +12,8 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library.
*/
+ * License along with this library.
+ */
package com.jpexs.decompiler.flash.tags;
import com.jpexs.decompiler.flash.EndOfStreamException;
@@ -662,4 +663,14 @@ public class PlaceObject4Tag extends PlaceObjectTypeTag implements ASMSourceCont
}
return null;
}
+
+ @Override
+ public void setClipActions(CLIPACTIONS clipActions) {
+ this.clipActions = clipActions;
+ }
+
+ @Override
+ public void setPlaceFlagHasClipActions(boolean placeFlagHasClipActions) {
+ this.placeFlagHasClipActions = placeFlagHasClipActions;
+ }
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java
index f555aba36..9f66b8198 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java
@@ -12,7 +12,8 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library.
*/
+ * License along with this library.
+ */
package com.jpexs.decompiler.flash.tags;
import com.jpexs.decompiler.flash.SWF;
@@ -270,4 +271,14 @@ public class PlaceObjectTag extends PlaceObjectTypeTag {
public Integer getVisible() {
return null;
}
+
+ @Override
+ public void setClipActions(CLIPACTIONS clipActions) {
+
+ }
+
+ @Override
+ public void setPlaceFlagHasClipActions(boolean placeFlagHasClipActions) {
+
+ }
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/PlaceObjectTypeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/PlaceObjectTypeTag.java
index 8286d2564..96405d373 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/PlaceObjectTypeTag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/PlaceObjectTypeTag.java
@@ -12,7 +12,8 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library.
*/
+ * License along with this library.
+ */
package com.jpexs.decompiler.flash.tags.base;
import com.jpexs.decompiler.flash.SWF;
@@ -82,6 +83,10 @@ public abstract class PlaceObjectTypeTag extends Tag implements CharacterIdTag {
public abstract Amf3Value getAmfData();
+ public abstract void setClipActions(CLIPACTIONS clipActions);
+
+ public abstract void setPlaceFlagHasClipActions(boolean placeFlagHasClipActions);
+
@Override
public String getName() {
String result = super.getName();
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties
index ef68a7542..fc818e93d 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties
@@ -785,4 +785,10 @@ message.confirm.removetrait = Do you really want to remove selected trait?
contextmenu.addScript = Add script
-contextmenu.addClass = Add class
\ No newline at end of file
+contextmenu.addClass = Add class
+
+contextmenu.removeScript = Remove script
+
+message.confirm.remove.nodep = Are you sure you want to remove %item%?
+
+message.confirm.removemultiple.nodep = Are you sure you want to remove %count% items?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ca.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ca.properties
index 32e16a0a6..1990e69d8 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ca.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ca.properties
@@ -772,3 +772,9 @@ message.font.setadvancevalues = Aquesta operaci\u00f3 establir\u00e0 l'aven\u00e
menu.tools.deobfuscation.renameColliding = Reanomena els trets/classes que col\u00b7lisionen
filter.iggy = Fitxers Iggy (*.iggy)
+
+
+#...
+message.confirm.remove.nodep = Segur que vols eliminar %item%?
+
+message.confirm.removemultiple.nodep = Segur que vols eliminar %count% elements?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties
index 37444a5d4..3dde4be55 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties
@@ -763,4 +763,8 @@ message.confirm.removetrait = Opravdu chcete odstranit vybranou vlastnost?
contextmenu.addScript = P\u0159idat skript
-contextmenu.addClass = P\u0159idat t\u0159\u00eddu
\ No newline at end of file
+contextmenu.addClass = P\u0159idat t\u0159\u00eddu
+
+message.confirm.remove.nodep = Opravdu chcete odebrat %item%?
+
+message.confirm.removemultiple.nodep = Opravdu chcete odebrat %count% polo\u017eek?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_de.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_de.properties
index 346d83cd8..52d874576 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_de.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_de.properties
@@ -622,3 +622,8 @@ import.script.as12warning = Import kann nur AS1/2 Skripte importieren.
error.constantPoolTooBig = Konstantenpool ist zu gross. index=%index%, Gr\u00f6sse=%size%
error.image.alpha.invalid = Ung\u00fcltige Alphakanaldaten.
+
+#...
+message.confirm.remove.nodep = Wolen Sie wirklich %item% entfernen?
+
+message.confirm.removemultiple.nodep = Wollen sie wirklich %count% Elemente entfernen?
\ No newline at end of file
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_es.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_es.properties
index f627def81..d6a65c773 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_es.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_es.properties
@@ -716,3 +716,8 @@ export.script.singleFilePallelModeWarning = La exportaci\u00f3n de escritura de
button.showOriginalBytesInPcodeHex = Mostrar bytes originales
button.remove = Remover
+
+#...
+message.confirm.remove.nodep = Est\u00e1 seguro que desea remover %item%?
+
+message.confirm.removemultiple.nodep = Est\u00e1 seguro que desea eliminar %count% art\u00edculos?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_fr.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_fr.properties
index f4916c1e0..e1c1f80f2 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_fr.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_fr.properties
@@ -732,4 +732,10 @@ generic.editor.amf3.help = Syntaxe de la valeur AMF3 :\n\
\ * les types de donn\u00e9es non scalaires peuvent faire r\u00e9f\u00e9rence \u00e0 des "id" pr\u00e9c\u00e9demment d\u00e9clar\u00e9s avec les attributs # syntaxe :\n\
%reference_sample%\n\
\ * les entr\u00e9es du dictionnaire peuvent \u00eatre de tous types\n
-contextmenu.showInResources = Afficher dans les resources
\ No newline at end of file
+contextmenu.showInResources = Afficher dans les resources
+
+
+#...
+message.confirm.remove.nodep = \u00cates-vous s\u00fbr de vouloir retirer les objets %item% ?
+
+message.confirm.removemultiple.nodep = \u00cates-vous s\u00fbr de vouloir retirer %count% objets ?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_hu.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_hu.properties
index a3f216f87..38cf24b88 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_hu.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_hu.properties
@@ -712,3 +712,9 @@ message.warning.outOfMemory32BitJre = Elfogyott a mem\u00f3ria. 32bites Java-t f
menu.file.reloadAll = Minden \u00fajrat\u00f6lt\u00e9se
message.confirm.reloadAll = Ez a m\u0171velet visszavonja az \u00f6sszes nem mentett v\u00e1ltoz\u00e1st az \u00f6sszes SWF f\u00e1jlban \u00e9s \u00fajrat\u00f6lti a teljes alkalmaz\u00e1st.\nSzeretn\u00e9 folytatni?
export.script.singleFilePallelModeWarning = Az egy f\u00e1jlba t\u00f6rt\u00e9n\u0151 szkript export\u00e1l\u00e1s nem t\u00e1mogatott bekapcsolt p\u00e1rhuzamos gyors\u00edt\u00e1ssal
+
+#...
+message.confirm.remove.nodep = Biztos benne, hogy t\u00f6r\u00f6lni k\u00edv\u00e1nja a %item%-t ?
+
+message.confirm.removemultiple.nodep = Biztos benne, hogy t\u00f6r\u00f6lni k\u00edv\u00e1nja a %count% elemet ?
+
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties
index ea9de778a..ed5661907 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_it.properties
@@ -716,3 +716,8 @@ export.script.singleFilePallelModeWarning = L'esportazione di script su singolo
button.showOriginalBytesInPcodeHex = Mostra byte originali
button.remove = Rimuovi
+
+#...
+message.confirm.remove.nodep = Sicuro di voler remuovere %item%?
+
+message.confirm.removemultiple.nodep = Confermare la rimozione di %count% elementi?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_nl.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_nl.properties
index 623c87fb0..767b7e07e 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_nl.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_nl.properties
@@ -416,3 +416,8 @@ node.others = anderen
#after version 1.8.1
menu.tools.search = Tekst zoeken
+
+#...
+message.confirm.remove.nodep = Weet U zeker dat U %item% verwijderen?
+
+message.confirm.removemultiple.nodep = Weet U zeker dat U %count% items verwijderen?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pl.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pl.properties
index 43498f993..247f71e95 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pl.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pl.properties
@@ -521,3 +521,8 @@ button.snapshot.hint = Wykonaj zrzut do schowka
#Font name which is presented in the SWF Font tag
font.name.intag = Nazwa czcionki w etykiecie:
+
+#...
+message.confirm.remove.nodep = Czy na pewno chcesz usun\u0105\u0107 %item%?
+
+message.confirm.removemultiple.nodep = Czy na pewno chcesz usun\u0105\u0107 %count% obiekt\u00f3w(y)?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt.properties
index 01cfd7e17..61771a2e7 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt.properties
@@ -346,3 +346,6 @@ ColorChooser.previewText = Visualizar
ColorChooser.swatchesNameText = Swatches
ColorChooser.swatchesRecentText = Recente:
ColorChooser.sampleText = Amostra de Texto Amostra de Texto
+
+#...
+message.confirm.remove.nodep = Tem a certeza que pretende remover %item%?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt_BR.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt_BR.properties
index 8655a264c..0d946cacd 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt_BR.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_pt_BR.properties
@@ -346,3 +346,6 @@ ColorChooser.previewText = Visualizar
ColorChooser.swatchesNameText = Swatches
ColorChooser.swatchesRecentText = Recente:
ColorChooser.sampleText = Amostra de Texto Amostra de Texto
+
+#...
+message.confirm.remove.nodep = Tem a certeza que pretende remover %item%?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ru.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ru.properties
index 85f827df2..169b7b0a6 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ru.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_ru.properties
@@ -573,3 +573,8 @@ selectPreviousTag = \u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043
selectNextTag = \u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u044d\u0433
button.ignoreAll = \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435
menu.file.import.symbolClass = \u041a\u043b\u0430\u0441\u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u0430
+
+#...
+message.confirm.remove.nodep = \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 %item%?
+
+message.confirm.removemultiple.nodep = \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435: %count%?
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 14e2b939c..9f7c60d03 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_sv.properties
@@ -614,3 +614,8 @@ filter.linuxExe = Linux K\u00f6rbara filer
import.script.result = %count% skript har blivit importerade.
import.script.as12warning = Importera skript kan bara importera AS1/2 skript
+
+#...
+message.confirm.remove.nodep = \u00c4r du s\u00e4ker p\u00e5 att du vill ta bort %item%?
+
+message.confirm.removemultiple.nodep = \u00c4r du s\u00e4ker p\u00e5 att du vill ta bort %count% objekt?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_tr.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_tr.properties
index 7ca90961f..ec54a84ee 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_tr.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_tr.properties
@@ -1255,3 +1255,8 @@ filter.iggy = Iggy dosyalar\u0131 (*.iggy)
script.seemsBroken = UYARI: Kod ayr\u0131\u015ft\u0131rmas\u0131n\u0131 i\u00e7erir \u00a7\u00a7 talimatlar. \
+
+#...
+message.confirm.remove.nodep = %item%\n kald\u0131rmak istedi\u011finizden emin misiniz?
+
+message.confirm.removemultiple.nodep = %count% items\n kald\u0131rmak istedi\u011finizden emin misiniz?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_uk.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_uk.properties
index ce082ee94..5a1581af1 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_uk.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_uk.properties
@@ -416,3 +416,8 @@ node.others = \u0406\u043d\u0448\u0456
#after version 1.8.1
menu.tools.search = \u041f\u043e\u0448\u0443\u043a \u0442\u0435\u043a\u0441\u0442\u0443
+
+#...
+message.confirm.remove.nodep = \u0412\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 %item%?
+
+message.confirm.removemultiple.nodep = \u0412\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0449\u043e \u0445\u043e\u0447\u0435\u0442\u0435 \u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u0443 \u043a\u0456\u043b\u044c\u043a\u043e\u0441\u0442\u0456: %count%?
diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties
index 2934c890f..607ca8f21 100644
--- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties
+++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties
@@ -777,3 +777,8 @@ filter.iggy = Iggy\u6587\u4ef6(*.iggy)
script.seemsBroken = \u8b66\u544a: \u4ee3\u7801\u53cd\u6c47\u7f16\u5305\u542b\u00a7\u00a7\u6307\u4ee4. \
\u8fd9\u901a\u5e38\u662f\u7531\u4e8e\u6df7\u6dc6\u9020\u6210\u7684(\u8bf7\u53c2\u9605"\u8bbe\u7f6e/\u81ea\u52a8\u53cd\u6df7\u6dc6")\
\u6216\u811a\u672c\u662f\u7531\u975e\u6807\u51c6\u7684\u7f16\u8bd1\u5668\u751f\u6210\u7684(\u5982Haxe\u7b49)\u3002 \
+
+#...
+message.confirm.remove.nodep = \u60a8\u786e\u5b9a\u8981\u5220\u9664%item%\uff1f
+
+message.confirm.removemultiple.nodep = \u60a8\u786e\u5b9a\u8981\u5220\u9664%count%\u4e2a\u9879\u76ee\uff1f
\ No newline at end of file
diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java
index b1e970f49..a09ef77fa 100644
--- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java
+++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java
@@ -90,6 +90,7 @@ import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import javax.swing.tree.TreePath;
+import javax.swing.tree.TreeSelectionModel;
/**
*
@@ -142,6 +143,7 @@ public class TagTreeContextMenu extends JPopupMenu {
private JMenuItem openSWFInsideTagMenuItem;
private JMenuItem addAs12ScriptMenuItem;
+
private JMenuItem addAs3ClassMenuItem;
public TagTreeContextMenu(final TagTree tagTree, MainPanel mainPanel) {
@@ -269,18 +271,29 @@ public class TagTreeContextMenu extends JPopupMenu {
final List swfs = mainPanel.getSwfs();
- boolean allSelectedIsTagOrFrame = true;
+ boolean canRemove = true;
+ boolean onlyClipActionButtonCond = true;
for (TreeItem item : items) {
if (!(item instanceof Tag) && !(item instanceof Frame)) {
if (item instanceof TagScript) {
Tag tag = ((TagScript) item).getTag();
if (tag instanceof DoActionTag || tag instanceof DoInitActionTag) {
+ onlyClipActionButtonCond = false;
continue;
}
}
- allSelectedIsTagOrFrame = false;
+ if (item instanceof CLIPACTIONRECORD) {
+ continue;
+ }
+ if (item instanceof BUTTONCONDACTION) {
+ continue;
+ }
+
+ canRemove = false;
break;
+ } else {
+ onlyClipActionButtonCond = false;
}
}
@@ -337,8 +350,8 @@ public class TagTreeContextMenu extends JPopupMenu {
}
expandRecursiveMenuItem.setVisible(false);
- removeMenuItem.setVisible(allSelectedIsTagOrFrame);
- removeWithDependenciesMenuItem.setVisible(allSelectedIsTagOrFrame);
+ removeMenuItem.setVisible(canRemove);
+ removeWithDependenciesMenuItem.setVisible(canRemove && !onlyClipActionButtonCond);
undoTagMenuItem.setVisible(allSelectedIsTag);
exportSelectionMenuItem.setEnabled(tagTree.hasExportableNodes());
replaceMenuItem.setVisible(false);
@@ -1238,10 +1251,18 @@ public class TagTreeContextMenu extends JPopupMenu {
}
private void removeItemActionPerformed(ActionEvent evt, boolean removeDependencies) {
- List sel = tagTree.getSelected();
+
+ TreePath[] tps = tagTree.getSelectionModel().getSelectionPaths();
+ if (tps == null) {
+ return;
+ }
List tagsToRemove = new ArrayList<>();
- for (TreeItem item : sel) {
+ List