Fix has been done on constructor of each watch. Call GetByte / Word /
DWord if value is 0.
It ensure that previous passed in parameters remains unchanged
Now fully use comparer class. That saves memory and offer extensibility
ItemCount property obsolete => Moved to Count property (which did the same thing)
Moved ConfigPersistAttribute.cs, IToolForm.cs, IToolFormAutoConfig.cs back to common
- save/load by slot number (select that branch if it exists)
- save/load current slot (selected branch)
- select branch by slot number
- select next/previous branch
- bind 2 default tastudio hotkeys
keep selection when branch gets removed.
select all is never used, select between markers is frequent, simplify the latter.
clone and delete are used in pair, give them similar shortcuts.
insert and clear are rare, but are simple enough to drop modifiers.
insert # of frames is even rarer, make it the hardest shortcut.
only enabled for branches and markers, since in tasview we use rightclick to start advance/rewind.
involved some hackery, like killing context menu while OnMouseDown of the given listview, then going back to InputRoll's OnMouseDown and actually selecting a new cell. can we figure out a hovered cell while context menu is still active? also, it'd make sense to do this for leftclick as well, but without context menu hiding, there doesn't seem to be a way to force updating of listviews from InputRoll.
it was forgetting to discard alpha, and when creating a bitmap it dropped anything but lua hud, since it does have alpha bits that nothing else has, and with no lua hud involved, it showed all normally, since it didn't have to drop colors with zero alpha. lol.
+ Moved WatchList.cs to specific directory (just a matter of ordering)
+ Mark some properties and methods in watchlist as obsolete
+ Create Comparer class that are used for sorting (Only domain and
address atm, other a still stored with linq). Unlike OrderBy in LINQ, it
doesn't create a new list for sorting (so it saves memory), furthermore,
it runs faster.
Finally, change to type of Watch.Address from nullable lon to regular
long (the rare times watch.Address.Value was used, there wasn't any
check of null and so, program would have crashed -
InvalidOperationException -)
both have buttons and context menu items.
if mass adding regular markers, give a warning for 50+.
marker with text can only be added one at a time.
fix#504