forked from qt-creator/qt-creator
ClangTools: Query the tools for supported checks
...instead of hardcoding them for a particular version of clang-tidy/clazy. While at it, move also the tidy/clazy widgets to ClangTools as this simplifies feeding data to them. Reduce also the built-in configs to a single one using clang-tidy's and clazy's default checks as they look very reasonable and saves us some porting effort. Also, our previous built-in configs were just too numerous. Change-Id: Ib9297acb7810a940b86a23a8695530506a570394 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -35,23 +35,19 @@
|
||||
#include <memory>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QListWidgetItem;
|
||||
class QPushButton;
|
||||
class QTabWidget;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace CppTools {
|
||||
|
||||
class ClangDiagnosticConfig;
|
||||
|
||||
namespace Ui {
|
||||
class ClangDiagnosticConfigsWidget;
|
||||
class ClangBaseChecks;
|
||||
class ClazyChecks;
|
||||
class TidyChecks;
|
||||
}
|
||||
|
||||
class ConfigsModel;
|
||||
class TidyChecksTreeModel;
|
||||
class ClazyChecksTreeModel;
|
||||
class ClazyChecksSortFilterModel;
|
||||
|
||||
class CPPTOOLS_EXPORT ClangDiagnosticConfigsWidget : public QWidget
|
||||
{
|
||||
@@ -60,43 +56,29 @@ class CPPTOOLS_EXPORT ClangDiagnosticConfigsWidget : public QWidget
|
||||
public:
|
||||
explicit ClangDiagnosticConfigsWidget(const ClangDiagnosticConfigs &configs,
|
||||
const Core::Id &configToSelect,
|
||||
bool showTidyClazyTabs,
|
||||
QWidget *parent = nullptr);
|
||||
~ClangDiagnosticConfigsWidget() override;
|
||||
|
||||
void sync();
|
||||
|
||||
ClangDiagnosticConfigs configs() const;
|
||||
const ClangDiagnosticConfig currentConfig() const;
|
||||
|
||||
private:
|
||||
void setupTabs(bool showTidyClazyTabs);
|
||||
protected:
|
||||
void updateConfig(const CppTools::ClangDiagnosticConfig &config);
|
||||
virtual void syncExtraWidgets(const ClangDiagnosticConfig &) {}
|
||||
QTabWidget *tabWidget() const;
|
||||
|
||||
private:
|
||||
void onCopyButtonClicked();
|
||||
void onRenameButtonClicked();
|
||||
void onRemoveButtonClicked();
|
||||
void onClangTidyModeChanged(int index);
|
||||
void onClangTidyTreeChanged();
|
||||
void onClazyTreeChanged();
|
||||
void onClangTidyTreeItemClicked(const QModelIndex &index);
|
||||
|
||||
void onClangOnlyOptionsChanged();
|
||||
|
||||
void syncToConfigsView();
|
||||
void syncClangTidyWidgets(const ClangDiagnosticConfig &config);
|
||||
void syncClazyWidgets(const ClangDiagnosticConfig &config);
|
||||
void syncClazyChecksGroupBox();
|
||||
void syncTidyChecksToTree(const ClangDiagnosticConfig &config);
|
||||
|
||||
void updateConfig(const CppTools::ClangDiagnosticConfig &config);
|
||||
|
||||
void setDiagnosticOptions(const QString &options);
|
||||
void updateValidityWidgets(const QString &errorMessage);
|
||||
|
||||
void connectClangTidyItemChanged();
|
||||
void disconnectClangTidyItemChanged();
|
||||
|
||||
void connectClazyItemChanged();
|
||||
void disconnectClazyItemChanged();
|
||||
|
||||
void connectClangOnlyOptionsChanged();
|
||||
void disconnectClangOnlyOptionsChanged();
|
||||
|
||||
@@ -107,15 +89,6 @@ private:
|
||||
|
||||
std::unique_ptr<CppTools::Ui::ClangBaseChecks> m_clangBaseChecks;
|
||||
QWidget *m_clangBaseChecksWidget = nullptr;
|
||||
|
||||
std::unique_ptr<CppTools::Ui::ClazyChecks> m_clazyChecks;
|
||||
QWidget *m_clazyChecksWidget = nullptr;
|
||||
std::unique_ptr<ClazyChecksTreeModel> m_clazyTreeModel;
|
||||
ClazyChecksSortFilterModel *m_clazySortFilterProxyModel = nullptr;
|
||||
|
||||
std::unique_ptr<CppTools::Ui::TidyChecks> m_tidyChecks;
|
||||
QWidget *m_tidyChecksWidget = nullptr;
|
||||
std::unique_ptr<TidyChecksTreeModel> m_tidyTreeModel;
|
||||
};
|
||||
|
||||
} // CppTools namespace
|
||||
|
||||
Reference in New Issue
Block a user