Add CuraStyled rename dialog

CURA-8688
This commit is contained in:
Jaime van Kessel 2022-02-28 13:30:14 +01:00
parent f7852e4f9d
commit 1f39a1b87f
3 changed files with 95 additions and 3 deletions

View file

@ -144,7 +144,7 @@ UM.ManagementPage
} }
// Dialog to request a name when creating a new profile // Dialog to request a name when creating a new profile
UM.RenameDialog Cura.RenameDialog
{ {
id: createQualityDialog id: createQualityDialog
title: catalog.i18nc("@title:window", "Create Profile") title: catalog.i18nc("@title:window", "Create Profile")
@ -233,7 +233,7 @@ UM.ManagementPage
} }
// Dialog to request a name when duplicating a new profile // Dialog to request a name when duplicating a new profile
UM.RenameDialog Cura.RenameDialog
{ {
id: duplicateQualityDialog id: duplicateQualityDialog
title: catalog.i18nc("@title:window", "Duplicate Profile") title: catalog.i18nc("@title:window", "Duplicate Profile")
@ -263,7 +263,7 @@ UM.ManagementPage
} }
// Dialog to rename a quality profile // Dialog to rename a quality profile
UM.RenameDialog Cura.RenameDialog
{ {
id: renameQualityDialog id: renameQualityDialog
title: catalog.i18nc("@title:window", "Rename Profile") title: catalog.i18nc("@title:window", "Rename Profile")

View file

@ -0,0 +1,91 @@
// Copyright (c) 2022 Ultimaker B.V.
// Uranium is released under the terms of the LGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 2.0
import QtQuick.Window 2.1
import UM 1.5 as UM
import Cura 1.0 as Cura
UM.Dialog
{
id: base
property string object: ""
property alias newName: nameField.text
property bool validName: true
property string validationError
property string dialogTitle: catalog.i18nc("@title:window", "Rename")
property string explanation: catalog.i18nc("@info", "Please provide a new name.")
title: dialogTitle
minimumWidth: UM.Theme.getSize("small_popup_dialog").width
minimumHeight: UM.Theme.getSize("small_popup_dialog").height
width: minimumWidth
height: minimumHeight
property variant catalog: UM.I18nCatalog { name: "cura" }
signal textChanged(string text)
signal selectText()
onSelectText:
{
nameField.selectAll();
nameField.focus = true;
}
Column
{
anchors.fill: parent
UM.Label
{
text: base.explanation + "\n" //Newline to make some space using system theming.
width: parent.width
wrapMode: Text.WordWrap
}
Cura.TextField
{
id: nameField
width: parent.width
text: base.object
maximumLength: 40
selectByMouse: true
onTextChanged: base.textChanged(text)
}
UM.Label
{
visible: !base.validName
text: base.validationError
}
}
Item
{
ButtonGroup {
buttons: [cancelButton, okButton]
checkedButton: okButton
}
}
rightButtons: [
Cura.SecondaryButton
{
id: cancelButton
text: catalog.i18nc("@action:button","Cancel")
onClicked: base.reject()
},
Cura.PrimaryButton
{
id: okButton
text: catalog.i18nc("@action:button", "OK")
onClicked: base.accept()
enabled: base.validName
}
]
}

View file

@ -47,3 +47,4 @@ GcodeTextArea 1.0 GcodeTextArea.qml
NumericTextFieldWithUnit 1.0 NumericTextFieldWithUnit.qml NumericTextFieldWithUnit 1.0 NumericTextFieldWithUnit.qml
PrintHeadMinMaxTextField 1.0 PrintHeadMinMaxTextField.qml PrintHeadMinMaxTextField 1.0 PrintHeadMinMaxTextField.qml
SimpleCheckBox 1.0 SimpleCheckBox.qml SimpleCheckBox 1.0 SimpleCheckBox.qml
RenameDialog 1.0 RenameDialog.qml