diff options
author | Arno <am@disconnect.de> | 2010-07-23 21:25:34 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-07-23 21:25:34 +0200 |
commit | d617e0679b42680d5068513a951b6f6db10b0565 (patch) | |
tree | ce368fd13628e75406191b1c8118664136a4207e /archiveproxy.cpp | |
parent | a59ac6eb3cebdd4e3f41552c21f14165203c1ab2 (diff) | |
download | SheMov-d617e0679b42680d5068513a951b6f6db10b0565.tar.gz SheMov-d617e0679b42680d5068513a951b6f6db10b0565.tar.bz2 SheMov-d617e0679b42680d5068513a951b6f6db10b0565.zip |
Big code cleanup
hopefully removed all code connected to ArchiveViewWidget in this
tree.
Files removed ({h,cpp}):
*archiveeditdialog
*listeditor
*covereditor
*archivefilewidget
*addmoviewizard
*archivefileview
*archiveproxy
*sizedelegate
*archivedidelegate
*archiveitemeditdialog
*coveritem
*movieitem
*moviemodel
*moviemodelsingleton
*listmodel
*listmodelsingleton
*archiveviewwidget
*archiveiteminfoedit
*archiveitemcoveredit
*fileinfoitem
*fileinfomodel
See added file TODOS for stuff that needs fixes.
Diffstat (limited to 'archiveproxy.cpp')
-rw-r--r-- | archiveproxy.cpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/archiveproxy.cpp b/archiveproxy.cpp deleted file mode 100644 index 90374c6..0000000 --- a/archiveproxy.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version - 2 of the License, or (at your option) any later version. -*/ - -#include <QStringList> -#include <QRegExp> -#include <QList> - -#include "archiveproxy.h" -#include "moviemodel.h" - -ArchiveProxy::ArchiveProxy(QObject *parent) : QSortFilterProxyModel(parent){}; - -void ArchiveProxy::setFilter(const QString &filter, FilterMode mode){ - mFilterMode = mode; - switch(mFilterMode){ - case NoFilter: - mGenreFilter = QString(); - mActorFilter = QString(); - mTitleFilter = QString(); - break; - case GenreFilter: - mGenreFilter = filter; - break; - case ActorFilter: - mActorFilter = filter; - break; - case TitleFilter: - mTitleFilter = filter.toLower(); - break; - } - invalidate(); -} - -bool ArchiveProxy::filterAcceptsRow(int sourceRow, const QModelIndex & /*sourceParent*/) const{ - if(mFilterMode == NoFilter){ - return true; - } - MovieModel *model = static_cast<MovieModel*>(sourceModel()); - Q_ASSERT(model != 0); - if(mFilterMode == ActorFilter){ - QModelIndex idx = model->index(sourceRow, 0, QModelIndex()); - QStringList actors = model->data(idx, MovieModel::ActorsRole).toStringList(); - return actors.contains(mActorFilter); - } - if(mFilterMode == GenreFilter){ - QModelIndex idx = model->index(sourceRow, 4, QModelIndex()); - QString genre = idx.data().toString(); - return (genre == mGenreFilter); - } - if(mFilterMode == TitleFilter){ - QModelIndex idx = model->index(sourceRow, 0, QModelIndex()); - QString title = idx.data().toString(); - QRegExp re(mTitleFilter); - return( re.indexIn(title) != -1); - } - return true; -} - -void ArchiveProxy::clearFilter(){ - mFilterMode = NoFilter; - mGenreFilter = QString(); - mActorFilter = QString(); - mTitleFilter = QString(); - invalidate(); -} - -bool ArchiveProxy::lessThan(const QModelIndex &left, const QModelIndex &right) const{ - if(left.column() > 0){ - return QSortFilterProxyModel::lessThan(left, right); - } - QString lbase = left.data(MovieModel::TitleBaseRole).toString(); - QString rbase = right.data(MovieModel::TitleBaseRole).toString(); - if(lbase == rbase){ - int lseriesno = left.data(MovieModel::SeriesNoRole).toInt(); - int rseriesno = right.data(MovieModel::SeriesNoRole).toInt(); - if(lseriesno == rseriesno){ - int lpartno = left.data(MovieModel::PartNoRole).toInt(); - int rpartno = right.data(MovieModel::PartNoRole).toInt(); - return (lpartno < rpartno); - }else{ - return (lseriesno < rseriesno); - } - }else{ - return (lbase < rbase); - } - return QSortFilterProxyModel::lessThan(left, right); -} - |