forked from qt-creator/qt-creator
DesignSystem: Generate unique collection name on creating new collection
Task-number: QDS-14670 Change-Id: I7f3609535a2d7d3005d3146bc33c118cce9163d7 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
committed by
Thomas Hartmann
parent
097ff50d57
commit
0c6f18ac2a
@@ -154,6 +154,7 @@ Rectangle {
|
|||||||
|
|
||||||
StudioControls.Dialog {
|
StudioControls.Dialog {
|
||||||
id: createCollectionDialog
|
id: createCollectionDialog
|
||||||
|
property alias newCollectionName: createCollectionTextField.text;
|
||||||
title: qsTr("Create collection")
|
title: qsTr("Create collection")
|
||||||
width: Math.min(300, root.width)
|
width: Math.min(300, root.width)
|
||||||
closePolicy: Popup.CloseOnEscape
|
closePolicy: Popup.CloseOnEscape
|
||||||
@@ -172,8 +173,6 @@ Rectangle {
|
|||||||
translationIndicatorVisible: false
|
translationIndicatorVisible: false
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
text: qsTr("NewCollection")
|
|
||||||
|
|
||||||
onAccepted: createCollectionDialog.accept()
|
onAccepted: createCollectionDialog.accept()
|
||||||
onRejected: createCollectionDialog.reject()
|
onRejected: createCollectionDialog.reject()
|
||||||
}
|
}
|
||||||
@@ -318,7 +317,10 @@ Rectangle {
|
|||||||
|
|
||||||
StudioControls.MenuItem {
|
StudioControls.MenuItem {
|
||||||
text: qsTr("Create collection")
|
text: qsTr("Create collection")
|
||||||
onTriggered: createCollectionDialog.open()
|
onTriggered: {
|
||||||
|
createCollectionDialog.newCollectionName = DesignSystemBackend.dsInterface.generateCollectionName(qsTr("NewCollection"));
|
||||||
|
createCollectionDialog.open()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -42,6 +42,11 @@ CollectionModel *DesignSystemInterface::model(const QString &typeName)
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString DesignSystemInterface::generateCollectionName(const QString &hint) const
|
||||||
|
{
|
||||||
|
return m_store->uniqueCollectionName(hint);
|
||||||
|
}
|
||||||
|
|
||||||
void DesignSystemInterface::addCollection(const QString &name)
|
void DesignSystemInterface::addCollection(const QString &name)
|
||||||
{
|
{
|
||||||
if (m_store->addCollection(name))
|
if (m_store->addCollection(name))
|
||||||
|
@@ -24,6 +24,7 @@ public:
|
|||||||
Q_INVOKABLE void loadDesignSystem();
|
Q_INVOKABLE void loadDesignSystem();
|
||||||
Q_INVOKABLE CollectionModel *model(const QString &typeName);
|
Q_INVOKABLE CollectionModel *model(const QString &typeName);
|
||||||
|
|
||||||
|
Q_INVOKABLE QString generateCollectionName(const QString &hint) const;
|
||||||
Q_INVOKABLE void addCollection(const QString &name);
|
Q_INVOKABLE void addCollection(const QString &name);
|
||||||
Q_INVOKABLE void removeCollection(const QString &name);
|
Q_INVOKABLE void removeCollection(const QString &name);
|
||||||
Q_INVOKABLE void renameCollection(const QString &oldName, const QString &newName);
|
Q_INVOKABLE void renameCollection(const QString &oldName, const QString &newName);
|
||||||
|
@@ -40,8 +40,9 @@ public:
|
|||||||
|
|
||||||
ThemeProperty resolvedDSBinding(QStringView binding) const;
|
ThemeProperty resolvedDSBinding(QStringView binding) const;
|
||||||
|
|
||||||
private:
|
|
||||||
QString uniqueCollectionName(const QString &hint) const;
|
QString uniqueCollectionName(const QString &hint) const;
|
||||||
|
|
||||||
|
private:
|
||||||
std::optional<QString> loadCollection(const QString &typeName, const Utils::FilePath &qmlFilePath);
|
std::optional<QString> loadCollection(const QString &typeName, const Utils::FilePath &qmlFilePath);
|
||||||
std::optional<QString> writeQml(const DSThemeManager &mgr,
|
std::optional<QString> writeQml(const DSThemeManager &mgr,
|
||||||
const QString &typeName,
|
const QString &typeName,
|
||||||
|
Reference in New Issue
Block a user