Commit Graph

17 Commits

Author SHA1 Message Date
Narcasung e65a737a31 Rename addon from HideCoA to HideCoAUI
Moves addon files into a HideCoAUI subfolder (repo root now holds
LICENSE/README for packaging), renames HideCoA.toc and the HideCoA.lua
global table to HideCoAUI throughout, and fixes the ADDON_LOADED
arg1 check accordingly. HideCoADB (SavedVariables) is left untouched
to preserve existing user settings.
2026-07-08 15:18:16 +02:00
Narcasung 899f872577 Add MIT license and README 2026-07-08 14:06:41 +02:00
Narcasung 951bebf044 Add Delete Profile button with confirmation, hide CoAMultiCastActionBarFrame
- Add CoAMultiCastActionBarFrame to HideCoA.FRAMES so it gets a checkbox
  in both the Classes and Character Override tabs automatically.
- Add a Delete Profile button next to the override profile dropdown,
  disabled for the currently logged character's own profile (with an
  explanatory text shown below the row in that case).
- Confirm deletion via a StaticPopupDialog before removing a profile.
- Revert the Classes tab box backdrop under ElvUI back to the original
  borderless style; keep the new bordered style for the non-ElvUI case.
2026-07-08 13:42:57 +02:00
Narcasung 87d9c83bdb Auto-select logged character's class on first Classes tab view
Only applies when no class has been manually selected yet in the
session; a manual selection is remembered across subsequent tab
switches.
2026-07-08 00:44:48 +02:00
Narcasung 5bbbcc7b5d Equalize class header top/bottom spacing on Classes tab
Both margins were mismatched (4px top, 34px bottom); set to 19px each
for a balanced header.
2026-07-08 00:44:43 +02:00
Narcasung 8c8362f75e Full-width class name header, per-class Hide/Show buttons
- Class name in the Classes tab is now a centered full-width heading
  flanked by thin lines, matching the Character Override tab's
  profile heading style, instead of a plain left-aligned label.
- Add "Hide This Class" / "Show This Class" buttons below the frame
  checkboxes, scoped to whichever class tab is currently selected
  (the existing Hide All/Show All at the top still act on every
  class). Both buttons grey out alongside the checkboxes when the
  logged-in character's own class has its profile override enabled.
2026-07-08 00:35:26 +02:00
Narcasung 65dcb96c1d Remove the unconditional Default profile fallback
DeleteProfile no longer has a UI entry point, so the hardcoded
"Default" safety net it used to fall back to is no longer needed.
Unassigning a deleted profile now just clears the charProfile
mapping, and GetActiveProfileName/GetActiveClassSettings already
fall back to (and lazily recreate) the character's own auto-created
profile - the same thing that happens for a brand new character.
2026-07-08 00:30:53 +02:00
Narcasung 79f45e5c41 Add override notice on Classes tab, include class in profile names
- Show "These settings are currently overridden" and grey out the
  frame checkboxes on the Classes tab, but only while viewing the
  logged-in character's own class and its active profile has the
  override enabled - other classes stay fully editable.
- GetCharacterKey() now embeds the class token ("Name - Class -
  Realm"), so auto-created per-character profiles carry it too.
  Migrate existing "Name - Realm" profiles/assignments/overrides to
  the new key on the affected character's next login.
2026-07-08 00:26:58 +02:00
Narcasung 83a1cda15c Move frame-override storage from per-character to per-profile
The Character Override tab's enabled toggle and frame checkboxes now
live on each named profile (profiles[name].override) instead of being
keyed by character. This lets the tab's new profile-list dropdown pick
which profile's override to view/edit without touching which profile
is actually assigned/active for the character - selecting an entry
only changes what you're editing. Existing per-character override data
is migrated into the character's currently active profile on load.

Also style the profile dropdown with ElvUI when available, matching
the rest of the options panel.
2026-07-08 00:18:44 +02:00
Narcasung 3d048cb081 Rework Classes/Character Override options UI
- Fix checkbox/button click sound never playing: the sound hook was
  installed before the real OnClick handler, which SetScript then
  silently overwrote. Apply the click-sound hook after each button's
  real handler instead, and extend it to Hide All/Show All and the
  class tabs.
- Split the single bordered box around the Classes tab list and
  checkbox content into two separate boxes with a 3px gap, remove the
  bright edge texture, and lower the fill alpha so it reads closer to
  LootCollector's panel styling.
- Show "Name - Realm" above the Character Override checkbox and drop
  its trailing period.
- Add breathing room around the class name label and tab list.
2026-07-08 00:06:14 +02:00
Narcasung ea4849fc10 Revamp options UI: dropdown-based class picker and per-character override tab
Replaces the 21-tab class sidebar with a single Classes tab driven by a
dropdown plus Hide All/Show All bulk actions. Reworks the old Profiles tab
into "Character Override": a single toggle that lets a character's frame
hide/show choices bypass its class settings, backed by a new
characterOverrides table alongside the existing profile data. Adds an
empty About tab, restyles sidebar tabs gold/white, and drops the unused
subtitle line.
2026-07-07 23:23:25 +02:00
Narcasung 920b1b234b Add per-profile class settings with Reset/Copy/Delete and per-character profile assignment
Each profile now owns its own hide/show settings instead of sharing one
global table, and profile selection is tracked per character instead of
account-wide. Adds Reset Profile, Copy From, and Delete a Profile controls
to the Profiles tab, each ElvUI-skinned and gated behind a confirmation
popup.
2026-07-07 22:17:47 +02:00
Narcasung 5818fc66bc Guard profile dropdown against HideCoADB not being ready yet at load time 2026-07-07 20:40:56 +02:00
Narcasung ecaf3a7cb9 Add profile tab with Default/realm-character dropdown foundation 2026-07-07 20:39:17 +02:00
Narcasung d716f209cf Skin checkboxes with ElvUI when it's loaded 2026-07-07 20:28:24 +02:00
Narcasung 56d53d8f49 Guard forced Show() to frames already shown naturally by the game 2026-07-07 20:19:06 +02:00
Narcasung 55e82cf100 Initial commit: HideCoA addon 2026-07-07 19:03:58 +02:00