[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krecipes] src: Add model for ingredient name.
From: José_Manuel_Santamaría_Lema <panfaust () gmail ! com>
Date: 2016-04-07 20:25:06
Message-ID: E1aoGUE-0007O4-Uw () scm ! kde ! org
[Download RAW message or body]
Git commit 806f46cea7b44689a591ae13494359871b19c99a by José Manuel Santamaría Lema.
Committed on 07/04/2016 at 20:13.
Pushed by joselema into branch 'master'.
Add model for ingredient name.
M +1 -0 src/CMakeLists.txt
M +11 -1 src/models/kreallingredientsmodels.cpp
M +3 -0 src/models/kreallingredientsmodels.h
C +12 -9 src/models/kresinglecolumnproxymodel.cpp [from: \
src/models/kreallingredientsmodels.cpp - 058% similarity] C +10 -13 \
src/models/kresinglecolumnproxymodel.h [from: src/models/kreallingredientsmodels.h - \
066% similarity]
http://commits.kde.org/krecipes/806f46cea7b44689a591ae13494359871b19c99a
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b104aa1..b133f0a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -41,6 +41,7 @@ qt4_add_dbus_adaptor(krecipesdbs_SRCS \
backends/org.kde.krecipesdb.xml recipedb.h
set(krecipesmodels_SRCS
models/kreallingredientsmodels.cpp
+ models/kresinglecolumnproxymodel.cpp
)
############ importers ###############
diff --git a/src/models/kreallingredientsmodels.cpp \
b/src/models/kreallingredientsmodels.cpp index 1da6a5e..3ef16ac 100644
--- a/src/models/kreallingredientsmodels.cpp
+++ b/src/models/kreallingredientsmodels.cpp
@@ -9,16 +9,26 @@
#include "kreallingredientsmodels.h"
+#include "kresinglecolumnproxymodel.h"
+
#include <QStandardItemModel>
KreAllIngredientsModels::KreAllIngredientsModels( RecipeDB * database ):
m_database( database )
{
- m_sourceModel = new QStandardItemModel( this );
+ m_sourceModel = new QStandardItemModel;
+ m_ingredientNameModel = new KreSingleColumnProxyModel( 1 );
+ m_ingredientNameModel->setSortCaseSensitivity( Qt::CaseInsensitive );
+ m_ingredientNameModel->setSourceModel( m_sourceModel );
}
QStandardItemModel * KreAllIngredientsModels::sourceModel()
{
return m_sourceModel;
}
+
+KreSingleColumnProxyModel * KreAllIngredientsModels::ingredientNameModel()
+{
+ return m_ingredientNameModel;
+}
diff --git a/src/models/kreallingredientsmodels.h \
b/src/models/kreallingredientsmodels.h index 52cf264..1a0f7b9 100644
--- a/src/models/kreallingredientsmodels.h
+++ b/src/models/kreallingredientsmodels.h
@@ -13,6 +13,7 @@
#include <QObject>
class RecipeDB;
+class KreSingleColumnProxyModel;
class QStandardItemModel;
class KreAllIngredientsModels: public QObject {
@@ -22,10 +23,12 @@ public:
KreAllIngredientsModels( RecipeDB * database );
QStandardItemModel * sourceModel();
+ KreSingleColumnProxyModel * ingredientNameModel();
private:
RecipeDB * m_database;
QStandardItemModel * m_sourceModel;
+ KreSingleColumnProxyModel * m_ingredientNameModel;
};
diff --git a/src/models/kreallingredientsmodels.cpp \
b/src/models/kresinglecolumnproxymodel.cpp similarity index 58%
copy from src/models/kreallingredientsmodels.cpp
copy to src/models/kresinglecolumnproxymodel.cpp
index 1da6a5e..c28ef35 100644
--- a/src/models/kreallingredientsmodels.cpp
+++ b/src/models/kresinglecolumnproxymodel.cpp
@@ -7,18 +7,21 @@
* (at your option) any later version. *
****************************************************************************/
-#include "kreallingredientsmodels.h"
+#include "kresinglecolumnproxymodel.h"
-#include <QStandardItemModel>
-
-
-KreAllIngredientsModels::KreAllIngredientsModels( RecipeDB * database ):
- m_database( database )
+KreSingleColumnProxyModel::KreSingleColumnProxyModel( int column ):
+ QSortFilterProxyModel( 0 ),
+ m_acceptedColumn( column )
{
- m_sourceModel = new QStandardItemModel( this );
}
-QStandardItemModel * KreAllIngredientsModels::sourceModel()
+bool KreSingleColumnProxyModel::filterAcceptsColumn( int source_column,
+ const QModelIndex& source_parent ) const
{
- return m_sourceModel;
+ if ( source_column == m_acceptedColumn ) {
+ return QSortFilterProxyModel::filterAcceptsColumn(
+ source_column, source_parent );
+ } else {
+ return false;
+ }
}
diff --git a/src/models/kreallingredientsmodels.h \
b/src/models/kresinglecolumnproxymodel.h similarity index 66%
copy from src/models/kreallingredientsmodels.h
copy to src/models/kresinglecolumnproxymodel.h
index 52cf264..fdeffa5 100644
--- a/src/models/kreallingredientsmodels.h
+++ b/src/models/kresinglecolumnproxymodel.h
@@ -7,26 +7,23 @@
* (at your option) any later version. *
****************************************************************************/
-#ifndef KREALLINGREDIENTSMODELS_H
-#define KREALLINGREDIENTSMODELS_H
+#ifndef KRESINGLECOLUMNMODEL_H
+#define KRESINGLECOLUMNMODEL_H
-#include <QObject>
+#include <QSortFilterProxyModel>
-class RecipeDB;
-class QStandardItemModel;
-
-class KreAllIngredientsModels: public QObject {
+class KreSingleColumnProxyModel: public QSortFilterProxyModel {
Q_OBJECT
public:
- KreAllIngredientsModels( RecipeDB * database );
+ KreSingleColumnProxyModel( int column );
+
+protected:
+ bool filterAcceptsColumn( int source_column,
+ const QModelIndex& source_parent ) const;
- QStandardItemModel * sourceModel();
+ int m_acceptedColumn;
-private:
- RecipeDB * m_database;
- QStandardItemModel * m_sourceModel;
-
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic