summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h')
-rw-r--r--src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h
index 6de5042ed6..519d6fcf78 100644
--- a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h
+++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.h
@@ -9,11 +9,13 @@
#include <QPointer>
QT_BEGIN_NAMESPACE
+class QDir;
class QShortcut;
class QToolButton;
-class QQuickWidget;
QT_END_NAMESPACE
+class StudioQuickWidget;
+
namespace QmlDesigner {
class ContentLibraryTexture;
@@ -28,6 +30,9 @@ class ContentLibraryWidget : public QFrame
Q_PROPERTY(bool hasQuick3DImport READ hasQuick3DImport NOTIFY hasQuick3DImportChanged)
Q_PROPERTY(bool hasMaterialLibrary READ hasMaterialLibrary NOTIFY hasMaterialLibraryChanged)
+ // Needed for a workaround for a bug where after drag-n-dropping an item, the ScrollView scrolls to a random position
+ Q_PROPERTY(bool isDragging MEMBER m_isDragging NOTIFY isDraggingChanged)
+
public:
ContentLibraryWidget();
@@ -56,6 +61,8 @@ public:
Q_INVOKABLE void addTexture(QmlDesigner::ContentLibraryTexture *tex);
Q_INVOKABLE void addLightProbe(QmlDesigner::ContentLibraryTexture *tex);
Q_INVOKABLE void updateSceneEnvState();
+ Q_INVOKABLE bool markTextureDownloading();
+ Q_INVOKABLE void markNoTextureDownloading();
signals:
void bundleMaterialDragStarted(QmlDesigner::ContentLibraryMaterial *bundleMat);
@@ -64,6 +71,7 @@ signals:
void updateSceneEnvStateRequested();
void hasQuick3DImportChanged();
void hasMaterialLibraryChanged();
+ void isDraggingChanged();
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
@@ -71,9 +79,14 @@ protected:
private:
void reloadQmlSource();
void updateSearch();
+ void setIsDragging(bool val);
QString findTextureBundlePath();
+ void loadTextureBundle();
+ QVariantMap readBundleMetadata();
+ bool fetchTextureBundleMetadata(const QDir &bundleDir);
+ bool fetchTextureBundleIcons(const QDir &bundleDir);
- QScopedPointer<QQuickWidget> m_quickWidget;
+ QScopedPointer<StudioQuickWidget> m_quickWidget;
QPointer<ContentLibraryMaterialsModel> m_materialsModel;
QPointer<ContentLibraryTexturesModel> m_texturesModel;
QPointer<ContentLibraryTexturesModel> m_environmentsModel;
@@ -88,6 +101,12 @@ private:
bool m_hasMaterialLibrary = false;
bool m_hasQuick3DImport = false;
+ bool m_isDragging = false;
+ bool m_anyTextureBeingDownloaded = false;
+ QString m_baseUrl;
+ QString m_texturesUrl;
+ QString m_environmentsUrl;
+ QString m_downloadPath;
};
} // namespace QmlDesigner