@@ -7,6 +7,7 @@ import 'package:linux_assistant/layouts/linux_health/overview.dart';
77import 'package:linux_assistant/layouts/main_screen/main_search.dart' ;
88import 'package:linux_assistant/layouts/security_check/overview.dart' ;
99import 'package:linux_assistant/layouts/settings/settings_start.dart' ;
10+ import 'package:linux_assistant/layouts/tools/file_manager.dart' ;
1011import 'package:linux_assistant/layouts/tools/quick_notes.dart' ;
1112import 'package:linux_assistant/main.dart' ;
1213import 'package:linux_assistant/services/app_launcher.dart' ;
@@ -22,10 +23,10 @@ enum HubSection { dashboard, search, storage, health, security }
2223///
2324/// Two kinds live here: [HubTool.browser] fires a detached process launch and
2425/// never changes the active section, while screen-based tools
25- /// ([HubTool.quickNotes] ; file manager and system monitor follow with E3/E4)
26- /// render inside the hub frame like a section – the frame then tracks them in
27- /// [_screenTool] .
28- enum HubTool { browser, quickNotes }
26+ /// ([HubTool.quickNotes] , [HubTool.fileManager] ; the system monitor follows
27+ /// with E3) render inside the hub frame like a section – the frame then
28+ /// tracks them in [_screenTool] .
29+ enum HubTool { browser, quickNotes, fileManager }
2930
3031/// Whether a section displays live system stats.
3132///
@@ -225,6 +226,8 @@ class _HubShellState extends State<HubShell>
225226 return Icons .public;
226227 case HubTool .quickNotes:
227228 return Icons .edit_note;
229+ case HubTool .fileManager:
230+ return Icons .folder_open;
228231 }
229232 }
230233
@@ -234,6 +237,8 @@ class _HubShellState extends State<HubShell>
234237 return _tr (context, de: 'Browser' , en: 'Browser' );
235238 case HubTool .quickNotes:
236239 return _tr (context, de: 'Quick Notes' , en: 'Quick Notes' );
240+ case HubTool .fileManager:
241+ return _tr (context, de: 'Dateimanager' , en: 'File manager' );
237242 }
238243 }
239244
@@ -273,6 +278,8 @@ class _HubShellState extends State<HubShell>
273278 switch (key) {
274279 case HubTool .quickNotes:
275280 return const QuickNotesPage ();
281+ case HubTool .fileManager:
282+ return const FileManagerPage ();
276283 case HubTool .browser:
277284 // Never on screen: the browser tool launches an external process
278285 // and is never assigned as the active content key.
@@ -364,8 +371,8 @@ class _HubShellState extends State<HubShell>
364371 ),
365372 // Werkzeuge-Sektion (Admin-Hub, Spec: docs/design/feature-spec-admin-hub.md).
366373 // Browser startet detached (kein Sectionswechsel); Quick Notes
367- // rendert im Hub-Frame (Screen-Tool ). E3/E4 (Dateimanager,
368- // Systemmonitor) werden hier als weitere HubTool-Einträge
374+ // und Dateimanager rendern im Hub-Frame (Screen-Tools ). E3
375+ // ( Systemmonitor) wird hier als weiterer HubTool-Eintrag
369376 // ergänzt.
370377 if (! collapsed) _sectionLabel (context, t),
371378 for (final tool in HubTool .values)
@@ -406,6 +413,9 @@ class _HubShellState extends State<HubShell>
406413 case HubTool .quickNotes:
407414 _selectTool (HubTool .quickNotes);
408415 break ;
416+ case HubTool .fileManager:
417+ _selectTool (HubTool .fileManager);
418+ break ;
409419 }
410420 }
411421
0 commit comments