jadio-code 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jadio_code/Backend/main/code_aigent/aigent_bottombox_core.py +0 -0
- jadio_code/Backend/main/code_aigent/aigent_chatwindow_core.py +0 -0
- jadio_code/Backend/main/code_aigent/aigent_core.py +0 -0
- jadio_code/Backend/main/code_aigent/aigent_sidebar_core.py +0 -0
- jadio_code/Backend/main/code_aigent/aigent_terminal_core.py +0 -0
- jadio_code/Backend/main/code_aigent/aigent_topbox_core.py +0 -0
- jadio_code/Backend/main/editor/editor_core.py +0 -0
- jadio_code/Backend/main/explorer/exploer_sidebar_core.py +0 -0
- jadio_code/Backend/main/explorer/explorer_core.py +0 -0
- jadio_code/Backend/main/terminal/terminal_core.py +0 -0
- jadio_code/Backend/sub/code_doctor/code_doctor_core.py +0 -0
- jadio_code/Backend/sub/help/help_core.py +0 -0
- jadio_code/Backend/sub/lan/lan_core.py +0 -0
- jadio_code/Backend/sub/llm/llm_core.py +0 -0
- jadio_code/Backend/sub/plugins/plugins_core.py +0 -0
- jadio_code/Backend/sub/settings/settings_core.py +0 -0
- jadio_code/UI/__init__.py +0 -0
- jadio_code/UI/icons/bell.svg +4 -0
- jadio_code/UI/icons/bolt.svg +3 -0
- jadio_code/UI/icons/check.svg +3 -0
- jadio_code/UI/icons/clipboard.svg +4 -0
- jadio_code/UI/icons/clock.svg +5 -0
- jadio_code/UI/icons/cloud.svg +3 -0
- jadio_code/UI/icons/down.svg +3 -0
- jadio_code/UI/icons/download.svg +5 -0
- jadio_code/UI/icons/explorer.svg +4 -0
- jadio_code/UI/icons/eye.svg +4 -0
- jadio_code/UI/icons/folder.svg +3 -0
- jadio_code/UI/icons/folder2.svg +4 -0
- jadio_code/UI/icons/glass.svg +4 -0
- jadio_code/UI/icons/globe.svg +5 -0
- jadio_code/UI/icons/grid.svg +5 -0
- jadio_code/UI/icons/idk.svg +4 -0
- jadio_code/UI/icons/info.svg +5 -0
- jadio_code/UI/icons/left.svg +3 -0
- jadio_code/UI/icons/lock.svg +5 -0
- jadio_code/UI/icons/lock2.svg +5 -0
- jadio_code/UI/icons/message.svg +4 -0
- jadio_code/UI/icons/net.svg +12 -0
- jadio_code/UI/icons/pencil.svg +4 -0
- jadio_code/UI/icons/play.svg +4 -0
- jadio_code/UI/icons/plus.svg +8 -0
- jadio_code/UI/icons/right.svg +3 -0
- jadio_code/UI/icons/robot.svg +6 -0
- jadio_code/UI/icons/split.svg +4 -0
- jadio_code/UI/icons/star.svg +3 -0
- jadio_code/UI/icons/stop.svg +4 -0
- jadio_code/UI/icons/tabs.svg +5 -0
- jadio_code/UI/icons/terminal.svg +5 -0
- jadio_code/UI/icons/up.svg +3 -0
- jadio_code/UI/icons/upload.svg +5 -0
- jadio_code/UI/icons/user.svg +4 -0
- jadio_code/UI/icons/warning.svg +5 -0
- jadio_code/UI/icons/x.svg +4 -0
- jadio_code/UI/main.py +101 -0
- jadio_code/UI/mainwindows/__init__.py +0 -0
- jadio_code/UI/mainwindows/code_aigent/__init__.py +0 -0
- jadio_code/UI/mainwindows/code_aigent/aigent_controller.py +114 -0
- jadio_code/UI/mainwindows/code_aigent/aigent_menu.py +91 -0
- jadio_code/UI/mainwindows/code_aigent/aigent_sidebar.py +59 -0
- jadio_code/UI/mainwindows/code_aigent/aigentvision.md +315 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/__init__.py +0 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_chat.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_context.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_controller.py +176 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_settings.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_terminal.py +11 -0
- jadio_code/UI/mainwindows/code_aigent/chatwindow/__init__.py +0 -0
- jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_chat_controller.py +28 -0
- jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_summary.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/__init__.py +0 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/topbox_context.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/topbox_controller.py +93 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/topbox_lan.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/topbox_modelsettings.py +9 -0
- jadio_code/UI/mainwindows/code_aigent/topbox/topbox_tools.py +9 -0
- jadio_code/UI/mainwindows/editor/__init__.py +0 -0
- jadio_code/UI/mainwindows/editor/editor_code.py +14 -0
- jadio_code/UI/mainwindows/editor/editor_controller.py +28 -0
- jadio_code/UI/mainwindows/editor/editor_tabs.py +17 -0
- jadio_code/UI/mainwindows/editor/editor_topmenu.py +30 -0
- jadio_code/UI/mainwindows/explorer/__init__.py +0 -0
- jadio_code/UI/mainwindows/explorer/explorer_controller.py +62 -0
- jadio_code/UI/mainwindows/explorer/explorer_menu.py +91 -0
- jadio_code/UI/mainwindows/explorer/explorer_sidebar.py +57 -0
- jadio_code/UI/mainwindows/terminal/__init__.py +0 -0
- jadio_code/UI/mainwindows/terminal/terminal_controller.py +73 -0
- jadio_code/UI/mainwindows/terminal/terminal_menu.py +31 -0
- jadio_code/UI/mainwindows/terminal/terminal_shells.py +18 -0
- jadio_code/UI/mainwindows/terminal/terminal_window.py +15 -0
- jadio_code/UI/menubar.py +100 -0
- jadio_code/UI/styles.py +304 -0
- jadio_code/UI/submodules/__init__.py +0 -0
- jadio_code/UI/submodules/help/__init__.py +0 -0
- jadio_code/UI/submodules/help/help_backend.py +0 -0
- jadio_code/UI/submodules/help/help_window.py +0 -0
- jadio_code/UI/submodules/llm/__init__.py +0 -0
- jadio_code/UI/submodules/llm/llm_backend.py +0 -0
- jadio_code/UI/submodules/llm/llm_window.py +0 -0
- jadio_code/UI/submodules/settings/__init__.py +0 -0
- jadio_code/UI/submodules/settings/settings_backend.py +0 -0
- jadio_code/UI/submodules/settings/settings_window.py +0 -0
- jadio_code/__init__.py +2 -0
- jadio_code-0.0.1.dist-info/METADATA +201 -0
- jadio_code-0.0.1.dist-info/RECORD +108 -0
- jadio_code-0.0.1.dist-info/WHEEL +4 -0
- jadio_code-0.0.1.dist-info/entry_points.txt +2 -0
- jadio_code-0.0.1.dist-info/licenses/license.md +0 -0
jadio_code/UI/styles.py
ADDED
@@ -0,0 +1,304 @@
|
|
1
|
+
"""
|
2
|
+
JADIO CODE - Centralized Style System
|
3
|
+
Black, White, and Grey Professional Theme
|
4
|
+
"""
|
5
|
+
|
6
|
+
class Styles:
|
7
|
+
"""
|
8
|
+
Centralized styling for JADIO CODE IDE
|
9
|
+
Professional black, white, grey theme
|
10
|
+
"""
|
11
|
+
|
12
|
+
# ========================================
|
13
|
+
# COLOR PALETTE
|
14
|
+
# ========================================
|
15
|
+
COLORS = {
|
16
|
+
# Backgrounds
|
17
|
+
'bg_primary': '#0a0a0a', # Deep black - main backgrounds
|
18
|
+
'bg_secondary': '#1a1a1a', # Dark grey - panels, sidebars
|
19
|
+
'bg_tertiary': '#2a2a2a', # Medium grey - hover states
|
20
|
+
'bg_input': '#141414', # Input backgrounds
|
21
|
+
|
22
|
+
# Text
|
23
|
+
'text_primary': '#ffffff', # Pure white - main text
|
24
|
+
'text_secondary': '#cccccc', # Light grey - secondary text
|
25
|
+
'text_muted': '#888888', # Medium grey - muted text
|
26
|
+
'text_disabled': '#555555', # Dark grey - disabled text
|
27
|
+
|
28
|
+
# Borders & Separators
|
29
|
+
'border_primary': '#333333', # Main borders
|
30
|
+
'border_secondary': '#222222', # Subtle borders
|
31
|
+
'border_accent': '#555555', # Accent borders
|
32
|
+
|
33
|
+
# Interactive States
|
34
|
+
'hover': '#3a3a3a', # Light grey hover
|
35
|
+
'pressed': '#4a4a4a', # Pressed state
|
36
|
+
'selected': '#404040', # Selected items
|
37
|
+
'focus': '#666666', # Focus outlines
|
38
|
+
}
|
39
|
+
|
40
|
+
# ========================================
|
41
|
+
# MAIN APPLICATION STYLE
|
42
|
+
# ========================================
|
43
|
+
MAIN_STYLE = f"""
|
44
|
+
QMainWindow {{
|
45
|
+
background-color: {COLORS['bg_primary']};
|
46
|
+
color: {COLORS['text_primary']};
|
47
|
+
font-family: 'Segoe UI', Arial, sans-serif;
|
48
|
+
font-size: 13px;
|
49
|
+
}}
|
50
|
+
|
51
|
+
QWidget {{
|
52
|
+
background-color: {COLORS['bg_primary']};
|
53
|
+
color: {COLORS['text_primary']};
|
54
|
+
font-size: 13px;
|
55
|
+
}}
|
56
|
+
|
57
|
+
/* SPLITTERS */
|
58
|
+
QSplitter::handle {{
|
59
|
+
background-color: {COLORS['border_primary']};
|
60
|
+
width: 1px;
|
61
|
+
height: 1px;
|
62
|
+
}}
|
63
|
+
QSplitter::handle:hover {{
|
64
|
+
background-color: {COLORS['focus']};
|
65
|
+
}}
|
66
|
+
"""
|
67
|
+
|
68
|
+
# ========================================
|
69
|
+
# BUTTON STYLES
|
70
|
+
# ========================================
|
71
|
+
BUTTON_STYLE = f"""
|
72
|
+
QPushButton {{
|
73
|
+
background-color: transparent;
|
74
|
+
border: none;
|
75
|
+
color: {COLORS['text_primary']};
|
76
|
+
font-size: 14px;
|
77
|
+
font-weight: 500;
|
78
|
+
padding: 8px;
|
79
|
+
min-height: 24px;
|
80
|
+
border-radius: 2px;
|
81
|
+
}}
|
82
|
+
QPushButton:hover {{
|
83
|
+
background-color: {COLORS['hover']};
|
84
|
+
color: {COLORS['text_primary']};
|
85
|
+
}}
|
86
|
+
QPushButton:pressed {{
|
87
|
+
background-color: {COLORS['pressed']};
|
88
|
+
}}
|
89
|
+
QPushButton:checked {{
|
90
|
+
background-color: {COLORS['selected']};
|
91
|
+
color: {COLORS['text_primary']};
|
92
|
+
border-left: 2px solid {COLORS['focus']};
|
93
|
+
}}
|
94
|
+
QPushButton:disabled {{
|
95
|
+
color: {COLORS['text_disabled']};
|
96
|
+
}}
|
97
|
+
"""
|
98
|
+
|
99
|
+
# ========================================
|
100
|
+
# INPUT STYLES
|
101
|
+
# ========================================
|
102
|
+
INPUT_STYLE = f"""
|
103
|
+
QLineEdit, QTextEdit, QPlainTextEdit {{
|
104
|
+
background-color: {COLORS['bg_input']};
|
105
|
+
border: 1px solid {COLORS['border_primary']};
|
106
|
+
color: {COLORS['text_primary']};
|
107
|
+
padding: 8px;
|
108
|
+
font-family: 'Consolas', 'Monaco', monospace;
|
109
|
+
font-size: 13px;
|
110
|
+
border-radius: 2px;
|
111
|
+
}}
|
112
|
+
QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus {{
|
113
|
+
border: 1px solid {COLORS['focus']};
|
114
|
+
background-color: {COLORS['bg_secondary']};
|
115
|
+
}}
|
116
|
+
QLineEdit::placeholder, QTextEdit::placeholder {{
|
117
|
+
color: {COLORS['text_muted']};
|
118
|
+
}}
|
119
|
+
"""
|
120
|
+
|
121
|
+
# ========================================
|
122
|
+
# TREE VIEW STYLES
|
123
|
+
# ========================================
|
124
|
+
TREE_STYLE = f"""
|
125
|
+
QTreeView {{
|
126
|
+
background-color: {COLORS['bg_secondary']};
|
127
|
+
border: none;
|
128
|
+
outline: none;
|
129
|
+
color: {COLORS['text_primary']};
|
130
|
+
font-size: 13px;
|
131
|
+
alternate-background-color: {COLORS['bg_primary']};
|
132
|
+
}}
|
133
|
+
QTreeView::item {{
|
134
|
+
padding: 6px 8px;
|
135
|
+
border: none;
|
136
|
+
min-height: 20px;
|
137
|
+
}}
|
138
|
+
QTreeView::item:hover {{
|
139
|
+
background-color: {COLORS['hover']};
|
140
|
+
color: {COLORS['text_primary']};
|
141
|
+
}}
|
142
|
+
QTreeView::item:selected {{
|
143
|
+
background-color: {COLORS['selected']};
|
144
|
+
color: {COLORS['text_primary']};
|
145
|
+
border-left: 2px solid {COLORS['focus']};
|
146
|
+
}}
|
147
|
+
"""
|
148
|
+
|
149
|
+
# ========================================
|
150
|
+
# SCROLLBAR STYLES
|
151
|
+
# ========================================
|
152
|
+
SCROLLBAR_STYLE = f"""
|
153
|
+
/* CLEAN VERTICAL SCROLLBAR */
|
154
|
+
QScrollBar:vertical {{
|
155
|
+
background-color: {COLORS['bg_secondary']};
|
156
|
+
width: 8px;
|
157
|
+
border: none;
|
158
|
+
margin: 0px;
|
159
|
+
}}
|
160
|
+
QScrollBar::handle:vertical {{
|
161
|
+
background-color: {COLORS['border_primary']};
|
162
|
+
border-radius: 4px;
|
163
|
+
min-height: 20px;
|
164
|
+
margin: 2px;
|
165
|
+
}}
|
166
|
+
QScrollBar::handle:vertical:hover {{
|
167
|
+
background-color: {COLORS['focus']};
|
168
|
+
}}
|
169
|
+
QScrollBar::add-line:vertical,
|
170
|
+
QScrollBar::sub-line:vertical {{
|
171
|
+
height: 0px;
|
172
|
+
background: none;
|
173
|
+
}}
|
174
|
+
QScrollBar::add-page:vertical,
|
175
|
+
QScrollBar::sub-page:vertical {{
|
176
|
+
background: none;
|
177
|
+
}}
|
178
|
+
|
179
|
+
/* HIDE HORIZONTAL SCROLLBAR */
|
180
|
+
QScrollBar:horizontal {{
|
181
|
+
height: 0px;
|
182
|
+
background: transparent;
|
183
|
+
}}
|
184
|
+
"""
|
185
|
+
|
186
|
+
# ========================================
|
187
|
+
# MENU STYLES
|
188
|
+
# ========================================
|
189
|
+
MENU_STYLE = f"""
|
190
|
+
QMenuBar {{
|
191
|
+
background-color: {COLORS['bg_primary']};
|
192
|
+
color: {COLORS['text_primary']};
|
193
|
+
border-bottom: 1px solid {COLORS['border_primary']};
|
194
|
+
padding: 4px;
|
195
|
+
font-size: 14px;
|
196
|
+
font-weight: 500;
|
197
|
+
}}
|
198
|
+
QMenuBar::item {{
|
199
|
+
background-color: transparent;
|
200
|
+
padding: 8px 12px;
|
201
|
+
margin: 2px;
|
202
|
+
border-radius: 2px;
|
203
|
+
}}
|
204
|
+
QMenuBar::item:selected {{
|
205
|
+
background-color: {COLORS['hover']};
|
206
|
+
}}
|
207
|
+
QMenuBar::item:pressed {{
|
208
|
+
background-color: {COLORS['pressed']};
|
209
|
+
}}
|
210
|
+
|
211
|
+
QMenu {{
|
212
|
+
background-color: {COLORS['bg_secondary']};
|
213
|
+
color: {COLORS['text_primary']};
|
214
|
+
border: 1px solid {COLORS['border_primary']};
|
215
|
+
padding: 6px;
|
216
|
+
font-size: 13px;
|
217
|
+
}}
|
218
|
+
QMenu::item {{
|
219
|
+
padding: 8px 16px;
|
220
|
+
margin: 1px;
|
221
|
+
border-radius: 2px;
|
222
|
+
min-width: 120px;
|
223
|
+
}}
|
224
|
+
QMenu::item:selected {{
|
225
|
+
background-color: {COLORS['hover']};
|
226
|
+
}}
|
227
|
+
QMenu::separator {{
|
228
|
+
height: 1px;
|
229
|
+
background-color: {COLORS['border_primary']};
|
230
|
+
margin: 4px 8px;
|
231
|
+
}}
|
232
|
+
"""
|
233
|
+
|
234
|
+
# ========================================
|
235
|
+
# COMPONENT-SPECIFIC STYLES
|
236
|
+
# ========================================
|
237
|
+
|
238
|
+
@classmethod
|
239
|
+
def get_complete_stylesheet(cls):
|
240
|
+
"""Get the complete stylesheet for the entire application"""
|
241
|
+
return f"""
|
242
|
+
{cls.MAIN_STYLE}
|
243
|
+
{cls.BUTTON_STYLE}
|
244
|
+
{cls.INPUT_STYLE}
|
245
|
+
{cls.TREE_STYLE}
|
246
|
+
{cls.SCROLLBAR_STYLE}
|
247
|
+
{cls.MENU_STYLE}
|
248
|
+
"""
|
249
|
+
|
250
|
+
@classmethod
|
251
|
+
def get_menu_bar_style(cls):
|
252
|
+
"""Get stylesheet for menu bars (40px height)"""
|
253
|
+
return f"""
|
254
|
+
QWidget {{
|
255
|
+
background-color: {cls.COLORS['bg_primary']};
|
256
|
+
border-bottom: 1px solid {cls.COLORS['border_primary']};
|
257
|
+
max-height: 40px;
|
258
|
+
min-height: 40px;
|
259
|
+
}}
|
260
|
+
{cls.BUTTON_STYLE}
|
261
|
+
"""
|
262
|
+
|
263
|
+
@classmethod
|
264
|
+
def get_sidebar_style(cls):
|
265
|
+
"""Get stylesheet for vertical sidebars (48px width)"""
|
266
|
+
return f"""
|
267
|
+
QWidget {{
|
268
|
+
background-color: {cls.COLORS['bg_primary']};
|
269
|
+
border-right: 1px solid {cls.COLORS['border_primary']};
|
270
|
+
max-width: 48px;
|
271
|
+
min-width: 48px;
|
272
|
+
}}
|
273
|
+
QPushButton {{
|
274
|
+
background-color: transparent;
|
275
|
+
border: none;
|
276
|
+
color: {cls.COLORS['text_primary']};
|
277
|
+
font-size: 18px;
|
278
|
+
font-weight: 500;
|
279
|
+
text-align: center;
|
280
|
+
padding: 12px 8px;
|
281
|
+
margin: 4px 2px;
|
282
|
+
min-height: 40px;
|
283
|
+
max-height: 48px;
|
284
|
+
border-radius: 4px;
|
285
|
+
}}
|
286
|
+
QPushButton:hover {{
|
287
|
+
background-color: {cls.COLORS['hover']};
|
288
|
+
}}
|
289
|
+
QPushButton:checked {{
|
290
|
+
background-color: {cls.COLORS['selected']};
|
291
|
+
border-left: 3px solid {cls.COLORS['focus']};
|
292
|
+
border-radius: 0px 4px 4px 0px;
|
293
|
+
}}
|
294
|
+
"""
|
295
|
+
|
296
|
+
@classmethod
|
297
|
+
def get_panel_style(cls):
|
298
|
+
"""Get stylesheet for main panels"""
|
299
|
+
return f"""
|
300
|
+
QWidget {{
|
301
|
+
background-color: {cls.COLORS['bg_secondary']};
|
302
|
+
border: 1px solid {cls.COLORS['border_secondary']};
|
303
|
+
}}
|
304
|
+
"""
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
jadio_code/__init__.py
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: jadio-code
|
3
|
+
Version: 0.0.1
|
4
|
+
Summary: Local IDE connected to a vibrant LLM ecosystem
|
5
|
+
Project-URL: Homepage, https://pypi.org/project/jadio/
|
6
|
+
Project-URL: Repository, https://github.com/JaxxyJadio/jadio
|
7
|
+
License-Expression: MIT
|
8
|
+
License-File: license.md
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
10
|
+
Classifier: Intended Audience :: Developers
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
13
|
+
Classifier: Programming Language :: Python :: 3.8
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
18
|
+
Requires-Python: >=3.8
|
19
|
+
Requires-Dist: requests
|
20
|
+
Requires-Dist: rich
|
21
|
+
Description-Content-Type: text/markdown
|
22
|
+
|
23
|
+
# JADIO CODE
|
24
|
+
|
25
|
+
**Version:** 0.0.1
|
26
|
+
**Status:** Alpha / In Development
|
27
|
+
|
28
|
+
---
|
29
|
+
|
30
|
+
## ✅ What is JADIO CODE?
|
31
|
+
|
32
|
+
JADIO CODE is a fully offline, 100% Python IDE designed to connect to the **JADIO** LAN server.
|
33
|
+
|
34
|
+
It's your own local development environment with:
|
35
|
+
- Integrated agent assistant (**Code.AIGent**)
|
36
|
+
- Native Python GUI (using **PyQt6**)
|
37
|
+
- Tools for interacting with local AI models
|
38
|
+
- Modular design for extensions and plugins
|
39
|
+
|
40
|
+
Everything is designed to be fully *yours*, *offline*, and *locally controlled*.
|
41
|
+
|
42
|
+
---
|
43
|
+
|
44
|
+
## ✅ Goals (v0.0.1)
|
45
|
+
|
46
|
+
⭐ Native desktop IDE in **Python**
|
47
|
+
⭐ Built with **PyQt6** (no web stack)
|
48
|
+
⭐ Modular UI panels
|
49
|
+
⭐ Clean separation of UI and backend logic
|
50
|
+
⭐ Ready to connect with JADIO LAN server over localhost
|
51
|
+
⭐ Ability to integrate with local AI models
|
52
|
+
|
53
|
+
---
|
54
|
+
|
55
|
+
## ✅ Current Features (0.0.1)
|
56
|
+
|
57
|
+
✔️ Modular UI structure with PyQt6
|
58
|
+
✔️ Defined layout for all major panels
|
59
|
+
✔️ Placeholder classes for:
|
60
|
+
- Chat agent interface
|
61
|
+
- Editor
|
62
|
+
- Terminal
|
63
|
+
- Project explorer
|
64
|
+
- Plugin manager
|
65
|
+
- Settings
|
66
|
+
✔️ Clean separation of:
|
67
|
+
- UI code
|
68
|
+
- Backend logic
|
69
|
+
|
70
|
+
---
|
71
|
+
|
72
|
+
## ✅ Folder Structure
|
73
|
+
|
74
|
+
JADIO-CODE/
|
75
|
+
├── UI/
|
76
|
+
│ ├── mainwindows/
|
77
|
+
│ └── submodules/
|
78
|
+
│
|
79
|
+
└── Backend/
|
80
|
+
|
81
|
+
yaml
|
82
|
+
Copy
|
83
|
+
Edit
|
84
|
+
|
85
|
+
---
|
86
|
+
|
87
|
+
### ✅ UI/
|
88
|
+
|
89
|
+
⭐ **Purpose:** All PyQt6 window and widget classes.
|
90
|
+
⭐ **Design:**
|
91
|
+
- Panels and views
|
92
|
+
- Modular layout for easy extension
|
93
|
+
|
94
|
+
**Example subfolders:**
|
95
|
+
UI/
|
96
|
+
mainwindows/
|
97
|
+
code_aigent/
|
98
|
+
editor/
|
99
|
+
explorer/
|
100
|
+
terminal/
|
101
|
+
submodules/
|
102
|
+
code_doctor/
|
103
|
+
help/
|
104
|
+
jdonet/
|
105
|
+
llm/
|
106
|
+
plugins/
|
107
|
+
settings/
|
108
|
+
|
109
|
+
yaml
|
110
|
+
Copy
|
111
|
+
Edit
|
112
|
+
|
113
|
+
✅ Each panel has its own folder and PyQt6 classes.
|
114
|
+
✅ Supports split views, tabs, sidebars, and terminal.
|
115
|
+
|
116
|
+
---
|
117
|
+
|
118
|
+
### ✅ Backend/
|
119
|
+
|
120
|
+
⭐ **Purpose:** All non-UI logic.
|
121
|
+
⭐ **Design:**
|
122
|
+
- State management
|
123
|
+
- LAN server API calls
|
124
|
+
- Business rules
|
125
|
+
|
126
|
+
**Example subfolders:**
|
127
|
+
Backend/
|
128
|
+
code_aigent/
|
129
|
+
code_doctor/
|
130
|
+
editor/
|
131
|
+
explorer/
|
132
|
+
help/
|
133
|
+
jdonet/
|
134
|
+
lan/
|
135
|
+
llm/
|
136
|
+
plugins/
|
137
|
+
settings/
|
138
|
+
terminal/
|
139
|
+
|
140
|
+
yaml
|
141
|
+
Copy
|
142
|
+
Edit
|
143
|
+
|
144
|
+
✅ Each submodule has its own `*_core.py`.
|
145
|
+
✅ Supports clean separation from UI.
|
146
|
+
✅ Easy to test independently.
|
147
|
+
|
148
|
+
---
|
149
|
+
|
150
|
+
## ✅ Design Philosophy
|
151
|
+
|
152
|
+
✔️ 100% Python (PyQt6)
|
153
|
+
✔️ No HTML, CSS, or JavaScript
|
154
|
+
✔️ Local-first, offline-only by default
|
155
|
+
✔️ Modular and pluggable architecture
|
156
|
+
✔️ Clear separation of UI and backend
|
157
|
+
✔️ Ready to integrate with JADIO LAN server (localhost)
|
158
|
+
✔️ Ready to run external tools (Rust/Go/Haskell/etc.) via subprocess
|
159
|
+
|
160
|
+
---
|
161
|
+
|
162
|
+
## ✅ Planned Features
|
163
|
+
|
164
|
+
✅ Persistent agent chat (Code.AIGent)
|
165
|
+
✅ Simworld time integration
|
166
|
+
✅ Local model management
|
167
|
+
✅ Project explorer with file actions
|
168
|
+
✅ Terminal runner for JADIO CLI tools
|
169
|
+
✅ Memory viewer for agent files
|
170
|
+
✅ Plugin system for extra tools
|
171
|
+
✅ Localhost email/messaging panels
|
172
|
+
|
173
|
+
---
|
174
|
+
|
175
|
+
## ✅ Installation (dev)
|
176
|
+
|
177
|
+
pip install PyQt6
|
178
|
+
|
179
|
+
yaml
|
180
|
+
Copy
|
181
|
+
Edit
|
182
|
+
|
183
|
+
✅ Requires Python 3.10+ recommended.
|
184
|
+
|
185
|
+
---
|
186
|
+
|
187
|
+
## ✅ Running (dev)
|
188
|
+
|
189
|
+
Example:
|
190
|
+
```bash
|
191
|
+
python -m UI.mainwindows.MainWindow
|
192
|
+
✅ Note: v0.0.1 is a work in progress, many panels are skeletons or placeholders.
|
193
|
+
|
194
|
+
✅ Roadmap
|
195
|
+
✔️ v0.0.1: Define layout and module structure ✅ (done)
|
196
|
+
⬜ v0.0.2: Implement MainWindow navigation
|
197
|
+
⬜ v0.0.3: Add LAN server connection
|
198
|
+
⬜ v0.0.4: Wire up basic agent chat
|
199
|
+
⬜ v0.0.5: Add editor and terminal functionality
|
200
|
+
⬜ v0.1.0: First installable offline build
|
201
|
+
|
@@ -0,0 +1,108 @@
|
|
1
|
+
jadio_code/__init__.py,sha256=icTazf5_C9pwUcD5etjRdv5keg6SSAP2S0qJ-yXbpew,39
|
2
|
+
jadio_code/Backend/main/code_aigent/aigent_bottombox_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
+
jadio_code/Backend/main/code_aigent/aigent_chatwindow_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
jadio_code/Backend/main/code_aigent/aigent_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
+
jadio_code/Backend/main/code_aigent/aigent_sidebar_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
jadio_code/Backend/main/code_aigent/aigent_terminal_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
jadio_code/Backend/main/code_aigent/aigent_topbox_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
|
+
jadio_code/Backend/main/editor/editor_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
+
jadio_code/Backend/main/explorer/exploer_sidebar_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
+
jadio_code/Backend/main/explorer/explorer_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
+
jadio_code/Backend/main/terminal/terminal_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
+
jadio_code/Backend/sub/code_doctor/code_doctor_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
+
jadio_code/Backend/sub/help/help_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
+
jadio_code/Backend/sub/lan/lan_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
+
jadio_code/Backend/sub/llm/llm_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
jadio_code/Backend/sub/plugins/plugins_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
+
jadio_code/Backend/sub/settings/settings_core.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
jadio_code/UI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
+
jadio_code/UI/main.py,sha256=HB73AswvodwlX9iQOo-jJP2C9y-ntkprnUNm8K4hpMk,3848
|
20
|
+
jadio_code/UI/menubar.py,sha256=4sMVwMkM2tYre9zRGjR4H6Vpzytp2r6z1_bcJLbs0SE,3479
|
21
|
+
jadio_code/UI/styles.py,sha256=iPLzRSFCMcjH43de1g-b2dK3AjZEca8ICxbHlCFt3f8,9987
|
22
|
+
jadio_code/UI/icons/bell.svg,sha256=M9-g1H6kY3OjOCFdkdc8W8AmJ6F0fmN5HbCeardXK7k,264
|
23
|
+
jadio_code/UI/icons/bolt.svg,sha256=LaNBj6rIflztLHn3R3jOyZI1ETw_8VXEXllzUSNd95g,243
|
24
|
+
jadio_code/UI/icons/check.svg,sha256=w1Jigo8VSdBHXQifdb7FbjKusiUXq1pG2Z5z5r125y0,234
|
25
|
+
jadio_code/UI/icons/clipboard.svg,sha256=Trp9iJxXn6eo8p96vOH3L-pi44bC1go0oWS4AjX6WRw,303
|
26
|
+
jadio_code/UI/icons/clock.svg,sha256=eIwp_5xRrm5hnhbhqUGKTc8_i-esmuHch6QN1keiEhE,349
|
27
|
+
jadio_code/UI/icons/cloud.svg,sha256=Yqmly3sfyZOxUAHXVjFPKsLMbnC_1fOeUyHwW9Pgzek,224
|
28
|
+
jadio_code/UI/icons/down.svg,sha256=PrEPTGRt8aZyevdCb8G17YoqCZrzgtp4n7fm6g-XW9o,246
|
29
|
+
jadio_code/UI/icons/download.svg,sha256=N6eMRLgY72Vbf6iu2r9EUPyWEEQY8zuyXuBXGy50J34,404
|
30
|
+
jadio_code/UI/icons/explorer.svg,sha256=m5OapBTtbWvowhGq9ThYfo6CL0NqZIlTUV_LSm9WH4o,318
|
31
|
+
jadio_code/UI/icons/eye.svg,sha256=hVo0Qf71IU7POhHXDTC9sXMr0_9brnG67qAHFmBxvGE,256
|
32
|
+
jadio_code/UI/icons/folder.svg,sha256=8ruuI47BC0VWsflSNfMtaRKgjsn-kWj4W9kCZtHH2eY,193
|
33
|
+
jadio_code/UI/icons/folder2.svg,sha256=s-_9dW7muKZb78fea_NDpW5flPVD0qaGybVPIW3jQbA,343
|
34
|
+
jadio_code/UI/icons/glass.svg,sha256=D1PbCi9gkbOyA6VRz1OWfq6m99bahQTFDGSQ97zQ0c4,293
|
35
|
+
jadio_code/UI/icons/globe.svg,sha256=KEkNUXVjwzpMs7sjohvK13jarg7MiYGtzzU7U_z86hE,367
|
36
|
+
jadio_code/UI/icons/grid.svg,sha256=FB0_k6ijSxYOpSG1Kjk3MvmgzYwJUlE47Vo1aWdbvpI,359
|
37
|
+
jadio_code/UI/icons/idk.svg,sha256=As85dGT7NtOhv4xh9VfycRUqlPU3YOwscHLqQqp0_3o,387
|
38
|
+
jadio_code/UI/icons/info.svg,sha256=aki8aUb2SihN8ySIU3epfFvzDGjQd-vDxE6ixkekfIE,324
|
39
|
+
jadio_code/UI/icons/left.svg,sha256=TijGPNlYHZ2WzsMgSksEXpani2fE37MjMdZz09vLivg,246
|
40
|
+
jadio_code/UI/icons/lock.svg,sha256=wbWahLDeNQD1P6liqs0b2VTfzha_onPQW0ENZA_1aYU,338
|
41
|
+
jadio_code/UI/icons/lock2.svg,sha256=rxUi06g6DyBPbdtZSLx0NIOVcTWIYvKe3kiGeZrKxrI,373
|
42
|
+
jadio_code/UI/icons/message.svg,sha256=XXUAsp2bpqlkkRqIGoN6PmRKtSJuaixGN4IfPtyCwYk,288
|
43
|
+
jadio_code/UI/icons/net.svg,sha256=NgbFER_rgnCscfuYtAimwBL2MvhDDAQ9d_04DLXU48Y,715
|
44
|
+
jadio_code/UI/icons/pencil.svg,sha256=0-IEsKc-0zQh65jW3qBYJxh7_KqpAfMPPInNa3a_Oaw,286
|
45
|
+
jadio_code/UI/icons/play.svg,sha256=daIsI6OSfPZohQAwbUHBKqVpAvzw_tgj5k0Tj0lY6pI,252
|
46
|
+
jadio_code/UI/icons/plus.svg,sha256=XfBiw3KHIa7nrjs6SSe4C5zLq6meVue9NCMA8P4WDFY,561
|
47
|
+
jadio_code/UI/icons/right.svg,sha256=1AsSDd2Ro4ctNz85WcMeFP0uaFWRs8WXRkcIuXKUngE,246
|
48
|
+
jadio_code/UI/icons/robot.svg,sha256=wix_U5bWr10-DLiqzy-sTmKDqmm8IUFxLeek0Ms9yi4,395
|
49
|
+
jadio_code/UI/icons/split.svg,sha256=3ilTIa07_YniEm5jm_M4NQaSp1n2gFy8WqzwwjaLc0o,280
|
50
|
+
jadio_code/UI/icons/star.svg,sha256=6cDCHUmVHYna82an6e0eDt-NHMp6kKVYxBzS2enjMhE,220
|
51
|
+
jadio_code/UI/icons/stop.svg,sha256=oH--y9XmLDMXnW5iR1QoF1MV0HwY9olbh5S62Ubx3K4,273
|
52
|
+
jadio_code/UI/icons/tabs.svg,sha256=yOilBPZAXgdxjkG5QD1DZwVg0sIPqFhQZ8R0wiH54bY,366
|
53
|
+
jadio_code/UI/icons/terminal.svg,sha256=VWVGgQk05hbx8gj7v7NpiBYuOlAR1emgUwI7yWZakAQ,404
|
54
|
+
jadio_code/UI/icons/up.svg,sha256=dGqKFWKcjIWN6Oj_tNBHaw9sLRCWC5mprT6la7bQQVk,246
|
55
|
+
jadio_code/UI/icons/upload.svg,sha256=toEDFMITbikctxUvEZ3p2K_czwSGLYc65vJ7QCuMsKM,404
|
56
|
+
jadio_code/UI/icons/user.svg,sha256=LMhNmU0EFs9N0RkK6IUP1poswdq6Dw2h4oGLwQVPKFM,284
|
57
|
+
jadio_code/UI/icons/warning.svg,sha256=RWbuR7AVs_7ChOnF7Q3my_vv7km62aNvbhQPxyjFCjM,376
|
58
|
+
jadio_code/UI/icons/x.svg,sha256=i2QlA3fzM7NDwAO_0d3VMOrn4BvEQYY0gSDCc5_k_WY,309
|
59
|
+
jadio_code/UI/mainwindows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
+
jadio_code/UI/mainwindows/code_aigent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
+
jadio_code/UI/mainwindows/code_aigent/aigent_controller.py,sha256=Eln4WEmoy-qdIxV035al0KqwibOS9beMptzml9t8moA,4362
|
62
|
+
jadio_code/UI/mainwindows/code_aigent/aigent_menu.py,sha256=n1S4OKBjKaRlccd9Bl58Cpn79kL1TzFRj0f_s3LMM9A,2925
|
63
|
+
jadio_code/UI/mainwindows/code_aigent/aigent_sidebar.py,sha256=t6FlrUQ1hqmGdCRKGwzHXkroLoxZAJqV-vkyXDsyxaA,1814
|
64
|
+
jadio_code/UI/mainwindows/code_aigent/aigentvision.md,sha256=XUj_5XVL7jX5cA0XIddKvAiO3iJ88s6CO8PUAgFgfm8,6314
|
65
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_chat.py,sha256=R7hNCvIx4utsiqhK5tiO0G--aAomaMNuScySBlXH_XI,307
|
67
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_context.py,sha256=tJ0l941YZ-Zm0XLD0RhXQNxvsaKgxf9JQP1lCewaxWk,313
|
68
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_controller.py,sha256=tX5falsV6IQCyKbtddaAOr_KTVUJHuUgjauQUc1bBVY,6064
|
69
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_settings.py,sha256=D4Bx2dx1gCT2c8Iu0NmcCtEpB0Irt1nedfTwjZ23Hew,315
|
70
|
+
jadio_code/UI/mainwindows/code_aigent/bottombox/bottombox_terminal.py,sha256=q6M7maCtS-g5i997j7erzzviwtQ0umqqkyBzRApzRwA,414
|
71
|
+
jadio_code/UI/mainwindows/code_aigent/chatwindow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
|
+
jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_chat_controller.py,sha256=5WABgtBmsxadJGvhWXo6X5APpCGOgkIG2PsN2CvEYXU,880
|
73
|
+
jadio_code/UI/mainwindows/code_aigent/chatwindow/aigent_summary.py,sha256=lNee9NpBpoTynY-jYHHSuNe84S1B72ZCrH4oyNKqFlc,320
|
74
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/topbox_context.py,sha256=vxwOW0CDtVHnvv54oV0WVpgR3vpMN23Lwvwi-k5DoP4,306
|
76
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/topbox_controller.py,sha256=2tt_C95b_R9vMKE_BkEjlUQV5UMY1CzWj7pHQDTN-PA,3045
|
77
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/topbox_lan.py,sha256=mVEaAngCLVnBX16PgzUYzLLomz84mTarOKOhsATM0pw,302
|
78
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/topbox_modelsettings.py,sha256=7lrdwnZvyMg1JnSP4WIwJEoT6MCRcY4k9enegsR_wJQ,317
|
79
|
+
jadio_code/UI/mainwindows/code_aigent/topbox/topbox_tools.py,sha256=XvOlA6MgVMj8Y_x8_O2LMf4uXc3roynlS72o16-fLcg,303
|
80
|
+
jadio_code/UI/mainwindows/editor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
81
|
+
jadio_code/UI/mainwindows/editor/editor_code.py,sha256=R2CL3hinFz4mBhZFM72HrxhJe2gFWXeqvG8UUXHoHB8,476
|
82
|
+
jadio_code/UI/mainwindows/editor/editor_controller.py,sha256=_6I9lG-iwsGsORtez6t-hkcE413kfPVhbBOq9cNtkLw,882
|
83
|
+
jadio_code/UI/mainwindows/editor/editor_tabs.py,sha256=0JNYSwcRL8ysH_sIJZsUHsx5dzIovQJaXVLyTcd4q8s,439
|
84
|
+
jadio_code/UI/mainwindows/editor/editor_topmenu.py,sha256=xzccOuZtSjbAdgF9BWHS7gvKcHdKMadccT37LawBHJQ,884
|
85
|
+
jadio_code/UI/mainwindows/explorer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
|
+
jadio_code/UI/mainwindows/explorer/explorer_controller.py,sha256=0ochRPQDDpKlu26u02k9vLoe0bfuTrWMf2-xEfs9OWY,2337
|
87
|
+
jadio_code/UI/mainwindows/explorer/explorer_menu.py,sha256=-yMMrZXfdGrUzrA4OyrwhcsHGTMyXIHRZukTKXDvRBk,2810
|
88
|
+
jadio_code/UI/mainwindows/explorer/explorer_sidebar.py,sha256=dyKee_mHQKRaweetN4ZyevwRRW5Yc4ZD48TR7r1eaYw,1726
|
89
|
+
jadio_code/UI/mainwindows/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
|
+
jadio_code/UI/mainwindows/terminal/terminal_controller.py,sha256=zw_ZvQjFrzlDwGbftyOgVVFYZXWDp2LEQx9aKlb2FW8,2268
|
91
|
+
jadio_code/UI/mainwindows/terminal/terminal_menu.py,sha256=C11n4QQzHoA4UO0dhx-ECzFHYn69nH_GbEELrPycA7I,943
|
92
|
+
jadio_code/UI/mainwindows/terminal/terminal_shells.py,sha256=crEqPpC06ouvs9L2hPrdm0DbWrAwPV-LJPtprSMroKU,546
|
93
|
+
jadio_code/UI/mainwindows/terminal/terminal_window.py,sha256=ruaIjPNp5KwQbGdjp7gxdHlNVfxw7VoWf--68X6v2cQ,474
|
94
|
+
jadio_code/UI/submodules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
95
|
+
jadio_code/UI/submodules/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
96
|
+
jadio_code/UI/submodules/help/help_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
|
+
jadio_code/UI/submodules/help/help_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
|
+
jadio_code/UI/submodules/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
99
|
+
jadio_code/UI/submodules/llm/llm_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
|
+
jadio_code/UI/submodules/llm/llm_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
|
+
jadio_code/UI/submodules/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
102
|
+
jadio_code/UI/submodules/settings/settings_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
|
+
jadio_code/UI/submodules/settings/settings_window.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
104
|
+
jadio_code-0.0.1.dist-info/METADATA,sha256=dj8pHDWuqNuAtZjpnB9FcQS2uvHnNbRL2cK-R7BIaLg,4162
|
105
|
+
jadio_code-0.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
106
|
+
jadio_code-0.0.1.dist-info/entry_points.txt,sha256=3akW_XwIsitp1G_48Y98MkjLVsCZAoyXePWW8NoMKjE,51
|
107
|
+
jadio_code-0.0.1.dist-info/licenses/license.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
|
+
jadio_code-0.0.1.dist-info/RECORD,,
|
File without changes
|