# gangadharvadapallin2006-rgb/gufm architecture

> Architecture diagram of the GitHub repository gangadharvadapallin2006-rgb/gufm, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/gangadharvadapallin2006-rgb/gufm
- Repository: https://github.com/gangadharvadapallin2006-rgb/gufm

## Overview

This is a desktop file manager: a user navigates folders, selects items, previews metadata, and invokes file operations through the main window. The main window coordinates the sidebar, file view, preview panel, toolbar, and file manager; the file view uses Qt’s filesystem model, while operations access the filesystem and opening a file delegates to the operating system. The README is empty, so the map reflects the supplied source; several toolbar actions and menu categories are present but have no implemented behavior in the excerpts.

Main entry points: [`ui/main_window.py`](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/main_window.py) (Main Window), [`ui/file_view.py`](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/file_view.py) (File View), [`managers/file_manager.py`](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/managers/file_manager.py) (File Manager), [`ui/preview_panel.py`](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/preview_panel.py) (Preview Panel)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Application UI"]
  node_entry["App Entry<br/>[main.py]"]
  node_window["Main Window<br/>[main_window.py]"]
  node_toolbar["Toolbar<br/>[tool_bar.py]"]
  node_menubar["Menu Bar<br/>[menu_bar.py]"]
end

subgraph group_navigation["Browse And Preview"]
  node_sidebar["Location Sidebar<br/>[side_bar.py]"]
  node_fileview["File View<br/>[file_view.py]"]
  node_preview["Preview Panel<br/>[preview_panel.py]"]
  node_fsmodel["Qt Filesystem Model"]
end

subgraph group_operations["File Operations"]
  node_manager["File Manager<br/>[file_manager.py]"]
  node_filesystem[("Local Filesystem")]
  node_opener["OS File Opener"]
end

node_user(("User"))

node_user -->|"launches"| node_entry
node_entry -->|"creates"| node_window
node_window -->|"creates"| node_toolbar
node_window -->|"creates"| node_menubar
node_window -->|"creates"| node_sidebar
node_window -->|"creates"| node_fileview
node_window -->|"creates"| node_preview
node_toolbar -->|"dispatches actions"| node_window
node_sidebar -->|"sends selection"| node_window
node_window -->|"changes directory"| node_fileview
node_fileview -->|"queries paths"| node_fsmodel
node_fsmodel -->|"reads entries"| node_filesystem
node_fileview -->|"sends selection"| node_window
node_window -->|"updates metadata"| node_preview
node_preview -->|"reads metadata"| node_filesystem
node_window -->|"requests file operations"| node_manager
node_manager -->|"reads and writes"| node_filesystem
node_window -->|"requests file opening"| node_manager
node_manager -->|"launches file"| node_opener

click node_entry "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/main.py"
click node_window "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/main_window.py"
click node_toolbar "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/tool_bar.py"
click node_menubar "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/menu_bar.py"
click node_sidebar "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/side_bar.py"
click node_fileview "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/file_view.py"
click node_preview "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/preview_panel.py"
click node_manager "https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/managers/file_manager.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_window,node_toolbar,node_menubar,node_user toneBlue
class node_sidebar,node_fileview,node_preview,node_fsmodel toneAmber
class node_manager,node_filesystem,node_opener toneMint
```

## Components

### Application UI

- [App Entry](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/main.py): `main.py`
- [Main Window](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/main_window.py): `ui/main_window.py`
- [Toolbar](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/tool_bar.py): `ui/tool_bar.py`
- [Menu Bar](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/menu_bar.py): `ui/menu_bar.py`

### Browse And Preview

- [Location Sidebar](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/side_bar.py): `ui/side_bar.py`
- [File View](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/file_view.py): `ui/file_view.py`
- [Preview Panel](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/ui/preview_panel.py): `ui/preview_panel.py`
- **Qt Filesystem Model**

### File Operations

- [File Manager](https://github.com/gangadharvadapallin2006-rgb/gufm/blob/master/managers/file_manager.py): `managers/file_manager.py`
- **Local Filesystem**
- **OS File Opener**

### Other components

- **User**

## Connections

- User → App Entry: launches
- App Entry → Main Window: creates
- Main Window → Toolbar: creates
- Main Window → Menu Bar: creates
- Main Window → Location Sidebar: creates
- Main Window → File View: creates
- Main Window → Preview Panel: creates
- Toolbar → Main Window: dispatches actions
- Location Sidebar → Main Window: sends selection
- Main Window → File View: changes directory
- File View → Qt Filesystem Model: queries paths
- Qt Filesystem Model → Local Filesystem: reads entries
- File View → Main Window: sends selection
- Main Window → Preview Panel: updates metadata
- Preview Panel → Local Filesystem: reads metadata
- Main Window → File Manager: requests file operations
- File Manager → Local Filesystem: reads and writes
- Main Window → File Manager: requests file opening
- File Manager → OS File Opener: launches file
