diff --git a/pom.xml b/pom.xml
index cb1997beb..5c78159d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.tonikelope
MegaBasterd
- 8.4
+ 8.5
jar
diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java
index 5705af058..fb21352dd 100644
--- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java
+++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java
@@ -70,7 +70,7 @@ import javax.swing.UIManager;
*/
public final class MainPanel {
- public static final String VERSION = "8.4";
+ public static final String VERSION = "8.5";
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.form b/src/main/java/com/tonikelope/megabasterd/MainPanelView.form
index 0fbb2a3b4..3fa164ea8 100644
--- a/src/main/java/com/tonikelope/megabasterd/MainPanelView.form
+++ b/src/main/java/com/tonikelope/megabasterd/MainPanelView.form
@@ -381,7 +381,6 @@
-
@@ -390,12 +389,13 @@
+
-
+
@@ -403,8 +403,10 @@
-
-
+
+
+
+
@@ -531,6 +533,8 @@
+
+
@@ -549,30 +553,32 @@
-
+
-
+
-
+
-
-
+
+
+
+
@@ -665,6 +671,8 @@
+
+
diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
index 010dac104..1ae6722ee 100644
--- a/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
+++ b/src/main/java/com/tonikelope/megabasterd/MainPanelView.java
@@ -206,6 +206,12 @@ public final class MainPanelView extends javax.swing.JFrame {
if (dialog.isUpload() && dialog.getFiles().size() > 0) {
+ MiscTools.GUIRun(() -> {
+ upload_status_bar.setIndeterminate(true);
+
+ upload_status_bar.setVisible(true);
+ });
+
getMain_panel().resumeUploads();
getMain_panel().getUpload_manager().getTransference_preprocess_global_queue().addAll(dialog.getFiles());
@@ -371,6 +377,12 @@ public final class MainPanelView extends javax.swing.JFrame {
LOG.log(SEVERE, null, ex);
}
+ if (getMain_panel().getUpload_manager().getTransference_preprocess_queue().isEmpty()) {
+ MiscTools.GUIRun(() -> {
+
+ upload_status_bar.setVisible(false);
+ });
+ }
};
getMain_panel().getUpload_manager().getTransference_preprocess_queue().add(run);
@@ -447,7 +459,7 @@ public final class MainPanelView extends javax.swing.JFrame {
translateLabels(this);
- for (JComponent c : new JComponent[]{force_chunk_reset_button, unfreeze_transferences_button, global_speed_down_label, global_speed_up_label, down_remtime_label, up_remtime_label, close_all_finished_down_button, close_all_finished_up_button, pause_all_down_button, pause_all_up_button}) {
+ for (JComponent c : new JComponent[]{download_status_bar, upload_status_bar, force_chunk_reset_button, unfreeze_transferences_button, global_speed_down_label, global_speed_up_label, down_remtime_label, up_remtime_label, close_all_finished_down_button, close_all_finished_up_button, pause_all_down_button, pause_all_up_button}) {
c.setVisible(false);
}
@@ -553,6 +565,7 @@ public final class MainPanelView extends javax.swing.JFrame {
down_remtime_label = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
force_chunk_reset_button = new javax.swing.JButton();
+ download_status_bar = new javax.swing.JProgressBar();
uploads_panel = new javax.swing.JPanel();
global_speed_up_label = new javax.swing.JLabel();
status_up_label = new javax.swing.JLabel();
@@ -561,6 +574,7 @@ public final class MainPanelView extends javax.swing.JFrame {
jPanel_scroll_up = new javax.swing.JPanel();
pause_all_up_button = new javax.swing.JButton();
up_remtime_label = new javax.swing.JLabel();
+ upload_status_bar = new javax.swing.JProgressBar();
unfreeze_transferences_button = new javax.swing.JButton();
main_menubar = new javax.swing.JMenuBar();
file_menu = new javax.swing.JMenu();
@@ -673,7 +687,6 @@ public final class MainPanelView extends javax.swing.JFrame {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pause_all_down_button))
.addGroup(downloads_panelLayout.createSequentialGroup()
- .addContainerGap()
.addComponent(status_down_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(close_all_finished_down_button)
@@ -681,6 +694,7 @@ public final class MainPanelView extends javax.swing.JFrame {
.addComponent(jButton1))
.addComponent(jScrollPane_down)
.addComponent(down_remtime_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(download_status_bar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
downloads_panelLayout.setVerticalGroup(
downloads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -692,7 +706,9 @@ public final class MainPanelView extends javax.swing.JFrame {
.addComponent(jButton1))
.addComponent(status_down_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane_down, javax.swing.GroupLayout.DEFAULT_SIZE, 288, Short.MAX_VALUE)
+ .addComponent(download_status_bar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jScrollPane_down, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(down_remtime_label)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -744,16 +760,16 @@ public final class MainPanelView extends javax.swing.JFrame {
uploads_panelLayout.setHorizontalGroup(
uploads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(uploads_panelLayout.createSequentialGroup()
- .addComponent(global_speed_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(global_speed_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, 839, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pause_all_up_button))
.addGroup(uploads_panelLayout.createSequentialGroup()
- .addContainerGap()
.addComponent(status_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(close_all_finished_up_button))
.addComponent(jScrollPane_up)
.addComponent(up_remtime_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(upload_status_bar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
uploads_panelLayout.setVerticalGroup(
uploads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -763,7 +779,9 @@ public final class MainPanelView extends javax.swing.JFrame {
.addComponent(close_all_finished_up_button, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(status_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane_up, javax.swing.GroupLayout.DEFAULT_SIZE, 288, Short.MAX_VALUE)
+ .addComponent(upload_status_bar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jScrollPane_up, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(up_remtime_label)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -1063,9 +1081,18 @@ public final class MainPanelView extends javax.swing.JFrame {
});
if (!urls.isEmpty()) {
+ MiscTools.GUIRun(() -> {
+ download_status_bar.setIndeterminate(true);
+
+ download_status_bar.setVisible(true);
+ });
Set folder_file_links = new HashSet(findAllRegex("(?:https?|mega)://[^\r\n]+#F\\*[^\r\n!]*?![^\r\n!]+![^\\?\r\n/]+", link_data, 0));
+ getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().addAll(folder_file_links);
+
+ getMain_panel().getDownload_manager().secureNotify();
+
if (!folder_file_links.isEmpty()) {
ArrayList nlinks = ma.GENERATE_N_LINKS(folder_file_links);
@@ -1074,6 +1101,8 @@ public final class MainPanelView extends javax.swing.JFrame {
urls.addAll(nlinks);
}
+ getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().removeAll(folder_file_links);
+
getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().addAll(urls);
getMain_panel().getDownload_manager().secureNotify();
@@ -1197,6 +1226,12 @@ public final class MainPanelView extends javax.swing.JFrame {
}
}
+
+ if (getMain_panel().getDownload_manager().getTransference_preprocess_global_queue().isEmpty()) {
+ MiscTools.GUIRun(() -> {
+ download_status_bar.setVisible(false);
+ });
+ }
} else {
MiscTools.GUIRun(() -> {
new_download_menu.setEnabled(true);
@@ -1556,6 +1591,7 @@ public final class MainPanelView extends javax.swing.JFrame {
private javax.swing.JButton close_all_finished_down_button;
private javax.swing.JButton close_all_finished_up_button;
private javax.swing.JLabel down_remtime_label;
+ private javax.swing.JProgressBar download_status_bar;
private javax.swing.JPanel downloads_panel;
private javax.swing.JMenu edit_menu;
private javax.swing.JMenuItem exit_menu;
@@ -1591,6 +1627,7 @@ public final class MainPanelView extends javax.swing.JFrame {
private javax.swing.JLabel status_up_label;
private javax.swing.JButton unfreeze_transferences_button;
private javax.swing.JLabel up_remtime_label;
+ private javax.swing.JProgressBar upload_status_bar;
private javax.swing.JPanel uploads_panel;
// End of variables declaration//GEN-END:variables
private static final Logger LOG = Logger.getLogger(MainPanelView.class.getName());
diff --git a/src/main/java/com/tonikelope/megabasterd/MegaAPI.java b/src/main/java/com/tonikelope/megabasterd/MegaAPI.java
index f8ca5580a..a960d87e7 100644
--- a/src/main/java/com/tonikelope/megabasterd/MegaAPI.java
+++ b/src/main/java/com/tonikelope/megabasterd/MegaAPI.java
@@ -1200,7 +1200,7 @@ public class MegaAPI implements Serializable {
ArrayList nlinks = new ArrayList<>();
- String request = "[{\"a\":\"f\", \"c\":\"1\", \"r\":\"1\"}]";
+ String request = "[{\"a\":\"f\", \"c\":\"1\", \"r\":\"1\", \"ca\":\"1\"}]";
URL url_api = new URL(API_URL + "/cs?id=" + String.valueOf(_seqno) + "&n=" + folder_id);
diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png
index 54e504620..5c0c9cb3b 100644
Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ