Skip to content

Commit bed4ade

Browse files
committed
cleanups
1 parent afc6d06 commit bed4ade

File tree

9 files changed

+116
-321
lines changed

9 files changed

+116
-321
lines changed

src/main/java/de/idrinth/waraddonclient/Main.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
import de.idrinth.waraddonclient.gui.FrameRestorer;
44
import de.idrinth.waraddonclient.gui.ThemeManager;
55
import de.idrinth.waraddonclient.gui.Window;
6-
import de.idrinth.waraddonclient.list.AddonList;
6+
import de.idrinth.waraddonclient.model.AddonList;
77
import de.idrinth.waraddonclient.model.TrustManager;
88
import de.idrinth.waraddonclient.service.FileLogger;
99
import de.idrinth.waraddonclient.service.FileSystem;
1010
import de.idrinth.waraddonclient.service.FileWatcher;
1111
import de.idrinth.waraddonclient.service.Request;
12+
import de.idrinth.waraddonclient.service.Shedule;
1213
import de.idrinth.waraddonclient.service.Version;
1314
import java.io.File;
1415
import java.io.IOException;
@@ -36,13 +37,14 @@ public static void main(String args[]) {
3637
logger.info("Starting");
3738
ThemeManager themes = new ThemeManager(logger);
3839
new FileSystem().processPosition();
40+
Shedule schedule = new Shedule();
3941
Request client = new Request(new TrustManager(logger), logger);
4042
AddonList addonList = new AddonList(client, logger);
4143
FileWatcher watcher = new FileWatcher(addonList, logger);
42-
new Thread(watcher).start();
44+
schedule.register(30, watcher);
4345
java.awt.EventQueue.invokeLater(() -> {
4446
Version version = new Version(client, logger);
45-
Window window = new Window(addonList, version, themes, logger);
47+
Window window = new Window(addonList, version, themes, logger, schedule);
4648
new FrameRestorer().restore(window);
4749
window.setVisible(true);
4850
});

src/main/java/de/idrinth/waraddonclient/gui/TextCategory.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package de.idrinth.waraddonclient.gui;
22

3-
import de.idrinth.waraddonclient.list.AddonList;
3+
import de.idrinth.waraddonclient.model.AddonList;
4+
import de.idrinth.waraddonclient.model.ActualAddon;
5+
import java.util.List;
46

57
public class TextCategory extends javax.swing.RowFilter {
68

79
private final java.util.regex.Pattern textfilter;
8-
9-
private final java.util.ArrayList<String> tags;
1010

1111
private final AddonList addonList;
1212

13-
public TextCategory(String text, java.util.ArrayList<String> tagList, AddonList addonList) {
13+
public TextCategory(String text, AddonList addonList) {
1414
textfilter = java.util.regex.Pattern.compile("(?i)" + java.util.regex.Pattern.quote(text));
15-
tags = tagList;
1615
this.addonList = addonList;
1716
}
1817

@@ -24,7 +23,7 @@ public TextCategory(String text, java.util.ArrayList<String> tagList, AddonList
2423
*/
2524
@Override
2625
public boolean include(Entry entry) {
27-
de.idrinth.waraddonclient.model.ActualAddon addon = addonList.get(entry.getStringValue(1));
26+
ActualAddon addon = addonList.get(entry.getStringValue(1));
2827
if (addon == null) {
2928
return false;
3029
}
@@ -40,7 +39,8 @@ public boolean include(Entry entry) {
4039
* @param addon
4140
* @return boolean
4241
*/
43-
private boolean isInAllowedCategory(de.idrinth.waraddonclient.model.ActualAddon addon) {
42+
private boolean isInAllowedCategory(ActualAddon addon) {
43+
List<String> tags = addonList.getActiveTags();
4444
return tags.isEmpty() || tags.stream().anyMatch((tag) -> (addon.hasTag(tag)));
4545
}
4646

src/main/java/de/idrinth/waraddonclient/gui/Window.form

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -126,50 +126,6 @@
126126
</MenuItem>
127127
</SubComponents>
128128
</Menu>
129-
<Menu class="javax.swing.JMenu" name="jMenu2">
130-
<Properties>
131-
<Property name="text" type="java.lang.String" value="Auto-Refresh"/>
132-
</Properties>
133-
<AuxValues>
134-
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
135-
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
136-
</AuxValues>
137-
<SubComponents>
138-
<MenuItem class="javax.swing.JCheckBoxMenuItem" name="Refresh1">
139-
<Properties>
140-
<Property name="text" type="java.lang.String" value="15min"/>
141-
</Properties>
142-
<Events>
143-
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="Refresh1ActionPerformed"/>
144-
</Events>
145-
</MenuItem>
146-
<MenuItem class="javax.swing.JCheckBoxMenuItem" name="Refresh2">
147-
<Properties>
148-
<Property name="text" type="java.lang.String" value="30min"/>
149-
</Properties>
150-
<Events>
151-
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="Refresh2ActionPerformed"/>
152-
</Events>
153-
</MenuItem>
154-
<MenuItem class="javax.swing.JCheckBoxMenuItem" name="Refresh3">
155-
<Properties>
156-
<Property name="text" type="java.lang.String" value="1h"/>
157-
</Properties>
158-
<Events>
159-
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="Refresh3ActionPerformed"/>
160-
</Events>
161-
</MenuItem>
162-
<MenuItem class="javax.swing.JCheckBoxMenuItem" name="Refresh4">
163-
<Properties>
164-
<Property name="selected" type="boolean" value="true"/>
165-
<Property name="text" type="java.lang.String" value="3h"/>
166-
</Properties>
167-
<Events>
168-
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="Refresh4ActionPerformed"/>
169-
</Events>
170-
</MenuItem>
171-
</SubComponents>
172-
</Menu>
173129
<Menu class="javax.swing.JMenu" name="ThemeMenu">
174130
<Properties>
175131
<Property name="text" type="java.lang.String" value="Theme"/>

src/main/java/de/idrinth/waraddonclient/gui/Window.java

Lines changed: 9 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
import de.idrinth.waraddonclient.Config;
44
import de.idrinth.waraddonclient.Main;
55
import de.idrinth.waraddonclient.service.Backup;
6-
import de.idrinth.waraddonclient.list.AddonList;
7-
import de.idrinth.waraddonclient.list.TagList;
6+
import de.idrinth.waraddonclient.model.AddonList;
87
import de.idrinth.waraddonclient.model.Addon;
98
import java.io.IOException;
109
import java.net.URISyntaxException;
@@ -13,6 +12,7 @@
1312
import de.idrinth.waraddonclient.service.Version;
1413
import de.idrinth.waraddonclient.model.AddonSettings;
1514
import de.idrinth.waraddonclient.service.FileLogger;
15+
import de.idrinth.waraddonclient.service.Shedule;
1616
import java.awt.Desktop;
1717
import java.awt.FileDialog;
1818
import java.awt.Toolkit;
@@ -28,44 +28,37 @@
2828
public class Window extends javax.swing.JFrame {
2929

3030
private Addon activeAddon = new de.idrinth.waraddonclient.model.NoAddon();
31-
32-
private TagList tagList;
3331

3432
private final AddonList addonList;
33+
3534
private final FileLogger logger;
3635

37-
public Window(AddonList addonList, Version version, ThemeManager manager, FileLogger logger) {
36+
public Window(AddonList addonList, Version version, ThemeManager manager, FileLogger logger, Shedule schedule) {
3837
this.addonList = addonList;
3938
this.logger = logger;
4039
initComponents();
4140
manager.addTo(ThemeMenu);
42-
finishGuiBuilding();
41+
finishGuiBuilding(schedule);
4342
version.setVersion(remoteVersion);
4443
new Thread(version).start();
4544
changeLanguageTo(Config.getLanguage());
4645
}
4746

48-
/**
49-
* adjustments to the autogenerated content
50-
*
51-
* @todo make it possible to handle most of this via an addon-like object
52-
*/
53-
private void finishGuiBuilding() {
47+
private void finishGuiBuilding(Shedule schedule) {
5448
AddonList.getSelectionModel().addListSelectionListener(new TableListener());
5549
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Images/logo.png")));
5650
AddonList.setRowSorter(new TableRowSorter<>(AddonList.getModel()));
5751
addonList.setModel((DefaultTableModel) AddonList.getModel());
5852
Description.addHyperlinkListener(new HyperlinkListenerImpl());
5953
localVersion.setText(Config.getVersion());
60-
tagList = new TagList(Tags, addonList, (java.awt.event.ActionEvent evt) -> newFilter(), logger);
61-
new Thread(tagList).start();
62-
new Thread(addonList).start();
54+
addonList.setMenu(Tags, (java.awt.event.ActionEvent evt) -> newFilter());
55+
schedule.register(300, addonList);
6356
(new TableListener()).updateUi();
6457
}
6558

6659
private void newFilter() {
6760
try {
68-
RowFilter<String, ArrayList<String>> rf = new TextCategory(Search.getText(), tagList.getActiveTags(), addonList);
61+
RowFilter<String, ArrayList<String>> rf = new TextCategory(Search.getText(), addonList);
6962
((TableRowSorter) AddonList.getRowSorter()).setRowFilter(rf);
7063
} catch (java.util.regex.PatternSyntaxException exception) {
7164
logger.error(exception);
@@ -122,11 +115,6 @@ private void initComponents() {
122115
English = new javax.swing.JRadioButtonMenuItem();
123116
Deutsch = new javax.swing.JRadioButtonMenuItem();
124117
Francais = new javax.swing.JRadioButtonMenuItem();
125-
javax.swing.JMenu jMenu2 = new javax.swing.JMenu();
126-
Refresh1 = new javax.swing.JCheckBoxMenuItem();
127-
Refresh2 = new javax.swing.JCheckBoxMenuItem();
128-
Refresh3 = new javax.swing.JCheckBoxMenuItem();
129-
Refresh4 = new javax.swing.JCheckBoxMenuItem();
130118
ThemeMenu = new javax.swing.JMenu();
131119
javax.swing.JMenu Links = new javax.swing.JMenu();
132120
Guilded = new javax.swing.JMenuItem();
@@ -446,43 +434,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
446434

447435
jMenu3.add(jMenu1);
448436

449-
jMenu2.setText("Auto-Refresh");
450-
451-
Refresh1.setText("15min");
452-
Refresh1.addActionListener(new java.awt.event.ActionListener() {
453-
public void actionPerformed(java.awt.event.ActionEvent evt) {
454-
Refresh1ActionPerformed(evt);
455-
}
456-
});
457-
jMenu2.add(Refresh1);
458-
459-
Refresh2.setText("30min");
460-
Refresh2.addActionListener(new java.awt.event.ActionListener() {
461-
public void actionPerformed(java.awt.event.ActionEvent evt) {
462-
Refresh2ActionPerformed(evt);
463-
}
464-
});
465-
jMenu2.add(Refresh2);
466-
467-
Refresh3.setText("1h");
468-
Refresh3.addActionListener(new java.awt.event.ActionListener() {
469-
public void actionPerformed(java.awt.event.ActionEvent evt) {
470-
Refresh3ActionPerformed(evt);
471-
}
472-
});
473-
jMenu2.add(Refresh3);
474-
475-
Refresh4.setSelected(true);
476-
Refresh4.setText("3h");
477-
Refresh4.addActionListener(new java.awt.event.ActionListener() {
478-
public void actionPerformed(java.awt.event.ActionEvent evt) {
479-
Refresh4ActionPerformed(evt);
480-
}
481-
});
482-
jMenu2.add(Refresh4);
483-
484-
jMenu3.add(jMenu2);
485-
486437
ThemeMenu.setText("Theme");
487438
jMenu3.add(ThemeMenu);
488439

@@ -625,42 +576,6 @@ private void FrancaisActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS
625576
changeLanguageTo("fr");
626577
}//GEN-LAST:event_FrancaisActionPerformed
627578

628-
/**
629-
* changes refresh duration
630-
*
631-
* @param evt
632-
*/
633-
private void Refresh1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Refresh1ActionPerformed
634-
changeRefreshTo(15);
635-
}//GEN-LAST:event_Refresh1ActionPerformed
636-
637-
/**
638-
* changes refresh duration
639-
*
640-
* @param evt
641-
*/
642-
private void Refresh2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Refresh2ActionPerformed
643-
changeRefreshTo(30);
644-
}//GEN-LAST:event_Refresh2ActionPerformed
645-
646-
/**
647-
* changes refresh duration
648-
*
649-
* @param evt
650-
*/
651-
private void Refresh3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Refresh3ActionPerformed
652-
changeRefreshTo(60);
653-
}//GEN-LAST:event_Refresh3ActionPerformed
654-
655-
/**
656-
* changes refresh duration
657-
*
658-
* @param evt
659-
*/
660-
private void Refresh4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Refresh4ActionPerformed
661-
changeRefreshTo(180);
662-
}//GEN-LAST:event_Refresh4ActionPerformed
663-
664579
private void DeleteSearchMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_DeleteSearchMouseClicked
665580
Search.setText("");
666581
SearchActionPerformed(new java.awt.event.ActionEvent(evt.getSource(), 1001, "reset"));
@@ -772,19 +687,6 @@ private void changeLanguageTo(String lang) {
772687
}
773688
}
774689

775-
/**
776-
* changes actual refresh settings
777-
*
778-
* @param dur
779-
*/
780-
private void changeRefreshTo(int dur) {
781-
Refresh1.setSelected(dur == 15);
782-
Refresh2.setSelected(dur == 30);
783-
Refresh3.setSelected(dur == 60);
784-
Refresh4.setSelected(dur == 180);
785-
addonList.setDuration(dur);
786-
}
787-
788690
/**
789691
* updates addon list
790692
*/
@@ -810,10 +712,6 @@ private void updateList() {
810712
private javax.swing.JMenuItem Guilded;
811713
private javax.swing.JButton InstallButton;
812714
private javax.swing.JMenuItem Quit;
813-
private javax.swing.JCheckBoxMenuItem Refresh1;
814-
private javax.swing.JCheckBoxMenuItem Refresh2;
815-
private javax.swing.JCheckBoxMenuItem Refresh3;
816-
private javax.swing.JCheckBoxMenuItem Refresh4;
817715
private javax.swing.JButton RemoveButton;
818716
private javax.swing.JMenuItem Restart;
819717
private javax.swing.JMenuItem RestoreBackup;

0 commit comments

Comments
 (0)