• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs 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-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:47:12 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



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