When configuring a newly opened or created project you are
able to press a 'Manage...' button that brings up the
options page of the kits. Was broken with the rework done
on the global object pool.
Change-Id: I87d91351c5769655c1192431a53784de1bca77aa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The action is for active project. The button should be under active
project.
Change-Id: Ie0029bff02f58dbd5cb4c2a17bc086c168a522dc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
StatusBarManager needs to delete its contexts when dropping them,
QActions should be parented, and in ProjectWindow we can save an
allocation.
Change-Id: Idee075d4f2ce8014f22f73453987d1ab6539cf18
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
In a rare but plausible scenario panel might be updated on device
connection while project is not yet loaded. The panel update will
happen again when project loading is complete.
Task-number: QTCREATORBUG-18226
Change-Id: I566e2d23adee529f0536ae644cef420c66578d54
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Make the new buildconfiguration active after it was imported via
Project Mode. Before the buildconfiguration was added but the
current one was still set, which lead people to believe that the
build directory was wrong.
Task-number: QTCREATORBUG-18082
Change-Id: I10412d94326d9e21820dfcac89adbe2c5da948ae
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
... and use this to reduce the number of explicit uses of m_children.
Despite of being shorter code by itself it is a step towards having
an explicit LeafItem object that doesn't explicitly store a(n empty)
vector of child nodes.
Change-Id: If8db85e2f1134dd1578a78d31235bf57a28f863a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Use std::function instead. Clean up API while at it.
Change-Id: I6e401ab57f5375e36710c30508c596af3f4b3385
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... combining default construction plus a single invocation of
addPropertiesPanel(), the only way it is ever used.
Change-Id: I2080e8b8fa25a2d7e429b7c18f5272466bc4eb79
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... to a shortcut to the Kits setup page.
This duplicates the functionality from the context menu but can
be directly spotted.
Change-Id: Ia5c2e1208346dc7191a04fbb9c2569ccab9aab31
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Make sure the combobox values are set to null. Otherwise the ComboBoxItem
might try to read from that value while it is being removed from the model.
Task-number: QTCREATORBUG-17223
Change-Id: I6588aaddf39736846878593a8e6844dab96de408
Reviewed-by: hjk <hjk@qt.io>
Fixes a regression introduced in recent changes. Import project from
build is now available again on the target setup page (shown when
no kit is active) and in the context menu of the left pane.
Task-number: QTCREATORBUG-17046
Change-Id: I5a1285624084f0cb6e0947560516ae88d4b3e376
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
As side-effect, fix missing expansion of subitems in some cases.
Task-number: QTCREATORBUG-17110
Change-Id: Ib0c74e968d6d814f9dadbb37b323c8ac68cda310
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
- Remove 'panel memory effect' when switching kits
Previously, each target entry memorized when its Build or
Run page was used, and when switching to the target, that
page came up.
Now, don't use that when switching targets, but instead
take the same page as is selected on the target we are
switching from.
- Disable selection of the Build&Run and Project Settings
"group entries"
Change-Id: I2214f8edc38be2e76a50f8984aa75d8f78b62026
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
It is still unclear what the original problem was. setRootIndex()
on changing model contents seems to be involved.
This patch works around the issue by splitting the original big tree
containing all projects into separate per-project trees.
Change-Id: I13295fc827d750d11300313ffb19cc085837f5bd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Parameter structs are convenient if they get passed around
a lot or are regularly changed. This isn't the case here,
so make the user code more compact instead.
Change-Id: Idd5e5cc1f70b1547607532cd3e6515c27983c169
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This fixes a regression introduced in the recent ProjectWindow
reorganization and keeps the active project, the target selector
and the active item in the project combobox synchronized again.
Change-Id: If2baf4336d5da5d74f1cbf8ddc4e8cb056d49369
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The PLUS icon was actually PLUS_TOOLBAR, so name it that way and add an
actual PLUS icon.
Remove the drawing of the branch indicators from the kit tree view by
overriding the method that does it.
Change-Id: I395e5187c1738faaee3e122b4f3f359261b514d7
Reviewed-by: hjk <hjk@qt.io>
Add a [+] icon for inactive kit entries, add a "Click to activate" to
the tool tip, and allow single click activation.
Change-Id: I1219eb54b4e3a077ef133afaf71134bb35e14fb7
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This moves all non-Build&Run entries under a separate 'Project settings'
entry.
Internally, this mainly makes the information flow on what item a user
selected and in which direction in the tree information needs updated
a bit more explicit.
Change-Id: I4583151356ef50b244b1d05dd77f04de2355105f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
To shorten user code and hide the ugly const_cast.
Change-Id: I798bd105932004ea17cb95b243fc38ccfcda0a2c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The LeveledTreeModel case is general enough to cover
the UniformTreeModel case, so merge them and rename to
TreeModel. The former TreeModel is now BaseTreeModel.
BaseTreeModels should not be instantiated directly,
a tree model with non-uniform basic items is available
as TreeModel<>.
Done-with: Eike Ziller <eike.ziller@qt.io>
Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The existing solution with the special-style horizontal
kit selector comes from a time when there was typically
one, at most four targets. Today's setup can easily
reach half a dozen targets with several toolchain versions
each and can't be sensibly handled with the overflowing
horizontal bar.
This here replaces the horizontal kit selector bar as
well as the top level project "tab bar" with a normal
tree view. All targets are visible (but possibly disabled)
at once, and can be enabled/disabled using the context
menu on the tree items.
Change-Id: I1ce7401ca96109bf34bc8c0ae19d265e5845aa88
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* 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>