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
e5d9692d
Commit
e5d9692d
authored
Jun 24, 2014
by
Daenyth
Browse files
Fall back to plain text load when xml load fails
parent
0420f4f7
Changes
2
Show whitespace changes
Inline
Side-by-side
cockatrice/src/deck_loader.cpp
View file @
e5d9692d
#include
<QStringList>
#include
<QFile>
#include
<QDebug>
#include
"deck_loader.h"
#include
"decklist.h"
...
...
@@ -48,7 +49,16 @@ bool DeckLoader::loadFromFile(const QString &fileName, FileFormat fmt)
bool
result
=
false
;
switch
(
fmt
)
{
case
PlainTextFormat
:
result
=
loadFromFile_Plain
(
&
file
);
break
;
case
CockatriceFormat
:
result
=
loadFromFile_Native
(
&
file
);
break
;
case
CockatriceFormat
:
result
=
loadFromFile_Native
(
&
file
);
qDebug
()
<<
"Loaded from"
<<
fileName
<<
"-"
<<
result
;
if
(
!
result
)
{
qDebug
()
<<
"Retying as plain format"
;
file
.
seek
(
0
);
result
=
loadFromFile_Plain
(
&
file
);
fmt
=
PlainTextFormat
;
}
break
;
}
if
(
result
)
{
lastFileName
=
fileName
;
...
...
@@ -56,6 +66,7 @@ bool DeckLoader::loadFromFile(const QString &fileName, FileFormat fmt)
emit
deckLoaded
();
}
qDebug
()
<<
"Deck was loaded -"
<<
result
;
return
result
;
}
...
...
common/decklist.cpp
View file @
e5d9692d
...
...
@@ -2,6 +2,7 @@
#include
<QTextStream>
#include
<QVariant>
#include
<QCryptographicHash>
#include
<QDebug>
#include
"decklist.h"
SideboardPlan
::
SideboardPlan
(
const
QString
&
_name
,
const
QList
<
MoveCard_ToZone
>
&
_moveList
)
...
...
@@ -441,6 +442,11 @@ void DeckList::write(QXmlStreamWriter *xml)
bool
DeckList
::
loadFromXml
(
QXmlStreamReader
*
xml
)
{
if
(
xml
->
error
())
{
qDebug
()
<<
"Error loading deck from xml: "
<<
xml
->
errorString
();
return
false
;
}
cleanList
();
while
(
!
xml
->
atEnd
())
{
xml
->
readNext
();
...
...
@@ -455,6 +461,10 @@ bool DeckList::loadFromXml(QXmlStreamReader *xml)
}
}
updateDeckHash
();
if
(
xml
->
error
())
{
qDebug
()
<<
"Error loading deck from xml: "
<<
xml
->
errorString
();
return
false
;
}
return
true
;
}
...
...
@@ -477,8 +487,7 @@ QString DeckList::writeToString_Native()
bool
DeckList
::
loadFromFile_Native
(
QIODevice
*
device
)
{
QXmlStreamReader
xml
(
device
);
loadFromXml
(
&
xml
);
return
true
;
return
loadFromXml
(
&
xml
);
}
bool
DeckList
::
saveToFile_Native
(
QIODevice
*
device
)
...
...
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