Ticket #8259 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Floating QDockWidgets (e.g. the script interpreter window) appear before the main window

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: major Milestone: Release 3.0
Component: GUI Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

Quoting Nick:

I’ve noticed that if you undock the ipython window that it appears really quickly on startup, way before the rest of the GUI, in fact it often covers up the splash screen.

In fact, this is not specific to the interpreter window - it is true of all the QDockWidgets (log window, algorithm & workspace lists, ...).

Change History

comment:1 Changed 7 years ago by Russell Taylor

  • Status changed from new to inprogress

At this point, just looking to see if there's a fairly straightforward remedy...

comment:2 Changed 7 years ago by Russell Taylor

Re #8259. Delay showing of interpreter/IPython widget.

This widget was being created 'early' in the initialization phase, with a justification given that it had to exist when the settings are read (which hold its previous location and whether it was visible) and QMainWindow::restoreState() called. In fact, this is not a requirement as there's a method QMainWindow::restoreDockWidget() that can be called later if a widget is created after restoreState() is called.

I've switched to using that and on linux this makes a floating IPython window appear at moreorless the same time as the main application window.

Changeset: 9c558fa5daae7beaaa8c87ee65628b3fb0a53c69

comment:3 Changed 7 years ago by Russell Taylor

On Windows, it looks like the window appears just moments before the main one. The Mac looks similar. Certainly, it's improved.

comment:4 Changed 7 years ago by Russell Taylor

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

I think it will be extremely rare for anyone to have any of the other dock widgets floating. Certainly, I don't think I should go further than this in this release.

To Test: (branch is feature/8259_floating_interpreterdock_showing)

Start MantidPlot, drag the IPython/script interpreter window (click, hold and drag on the upper bar) so that it's floating, unattached to the main MantidPlot window. Close and restart MantidPlot. You should observe that before these changes the grey outline of the interpreter window will appear before the main window does; after them they should be fairly close to simultaneous.

Check that the position is remembered correctly, whether the window is docked or not, and that the visible/hidden status (toggle with F4) is as well. Make sure that the window appears (docked) when there are no previous settings (starting MantidPlot with the argument '-d' will effect this).

comment:5 Changed 7 years ago by Nick Draper

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

comment:6 Changed 7 years ago by Nick Draper

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8259_floating_interpreterdock_showing'

Full changeset: ​54ee49b44115cc9452b39ce4ddaeb488431dd0a8

comment:7 Changed 7 years ago by Nick Draper

Works nicely on Win64

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue ​9104

Note: See TracTickets for help on using tickets.