Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
5f8f61bb
Commit
5f8f61bb
authored
Feb 01, 2010
by
Christiaan Janssen
Browse files
QmlDesigner.StatesEditor: Renaming of states using the item navigator's style
parent
8b7646bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/qmldesigner/components/stateseditor/stateslist.qml
View file @
5f8f61bb
...
...
@@ -30,7 +30,12 @@ Rectangle {
// TextInputs don't loose focus automatically when user clicks away, have to be done explicitly
signal
unFocus
Item
{
id
:
focusStealer
}
MouseRegion
{
anchors.fill
:
parent
hoverEnabled
:
true
onExited
:
root
.
unFocus
();
}
Flickable
{
id
:
listView
...
...
@@ -79,7 +84,7 @@ Rectangle {
id
:
Delegate
Item
{
id
:
container
width
:
Math
.
max
(
img
.
width
,
txt
.
width
+
removeState
.
width
+
2
)
+
4
width
:
Math
.
max
(
img
.
width
,
txt
.
width
+
removeState
.
width
+
2
,
stateNameEditor
.
width
)
+
4
height
:
img
.
height
+
txt
.
height
+
4
Rectangle
{
...
...
@@ -114,49 +119,7 @@ Rectangle {
}
}
Connection
{
sender
:
root
signal
:
"
unFocus()
"
script
:
txt
.
unFocus
()
}
Item
{
id
:
textLimits
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
anchors.right
:
removeState
.
left
height
:
txt
.
height
clip
:
true
TextInput
{
anchors.top
:
parent
.
top
anchors.topMargin
:
2
anchors.horizontalCenter
:
textLimits
.
horizontalCenter
id
:
txt
text
:
stateName
color
:
"
#E1E1E1
"
;
function
unFocus
()
{
focus
=
false
;
focusStealer
.
focus
=
true
;
txtRegion
.
enabled
=
true
;
if
(
index
!=
0
)
statesEditorModel
.
renameState
(
index
,
text
);
}
onAccepted
:
unFocus
();
MouseRegion
{
id
:
txtRegion
anchors.fill
:
parent
onClicked
:
{
root
.
currentStateIndex
=
index
;
root
.
unFocus
();
}
onDoubleClicked
:
if
(
index
!=
0
)
{
parent
.
focus
=
true
;
enabled
=
false
;
}
}
}
}
// The erase button
Rectangle
{
...
...
@@ -212,6 +175,85 @@ Rectangle {
}
}
Connection
{
sender
:
root
signal
:
"
unFocus()
"
script
:
stateNameEditor
.
unFocus
()
}
Item
{
id
:
textLimits
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
anchors.right
:
removeState
.
left
height
:
txt
.
height
clip
:
false
Text
{
anchors.top
:
parent
.
top
anchors.topMargin
:
2
anchors.horizontalCenter
:
textLimits
.
horizontalCenter
id
:
txt
text
:
stateName
color
:
"
#E1E1E1
"
;
MouseRegion
{
id
:
txtRegion
anchors.fill
:
parent
onClicked
:
{
if
(
root
.
currentStateIndex
!=
index
)
root
.
unFocus
();
root
.
currentStateIndex
=
index
;
}
onDoubleClicked
:
if
(
index
!=
0
)
{
stateNameInput
.
text
=
stateName
;
stateNameInput
.
focus
=
true
;
stateNameEditor
.
visible
=
true
;
stateNameInput
.
cursorVisible
=
true
;
}
}
}
Rectangle
{
id
:
stateNameEditor
visible
:
false
x
:
2
y
:
2
height
:
parent
.
height
width
:
Math
.
max
(
img
.
width
,
txt
.
width
+
removeState
.
width
+
2
,
stateNameInput
.
width
+
16
)
clip
:
true
color
:
"
white
"
border.width
:
2
border.color
:
"
#8f8f8f
"
radius
:
4
function
unFocus
()
{
if
(
visible
)
statesEditorModel
.
renameState
(
index
,
stateNameInput
.
text
);
visible
=
false
;
}
MouseRegion
{
id
:
AbsorbAllClicks
anchors.fill
:
parent
}
TextInput
{
id
:
stateNameInput
x
:
10
text
:
stateName
onAccepted
:
{
statesEditorModel
.
renameState
(
index
,
text
);
parent
.
visible
=
false
;
}
}
}
}
}
}
...
...
@@ -256,51 +298,53 @@ Rectangle {
// The add button
Component
{
id
:
addState
Rectangle
{
// The add button
Component
{
id
:
addState
Item
{
anchors.fill
:
parent
Rectangle
{
anchors.centerIn
:
parent
anchors.centerIn
:
parent
width
:
21
height
:
width
width
:
21
height
:
width
color
:
"
#4F4F4F
"
radius
:
width
/
2
color
:
"
#4F4F4F
"
radius
:
width
/
2
// "clicked" overlay
Rectangle
{
anchors.fill
:
parent
opacity
:
parent
.
state
==
"
Pressed
"
color
:
"
#282828
"
radius
:
parent
.
radius
}
// "clicked" overlay
Rectangle
{
anchors.fill
:
parent
opacity
:
parent
.
state
==
"
Pressed
"
color
:
"
#282828
"
radius
:
parent
.
radius
}
states
:
State
{
name
:
"
Pressed
"
;
}
states
:
State
{
name
:
"
Pressed
"
;
}
// "plus" sign
Rectangle
{
width
:
parent
.
width
-
10
height
:
3
color
:
root
.
color
anchors.centerIn
:
parent
}
Rectangle
{
width
:
3
height
:
parent
.
height
-
10
color
:
root
.
color
anchors.centerIn
:
parent
// "plus" sign
Rectangle
{
width
:
parent
.
width
-
10
height
:
3
color
:
root
.
color
anchors.centerIn
:
parent
}
Rectangle
{
width
:
3
height
:
parent
.
height
-
10
color
:
root
.
color
anchors.centerIn
:
parent
}
}
MouseRegion
{
anchors.fill
:
parent
onClicked
:
{
root
.
unFocus
();
if
(
root
.
currentStateIndex
==
0
)
root
.
createNewState
();
//create new state
root
.
createNewState
();
//create new state
else
root
.
duplicateCurrentState
();
//duplicate current state
root
.
duplicateCurrentState
();
//duplicate current state
listView
.
viewportX
=
horizontalScrollbar
.
viewPosition
;
// select the newly created state
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment