Skip to content

Merge to main for 6.0 release#6

Merged
jsTron merged 18 commits into
mainfrom
develop
Apr 29, 2022
Merged

Merge to main for 6.0 release#6
jsTron merged 18 commits into
mainfrom
develop

Conversation

@jsTron
Copy link
Copy Markdown
Owner

@jsTron jsTron commented Apr 29, 2022

Testing:

  • All buttons and combo boxes next to data grid should be disabled on load.
  • CEF browser at bottom of window should load League Republic login page.
  • Load log file(s) by both using the Open File dialog and drag-drop over data grid.
    • Load Players buttons should now enable if data grids have at least one data row.
  • Find a results statistics page for a match in SPL League Republic site (must be logged in).
  • Click load players button for each team.
    • Ensure combo boxes only activate if there are enough data rows in the team grid to support that box.
  • Select players in combo boxes for each data row.
    • Test leaving at least one box empty to ensure Send button stays disabled.
    • Test all boxes filled per data row enables the send button for that team.
    • Selecting a duplicate player in more than one box will disable the send button and color the duplicated boxes red.
  • Click the send button for each team when enabled.
    • Ensure the data table is correctly copied to the appropriate names selected in the CEF browser.
    • CRITICAL: Be sure to not click "UPDATE" button on League Republic page. Original data may be NON-RECOVERABLE!!!
      • Click the "[BackArrow] Results" link to safely back out of current data changed in the form.
  • Click the "Clear Logs" button in the parser UI to ensure the data tables are cleared, all data labels (overtime win, not 3rd period, etc.) are cleared, and all but the load logs UI controls are disabled again as they were on initial form load.

* Introduce CefSharp to embed a web browser to interact with League Republic.
* Add UI elements to load players from League Republic page for each team.
* Add UI elements to set player name matching order. Players frequently have a different in-game name from their registration name.
* Add UI elements to populate the team stats web form for each team.
* Add stats.GetPropertyValueByEnum method to map enum values to stats class properties for quick lookup in dictinoary.
* Remove null requirement for player object to be updated.
* Refactor data send call to use the dictionary described above for value. with string code only being used once.
* Clear ComboBoxes in a more intelligent manner.
  * Load Logs Button clears all ComboBoxes.
  * Load Team Buttons clear the individual team ComboBoxes.
* Rename private/static variables to underscore-camel naming convention.
* Merge log file loading calls to a single method called from each button click method.
* Extract form reset code to helper method ResetFormData.
* Extract team and period text setter method.
* Extract OverTime Win check method.
* Extract SetLoadedFileDisplays method.
* Extract PopulateDataGrid method.
* Refactor overtime check to hide OvertimeWin status when changing log files.
…win-on-log-load

Fix period and overtime status on follow-on log load
* Prevent stats population to League Republic when a player name has been utilized more than once.
* Distill methods.
* Reduce code duplication.
* Refactor code to set and reset color background for player selection duplicates.
* Distill stat send button lockout code.
* Fix web page displaying incorrectly (black frame around page) when viewed from high DPI monitor, such as 4k displays, by adding HighDPI support to Chromium.
* Set anchors on controls to maintain proper placement and proportion during resizing.
* Set minimum size to display all controls on SHD display and larger.
* Change warnings to red color text for visibility.
Enable Form and Controls Sizability
* Fix combo boxes enabled where no data row exists.
* Fix send buttons enabled when any player boxes are empty per team.
* Fix load players button enabled when no log is loaded.
* Fix team-based load players buttons not enabling when log is drag-dropped onto the data grid.
@jsTron jsTron self-assigned this Apr 29, 2022
@jsTron jsTron merged commit 8238f54 into main Apr 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant