diff --git a/pom.xml b/pom.xml index 754734149..8b8c2165c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.tonikelope MegaBasterd - 5.67 + 5.68 jar diff --git a/src/main/java/com/tonikelope/megabasterd/AboutDialog.form b/src/main/java/com/tonikelope/megabasterd/AboutDialog.form index cb90e051a..6d37e8fd0 100644 --- a/src/main/java/com/tonikelope/megabasterd/AboutDialog.form +++ b/src/main/java/com/tonikelope/megabasterd/AboutDialog.form @@ -99,7 +99,7 @@ - + diff --git a/src/main/java/com/tonikelope/megabasterd/AboutDialog.java b/src/main/java/com/tonikelope/megabasterd/AboutDialog.java index 0f16fd21c..849287f60 100644 --- a/src/main/java/com/tonikelope/megabasterd/AboutDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/AboutDialog.java @@ -62,7 +62,7 @@ public final class AboutDialog extends javax.swing.JDialog { setResizable(false); title_label.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N - title_label.setText("MegaBasterd " + VERSION); + title_label.setText("MegaBasterd " + VERSION + " "); title_label.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); title_label.setDoubleBuffered(true); title_label.addMouseListener(new java.awt.event.MouseAdapter() { diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java index 844679a85..87709fac2 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java @@ -47,7 +47,7 @@ import javax.swing.UIManager; */ public final class MainPanel { - public static final String VERSION = "5.67"; + public static final String VERSION = "5.68"; public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; public static final int STREAMER_PORT = 1337; diff --git a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.form b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.form index d3b15f733..2bcaa001f 100644 --- a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.form +++ b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.form @@ -51,7 +51,7 @@ - + @@ -170,16 +170,6 @@ - - - - - - - - - - @@ -201,9 +191,21 @@ + + + + + + + + + + + + - + @@ -214,20 +216,15 @@ - - - - - + - diff --git a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java index 42b0ed4f5..7c78895fb 100644 --- a/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java +++ b/src/main/java/com/tonikelope/megabasterd/SettingsDialog.java @@ -20,6 +20,7 @@ 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; @@ -32,9 +33,13 @@ import javax.swing.JOptionPane; import static javax.swing.JOptionPane.YES_NO_CANCEL_OPTION; import static javax.swing.JOptionPane.showOptionDialog; import javax.swing.JSpinner; +import javax.swing.RowSorter; +import javax.swing.SortOrder; import javax.swing.SpinnerNumberModel; import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; /** * @@ -395,6 +400,30 @@ public final class SettingsDialog extends javax.swing.JDialog { } + TableRowSorter sorter_mega = new TableRowSorter<>(mega_accounts_table.getModel()); + + mega_accounts_table.setRowSorter(sorter_mega); + + List sortKeys_mega = new ArrayList<>(); + + sortKeys_mega.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); + + sorter_mega.setSortKeys(sortKeys_mega); + + sorter_mega.sort(); + + TableRowSorter sorter_elc = new TableRowSorter<>(elc_accounts_table.getModel()); + + elc_accounts_table.setRowSorter(sorter_elc); + + List sortKeys_elc = new ArrayList<>(); + + sortKeys_elc.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); + + sorter_elc.setSortKeys(sortKeys_elc); + + sorter_elc.sort(); + boolean use_mc_reverse = false; String megacrypter_reverse = DBTools.selectSettingValue("megacrypter_reverse"); @@ -753,13 +782,6 @@ public final class SettingsDialog extends javax.swing.JDialog { .addComponent(jSeparator7, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSeparator6, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSeparator11, javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(jPanel3Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(megacrypter_reverse_warning_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(jPanel3Layout.createSequentialGroup() - .addComponent(rec_download_slots_label) - .addGap(0, 99, Short.MAX_VALUE)))) .addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() @@ -778,27 +800,31 @@ public final class SettingsDialog extends javax.swing.JDialog { .addComponent(use_mega_account_down_checkbox) .addComponent(megacrypter_reverse_checkbox) .addComponent(smart_proxy_checkbox) - .addComponent(rec_smart_proxy_label) + .addComponent(rec_smart_proxy_label)) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(megacrypter_reverse_warning_label, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel3Layout.createSequentialGroup() - .addContainerGap() - .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel3Layout.createSequentialGroup() - .addComponent(megacrypter_reverse_port_label) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(megacrypter_reverse_port_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(jPanel3Layout.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(jPanel3Layout.createSequentialGroup() - .addComponent(use_mega_label) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(use_mega_account_down_combobox, javax.swing.GroupLayout.PREFERRED_SIZE, 500, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(jPanel3Layout.createSequentialGroup() - .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))))) - .addGap(0, 0, Short.MAX_VALUE))) + .addComponent(rec_download_slots_label) + .addGap(0, 99, Short.MAX_VALUE)) + .addGroup(jPanel3Layout.createSequentialGroup() + .addComponent(megacrypter_reverse_port_label) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(megacrypter_reverse_port_spinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(jPanel3Layout.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(jPanel3Layout.createSequentialGroup() + .addComponent(use_mega_label) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(use_mega_account_down_combobox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(jPanel3Layout.createSequentialGroup() + .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))))) .addGap(0, 0, 0)) ); jPanel3Layout.setVerticalGroup( @@ -1449,7 +1475,7 @@ public final class SettingsDialog extends javax.swing.JDialog { layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() - .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE) + .addComponent(jTabbedPane1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(status) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -1710,8 +1736,6 @@ public final class SettingsDialog extends javax.swing.JDialog { encrypt_pass_checkbox.setEnabled(false); - pack(); - final Dialog tthis = this; THREAD_POOL.execute(new Runnable() { @@ -1720,6 +1744,8 @@ public final class SettingsDialog extends javax.swing.JDialog { ArrayList email_error = new ArrayList<>(); + ArrayList new_valid_mega_accounts = new ArrayList<>(); + for (int i = 0; i < model_row_count; i++) { String email = (String) model.getValueAt(i, 0); @@ -1728,6 +1754,8 @@ public final class SettingsDialog extends javax.swing.JDialog { if (!email.isEmpty() && !pass.isEmpty()) { + new_valid_mega_accounts.add(email); + MegaAPI ma; if (_main_panel.getMega_accounts().get(email) == null) { @@ -1827,8 +1855,6 @@ public final class SettingsDialog extends javax.swing.JDialog { status.setText(""); - pack(); - JOptionPane.showMessageDialog(tthis, LabelTranslatorSingleton.getInstance().translate("There were errors with some accounts (email and/or password are/is wrong). Please, check them:\n\n") + final_email_error, "Mega Account Check Error", JOptionPane.ERROR_MESSAGE); save_button.setEnabled(true); @@ -1853,12 +1879,19 @@ public final class SettingsDialog extends javax.swing.JDialog { setDefaultCloseOperation(DISPOSE_ON_CLOSE); - pack(); - } }); } else { + + for (Map.Entry entry : _main_panel.getMega_accounts().entrySet()) { + String email = entry.getKey(); + + if (!new_valid_mega_accounts.contains(email)) { + _deleted_mega_accounts.add(email); + } + } + swingInvoke(new Runnable() { @Override public void run() { @@ -2450,8 +2483,6 @@ public final class SettingsDialog extends javax.swing.JDialog { _download_path = file.getAbsolutePath(); default_dir_label.setText(truncateText(_download_path, 80)); - - pack(); } }//GEN-LAST:event_change_download_dir_buttonActionPerformed diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png index a99c1b469..673a7132b 100644 Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ