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
Tobias Hunger
qt-creator
Commits
a426ddad
Commit
a426ddad
authored
Feb 10, 2010
by
Marco Bubke
Browse files
Fix id naming for pasting
parent
6ac45841
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/qmldesigner/core/model/modelmerger.cpp
View file @
a426ddad
...
...
@@ -81,16 +81,20 @@ static void syncId(ModelNode &outputNode, const ModelNode &inputNode, const QHas
static
void
splitIdInBaseNameAndNumber
(
const
QString
&
id
,
QString
*
baseId
,
int
*
number
)
{
QRegExp
regularExpression
(
"(.*)(
\\
d*)"
);
// regularExpression.setMinimal(true);
regularExpression
.
setPatternSyntax
(
QRegExp
::
RegExp2
);
regularExpression
.
indexIn
(
id
);
QStringList
splitedList
=
regularExpression
.
capturedTexts
();
*
baseId
=
regularExpression
.
cap
(
1
);
int
counter
=
0
;
while
(
counter
<
id
.
count
())
{
bool
canConvertToInteger
=
false
;
int
newNumber
=
id
.
right
(
counter
+
1
).
toInt
(
&
canConvertToInteger
);
if
(
canConvertToInteger
)
*
number
=
newNumber
;
else
break
;
counter
++
;
}
qDebug
()
<<
splitedList
;
*
baseId
=
id
.
left
(
id
.
count
()
-
counter
)
;
}
static
void
setupIdRenamingHash
(
const
ModelNode
&
modelNode
,
QHash
<
QString
,
QString
>
&
idRenamingHash
,
AbstractView
*
view
)
...
...
@@ -105,10 +109,10 @@ static void setupIdRenamingHash(const ModelNode &modelNode, QHash<QString, QStri
splitIdInBaseNameAndNumber
(
newId
,
&
baseId
,
&
number
);
while
(
view
->
hasId
(
newId
)
||
idRenamingHash
.
contains
(
newId
))
{
newId
=
baseId
+
QString
::
number
(
number
).
toLower
();
newId
=
baseId
+
QString
::
number
(
number
);
number
++
;
}
idRenamingHash
.
insert
(
node
.
id
(),
newId
);
}
}
...
...
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