Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
f699cd4b
Commit
f699cd4b
authored
Nov 12, 2013
by
Daenyth
Browse files
Merge pull request #23 from taw/master
Made Ctrl-V importer work more robust.
parents
92ff5038
b57d6282
Changes
1
Hide whitespace changes
Inline
Side-by-side
common/decklist.cpp
View file @
f699cd4b
...
...
@@ -417,6 +417,7 @@ bool DeckList::loadFromStream_Plain(QTextStream &in)
cleanList
();
InnerDecklistNode
*
main
=
0
,
*
side
=
0
;
bool
inSideboard
=
false
;
int
okRows
=
0
;
while
(
!
in
.
atEnd
())
{
...
...
@@ -425,11 +426,18 @@ bool DeckList::loadFromStream_Plain(QTextStream &in)
continue
;
InnerDecklistNode
*
zone
;
if
(
line
.
startsWith
(
"SB:"
,
Qt
::
CaseInsensitive
))
{
if
(
line
.
startsWith
(
"Sideboard"
,
Qt
::
CaseInsensitive
))
{
inSideboard
=
true
;
continue
;
}
else
if
(
line
.
startsWith
(
"SB:"
,
Qt
::
CaseInsensitive
))
{
line
=
line
.
mid
(
3
).
trimmed
();
if
(
!
side
)
side
=
new
InnerDecklistNode
(
"side"
,
root
);
zone
=
side
;
}
else
if
(
inSideboard
)
{
if
(
!
side
)
side
=
new
InnerDecklistNode
(
"side"
,
root
);
zone
=
side
;
}
else
{
if
(
!
main
)
main
=
new
InnerDecklistNode
(
"main"
,
root
);
...
...
@@ -448,8 +456,21 @@ bool DeckList::loadFromStream_Plain(QTextStream &in)
int
number
=
line
.
left
(
i
).
toInt
(
&
ok
);
if
(
!
ok
)
continue
;
QString
cardName
=
line
.
mid
(
i
+
1
);
// Common differences between cockatrice's card names
// and what's commonly used in decklists
rx
.
setPattern
(
"’"
);
cardName
.
replace
(
rx
,
"'"
);
rx
.
setPattern
(
"Æ"
);
cardName
.
replace
(
rx
,
"AE"
);
rx
.
setPattern
(
"^Aether"
);
cardName
.
replace
(
rx
,
"AEther"
);
rx
.
setPattern
(
"
\\
s*[&|/]{1,2}
\\
s*"
);
cardName
.
replace
(
rx
,
" // "
);
++
okRows
;
new
DecklistCardNode
(
line
.
mid
(
i
+
1
)
,
number
,
zone
);
new
DecklistCardNode
(
cardName
,
number
,
zone
);
}
updateDeckHash
();
return
(
okRows
>
0
);
...
...
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