BContactField::BContactField(field_type type, bool autoLabel) : fType(type), fUsage(-1) { if (autoLabel) fLabel = SimpleLabel(type); }
// this is used to load a label that explains field usage const char* BContactField::ExtendedLabel(BContactField* field) { field_type type = field->FieldType(); BString label = SimpleLabel(type); for (int i = 0; i < field->CountUsages(); i++) { field_usage usage = field->GetUsage(i); _UpdateLabel(usage, label); } return label.String(); }
// this is used to load a label that explains field usage const char* BContactField::ExtendedLabel(field_type type, field_usage usage) { BString label = SimpleLabel(type); switch (usage) { case CONTACT_DATA_HOME: label.Prepend("Home "); break; case CONTACT_DATA_WORK: label.Prepend("Work "); break; case CONTACT_DATA_CUSTOM: label.Prepend("Custom "); break; case CONTACT_DATA_OTHER: label.Prepend("Other "); break; case CONTACT_NAME_FAMILY: label.Prepend("Family "); break; case CONTACT_NAME_GIVEN: label.Prepend("Given "); break; case CONTACT_NAME_MIDDLE: label.Prepend("Middle "); break; case CONTACT_NAME_SUFFIX: label.SetTo("Name Suffix"); break; case CONTACT_NICKNAME_DEFAULT: label.SetTo("Preferred Nickname"); break; case CONTACT_NICKNAME_MAIDEN: label.SetTo("Maiden Nickname"); break; case CONTACT_NICKNAME_SHORT_NAME: label.SetTo("Short Name Nickname"); break; case CONTACT_NICKNAME_INITIALS: label.SetTo("Nickname Initials"); break; case CONTACT_EMAIL_MOBILE: label.SetTo("Mobile email"); break; case CONTACT_PHONE_MOBILE: label.SetTo("Mobile Phone"); break; case CONTACT_PHONE_FAX_WORK: label.SetTo("Work Fax"); break; case CONTACT_PHONE_FAX_HOME: label.SetTo("Home Fax"); break; case CONTACT_PHONE_PAGER: label.SetTo("Phone (pager)"); break; case CONTACT_PHONE_CALLBACK: label.SetTo("Phone (callback)"); break; case CONTACT_PHONE_CAR: label.SetTo("Phone (car)"); break; case CONTACT_PHONE_ORG_MAIN: label.SetTo("Main Phone (org)"); break; case CONTACT_PHONE_ISDN: label.SetTo("Phone ISDN"); break; case CONTACT_PHONE_MAIN: label.SetTo("Main Phone"); break; case CONTACT_PHONE_RADIO: label.SetTo("Phone (radio)"); break; case CONTACT_PHONE_TELEX: label.SetTo("Phone (telex)"); break; case CONTACT_PHONE_TTY_TDD: label.SetTo("Phone (tty/tdd)"); break; case CONTACT_PHONE_WORK_MOBILE: label.SetTo("Work Mobile Phone"); break; case CONTACT_PHONE_WORK_PAGER: label.SetTo("Work Phone (pager)"); break; case CONTACT_PHONE_ASSISTANT: label.SetTo("Phone Assistant"); break; case CONTACT_PHONE_MMS: label.SetTo("MMS Phone"); break; } return label.String(); }