summaryrefslogtreecommitdiffstats
path: root/moviemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'moviemodel.cpp')
-rw-r--r--moviemodel.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/moviemodel.cpp b/moviemodel.cpp
index 191b987..da921b4 100644
--- a/moviemodel.cpp
+++ b/moviemodel.cpp
@@ -87,13 +87,23 @@ QModelIndex MovieModel::index(int movieId, int column) const{
return retval;
}
-QModelIndex MovieModel::index(const QString &movieTitle) const {
- QModelIndex retval = QModelIndex();
- for(int i = 0; i < rowCount(QModelIndex()); ++i){
- MovieItem *item = mItems.at(i);
- if(item->dataAt(MovieItem::Title).toString() == movieTitle){
- retval = createIndex(i, 0, item);
- break;
+QModelIndexList MovieModel::columnContains(const QVariant &content, int column) const{
+ QModelIndexList retval;
+ if((column == MovieItem::Title) || (column == MovieItem::Filename) || (column == MovieItem::Md5Sum)){
+ QString part = content.toString();
+ for(int i = 0; i < mItems.size(); ++i){
+ QString current = mItems.at(i)->dataAt(column).toString();
+ if(current.contains(part)){
+ retval << createIndex(i, column, mItems.at(i));
+ }
+ }
+ }else{
+ qint64 value = content.toLongLong();
+ for(int i = 0; i < mItems.size(); ++i){
+ qint64 current = mItems.at(i)->dataAt(column).toLongLong();
+ if(value == current){
+ retval << createIndex(i, column, mItems.at(i));
+ }
}
}
return retval;