MegaMek / mekhq

MekHQ is a java helper program for the MegaMek game that allows users to load a list of entities from an XML file, perform repairs and customizations, and then save the new entities to another XML file that can be loaded into MegaMek.
http://megamek.org
130 stars 168 forks source link

RFE 49.19: Daily report UX/UI, visually seperate daily report content #4031

Open Tzahr opened 4 months ago

Tzahr commented 4 months ago

Request

Daily report generated by MekHQ during play can become cluttered. When passing multiple days quickly, routine maintenance reports and transit messages drown out personnel changes, and can lead to important information being missed. I would request to separate different elements of the reports under separate headers that can be kept closed or opened.

Ideally each section can be collapsed, and remain so when a new day passes until uncollapsed. E.g. if you collapse maintenance, it'll stal collapsed when the next maintenance report comes in, allowing you to essentially minimize all maintenance reports. If a section has no content on that day, it should not be displayed.

Example:

-- NEWS & MARKETS Lists news reports, contract and bonus events, and market refreshes.

-- PERSONNEL Lists deaths, personnel log changes, marriages, hires, etc.

-- MAINTENANCE Lists routine maintenance reports.

-- REPAIRS Lists auto-repair and/or manual repairs.

  • LOGISTICS (collapsed) Would list purchases, deliveries and warehouse reports if uncollapsed.

-- TRANSIT Lists jump and drop ship recharge times, arrivals, and jump transitions.

-- FINANCES Reports incomes and expenditures.


Alternative

An alternate, minimalist approach, would simply to have a rule added between report blocks for visual clarity.

Example:

Unit market is now available.


Jon Doe has Married Jane Doe. Jimmy Space has earned 1 XP.


Maintenance on Bull Shark BSK-MAZ has completed, quality remains A.


You have been credited 69.000 C-Bills for being a cool developer person.

IllianiCBT commented 4 months ago

So, daily report logs kinda get pushed to the report as they're called.

To my knowledge there isn't a lot of ordering going on.

It might be possible to introduce breakers between different categories (within the daily, weekly, and monthly stuff) as that will always happen in the same order. However that depends greatly on whether the daily/weekly/monthly reports are being shunted from the same place. If they're not, which I suspect, we'd have to edit the addReport() method to do dynamic ordering. Not impossible, but definitely not a quick fix.

Even with dynamic sorting, you're still going to have the at-need reports plonked at the bottom of the daily report.

Introducing the ability to minimize report groups would likely require a complete rebuild of the Daily Report panel.

I've marked this request as Major, but I suspect it'll turn into a bit of a hydra once development starts.