LangValue.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <VCardRToken.h>
00025
00026 #include <VCardLangValue.h>
00027
00028 #include <VCardValue.h>
00029
00030 using namespace VCARD;
00031
00032 LangValue::LangValue()
00033 : Value()
00034 {
00035 }
00036
00037 LangValue::LangValue(const LangValue & x)
00038 : Value(x)
00039 {
00040 }
00041
00042 LangValue::LangValue(const QCString & s)
00043 : Value(s)
00044 {
00045 }
00046
00047 LangValue &
00048 LangValue::operator = (LangValue & x)
00049 {
00050 if (*this == x) return *this;
00051
00052 Value::operator = (x);
00053 return *this;
00054 }
00055
00056 LangValue &
00057 LangValue::operator = (const QCString & s)
00058 {
00059 Value::operator = (s);
00060 return *this;
00061 }
00062
00063 bool
00064 LangValue::operator == (LangValue & x)
00065 {
00066 x.parse();
00067 return false;
00068 }
00069
00070 LangValue::~LangValue()
00071 {
00072 }
00073
00074 void
00075 LangValue::_parse()
00076 {
00077 QStrList l;
00078 RTokenise(strRep_, "-", l);
00079
00080 if (l.count() == 0) return;
00081
00082 primary_ = l.at(0);
00083
00084 l.remove(0u);
00085
00086 subtags_ = l;
00087 }
00088
00089 void
00090 LangValue::_assemble()
00091 {
00092 strRep_ = primary_;
00093
00094 QStrListIterator it(subtags_);
00095
00096 for (; it.current(); ++it)
00097 strRep_ += QCString('-') + it.current();
00098 }
00099
00100 QCString
00101 LangValue::primary()
00102 {
00103 parse();
00104 return primary_;
00105 }
00106
00107 QStrList
00108 LangValue::subtags()
00109 {
00110 parse();
00111 return subtags_;
00112 }
00113
00114 void
00115 LangValue::setPrimary(const QCString & s)
00116 {
00117 parse();
00118 primary_ = s;
00119 }
00120
00121 void
00122 LangValue::setSubTags(const QStrList & l)
00123 {
00124 parse();
00125 subtags_ = l;
00126 }
00127
This file is part of the documentation for kdelibs Version 3.1.5.