Flag Pin Tool — Changelog ========================= Version 1.1.1 (2026-06-16) ----------------------------- Fixed - Add Flag Pin dialog no longer pre-fills Latitude, Longitude, or Date/Time. These fields start blank for new pins. - Pressing the Delete key while editing text in the Add/Edit dialog no longer triggers deletion of the selected pin in the main list. Version 1.1.0 (2026-06-15) ----------------------------- - Added Tools menu with Grid Converter (Tools > Grid Converter…). Converts between Maidenhead, MGRS/USNG, and decimal Lat/Lon in any direction. Auto-detects input format. Includes MGRS precision and Maidenhead length options, and Copy Maidenhead / Copy MGRS buttons. - Application window now displays the FlagPinTool icon in the title bar and taskbar (SVG with PNG fallback). - Grid Converter requires the mgrs Python package (pip install mgrs). Version 1.0.0 (2026-06-14) ----------------------------- Initial release. - Standalone editor for creating and managing Flag Pin .flags.json files compatible with JS8Reporter and MH Grid Mapper. - Spreadsheet-style main window with a sortable, filterable Treeview listing all pins with columns: Description, Grid, Latitude, Longitude, Source, Color, Severity, Status, Blink, Date/Time (UTC). - Row backgrounds are tinted with a pale shade of each pin's assigned color for at-a-glance visual identification. - Click any column header to sort ascending; click again to sort descending. - Action toolbar with buttons: New, Open, Save, Save As, Add, Edit, Delete, Duplicate, Import CSV/TSV, Export .flags.json. - Options bar with: Station callsign field, Default color picker (named colors + Custom… system color chooser), Move Up / Down buttons, and a live Filter field that narrows the list as you type. - Quick Add strip: rapidly enter Description + Grid (Lat/Lon auto-fills from Grid) and a color, then press Add to create a pin without opening a dialog. Designed for fast bulk data entry. - Add/Edit dialog with full field support: Description, Grid, Latitude, Longitude (Grid ↔ Lat/Lon auto-sync in both directions), Date/Time UTC (with Now ▶ button), Source, Severity, Status, Color, Blink. - Import CSV/TSV with a column-mapping dialog: auto-guesses column assignments from header names, shows a live data preview, and validates that at least Grid or Lat+Lon is mapped before importing. Accepts any delimiter (comma or tab auto-detected from file extension and content). - Merge Flag Pins: import a .flags.json file and merge by updated_at timestamp, matching the merge logic used by JS8Reporter and MH Grid Mapper. - Open / Save / Save As for .flags.json files. Save As auto-suggests a timestamped filename using the station callsign. - Export .flags.json: always prompts for a path, producing a separate export copy without modifying the currently open working file. - Unsaved-changes guard: prompts to save on New, Open, and Exit when there are unsaved edits. - Keyboard shortcuts: Ctrl+N (New), Ctrl+O (Open), Ctrl+S (Save), Ctrl+Shift+S (Save As), Ctrl+A (Select All), Ctrl+D (Duplicate), Ins (Add), Del (Delete), Enter / Double-click (Edit), Alt+Up / Alt+Down (Move row). - Auto-update check: background thread fetches version.json from the configured URL on startup and prompts to open the download page if a newer version is available. Offline operation is never affected. - Settings > Check for Updates Now for on-demand version checks. - Settings dialog with General tab (callsign, default color), Folders tab (default import/export directories), and Auto-Update tab (enable/disable startup check, configurable URL). - All settings persisted to data/settings.json between sessions, including window geometry, station callsign, default color, and folder preferences. - Output JSON format: sitrep_flags v1.0 — fully compatible with JS8Reporter flag pin export and MH Grid Mapper flag pin import/export. - Maidenhead grid conversion built-in (no external packages required). - Single-file Python program: no installation or setup script needed. Runs on Python 3.9+ with only the standard library (tkinter). - Linux desktop launcher (flagpintool.desktop) and run.sh launcher script with tkinter availability check. - FlagPinTool.svg / FlagPinTool.png icon.