]> Some of my projects - localmylist.git/commitdiff
Use enum values instead of magic numbers for columns.
authorAPTX <marek321@gmail.com>
Sat, 25 Feb 2017 18:05:10 +0000 (19:05 +0100)
committerAPTX <marek321@gmail.com>
Sat, 25 Feb 2017 18:05:10 +0000 (19:05 +0100)
This is just to make it easier to see which column is which.

localmylist/dynamicmodel/data.cpp
localmylist/dynamicmodel/data.h

index 34b7602d1aae3bcbec655749581728457fa9795b..cf71f0f48ad17e66f1ad8bef87daba8e9c4147aa 100644 (file)
@@ -165,7 +165,7 @@ int AnimeData::id() const
 Qt::ItemFlags AnimeData::flags(int column) const
 {
        Qt::ItemFlags flags = Data::flags(column);
-       if (column == 3)
+       if (column == VoteColumn)
                flags |= Qt::ItemIsEditable;
        return flags;
 }
@@ -181,9 +181,9 @@ QVariant AnimeData::data(int column, int role) const
                case Qt::DisplayRole:
                        switch (column)
                        {
-                               case 0:
+                               case TitleColumn:
                                        return animeData.titleRomaji;
-                               case 1:
+                               case EpCountColumn:
                                        return (animeData.totalEpisodeCount ? epCountString : unknownEpCountString)
                                                        .arg(episodesInMyList)
                                                        .arg(animeData.totalEpisodeCount
@@ -191,27 +191,27 @@ QVariant AnimeData::data(int column, int role) const
                                                                 : qMax(animeData.highestEpno, episodesInMyList))
                                                        .arg(specialsInMyList ? specialsCountString.arg(specialsInMyList) : "")
                                                        .arg("");
-                               case 2:
+                               case RatingColumn:
                                        if (animeData.rating < 1)
                                                return "n/a";
                                        return QString::number(animeData.rating, 'f', 2);
-                               case 3:
+                               case VoteColumn:
                                        if (animeData.myVote < 1)
                                                return "n/a";
                                        return QString::number(animeData.myVote, 'f', 2);
-                               case 4:
+                               case WatchedColumn:
                                        return epCountString.arg(watchedEpisodes)
                                                        .arg(episodesInMyList)
                                                        .arg(specialsInMyList ? specialsCountString.arg(watchedSpecials) : "")
                                                        .arg(specialsInMyList ? specialsCountString.arg(specialsInMyList) : "");
-                               case 5:
+                               case StateColumn:
                                        return stateIdToState(myState);
                        }
                break;
                case Qt::ToolTipRole:
                        switch (column)
                        {
-                               case 0:
+                               case TitleColumn:
                                        if (!animeData.titleEnglish.isEmpty() && !animeData.titleKanji.isEmpty())
                                                return QString("%1 -- %2").arg(animeData.titleEnglish)
                                                                .arg(animeData.titleKanji);
@@ -224,7 +224,7 @@ QVariant AnimeData::data(int column, int role) const
                case Qt::EditRole:
                        switch (column)
                        {
-                               case 3:
+                               case VoteColumn:
                                        return animeData.myVote;
                        }
                break;
index a765b3f786afe005d6da9b52b513d066dedf5873..899daf608b7984bdf941f33fc89575f5d910d9b9 100644 (file)
@@ -58,6 +58,16 @@ public:
 
 class LOCALMYLISTSHARED_EXPORT AnimeData : public Data
 {
+       enum Column
+       {
+               TitleColumn,
+               EpCountColumn,
+               RatingColumn,
+               VoteColumn,
+               WatchedColumn,
+               StateColumn,
+       };
+
 public:
        AnimeData(DataType *dataType);
        AnimeData &operator=(AnimeData &other);