forked from qt-creator/qt-creator
ClangFormat: Move ClangFormat settings page
- Move ClangFormat settings page to TabWidget in the dialog that opens when a user press "Edit" button in the CodeStyle tab Change-Id: Ibd285344f07a6b2b20e275f2134976c50f91a019 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -75,25 +75,19 @@ namespace ClangFormat {
|
||||
|
||||
class ClangFormatStyleFactory : public CppEditor::CppCodeStylePreferencesFactory
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(ClangFormatStyleFactory)
|
||||
public:
|
||||
TextEditor::CodeStyleEditorWidget *createCodeStyleEditor(
|
||||
TextEditor::ICodeStylePreferences *preferences, QWidget *parent) override
|
||||
{
|
||||
Q_UNUSED(preferences);
|
||||
if (!parent)
|
||||
return new ClangFormatConfigWidget;
|
||||
return new ClangFormatConfigWidget(SessionManager::startupProject());
|
||||
}
|
||||
|
||||
QWidget *createEditor(TextEditor::ICodeStylePreferences *, QWidget *) const override
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override
|
||||
{
|
||||
return new ClangFormatIndenter(doc);
|
||||
}
|
||||
|
||||
std::pair<QWidget *, QString> additionalTab(QWidget *parent) const override
|
||||
{
|
||||
if (!parent)
|
||||
return {new ClangFormatConfigWidget(), tr("ClangFormat")};
|
||||
return {new ClangFormatConfigWidget(SessionManager::startupProject()), tr("ClangFormat")};
|
||||
}
|
||||
};
|
||||
|
||||
static void replaceCppCodeStyle()
|
||||
|
@@ -104,6 +104,12 @@ QWidget *CppCodeStylePreferencesFactory::createEditor(TextEditor::ICodeStylePref
|
||||
if (!cppPreferences)
|
||||
return nullptr;
|
||||
auto widget = new Internal::CppCodeStylePreferencesWidget(parent);
|
||||
|
||||
const auto tab = additionalTab(parent);
|
||||
if (tab.first) {
|
||||
widget->addTab(tab.first, tab.second);
|
||||
}
|
||||
|
||||
widget->layout()->setContentsMargins(0, 0, 0, 0);
|
||||
widget->setCodeStyle(cppPreferences);
|
||||
return widget;
|
||||
@@ -124,4 +130,10 @@ QString CppCodeStylePreferencesFactory::previewText() const
|
||||
return QLatin1String(defaultPreviewText);
|
||||
}
|
||||
|
||||
std::pair<QWidget *, QString> CppCodeStylePreferencesFactory::additionalTab(QWidget *parent) const
|
||||
{
|
||||
Q_UNUSED(parent)
|
||||
return {nullptr, ""};
|
||||
}
|
||||
|
||||
} // namespace CppEditor
|
||||
|
@@ -44,6 +44,7 @@ public:
|
||||
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
|
||||
QString snippetProviderGroupId() const override;
|
||||
QString previewText() const override;
|
||||
virtual std::pair<QWidget *, QString> additionalTab(QWidget *parent) const;
|
||||
};
|
||||
|
||||
} // namespace CppEditor
|
||||
|
@@ -337,6 +337,10 @@ void CppCodeStylePreferencesWidget::setVisualizeWhitespace(bool on)
|
||||
}
|
||||
}
|
||||
|
||||
void CppCodeStylePreferencesWidget::addTab(QWidget *page, QString tabName)
|
||||
{
|
||||
m_ui->categoryTab->addTab(page, tabName);
|
||||
}
|
||||
|
||||
// ------------------ CppCodeStyleSettingsPage
|
||||
|
||||
|
@@ -56,6 +56,7 @@ public:
|
||||
~CppCodeStylePreferencesWidget() override;
|
||||
|
||||
void setCodeStyle(CppCodeStylePreferences *codeStylePreferences);
|
||||
void addTab(QWidget *page, QString tabName);
|
||||
|
||||
private:
|
||||
void decorateEditors(const TextEditor::FontSettings &fontSettings);
|
||||
|
Reference in New Issue
Block a user