• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.10.5 API Reference
  • KDE Home
  • Contact Us
 

KDECore

Enumerations | Functions
KMacroExpander Namespace Reference

Enumerations

enum  Quoting {
  noquote, singlequote, doublequote, dollarquote,
  paren, subst, group, math
}

Functions

QString expandMacros (const QString &str, const QHash< QChar, QString > &map, QChar c=QLatin1Char('%'))
QString expandMacros (const QString &str, const QHash< QString, QString > &map, QChar c=QLatin1Char('%'))
QString expandMacros (const QString &str, const QHash< QChar, QStringList > &map, QChar c=QLatin1Char('%'))
QString expandMacros (const QString &ostr, const QHash< QString, QStringList > &map, QChar c)
QString expandMacrosShellQuote (const QString &str, const QHash< QChar, QString > &map, QChar c=QLatin1Char('%'))
QString expandMacrosShellQuote (const QString &str, const QHash< QString, QString > &map, QChar c=QLatin1Char('%'))
QString expandMacrosShellQuote (const QString &str, const QHash< QChar, QStringList > &map, QChar c=QLatin1Char('%'))
QString expandMacrosShellQuote (const QString &ostr, const QHash< QString, QStringList > &map, QChar c)

Detailed Description

A group of functions providing macro expansion (substitution) in strings, optionally with quoting appropriate for shell execution.


Enumeration Type Documentation

enum KMacroExpander::Quoting
Enumerator:
noquote 
singlequote 
doublequote 
dollarquote 
paren 
subst 
group 
math 

Definition at line 33 of file kmacroexpander_unix.cpp.


Function Documentation

QString KMacroExpander::expandMacros ( const QString &  str,
const QHash< QChar, QString > &  map,
QChar  c = QLatin1Char('%') 
)

Perform safe macro expansion (substitution) on a string.

The escape char must be quoted with itself to obtain its literal representation in the resulting string.

Parameters:
strThe string to expand
mapmap with substitutions
cescape char indicating start of macro, or QChar::null if none
Returns:
the string with all valid macros expanded
// Code example
QHash<QChar,QString> map;
map.insert('u', "/tmp/myfile.txt");
map.insert('n', "My File");
QString s = "%% Title: %u:%n";
s = KMacroExpander::expandMacros(s, map);
// s is now "% Title: /tmp/myfile.txt:My File";

Definition at line 340 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacros ( const QString &  str,
const QHash< QString, QString > &  map,
QChar  c = QLatin1Char('%') 
)

Perform safe macro expansion (substitution) on a string.

The escape char must be quoted with itself to obtain its literal representation in the resulting string. Macro names can consist of chars in the range [A-Za-z0-9_]; use braces to delimit macros from following words starting with these chars, or to use other chars for macro names.

Parameters:
strThe string to expand
mapmap with substitutions
cescape char indicating start of macro, or QChar::null if none
Returns:
the string with all valid macros expanded
// Code example
QHash<QString,QString> map;
map.insert("url", "/tmp/myfile.txt");
map.insert("name", "My File");
QString s = "Title: %{url}-%name";
s = KMacroExpander::expandMacros(s, map);
// s is now "Title: /tmp/myfile.txt-My File";

Definition at line 344 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacros ( const QString &  ostr,
const QHash< QChar, QStringList > &  map,
QChar  c 
)

Same as above, except that the macros expand to string lists that are simply join(" ")ed together.

Definition at line 348 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacros ( const QString &  ostr,
const QHash< QString, QStringList > &  map,
QChar  c 
)

Definition at line 352 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacrosShellQuote ( const QString &  str,
const QHash< QChar, QString > &  map,
QChar  c = QLatin1Char('%') 
)

Perform safe macro expansion (substitution) on a string for use in shell commands.

The escape char must be quoted with itself to obtain its literal representation in the resulting string.

Parameters:
strThe string to expand
mapmap with substitutions
cescape char indicating start of macro, or QChar::null if none
Returns:
the string with all valid macros expanded, or a null string if a shell syntax error was detected in the command
// Code example
QHash<QChar,QString> map;
map.insert('u', "/tmp/myfile.txt");
map.insert('n', "My File");
QString s = "kedit --caption %n %u";
s = KMacroExpander::expandMacrosShellQuote(s, map);
// s is now "kedit --caption 'My File' '/tmp/myfile.txt'";
system(QFile::encodeName(s));

Definition at line 342 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacrosShellQuote ( const QString &  str,
const QHash< QString, QString > &  map,
QChar  c = QLatin1Char('%') 
)

Perform safe macro expansion (substitution) on a string for use in shell commands.

See KMacroExpanderBase::expandMacrosShellQuote() for the exact semantics. The escape char must be quoted with itself to obtain its literal representation in the resulting string. Macro names can consist of chars in the range [A-Za-z0-9_]; use braces to delimit macros from following words starting with these chars, or to use other chars for macro names.

Parameters:
strThe string to expand
mapmap with substitutions
cescape char indicating start of macro, or QChar::null if none
Returns:
the string with all valid macros expanded, or a null string if a shell syntax error was detected in the command
// Code example
QHash<QString,QString> map;
map.insert("url", "/tmp/myfile.txt");
map.insert("name", "My File");
QString s = "kedit --caption %name %{url}";
s = KMacroExpander::expandMacrosShellQuote(s, map);
// s is now "kedit --caption 'My File' '/tmp/myfile.txt'";
system(QFile::encodeName(s));

Definition at line 346 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacrosShellQuote ( const QString &  str,
const QHash< QChar, QStringList > &  map,
QChar  c = QLatin1Char('%') 
)

Same as above, except that the macros expand to string lists.

If the macro appears inside a quoted string, the list is simply join(" ")ed together; otherwise every element expands to a separate quoted string.

Definition at line 350 of file kmacroexpander.cpp.

QString KMacroExpander::expandMacrosShellQuote ( const QString &  ostr,
const QHash< QString, QStringList > &  map,
QChar  c 
)

Definition at line 354 of file kmacroexpander.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Jul 23 2013 21:57:04 by doxygen 1.8.1.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs-4.10.5 API Reference

Skip menu "kdelibs-4.10.5 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal