Preparing for homogeneity with capture tab.
ClosedPublic

Authored by TallFurryMan on Jun 5 2018, 6:33 AM.

Details

Summary

This change avoids the removed job from crashing kstars when its edition state is reset.

This change also makes states properly reset as if edition mode had been exited.

This change also makes the scheduler tab behave a bit more like the capture tab, by making the add/edit/remove behavior a bit more
similar. It removes the orange glow used in edit mode, and uses the same check icon as the capture tab.
It is no more possible to delete a job without selecting it, which fixes the user experience issue where the delete button would not tell which job it would delete.
Less quick to delete all jobs though, but that's not a frequent use case?

More work needed to clarify the interface. This prepares the removal of double-click to reset a job, which is not needed anymore.

Also, this change restricts some logs to the file log.

Diff Detail

Repository
R321 KStars
Branch
bugfix__scheduler_ui_behavior (branched from master)
Lint
No Linters Available
Unit
No Unit Test Coverage
TallFurryMan created this revision.Jun 5 2018, 6:33 AM
Restricted Application added a project: KDE Edu. · View Herald TranscriptJun 5 2018, 6:33 AM
Restricted Application added a subscriber: kde-edu. · View Herald Transcript
TallFurryMan requested review of this revision.Jun 5 2018, 6:33 AM

Hello Jasem, could you test this and tell me if it fits the original attempt in the user interface? I'm trying to make the scheduler tab and capture tab behave a bit similar, but perhaps that's not where the author wanted to go? Besides, it fixes the issue raised by pcxz on the forum.

Hi Eric, it looks fine and it is a good think to have a consistent experience. I noticed something I haven't noticed before which is the job evaluation now runs as soon as your add the job? is this intentional? what's the rational?

Thanks. Yes, the immediate evaluation is wanted. The rationale is that the scheduler should be consistent, and should not display both non-evaluated and evaluated jobs as there is no way to differentiate them in the table. All jobs evaluate when the scheduler starts, so having some not evaluated when the user clicks the start button is a usability problem somehow. For instance, if a job is already complete with all captures stored, or if a job cannot schedule because of altitude, it's better to tell the user before starting.

Extending on this, I want to evaluate all jobs periodically, so that the scheduler can't start with asap jobs that are already in the past. Currently the scheduler reorders those afterwards without problem, but it causes an unexpected change to the visible schedule and we don't want to surprise the user. Also, duration estimates are incorrect currently, and are causing reorders too when the real duration is larger than 5min and aborts the next jobs. I'll move the estimates for each step at a location the user can update (or possibly make the scheduler measure and learn that duration).

TallFurryMan planned changes to this revision.Jun 6 2018, 8:51 AM

Spotted another issue with Mosaic Scheduler, causing a crash in the same context.

  • Fix crash by not reevaluating jobs when resetting edit mode.
  • Don't remove the last job when none is selected.
  • Rework job removal algorithm.
  • Reevaluate jobs when saving and removing.
TallFurryMan planned changes to this revision.Jun 6 2018, 2:53 PM

I've got a regression when "Remember Job Progress" is enabled. Let me check.

  • Fix crash by not reevaluating jobs when resetting edit mode.
  • Don't remove the last job when none is selected.
  • Rework job removal algorithm.
  • Reevaluate jobs when saving and removing.

I rebased this differential over D13388.
There is still an issue when re-scheduling jobs starting at the same time, visible when using the Mosaic Tool. But that's minor, I'll fix this in a later commit.

mutlaqja accepted this revision.Jun 7 2018, 7:47 AM
This revision is now accepted and ready to land.Jun 7 2018, 7:47 AM
This revision was automatically updated to reflect the committed changes.