ImperialCollegeLondon / FINESSE

A graphical user interface for controlling and monitoring an interferometer device
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

Data file UX improvements #549

Closed alexdewar closed 7 months ago

alexdewar commented 7 months ago

Description

@jonemurray has pointed out that it isn't currently obvious whether or not recording is taking place, so it is easy to forget to start recording before e.g. running a measure script.

I've tried to remedy this in two ways:

  1. Make it more obvious when recording is happening by flashing a red LED and displaying some red text in a QLabel
  2. Prompt the user to start data recording if they try to run a measure script when recording is not happening

Widget when recording is stopped:

Screenshot from 2024-04-10 at 12_30_48 080227005

Widget when recording is running (with flashing LED):

Screenshot from 2024-04-10 at 12_31_10 774311837

Suggestions on how to improve the appearance of the widget are welcome! (In particular, it looks a little odd the way the controls move around when the user starts/stops recording.) That said, I think it's perfectly usable as is :smile:

Fixes #526.

I've broken tests (hence why this is a draft PR), but I'll fix them up if everyone is happy with this solution.

Type of change

Key checklist

Further checks

jonemurray commented 7 months ago

Hi Alex, this is a good solution thank you.

alexdewar commented 7 months ago

A red light is often used to mean "recording in progress" though, e.g. on camcorders, so that was my logic. It's also more eye-catching than green IMO. That's the same reason I made the light blink, to draw the user's attention to it. I take your point that it might make more sense to sync the blinking with when data is actually recorded, though.

dc2917 commented 7 months ago

Ah yes, fair point!

alexdewar commented 7 months ago

I've finished adding all the tests now, so we have 100% coverage for the changed files.

I also followed Dan's suggestion of flashing the LED when the data is actually being written.