[Qt-creator] Kit and device concept in QtCreator

David Kaspar dkaspar at blackberry.com
Fri Sep 6 14:18:11 CEST 2013


Hi Tobias,


On 06/09/13 11:26, Tobias Hunger wrote:
> My plan was to allow for kits to put any of their settings into the mini
> target selector. It has the icon of the kit, so it kind of makes sense
> to me to make the kit (partly) editable there. At least more sense that
> anywhere else that is:-)
>
> Basically I wanted to have some flag that can be set on the individual
> KitInformation that make up any kit that will allow those to be
> editable. You can then set this flag on the deviceKitInformation for
> your kits.
>
> Your proposal goes beyond having just the kit settings: Which use case
> do you have for that and why do you think the UI should go into the mini
> project target selector?
For Qnx plugin use-case, it would be just enough to:
1) display the name of device assigned to kit of an active project 
within 'Mini Project Target Selector" toolbar button
useful for developers for quick checking which device they are using
2) display a list of Devices as an additional column in the expand "Mini 
Project Target Selector"
this simplifies to management/selection of used Devices
Both 1) and 2) useful for developers using multiple devices.

Currently we do not need to display/select anything else there.

>
>> Yes, that would be enough for our use-case. For my API proposal, I
>> assumed that we should not modify 'IDevice' class.
> Can you think of a better place for that functionality? I am not set on
> having it my way:-)
Re: Other place:
Actually I think that it is a good place. It also allows to use it in 
Kits options page, ... I was just thinking that it might break backward 
compatibility of the IDevice class since it is in the public API...

>
>> Would it be ok if we implement the Devices selection in the 'Mini
>> Project Target Selector' using 'bool isCompatible(Kit)' function
>> (default implementation would return 'false')?
> No.
>
> It would be great to have a implementation that uses a the current logic
> to match up devices and kits (purely based on the kit's device type
> IIRC). Just returning false is not an option as that will break all kits
> since no device would match anymore and all of them would end up without
> any device set at all.
Agree that implementing this feature without using 'isCompatible(Kit)' 
function might be the first step.

Still later Qnx plugin might need to use such function to provide more 
fine-grained filtering. For example, currently BB10 device type represent:
1) BB10 Simulators -> they have 'x86' architecture -> they work with 
kits that are using 'blackberry-x86-qcc' mkspec
2) BB10 Devices -> they have 'arm' architecture -> they work with kits 
that are using 'blackberry-armv7le-qcc' mkspec

Currently it is possible to assign 'BB10 Simulator' device to a kit 
which is using blackberry-armv7le-qcc mkspec - even through such a 
combination is not valid. This is not a big issue when 
creating/modifying manually-created kits in the 'Kits' option page. On 
the other hand, it would be nice to filter devices to match the kit's 
mkspec when listing 'Devices' in 'Mini Project Target Selector'.
>
> Then that method can be used to by the DeviceKitInformation's config
> widget. That is the UI currently used to select Devices in
> Tools>Options>Build & Run>Kits to select the device there.
Agree.
>
> Then we can reuse that UI in other places, like the Mini Project Target
> selector. That will require a couple of changes to the kits so that what
> can be shown is configurable. What I do not want is to hardcode what
> will be displayed where.
I am not sure if such UI (for listing and selecting device for a kit) 
can be shared. At least 'Kits' option page and 'Mini Project Target 
Selector' are having quite distinct UI.

If you would agree, than we can implement the 'Devices' listing in 'Mini 
Project Target Selector' first. Later we can further discuss/implement 
of more fine-grained filtering that might be shared by 'Mini Project 
Target Selector' as well as 'Kits' option page.

See you,
   David

>
> Best Regards,
> Tobias
>


---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.



More information about the Qt-creator mailing list