PageRenderTime 41ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/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. #include "GetFileProxyModel.h"
  19. #include "GetFile.h"
  20. GetFileProxyModel::GetFileProxyModel(QObject * parent)
  21. : QSortFilterProxyModel(parent), version(Both)
  22. {}
  23. GetFileProxyModel::~GetFileProxyModel() {}
  24. bool GetFileProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex & sourceParent) const
  25. {
  26. QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
  27. ContentLine * line = static_cast<ContentLine *>(index.internalPointer());
  28. if ((line->state == DiffLine::Added || line->state == DiffLine::AddedMissingNewline) && version == Left)
  29. return false;
  30. if ((line->state == DiffLine::Removed || line->state == DiffLine::RemovedMissingNewline) && version == Right)
  31. return false;
  32. return true;
  33. }
  34. void GetFileProxyModel::setFileVersion(FileVersion v)
  35. {
  36. if (version == v) return;
  37. version = v;
  38. clear();
  39. }
  40. GetFileProxyModel::FileVersion GetFileProxyModel::fileVersion() const
  41. {
  42. return version;
  43. }