QmlDesigner: Enable component library context menu while searching

The only item visible in the menu is remove module, as hiding
categories during search is not supported.

Fixes: QDS-5687
Change-Id: I8f5bb3f1b27eb37ae32d72b93c6ce2156dfa8eb7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2021-12-13 15:46:58 +02:00
parent 42d0280360
commit fe1f5a644e
3 changed files with 32 additions and 22 deletions

View File

@@ -334,7 +334,10 @@ QList<QToolButton *> ItemLibraryWidget::createToolBarWidgets()
void ItemLibraryWidget::handleSearchfilterChanged(const QString &filterText)
{
m_filterText = filterText;
if (filterText != m_filterText) {
m_filterText = filterText;
emit searchActiveChanged();
}
updateSearch();
}
@@ -366,11 +369,6 @@ void ItemLibraryWidget::handleAddImport(int index)
updateSearch();
}
bool ItemLibraryWidget::isSearchActive() const
{
return !m_filterText.isEmpty();
}
void ItemLibraryWidget::handleFilesDrop(const QStringList &filesPaths)
{
addResources(filesPaths);
@@ -568,6 +566,11 @@ bool ItemLibraryWidget::subCompEditMode() const
return m_subCompEditMode;
}
bool ItemLibraryWidget::searchActive() const
{
return !m_filterText.isEmpty();
}
void ItemLibraryWidget::setFlowMode(bool b)
{
m_itemLibraryModel->setFlowMode(b);

View File

@@ -72,6 +72,7 @@ class ItemLibraryWidget : public QFrame
public:
Q_PROPERTY(bool subCompEditMode READ subCompEditMode NOTIFY subCompEditModeChanged)
Q_PROPERTY(bool searchActive READ searchActive NOTIFY searchActiveChanged)
ItemLibraryWidget(AsynchronousImageCache &imageCache,
AsynchronousImageCache &asynchronousFontImageCache,
@@ -97,6 +98,7 @@ public:
inline static bool isHorizontalLayout = false;
bool subCompEditMode() const;
bool searchActive() const;
Q_INVOKABLE void startDragAndDrop(const QVariant &itemLibEntry, const QPointF &mousePos);
Q_INVOKABLE void startDragAsset(const QStringList &assetPaths, const QPointF &mousePos);
@@ -107,13 +109,13 @@ public:
Q_INVOKABLE void handleAddAsset();
Q_INVOKABLE void handleSearchfilterChanged(const QString &filterText);
Q_INVOKABLE void handleAddImport(int index);
Q_INVOKABLE bool isSearchActive() const;
Q_INVOKABLE void handleFilesDrop(const QStringList &filesPaths);
Q_INVOKABLE QSet<QString> supportedDropSuffixes();
signals:
void itemActivated(const QString &itemName);
void subCompEditModeChanged();
void searchActiveChanged();
protected:
bool eventFilter(QObject *obj, QEvent *event) override;