* Use override where appropriate
* Use pragma once
* Make more constructors explicit
Change-Id: I2865fe10f288e3de570826058e43b70a0cb4ee37
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Removing a target setup widget might lead to removing a kit,
due to some kits being temporary for importers.
A kit removal then would lead to a target removal and this would
make the code recurse into the widget cache.
Fix that by ensuring that we disconnect from the project first in
ProjectWindow::deregisterProject. And also remove the clearing of
the project window, instead simply clear the widget cache as each
project is closed.
Change-Id: I278c43ef4ba77217428c5c36f0a07d0d96cb3022
Task-number: QTCREATORBUG-14694
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Rename to ProjectPanelFactory, hide list of factories from .h,
rename include guards.
Change-Id: I2e0befcaf847e5c3a0b493b58e7bcf3e9263f4f9
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The only project manager that actually sometimes changes the displayname
is the cmake project manager. And that one failed to emit the right
signal. And since the signal was never emitted a few places handled the
signal wrongly.
Change-Id: I4aa75dc3032efe49263143dbadb7585a378b9be9
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Since projects without targets are special, this code apparently tracked
if hasTarget() changed due to a kitUpdate. But we are already connected
to targetRemoved() and checks whether a project has no target anymore.
Thus this code is redundant and can be removed.
Change-Id: I245887075509ed4c0ecda383de0227ccbc58b9af
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The indirection via a factory is no longer useful, since the
targetsettingspanel is hardcoded for a build and run panel.
Change-Id: I75543f777a4a7df4cadf12667652424056829689
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Instead hide it in a standard IProjectPanelFactory
Change-Id: I7e49b7be00e26c5f33e32d692079e2b82cbfe087
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This was the common base class of IProjectPanelFactory and
ITargetPanelFactory. Nothing was using the IPanelFactory interface, and
there's actually no common interface between those classes.
Of the old interface IPanelFactory:
id() => only used in ITargetPanelFactory
displayName() => only used in IProjectPanelFactory
priority() => only used in IProjectPanelFactory
This removes lots of boiler plate code for the unused functions.
Change-Id: I8488a4e5134fd451907f02c45b7847673e4dc714
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The TargetSettingsPanelWidget wants to keep whether the Build or Run tab
is shown synchronized between projects. Moving the code to
TargetSettingsPanelWidget removes some of the special handling
ProjectWindow does.
Change-Id: Ic4e85b6458a1271ea2de4d8c5786e95d3a78fbbd
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The ProjectWindow page gets all objects of type IProjectPanelFactory
from the object pool. Since ITargetPanelFactory is not derived from
IProjectPanelFactory, the removed qobject_cast can never work.
Change-Id: I52186e33e1992dc3556fcb2900719e9a8158da39
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
setPalette() does not replace the old one but rather adds the
difference. Thus a previous copy of the palette is unnecessary.
Change-Id: I5c06da456b76144efc4a984ccda13c7d2243a7bc
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Seems to be a improvement in resizing behavior.
Task-number: QTCREATORBUG-11286
Change-Id: Iac19a76265c98861e4da9d23c3e5fb3a36f0386e
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
The SessionManager is disconnected at that point already, so we were
never told that projects were destructed already and were happily
calling into those.
This fixes the crash described in QTCREATORBUG-10354.
Task-number: QTCREATORBUG-10354
Change-Id: Ib8ce07d6db38dbff9154b127f5fb620a9961c742
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Use it instead of retrieving this information from the document.
Change-Id: I809fcb2daf59021cf503c371a5d40d75d7448796
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
We no longer have the spacer in the layout, so we do not need to
subtract that one.
Change-Id: If14e6765c4e1dda2245b0686c006db69f5b5ced0
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Make it possible to add kits again after all kits were removed
from a non qmake project.
Task-number: QTCREATORBUG-7814
Change-Id: I38967cd4c106b95288b7020fe325d8cfe2688a7c
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Rename profiles to kits.
* Update some strings:
* projects mode has a Kits tab, not a Targets tab.
* " Settings" was dropped from the sub-tabs of the Kits tab
* menu entry "Build/Open Build/Run Target Selector" was renamed
to "Build/Open Build and Run Kits Selector".
* Use "Kit" instead of "Target" in miniprojecttargetselector.
(The class was not renamed as it does indeed select targets,
not kits)
Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
The distinction doesn't really make sense anymore.
This is also a prerequisite for
1. adding a "manage" button for managing targets to the target page, and
2. using the "add" button to import builds even for "configured"
projects
Change-Id: Ib8287dc7d11efa84c54933a591ef15a76042318f
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>