Add GUI desktop application

- Add gui/ package: CustomTkinter app with dashboard, mods, tools, logs,
  and settings views; first-run SetupWizard for config.json generation
- Add gui.py root entry point (calls gui.run_app())
- Add selection.json for GUI selection state persistence
- Add customtkinter to requirements.txt
- Fix link_mods.py minor issues surfaced during GUI integration
- Add modlist_html/Test_Preset_A.html and Test_Preset_B.html as example inputs
- Update README.md: add GUI prerequisites, gui.py script section, gui/ folder
  structure, customtkinter to prerequisites table
- Update CLAUDE.md: add python gui.py to common commands, document GUI package
  architecture and views

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
revernomad17
2026-04-08 13:36:49 +07:00
parent 595544e94f
commit 57895a04d3
20 changed files with 2185 additions and 6 deletions

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<html>
<!--Created by Arma 3 Launcher: https://arma3.com-->
<head>
<meta name="arma:Type" content="list" />
<meta name="generator" content="Arma 3 Launcher - https://arma3.com" />
<title>Arma 3</title>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" type="text/css" />
<style>
body {
margin: 0;
padding: 0;
color: #fff;
background: #000;
}
body, th, td {
font: 95%/1.3 Roboto, Segoe UI, Tahoma, Arial, Helvetica, sans-serif;
}
td {
padding: 3px 30px 3px 0;
}
h1 {
padding: 20px 20px 0 20px;
color: white;
font-weight: 200;
font-family: segoe ui;
font-size: 3em;
margin: 0;
}
em {
font-variant: italic;
color:silver;
}
.before-list {
padding: 5px 20px 10px 20px;
}
.mod-list {
background: #222222;
padding: 20px;
}
.dlc-list {
background: #222222;
padding: 20px;
}
.footer {
padding: 20px;
color:gray;
}
.whups {
color:gray;
}
a {
color: #D18F21;
text-decoration: underline;
}
a:hover {
color:#F1AF41;
text-decoration: none;
}
.from-steam {
color: #449EBD;
}
.from-local {
color: gray;
}
</style>
</head>
<body>
<h1>Arma 3 Mods</h1>
<p class="before-list">
<em>To import this preset, drag this file onto the Launcher window. Or click the MODS tab, then PRESET in the top right, then IMPORT at the bottom, and finally select this file.</em>
</p>
<div class="mod-list">
<table>
<tr data-type="ModContainer">
<td data-type="DisplayName">CBA_A3</td>
<td>
<span class="from-steam">Steam</span>
</td>
<td>
<a href="https://steamcommunity.com/sharedfiles/filedetails/?id=450814997" data-type="Link">https://steamcommunity.com/sharedfiles/filedetails/?id=450814997</a>
</td>
</tr>
<tr data-type="ModContainer">
<td data-type="DisplayName">Zeus Enhanced</td>
<td>
<span class="from-steam">Steam</span>
</td>
<td>
<a href="https://steamcommunity.com/sharedfiles/filedetails/?id=1779063631" data-type="Link">https://steamcommunity.com/sharedfiles/filedetails/?id=1779063631</a>
</td>
</tr>
<tr data-type="ModContainer">
<td data-type="DisplayName">DUI - Squad Radar</td>
<td>
<span class="from-steam">Steam</span>
</td>
<td>
<a href="https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685" data-type="Link">https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685</a>
</td>
</tr>
</table>
</div>
<div class="footer">
<span>Created by Arma 3 Launcher (https://arma3.com)</span>
</div>
</body>
</html>