Program: 21106
Project: 21106
Buggy source:
@SuppressWarnings("String_Node_Str") public void actionPerformed(final ActionEvent arg0){
  new Thread(){
    public void run(){
      this.setName("String_Node_Str");
      if (arg0.getSource() == INSTANCE.Update_Async) {
        if (visible)         fireTableChanged();
        return;
      }
      if (arg0.getSource() == INSTANCE.gathertimer) {
        gathertimer.stop();
        if (waitingList.size() > 0) {
          startLinkGatherer();
        }
        return;
      }
      ArrayList<LinkGrabberFilePackage> selected_packages=new ArrayList<LinkGrabberFilePackage>();
      ArrayList<DownloadLink> selected_links=new ArrayList<DownloadLink>();
      int prio=0;
      String pw="String_Node_Str";
      HashMap<String,Object> prop=new HashMap<String,Object>();
      LinkGrabberFilePackage fp;
      String ext=null;
      Set<String> hoster=null;
      String name=null;
      int col=0;
      boolean b=false;
synchronized (LinkGrabberController.ControllerLock) {
synchronized (LGINSTANCE.getPackages()) {
          ArrayList<LinkGrabberFilePackage> fps=LGINSTANCE.getPackages();
          if (arg0.getSource() instanceof LinkGrabberTaskPane) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.ADD_ALL:
              LGINSTANCE.getFILTERPACKAGE().clear();
            selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
          break;
case LinkGrabberTreeTableAction.CLEAR:
        stopLinkGatherer();
      lc.abortLinkCheck();
    LGINSTANCE.getFILTERPACKAGE().clear();
  selected_packages=new ArrayList<LinkGrabberFilePackage>(LGINSTANCE.getPackages());
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.GUI_LOAD:
new GuiRunnable<Object>(){
public Object runSave(){
JDFileChooser fc=new JDFileChooser("String_Node_Str");
fc.setDialogTitle(JDLocale.L("String_Node_Str","String_Node_Str"));
fc.setFileFilter(new JDFileFilter(null,"String_Node_Str",true));
if (fc.showOpenDialog(null) == JDFileChooser.APPROVE_OPTION) {
File ret2=fc.getSelectedFile();
if (ret2 != null) {
JDUtilities.getController().loadContainerFile(ret2);
}
}
return null;
}
}
.start();
return;
}
}
 else if (arg0.getSource() instanceof JMenuItem) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.SELECT_HOSTER:
hoster=(Set<String>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_ALL:
LGINSTANCE.getFILTERPACKAGE().clear();
case LinkGrabberTreeTableAction.DELETE_OFFLINE:
selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
case LinkGrabberTreeTableAction.EDIT_DIR:
case LinkGrabberTreeTableAction.SPLIT_HOSTER:
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.SORT:
col=(Integer)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.DOWNLOAD_PRIO:
case LinkGrabberTreeTableAction.DE_ACTIVATE:
prop=(HashMap<String,Object>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_links=(ArrayList<DownloadLink>)prop.get("String_Node_Str");
break;
case LinkGrabberTreeTableAction.DELETE:
case LinkGrabberTreeTableAction.SET_PW:
case LinkGrabberTreeTableAction.NEW_PACKAGE:
case LinkGrabberTreeTableAction.MERGE_PACKAGE:
case LinkGrabberTreeTableAction.ADD_SELECTED_LINKS:
selected_links=(ArrayList<DownloadLink>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
break;
case LinkGrabberTreeTableAction.EXT_FILTER:
ext=(String)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
b=((JCheckBoxMenuItem)arg0.getSource()).isSelected();
break;
}
}
 else if (arg0.getSource() instanceof LinkGrabberTreeTableAction) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.DELETE:
selected_links=(ArrayList<DownloadLink>)((LinkGrabberTreeTableAction)arg0.getSource()).getProperty().getProperty("String_Node_Str");
break;
case LinkGrabberTreeTableAction.SORT_ALL:
col=(Integer)((LinkGrabberTreeTableAction)arg0.getSource()).getProperty().getProperty("String_Node_Str");
break;
}
}
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.ADD_SELECTED_LINKS:
{
ArrayList<LinkGrabberFilePackage> selected_packages2=new ArrayList<LinkGrabberFilePackage>();
while (selected_links.size() > 0) {
ArrayList<DownloadLink> links2=new ArrayList<DownloadLink>(selected_links);
LinkGrabberFilePackage fp3=LGINSTANCE.getFPwithLink(selected_links.get(0));
if (fp3 == null) {
logger.warning("String_Node_Str");
selected_links.remove(selected_links.get(0));
continue;
}
LinkGrabberFilePackage fp4=new LinkGrabberFilePackage(fp3.getName());
fp4.setDownloadDirectory(fp3.getDownloadDirectory());
fp4.setPassword(fp3.getPassword());
fp4.setExtractAfterDownload(fp3.isExtractAfterDownload());
fp4.setUseSubDir(fp3.useSubDir());
fp4.setComment(fp3.getComment());
for (DownloadLink dl : links2) {
if (LGINSTANCE.getFPwithLink(dl) != null && LGINSTANCE.getFPwithLink(dl) == fp3) {
fp4.add(dl);
selected_links.remove(dl);
}
}
selected_packages2.add(fp4);
}
confirmPackages(selected_packages2);
}
break;
case LinkGrabberTreeTableAction.SPLIT_HOSTER:
{
for (LinkGrabberFilePackage fp2 : selected_packages) {
synchronized (fp2) {
ArrayList<DownloadLink> links2=new ArrayList<DownloadLink>(fp2.getDownloadLinks());
Set<String> hosts=INSTANCE.getHosterList(links2);
for (String host : hosts) {
LinkGrabberFilePackage fp3=new LinkGrabberFilePackage(fp2.getName());
fp3.setDownloadDirectory(fp2.getDownloadDirectory());
fp3.setPassword(fp2.getPassword());
fp3.setExtractAfterDownload(fp2.isExtractAfterDownload());
fp3.setUseSubDir(fp2.useSubDir());
fp3.setComment(fp2.getComment());
for (DownloadLink dl : links2) {
if (dl.getPlugin().getHost().equalsIgnoreCase(host)) {
fp3.add(dl);
}
}
LGINSTANCE.addPackage(fp3);
}
}
}
}
break;
case LinkGrabberTreeTableAction.DELETE_OFFLINE:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.removeOffline();
}
break;
case LinkGrabberTreeTableAction.SORT:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.sort(col,false);
}
break;
case LinkGrabberTreeTableAction.SORT_ALL:
if (LGINSTANCE.size() == 1) {
LGINSTANCE.getPackages().get(0).sort(col,false);
}
 else LGINSTANCE.sort(col);
break;
case LinkGrabberTreeTableAction.SELECT_HOSTER:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.keepHostersOnly(hoster);
}
break;
case LinkGrabberTreeTableAction.EDIT_DIR:
final ArrayList<LinkGrabberFilePackage> selected_packages2=new ArrayList<LinkGrabberFilePackage>(selected_packages);
new GuiRunnable<Object>(){
public Object runSave(){
JDFileChooser fc=new JDFileChooser();
fc.setApproveButtonText(JDLocale.L("String_Node_Str","String_Node_Str"));
fc.setFileSelectionMode(JDFileChooser.DIRECTORIES_ONLY);
fc.setCurrentDirectory(new File(selected_packages2.get(0).getDownloadDirectory()));
if (fc.showOpenDialog(INSTANCE) == JDFileChooser.APPROVE_OPTION) {
if (fc.getSelectedFile() != null) {
for (LinkGrabberFilePackage fp2 : selected_packages2) {
fp2.setDownloadDirectory(fc.getSelectedFile().getAbsolutePath());
}
}
}
return null;
}
}
.start();
break;
case LinkGrabberTreeTableAction.MERGE_PACKAGE:
fp=LGINSTANCE.getFPwithLink(selected_links.get(0));
name=fp.getName();
case LinkGrabberTreeTableAction.NEW_PACKAGE:
fp=LGINSTANCE.getFPwithLink(selected_links.get(0));
LinkGrabberFilePackage nfp;
if (name == null) name=SimpleGUI.CURRENTGUI.showUserInputDialog(JDLocale.L("String_Node_Str","String_Node_Str"),fp.getName());
if (name != null) {
nfp=new LinkGrabberFilePackage(name,LGINSTANCE);
nfp.setDownloadDirectory(fp.getDownloadDirectory());
nfp.setExtractAfterDownload(fp.isExtractAfterDownload());
nfp.setUseSubDir(fp.useSubDir());
nfp.setComment(fp.getComment());
ArrayList<String> passwords=null;
for (DownloadLink link : selected_links) {
fp=LGINSTANCE.getFPwithLink(link);
if (fp != null) passwords=JDUtilities.mergePasswords(passwords,fp.getPassword());
}
nfp.addAll(selected_links);
if (passwords != null) nfp.setPassword(JDUtilities.passwordArrayToString(passwords.toArray(new String[passwords.size()])));
if (SimpleGuiConstants.GUI_CONFIG.getBooleanProperty(SimpleGuiConstants.PARAM_INSERT_NEW_LINKS_AT,false)) {
LGINSTANCE.addPackageAt(nfp,0);
}
 else {
LGINSTANCE.addPackage(nfp);
}
}
return;
case LinkGrabberTreeTableAction.SET_PW:
pw=SimpleGUI.CURRENTGUI.showUserInputDialog(JDLocale.L("String_Node_Str","String_Node_Str"),null);
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setProperty("String_Node_Str",pw);
}
return;
case LinkGrabberTreeTableAction.DE_ACTIVATE:
b=(Boolean)prop.get("String_Node_Str");
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setEnabled(b);
}
Update_Async.restart();
return;
case LinkGrabberTreeTableAction.ADD_ALL:
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
confirmPackages(selected_packages);
return;
case LinkGrabberTreeTableAction.DELETE:
for (DownloadLink link : selected_links) {
link.setProperty("String_Node_Str",true);
fp=LGINSTANCE.getFPwithLink(link);
if (fp == null) continue;
fp.remove(link);
}
return;
case LinkGrabberTreeTableAction.CLEAR:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.setDownloadLinks(new ArrayList<DownloadLink>());
}
return;
case LinkGrabberTreeTableAction.DOWNLOAD_PRIO:
prio=(Integer)prop.get("String_Node_Str");
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setPriority(prio);
}
return;
case LinkGrabberTreeTableAction.EXT_FILTER:
LGINSTANCE.FilterExtension(ext,b);
return;
}
}
}
}
}
.start();
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public void actionPerformed(final ActionEvent arg0){
  new Thread(){
    public void run(){
      this.setName("String_Node_Str");
      if (arg0.getSource() == INSTANCE.Update_Async) {
        if (visible)         fireTableChanged();
        return;
      }
      if (arg0.getSource() == INSTANCE.gathertimer) {
        gathertimer.stop();
        if (waitingList.size() > 0) {
          startLinkGatherer();
        }
        return;
      }
      ArrayList<LinkGrabberFilePackage> selected_packages=new ArrayList<LinkGrabberFilePackage>();
      ArrayList<DownloadLink> selected_links=new ArrayList<DownloadLink>();
      int prio=0;
      String pw="String_Node_Str";
      HashMap<String,Object> prop=new HashMap<String,Object>();
      LinkGrabberFilePackage fp;
      String ext=null;
      Set<String> hoster=null;
      String name=null;
      int col=0;
      boolean b=false;
synchronized (LinkGrabberController.ControllerLock) {
synchronized (LGINSTANCE.getPackages()) {
          ArrayList<LinkGrabberFilePackage> fps=LGINSTANCE.getPackages();
          if (arg0.getSource() instanceof LinkGrabberTaskPane) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.ADD_ALL:
              LGINSTANCE.getFILTERPACKAGE().clear();
            selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
          break;
case LinkGrabberTreeTableAction.CLEAR:
        stopLinkGatherer();
      lc.abortLinkCheck();
    LGINSTANCE.getFILTERPACKAGE().clear();
  selected_packages=new ArrayList<LinkGrabberFilePackage>(LGINSTANCE.getPackages());
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.GUI_LOAD:
new GuiRunnable<Object>(){
public Object runSave(){
JDFileChooser fc=new JDFileChooser("String_Node_Str");
fc.setDialogTitle(JDLocale.L("String_Node_Str","String_Node_Str"));
fc.setFileFilter(new JDFileFilter(null,"String_Node_Str",true));
if (fc.showOpenDialog(null) == JDFileChooser.APPROVE_OPTION) {
File ret2=fc.getSelectedFile();
if (ret2 != null) {
JDUtilities.getController().loadContainerFile(ret2);
}
}
return null;
}
}
.start();
return;
}
}
 else if (arg0.getSource() instanceof JMenuItem) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.SELECT_HOSTER:
hoster=(Set<String>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_ALL:
LGINSTANCE.getFILTERPACKAGE().clear();
case LinkGrabberTreeTableAction.DELETE_OFFLINE:
selected_packages=new ArrayList<LinkGrabberFilePackage>(fps);
selected_packages.add(LGINSTANCE.getFILTERPACKAGE());
break;
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
case LinkGrabberTreeTableAction.EDIT_DIR:
case LinkGrabberTreeTableAction.SPLIT_HOSTER:
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.SORT:
col=(Integer)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_packages=new ArrayList<LinkGrabberFilePackage>(INSTANCE.internalTreeTable.getSelectedFilePackages());
break;
case LinkGrabberTreeTableAction.DOWNLOAD_PRIO:
case LinkGrabberTreeTableAction.DE_ACTIVATE:
prop=(HashMap<String,Object>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
selected_links=(ArrayList<DownloadLink>)prop.get("String_Node_Str");
break;
case LinkGrabberTreeTableAction.DELETE:
case LinkGrabberTreeTableAction.SET_PW:
case LinkGrabberTreeTableAction.NEW_PACKAGE:
case LinkGrabberTreeTableAction.MERGE_PACKAGE:
case LinkGrabberTreeTableAction.SAVE_DLC:
case LinkGrabberTreeTableAction.ADD_SELECTED_LINKS:
selected_links=(ArrayList<DownloadLink>)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
break;
case LinkGrabberTreeTableAction.EXT_FILTER:
ext=(String)((LinkGrabberTreeTableAction)((JMenuItem)arg0.getSource()).getAction()).getProperty().getProperty("String_Node_Str");
b=((JCheckBoxMenuItem)arg0.getSource()).isSelected();
break;
}
}
 else if (arg0.getSource() instanceof LinkGrabberTreeTableAction) {
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.DELETE:
selected_links=(ArrayList<DownloadLink>)((LinkGrabberTreeTableAction)arg0.getSource()).getProperty().getProperty("String_Node_Str");
break;
case LinkGrabberTreeTableAction.SORT_ALL:
col=(Integer)((LinkGrabberTreeTableAction)arg0.getSource()).getProperty().getProperty("String_Node_Str");
break;
}
}
switch (arg0.getID()) {
case LinkGrabberTreeTableAction.ADD_SELECTED_LINKS:
{
ArrayList<LinkGrabberFilePackage> selected_packages2=new ArrayList<LinkGrabberFilePackage>();
while (selected_links.size() > 0) {
ArrayList<DownloadLink> links2=new ArrayList<DownloadLink>(selected_links);
LinkGrabberFilePackage fp3=LGINSTANCE.getFPwithLink(selected_links.get(0));
if (fp3 == null) {
logger.warning("String_Node_Str");
selected_links.remove(selected_links.get(0));
continue;
}
LinkGrabberFilePackage fp4=new LinkGrabberFilePackage(fp3.getName());
fp4.setDownloadDirectory(fp3.getDownloadDirectory());
fp4.setPassword(fp3.getPassword());
fp4.setExtractAfterDownload(fp3.isExtractAfterDownload());
fp4.setUseSubDir(fp3.useSubDir());
fp4.setComment(fp3.getComment());
for (DownloadLink dl : links2) {
if (LGINSTANCE.getFPwithLink(dl) != null && LGINSTANCE.getFPwithLink(dl) == fp3) {
fp4.add(dl);
selected_links.remove(dl);
}
}
selected_packages2.add(fp4);
}
confirmPackages(selected_packages2);
}
break;
case LinkGrabberTreeTableAction.SPLIT_HOSTER:
{
for (LinkGrabberFilePackage fp2 : selected_packages) {
synchronized (fp2) {
ArrayList<DownloadLink> links2=new ArrayList<DownloadLink>(fp2.getDownloadLinks());
Set<String> hosts=INSTANCE.getHosterList(links2);
for (String host : hosts) {
LinkGrabberFilePackage fp3=new LinkGrabberFilePackage(fp2.getName());
fp3.setDownloadDirectory(fp2.getDownloadDirectory());
fp3.setPassword(fp2.getPassword());
fp3.setExtractAfterDownload(fp2.isExtractAfterDownload());
fp3.setUseSubDir(fp2.useSubDir());
fp3.setComment(fp2.getComment());
for (DownloadLink dl : links2) {
if (dl.getPlugin().getHost().equalsIgnoreCase(host)) {
fp3.add(dl);
}
}
LGINSTANCE.addPackage(fp3);
}
}
}
}
break;
case LinkGrabberTreeTableAction.DELETE_OFFLINE:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.removeOffline();
}
break;
case LinkGrabberTreeTableAction.SORT:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.sort(col,false);
}
break;
case LinkGrabberTreeTableAction.SORT_ALL:
if (LGINSTANCE.size() == 1) {
LGINSTANCE.getPackages().get(0).sort(col,false);
}
 else LGINSTANCE.sort(col);
break;
case LinkGrabberTreeTableAction.SELECT_HOSTER:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.keepHostersOnly(hoster);
}
break;
case LinkGrabberTreeTableAction.EDIT_DIR:
final ArrayList<LinkGrabberFilePackage> selected_packages2=new ArrayList<LinkGrabberFilePackage>(selected_packages);
new GuiRunnable<Object>(){
public Object runSave(){
JDFileChooser fc=new JDFileChooser();
fc.setApproveButtonText(JDLocale.L("String_Node_Str","String_Node_Str"));
fc.setFileSelectionMode(JDFileChooser.DIRECTORIES_ONLY);
fc.setCurrentDirectory(new File(selected_packages2.get(0).getDownloadDirectory()));
if (fc.showOpenDialog(INSTANCE) == JDFileChooser.APPROVE_OPTION) {
if (fc.getSelectedFile() != null) {
for (LinkGrabberFilePackage fp2 : selected_packages2) {
fp2.setDownloadDirectory(fc.getSelectedFile().getAbsolutePath());
}
}
}
return null;
}
}
.start();
break;
case LinkGrabberTreeTableAction.MERGE_PACKAGE:
fp=LGINSTANCE.getFPwithLink(selected_links.get(0));
name=fp.getName();
case LinkGrabberTreeTableAction.NEW_PACKAGE:
fp=LGINSTANCE.getFPwithLink(selected_links.get(0));
LinkGrabberFilePackage nfp;
if (name == null) name=SimpleGUI.CURRENTGUI.showUserInputDialog(JDLocale.L("String_Node_Str","String_Node_Str"),fp.getName());
if (name != null) {
nfp=new LinkGrabberFilePackage(name,LGINSTANCE);
nfp.setDownloadDirectory(fp.getDownloadDirectory());
nfp.setExtractAfterDownload(fp.isExtractAfterDownload());
nfp.setUseSubDir(fp.useSubDir());
nfp.setComment(fp.getComment());
ArrayList<String> passwords=null;
for (DownloadLink link : selected_links) {
fp=LGINSTANCE.getFPwithLink(link);
if (fp != null) passwords=JDUtilities.mergePasswords(passwords,fp.getPassword());
}
nfp.addAll(selected_links);
if (passwords != null) nfp.setPassword(JDUtilities.passwordArrayToString(passwords.toArray(new String[passwords.size()])));
if (SimpleGuiConstants.GUI_CONFIG.getBooleanProperty(SimpleGuiConstants.PARAM_INSERT_NEW_LINKS_AT,false)) {
LGINSTANCE.addPackageAt(nfp,0);
}
 else {
LGINSTANCE.addPackage(nfp);
}
}
return;
case LinkGrabberTreeTableAction.SAVE_DLC:
{
GuiRunnable<File> temp=new GuiRunnable<File>(){
public File runSave(){
JDFileChooser fc=new JDFileChooser("String_Node_Str");
fc.setFileFilter(new JDFileFilter(null,"String_Node_Str",true));
if (fc.showSaveDialog(SimpleGUI.CURRENTGUI) == JDFileChooser.APPROVE_OPTION) return fc.getSelectedFile();
return null;
}
}
;
File ret=temp.getReturnValue();
if (ret == null) return;
if (JDIO.getFileExtension(ret) == null || !JDIO.getFileExtension(ret).equalsIgnoreCase("String_Node_Str")) {
ret=new File(ret.getAbsolutePath() + "String_Node_Str");
}
JDUtilities.getController().saveDLC(ret,selected_links);
return;
}
case LinkGrabberTreeTableAction.SET_PW:
pw=SimpleGUI.CURRENTGUI.showUserInputDialog(JDLocale.L("String_Node_Str","String_Node_Str"),null);
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setProperty("String_Node_Str",pw);
}
return;
case LinkGrabberTreeTableAction.DE_ACTIVATE:
b=(Boolean)prop.get("String_Node_Str");
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setEnabled(b);
}
Update_Async.restart();
return;
case LinkGrabberTreeTableAction.ADD_ALL:
case LinkGrabberTreeTableAction.ADD_SELECTED_PACKAGES:
confirmPackages(selected_packages);
return;
case LinkGrabberTreeTableAction.DELETE:
for (DownloadLink link : selected_links) {
link.setProperty("String_Node_Str",true);
fp=LGINSTANCE.getFPwithLink(link);
if (fp == null) continue;
fp.remove(link);
}
return;
case LinkGrabberTreeTableAction.CLEAR:
for (LinkGrabberFilePackage fp2 : selected_packages) {
fp2.setDownloadLinks(new ArrayList<DownloadLink>());
}
return;
case LinkGrabberTreeTableAction.DOWNLOAD_PRIO:
prio=(Integer)prop.get("String_Node_Str");
for (int i=0; i < selected_links.size(); i++) {
selected_links.get(i).setPriority(prio);
}
return;
case LinkGrabberTreeTableAction.EXT_FILTER:
LGINSTANCE.FilterExtension(ext,b);
return;
}
}
}
}
}
.start();
}