Merge "Merge remote-tracking branch 'origin/7.0'"

This commit is contained in:
The Qt Project
2022-05-10 11:33:36 +00:00
14 changed files with 61 additions and 28 deletions

View File

@@ -85,12 +85,11 @@ public:
}
std::pair<CppEditor::CppCodeStyleWidget *, QString> additionalTab(
TextEditor::ICodeStylePreferences *codeStyle, QWidget *parent) const override
TextEditor::ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent) const override
{
if (!parent)
return {new ClangFormatConfigWidget(codeStyle), tr("ClangFormat")};
return {new ClangFormatConfigWidget(codeStyle, SessionManager::startupProject()),
tr("ClangFormat")};
return {new ClangFormatConfigWidget(codeStyle, project, parent), tr("ClangFormat")};
}
};

View File

@@ -99,6 +99,7 @@ TextEditor::ICodeStylePreferences *CppCodeStylePreferencesFactory::createCodeSty
TextEditor::CodeStyleEditorWidget *CppCodeStylePreferencesFactory::createEditor(
TextEditor::ICodeStylePreferences *preferences,
ProjectExplorer::Project *project,
QWidget *parent) const
{
auto cppPreferences = qobject_cast<CppCodeStylePreferences *>(preferences);
@@ -109,7 +110,7 @@ TextEditor::CodeStyleEditorWidget *CppCodeStylePreferencesFactory::createEditor(
widget->layout()->setContentsMargins(0, 0, 0, 0);
widget->setCodeStyle(cppPreferences);
const auto tab = additionalTab(preferences, parent);
const auto tab = additionalTab(preferences, project, parent);
widget->addTab(tab.first, tab.second);
return widget;
@@ -131,10 +132,13 @@ QString CppCodeStylePreferencesFactory::previewText() const
}
std::pair<CppCodeStyleWidget *, QString> CppCodeStylePreferencesFactory::additionalTab(
TextEditor::ICodeStylePreferences *codeStyle, QWidget *parent) const
TextEditor::ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent) const
{
Q_UNUSED(codeStyle)
Q_UNUSED(parent)
Q_UNUSED(project)
return {nullptr, ""};
}

View File

@@ -41,12 +41,15 @@ public:
QString displayName() override;
TextEditor::ICodeStylePreferences *createCodeStyle() const override;
TextEditor::CodeStyleEditorWidget *createEditor(TextEditor::ICodeStylePreferences *settings,
ProjectExplorer::Project *project,
QWidget *parent) const override;
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
QString snippetProviderGroupId() const override;
QString previewText() const override;
virtual std::pair<CppCodeStyleWidget *, QString> additionalTab(
TextEditor::ICodeStylePreferences *codeStyle, QWidget *parent) const;
TextEditor::ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent) const;
};
} // namespace CppEditor

View File

@@ -61,8 +61,10 @@ TextEditor::ICodeStylePreferences *NimCodeStylePreferencesFactory::createCodeSty
TextEditor::CodeStyleEditorWidget *NimCodeStylePreferencesFactory::createEditor(
TextEditor::ICodeStylePreferences *preferences,
ProjectExplorer::Project *project,
QWidget *parent) const
{
Q_UNUSED(project)
auto result = new NimCodeStylePreferencesWidget(preferences, parent);
result->layout()->setContentsMargins(0, 0, 0, 0);
return result;

View File

@@ -40,6 +40,7 @@ public:
QString displayName() override;
TextEditor::ICodeStylePreferences *createCodeStyle() const override;
TextEditor::CodeStyleEditorWidget *createEditor(TextEditor::ICodeStylePreferences *settings,
ProjectExplorer::Project *project,
QWidget *parent) const override;
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
QString snippetProviderGroupId() const override;

View File

@@ -44,7 +44,7 @@ CodeStyleSettingsWidget::CodeStyleSettingsWidget(Project *project) : QWidget(),
Utils::Id languageId = factory->languageId();
ICodeStylePreferences *codeStylePreferences = config->codeStyle(languageId);
auto preview = factory->createCodeStyleEditor(codeStylePreferences, m_ui.stackedWidget);
auto preview = factory->createCodeStyleEditor(codeStylePreferences, project, m_ui.stackedWidget);
if (preview && preview->layout())
preview->layout()->setContentsMargins(QMargins());
m_ui.stackedWidget->addWidget(preview);

View File

@@ -74,8 +74,10 @@ TextEditor::ICodeStylePreferences *QmlJSCodeStylePreferencesFactory::createCodeS
TextEditor::CodeStyleEditorWidget *QmlJSCodeStylePreferencesFactory::createEditor(
TextEditor::ICodeStylePreferences *preferences,
ProjectExplorer::Project *project,
QWidget *parent) const
{
Q_UNUSED(project)
auto qmlJSPreferences = qobject_cast<QmlJSCodeStylePreferences *>(preferences);
if (!qmlJSPreferences)
return nullptr;

View File

@@ -38,6 +38,7 @@ public:
QString displayName() override;
TextEditor::ICodeStylePreferences *createCodeStyle() const override;
TextEditor::CodeStyleEditorWidget *createEditor(TextEditor::ICodeStylePreferences *settings,
ProjectExplorer::Project *project,
QWidget *parent) const override;
TextEditor::Indenter *createIndenter(QTextDocument *doc) const override;
QString snippetProviderGroupId() const override;

View File

@@ -42,13 +42,15 @@
using namespace TextEditor;
CodeStyleEditor::CodeStyleEditor(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent)
: CodeStyleEditorWidget(parent),
m_factory(factory),
m_codeStyle(codeStyle)
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent)
: CodeStyleEditorWidget(parent)
, m_factory(factory)
, m_codeStyle(codeStyle)
{
m_layout = new QVBoxLayout(this);
auto selector = new CodeStyleSelectorWidget(factory, this);
auto selector = new CodeStyleSelectorWidget(factory, project, this);
selector->setCodeStyle(codeStyle);
m_preview = new SnippetEditorWidget(this);
DisplaySettings displaySettings = m_preview->displaySettings();

View File

@@ -33,6 +33,7 @@ QT_BEGIN_NAMESPACE
class QVBoxLayout;
QT_END_NAMESPACE
namespace ProjectExplorer { class Project; }
namespace TextEditor {
class ICodeStylePreferencesFactory;
@@ -44,7 +45,9 @@ class TEXTEDITOR_EXPORT CodeStyleEditor : public CodeStyleEditorWidget
Q_OBJECT
public:
CodeStyleEditor(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent = nullptr);
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
private:
void updatePreview();

View File

@@ -52,8 +52,10 @@ class CodeStyleDialog : public QDialog
{
Q_OBJECT
public:
CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent = nullptr);
explicit CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
~CodeStyleDialog() override;
ICodeStylePreferences *codeStyle() const;
private:
@@ -69,7 +71,9 @@ private:
};
CodeStyleDialog::CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent)
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("Edit Code Style"));
@@ -105,7 +109,7 @@ CodeStyleDialog::CodeStyleDialog(ICodeStylePreferencesFactory *factory,
m_codeStyle->setId(codeStyle->id());
m_codeStyle->setDisplayName(m_originalDisplayName);
m_codeStyle->setReadOnly(codeStyle->isReadOnly());
TextEditor::CodeStyleEditorWidget *editor = factory->createEditor(m_codeStyle, this);
TextEditor::CodeStyleEditorWidget *editor = factory->createEditor(m_codeStyle, project, this);
m_buttons = new QDialogButtonBox(
QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
@@ -155,10 +159,13 @@ CodeStyleDialog::~CodeStyleDialog()
} // Internal
CodeStyleSelectorWidget::CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory, QWidget *parent) :
QWidget(parent),
m_factory(factory),
m_ui(new Internal::Ui::CodeStyleSelectorWidget)
CodeStyleSelectorWidget::CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory,
ProjectExplorer::Project *project,
QWidget *parent)
: QWidget(parent)
, m_factory(factory)
, m_project(project)
, m_ui(new Internal::Ui::CodeStyleSelectorWidget)
{
m_ui->setupUi(this);
m_ui->importButton->setEnabled(false);
@@ -285,7 +292,7 @@ void CodeStyleSelectorWidget::slotEditClicked()
ICodeStylePreferences *codeStyle = m_codeStyle->currentPreferences();
// check if it's read-only
Internal::CodeStyleDialog dialog(m_factory, codeStyle, this);
Internal::CodeStyleDialog dialog(m_factory, codeStyle, m_project, this);
if (dialog.exec() == QDialog::Accepted) {
ICodeStylePreferences *dialogCodeStyle = dialog.codeStyle();
if (codeStyle->isReadOnly()) {

View File

@@ -29,6 +29,7 @@
#include <QWidget>
namespace ProjectExplorer { class Project; }
namespace TextEditor {
namespace Internal { namespace Ui { class CodeStyleSelectorWidget; } }
@@ -40,7 +41,9 @@ class TEXTEDITOR_EXPORT CodeStyleSelectorWidget : public QWidget
{
Q_OBJECT
public:
explicit CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory, QWidget *parent = nullptr);
explicit CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
~CodeStyleSelectorWidget() override;
void setCodeStyle(TextEditor::ICodeStylePreferences *codeStyle);
@@ -60,6 +63,7 @@ private:
void updateName(ICodeStylePreferences *codeStyle);
ICodeStylePreferencesFactory *m_factory;
ICodeStylePreferences *m_codeStyle = nullptr;
ProjectExplorer::Project *m_project = nullptr;
QString displayName(ICodeStylePreferences *codeStyle) const;

View File

@@ -34,7 +34,7 @@ ICodeStylePreferencesFactory::ICodeStylePreferencesFactory()
}
CodeStyleEditorWidget *ICodeStylePreferencesFactory::createCodeStyleEditor(
ICodeStylePreferences *codeStyle, QWidget *parent)
ICodeStylePreferences *codeStyle, ProjectExplorer::Project *project, QWidget *parent)
{
return new CodeStyleEditor(this, codeStyle, parent);
return new CodeStyleEditor(this, codeStyle, project, parent);
}

View File

@@ -33,6 +33,8 @@
#include <QWidget>
namespace ProjectExplorer { class Project; }
namespace TextEditor {
class ICodeStylePreferences;
@@ -57,11 +59,14 @@ public:
virtual ~ICodeStylePreferencesFactory() = default;
virtual CodeStyleEditorWidget *createCodeStyleEditor(ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
virtual Utils::Id languageId() = 0;
virtual QString displayName() = 0;
virtual ICodeStylePreferences *createCodeStyle() const = 0;
virtual CodeStyleEditorWidget *createEditor(ICodeStylePreferences *preferences, QWidget *parent) const = 0;
virtual CodeStyleEditorWidget *createEditor(ICodeStylePreferences *preferences,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr) const = 0;
virtual TextEditor::Indenter *createIndenter(QTextDocument *doc) const = 0;
virtual QString snippetProviderGroupId() const = 0;
virtual QString previewText() const = 0;