Details
-
Sub-task
-
Resolution: Fixed
-
P2: Important
-
None
-
-
09c4aad0e (master), d35d0b510 (master), 0e7ecee48 (master), 0fa16f848 (master), 6e6aa7102 (master), 34cef824b (master), b5f77f6d5 (master), dda75153f (master), 35e03499f (master), f84e3074c (master), fbe359308 (master), 37b6cb7f9 (master)
Description
This task addresses in details the 9th point in QTCREATORBUG-28741 master task.
1. Get rid of 3 arg c'tors for CustomTask. Accept only 2 handlers: setup and done.
2. The done handler may take additional "DoneWith doneWith" arg indicating whether the task has finished with success, an error, or whether it was canceled.
3. In order to still support calling only one of done or error handler: add a CallDoneIf enum as a 3rd arg for CustomTask's c'tor:
enum class CallDoneIf { SuccessOrError, // default Success, Error };
4. Make "DoneWith doneWith" arg optional.
5. Make "const Task &" arg optional.
6. Overload the done handler to take only "DoneWith doneWith" arg, without "const Task &".
7. Make it possible the done handler returns optionally the DoneResult
enum value in order to tweak the success bit.
8. Do the same for group done / error handlers.
9. Unifiy TaskTree::done / TaskTree::errorOccurred signals. Keep just done() signal with the additional "DoneWith doneWith" argument.
10. Add tests for these changes, especially for done handler's tweaks.
11. Update docs.
Attachments
For Gerrit Dashboard: QTCREATORBUG-29834 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
515142,10 | TaskTree: Keep just one done handler | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515148,10 | TaskTree: Add Task c'tor taking one handler for done and error | master | qt-creator/qt-creator | Status: MERGED | -1 | 0 |
515153,14 | VcsBase: Use common done handler | master | qt-creator/qt-creator | Status: MERGED | -1 | 0 |
515154,16 | TaskTree: Introduce DoneWith enum | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515614,26 | TaskTree: Make it possible to tweak the success bit in done handler | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515683,17 | TaskTree: Use common done handler | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515723,19 | TaskTree: Introduce CallDoneIf enum | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515731,17 | TaskTree: Get rid of unneeded done handlers' arguments | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
515937,13 | TaskTree tests: Detect canceled state | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516042,15 | TaskTree: Make it possible to invoke done handler only with DoneResult | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516090,16 | TaskTree: Unify done / errorOccurred signals | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516113,18 | TaskTree: Get rid of onGroupError element | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516120,17 | TaskTree demo: Visualize Canceled state | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516146,16 | TaskTree tests: Introduce GroupCanceled check | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516152,16 | TaskTree: Unify static assertions for all handlers | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
516156,16 | TaskTree tests: Add tests for tweaking setup and done results | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
519073,41 | TaskTree: Update docs to the recent API changes | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |