some bugfixed and improvements

* added last modified to fast check
* download repository on new check
* added open in explorer
* changed sync url
This commit is contained in:
Niklas 2020-04-16 19:49:31 +02:00
parent 02f0a6ec6e
commit a3ce01014e
10 changed files with 366 additions and 287 deletions

View File

@ -873,6 +873,7 @@
<properties>
<enabled value="false"/>
<text resource-bundle="lang" key="update_repository"/>
<visible value="true"/>
</properties>
</component>
<component id="4ec7b" class="javax.swing.JButton" binding="collapseAllButton">
@ -1232,7 +1233,7 @@
</properties>
<border type="empty"/>
<children>
<grid id="4b04" layout-manager="GridLayoutManager" row-count="40" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="4b04" layout-manager="GridLayoutManager" row-count="40" column-count="5" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="5"/>
<constraints/>
<properties>
@ -1242,20 +1243,15 @@
<children>
<component id="80449" class="javax.swing.JLabel">
<constraints>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="1" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="arma3_installpath"/>
</properties>
</component>
<hspacer id="71617">
<constraints>
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
</hspacer>
<component id="bca94" class="javax.swing.JTextField" binding="settingsArmaPathText">
<constraints>
<grid row="1" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="1" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1273,7 +1269,7 @@
</component>
<component id="c9b76" class="javax.swing.JLabel">
<constraints>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="3" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="show_startparameter"/>
@ -1281,7 +1277,7 @@
</component>
<component id="dee70" class="javax.swing.JLabel">
<constraints>
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="4" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="check_modset"/>
@ -1289,7 +1285,7 @@
</component>
<component id="b3dd" class="javax.swing.JLabel">
<constraints>
<grid row="6" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="6" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="behaviour_aafter_start"/>
@ -1297,7 +1293,7 @@
</component>
<component id="cf7d6" class="javax.swing.JCheckBox" binding="settingsCheckModsBox">
<constraints>
<grid row="4" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="4" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1305,7 +1301,7 @@
</component>
<component id="212f8" class="javax.swing.JCheckBox" binding="settingsShowParameterBox">
<constraints>
<grid row="3" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="3" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1313,7 +1309,7 @@
</component>
<component id="c72e" class="javax.swing.JButton" binding="settingsArmaPathBtn">
<constraints>
<grid row="1" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
<grid row="1" column="4" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="..."/>
@ -1321,7 +1317,7 @@
</component>
<component id="5f8eb" class="javax.swing.JTextField" binding="settingsModsPathText">
<constraints>
<grid row="2" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="2" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1331,7 +1327,7 @@
</component>
<component id="b55be" class="javax.swing.JButton" binding="settingsModsPathBtn">
<constraints>
<grid row="2" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
<grid row="2" column="4" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="..."/>
@ -1339,7 +1335,7 @@
</component>
<component id="addd9" class="javax.swing.JComboBox" binding="settingsBehaviorStartCombo">
<constraints>
<grid row="6" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="6" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<model>
@ -1351,7 +1347,7 @@
</component>
<component id="f1bda" class="javax.swing.JLabel">
<constraints>
<grid row="8" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="8" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="backend_url"/>
@ -1359,7 +1355,7 @@
</component>
<component id="d8bc9" class="javax.swing.JTextField" binding="settingsBackendText">
<constraints>
<grid row="8" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="8" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1372,7 +1368,7 @@
<grid id="f08aa" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="2" left="5" bottom="3" right="0"/>
<constraints>
<grid row="0" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="0" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<background color="-14736860"/>
@ -1394,7 +1390,7 @@
<grid id="a0aec" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="2" left="5" bottom="3" right="0"/>
<constraints>
<grid row="11" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="11" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<background color="-14736860"/>
@ -1416,7 +1412,7 @@
<grid id="51038" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="25" right="0"/>
<constraints>
<grid row="10" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="10" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1424,7 +1420,7 @@
</grid>
<component id="ba337" class="javax.swing.JLabel">
<constraints>
<grid row="12" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="12" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Profile"/>
@ -1433,13 +1429,13 @@
</component>
<component id="645c2" class="javax.swing.JComboBox" binding="settingsProfileCombo">
<constraints>
<grid row="12" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="12" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="ee343" class="javax.swing.JLabel">
<constraints>
<grid row="13" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="13" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Use64BitClient"/>
@ -1448,7 +1444,7 @@
</component>
<component id="3ba17" class="javax.swing.JLabel">
<constraints>
<grid row="15" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="15" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="NoSplash"/>
@ -1457,7 +1453,7 @@
</component>
<component id="37fea" class="javax.swing.JLabel">
<constraints>
<grid row="16" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="16" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="SkipIntro"/>
@ -1466,7 +1462,7 @@
</component>
<component id="435dd" class="javax.swing.JLabel">
<constraints>
<grid row="17" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="17" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="World"/>
@ -1475,7 +1471,7 @@
</component>
<component id="7fe7" class="javax.swing.JTextField" binding="settingsWorldText">
<constraints>
<grid row="17" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="17" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1483,7 +1479,7 @@
</component>
<component id="60855" class="javax.swing.JLabel">
<constraints>
<grid row="19" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="19" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="MaxMem"/>
@ -1492,7 +1488,7 @@
</component>
<component id="3bf4b" class="javax.swing.JLabel">
<constraints>
<grid row="20" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="20" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="MaxVRAM"/>
@ -1501,7 +1497,7 @@
</component>
<component id="b9b2e" class="javax.swing.JLabel">
<constraints>
<grid row="21" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="21" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="NoCB"/>
@ -1511,7 +1507,7 @@
</component>
<component id="823ee" class="javax.swing.JLabel">
<constraints>
<grid row="22" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="22" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="CpuCount"/>
@ -1520,7 +1516,7 @@
</component>
<component id="b86c3" class="javax.swing.JLabel">
<constraints>
<grid row="23" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="23" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="ExThreads"/>
@ -1529,7 +1525,7 @@
</component>
<component id="dfcec" class="javax.swing.JLabel">
<constraints>
<grid row="24" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="24" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Malloc"/>
@ -1538,7 +1534,7 @@
</component>
<component id="31ea0" class="javax.swing.JLabel">
<constraints>
<grid row="25" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="25" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="NoLogs"/>
@ -1547,7 +1543,7 @@
</component>
<component id="b30fd" class="javax.swing.JLabel">
<constraints>
<grid row="26" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="26" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="EnableHT"/>
@ -1556,7 +1552,7 @@
</component>
<component id="c4f30" class="javax.swing.JLabel">
<constraints>
<grid row="27" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="27" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Hugepages"/>
@ -1566,7 +1562,7 @@
<grid id="66873" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="5" left="0" bottom="5" right="0"/>
<constraints>
<grid row="18" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="18" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1597,7 +1593,7 @@
<grid id="e765b" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="5" left="0" bottom="5" right="0"/>
<constraints>
<grid row="14" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="14" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1628,7 +1624,7 @@
<grid id="c2001" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="5" left="0" bottom="5" right="0"/>
<constraints>
<grid row="28" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="28" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1658,7 +1654,7 @@
</grid>
<component id="605f" class="javax.swing.JLabel">
<constraints>
<grid row="29" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="29" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="NoPause"/>
@ -1667,7 +1663,7 @@
</component>
<component id="12886" class="javax.swing.JLabel">
<constraints>
<grid row="30" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="30" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="ShowScriptErrors"/>
@ -1676,7 +1672,7 @@
</component>
<component id="f2d04" class="javax.swing.JLabel">
<constraints>
<grid row="31" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="31" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="FilePatching"/>
@ -1685,7 +1681,7 @@
</component>
<component id="d2664" class="javax.swing.JLabel">
<constraints>
<grid row="32" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="32" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Init"/>
@ -1694,7 +1690,7 @@
</component>
<component id="9367" class="javax.swing.JLabel">
<constraints>
<grid row="33" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="33" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Beta"/>
@ -1703,7 +1699,7 @@
</component>
<component id="4e786" class="javax.swing.JLabel">
<constraints>
<grid row="34" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="34" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="CrashDiag"/>
@ -1712,7 +1708,7 @@
</component>
<component id="b9ac8" class="javax.swing.JLabel">
<constraints>
<grid row="36" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="36" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Window"/>
@ -1722,7 +1718,7 @@
<grid id="cc3b" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="5" left="0" bottom="5" right="0"/>
<constraints>
<grid row="35" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="35" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1752,7 +1748,7 @@
</grid>
<component id="4c4c9" class="javax.swing.JLabel">
<constraints>
<grid row="37" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="37" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="PosX"/>
@ -1761,7 +1757,7 @@
</component>
<component id="8f956" class="javax.swing.JLabel">
<constraints>
<grid row="38" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="38" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="PosY"/>
@ -1770,7 +1766,7 @@
</component>
<component id="e4cad" class="javax.swing.JCheckBox" binding="settingsNoCBBox">
<constraints>
<grid row="21" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="21" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1778,7 +1774,7 @@
</component>
<component id="8fe70" class="javax.swing.JComboBox" binding="settingsMallocCombo">
<constraints>
<grid row="24" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="24" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<model>
@ -1793,7 +1789,7 @@
</component>
<component id="95bee" class="javax.swing.JCheckBox" binding="settingsNoLogsBox">
<constraints>
<grid row="25" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="25" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1801,7 +1797,7 @@
</component>
<component id="f6552" class="javax.swing.JCheckBox" binding="settingsEnableHTBox">
<constraints>
<grid row="26" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="26" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1809,7 +1805,7 @@
</component>
<component id="f639b" class="javax.swing.JCheckBox" binding="settingsHugeoagesBox">
<constraints>
<grid row="27" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="27" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1817,7 +1813,7 @@
</component>
<component id="728e8" class="javax.swing.JCheckBox" binding="settingsNoPauseBox">
<constraints>
<grid row="29" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="29" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1825,7 +1821,7 @@
</component>
<component id="b92f" class="javax.swing.JCheckBox" binding="settingsShowScriptErrorsBox">
<constraints>
<grid row="30" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="30" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1833,7 +1829,7 @@
</component>
<component id="83780" class="javax.swing.JCheckBox" binding="settingsFilePatchingBox">
<constraints>
<grid row="31" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="31" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1841,7 +1837,7 @@
</component>
<component id="4cf92" class="javax.swing.JCheckBox" binding="settingsCrashDiagBox">
<constraints>
<grid row="34" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="34" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1849,7 +1845,7 @@
</component>
<component id="d669d" class="javax.swing.JCheckBox" binding="settingsWindowBox">
<constraints>
<grid row="36" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="36" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1857,37 +1853,37 @@
</component>
<component id="1fd16" class="javax.swing.JSpinner" binding="settingsMaxMemSpinner">
<constraints>
<grid row="19" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="19" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="67772" class="javax.swing.JSpinner" binding="settingsMaxVRamSpinner">
<constraints>
<grid row="20" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="20" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="d8a9" class="javax.swing.JSpinner" binding="settingsCpuCountSpinner">
<constraints>
<grid row="22" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="22" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="fcb58" class="javax.swing.JSpinner" binding="settingsPosXSpinner">
<constraints>
<grid row="37" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="37" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="7ddc1" class="javax.swing.JSpinner" binding="settingsPosYSpinner">
<constraints>
<grid row="38" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="38" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
</component>
<component id="27334" class="javax.swing.JTextField" binding="settingsInitText">
<constraints>
<grid row="32" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="32" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1895,7 +1891,7 @@
</component>
<component id="94149" class="javax.swing.JComboBox" binding="settingsExThreadsCombo">
<constraints>
<grid row="23" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="23" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<model>
@ -1907,7 +1903,7 @@
</component>
<component id="ef3d" class="javax.swing.JCheckBox" binding="settingsSkipIntroBox">
<constraints>
<grid row="16" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="16" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1915,7 +1911,7 @@
</component>
<component id="2f359" class="javax.swing.JCheckBox" binding="settingsNoSplashBox">
<constraints>
<grid row="15" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="15" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1923,7 +1919,7 @@
</component>
<component id="98a41" class="javax.swing.JCheckBox" binding="settingsUseSixtyFourBitBox">
<constraints>
<grid row="13" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="13" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1931,7 +1927,7 @@
</component>
<component id="e2457" class="javax.swing.JLabel">
<constraints>
<grid row="7" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="7" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="language"/>
@ -1939,7 +1935,7 @@
</component>
<component id="d2afc" class="javax.swing.JComboBox" binding="settingsLanguageCombo">
<constraints>
<grid row="7" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
<grid row="7" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<model>
@ -1951,7 +1947,7 @@
</component>
<component id="40092" class="javax.swing.JTextField" binding="settingsBetaText">
<constraints>
<grid row="33" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<grid row="33" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
@ -1960,7 +1956,7 @@
<grid id="fc050" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="25" left="0" bottom="5" right="0"/>
<constraints>
<grid row="39" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="39" column="0" row-span="1" col-span="5" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@ -1978,7 +1974,7 @@
</grid>
<component id="cb608" class="javax.swing.JLabel">
<constraints>
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="5" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="use_workshop"/>
@ -1987,7 +1983,7 @@
</component>
<component id="67e29" class="javax.swing.JCheckBox" binding="settingsUseWorkshopBox">
<constraints>
<grid row="5" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="5" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
@ -1995,7 +1991,7 @@
</component>
<component id="46dd0" class="javax.swing.JLabel">
<constraints>
<grid row="19" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="19" column="4" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="MB"/>
@ -2003,7 +1999,7 @@
</component>
<component id="e45c5" class="javax.swing.JLabel">
<constraints>
<grid row="20" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="20" column="4" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="MB"/>
@ -2011,7 +2007,7 @@
</component>
<component id="f901c" class="javax.swing.JLabel">
<constraints>
<grid row="9" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="9" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="use_debug"/>
@ -2020,12 +2016,20 @@
</component>
<component id="2a999" class="javax.swing.JCheckBox" binding="settingsDebugBox">
<constraints>
<grid row="9" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="9" column="3" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value=""/>
</properties>
</component>
<component id="8d082" class="javax.swing.JButton" binding="showModfolderInExplorerButton">
<constraints>
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text resource-bundle="lang" key="show_in_explorer"/>
</properties>
</component>
</children>
</grid>
</children>

View File

@ -43,6 +43,7 @@ import org.json.JSONArray;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.DefaultFormatter;
@ -63,6 +64,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.management.ManagementFactory;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
@ -188,6 +190,7 @@ public class LauncherGUI implements Observer {
private JLabel aboutUpdateLabel;
private JButton updateButton;
private JCheckBox settingsDebugBox;
private JButton showModfolderInExplorerButton;
private static final Logger logger = LogManager.getLogger(LauncherGUI.class);
@ -196,6 +199,7 @@ public class LauncherGUI implements Observer {
private Syncer syncer;
private SyncList lastSynclist = null;
private Updater updater = new Updater();
private FileChecker.Type checkType = null;
public LauncherGUI() {
logger.info("Initialize GUI");
@ -408,14 +412,23 @@ public class LauncherGUI implements Observer {
presetPanelButton.addActionListener(e -> switchTab(Tab.PRESET));
settingsPanelButton.addActionListener(e -> switchTab(Tab.SETTING));
refreshRepoButton.addActionListener(e -> RepositoryManger.getInstance().refreshModset());
refreshRepoButton.addActionListener(e -> {
checkType = null;
RepositoryManger.getInstance().refreshModset();
});
expandAllButton.addActionListener(e -> repoTree.expandAllNodes());
syncDownloadAbortButton.addActionListener(e -> syncer.stop());
syncCheckAbortButton.addActionListener(e -> fileChecker.stop());
syncIntensiveCheckButton.addActionListener(e -> fileCheck(false));
syncFastCheckButton.addActionListener(e -> fileCheck(true));
syncIntensiveCheckButton.addActionListener(e -> {
checkType = FileChecker.Type.SLOW;
RepositoryManger.getInstance().refreshModset();
});
syncFastCheckButton.addActionListener(e -> {
checkType = FileChecker.Type.FAST;
RepositoryManger.getInstance().refreshModset();
});
syncDownloadButton.addActionListener(e -> {
if (!fileChecker.isChecked()) return;
@ -633,6 +646,17 @@ public class LauncherGUI implements Observer {
}
});
});
showModfolderInExplorerButton.addActionListener(e -> {
final Parameter p = Parameters.MOD_PATH.toParameter();
if(p.getConfigValue() == null || String.valueOf(p.getConfigValue()).isEmpty()) return;
Desktop desktop = Desktop.getDesktop();
try {
desktop.open(new File((String) p.getConfigValue()));
} catch (IOException ex) {
logger.error(ex);
}
});
}
public static void infoBox(String infoMessage, String titleBar) {
@ -670,7 +694,7 @@ public class LauncherGUI implements Observer {
}
public void techCheck() {
boolean pathSet = Parameters.ARMA_PATH.toParameter().getConfigValue() != null && Parameters.ARMA_PATH.toParameter().getConfigValue() != null;
boolean pathSet = Parameters.ARMA_PATH.toParameter().getConfigValue() != null && Parameters.MOD_PATH.toParameter().getConfigValue() != null;
playButton.setEnabled(false);
playPresetButton.setEnabled(false);
@ -1147,10 +1171,16 @@ public class LauncherGUI implements Observer {
final Parameter checkModsetParameter = Parameters.CHECK_MODSET.toParameter();
if (checkModsetParameter.getValue() != null && (boolean) checkModsetParameter.getValue()) {
if (!fileChecker.isChecked()) {
SwingUtilities.invokeLater(() -> fileCheck(false));
SwingUtilities.invokeLater(() -> fileCheck(true));
logger.info("Started file check on launch");
}
}
if(checkType != null) {
final FileChecker.Type checkTypeFinal = checkType;
SwingUtilities.invokeLater(() -> fileCheck(checkTypeFinal == FileChecker.Type.FAST));
checkType = null;
}
break;
case RUNNING:
@ -1288,6 +1318,8 @@ public class LauncherGUI implements Observer {
syncCheckStatusLabel.setText("Running!");
new Thread(() -> fileChecker.check(fastscan)).start();
syncDownloadButton.setEnabled(false);
refreshRepoButton.setEnabled(false);
repoTree.setCheckboxesEnabled(false);
@ -1420,7 +1452,7 @@ public class LauncherGUI implements Observer {
settingsPanelButton.setIconTextGap(10);
settingsPanelButton.setInheritsPopupMenu(true);
settingsPanelButton.setMargin(new Insets(0, 0, 0, 0));
this.$$$loadButtonText$$$(settingsPanelButton, ResourceBundle.getBundle("lang").getString("settings"));
this.$$$loadButtonText$$$(settingsPanelButton, this.$$$getMessageFromBundle$$$("lang", "settings"));
settingsPanelButton.putClientProperty("hideActionText", Boolean.FALSE);
panel1.add(settingsPanelButton, new GridConstraints(12, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final Spacer spacer1 = new Spacer();
@ -1433,7 +1465,7 @@ public class LauncherGUI implements Observer {
updatePanelButton.setHorizontalAlignment(2);
updatePanelButton.setIcon(new ImageIcon(getClass().getResource("/icons/download_16.png")));
updatePanelButton.setIconTextGap(10);
this.$$$loadButtonText$$$(updatePanelButton, ResourceBundle.getBundle("lang").getString("update"));
this.$$$loadButtonText$$$(updatePanelButton, this.$$$getMessageFromBundle$$$("lang", "update"));
panel1.add(updatePanelButton, new GridConstraints(9, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
playPanelButton = new JButton();
playPanelButton.setFocusPainted(false);
@ -1444,7 +1476,7 @@ public class LauncherGUI implements Observer {
playPanelButton.setIcon(new ImageIcon(getClass().getResource("/icons/play_16.png")));
playPanelButton.setIconTextGap(10);
playPanelButton.setMargin(new Insets(0, 0, 0, 0));
this.$$$loadButtonText$$$(playPanelButton, ResourceBundle.getBundle("lang").getString("play"));
this.$$$loadButtonText$$$(playPanelButton, this.$$$getMessageFromBundle$$$("lang", "play"));
panel1.add(playPanelButton, new GridConstraints(8, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel2 = new JPanel();
panel2.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
@ -1490,7 +1522,7 @@ public class LauncherGUI implements Observer {
presetPanelButton.setIcon(new ImageIcon(getClass().getResource("/icons/preset_16.png")));
presetPanelButton.setIconTextGap(10);
presetPanelButton.setMargin(new Insets(0, 0, 0, 0));
this.$$$loadButtonText$$$(presetPanelButton, ResourceBundle.getBundle("lang").getString("presets"));
this.$$$loadButtonText$$$(presetPanelButton, this.$$$getMessageFromBundle$$$("lang", "presets"));
panel1.add(presetPanelButton, new GridConstraints(11, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
changelogButton = new JButton();
changelogButton.setFocusPainted(false);
@ -1500,7 +1532,7 @@ public class LauncherGUI implements Observer {
changelogButton.setHorizontalAlignment(2);
changelogButton.setIcon(new ImageIcon(getClass().getResource("/icons/changelog_16.png")));
changelogButton.setIconTextGap(10);
this.$$$loadButtonText$$$(changelogButton, ResourceBundle.getBundle("lang").getString("changelog"));
this.$$$loadButtonText$$$(changelogButton, this.$$$getMessageFromBundle$$$("lang", "changelog"));
panel1.add(changelogButton, new GridConstraints(10, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel3 = new JPanel();
panel3.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
@ -1509,18 +1541,18 @@ public class LauncherGUI implements Observer {
twitterIcon = new JLabel();
twitterIcon.setIcon(new ImageIcon(getClass().getResource("/icons/twitter_32.png")));
twitterIcon.setText("");
twitterIcon.setToolTipText(ResourceBundle.getBundle("lang").getString("follow_on_twitter"));
twitterIcon.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "follow_on_twitter"));
panel3.add(twitterIcon, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
githubIcon = new JLabel();
githubIcon.setIcon(new ImageIcon(getClass().getResource("/icons/github_32.png")));
githubIcon.setText("");
githubIcon.setToolTipText(ResourceBundle.getBundle("lang").getString("star_on_github"));
githubIcon.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "star_on_github"));
panel3.add(githubIcon, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
aboutLabel = new JLabel();
Font aboutLabelFont = this.$$$getFont$$$(null, -1, 11, aboutLabel.getFont());
if (aboutLabelFont != null) aboutLabel.setFont(aboutLabelFont);
aboutLabel.setForeground(new Color(-7500403));
this.$$$loadLabelText$$$(aboutLabel, ResourceBundle.getBundle("lang").getString("about"));
this.$$$loadLabelText$$$(aboutLabel, this.$$$getMessageFromBundle$$$("lang", "about"));
panel1.add(aboutLabel, new GridConstraints(13, 1, 1, 1, GridConstraints.ANCHOR_SOUTHEAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
tabbedPane1 = new JTabbedPane();
tabbedPane1.setEnabled(true);
@ -1546,7 +1578,7 @@ public class LauncherGUI implements Observer {
final JLabel label3 = new JLabel();
Font label3Font = this.$$$getFont$$$(null, Font.BOLD, 16, label3.getFont());
if (label3Font != null) label3.setFont(label3Font);
this.$$$loadLabelText$$$(label3, ResourceBundle.getBundle("lang").getString("select_server"));
this.$$$loadLabelText$$$(label3, this.$$$getMessageFromBundle$$$("lang", "select_server"));
panel5.add(label3, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel6 = new JPanel();
panel6.setLayout(new GridLayoutManager(2, 1, new Insets(50, 25, 0, 25), -1, -1));
@ -1558,7 +1590,7 @@ public class LauncherGUI implements Observer {
Font playButtonFont = this.$$$getFont$$$(null, Font.BOLD, 18, playButton.getFont());
if (playButtonFont != null) playButton.setFont(playButtonFont);
playButton.setMargin(new Insets(15, 0, 15, 0));
this.$$$loadButtonText$$$(playButton, ResourceBundle.getBundle("lang").getString("play_now"));
this.$$$loadButtonText$$$(playButton, this.$$$getMessageFromBundle$$$("lang", "play_now"));
panel6.add(playButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
parameterText = new JTextField();
parameterText.setEditable(false);
@ -1571,7 +1603,7 @@ public class LauncherGUI implements Observer {
panel7.setLayout(new GridLayoutManager(3, 1, new Insets(10, 0, 0, 0), -1, -1));
panel7.setOpaque(true);
updateTab.add(panel7, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel7.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
panel7.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
final JPanel panel8 = new JPanel();
panel8.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
panel8.setOpaque(true);
@ -1588,14 +1620,14 @@ public class LauncherGUI implements Observer {
final JLabel label4 = new JLabel();
Font label4Font = this.$$$getFont$$$(null, Font.BOLD, 16, label4.getFont());
if (label4Font != null) label4.setFont(label4Font);
this.$$$loadLabelText$$$(label4, ResourceBundle.getBundle("lang").getString("check"));
this.$$$loadLabelText$$$(label4, this.$$$getMessageFromBundle$$$("lang", "check"));
panel10.add(label4, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel11 = new JPanel();
panel11.setLayout(new GridLayoutManager(6, 4, new Insets(0, 3, 0, 0), -1, -1));
panel11.setOpaque(true);
panel9.add(panel11, BorderLayout.CENTER);
final JLabel label5 = new JLabel();
this.$$$loadLabelText$$$(label5, ResourceBundle.getBundle("lang").getString("check_local_addons"));
this.$$$loadLabelText$$$(label5, this.$$$getMessageFromBundle$$$("lang", "check_local_addons"));
panel11.add(label5, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final Spacer spacer3 = new Spacer();
panel11.add(spacer3, new GridConstraints(0, 2, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
@ -1614,24 +1646,24 @@ public class LauncherGUI implements Observer {
panel11.add(panel12, new GridConstraints(2, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
syncCheckAbortButton = new JButton();
syncCheckAbortButton.setEnabled(false);
this.$$$loadButtonText$$$(syncCheckAbortButton, ResourceBundle.getBundle("lang").getString("abort"));
this.$$$loadButtonText$$$(syncCheckAbortButton, this.$$$getMessageFromBundle$$$("lang", "abort"));
panel12.add(syncCheckAbortButton, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncIntensiveCheckButton = new JButton();
syncIntensiveCheckButton.setEnabled(false);
this.$$$loadButtonText$$$(syncIntensiveCheckButton, ResourceBundle.getBundle("lang").getString("intensive_check"));
this.$$$loadButtonText$$$(syncIntensiveCheckButton, this.$$$getMessageFromBundle$$$("lang", "intensive_check"));
panel12.add(syncIntensiveCheckButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncFastCheckButton = new JButton();
syncFastCheckButton.setEnabled(false);
this.$$$loadButtonText$$$(syncFastCheckButton, ResourceBundle.getBundle("lang").getString("fast_check"));
this.$$$loadButtonText$$$(syncFastCheckButton, this.$$$getMessageFromBundle$$$("lang", "fast_check"));
panel12.add(syncFastCheckButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label6 = new JLabel();
this.$$$loadLabelText$$$(label6, ResourceBundle.getBundle("lang").getString("changed_files"));
this.$$$loadLabelText$$$(label6, this.$$$getMessageFromBundle$$$("lang", "changed_files"));
panel11.add(label6, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label7 = new JLabel();
this.$$$loadLabelText$$$(label7, ResourceBundle.getBundle("lang").getString("added_files"));
this.$$$loadLabelText$$$(label7, this.$$$getMessageFromBundle$$$("lang", "added_files"));
panel11.add(label7, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label8 = new JLabel();
this.$$$loadLabelText$$$(label8, ResourceBundle.getBundle("lang").getString("deleted_files"));
this.$$$loadLabelText$$$(label8, this.$$$getMessageFromBundle$$$("lang", "deleted_files"));
panel11.add(label8, new GridConstraints(5, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncChangedFilesLabel = new JLabel();
syncChangedFilesLabel.setText("0");
@ -1643,11 +1675,11 @@ public class LauncherGUI implements Observer {
syncDeletedFilesLabel.setText("0");
panel11.add(syncDeletedFilesLabel, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label9 = new JLabel();
this.$$$loadLabelText$$$(label9, ResourceBundle.getBundle("lang").getString("changed_filesize"));
this.$$$loadLabelText$$$(label9, this.$$$getMessageFromBundle$$$("lang", "changed_filesize"));
panel11.add(label9, new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncChangedFileSizeLabel = new JLabel();
syncChangedFileSizeLabel.setText("0.0 B");
syncChangedFileSizeLabel.setToolTipText(ResourceBundle.getBundle("lang").getString("changed_filesize_tooltip"));
syncChangedFileSizeLabel.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "changed_filesize_tooltip"));
panel11.add(syncChangedFileSizeLabel, new GridConstraints(3, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel13 = new JPanel();
panel13.setLayout(new BorderLayout(0, 0));
@ -1661,26 +1693,26 @@ public class LauncherGUI implements Observer {
final JLabel label10 = new JLabel();
Font label10Font = this.$$$getFont$$$(null, Font.BOLD, 16, label10.getFont());
if (label10Font != null) label10.setFont(label10Font);
this.$$$loadLabelText$$$(label10, ResourceBundle.getBundle("lang").getString("progress"));
this.$$$loadLabelText$$$(label10, this.$$$getMessageFromBundle$$$("lang", "progress"));
panel14.add(label10, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel15 = new JPanel();
panel15.setLayout(new FormLayout("fill:d:grow,left:4dlu:noGrow,fill:d:grow", "center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow"));
panel13.add(panel15, BorderLayout.CENTER);
final JLabel label11 = new JLabel();
this.$$$loadLabelText$$$(label11, ResourceBundle.getBundle("lang").getString("speed"));
this.$$$loadLabelText$$$(label11, this.$$$getMessageFromBundle$$$("lang", "speed"));
CellConstraints cc = new CellConstraints();
panel15.add(label11, cc.xy(1, 5));
final JLabel label12 = new JLabel();
this.$$$loadLabelText$$$(label12, ResourceBundle.getBundle("lang").getString("remaining_time"));
this.$$$loadLabelText$$$(label12, this.$$$getMessageFromBundle$$$("lang", "remaining_time"));
panel15.add(label12, cc.xy(1, 7));
syncFileCountLabel = new JLabel();
syncFileCountLabel.setText("");
panel15.add(syncFileCountLabel, cc.xy(3, 3));
final JLabel label13 = new JLabel();
this.$$$loadLabelText$$$(label13, ResourceBundle.getBundle("lang").getString("file_count"));
this.$$$loadLabelText$$$(label13, this.$$$getMessageFromBundle$$$("lang", "file_count"));
panel15.add(label13, cc.xy(1, 3));
final JLabel label14 = new JLabel();
this.$$$loadLabelText$$$(label14, ResourceBundle.getBundle("lang").getString("total_file_size"));
this.$$$loadLabelText$$$(label14, this.$$$getMessageFromBundle$$$("lang", "total_file_size"));
panel15.add(label14, cc.xy(1, 1));
syncSizeLabel = new JLabel();
syncSizeLabel.setText("0.0 B/0.0 B");
@ -1703,7 +1735,7 @@ public class LauncherGUI implements Observer {
final JLabel label16 = new JLabel();
Font label16Font = this.$$$getFont$$$(null, Font.BOLD, 16, label16.getFont());
if (label16Font != null) label16.setFont(label16Font);
this.$$$loadLabelText$$$(label16, ResourceBundle.getBundle("lang").getString("download"));
this.$$$loadLabelText$$$(label16, this.$$$getMessageFromBundle$$$("lang", "download"));
panel17.add(label16, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel18 = new JPanel();
panel18.setLayout(new FormLayout("fill:d:grow", "center:d:grow,top:4dlu:noGrow,center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow,top:4dlu:noGrow,center:max(d;4px):noGrow"));
@ -1726,15 +1758,15 @@ public class LauncherGUI implements Observer {
panel18.add(panel21, cc.xywh(1, 2, 1, 8));
syncDownloadButton = new JButton();
syncDownloadButton.setEnabled(false);
this.$$$loadButtonText$$$(syncDownloadButton, ResourceBundle.getBundle("lang").getString("download"));
this.$$$loadButtonText$$$(syncDownloadButton, this.$$$getMessageFromBundle$$$("lang", "download"));
panel21.add(syncDownloadButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncDownloadAbortButton = new JButton();
syncDownloadAbortButton.setEnabled(false);
this.$$$loadButtonText$$$(syncDownloadAbortButton, ResourceBundle.getBundle("lang").getString("abort"));
this.$$$loadButtonText$$$(syncDownloadAbortButton, this.$$$getMessageFromBundle$$$("lang", "abort"));
panel21.add(syncDownloadAbortButton, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncPauseButton = new JButton();
syncPauseButton.setEnabled(false);
this.$$$loadButtonText$$$(syncPauseButton, ResourceBundle.getBundle("lang").getString("pause"));
this.$$$loadButtonText$$$(syncPauseButton, this.$$$getMessageFromBundle$$$("lang", "pause"));
panel21.add(syncPauseButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncStatusLabel = new JLabel();
syncStatusLabel.setText("");
@ -1753,27 +1785,28 @@ public class LauncherGUI implements Observer {
final JLabel label17 = new JLabel();
Font label17Font = this.$$$getFont$$$(null, Font.BOLD, 16, label17.getFont());
if (label17Font != null) label17.setFont(label17Font);
this.$$$loadLabelText$$$(label17, ResourceBundle.getBundle("lang").getString("repository_content"));
this.$$$loadLabelText$$$(label17, this.$$$getMessageFromBundle$$$("lang", "repository_content"));
panel24.add(label17, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel25 = new JPanel();
panel25.setLayout(new GridLayoutManager(3, 2, new Insets(0, 0, 0, 0), -1, -1));
panel23.add(panel25, BorderLayout.SOUTH);
expandAllButton = new JButton();
expandAllButton.setEnabled(false);
this.$$$loadButtonText$$$(expandAllButton, ResourceBundle.getBundle("lang").getString("expand_all"));
this.$$$loadButtonText$$$(expandAllButton, this.$$$getMessageFromBundle$$$("lang", "expand_all"));
panel25.add(expandAllButton, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
syncPresetCombo = new JComboBox();
panel25.add(syncPresetCombo, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label18 = new JLabel();
this.$$$loadLabelText$$$(label18, ResourceBundle.getBundle("lang").getString("preset"));
this.$$$loadLabelText$$$(label18, this.$$$getMessageFromBundle$$$("lang", "preset"));
panel25.add(label18, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
refreshRepoButton = new JButton();
refreshRepoButton.setEnabled(false);
this.$$$loadButtonText$$$(refreshRepoButton, ResourceBundle.getBundle("lang").getString("update_repository"));
this.$$$loadButtonText$$$(refreshRepoButton, this.$$$getMessageFromBundle$$$("lang", "update_repository"));
refreshRepoButton.setVisible(true);
panel25.add(refreshRepoButton, new GridConstraints(2, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
collapseAllButton = new JButton();
collapseAllButton.setEnabled(false);
this.$$$loadButtonText$$$(collapseAllButton, ResourceBundle.getBundle("lang").getString("collapse_all"));
this.$$$loadButtonText$$$(collapseAllButton, this.$$$getMessageFromBundle$$$("lang", "collapse_all"));
panel25.add(collapseAllButton, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
updateTreeScrolPane = new JScrollPane();
panel23.add(updateTreeScrolPane, BorderLayout.CENTER);
@ -1790,7 +1823,7 @@ public class LauncherGUI implements Observer {
changelogScroll.setOpaque(true);
changelogScroll.setVisible(true);
changelogTab.add(changelogScroll, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
changelogScroll.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
changelogScroll.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
changelogPane = new JTextArea();
changelogPane.setAutoscrolls(false);
changelogPane.setEditable(false);
@ -1819,7 +1852,7 @@ public class LauncherGUI implements Observer {
panel27.add(spacer4, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
playPresetButton = new JButton();
playPresetButton.setEnabled(false);
this.$$$loadButtonText$$$(playPresetButton, ResourceBundle.getBundle("lang").getString("play"));
this.$$$loadButtonText$$$(playPresetButton, this.$$$getMessageFromBundle$$$("lang", "play"));
panel27.add(playPresetButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel28 = new JPanel();
panel28.setLayout(new GridLayoutManager(2, 1, new Insets(10, 0, 5, 5), -1, -1));
@ -1828,7 +1861,7 @@ public class LauncherGUI implements Observer {
scrollPane2.setHorizontalScrollBarPolicy(31);
scrollPane2.setVerticalScrollBarPolicy(20);
panel28.add(scrollPane2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
scrollPane2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
scrollPane2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
final JPanel panel29 = new JPanel();
panel29.setLayout(new GridLayoutManager(1, 1, new Insets(100, 70, 100, 70), -1, -1));
scrollPane2.setViewportView(panel29);
@ -1839,22 +1872,22 @@ public class LauncherGUI implements Observer {
final JLabel label19 = new JLabel();
Font label19Font = this.$$$getFont$$$(null, Font.BOLD, 14, label19.getFont());
if (label19Font != null) label19.setFont(label19Font);
this.$$$loadLabelText$$$(label19, ResourceBundle.getBundle("lang").getString("note"));
this.$$$loadLabelText$$$(label19, this.$$$getMessageFromBundle$$$("lang", "note"));
presetNotePane.add(label19, cc.xy(1, 1));
presetNoteButton = new JButton();
this.$$$loadButtonText$$$(presetNoteButton, ResourceBundle.getBundle("lang").getString("clone_preset"));
this.$$$loadButtonText$$$(presetNoteButton, this.$$$getMessageFromBundle$$$("lang", "clone_preset"));
presetNotePane.add(presetNoteButton, cc.xy(1, 5));
presetNotePaneWrapper = new JPanel();
presetNotePaneWrapper.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
presetNotePane.add(presetNotePaneWrapper, cc.xy(1, 3));
presetNoteTextPane = new JTextPane();
presetNoteTextPane.setEnabled(true);
presetNoteTextPane.setText(ResourceBundle.getBundle("lang").getString("presets_note"));
presetNoteTextPane.setText(this.$$$getMessageFromBundle$$$("lang", "presets_note"));
presetNotePaneWrapper.add(presetNoteTextPane, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(200, 50), null, 0, false));
final JLabel label20 = new JLabel();
Font label20Font = this.$$$getFont$$$(null, Font.BOLD, 16, label20.getFont());
if (label20Font != null) label20.setFont(label20Font);
this.$$$loadLabelText$$$(label20, ResourceBundle.getBundle("lang").getString("preset_settings"));
this.$$$loadLabelText$$$(label20, this.$$$getMessageFromBundle$$$("lang", "preset_settings"));
panel28.add(label20, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel30 = new JPanel();
panel30.setLayout(new BorderLayout(0, 0));
@ -1864,18 +1897,18 @@ public class LauncherGUI implements Observer {
panel30.add(panel31, BorderLayout.SOUTH);
clonePresetButton = new JButton();
clonePresetButton.setEnabled(false);
this.$$$loadButtonText$$$(clonePresetButton, ResourceBundle.getBundle("lang").getString("clone"));
this.$$$loadButtonText$$$(clonePresetButton, this.$$$getMessageFromBundle$$$("lang", "clone"));
panel31.add(clonePresetButton, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
newPresetButtom = new JButton();
this.$$$loadButtonText$$$(newPresetButtom, ResourceBundle.getBundle("lang").getString("new"));
this.$$$loadButtonText$$$(newPresetButtom, this.$$$getMessageFromBundle$$$("lang", "new"));
panel31.add(newPresetButtom, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
removePresetButtom = new JButton();
removePresetButtom.setEnabled(false);
this.$$$loadButtonText$$$(removePresetButtom, ResourceBundle.getBundle("lang").getString("remove"));
this.$$$loadButtonText$$$(removePresetButtom, this.$$$getMessageFromBundle$$$("lang", "remove"));
panel31.add(removePresetButtom, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
renamePresetButton = new JButton();
renamePresetButton.setEnabled(false);
this.$$$loadButtonText$$$(renamePresetButton, ResourceBundle.getBundle("lang").getString("rename"));
this.$$$loadButtonText$$$(renamePresetButton, this.$$$getMessageFromBundle$$$("lang", "rename"));
panel31.add(renamePresetButton, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel32 = new JPanel();
panel32.setLayout(new GridLayoutManager(1, 1, new Insets(0, 5, 15, 0), -1, -1));
@ -1891,12 +1924,12 @@ public class LauncherGUI implements Observer {
final JLabel label21 = new JLabel();
Font label21Font = this.$$$getFont$$$(null, Font.BOLD, 16, label21.getFont());
if (label21Font != null) label21.setFont(label21Font);
this.$$$loadLabelText$$$(label21, ResourceBundle.getBundle("lang").getString("presets"));
this.$$$loadLabelText$$$(label21, this.$$$getMessageFromBundle$$$("lang", "presets"));
panel33.add(label21, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label22 = new JLabel();
Font label22Font = this.$$$getFont$$$(null, Font.BOLD, 16, label22.getFont());
if (label22Font != null) label22.setFont(label22Font);
this.$$$loadLabelText$$$(label22, ResourceBundle.getBundle("lang").getString("select_mods"));
this.$$$loadLabelText$$$(label22, this.$$$getMessageFromBundle$$$("lang", "select_mods"));
panel33.add(label22, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final Spacer spacer5 = new Spacer();
panel33.add(spacer5, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
@ -1907,153 +1940,151 @@ public class LauncherGUI implements Observer {
panel34.setLayout(new GridLayoutManager(1, 1, new Insets(10, 0, 0, 0), -1, -1));
panel34.setOpaque(false);
settingsTab.add(panel34, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel34.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
panel34.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
settingScrollPane = new JScrollPane();
settingScrollPane.setOpaque(false);
panel34.add(settingScrollPane, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
settingScrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
settingScrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
final JPanel panel35 = new JPanel();
panel35.setLayout(new GridLayoutManager(40, 4, new Insets(0, 0, 0, 5), -1, -1));
panel35.setLayout(new GridLayoutManager(40, 5, new Insets(0, 0, 0, 5), -1, -1));
panel35.setOpaque(false);
settingScrollPane.setViewportView(panel35);
final JLabel label23 = new JLabel();
this.$$$loadLabelText$$$(label23, ResourceBundle.getBundle("lang").getString("arma3_installpath"));
panel35.add(label23, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final Spacer spacer6 = new Spacer();
panel35.add(spacer6, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
this.$$$loadLabelText$$$(label23, this.$$$getMessageFromBundle$$$("lang", "arma3_installpath"));
panel35.add(label23, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsArmaPathText = new JTextField();
settingsArmaPathText.setEditable(false);
panel35.add(settingsArmaPathText, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsArmaPathText, new GridConstraints(1, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JLabel label24 = new JLabel();
this.$$$loadLabelText$$$(label24, ResourceBundle.getBundle("lang").getString("modset_folder"));
this.$$$loadLabelText$$$(label24, this.$$$getMessageFromBundle$$$("lang", "modset_folder"));
panel35.add(label24, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label25 = new JLabel();
this.$$$loadLabelText$$$(label25, ResourceBundle.getBundle("lang").getString("show_startparameter"));
panel35.add(label25, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label25, this.$$$getMessageFromBundle$$$("lang", "show_startparameter"));
panel35.add(label25, new GridConstraints(3, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label26 = new JLabel();
this.$$$loadLabelText$$$(label26, ResourceBundle.getBundle("lang").getString("check_modset"));
panel35.add(label26, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label26, this.$$$getMessageFromBundle$$$("lang", "check_modset"));
panel35.add(label26, new GridConstraints(4, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label27 = new JLabel();
this.$$$loadLabelText$$$(label27, ResourceBundle.getBundle("lang").getString("behaviour_aafter_start"));
panel35.add(label27, new GridConstraints(6, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label27, this.$$$getMessageFromBundle$$$("lang", "behaviour_aafter_start"));
panel35.add(label27, new GridConstraints(6, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsCheckModsBox = new JCheckBox();
settingsCheckModsBox.setText("");
panel35.add(settingsCheckModsBox, new GridConstraints(4, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsCheckModsBox, new GridConstraints(4, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsShowParameterBox = new JCheckBox();
settingsShowParameterBox.setText("");
panel35.add(settingsShowParameterBox, new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsShowParameterBox, new GridConstraints(3, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsArmaPathBtn = new JButton();
settingsArmaPathBtn.setText("...");
panel35.add(settingsArmaPathBtn, new GridConstraints(1, 3, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsArmaPathBtn, new GridConstraints(1, 4, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsModsPathText = new JTextField();
settingsModsPathText.setEditable(false);
panel35.add(settingsModsPathText, new GridConstraints(2, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsModsPathText, new GridConstraints(2, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
settingsModsPathBtn = new JButton();
settingsModsPathBtn.setText("...");
panel35.add(settingsModsPathBtn, new GridConstraints(2, 3, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsModsPathBtn, new GridConstraints(2, 4, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsBehaviorStartCombo = new JComboBox();
final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel();
defaultComboBoxModel1.addElement("Nothing");
defaultComboBoxModel1.addElement("Minimize");
defaultComboBoxModel1.addElement("Exit");
settingsBehaviorStartCombo.setModel(defaultComboBoxModel1);
panel35.add(settingsBehaviorStartCombo, new GridConstraints(6, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsBehaviorStartCombo, new GridConstraints(6, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label28 = new JLabel();
this.$$$loadLabelText$$$(label28, ResourceBundle.getBundle("lang").getString("backend_url"));
panel35.add(label28, new GridConstraints(8, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label28, this.$$$getMessageFromBundle$$$("lang", "backend_url"));
panel35.add(label28, new GridConstraints(8, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsBackendText = new JTextField();
settingsBackendText.setEditable(false);
settingsBackendText.setEnabled(true);
Font settingsBackendTextFont = this.$$$getFont$$$(null, Font.ITALIC, -1, settingsBackendText.getFont());
if (settingsBackendTextFont != null) settingsBackendText.setFont(settingsBackendTextFont);
panel35.add(settingsBackendText, new GridConstraints(8, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsBackendText, new GridConstraints(8, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JPanel panel36 = new JPanel();
panel36.setLayout(new GridLayoutManager(1, 1, new Insets(2, 5, 3, 0), -1, -1));
panel36.setBackground(new Color(-14736860));
panel36.setEnabled(false);
panel35.add(panel36, new GridConstraints(0, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel36, new GridConstraints(0, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JLabel label29 = new JLabel();
Font label29Font = this.$$$getFont$$$(null, Font.BOLD, 16, label29.getFont());
if (label29Font != null) label29.setFont(label29Font);
this.$$$loadLabelText$$$(label29, ResourceBundle.getBundle("lang").getString("client_settings"));
this.$$$loadLabelText$$$(label29, this.$$$getMessageFromBundle$$$("lang", "client_settings"));
panel36.add(label29, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel37 = new JPanel();
panel37.setLayout(new GridLayoutManager(1, 1, new Insets(2, 5, 3, 0), -1, -1));
panel37.setBackground(new Color(-14736860));
panel37.setEnabled(false);
panel35.add(panel37, new GridConstraints(11, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel37, new GridConstraints(11, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JLabel label30 = new JLabel();
Font label30Font = this.$$$getFont$$$(null, Font.BOLD, 16, label30.getFont());
if (label30Font != null) label30.setFont(label30Font);
this.$$$loadLabelText$$$(label30, ResourceBundle.getBundle("lang").getString("arm33_parameter"));
this.$$$loadLabelText$$$(label30, this.$$$getMessageFromBundle$$$("lang", "arm33_parameter"));
panel37.add(label30, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel38 = new JPanel();
panel38.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 25, 0), -1, -1));
panel35.add(panel38, new GridConstraints(10, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel38, new GridConstraints(10, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JLabel label31 = new JLabel();
label31.setText("Profile");
label31.setToolTipText(ResourceBundle.getBundle("lang").getString("profile_desc"));
panel35.add(label31, new GridConstraints(12, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label31.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "profile_desc"));
panel35.add(label31, new GridConstraints(12, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsProfileCombo = new JComboBox();
panel35.add(settingsProfileCombo, new GridConstraints(12, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsProfileCombo, new GridConstraints(12, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label32 = new JLabel();
label32.setText("Use64BitClient");
label32.setToolTipText(ResourceBundle.getBundle("lang").getString("use64bitclient_desc"));
panel35.add(label32, new GridConstraints(13, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label32.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "use64bitclient_desc"));
panel35.add(label32, new GridConstraints(13, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label33 = new JLabel();
label33.setText("NoSplash");
label33.setToolTipText(ResourceBundle.getBundle("lang").getString("nosplash_desc"));
panel35.add(label33, new GridConstraints(15, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label33.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "nosplash_desc"));
panel35.add(label33, new GridConstraints(15, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label34 = new JLabel();
label34.setText("SkipIntro");
label34.setToolTipText(ResourceBundle.getBundle("lang").getString("skipintro_desc"));
panel35.add(label34, new GridConstraints(16, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label34.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "skipintro_desc"));
panel35.add(label34, new GridConstraints(16, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label35 = new JLabel();
label35.setText("World");
label35.setToolTipText(ResourceBundle.getBundle("lang").getString("world_desc"));
panel35.add(label35, new GridConstraints(17, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label35.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "world_desc"));
panel35.add(label35, new GridConstraints(17, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsWorldText = new JTextField();
panel35.add(settingsWorldText, new GridConstraints(17, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsWorldText, new GridConstraints(17, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JLabel label36 = new JLabel();
label36.setText("MaxMem");
label36.setToolTipText(ResourceBundle.getBundle("lang").getString("maxmem_desc"));
panel35.add(label36, new GridConstraints(19, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label36.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "maxmem_desc"));
panel35.add(label36, new GridConstraints(19, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label37 = new JLabel();
label37.setText("MaxVRAM");
label37.setToolTipText(ResourceBundle.getBundle("lang").getString("maxvram_desc"));
panel35.add(label37, new GridConstraints(20, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label37.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "maxvram_desc"));
panel35.add(label37, new GridConstraints(20, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label38 = new JLabel();
label38.setText("NoCB");
label38.setToolTipText(ResourceBundle.getBundle("lang").getString("nocb_desc"));
label38.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "nocb_desc"));
label38.setVerifyInputWhenFocusTarget(false);
panel35.add(label38, new GridConstraints(21, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(label38, new GridConstraints(21, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label39 = new JLabel();
label39.setText("CpuCount");
label39.setToolTipText(ResourceBundle.getBundle("lang").getString("cpucount_desc"));
panel35.add(label39, new GridConstraints(22, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label39.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "cpucount_desc"));
panel35.add(label39, new GridConstraints(22, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label40 = new JLabel();
label40.setText("ExThreads");
label40.setToolTipText(ResourceBundle.getBundle("lang").getString("exthreads_desc"));
panel35.add(label40, new GridConstraints(23, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label40.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "exthreads_desc"));
panel35.add(label40, new GridConstraints(23, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label41 = new JLabel();
label41.setText("Malloc");
label41.setToolTipText(ResourceBundle.getBundle("lang").getString("malloc_desc"));
panel35.add(label41, new GridConstraints(24, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label41.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "malloc_desc"));
panel35.add(label41, new GridConstraints(24, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label42 = new JLabel();
label42.setText("NoLogs");
label42.setToolTipText(ResourceBundle.getBundle("lang").getString("nologs_desc"));
panel35.add(label42, new GridConstraints(25, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label42.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "nologs_desc"));
panel35.add(label42, new GridConstraints(25, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label43 = new JLabel();
label43.setText("EnableHT");
label43.setToolTipText(ResourceBundle.getBundle("lang").getString("enableht_desc"));
panel35.add(label43, new GridConstraints(26, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label43.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "enableht_desc"));
panel35.add(label43, new GridConstraints(26, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label44 = new JLabel();
label44.setText("Hugepages");
label44.setToolTipText(ResourceBundle.getBundle("lang").getString("hugepages_desc"));
panel35.add(label44, new GridConstraints(27, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label44.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "hugepages_desc"));
panel35.add(label44, new GridConstraints(27, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel39 = new JPanel();
panel39.setLayout(new GridLayoutManager(1, 1, new Insets(5, 0, 5, 0), -1, -1));
panel35.add(panel39, new GridConstraints(18, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel39, new GridConstraints(18, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JPanel panel40 = new JPanel();
panel40.setLayout(new GridLayoutManager(1, 1, new Insets(2, 6, 5, 0), -1, -1));
panel40.setBackground(new Color(-14210516));
@ -2061,11 +2092,11 @@ public class LauncherGUI implements Observer {
final JLabel label45 = new JLabel();
Font label45Font = this.$$$getFont$$$(null, Font.BOLD | Font.ITALIC, 14, label45.getFont());
if (label45Font != null) label45.setFont(label45Font);
this.$$$loadLabelText$$$(label45, ResourceBundle.getBundle("lang").getString("performance"));
this.$$$loadLabelText$$$(label45, this.$$$getMessageFromBundle$$$("lang", "performance"));
panel40.add(label45, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel41 = new JPanel();
panel41.setLayout(new GridLayoutManager(1, 1, new Insets(5, 0, 5, 0), -1, -1));
panel35.add(panel41, new GridConstraints(14, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel41, new GridConstraints(14, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JPanel panel42 = new JPanel();
panel42.setLayout(new GridLayoutManager(1, 1, new Insets(2, 6, 5, 0), -1, -1));
panel42.setBackground(new Color(-14210516));
@ -2073,11 +2104,11 @@ public class LauncherGUI implements Observer {
final JLabel label46 = new JLabel();
Font label46Font = this.$$$getFont$$$(null, Font.BOLD | Font.ITALIC, 14, label46.getFont());
if (label46Font != null) label46.setFont(label46Font);
this.$$$loadLabelText$$$(label46, ResourceBundle.getBundle("lang").getString("speed_up_game"));
this.$$$loadLabelText$$$(label46, this.$$$getMessageFromBundle$$$("lang", "speed_up_game"));
panel42.add(label46, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel43 = new JPanel();
panel43.setLayout(new GridLayoutManager(1, 1, new Insets(5, 0, 5, 0), -1, -1));
panel35.add(panel43, new GridConstraints(28, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel43, new GridConstraints(28, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JPanel panel44 = new JPanel();
panel44.setLayout(new GridLayoutManager(1, 1, new Insets(2, 6, 5, 0), -1, -1));
panel44.setBackground(new Color(-14210516));
@ -2085,39 +2116,39 @@ public class LauncherGUI implements Observer {
final JLabel label47 = new JLabel();
Font label47Font = this.$$$getFont$$$(null, Font.BOLD | Font.ITALIC, 14, label47.getFont());
if (label47Font != null) label47.setFont(label47Font);
this.$$$loadLabelText$$$(label47, ResourceBundle.getBundle("lang").getString("developer_settings"));
this.$$$loadLabelText$$$(label47, this.$$$getMessageFromBundle$$$("lang", "developer_settings"));
panel44.add(label47, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label48 = new JLabel();
label48.setText("NoPause");
label48.setToolTipText(ResourceBundle.getBundle("lang").getString("nopause_desc"));
panel35.add(label48, new GridConstraints(29, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label48.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "nopause_desc"));
panel35.add(label48, new GridConstraints(29, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label49 = new JLabel();
label49.setText("ShowScriptErrors");
label49.setToolTipText(ResourceBundle.getBundle("lang").getString("showscripterrors_desc"));
panel35.add(label49, new GridConstraints(30, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label49.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "showscripterrors_desc"));
panel35.add(label49, new GridConstraints(30, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label50 = new JLabel();
label50.setText("FilePatching");
label50.setToolTipText(ResourceBundle.getBundle("lang").getString("filepatching_desc"));
panel35.add(label50, new GridConstraints(31, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label50.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "filepatching_desc"));
panel35.add(label50, new GridConstraints(31, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label51 = new JLabel();
label51.setText("Init");
label51.setToolTipText(ResourceBundle.getBundle("lang").getString("init_desc"));
panel35.add(label51, new GridConstraints(32, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label51.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "init_desc"));
panel35.add(label51, new GridConstraints(32, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label52 = new JLabel();
label52.setText("Beta");
label52.setToolTipText(ResourceBundle.getBundle("lang").getString("beta_desc"));
panel35.add(label52, new GridConstraints(33, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label52.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "beta_desc"));
panel35.add(label52, new GridConstraints(33, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label53 = new JLabel();
label53.setText("CrashDiag");
label53.setToolTipText(ResourceBundle.getBundle("lang").getString("crashdiag_desc"));
panel35.add(label53, new GridConstraints(34, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label53.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "crashdiag_desc"));
panel35.add(label53, new GridConstraints(34, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label54 = new JLabel();
label54.setText("Window");
label54.setToolTipText(ResourceBundle.getBundle("lang").getString("window_desc"));
panel35.add(label54, new GridConstraints(36, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label54.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "window_desc"));
panel35.add(label54, new GridConstraints(36, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel45 = new JPanel();
panel45.setLayout(new GridLayoutManager(1, 1, new Insets(5, 0, 5, 0), -1, -1));
panel35.add(panel45, new GridConstraints(35, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel45, new GridConstraints(35, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JPanel panel46 = new JPanel();
panel46.setLayout(new GridLayoutManager(1, 1, new Insets(2, 6, 5, 0), -1, -1));
panel46.setBackground(new Color(-14210516));
@ -2125,19 +2156,19 @@ public class LauncherGUI implements Observer {
final JLabel label55 = new JLabel();
Font label55Font = this.$$$getFont$$$(null, Font.BOLD | Font.ITALIC, 14, label55.getFont());
if (label55Font != null) label55.setFont(label55Font);
this.$$$loadLabelText$$$(label55, ResourceBundle.getBundle("lang").getString("display_settings"));
this.$$$loadLabelText$$$(label55, this.$$$getMessageFromBundle$$$("lang", "display_settings"));
panel46.add(label55, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label56 = new JLabel();
label56.setText("PosX");
label56.setToolTipText(ResourceBundle.getBundle("lang").getString("posx_desc"));
panel35.add(label56, new GridConstraints(37, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label56.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "posx_desc"));
panel35.add(label56, new GridConstraints(37, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label57 = new JLabel();
label57.setText("PosY");
label57.setToolTipText(ResourceBundle.getBundle("lang").getString("posy_desc"));
panel35.add(label57, new GridConstraints(38, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
label57.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "posy_desc"));
panel35.add(label57, new GridConstraints(38, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsNoCBBox = new JCheckBox();
settingsNoCBBox.setText("");
panel35.add(settingsNoCBBox, new GridConstraints(21, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsNoCBBox, new GridConstraints(21, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsMallocCombo = new JComboBox();
final DefaultComboBoxModel defaultComboBoxModel2 = new DefaultComboBoxModel();
defaultComboBoxModel2.addElement("");
@ -2147,99 +2178,102 @@ public class LauncherGUI implements Observer {
defaultComboBoxModel2.addElement("jemalloc_bi_x64");
defaultComboBoxModel2.addElement("system");
settingsMallocCombo.setModel(defaultComboBoxModel2);
panel35.add(settingsMallocCombo, new GridConstraints(24, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsMallocCombo, new GridConstraints(24, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsNoLogsBox = new JCheckBox();
settingsNoLogsBox.setText("");
panel35.add(settingsNoLogsBox, new GridConstraints(25, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsNoLogsBox, new GridConstraints(25, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsEnableHTBox = new JCheckBox();
settingsEnableHTBox.setText("");
panel35.add(settingsEnableHTBox, new GridConstraints(26, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsEnableHTBox, new GridConstraints(26, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsHugeoagesBox = new JCheckBox();
settingsHugeoagesBox.setText("");
panel35.add(settingsHugeoagesBox, new GridConstraints(27, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsHugeoagesBox, new GridConstraints(27, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsNoPauseBox = new JCheckBox();
settingsNoPauseBox.setText("");
panel35.add(settingsNoPauseBox, new GridConstraints(29, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsNoPauseBox, new GridConstraints(29, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsShowScriptErrorsBox = new JCheckBox();
settingsShowScriptErrorsBox.setText("");
panel35.add(settingsShowScriptErrorsBox, new GridConstraints(30, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsShowScriptErrorsBox, new GridConstraints(30, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsFilePatchingBox = new JCheckBox();
settingsFilePatchingBox.setText("");
panel35.add(settingsFilePatchingBox, new GridConstraints(31, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsFilePatchingBox, new GridConstraints(31, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsCrashDiagBox = new JCheckBox();
settingsCrashDiagBox.setText("");
panel35.add(settingsCrashDiagBox, new GridConstraints(34, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsCrashDiagBox, new GridConstraints(34, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsWindowBox = new JCheckBox();
settingsWindowBox.setText("");
panel35.add(settingsWindowBox, new GridConstraints(36, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsWindowBox, new GridConstraints(36, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsMaxMemSpinner = new JSpinner();
panel35.add(settingsMaxMemSpinner, new GridConstraints(19, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsMaxMemSpinner, new GridConstraints(19, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsMaxVRamSpinner = new JSpinner();
panel35.add(settingsMaxVRamSpinner, new GridConstraints(20, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsMaxVRamSpinner, new GridConstraints(20, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsCpuCountSpinner = new JSpinner();
panel35.add(settingsCpuCountSpinner, new GridConstraints(22, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsCpuCountSpinner, new GridConstraints(22, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsPosXSpinner = new JSpinner();
panel35.add(settingsPosXSpinner, new GridConstraints(37, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsPosXSpinner, new GridConstraints(37, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsPosYSpinner = new JSpinner();
panel35.add(settingsPosYSpinner, new GridConstraints(38, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsPosYSpinner, new GridConstraints(38, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsInitText = new JTextField();
panel35.add(settingsInitText, new GridConstraints(32, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsInitText, new GridConstraints(32, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
settingsExThreadsCombo = new JComboBox();
final DefaultComboBoxModel defaultComboBoxModel3 = new DefaultComboBoxModel();
defaultComboBoxModel3.addElement("");
defaultComboBoxModel3.addElement("3");
defaultComboBoxModel3.addElement("7");
settingsExThreadsCombo.setModel(defaultComboBoxModel3);
panel35.add(settingsExThreadsCombo, new GridConstraints(23, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsExThreadsCombo, new GridConstraints(23, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsSkipIntroBox = new JCheckBox();
settingsSkipIntroBox.setText("");
panel35.add(settingsSkipIntroBox, new GridConstraints(16, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsSkipIntroBox, new GridConstraints(16, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsNoSplashBox = new JCheckBox();
settingsNoSplashBox.setText("");
panel35.add(settingsNoSplashBox, new GridConstraints(15, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsNoSplashBox, new GridConstraints(15, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsUseSixtyFourBitBox = new JCheckBox();
settingsUseSixtyFourBitBox.setText("");
panel35.add(settingsUseSixtyFourBitBox, new GridConstraints(13, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsUseSixtyFourBitBox, new GridConstraints(13, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label58 = new JLabel();
this.$$$loadLabelText$$$(label58, ResourceBundle.getBundle("lang").getString("language"));
panel35.add(label58, new GridConstraints(7, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label58, this.$$$getMessageFromBundle$$$("lang", "language"));
panel35.add(label58, new GridConstraints(7, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsLanguageCombo = new JComboBox();
final DefaultComboBoxModel defaultComboBoxModel4 = new DefaultComboBoxModel();
defaultComboBoxModel4.addElement("System");
defaultComboBoxModel4.addElement("English");
defaultComboBoxModel4.addElement("Deutsch");
settingsLanguageCombo.setModel(defaultComboBoxModel4);
panel35.add(settingsLanguageCombo, new GridConstraints(7, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsLanguageCombo, new GridConstraints(7, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsBetaText = new JTextField();
panel35.add(settingsBetaText, new GridConstraints(33, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
panel35.add(settingsBetaText, new GridConstraints(33, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JPanel panel47 = new JPanel();
panel47.setLayout(new GridLayoutManager(1, 1, new Insets(25, 0, 5, 0), -1, -1));
panel35.add(panel47, new GridConstraints(39, 0, 1, 4, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel35.add(panel47, new GridConstraints(39, 0, 1, 5, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
settingsResetDefault = new JButton();
Font settingsResetDefaultFont = this.$$$getFont$$$(null, Font.BOLD, 14, settingsResetDefault.getFont());
if (settingsResetDefaultFont != null) settingsResetDefault.setFont(settingsResetDefaultFont);
this.$$$loadButtonText$$$(settingsResetDefault, ResourceBundle.getBundle("lang").getString("reset_default"));
this.$$$loadButtonText$$$(settingsResetDefault, this.$$$getMessageFromBundle$$$("lang", "reset_default"));
panel47.add(settingsResetDefault, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label59 = new JLabel();
this.$$$loadLabelText$$$(label59, ResourceBundle.getBundle("lang").getString("use_workshop"));
label59.setToolTipText(ResourceBundle.getBundle("lang").getString("use_workshop_desc"));
panel35.add(label59, new GridConstraints(5, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label59, this.$$$getMessageFromBundle$$$("lang", "use_workshop"));
label59.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "use_workshop_desc"));
panel35.add(label59, new GridConstraints(5, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsUseWorkshopBox = new JCheckBox();
settingsUseWorkshopBox.setText("");
panel35.add(settingsUseWorkshopBox, new GridConstraints(5, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsUseWorkshopBox, new GridConstraints(5, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label60 = new JLabel();
label60.setText("MB");
panel35.add(label60, new GridConstraints(19, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(label60, new GridConstraints(19, 4, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label61 = new JLabel();
label61.setText("MB");
panel35.add(label61, new GridConstraints(20, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(label61, new GridConstraints(20, 4, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label62 = new JLabel();
this.$$$loadLabelText$$$(label62, ResourceBundle.getBundle("lang").getString("use_debug"));
label62.setToolTipText(ResourceBundle.getBundle("lang").getString("use_debug_tooltip"));
panel35.add(label62, new GridConstraints(9, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
this.$$$loadLabelText$$$(label62, this.$$$getMessageFromBundle$$$("lang", "use_debug"));
label62.setToolTipText(this.$$$getMessageFromBundle$$$("lang", "use_debug_tooltip"));
panel35.add(label62, new GridConstraints(9, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
settingsDebugBox = new JCheckBox();
settingsDebugBox.setText("");
panel35.add(settingsDebugBox, new GridConstraints(9, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
panel35.add(settingsDebugBox, new GridConstraints(9, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
showModfolderInExplorerButton = new JButton();
this.$$$loadButtonText$$$(showModfolderInExplorerButton, this.$$$getMessageFromBundle$$$("lang", "show_in_explorer"));
panel35.add(showModfolderInExplorerButton, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
aboutTab = new JPanel();
aboutTab.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
aboutTab.setOpaque(true);
@ -2265,26 +2299,26 @@ public class LauncherGUI implements Observer {
panel50.add(aboutClient, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_SOUTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
aboutUpdateLabel = new JLabel();
aboutUpdateLabel.setRequestFocusEnabled(true);
this.$$$loadLabelText$$$(aboutUpdateLabel, ResourceBundle.getBundle("lang").getString("client_up_to_date"));
this.$$$loadLabelText$$$(aboutUpdateLabel, this.$$$getMessageFromBundle$$$("lang", "client_up_to_date"));
panel50.add(aboutUpdateLabel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_NORTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel51 = new JPanel();
panel51.setLayout(new GridLayoutManager(2, 2, new Insets(0, 0, 0, 0), -1, -1));
panel50.add(panel51, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final JLabel label63 = new JLabel();
this.$$$loadLabelText$$$(label63, ResourceBundle.getBundle("lang").getString("developer_page"));
this.$$$loadLabelText$$$(label63, this.$$$getMessageFromBundle$$$("lang", "developer_page"));
panel51.add(label63, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_SOUTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
aboutDeveloperLabel = new JLabel();
aboutDeveloperLabel.setRequestFocusEnabled(true);
aboutDeveloperLabel.setText("github.com");
panel51.add(aboutDeveloperLabel, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_SOUTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JLabel label64 = new JLabel();
this.$$$loadLabelText$$$(label64, ResourceBundle.getBundle("lang").getString("project_page"));
this.$$$loadLabelText$$$(label64, this.$$$getMessageFromBundle$$$("lang", "project_page"));
panel51.add(label64, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_NORTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
aboutProjectLabel = new JLabel();
aboutProjectLabel.setText("gurkengewuerz.de");
panel51.add(aboutProjectLabel, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_NORTHWEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
updateButton = new JButton();
this.$$$loadButtonText$$$(updateButton, ResourceBundle.getBundle("lang").getString("update_now"));
this.$$$loadButtonText$$$(updateButton, this.$$$getMessageFromBundle$$$("lang", "update_now"));
panel50.add(updateButton, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel52 = new JPanel();
panel52.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
@ -2300,7 +2334,7 @@ public class LauncherGUI implements Observer {
splitPane2.setRightComponent(panel53);
final JScrollPane scrollPane3 = new JScrollPane();
panel53.add(scrollPane3, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
scrollPane3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null));
scrollPane3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
disclaimer = new JTextPane();
disclaimer.setContentType("text/html");
disclaimer.setEditable(false);
@ -2328,6 +2362,23 @@ public class LauncherGUI implements Observer {
return new Font(resultName, style >= 0 ? style : currentFont.getStyle(), size >= 0 ? size : currentFont.getSize());
}
private static Method $$$cachedGetBundleMethod$$$ = null;
private String $$$getMessageFromBundle$$$(String path, String key) {
ResourceBundle bundle;
try {
Class<?> thisClass = this.getClass();
if ($$$cachedGetBundleMethod$$$ == null) {
Class<?> dynamicBundleClass = thisClass.getClassLoader().loadClass("com.intellij.DynamicBundle");
$$$cachedGetBundleMethod$$$ = dynamicBundleClass.getMethod("getBundle", String.class, Class.class);
}
bundle = (ResourceBundle) $$$cachedGetBundleMethod$$$.invoke(null, path, thisClass);
} catch (Exception e) {
bundle = ResourceBundle.getBundle(path);
}
return bundle.getString(key);
}
/**
* @noinspection ALL
*/

View File

@ -28,8 +28,10 @@ public class ModFile implements AbstractMod {
private String sha1sum;
private String parent;
private String localGeneratedSHA1sum = "";
private long lastModified = -1;
private long localLastModified = -1;
public ModFile(File f, String modfile, String parent, long size, String sha1sum) {
public ModFile(File f, String modfile, String parent, long size, String sha1sum, long lastModified) {
// File: Abosolut Path
// modfile: addons/config/something.pbo
// size: size as in metafile on server
@ -39,10 +41,11 @@ public class ModFile implements AbstractMod {
this.modfileString = modfile;
this.sha1sum = sha1sum.toLowerCase();
this.parent = parent;
this.lastModified = lastModified;
}
public ModFile(File f, String modfile, long size, String sha1sum) {
this(f, modfile, null, size, sha1sum);
public ModFile(File f, String modfile, long size, String sha1sum, long lastModified) {
this(f, modfile, null, size, sha1sum, lastModified);
}
public long getSize() {
@ -91,6 +94,18 @@ public class ModFile implements AbstractMod {
return sha1sum;
}
public long getLocalLastModified() {
if (localLastModified <= 0 && exists()) {
localLastModified = (int) (f.lastModified() / 1000);
}
return localLastModified;
}
public long getLastModified() {
return lastModified;
}
public String getLocalGeneratedSHA1Sum() {
try {
if (localGeneratedSHA1sum.isEmpty() && exists()) {

View File

@ -6,7 +6,6 @@ import de.mc8051.arma3launcher.interfaces.Observer;
import de.mc8051.arma3launcher.objects.AbstractMod;
import de.mc8051.arma3launcher.objects.Mod;
import de.mc8051.arma3launcher.objects.ModFile;
import de.mc8051.arma3launcher.utils.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -123,7 +122,7 @@ public class FileChecker implements Observable {
return running;
}
private void checkFile(String mod, ModFile mf, boolean fastscan) {
private boolean checkFile(String mod, ModFile mf, boolean fastscan) {
logger.debug("Check {}", mf.getLocaleFile().getAbsolutePath());
ArrayList<ModFile> temp = new ArrayList<>();
@ -135,23 +134,23 @@ public class FileChecker implements Observable {
addedCount++;
size += mf.getSize();
logger.info("File {} not exists", mf.getLocaleFile().getAbsolutePath());
return;
return true;
}
if (fastscan || !mf.getSHA1Sum().equalsIgnoreCase(mf.getLocalGeneratedSHA1Sum())) {
if (mf.getLocalSize() != mf.getSize()) {
if (mf.getLocalSize() != mf.getSize()
|| mf.getLocalLastModified() != mf.getLastModified()
|| (!fastscan && !mf.getSHA1Sum().equalsIgnoreCase(mf.getLocalGeneratedSHA1Sum()))) {
if (changed.containsKey(mod)) temp = changed.get(mod);
temp.add(mf);
changed.put(mod, temp);
changedCount++;
size += mf.getSize();
logger.debug("File {} changed", mf.getLocaleFile().getAbsolutePath());
return;
}
return true;
}
logger.debug("File {} is okay", mf.getLocaleFile().getAbsolutePath());
return false;
}
private void checkDeleted() {
@ -242,4 +241,9 @@ public class FileChecker implements Observable {
public void notifyObservers(String obj) {
for (Observer obs : observerList) obs.update(obj);
}
public static enum Type {
FAST,
SLOW
}
}

View File

@ -183,15 +183,16 @@ public class RepositoryManger implements Observable {
JSONObject jo = content.getJSONObject(modfile);
long modfilesize = jo.getLong("size");
String sha1 = jo.getString("sha1");
final long lastModified = jo.getLong("lastModified");
modFiles.add(new ModFile(new File(finalModPath + File.separator + modname + File.separator + modfile), modfile, modname, modfilesize, sha1));
modFiles.add(new ModFile(new File(finalModPath + File.separator + modname + File.separator + modfile), modfile, modname, modfilesize, sha1, lastModified));
RepositoryManger.MOD_LIST_SIZE++;
}
MOD_LIST.add(new Mod(modname, modsize, modFiles));
} else {
// Single File
MOD_LIST.add(new ModFile(new File(finalModPath + File.separator + modname), modname, modsize, jsonMod.getString("sha1")));
MOD_LIST.add(new ModFile(new File(finalModPath + File.separator + modname), modname, modsize, jsonMod.getString("sha1"), jsonMod.getLong("lastModified")));
RepositoryManger.MOD_LIST_SIZE++;
}

View File

@ -4,7 +4,7 @@
"subtitle": "${name} v${version}",
"sync": {
"useragent": "TheTownSyncer",
"url": "http://46.4.195.36"
"url": "http://repo.the-town.net"
},
"social": {
"twitter": "https://twitter.com/TheTownServer",

View File

@ -112,3 +112,4 @@ arma_path_not_found=ArmA 3 Pfad nicht gefunden
arma_path_not_found_msg=Der Installationsordner von ArmA 3 konnte nicht automatisch erkannt werden. Bitte gehe zuerst in die Einstellungen.
use_debug=Detaillierter Log
use_debug_tooltip=Der Client benutzt einen detaillierten Log. Die Funktion ist nur wichtig, wenn du einen Fehler melden möchtest
show_in_explorer=Pfad öffnen

View File

@ -115,3 +115,4 @@ arma_path_not_found=ArmA 3 path can't be detected
arma_path_not_found_msg=The installation folder of ArmA 3 could not be detected automatically. Please go to the settings first.
use_debug=Use debug log
use_debug_tooltip=The client uses a detailed log. This function is only important if you want to report an error.
show_in_explorer=Open in explorer

View File

@ -25,7 +25,7 @@ fi
declare -A SHASUMS
echo "===== ===== ===== GENERATE .ZSYNC ===== ===== ====="
FILELIST=$(find . -type f ! -path "*/.sync*" ! -path "*.zsync")
FILELIST=$(find . -type f ! -path '*generateRepo.*' ! -path 'generateRepo.*' ! -path "*/.sync*" ! -path "*.zsync")
while IFS= read -r line; do
mustgenerate=false
zsyncfile="${line}.zsync"
@ -81,7 +81,7 @@ done <<< "$ZSYNCLIST"
echo -e "===== ===== ===== ===== ===== =====\n"
echo "===== ===== ===== GENERATE METADATA ===== ===== ====="
FILELIST=$(find . -maxdepth 1 ! -path "*/.sync*" ! -path "*.zsync" ! -path "." | sed 's|^./||')
FILELIST=$(find . -maxdepth 1 ! -path '*generateRepo.*' ! -path "*/.sync*" ! -path "*.zsync" ! -path "." | sed 's|^./||')
declare -a JSONDATA
while IFS= read -r folder; do
echo "${folder}"
@ -93,6 +93,7 @@ while IFS= read -r folder; do
FILEFOLDER=$(find "${folder}" -type f ! -path "*.zsync" | sed 's|^./||')
while IFS= read -r folderfile; do
filebyte=$(wc -c < "${folderfile}")
lastModified=$(stat -c %Y "${folderfile}")
if [ $filebyte -eq 0 ]; then
echo "Skipping \"${folderfile}\" because file is empty"
@ -101,7 +102,7 @@ while IFS= read -r folder; do
foldersize=$(expr $foldersize + $filebyte)
name=$(echo "${folderfile}" | cut -d"/" -f2-)
x="\"${name}\":{\"size\": ${filebyte}, \"sha1\": \"${SHASUMS[$folderfile]}\"},${x}"
x="\"${name}\":{\"size\": ${filebyte}, \"sha1\": \"${SHASUMS[$folderfile]}\", \"lastModified\": ${lastModified}},${x}"
done <<< "$FILEFOLDER"
x=$(echo ${x} | rev | cut -c2- | rev)
@ -113,10 +114,11 @@ while IFS= read -r folder; do
else
echo "is file"
filebyte=$(wc -c < "${folder}")
lastModified=$(stat -c %Y "${folderfile}")
if [ $filebyte -eq 0 ]; then
continue
fi
JSONDATA+=( "\"${folder}\": {\"size\":${filebyte}, \"sha1\": \"${SHASUMS[$folder]}\"}" )
JSONDATA+=( "\"${folder}\": {\"size\":${filebyte}, \"sha1\": \"${SHASUMS[$folder]}\", \"lastModified\": ${lastModified}}" )
fi
done <<< "$FILELIST"

View File

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<properties>
<gui.version>0.1.1006</gui.version>
<gui.version>0.1.1008</gui.version>
</properties>
<groupId>de.mc8051</groupId>