Readme update

This commit is contained in:
2026-03-20 22:29:57 +00:00
parent 09d57930cf
commit 3edc2ee208
4 changed files with 268 additions and 235 deletions
+160
View File
@@ -169,6 +169,7 @@ namespace OutlookCaseHelper
trayMenu.Items.Add("Settings", null, Settings_Click); trayMenu.Items.Add("Settings", null, Settings_Click);
trayMenu.Items.Add("Start with Windows", null, ToggleStartup_Click); trayMenu.Items.Add("Start with Windows", null, ToggleStartup_Click);
trayMenu.Items.Add("-"); trayMenu.Items.Add("-");
trayMenu.Items.Add("About", null, About_Click);
trayMenu.Items.Add("Exit", null, Exit_Click); trayMenu.Items.Add("Exit", null, Exit_Click);
trayIcon = new NotifyIcon(); trayIcon = new NotifyIcon();
@@ -944,5 +945,164 @@ namespace OutlookCaseHelper
base.OnFormClosing(e); base.OnFormClosing(e);
} }
} }
private void About_Click(object? sender, EventArgs e)
{
var form = new AboutForm();
form.ShowDialog();
}
private class AboutForm : Form
{
public AboutForm()
{
this.Text = "About Outlook Case Manager";
this.Size = new Size(400, 340);
this.MinimumSize = new Size(400, 340);
this.MaximumSize = new Size(400, 340);
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.StartPosition = FormStartPosition.CenterScreen;
try { this.Icon = new Icon(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "casenew.ico")); } catch { }
// Ícone grande
var pictureBox = new PictureBox
{
Left = 160,
Top = 20,
Width = 64,
Height = 64,
SizeMode = PictureBoxSizeMode.StretchImage
};
try { pictureBox.Image = new Icon(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "casenew.ico")).ToBitmap(); } catch { }
// Nome da app
var lblName = new Label
{
Text = "Outlook Case Manager",
Left = 20,
Top = 95,
Width = 350,
Height = 28,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 14, FontStyle.Bold)
};
// Versão
var lblVersion = new Label
{
Text = "Version 1.0.0",
Left = 20,
Top = 125,
Width = 350,
Height = 22,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 10, FontStyle.Regular),
ForeColor = Color.Gray
};
// Data de lançamento
var lblDate = new Label
{
Text = "Released: March 2026",
Left = 20,
Top = 148,
Width = 350,
Height = 20,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 9, FontStyle.Regular),
ForeColor = Color.Gray
};
// Descrição
var lblDesc = new Label
{
Text = "Automatically organizes Outlook emails by TrackingID\ninto folders, keeping your inbox clean and cases managed.",
Left = 30,
Top = 178,
Width = 330,
Height = 40,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 9, FontStyle.Regular)
};
// Separador
var separator = new Label
{
Left = 20,
Top = 228,
Width = 350,
Height = 1,
BorderStyle = BorderStyle.Fixed3D
};
// Created by
var lblCreatedBy = new Label
{
Text = "Created by Wellington Ribeiro",
Left = 20,
Top = 238,
Width = 350,
Height = 18,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 9, FontStyle.Bold)
};
// Email — clicável
var lblEmail = new LinkLabel
{
Text = "wribeiro@microsoft.com",
Left = 20,
Top = 258,
Width = 350,
Height = 18,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 9, FontStyle.Regular)
};
lblEmail.LinkClicked += (s, e) =>
{
try
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
{
FileName = "mailto:wribeiro@microsoft.com?subject=Outlook Case Manager - Feedback",
UseShellExecute = true
});
}
catch { }
};
// Sugestões
var lblSuggestions = new Label
{
Text = "For suggestions or bugs, contact the email above.",
Left = 20,
Top = 278,
Width = 350,
Height = 18,
TextAlign = ContentAlignment.MiddleCenter,
Font = new Font("Segoe UI", 8, FontStyle.Italic),
ForeColor = Color.Gray
};
// Botão fechar
var btnClose = new Button
{
Text = "Close",
Left = 150,
Top = 302,
Width = 90,
DialogResult = DialogResult.Cancel
};
this.Controls.AddRange(new Control[]
{
pictureBox, lblName, lblVersion, lblDate, lblDesc,
separator, lblCreatedBy, lblEmail, lblSuggestions, btnClose
});
this.CancelButton = btnClose;
}
}
} }
} }
+4
View File
@@ -1,3 +1,7 @@
// Outlook Case Manager
// Version 1.0.0 | March 2026
// Author: Wellington Ribeiro — wribeiro@microsoft.com
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
-190
View File
@@ -1,190 +0,0 @@
# Outlook Case Helper
A Windows system tray application that automatically organizes Outlook emails by TrackingID into folders.
---
## Requirements
- Windows 10/11
- Microsoft Outlook (classic) installed and configured
- .NET 8.0 Runtime
---
## Installation
1. Run `OutlookCaseHelperSetup.msi`
2. Follow the installation wizard
3. Launch the app from the Start Menu — **Outlook Case Helper**
4. The app runs in the system tray (bottom-right corner of the taskbar)
---
## How It Works
The app monitors your Outlook Inbox and Sent folders in real time. When an email arrives or is sent with a subject containing `TrackingID#<number>`, it is automatically moved to the corresponding folder under:
```
Inbox > Cases > Active > <folder name>
```
When a case is closed, the folder is moved to:
```
Inbox > Cases > Closed > <folder name>
```
---
## Features
### Create Rule (Selected Email)
Right-click the tray icon → **Create Rule (Selected Email)**
- Select an email in Outlook first
- The app reads the `TrackingID#` from the subject automatically
- Optionally add a name to the folder (e.g. `123456 | Client Name`)
- All existing emails with that TrackingID are moved immediately
- Future emails are moved automatically in real time
> If the case already exists in **Closed**, it is moved back to **Active** automatically — no new folder is created.
---
### Create Rule (Manual ID)
Right-click the tray icon → **Create Rule (Manual ID)**
- Manually type a TrackingID number
- Optionally add a name to the folder
- Searches and moves all matching emails from Inbox and Sent
---
### Remove Rule (Selected Email)
Right-click the tray icon → **Remove Rule (Selected Email)**
- Select an email in Outlook first
- The app reads the TrackingID and removes the active rule
- The folder is moved from **Active** to **Closed**
- Monitoring stops for that TrackingID
---
### Remove Rule (Manual ID)
Right-click the tray icon → **Remove Rule (Manual ID)**
- Manually type a TrackingID number to remove
- Same behavior as above
---
### Run All Rules Now
Right-click the tray icon → **Run All Rules Now**
- Scans all folders in the mailbox
- Moves any emails matching active rules to the correct folders
- Useful after the app was closed for a period
---
### Settings
Right-click the tray icon → **Settings**
Configure keyboard shortcuts:
| Action | Default Shortcut |
|---|---|
| Create Rule | Alt + 1 |
| Remove Rule | Alt + 2 |
Modifiers available: **Alt**, **Ctrl**, **Shift**
Keys available: F1F12, 09, AZ
Also available in Settings:
- **View Rules File** — opens `active_rules.json` in Notepad
- **Reload Rules** — reloads rules from file without restarting the app
---
### Start with Windows
Right-click the tray icon → **Start with Windows**
- Toggle whether the app starts automatically when Windows starts
- Checkmark indicates current state
---
## Folder Structure
```
Inbox
└── Cases
├── Active
│ ├── 123456 | Client Name
│ └── 789012
└── Closed
└── 654321 | Old Case
```
---
## Rules File
Rules are stored at:
```
C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\active_rules.json
```
You can edit this file manually in Notepad (via Settings → View Rules File) and reload without restarting.
---
## Email Subject Format
The app looks for emails with subjects containing:
```
TrackingID#<number>
```
Examples:
- `Case update - TrackingID#1234567890`
- `Re: Support ticket TrackingID#9876543210123456`
The number can be any length. Everything before `TrackingID#` is ignored.
---
## Limitations
- **Classic Outlook only** — does not work with New Outlook (web-based). New Outlook support via Microsoft Graph API is planned.
- **Single mailbox** — monitors only the primary Outlook account. Shared mailboxes are not supported.
- **Outlook must be open** — the app connects to a running Outlook instance. If Outlook is closed, rules are saved but monitoring pauses until Outlook is opened again.
- **Subject matching only** — rules are matched by subject line. Emails without `TrackingID#` in the subject are ignored.
- **No undo** — moving folders to Closed or Active cannot be undone through the app. Use Outlook directly to move folders manually if needed.
- **Manual file editing** — if you edit `active_rules.json` manually, use **Reload Rules** in Settings or restart the app for changes to take effect.
- **Case sensitivity** — `TrackingID#` is case-sensitive. `trackingid#` or `TRACKINGID#` will not be matched.
---
## Keyboard Shortcuts
Shortcuts work globally — even when Outlook is in focus.
| Shortcut | Action |
|---|---|
| Alt + 1 (default) | Create Rule from selected email |
| Alt + 2 (default) | Remove Rule from selected email |
Shortcuts can be changed in **Settings**.
---
## Uninstall
Go to **Control Panel → Programs → Uninstall a program** → select **Outlook Case Helper** → Uninstall.
Rules and settings stored in `AppData` are not removed automatically. Delete the folder manually if needed:
```
C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\
```
+104 -45
View File
@@ -1,7 +1,11 @@
# Outlook Case Helper # Outlook Case Manager
A Windows system tray application that automatically organizes Outlook emails by TrackingID into folders. A Windows system tray application that automatically organizes Outlook emails by TrackingID into folders.
**Version:** 1.0.0
**Released:** March 2026
**Author:** Wellington Ribeiro — wribeiro@microsoft.com
--- ---
## Requirements ## Requirements
@@ -37,15 +41,32 @@ Inbox > Cases > Closed > <folder name>
--- ---
## Tray Menu
Right-click the tray icon to access all features:
| Menu Item | Description |
|---|---|
| Create Rule (Selected Email) | Creates a rule from the selected email in Outlook |
| Create Rule (Manual ID) | Creates a rule by manually entering a TrackingID |
| Remove Rule (Selected Email) | Removes the rule for the selected email's TrackingID |
| Remove Rule (Manual ID) | Removes a rule by manually entering a TrackingID |
| Run All Rules Now | Scans all mailbox folders and applies all active rules |
| View Active Rules | Opens the dashboard to manage all active rules |
| Settings | Configure keyboard shortcuts and rule file options |
| Start with Windows | Toggle automatic startup with Windows |
| About | App information, version and contact |
| Exit | Closes the application |
---
## Features ## Features
### Create Rule (Selected Email) ### Create Rule (Selected Email)
Right-click the tray icon → **Create Rule (Selected Email)**
- Select an email in Outlook first - Select an email in Outlook first
- The app reads the `TrackingID#` from the subject automatically - The app reads the `TrackingID#` from the subject automatically
- Optionally add a name to the folder (e.g. `123456 | Client Name`) - Optionally add a name to the folder (e.g. `123456 | Client Name`)
- All existing emails with that TrackingID are moved immediately - All existing emails with that TrackingID are moved immediately from all folders
- Future emails are moved automatically in real time - Future emails are moved automatically in real time
> If the case already exists in **Closed**, it is moved back to **Active** automatically — no new folder is created. > If the case already exists in **Closed**, it is moved back to **Active** automatically — no new folder is created.
@@ -53,45 +74,67 @@ Right-click the tray icon → **Create Rule (Selected Email)**
--- ---
### Create Rule (Manual ID) ### Create Rule (Manual ID)
Right-click the tray icon → **Create Rule (Manual ID)**
- Manually type a TrackingID number - Manually type a TrackingID number
- Optionally add a name to the folder - Optionally add a name to the folder
- Searches and moves all matching emails from Inbox and Sent - Searches and moves all matching emails from all folders
--- ---
### Remove Rule (Selected Email) ### Remove Rule (Selected Email)
Right-click the tray icon → **Remove Rule (Selected Email)**
- Select an email in Outlook first - Select an email in Outlook first
- The app reads the TrackingID and removes the active rule - The app reads the TrackingID and removes the active rule
- The folder is moved from **Active** to **Closed** - The folder is moved from **Active** to **Closed**
- Monitoring stops for that TrackingID - Monitoring stops for that TrackingID
- Confirmation popup before closing the case
--- ---
### Remove Rule (Manual ID) ### Remove Rule (Manual ID)
Right-click the tray icon → **Remove Rule (Manual ID)**
- Manually type a TrackingID number to remove - Manually type a TrackingID number to remove
- Same behavior as above - Same behavior as above
--- ---
### Run All Rules Now ### Run All Rules Now
Right-click the tray icon → **Run All Rules Now** - Scans **all folders** in the mailbox recursively
- Scans all folders in the mailbox
- Moves any emails matching active rules to the correct folders - Moves any emails matching active rules to the correct folders
- Useful after the app was closed for a period - Useful after the app was closed for a period or to do a full cleanup
- Shows a tray notification when complete
---
### View Active Rules (Dashboard)
Opens an interactive dashboard to manage all active rules.
| Button | Description |
|---|---|
| Add Rule | Creates a new rule directly from the dashboard |
| Rename | Renames the selected rule and its Outlook folder |
| Close Case | Moves the selected folder to Closed (with confirmation) |
| Reload Rules | Reloads rules from the JSON file without restarting |
| Refresh | Updates the email count for all rules |
| Close | Closes the dashboard |
The dashboard shows for each rule:
- **Folder Name** — full name including optional label
- **TrackingID** — the numeric ID extracted from the folder name
- **Emails** — current number of emails in the folder
> Double-clicking a rule opens the Rename dialog directly.
--- ---
### Settings ### Settings
Right-click the tray icon → **Settings** Configure keyboard shortcuts and rule file options.
Configure keyboard shortcuts: | Section | Description |
|---|---|
| Create Rule shortcut | Keyboard shortcut to create a rule from selected email |
| Remove Rule shortcut | Keyboard shortcut to remove a rule from selected email |
| View Rules | Opens `active_rules.json` in Notepad |
| Reload Rules | Reloads rules from file without restarting |
Default shortcuts:
| Action | Default Shortcut | | Action | Default Shortcut |
|---|---| |---|---|
@@ -101,17 +144,17 @@ Configure keyboard shortcuts:
Modifiers available: **Alt**, **Ctrl**, **Shift** Modifiers available: **Alt**, **Ctrl**, **Shift**
Keys available: F1F12, 09, AZ Keys available: F1F12, 09, AZ
Also available in Settings:
- **View Rules File** — opens `active_rules.json` in Notepad
- **Reload Rules** — reloads rules from file without restarting the app
--- ---
### Start with Windows ### Start with Windows
Right-click the tray icon → **Start with Windows** - Toggles whether the app starts automatically when Windows starts
- Toggle whether the app starts automatically when Windows starts
- Checkmark indicates current state - Checkmark indicates current state
- Stored in the Windows Registry under `HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`
---
### About
Displays app information including version, release date, description, and contact details.
--- ---
@@ -129,17 +172,6 @@ Inbox
--- ---
## Rules File
Rules are stored at:
```
C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\active_rules.json
```
You can edit this file manually in Notepad (via Settings → View Rules File) and reload without restarting.
---
## Email Subject Format ## Email Subject Format
The app looks for emails with subjects containing: The app looks for emails with subjects containing:
@@ -151,19 +183,26 @@ Examples:
- `Case update - TrackingID#1234567890` - `Case update - TrackingID#1234567890`
- `Re: Support ticket TrackingID#9876543210123456` - `Re: Support ticket TrackingID#9876543210123456`
The number can be any length. Everything before `TrackingID#` is ignored. The number can be any length. Everything before and after `TrackingID#<number>` is ignored.
--- ---
## Limitations ## Rules File
- **Classic Outlook only** — does not work with New Outlook (web-based). New Outlook support via Microsoft Graph API is planned. Rules are stored at:
- **Single mailbox** — monitors only the primary Outlook account. Shared mailboxes are not supported. ```
- **Outlook must be open** — the app connects to a running Outlook instance. If Outlook is closed, rules are saved but monitoring pauses until Outlook is opened again. C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\active_rules.json
- **Subject matching only** — rules are matched by subject line. Emails without `TrackingID#` in the subject are ignored. ```
- **No undo** — moving folders to Closed or Active cannot be undone through the app. Use Outlook directly to move folders manually if needed.
- **Manual file editing** — if you edit `active_rules.json` manually, use **Reload Rules** in Settings or restart the app for changes to take effect. You can edit this file manually:
- **Case sensitivity** — `TrackingID#` is case-sensitive. `trackingid#` or `TRACKINGID#` will not be matched. 1. Open **Settings → View Rules** to open the file in Notepad
2. Edit the JSON array — each entry is a folder name string
3. Click **Settings → Reload Rules** to apply changes without restarting
Example file:
```json
["123456 | Client Name", "789012", "654321 | Old Project"]
```
--- ---
@@ -180,11 +219,31 @@ Shortcuts can be changed in **Settings**.
--- ---
## Limitations
- **Classic Outlook only** — does not work with New Outlook (web-based). New Outlook support via Microsoft Graph API is planned for a future version.
- **Single mailbox** — monitors only the primary Outlook account. Shared mailboxes are not supported.
- **Outlook must be open** — the app connects to a running Outlook instance. If Outlook is closed, rules are saved but monitoring pauses until Outlook is reopened.
- **Subject matching only** — rules are matched by subject line. Emails without `TrackingID#` in the subject are ignored.
- **Case sensitivity** — `TrackingID#` is case-sensitive. `trackingid#` or `TRACKINGID#` will not be matched.
- **No undo** — moving folders to Closed or Active cannot be undone through the app. Use Outlook directly to move folders manually if needed.
---
## Uninstall ## Uninstall
Go to **Control Panel → Programs → Uninstall a program** → select **Outlook Case Helper** → Uninstall. Go to **Control Panel → Programs → Uninstall a program** → select **Outlook Case Manager** → Uninstall.
Rules and settings stored in `AppData` are not removed automatically. Delete the folder manually if needed: Rules and settings stored in `AppData` are not removed automatically. Delete the folder manually if needed:
``` ```
C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\ C:\Users\<username>\AppData\Roaming\OutlookCaseHelper\
``` ```
---
## Contact
**Wellington Ribeiro**
wribeiro@microsoft.com
For suggestions or bug reports, please send an email with the subject **Outlook Case Manager - Feedback**.