Skip to content

Job sequence handling refactored

The implementation of sequence job handling in Capture had two weaknesses:

  • Adding a new sequence job and editing a sequence job was handled all through one huge method
  • The same method was used when loading a file with sequence jobs: when reading the file, the UI values where first set and afterwards addJob() has been called to create the corresponding job.

With this refactoring, the big addJob() method is split up into createJob() and editJobFinished(). When a file with sequence jobs is loaded, it directly creates a SequenceJob object, sets its values and hands it over to the newly created Capture::addJob() to update the job table.

Additionally, the logic for loading and saving capture sequence files is moved to CaptureProcess().

The idea behind this refactoring comes from issues reporting that binning wasn't set correctly when capturing. One possible reason - still to be verified - could come from the indirection of loading sequence files by first updating the UI and then creating the job.

After this change, the code for adding and editing jobs should be straight forward and easier to read.

Edited by Wolfgang Reissenberger

Merge request reports