Merge remote-tracking branch 'origin/qds/dev'

Change-Id: Id242ab4ca485527defdcc1555d204e12e50ddb7a
This commit is contained in:
Tim Jenssen
2023-09-14 17:25:47 +02:00
616 changed files with 29309 additions and 14257 deletions

View File

@@ -79,7 +79,8 @@ public:
}
void performChanges(QmlJSRefactoringFilePtr currentFile,
const QmlJSRefactoringChanges &refactoring) override
const QmlJSRefactoringChanges &refactoring,
const QString &imports = QString()) override
{
QString componentName = m_componentName;
@@ -128,18 +129,12 @@ public:
const Utils::FilePath newFileName = path.pathAppended(componentName + QLatin1String(".")
+ suffix);
QString imports;
UiProgram *prog = currentFile->qmljsDocument()->qmlProgram();
if (prog && prog->headers) {
const unsigned int start = currentFile->startOf(prog->headers->firstSourceLocation());
const unsigned int end = currentFile->startOf(prog->members->member->firstSourceLocation());
imports = currentFile->textOf(start, end);
}
QString qmlImports = imports.size() ? imports : currentFile->qmlImports();
const unsigned int start = currentFile->startOf(m_firstSourceLocation);
const unsigned int end = currentFile->startOf(m_lastSourceLocation);
QString newComponentSource = imports + currentFile->textOf(start, end)
+ QLatin1String("}\n");
QString newComponentSource = qmlImports + currentFile->textOf(start, end)
+ QLatin1String("}\n");
//Remove properties from resulting code...
@@ -248,7 +243,8 @@ void matchComponentFromObjectDefQuickFix(const QmlJSQuickFixAssistInterface *int
void performComponentFromObjectDef(QmlJSEditorWidget *editor,
const QString &fileName,
QmlJS::AST::UiObjectDefinition *objDef)
QmlJS::AST::UiObjectDefinition *objDef,
const QString &importData)
{
QmlJSRefactoringChanges refactoring(QmlJS::ModelManagerInterface::instance(),
QmlJS::ModelManagerInterface::instance()->snapshot());
@@ -257,7 +253,7 @@ void performComponentFromObjectDef(QmlJSEditorWidget *editor,
QmlJSQuickFixAssistInterface interface(editor, TextEditor::AssistReason::ExplicitlyInvoked);
Operation operation(&interface, objDef);
operation.performChanges(current, refactoring);
operation.performChanges(current, refactoring, importData);
}
} //namespace QmlJSEditor

View File

@@ -15,6 +15,7 @@ QMLJSEDITOR_EXPORT void matchComponentFromObjectDefQuickFix(
QMLJSEDITOR_EXPORT void performComponentFromObjectDef(QmlJSEditorWidget *editor,
const QString &fileName,
QmlJS::AST::UiObjectDefinition *objDef);
QmlJS::AST::UiObjectDefinition *objDef,
const QString &importData);
} // namespace QmlJSEditor

View File

@@ -40,7 +40,9 @@ protected:
using Range = Utils::ChangeSet::Range;
virtual void performChanges(QmlJSTools::QmlJSRefactoringFilePtr currentFile,
const QmlJSTools::QmlJSRefactoringChanges &refactoring) = 0;
const QmlJSTools::QmlJSRefactoringChanges &refactoring,
const QString &imports = QString())
= 0;
const QmlJSTools::SemanticInfo &semanticInfo() const;

View File

@@ -50,7 +50,8 @@ public:
}
void performChanges(QmlJSRefactoringFilePtr currentFile,
const QmlJSRefactoringChanges &) override
const QmlJSRefactoringChanges &,
const QString &) override
{
Q_ASSERT(_objectInitializer);
@@ -115,7 +116,8 @@ public:
}
void performChanges(QmlJSRefactoringFilePtr currentFile,
const QmlJSRefactoringChanges &) override
const QmlJSRefactoringChanges &,
const QString &) override
{
Utils::ChangeSet changes;
const int insertLoc = _message.location.begin() - _message.location.startColumn + 1;

View File

@@ -90,7 +90,8 @@ public:
}
void performChanges(QmlJSRefactoringFilePtr currentFile,
const QmlJSRefactoringChanges &) override
const QmlJSRefactoringChanges &,
const QString &) override
{
UiScriptBinding *idBinding;
const QString id = idOfObject(m_objDef, &idBinding);