mirror of
https://github.com/tonikelope/megabasterd.git
synced 2025-04-29 22:24:32 +02:00
7.57
https://github.com/tonikelope/megabasterd/issues/470 https://github.com/tonikelope/megabasterd/issues/493 https://github.com/tonikelope/megabasterd/issues/439
This commit is contained in:
parent
fdeda33e5b
commit
09751859cf
2
pom.xml
2
pom.xml
@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.tonikelope</groupId>
|
||||
<artifactId>MegaBasterd</artifactId>
|
||||
<version>7.56</version>
|
||||
<version>7.57</version>
|
||||
<packaging>jar</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
@ -49,7 +49,15 @@ public class ClipboardSpy implements Runnable, ClipboardOwner, SecureSingleThrea
|
||||
|
||||
_enabled = enabled;
|
||||
|
||||
if (_enabled) {
|
||||
boolean monitor_clipboard = true;
|
||||
|
||||
String monitor_clipboard_string = DBTools.selectSettingValue("clipboardspy");
|
||||
|
||||
if (monitor_clipboard_string != null) {
|
||||
monitor_clipboard = monitor_clipboard_string.equals("yes");
|
||||
}
|
||||
|
||||
if (_enabled && monitor_clipboard) {
|
||||
|
||||
_contents = getClipboardContents();
|
||||
|
||||
|
@ -50,6 +50,7 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif
|
||||
public static final boolean USE_SLOTS_DEFAULT = true;
|
||||
public static final int WORKERS_DEFAULT = 6;
|
||||
public static final boolean USE_MEGA_ACCOUNT_DOWN = false;
|
||||
public static final boolean DEFAULT_CLIPBOARD_LINK_MONITOR = true;
|
||||
public static final int CHUNK_SIZE_MULTI = 20;
|
||||
private static final Logger LOG = Logger.getLogger(Download.class.getName());
|
||||
|
||||
|
@ -58,7 +58,7 @@ import javax.swing.UIManager;
|
||||
*/
|
||||
public final class MainPanel {
|
||||
|
||||
public static final String VERSION = "7.56";
|
||||
public static final String VERSION = "7.57";
|
||||
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;
|
||||
|
@ -33,7 +33,7 @@
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="panel_tabs" pref="0" max="32767" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="status" pref="103" max="32767" attributes="0"/>
|
||||
<Component id="status" pref="809" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="save_button" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
@ -48,7 +48,7 @@
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||
<Component id="panel_tabs" pref="363" max="32767" attributes="0"/>
|
||||
<Component id="panel_tabs" pref="600" max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
@ -134,6 +134,7 @@
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jScrollPane1" alignment="1" max="32767" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="smart_proxy_checkbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
@ -143,7 +144,6 @@
|
||||
<Component id="max_downloads_spinner" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="multi_slot_down_checkbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="limit_download_speed_checkbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="21" pref="21" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
@ -153,11 +153,6 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="default_slots_down_spinner" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="max_down_speed_label" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="max_down_speed_spinner" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="use_mega_label" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -194,10 +189,17 @@
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Component id="limit_download_speed_checkbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="21" pref="21" max="-2" attributes="0"/>
|
||||
<Component id="max_down_speed_label" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="max_down_speed_spinner" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="clipboardspy_checkbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="0" pref="132" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jScrollPane1" alignment="1" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
@ -226,14 +228,16 @@
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="rec_download_slots_label" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="clipboardspy_checkbox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||
<Component id="limit_download_speed_checkbox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="max_down_speed_spinner" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="max_down_speed_label" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="verify_file_down_checkbox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="use_mega_account_down_checkbox" min="-2" max="-2" attributes="0"/>
|
||||
@ -519,6 +523,14 @@
|
||||
<Property name="text" type="java.lang.String" value="WARNING: Using proxies or VPN to bypass MEGA's daily download limitation may violate its Terms of Use. USE THIS OPTION AT YOUR OWN RISK."/>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JCheckBox" name="clipboardspy_checkbox">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="Dialog" size="18" style="1"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="Monitor clipboard looking for new links"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
@ -719,6 +731,8 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="remove_mega_account_button" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="import_mega_button" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="add_mega_account_button" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="elc_accounts_scrollpane" max="32767" attributes="0"/>
|
||||
@ -734,7 +748,7 @@
|
||||
</Group>
|
||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jLabel1" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="jLabel1" alignment="0" pref="1072" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
@ -754,16 +768,17 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="mega_accounts_scrollpane" pref="26" max="32767" attributes="0"/>
|
||||
<Component id="mega_accounts_scrollpane" pref="154" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="remove_mega_account_button" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="add_mega_account_button" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="import_mega_button" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="elc_accounts_label" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="elc_accounts_scrollpane" pref="26" max="32767" attributes="0"/>
|
||||
<Component id="elc_accounts_scrollpane" pref="154" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="remove_elc_account_button" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
@ -972,6 +987,20 @@
|
||||
<Property name="doubleBuffered" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="import_mega_button">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="Dialog" size="18" style="1"/>
|
||||
</Property>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/images/icons8-import-30.png"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="IMPORT ACCOUNTS (FILE)"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="import_mega_buttonActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="advanced_scrollpane">
|
||||
|
@ -16,6 +16,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.security.InvalidAlgorithmParameterException;
|
||||
import java.security.InvalidKeyException;
|
||||
@ -25,10 +26,13 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import javax.crypto.BadPaddingException;
|
||||
import javax.crypto.IllegalBlockSizeException;
|
||||
import javax.crypto.NoSuchPaddingException;
|
||||
@ -42,6 +46,7 @@ import javax.swing.RowSorter;
|
||||
import javax.swing.SortOrder;
|
||||
import javax.swing.SpinnerNumberModel;
|
||||
import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE;
|
||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
|
||||
/**
|
||||
@ -172,6 +177,16 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
custom_chunks_dir_current_label.setEnabled(false);
|
||||
}
|
||||
|
||||
boolean monitor_clipboard = Download.DEFAULT_CLIPBOARD_LINK_MONITOR;
|
||||
|
||||
String monitor_clipboard_string = DBTools.selectSettingValue("clipboardspy");
|
||||
|
||||
if (monitor_clipboard_string != null) {
|
||||
monitor_clipboard = monitor_clipboard_string.equals("yes");
|
||||
}
|
||||
|
||||
clipboardspy_checkbox.setSelected(monitor_clipboard);
|
||||
|
||||
String default_download_dir = DBTools.selectSettingValue("default_down_dir");
|
||||
|
||||
default_download_dir = Paths.get(default_download_dir == null ? MainPanel.MEGABASTERD_HOME_DIR : default_download_dir).toAbsolutePath().normalize().toString();
|
||||
@ -668,6 +683,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
custom_proxy_textarea = new javax.swing.JTextArea();
|
||||
custom_proxy_list_label = new javax.swing.JLabel();
|
||||
rec_smart_proxy_label1 = new javax.swing.JLabel();
|
||||
clipboardspy_checkbox = new javax.swing.JCheckBox();
|
||||
uploads_scrollpane = new javax.swing.JScrollPane();
|
||||
uploads_panel = new javax.swing.JPanel();
|
||||
default_slots_up_label = new javax.swing.JLabel();
|
||||
@ -693,6 +709,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
remove_elc_account_button = new javax.swing.JButton();
|
||||
add_elc_account_button = new javax.swing.JButton();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
import_mega_button = new javax.swing.JButton();
|
||||
advanced_scrollpane = new javax.swing.JScrollPane();
|
||||
advanced_panel = new javax.swing.JPanel();
|
||||
proxy_panel = new javax.swing.JPanel();
|
||||
@ -882,6 +899,9 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
rec_smart_proxy_label1.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
|
||||
rec_smart_proxy_label1.setText("WARNING: Using proxies or VPN to bypass MEGA's daily download limitation may violate its Terms of Use. USE THIS OPTION AT YOUR OWN RISK.");
|
||||
|
||||
clipboardspy_checkbox.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
|
||||
clipboardspy_checkbox.setText("Monitor clipboard looking for new links");
|
||||
|
||||
javax.swing.GroupLayout downloads_panelLayout = new javax.swing.GroupLayout(downloads_panel);
|
||||
downloads_panel.setLayout(downloads_panelLayout);
|
||||
downloads_panelLayout.setHorizontalGroup(
|
||||
@ -889,6 +909,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(downloads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addGroup(downloads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(smart_proxy_checkbox)
|
||||
@ -897,7 +918,6 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(max_downloads_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(multi_slot_down_checkbox)
|
||||
.addComponent(limit_download_speed_checkbox)
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addGap(21, 21, 21)
|
||||
.addGroup(downloads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
@ -906,10 +926,6 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addComponent(default_slots_down_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(default_slots_down_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addComponent(max_down_speed_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(max_down_speed_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addComponent(use_mega_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
@ -936,9 +952,15 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addComponent(megacrypter_reverse_port_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(megacrypter_reverse_port_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
|
||||
.addGap(0, 132, Short.MAX_VALUE))
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING))
|
||||
.addComponent(megacrypter_reverse_port_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
||||
.addComponent(limit_download_speed_checkbox)
|
||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||
.addGap(21, 21, 21)
|
||||
.addComponent(max_down_speed_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(max_down_speed_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(clipboardspy_checkbox))
|
||||
.addGap(0, 132, Short.MAX_VALUE)))
|
||||
.addContainerGap())
|
||||
);
|
||||
downloads_panelLayout.setVerticalGroup(
|
||||
@ -961,13 +983,15 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addComponent(default_slots_down_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(rec_download_slots_label)
|
||||
.addGap(18, 18, 18)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(clipboardspy_checkbox)
|
||||
.addGap(10, 10, 10)
|
||||
.addComponent(limit_download_speed_checkbox)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(downloads_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(max_down_speed_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(max_down_speed_label))
|
||||
.addGap(18, 18, 18)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(verify_file_down_checkbox)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(use_mega_account_down_checkbox)
|
||||
@ -1215,6 +1239,15 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
jLabel1.setText("Note: you can use a (optional) alias for your email addresses -> bob@supermail.com#bob_mail (don't forget to save after entering your accounts).");
|
||||
jLabel1.setDoubleBuffered(true);
|
||||
|
||||
import_mega_button.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
|
||||
import_mega_button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/icons8-import-30.png"))); // NOI18N
|
||||
import_mega_button.setText("IMPORT ACCOUNTS (FILE)");
|
||||
import_mega_button.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
import_mega_buttonActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout accounts_panelLayout = new javax.swing.GroupLayout(accounts_panel);
|
||||
accounts_panel.setLayout(accounts_panelLayout);
|
||||
accounts_panelLayout.setHorizontalGroup(
|
||||
@ -1232,6 +1265,8 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addGroup(accounts_panelLayout.createSequentialGroup()
|
||||
.addComponent(remove_mega_account_button)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(import_mega_button)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(add_mega_account_button))
|
||||
.addComponent(elc_accounts_scrollpane)
|
||||
.addGroup(accounts_panelLayout.createSequentialGroup()
|
||||
@ -1243,7 +1278,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addComponent(mega_accounts_label)
|
||||
.addComponent(elc_accounts_label))
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 1072, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
accounts_panelLayout.setVerticalGroup(
|
||||
@ -1259,15 +1294,16 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jLabel1)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(mega_accounts_scrollpane, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
|
||||
.addComponent(mega_accounts_scrollpane, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(accounts_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(remove_mega_account_button)
|
||||
.addComponent(add_mega_account_button))
|
||||
.addComponent(add_mega_account_button)
|
||||
.addComponent(import_mega_button))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(elc_accounts_label)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(elc_accounts_scrollpane, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
|
||||
.addComponent(elc_accounts_scrollpane, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(accounts_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(remove_elc_account_button)
|
||||
@ -1659,7 +1695,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(panel_tabs, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(status, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
|
||||
.addComponent(status, javax.swing.GroupLayout.DEFAULT_SIZE, 809, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(save_button)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
@ -1670,7 +1706,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(panel_tabs, javax.swing.GroupLayout.DEFAULT_SIZE, 363, Short.MAX_VALUE)
|
||||
.addComponent(panel_tabs, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
@ -1724,6 +1760,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
settings.put("run_command", run_command_checkbox.isSelected() ? "yes" : "no");
|
||||
settings.put("run_command_path", run_command_textbox.getText());
|
||||
settings.put("mega_api_key", mega_api_key.getText().trim());
|
||||
settings.put("clipboardspy", clipboardspy_checkbox.isSelected() ? "yes" : "no");
|
||||
|
||||
if (custom_proxy_textarea.getText().trim().length() == 0) {
|
||||
smart_proxy_checkbox.setSelected(false);
|
||||
@ -2934,6 +2971,55 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
mega_api_key_warningMouseClicked(evt);
|
||||
}//GEN-LAST:event_mega_api_key_labelMouseClicked
|
||||
|
||||
private void import_mega_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_import_mega_buttonActionPerformed
|
||||
// TODO add your handling code here:
|
||||
|
||||
if (!unlock_accounts_button.isVisible() || !unlock_accounts_button.isEnabled()) {
|
||||
|
||||
JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("EMAIL1\nPASS1\nEMAIL2\nPASS2\nEMAIL3\nPASS3\n"), "TXT FILE FORMAT", JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
javax.swing.JFileChooser filechooser = new javax.swing.JFileChooser();
|
||||
|
||||
updateFonts(filechooser, GUI_FONT, (float) (_main_panel.getZoom_factor() * 1.25));
|
||||
|
||||
filechooser.setDialogTitle("Select MEGA ACCOUNTS FILE");
|
||||
|
||||
filechooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY);
|
||||
|
||||
filechooser.addChoosableFileFilter(new FileNameExtensionFilter("TXT", "txt"));
|
||||
|
||||
filechooser.setAcceptAllFileFilterUsed(false);
|
||||
|
||||
if (filechooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
|
||||
|
||||
try {
|
||||
final File file = filechooser.getSelectedFile();
|
||||
|
||||
Stream<String> filter = Files.lines(file.toPath()).map(s -> s.trim()).filter(s -> !s.isEmpty());
|
||||
|
||||
List<String> result = filter.collect(Collectors.toList());
|
||||
|
||||
DefaultTableModel model = (DefaultTableModel) mega_accounts_table.getModel();
|
||||
|
||||
for (int i = 0; i < result.size() - 1; i += 2) {
|
||||
System.out.println(result.get(i) + " " + result.get(i + 1));
|
||||
|
||||
model.addRow(new Object[]{result.get(i), result.get(i + 1)});
|
||||
}
|
||||
|
||||
mega_accounts_table.setModel(model);
|
||||
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(SettingsDialog.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(this, LabelTranslatorSingleton.getInstance().translate("MEGA ACCOUNTS ARE LOCKED"), "Mega Accounts Locked", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
}
|
||||
}//GEN-LAST:event_import_mega_buttonActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JPanel accounts_panel;
|
||||
private javax.swing.JButton add_elc_account_button;
|
||||
@ -2942,6 +3028,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
private javax.swing.JScrollPane advanced_scrollpane;
|
||||
private javax.swing.JButton cancel_button;
|
||||
private javax.swing.JButton change_download_dir_button;
|
||||
private javax.swing.JCheckBox clipboardspy_checkbox;
|
||||
private javax.swing.JButton custom_chunks_dir_button;
|
||||
private javax.swing.JCheckBox custom_chunks_dir_checkbox;
|
||||
private javax.swing.JLabel custom_chunks_dir_current_label;
|
||||
@ -2964,6 +3051,7 @@ public class SettingsDialog extends javax.swing.JDialog {
|
||||
private javax.swing.JButton export_settings_button;
|
||||
private javax.swing.JComboBox<String> font_combo;
|
||||
private javax.swing.JLabel font_label;
|
||||
private javax.swing.JButton import_mega_button;
|
||||
private javax.swing.JButton import_settings_button;
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user