Closed ScottIngram closed 1 year ago
Agree that commandline is pretty bad especially for zone input, that being said i didnt want the nightmare of custom input causing issues with parsing/invalid names if users put in wrong case/spacing/apostraphe so not sure if that would be in scope but go for it, its beyond my skillset and willingness to learn
Yep, parsing user input is the worst. But, I was thinking I would wrap the parser in a pcall() which will trap any errors so they don't crash the addon. If an error happens, we put up a message, "hey, that's not right." and make them re-enter it or provide an undo button. I'm actually already working on this for the fun of it.
currently there shouldnt be a crash if the zone name was wrong the string match would just be false but good luck!
alrighty. I've got a first draft done. Really hope you like it.
I completely skirted the issue of parsing user input by eliminating it entirely. Zones/subzones are toggled by click buttons, so, no possibility of typos etc.
You can see it at https://github.com/ScottIngram/BeQuiet/tree/config-panel
I'm testing and can create a pull request whenever, probably when I'm done testing? Or before, if you want.
Really cool so far, i think one thing that I'd maybe like to see from a user perspective is the name of the current zone and subzone beside the respective buttons so its clearer what you're adding before you add it, although it is logged in chat so probably not worth the trouble?
I'd also maybe like to tweak some of the strings from "style" to "mode":
"BeQuiet everywhere by default, zones in the list will not be suppressed" "BeQuiet nowhere by default, only zones in the list will be suppressed"
Is it possible to pop-out the list so a user can see the whole thing in one view without scrolling?
One feature that has also been requested is do block only in instances, as in a user can set the mode to "nowhere" by default and despite that we can do a checkbox and throw a check for if the user is currently in_instance, this way they dont need to add each dungeon they do to the blacklist
if you prefer not to make the functional changes i can probably figure it out after bringing your changes in
Really cool so far, i think one thing that I'd maybe like to see from a user perspective is the name of the current zone and subzone beside the respective buttons so its clearer what you're adding before you add it, although it is logged in chat so probably not worth the trouble?
Done - I put the zone in the button text itself
I'd also maybe like to tweak some of the strings from "style" to "mode":
I like that. Done.
"BeQuiet everywhere by default, zones in the list will not be suppressed" "BeQuiet nowhere by default, only zones in the list will be suppressed"
Ok, done. But, for clarity, instead of just "list" I explicitly said whitelist or blacklist.
Is it possible to pop-out the list so a user can see the whole thing in one view without scrolling?
Yes, good idea... kk figured out how. I've dumped the scrolling panel all together and replaced it with hover text.
One feature that has also been requested is do block only in instances, as in a user can set the mode to "nowhere" by default and despite that we can do a checkbox and throw a check for if the user is currently in_instance, this way they dont need to add each dungeon they do to the blacklist
Ok, I added a config option for it, but, I didn't implement the logic for it, but I put a placeholder in close_head() if you want to tackle it.
cool i was able to implement it easily on my end, i'm not seeing any issuse with the fundamental functionality so feel free to raise the PR
kk, I made the pull request :-)
PR merged and i added the functional tweak for instance checking, new version was just approved by curse. appreciate the work on this one and feel free to keep a watch on this repo if/when it inevitably breaks due to a major wow update :)
glad to help!
If you're interested, I could use Ace3 to create a configuration panel in the standard Bliz options menu to provide GUI access to what's currently accessible via /bq . If so, let me know and I'll submit a pull request