annotate src/includeemptysortmodel.cpp @ 88:3916cb3c9105

Add new FilterSort model that allows to include empty values
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 19 Jun 2015 14:26:16 +0200
parents
children
rev   line source
88
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2015 by ETH Zürich
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
3 *
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=2)
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY!
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
6 * See LICENSE.txt for details.
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
7 */
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8 #include "includeemptysortmodel.h"
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
9
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
10 bool IncludeEmptySortModel::filterAcceptsRow(int row, const QModelIndex &parent) const
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11 {
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12 bool parentAcceptsRow = QSortFilterProxyModel::filterAcceptsRow(row, parent);
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13 if (!mIncludeEmpty || parentAcceptsRow) {
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
14 return parentAcceptsRow;
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
15 }
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
16
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
17 QModelIndex source_index = sourceModel()->index(row, filterKeyColumn(), parent);
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 if (!source_index.isValid()) // the column may not exist
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19 return true;
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20 QString key = sourceModel()->data(source_index).toString();
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
21 return key.isEmpty();
3916cb3c9105 Add new FilterSort model that allows to include empty values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
22 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)