diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2014-03-03 13:46:44 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2014-03-03 13:46:44 +0100 |
commit | 2e02da046d3e56cdf4744f644af35ad07424f48b (patch) | |
tree | f2dcf353aa2338eae1c2ff2c41af971c580c2762 /src/listviewcomparison.cpp | |
parent | 3c13229d98167ae4ae0710d5eeef23fef5005bf0 (diff) | |
download | tellico-2e02da046d3e56cdf4744f644af35ad07424f48b.tar.gz tellico-2e02da046d3e56cdf4744f644af35ad07424f48b.zip |
Update to upstream version 1.3.6
Diffstat (limited to 'src/listviewcomparison.cpp')
-rw-r--r-- | src/listviewcomparison.cpp | 10 |
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); +} |