forked from qt-creator/qt-creator
QmlDesigner: Allow going into component from item library
Added "Go into Component" to item library context menu for items that have customComponentSource available. Doubleclicking on the item also does the same. Fixes: QDS-5786 Change-Id: I954bfb4864d74fa04b5da5b961f9aa2035132022 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -68,6 +68,11 @@ QString ItemLibraryItem::requiredImport() const
|
||||
return m_itemLibraryEntry.requiredImport();
|
||||
}
|
||||
|
||||
QString ItemLibraryItem::componentSource() const
|
||||
{
|
||||
return m_itemLibraryEntry.customComponentSource();
|
||||
}
|
||||
|
||||
bool ItemLibraryItem::setVisible(bool isVisible)
|
||||
{
|
||||
if (isVisible != m_isVisible) {
|
||||
|
||||
@@ -45,6 +45,7 @@ class ItemLibraryItem: public QObject
|
||||
Q_PROPERTY(QString componentPath READ componentPath FINAL)
|
||||
Q_PROPERTY(bool itemUsable READ isUsable FINAL)
|
||||
Q_PROPERTY(QString itemRequiredImport READ requiredImport FINAL)
|
||||
Q_PROPERTY(QString itemComponentSource READ componentSource FINAL)
|
||||
|
||||
public:
|
||||
ItemLibraryItem(const ItemLibraryEntry &itemLibraryEntry, bool isImported, QObject *parent);
|
||||
@@ -55,6 +56,7 @@ public:
|
||||
QString itemLibraryIconPath() const;
|
||||
QString componentPath() const;
|
||||
QString requiredImport() const;
|
||||
QString componentSource() const;
|
||||
|
||||
bool setVisible(bool isVisible);
|
||||
bool isVisible() const;
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
#include <designeractionmanager.h>
|
||||
#include <designermcumanager.h>
|
||||
#include <documentmanager.h>
|
||||
#include <itemlibraryimageprovider.h>
|
||||
#include <itemlibraryinfo.h>
|
||||
#include <itemlibrarymodel.h>
|
||||
@@ -269,6 +270,11 @@ void ItemLibraryWidget::handleAddImport(int index)
|
||||
updateSearch();
|
||||
}
|
||||
|
||||
void ItemLibraryWidget::goIntoComponent(const QString &source)
|
||||
{
|
||||
DocumentManager::goIntoComponent(source);
|
||||
}
|
||||
|
||||
void ItemLibraryWidget::delayedUpdateModel()
|
||||
{
|
||||
static bool disableTimer = DesignerSettings::getValue(DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER).toBool();
|
||||
|
||||
@@ -95,6 +95,7 @@ public:
|
||||
Q_INVOKABLE void addImportForItem(const QString &importUrl);
|
||||
Q_INVOKABLE void handleSearchfilterChanged(const QString &filterText);
|
||||
Q_INVOKABLE void handleAddImport(int index);
|
||||
Q_INVOKABLE void goIntoComponent(const QString &source);
|
||||
|
||||
signals:
|
||||
void itemActivated(const QString &itemName);
|
||||
|
||||
@@ -108,14 +108,19 @@ static inline void applyProperties(ModelNode &node, const QHash<PropertyName, QV
|
||||
}
|
||||
}
|
||||
|
||||
static void openFileComponent(const ModelNode &modelNode)
|
||||
static void openFileComponentForFile(const QString &fileName)
|
||||
{
|
||||
QmlDesignerPlugin::instance()->viewManager().nextFileIsCalledInternally();
|
||||
Core::EditorManager::openEditor(FilePath::fromString(modelNode.metaInfo().componentFileName()),
|
||||
Core::EditorManager::openEditor(FilePath::fromString(fileName),
|
||||
Utils::Id(),
|
||||
Core::EditorManager::DoNotMakeVisible);
|
||||
}
|
||||
|
||||
static void openFileComponent(const ModelNode &modelNode)
|
||||
{
|
||||
openFileComponentForFile(modelNode.metaInfo().componentFileName());
|
||||
}
|
||||
|
||||
static void openFileComponentForDelegate(const ModelNode &modelNode)
|
||||
{
|
||||
openFileComponent(modelNode.nodeProperty("delegate").modelNode());
|
||||
@@ -305,6 +310,11 @@ bool DocumentManager::goIntoComponent(const ModelNode &modelNode)
|
||||
return false;
|
||||
}
|
||||
|
||||
void DocumentManager::goIntoComponent(const QString &fileName)
|
||||
{
|
||||
openFileComponentForFile(fileName);
|
||||
}
|
||||
|
||||
bool DocumentManager::createFile(const QString &filePath, const QString &contents)
|
||||
{
|
||||
Utils::TextFileFormat textFileFormat;
|
||||
|
||||
@@ -52,6 +52,7 @@ public:
|
||||
void removeEditors(const QList<Core::IEditor *> &editors);
|
||||
|
||||
static bool goIntoComponent(const ModelNode &modelNode);
|
||||
static void goIntoComponent(const QString &fileName);
|
||||
|
||||
static bool createFile(const QString &filePath, const QString &contents);
|
||||
static void addFileToVersionControl(const QString &directoryPath, const QString &newFilePath);
|
||||
|
||||
Reference in New Issue
Block a user