/guitone-1.0rc5/src/model/GetFileProxyModel.cpp
C++ | 50 lines | 26 code | 7 blank | 17 comment | 14 complexity | bd2d245aecbddc6e3d8819c6ed258016 MD5 | raw file
Possible License(s): GPL-3.0
1/***************************************************************************
2 * Copyright (C) 2006 by Ingo Maindorfer *
3 * ingo@liquidcooling.de *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 3 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
17 ***************************************************************************/
18
19#include "GetFileProxyModel.h"
20#include "GetFile.h"
21
22GetFileProxyModel::GetFileProxyModel(QObject * parent)
23 : QSortFilterProxyModel(parent), version(Both)
24{}
25
26GetFileProxyModel::~GetFileProxyModel() {}
27
28bool GetFileProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex & sourceParent) const
29{
30 QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
31 ContentLine * line = static_cast<ContentLine *>(index.internalPointer());
32
33 if ((line->state == DiffLine::Added || line->state == DiffLine::AddedMissingNewline) && version == Left)
34 return false;
35 if ((line->state == DiffLine::Removed || line->state == DiffLine::RemovedMissingNewline) && version == Right)
36 return false;
37 return true;
38}
39
40void GetFileProxyModel::setFileVersion(FileVersion v)
41{
42 if (version == v) return;
43 version = v;
44 clear();
45}
46
47GetFileProxyModel::FileVersion GetFileProxyModel::fileVersion() const
48{
49 return version;
50}