本文整理汇总了C++中QCString::left方法的典型用法代码示例。如果您正苦于以下问题:C++ QCString::left方法的具体用法?C++ QCString::left怎么用?C++ QCString::left使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QCString
的用法示例。
在下文中一共展示了QCString::left方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadAddressee
bool VCardFormatImpl::loadAddressee( Addressee& addressee, VCARD::VCard &v )
{
QPtrList<ContentLine> contentLines = v.contentLineList();
ContentLine *cl;
for( cl = contentLines.first(); cl; cl = contentLines.next() ) {
QCString n = cl->name();
if ( n.left( 2 ) == "X-" ) {
n = n.mid( 2 );
int posDash = n.find( "-" );
addressee.insertCustom( QString::fromUtf8( n.left( posDash ) ),
QString::fromUtf8( n.mid( posDash + 1 ) ),
QString::fromUtf8( cl->value()->asString() ) );
continue;
}
EntityType type = cl->entityType();
switch( type ) {
case EntityUID:
addressee.setUid( readTextValue( cl ) );
break;
case EntityEmail:
addressee.insertEmail( readTextValue( cl ) );
break;
case EntityName:
addressee.setName( readTextValue( cl ) );
break;
case EntityFullName:
addressee.setFormattedName( readTextValue( cl ) );
break;
case EntityURL:
addressee.setUrl( KURL( readTextValue( cl ) ) );
break;
case EntityNickname:
addressee.setNickName( readTextValue( cl ) );
break;
case EntityLabel:
// not yet supported by kabc
break;
case EntityMailer:
addressee.setMailer( readTextValue( cl ) );
break;
case EntityTitle:
addressee.setTitle( readTextValue( cl ) );
break;
case EntityRole:
addressee.setRole( readTextValue( cl ) );
break;
case EntityOrganisation:
addressee.setOrganization( readTextValue( cl ) );
break;
case EntityNote:
addressee.setNote( readTextValue( cl ) );
break;
case EntityProductID:
addressee.setProductId( readTextValue( cl ) );
break;
case EntitySortString:
addressee.setSortString( readTextValue( cl ) );
break;
case EntityN:
readNValue( cl, addressee );
break;
case EntityAddress:
addressee.insertAddress( readAddressValue( cl ) );
break;
case EntityTelephone:
addressee.insertPhoneNumber( readTelephoneValue( cl ) );
break;
case EntityCategories:
addressee.setCategories( QStringList::split( ",", readTextValue( cl ) ) );
break;
case EntityBirthday:
addressee.setBirthday( readDateValue( cl ) );
break;
case EntityRevision:
addressee.setRevision( readDateTimeValue( cl ) );
break;
case EntityGeo:
//.........这里部分代码省略.........
示例2: parse
//.........这里部分代码省略.........
utf8 = FALSE;
yyTok = getToken();
if ( match(Tok_LeftParen) &&
matchString(&context) &&
match(Tok_Comma) &&
matchString(&text) ) {
com = "";
if ( match(Tok_RightParen) ||
(match(Tok_Comma) &&
matchString(&com) &&
(match(Tok_RightParen) ||
match(Tok_Comma) &&
matchEncoding(&utf8) &&
match(Tok_RightParen))) )
tor->insert( MetaTranslatorMessage(context, text, com,
QString::null, utf8) );
}
break;
case Tok_Q_OBJECT:
missing_Q_OBJECT = FALSE;
yyTok = getToken();
break;
case Tok_Ident:
if ( !prefix.isNull() )
prefix += "::";
prefix += yyIdent;
yyTok = getToken();
if ( yyTok != Tok_Gulbrandsen )
prefix = (const char *) 0;
break;
case Tok_Comment:
com = yyComment;
com = com.simplifyWhiteSpace();
if ( com.left(sizeof(MagicComment) - 1) == MagicComment ) {
com.remove( 0, sizeof(MagicComment) - 1 );
int k = com.find( ' ' );
if ( k == -1 ) {
context = com;
} else {
context = com.left( k );
com.remove( 0, k + 1 );
tor->insert( MetaTranslatorMessage(context, "", com,
QString::null, FALSE) );
}
/*
Provide a backdoor for people using "using
namespace". See the manual for details.
*/
k = 0;
while ( (k = context.find("::", k)) != -1 ) {
qualifiedContexts.insert( context.mid(k + 2), context );
k++;
}
}
yyTok = getToken();
break;
case Tok_Arrow:
yyTok = getToken();
if ( yyTok == Tok_tr || yyTok == Tok_trUtf8 )
qWarning( "%s:%d: Cannot invoke tr() like this",
(const char *) yyFileName, yyLineNo );
break;
case Tok_Gulbrandsen:
// at top level?
if ( yyBraceDepth == (int) namespaces.count() && yyParenDepth == 0 )
示例3: file_path
QCString UmlPackage::file_path(const QCString & f) {
if (!dir.read) {
dir.file = javaDir();
if (! RootDirRead) {
RootDirRead = TRUE;
RootDir = JavaSettings::rootDir();
if (!RootDir.isEmpty() && // empty -> error
QDir::isRelativePath(RootDir)) {
QFileInfo f(getProject()->supportFile());
QDir d(f.dirPath());
RootDir = d.filePath(RootDir);
}
}
QDir d_root(RootDir);
if (dir.file.isEmpty())
dir.file = RootDir;
else if (QDir::isRelativePath(dir.file))
dir.file = d_root.filePath(dir.file);
if (dir.file.isEmpty()) {
UmlCom::trace(QCString("<font color=\"red\"><b><b> The generation directory "
"must be specified for the package<i> ") + name()
+ "</i>, edit the <i> generation settings</i> (tab 'directory') "
"or edit the package (tab 'Java')</b></font><br>");
UmlCom::bye(n_errors() + 1);
UmlCom::fatal_error("UmlPackage::file_path");
}
dir.read = TRUE;
}
QDir d(dir.file);
if (! d.exists()) {
// create directory including the intermediates
QCString s = dir.file;
int index = 0;
char sep = QDir::separator();
if (sep != '/') {
while ((index = s.find(sep, index)) != -1)
s.replace(index++, 1, "/");
}
s = QDir::cleanDirPath(s) + "/";
index = s.find("/");
int index2;
while ((index2 = s.find("/", index + 1)) != -1) {
QCString s2 = s.left(index2);
QDir sd(s2);
if (!sd.exists()) {
if (!sd.mkdir(s2)) {
UmlCom::trace(QCString("<font color=\"red\"><b> cannot create directory <i>")
+ s2 + "</i></b></font><br>");
UmlCom::bye(n_errors() + 1);
UmlCom::fatal_error("UmlPackage::file_path");
}
}
index = index2;
}
}
return QCString(d.filePath(f)) + QCString(".") +
JavaSettings::sourceExtension();
}
示例4: translate
QString MIMECodec::translate(const QCString &name)
{
QString output;
if (!name.isEmpty()) {
int begin = -1, end = -1, pos = -1;
QCString translated_name(name);
QCString charset, encoding;
QCString token;
bool sem(true);
while (sem) {
begin = translated_name.find("=?", 0);
if (begin != -1)
end = translated_name.find("?=", begin + 2);
else
end = -1;
if (end != -1) {
output += QString::fromAscii(translated_name.left(begin));
token = translated_name.mid(begin + 2, end - begin - 2);
pos = token.find('?');
charset = token.left(pos);
token.remove(0, pos + 1);
pos = token.find('?');
encoding = token.left(pos);
token.remove(0, pos + 1);
encoding = encoding.upper();
if (encoding == "Q") {
encoding = "quoted-printable";
} else if (encoding == "B") {
encoding = "base64";
} else {
encoding = "none";
}
token = decode(token, encoding);
QTextCodec *codec = QTextCodec::codecForName(charset);
if (codec) {
output += codec->toUnicode(token);
} else {
if (charset.lower() == "utf-8") {
output += QString::fromUtf8(token);
} else if (charset.lower() == "us-ascii") {
output += QString::fromAscii(token);
}
// just use something
else {
qDebug("Warning: could not find textcodec for %s.", (const char *)charset);
output += QString::fromLatin1(token);
}
}
translated_name = translated_name.mid(end + 2);
} else {
output += QString::fromAscii(translated_name);
sem = false;
}
}
}
return output;
}
示例5: text_path
QCString UmlPackage::text_path(const QCString & f) {
QCString r = file_path(f);
return r.left(r.length() - 1 - JavaSettings::sourceExtension().length());
}