Ticket #9756 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Launching help from algorithm dialogs is blocked

Reported by: Peter Peterson Owned by: Martyn Gigg
Priority: critical Milestone: Release 3.2
Component: Documentation Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

To reproduce:

  1. Open any algorithm
  2. Press the question mark
  3. Get aggravated that you can't interact with the help until you close the algorithm dialog

Change History

comment:1 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

comment:2 Changed 6 years ago by Nick Draper

  • Owner set to Martyn Gigg

comment:3 Changed 6 years ago by Martyn Gigg

  • Status changed from assigned to inprogress

comment:4 Changed 6 years ago by Martyn Gigg

Flipping dialogs to use a shared_ptr rather than a bare pointer.

Refs #9756

Changeset: e4eef3d3796876ade24bc22e57775f99d745032b

comment:5 Changed 6 years ago by Martyn Gigg

Execute the algorithm on dialog accept signal.

Refs #9756

Changeset: f979a727b620572e279599c5b3b14fb9266c4796

comment:6 Changed 6 years ago by Martyn Gigg

Use non-modal calls to show algorithm dialogs

The exception is createPropertyInputDialog that is used for scripts and must remain modal. Refs #9756

Changeset: 00c177b2759f74772b49b3053c7ce7f098ca1292

comment:7 Changed 6 years ago by Martyn Gigg

Disable automatic algorithm execution on accept for scripts

Also renamed MantidUI member function call to make its purpose clearer. Refs #9756

Changeset: 4e8e9598bda1846a72386d91440404478f2cdebe

comment:8 Changed 6 years ago by Martyn Gigg

Move ICAT menu items to use non-modal dialogs.

Refs #9756

Changeset: dacfef144c28a28a6123ffe7d3b2b9a9dfd51b9e

comment:9 Changed 6 years ago by Martyn Gigg

Remove the algorithm from the manager on a reject call...

but only if we were supposed to execute on accept. If we are executing on accept then we are assuming that the AlgorithmManager owns the algorithm pointer as it must survive after the dialog is destroyed. Refs #9756

Changeset: 470d0c93bed769399fc24a3cdcac6402dbbb3c1b

comment:10 Changed 6 years ago by Martyn Gigg

Add some comments on the pointer ownership.

Refs #9756

Changeset: a210289564e76c315e8ebca49b186d35112dcd83

comment:11 Changed 6 years ago by Martyn Gigg

Put back a method that was used by the instrument view.

Refs #9756

Changeset: 2978ba82628f589cfdc64a0508eb6553c55daf96

comment:12 Changed 6 years ago by Martyn Gigg

Swap order of call now that algorithm executes on dialog accept.

Refs #9756

Changeset: c6fc9753add4e993c31765775fd946999446fcee

comment:13 Changed 6 years ago by Martyn Gigg

Fix calls to createDialogByName.

Refs #9756

Changeset: e8b6857a34c8d04031d80db08553b52d66956622

comment:15 Changed 6 years ago by Martyn Gigg

Fix further calls to createDialogByName.

Refs #9756

Changeset: ff472ede9687cbdfaf3bcbb4db596ab714f97f04

comment:16 Changed 6 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

Branch: feature/9756_non_modal_algorithm_dialogs

Tester: All algorithm input dialogs, with the exception of the ones called from a script, should now be launched in a non-modal state. When a dialog is raised it should no longer stop the user from interacting with the rest of the application. Pressing the ? button should now allow the helpwindow to rise properly.

Other areas in particular that need to be checked:

  • Load - both file & livedata
  • Generic algorithm dialogs e.g. Rebin, ConvertUnits
  • Custom dialogs e.g. LoadRaw, CreateSampleShape
  • Rename, Save items on workspace context menu
  • Group/Mask actions on instrument view
  • ICat login/search/logout
  • Script dialogs
  • Documentation screenshots

comment:17 Changed 6 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:18 Changed 6 years ago by Nick Draper

Ran into a problem with validation on generic dialogs.

To reproduce

  1. Load a workspace
  2. pop up a rebin dialog
  3. with the dialog still up, delete the selected input workspace
  4. Go back to the rebin dialog and click ok
  5. Validation fails and tells you that you have a red *, but no red * appears.

comment:19 Changed 6 years ago by Nick Draper

  • Status changed from verifying to reopened
  • Resolution fixed deleted

Everything else passes

comment:19 Changed 6 years ago by Martyn Gigg

  • Status changed from reopened to inprogress

Update icon visibility on dialog after error when hitting run.

The updateIconVisibility method now accepts an error string so that it doesn't have to recheck the property if it already has the error string from it. Refs #9756

Changeset: 224abc0b2283d394a608311ed20d682b64ae9579

comment:20 Changed 6 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

Problems identified in comment 18 should be fixed now.

comment:21 Changed 6 years ago by Nick Draper

  • Status changed from verify to verifying

comment:22 Changed 6 years ago by Nick Draper

  • Status changed from verifying to reopened
  • Resolution fixed deleted

the issue in comment 18 still seems to happen on windows.

comment:23 Changed 6 years ago by Martyn Gigg

  • Status changed from reopened to verify
  • Resolution set to fixed

Turns out that I'd pushed to develop but not updated the branch on github. Sorry about that. It should be okay now.

comment:24 Changed 6 years ago by Nick Draper

  • Status changed from verify to verifying

comment:25 Changed 6 years ago by Nick Draper

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/9756_non_modal_algorithm_dialogs'

Full changeset: 5c5eb46522895a6bd9dfbcb05c9a9ceec617647c

comment:26 Changed 6 years ago by Martyn Gigg

Fix further calls to createDialogByName.

Refs #9756

Changeset: 48d3824a0abedf97a3a0ee697e3c971d409dc82c

comment:27 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10598

Note: See TracTickets for help on using tickets.