summaryrefslogtreecommitdiffstats
path: root/src/listviewcomparison.cpp
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2014-03-03 13:46:44 +0100
committerSlávek Banko <slavek.banko@axis.cz>2014-03-03 13:46:44 +0100
commit2e02da046d3e56cdf4744f644af35ad07424f48b (patch)
treef2dcf353aa2338eae1c2ff2c41af971c580c2762 /src/listviewcomparison.cpp
parent3c13229d98167ae4ae0710d5eeef23fef5005bf0 (diff)
downloadtellico-2e02da046d3e56cdf4744f644af35ad07424f48b.tar.gz
tellico-2e02da046d3e56cdf4744f644af35ad07424f48b.zip
Update to upstream version 1.3.6
Diffstat (limited to 'src/listviewcomparison.cpp')
-rw-r--r--src/listviewcomparison.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/listviewcomparison.cpp b/src/listviewcomparison.cpp
index b78de94..c03d402 100644
--- a/src/listviewcomparison.cpp
+++ b/src/listviewcomparison.cpp
@@ -48,6 +48,8 @@ Tellico::ListViewComparison* Tellico::ListViewComparison::create(Data::ConstFiel
return new DependentComparison(field_);
} else if(field_->type() == Data::Field::Date || field_->formatFlag() == Data::Field::FormatDate) {
return new ISODateComparison(field_);
+ } else if(field_->type() == Data::Field::Choice) {
+ return new ChoiceComparison(field_);
} else if(field_->formatFlag() == Data::Field::FormatTitle) {
// Dependent could be title, so put this test after
return new TitleComparison(field_);
@@ -277,3 +279,11 @@ int Tellico::ISODateComparison::compare(const TQString& str1, const TQString& st
}
return 0;
}
+
+Tellico::ChoiceComparison::ChoiceComparison(Data::ConstFieldPtr field) : ListViewComparison(field) {
+ m_values = field->allowed();
+}
+
+int Tellico::ChoiceComparison::compare(const TQString& str1, const TQString& str2) {
+ return m_values.findIndex(str1) - m_values.findIndex(str2);
+}