forked from qt-creator/qt-creator
CppEditor: Rework showing/switching parse configurations
* Move the combox box for switching the parse configurations out of the
"Additional Preprocessor Directives" dialog ('#'-button) to make it
better visible/accessible. Also, decouple the extra preprocessor
directives from the concrete parse context since this is not anymore
in same dialog.
* The combo box appears only if multiple parse configurations are
available for a file.
* The first time multiple parse configurations are detected, an info bar
is shown that points the user to the combox box. A "Do Not Show Again"
button is provided.
* Upon selecting an entry, the preferred parse configuration is saved as
part of the session. The setting can be cleared with the context menu
entry on the combo box.
Follow-up changes need to ensure that the display name and/or tooltip is
unambiguous, e.g. for qbs and cmake projects.
Change-Id: I9e9773704187291524ad7b605bfdddd83ef5b19d
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -34,14 +34,29 @@ enum class Language { C, Cxx };
|
||||
class ProjectPartInfo {
|
||||
public:
|
||||
enum Hint {
|
||||
NoHint,
|
||||
IsFallbackMatch,
|
||||
IsAmbiguousMatch
|
||||
NoHint = 0,
|
||||
IsFallbackMatch = 1 << 0,
|
||||
IsAmbiguousMatch = 1 << 1,
|
||||
IsPreferredMatch = 1 << 2,
|
||||
IsFromProjectMatch = 1 << 3,
|
||||
IsFromDependenciesMatch = 1 << 4,
|
||||
};
|
||||
Q_DECLARE_FLAGS(Hints, Hint)
|
||||
|
||||
ProjectPartInfo() = default;
|
||||
ProjectPartInfo(const ProjectPart::Ptr &projectPart,
|
||||
const QList<ProjectPart::Ptr> &projectParts,
|
||||
Hints hints)
|
||||
: projectPart(projectPart)
|
||||
, projectParts(projectParts)
|
||||
, hints(hints)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
ProjectPart::Ptr projectPart;
|
||||
Hint hint;
|
||||
QList<ProjectPart::Ptr> projectParts; // The one above as first plus alternatives.
|
||||
Hints hints = NoHint;
|
||||
};
|
||||
|
||||
} // namespace CppTools
|
||||
|
||||
Reference in New Issue
Block a user