Community
Participate
Working Groups
The Summary says it all. :-) Mikhail S. says.. I guess we should implement the “restore defaults” for the tool-chain modification UI, although the restore defaults functionality needs some more discussions. The reason is that there are several levels of the tool-chain modifications “restore defaults” the user might expect/want: restore the default builder restore the default set of tools restore the default tool-chain and all its contents (tools and a builder). Could you create a bugzilla request about this so that we could consider the details of this functionality in detail?
<imho> For resource (directory), "restore default toolchain" may mean "discard resource-specific settings (if any), use project settings instead". For project, "restore default toolchain" may mean "get settings from parent configuration". It would be better to use separate buttons to restore (separately) builder or used tools list, because existing "Restore..." button normally affects whole page contents. </imho>
In the fist approach the "APPLY" button could restore the default tool-chain contents (i.e. option#3 in comment#0). The proposed logic is: 1.Per-project : change to the "default" tool-chain defined in the extension super-class of the project configuration. NOTE: the makefile project case might need a special handling in this case. 2.per-folder : change to the same tool-chain as the one used by the parent folder. 3.per-file : change to the tool from the parent folder's tool-chain suitable for the given file. NOTE: the custom build step tool should be preserved! After that we could present some additional controls for resetting tools and a builder. Mikhail
Assigning to investigate/make necessary modifications from the core part
Reassigning to me, because it seems to be UI task (no need to modify cdt.core).
There's a problem with default settings for "makefile" projects. In fact, there's no information about initial toolchain of such project. User can create "make" project with Cygwin toolchain, then switch to MinGW toolchain, and there will be no way to recall initial setting. There can be 3 ways for "Restore defaults" implementation: - do nothing; inform user that "defaults are not defined..." - restore default settings for _current_ toolchain: if user has changed builder and/or tools list, they will be set to default for given toolchain; but changes of toolchain itself are not rolled back. - set "Other toolchain" as default for all Makefile projects. May be it would be better to ask user first, for example: "Default toolchain is not defined for this project. Would you like to restore defaults for current toolchain ?" Which way is more preferrable ?
Changes are made in CVS HEAD. Defaults are restored as it's possible. For most projects, toolchain, builder and tools list updated. For Makefile projects (except NO TOOLCHAIN) only builder and tools are restored, toolchain remains current since we have no info about initial one. No messages displayed in this case. Settings for NO TOOLCHAIN project are restored fully. Settings for folders and files are restored like it's described by Mikhail S. in Comment #2.
Closing this bug since required functionality is implemented now.