Implement proper compression for the filter dialog
The patch consists of three different changes: 1) CancelSilentlyMarker is changed from a job to an atomic flag. Before this change, the job used to be cancelled before the actual flag was reset. It caused too many unnecessary updates to happen. 2) KisFilterStrokeStrategy now provides a cookie to show whether the procesing has finished or not. 3) This cookie is used in a new mode in KisSignalCompressor. This mode works as the normal FIRST_ACTIVE mode, with one exception: it has "the second" shorter timer that checks if the queue is already idle. If it is idle, then the signal will be passed before the normal deadline. This mode is activated by calling the second override of setDelay() that accepts isIdle callback for the state of the queue.
Showing with 165 additions and 31 deletions