Initial checkin
[opensuse:qtobs.git] / statusmodel.cpp
1 /*
2  *  Qt OBS - A Qt based OBS client
3  *
4  *  Copyright (C) 2010 Novell Inc, Klaas Freitag <freitag@suse.de>
5  *
6  *  This program is free software: you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation, either version 2 of the License, or
9  *  (at your option) version 3.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  *
19  *  --
20  *  Written by Klaas Freitag <freitag@suse.de>
21  *  Contributors:
22  */
23
24 #include <QtGui>
25
26 #include "statusmodel.h"
27
28  StatusModel::StatusModel(QObject *parent)
29      : QAbstractTableModel(parent)
30  {
31
32  }
33
34  void StatusModel::setBuildResults(OBSProjectBuildResults results )
35  {
36    mBuildResults = results;
37    reset();
38  }
39
40  int StatusModel::rowCount(const QModelIndex & /* parent */) const
41  {
42      return mBuildResults.packages().count();
43  }
44
45  int StatusModel::columnCount(const QModelIndex & /* parent */) const
46  {
47      return mBuildResults.repositories().count();
48  }
49
50  QVariant StatusModel::data(const QModelIndex &index, int role) const
51  {
52    if (!index.isValid() || role != Qt::DisplayRole)
53      return QVariant();
54    // return qGray(modelImage.pixel(index.column(), index.row()));
55    if( index.column() == 0 ) {
56      QStringList packages = mBuildResults.packages();
57      return packages[index.row()];
58    } else {
59      QStringList repos = mBuildResults.repositories();
60      if( index.row() == 0 ) {
61        return repos[index.column()];
62      }
63
64
65      // QString currPack = (mBuildResults.packages())[index.row()];
66      // QString currRepo =
67    }
68    return tr("ok");
69  }
70
71  QVariant StatusModel::headerData(int /* section */,
72                                  Qt::Orientation /* orientation */,
73                                  int role) const
74  {
75      if (role == Qt::SizeHintRole)
76          return QSize(1, 1);
77      return QVariant();
78  }