| 140 | | switch(field) |
| 141 | | { |
| 142 | | case CAdbkAddress::eName: |
| 143 | | result = GetName().PatternMatch(text); |
| 144 | | break; |
| 145 | | case CAdbkAddress::eNickName: |
| 146 | | result = GetADL().PatternMatch(text); |
| 147 | | break; |
| 148 | | case CAdbkAddress::eEmail: |
| 149 | | result = GetMailAddress().PatternMatch(text); |
| 150 | | if (!result) |
| 151 | | { |
| 152 | | for(emailmap::const_iterator iter = GetEmails().begin(); !result && (iter != GetEmails().end()); iter++) |
| | 140 | for(CAddressFields::const_iterator iter = fields.begin(); iter != fields.end(); iter++) |
| | 141 | { |
| | 142 | switch(*iter) |
| | 143 | { |
| | 144 | case CAdbkAddress::eName: |
| | 145 | result = GetName().PatternMatch(text); |
| | 146 | break; |
| | 147 | case CAdbkAddress::eNickName: |
| | 148 | result = GetADL().PatternMatch(text); |
| | 149 | break; |
| | 150 | case CAdbkAddress::eEmail: |
| | 151 | result = GetMailAddress().PatternMatch(text); |
| | 152 | if (!result) |
| | 153 | { |
| | 154 | for(emailmap::const_iterator iter = GetEmails().begin(); !result && (iter != GetEmails().end()); iter++) |
| | 155 | result = (*iter).second.PatternMatch(text); |
| | 156 | } |
| | 157 | break; |
| | 158 | case CAdbkAddress::eCalendar: |
| | 159 | result = GetCalendar().PatternMatch(text); |
| | 160 | break; |
| | 161 | case CAdbkAddress::eCompany: |
| | 162 | result = GetCompany().PatternMatch(text); |
| | 163 | break; |
| | 164 | case CAdbkAddress::eAddress: |
| | 165 | for(addrmap::const_iterator iter = GetAddresses().begin(); !result && (iter != GetAddresses().end()); iter++) |
| 154 | | } |
| 155 | | break; |
| 156 | | case CAdbkAddress::eCalendar: |
| 157 | | result = GetCalendar().PatternMatch(text); |
| 158 | | break; |
| 159 | | case CAdbkAddress::eCompany: |
| 160 | | result = GetCompany().PatternMatch(text); |
| 161 | | break; |
| 162 | | case CAdbkAddress::eAddress: |
| 163 | | for(addrmap::const_iterator iter = GetAddresses().begin(); !result && (iter != GetAddresses().end()); iter++) |
| 164 | | result = (*iter).second.PatternMatch(text); |
| 165 | | break; |
| 166 | | case CAdbkAddress::ePhoneWork: |
| 167 | | result = GetPhone(eWorkPhoneType).PatternMatch(text); |
| 168 | | break; |
| 169 | | case CAdbkAddress::ePhoneHome: |
| 170 | | result = GetPhone(eHomePhoneType).PatternMatch(text); |
| 171 | | break; |
| 172 | | case CAdbkAddress::eFax: |
| 173 | | result = GetPhone(eFaxType).PatternMatch(text) || |
| 174 | | GetPhone(eHomeFaxType).PatternMatch(text) || |
| 175 | | GetPhone(eWorkFaxType).PatternMatch(text); |
| 176 | | break; |
| 177 | | case CAdbkAddress::eURL: |
| 178 | | result = GetURL().PatternMatch(text); |
| 179 | | break; |
| 180 | | case CAdbkAddress::eNotes: |
| 181 | | result = GetNotes().PatternMatch(text); |
| 182 | | break; |
| 183 | | default:; |
| 184 | | } |
| 185 | | |
| | 167 | break; |
| | 168 | case CAdbkAddress::ePhoneWork: |
| | 169 | result = GetPhone(eWorkPhoneType).PatternMatch(text); |
| | 170 | break; |
| | 171 | case CAdbkAddress::ePhoneHome: |
| | 172 | result = GetPhone(eHomePhoneType).PatternMatch(text); |
| | 173 | break; |
| | 174 | case CAdbkAddress::eFax: |
| | 175 | result = GetPhone(eFaxType).PatternMatch(text) || |
| | 176 | GetPhone(eHomeFaxType).PatternMatch(text) || |
| | 177 | GetPhone(eWorkFaxType).PatternMatch(text); |
| | 178 | break; |
| | 179 | case CAdbkAddress::eURL: |
| | 180 | result = GetURL().PatternMatch(text); |
| | 181 | break; |
| | 182 | case CAdbkAddress::eNotes: |
| | 183 | result = GetNotes().PatternMatch(text); |
| | 184 | break; |
| | 185 | default:; |
| | 186 | } |
| | 187 | |
| | 188 | if (result) |
| | 189 | break; |
| | 190 | } |
| | 191 | |