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
|
class ClangFormatStyleFactory : public CppEditor::CppCodeStylePreferencesFactory
|
||||||
{
|
{
|
||||||
|
Q_DECLARE_TR_FUNCTIONS(ClangFormatStyleFactory)
|
||||||
public:
|
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
|
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override
|
||||||
{
|
{
|
||||||
return new ClangFormatIndenter(doc);
|
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()
|
static void replaceCppCodeStyle()
|
||||||
|
@@ -104,6 +104,12 @@ QWidget *CppCodeStylePreferencesFactory::createEditor(TextEditor::ICodeStylePref
|
|||||||
if (!cppPreferences)
|
if (!cppPreferences)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
auto widget = new Internal::CppCodeStylePreferencesWidget(parent);
|
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->layout()->setContentsMargins(0, 0, 0, 0);
|
||||||
widget->setCodeStyle(cppPreferences);
|
widget->setCodeStyle(cppPreferences);
|
||||||
return widget;
|
return widget;
|
||||||
@@ -124,4 +130,10 @@ QString CppCodeStylePreferencesFactory::previewText() const
|
|||||||
return QLatin1String(defaultPreviewText);
|
return QLatin1String(defaultPreviewText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::pair<QWidget *, QString> CppCodeStylePreferencesFactory::additionalTab(QWidget *parent) const
|
||||||
|
{
|
||||||
|
Q_UNUSED(parent)
|
||||||
|
return {nullptr, ""};
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace CppEditor
|
} // namespace CppEditor
|
||||||
|
@@ -44,6 +44,7 @@ public:
|
|||||||
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
|
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
|
||||||
QString snippetProviderGroupId() const override;
|
QString snippetProviderGroupId() const override;
|
||||||
QString previewText() const override;
|
QString previewText() const override;
|
||||||
|
virtual std::pair<QWidget *, QString> additionalTab(QWidget *parent) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace CppEditor
|
} // 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
|
// ------------------ CppCodeStyleSettingsPage
|
||||||
|
|
||||||
|
@@ -56,6 +56,7 @@ public:
|
|||||||
~CppCodeStylePreferencesWidget() override;
|
~CppCodeStylePreferencesWidget() override;
|
||||||
|
|
||||||
void setCodeStyle(CppCodeStylePreferences *codeStylePreferences);
|
void setCodeStyle(CppCodeStylePreferences *codeStylePreferences);
|
||||||
|
void addTab(QWidget *page, QString tabName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void decorateEditors(const TextEditor::FontSettings &fontSettings);
|
void decorateEditors(const TextEditor::FontSettings &fontSettings);
|
||||||
|
Reference in New Issue
Block a user