diff --git a/pom.xml b/pom.xml
index 8420e97a1..155f38ed5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.tonikelope
MegaBasterd
- 7.20
+ 7.21
jar
diff --git a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java
index 2460edce6..a098482a2 100644
--- a/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java
+++ b/src/main/java/com/tonikelope/megabasterd/FolderLinkDialog.java
@@ -34,7 +34,7 @@ public class FolderLinkDialog extends javax.swing.JDialog {
private long _total_space;
- private boolean _mega_error;
+ private int _mega_error;
public List getDownload_links() {
return Collections.unmodifiableList(_download_links);
@@ -44,7 +44,7 @@ public class FolderLinkDialog extends javax.swing.JDialog {
return _download;
}
- public boolean isMega_error() {
+ public int isMega_error() {
return _mega_error;
}
@@ -64,7 +64,7 @@ public class FolderLinkDialog extends javax.swing.JDialog {
translateLabels(this);
- _mega_error = false;
+ _mega_error = 0;
_total_space = 0L;
_download = false;
_download_links = new ArrayList<>();
@@ -79,7 +79,7 @@ public class FolderLinkDialog extends javax.swing.JDialog {
THREAD_POOL.execute(() -> {
_loadMegaDirTree();
- if (!_mega_error) {
+ if (_mega_error == 0) {
_genDownloadLiks();
@@ -87,6 +87,12 @@ public class FolderLinkDialog extends javax.swing.JDialog {
pack();
+ } else if (_mega_error == -18) {
+
+ JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK TEMPORARILY UNAVAILABLE!"), "Error", JOptionPane.ERROR_MESSAGE);
+
+ setVisible(false);
+
} else {
JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("MEGA LINK ERROR!"), "Error", JOptionPane.ERROR_MESSAGE);
@@ -388,23 +394,37 @@ public class FolderLinkDialog extends javax.swing.JDialog {
} while (current_node != root);
}
- final JTree ftree = file_tree;
+ if (root == null) {
+ LOG.log(SEVERE, null, "MEGA FOLDER ERROR (EMPTY?)");
- final MegaMutableTreeNode roott = root;
+ _mega_error = 2;
- swingInvoke(() -> {
- ftree.setModel(new DefaultTreeModel(sortTree(roott)));
+ } else {
+ final JTree ftree = file_tree;
- ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false);
+ final MegaMutableTreeNode roott = root;
- ftree.setEnabled(true);
- });
+ swingInvoke(() -> {
+ ftree.setModel(new DefaultTreeModel(sortTree(roott)));
+
+ ftree.setRootVisible(roott != null ? roott.getChildCount() > 0 : false);
+
+ ftree.setEnabled(true);
+ });
+
+ }
+
+ } catch (MegaAPIException mex) {
+
+ LOG.log(SEVERE, null, mex);
+
+ _mega_error = mex.getCode();
} catch (Exception ex) {
LOG.log(SEVERE, null, ex);
- _mega_error = true;
+ _mega_error = 1;
}
swingInvoke(() -> {
diff --git a/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java b/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java
index 048ad176a..36f14dd08 100644
--- a/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java
+++ b/src/main/java/com/tonikelope/megabasterd/LabelTranslatorSingleton.java
@@ -265,6 +265,8 @@ public class LabelTranslatorSingleton {
_addTranslation("UPLOAD FAILED: too many errors", "LA SUBIDA FALLÓ: demasiados errores");
_addTranslation("UPLOAD FAILED: FATAL ERROR", "LA SUBIDA FALLÓ: ERROR FATAL");
_addTranslation("BAD NEWS :( File is DAMAGED!", "MALAS NOTICIAS :( El archivo está corrupto!");
+ _addTranslation("MEGA LINK TEMPORARILY UNAVAILABLE!", "¡ENLACE TEMPORALMENTE NO DISPONIBLE!");
+
_addTranslation("File temporarily unavailable! (Retrying in ", "¡Archivo temporalmente no disponible! (Reintentando en ");
_addTranslation(" secs...)", " segundos...)");
_addTranslation(" (Retrying in ", " (Reintentando en ");
diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java
index 7d030d149..eb801ec24 100644
--- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java
+++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java
@@ -57,7 +57,7 @@ import javax.swing.UIManager;
*/
public final class MainPanel {
- public static final String VERSION = "7.20";
+ public static final String VERSION = "7.21";
public static final boolean FORCE_SMART_PROXY = false; //TRUE FOR DEBUGING SMART PROXY
public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
index 8250b28b4..c77f9abc6 100644
--- a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
+++ b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
@@ -1001,7 +1001,7 @@ public final class MainPanelView extends javax.swing.JFrame {
FolderLinkDialog fdialog = new FolderLinkDialog(_main_panel.getView(), true, url);
- if (!fdialog.isMega_error()) {
+ if (fdialog.isMega_error() == 0) {
fdialog.setLocationRelativeTo(_main_panel.getView());
diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png
index 5391d44cc..ee5cdeed7 100644
Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ