by
@Knightly:
-Broke all existing INIs. Meanness.
-Broke all existing hotkeys. Laziness.
-Renamed MQ2MYButtons to MQ2MyButtons. Everyone Loves CamelCase
-Refactored a bunch of code. Just Because.
-Put my name in there a bunch of times. Vanity.
-At some point I got it working again. Coincidence.
~~~~~~~~~~
-Modernized the UI and made it resizable and matched to the existing hotbutton bars (I stole this from EQUI_Hotbuttons.xml, so no credit to me)
-Expanded from 10 Hotbuttons to 12 since I was in there anyway. You could actually make this any number, I just chose 12 to match the existing ones.
-Changed it so that it will no longer steal focus on windows so that you can't escape from other windows if you clicked a MyButton with a window open.
-Added MQUI_MyButtonsWnd.xml generation. If you don't have it, it will be created. If you do have it and your version is older than my version I'll overwrite yours. This should stop the issues where it crashes because the file is missing and also allow for easy updates if the UI changes. But if you want to customize the actual XML I'm going to end up overwriting it again, so maybe request we add a feature for that later (I don't think anyone customizes this).
-Added a check to make sure everything with the XML file is good before trying to load the window. Added this to all Plugin routines in MyButtons too so that the plugin just skips those steps if there's a problem at startup. Previously the XML would fail to load and then the UI update would cause a crash because there was no check to see if it was successful. This doesn't fix a broken UI crashing EQ. It just makes it so the missing UI for this plugin won't crash EQ. Will still probably crash next time the UI is updated.
-Split the INI file out into [ButtonX] sections so that settings can be per button rather than the whole UI. Existing inis will not work, so check out the example ini that gets created to see how to set yours up and move your hotkeys over. The only required thing for a [ButtonX] section to work is a number between 1 and 12 (instead of X) and a "Command=" line. Everything else is optional, including the Label.
-Consolidated all of the TLOs into one TLO that just takes an argument of which button you want info about.
-Got rid of all the Bnt items and changed it to Button, abbreviations of Button (even Btn vs Bnt) are hard to remember and I got tired of going back and forth trying to remember them.
-Got rid of all the existing commands and changed it to /mybuttons with arguments. /mybuttons by itself will toggle the visibility of the window. "/mybuttons help" will show you the help.
-Added a show command that makes looking at what MyButtons you have setup easier.
-If you want to bind your hotkeys to the keyboard, consider using MQ2CustomBinds and /mybutton X.
~~~~~~~~~~
Special thanks to dewey2461 for reviewing my code when I was going crazy.