It will be needed later to show/hide the buttons depending on
engine-specific abilities or other circumstances.
Change-Id: I029012e01929e5e96e2af87da2cf3580a8d82b3f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Save the state before child widgets are affected.
Task-number: QTCREATORBUG-20721
Change-Id: I1d0d1ca610b0a8e8904585953ecbb42dddee4827
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Mostly nullptr instead of 0, but also a few bits of collateral damage.
Change-Id: I921991272aca921dcdecf302dfff3716e79dfc24
Reviewed-by: David Schulz <david.schulz@qt.io>
This enables us to mark perspectives as disabled.
Change-Id: I52b2434f33f8550b6d2459f915dfd8cdb1389140
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
m_toolbarDock was only initialized in finalizeSetup, which is triggered
by the plugin's initialize() method. This is not safe since Creator might
shut down before that method ever gets called.
Change-Id: Idadb6ac943ed6799d1bd9db1ecb884cb39038389
Reviewed-by: hjk <hjk@qt.io>
On shutdown the DebuggerMainWindow might not be alive anymore. By
connecting the signal handler to the window, rather than the plugin we
avoid dereferencing null pointers in that case.
Change-Id: I6421eebc6b1b76f176b31eafeb039d91edd3f0b3
Reviewed-by: hjk <hjk@qt.io>
The default 0 value will be interpreted as 'use the editor stack'.
Also, drop the idea of value semantics for Perspective objects
to get a simpler approach to the destruction of owned widgets
(tools docks + central widget)
Change-Id: Ic6470411ee5d387c43447f95b5a12c81c6658ff8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
For re-use in the GammaRay integration plugin.
Change-Id: I3fa1ad10645628a05bcd1248a50f23ac3d47a243
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Makes it more uniform to use and allows placeholder widget
creation to be independent of mode creations.
Change-Id: I4021bc9db7f8c78f0374c0cc3b3331506959afe4
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
To allow other mode main windows to re-use the perspective
concept.
Change-Id: Icf00b4f0e4bd73a09ebec131ef9c578154f25eec
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This was only used to accommodate the debugger main window
and is not needed in the base class.
Change-Id: Ifbe9937cd4c21f5bed2fab35b23d874f4f2dd0e4
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.
Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.
Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.
Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.
Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.
Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
We have 'raise' in there now, that's not a split anymore.
Change-Id: Id45c606056dfab1317fad37b2fe37216b0eacf85
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.
Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Some functions were inside WITH_TESTS section.
* MSVC requires Perspective::Split to be explicitly exported.
Change-Id: I272cefc5c4f446415b2714595f8b398f8ce010a4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Next steps is to re-use it for ex-DebuggerMainWindow.
Change-Id: Ic272d062f6db2e54ed62082c2a7d3a289b810a03
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... into a plain Utils::FancyMainWindow object and the debugger
specific functionality in Debugger::MainWindow.
A step forward to share the Utils::FancyMainWindow with the
(Ex-)Analyzer MainWindow and towards merging Analyzer and
Debugger mode.
Change-Id: I50e89d9d615226cb9b9af1a653c7383468e40a93
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
There are several places where the list of dock actions are shown,
and at least two where it was created.
Change-Id: Ib2c18e602b5d6f57c1b7471bd75f3b989d536600
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Also slightly change meaning (now all stops may cause raising).
Change-Id: Ie3fee7371ab119e4e9747dc44a4d8ef2cd62c8d8
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
A few details are still to be done:
- extra windows are not restored yet
- window title of extra windows should show information about current
editor
- the "raise main window" hack for Linux doesn't work with Qt 5
But it should already now be quite usable.
Change-Id: I638583ee4b2abe32e95c261bdf31b4a10b472748
Reviewed-by: David Schulz <david.schulz@digia.com>
We used to get the layout only from the current/last run configuration. However,
this fails for engines started by other means (Debug->Start Debugging submenu).
Change-Id: I87e12457c7cd68a326ac1827298a3542e149199b
Reviewed-by: hjk <qthjk@ovi.com>