# kwimbee/outlook-quickmove architecture

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

- Interactive diagram: https://gitdiagram.com/kwimbee/outlook-quickmove
- Repository: https://github.com/kwimbee/outlook-quickmove
- Video tour (about a minute): https://gitdiagram.com/kwimbee/outlook-quickmove/video

## Overview

Outlook QuickMove is an Outlook add-in for finding a mail folder and moving selected messages or conversations there; it also offers folder browsing. The main workflow is ribbon action → add-in logic → folder selector → Outlook action. The selector filters the supplied folder paths and supports keyboard navigation. The sampled source confirms these paths, but the ribbon XML and full add-in lifecycle were not sampled, so their detailed wiring is not expanded.

Main entry points: [`src/QuickMove/ThisAddIn.cs`](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/ThisAddIn.cs) (Add-in workflows), [`src/QuickMove/CustomRibbon.cs`](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/CustomRibbon.cs) (Ribbon callbacks), [`src/QuickMove/FolderSelector.xaml.cs`](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/FolderSelector.xaml.cs) (Folder selector)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Outlook interface"]
  node_ribbon["Ribbon callbacks<br/>[CustomRibbon.cs]"]
  node_selector["Folder selector"]
end

subgraph group_workflow["Folder workflows"]
  node_addin["Add-in workflows<br/>[ThisAddIn.cs]"]
end

subgraph group_host["Outlook host"]
  node_outlook["Outlook application"]
end

node_user(("Outlook user"))

node_user -->|"invokes"| node_ribbon
node_ribbon -->|"dispatches actions"| node_addin
node_addin -->|"reads folder tree"| node_outlook
node_addin -->|"opens with folders"| node_selector
node_selector -->|"returns selection"| node_addin
node_addin -->|"moves selected mail"| node_outlook
node_addin -->|"changes current folder"| node_outlook

click node_ribbon "https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/CustomRibbon.cs"
click node_addin "https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/ThisAddIn.cs"
click node_selector "https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/FolderSelector.xaml.cs"

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_ribbon,node_selector,node_user toneBlue
class node_addin toneAmber
class node_outlook toneMint
```

## Components

### Outlook interface

- [Ribbon callbacks](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/CustomRibbon.cs): `src/QuickMove/CustomRibbon.cs`
- [Folder selector](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/FolderSelector.xaml.cs): `src/QuickMove/FolderSelector.xaml.cs`

### Folder workflows

- [Add-in workflows](https://github.com/kwimbee/outlook-quickmove/blob/main/src/QuickMove/ThisAddIn.cs): `src/QuickMove/ThisAddIn.cs`

### Outlook host

- **Outlook application**

### Other components

- **Outlook user**

## Connections

- Outlook user → Ribbon callbacks: invokes
- Ribbon callbacks → Add-in workflows: dispatches actions
- Add-in workflows → Outlook application: reads folder tree
- Add-in workflows → Folder selector: opens with folders
- Folder selector → Add-in workflows: returns selection
- Add-in workflows → Outlook application: moves selected mail
- Add-in workflows → Outlook application: changes current folder
