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
013087a4
Commit
013087a4
authored
Apr 12, 2015
by
Fabio Bas
Browse files
CardDatabaseModel: use an enum for columns
parent
1e06a971
Changes
2
Show whitespace changes
Inline
Side-by-side
cockatrice/src/carddatabasemodel.cpp
View file @
013087a4
#include
"carddatabasemodel.h"
#include
"filtertree.h"
#define CARDDBMODEL_COLUMNS 5
CardDatabaseModel
::
CardDatabaseModel
(
CardDatabase
*
_db
,
QObject
*
parent
)
:
QAbstractListModel
(
parent
),
db
(
_db
)
{
...
...
@@ -21,31 +23,31 @@ int CardDatabaseModel::rowCount(const QModelIndex &/*parent*/) const
int
CardDatabaseModel
::
columnCount
(
const
QModelIndex
&
/*parent*/
)
const
{
return
5
;
return
CARDDBMODEL_COLUMNS
;
}
QVariant
CardDatabaseModel
::
data
(
const
QModelIndex
&
index
,
int
role
)
const
{
if
(
!
index
.
isValid
())
return
QVariant
();
if
((
index
.
row
()
>=
cardList
.
size
())
||
(
index
.
column
()
>=
5
))
if
((
index
.
row
()
>=
cardList
.
size
())
||
(
index
.
column
()
>=
CARDDBMODEL_COLUMNS
))
return
QVariant
();
if
(
role
!=
Qt
::
DisplayRole
)
return
QVariant
();
CardInfo
*
card
=
cardList
.
at
(
index
.
row
());
switch
(
index
.
column
()){
case
0
:
return
card
->
getName
();
case
1
:
{
case
NameColumn
:
return
card
->
getName
();
case
SetListColumn
:
{
QStringList
setList
;
const
QList
<
CardSet
*>
&
sets
=
card
->
getSets
();
for
(
int
i
=
0
;
i
<
sets
.
size
();
i
++
)
setList
<<
sets
[
i
]
->
getShortName
();
return
setList
.
join
(
", "
);
}
case
2
:
return
card
->
getManaCost
();
case
3
:
return
card
->
getCardType
();
case
4
:
return
card
->
getPowTough
();
case
ManaCostColumn
:
return
card
->
getManaCost
();
case
CardTypeColumn
:
return
card
->
getCardType
();
case
PTColumn
:
return
card
->
getPowTough
();
default:
return
QVariant
();
}
}
...
...
@@ -57,11 +59,11 @@ QVariant CardDatabaseModel::headerData(int section, Qt::Orientation orientation,
if
(
orientation
!=
Qt
::
Horizontal
)
return
QVariant
();
switch
(
section
)
{
case
0
:
return
QString
(
tr
(
"Name"
));
case
1
:
return
QString
(
tr
(
"Sets"
));
case
2
:
return
QString
(
tr
(
"Mana cost"
));
case
3
:
return
QString
(
tr
(
"Card type"
));
case
4
:
return
QString
(
tr
(
"P/T"
));
case
NameColumn
:
return
QString
(
tr
(
"Name"
));
case
SetListColumn
:
return
QString
(
tr
(
"Sets"
));
case
ManaCostColumn
:
return
QString
(
tr
(
"Mana cost"
));
case
CardTypeColumn
:
return
QString
(
tr
(
"Card type"
));
case
PTColumn
:
return
QString
(
tr
(
"P/T"
));
default:
return
QVariant
();
}
}
...
...
@@ -86,7 +88,7 @@ void CardDatabaseModel::cardInfoChanged(CardInfo *card)
if
(
row
==
-
1
)
return
;
emit
dataChanged
(
index
(
row
,
0
),
index
(
row
,
4
));
emit
dataChanged
(
index
(
row
,
0
),
index
(
row
,
CARDDBMODEL_COLUMNS
-
1
));
}
void
CardDatabaseModel
::
cardAdded
(
CardInfo
*
card
)
...
...
cockatrice/src/carddatabasemodel.h
View file @
013087a4
...
...
@@ -12,6 +12,7 @@ class FilterTree;
class
CardDatabaseModel
:
public
QAbstractListModel
{
Q_OBJECT
public:
enum
Columns
{
NameColumn
,
SetListColumn
,
ManaCostColumn
,
CardTypeColumn
,
PTColumn
,
CMCColumn
};
CardDatabaseModel
(
CardDatabase
*
_db
,
QObject
*
parent
=
0
);
~
CardDatabaseModel
();
int
rowCount
(
const
QModelIndex
&
parent
=
QModelIndex
())
const
;
...
...
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