summaryrefslogtreecommitdiff
path: root/saltoqd/cardmanager.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2015-04-01 03:36:17 +0200
committerJavier <dev.git@javispedro.com>2015-04-01 03:36:17 +0200
commitdd1fc613da7ffa9039495f6c3fe466feae074019 (patch)
treec802edf10660d391c8ddeb0d8e852301ac84da80 /saltoqd/cardmanager.cpp
parentebc496d4e8038834e68ef2069bc53a0524da2008 (diff)
downloadsaltoq-dd1fc613da7ffa9039495f6c3fe466feae074019.tar.gz
saltoq-dd1fc613da7ffa9039495f6c3fe466feae074019.zip
escape notification text
Diffstat (limited to 'saltoqd/cardmanager.cpp')
-rw-r--r--saltoqd/cardmanager.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/saltoqd/cardmanager.cpp b/saltoqd/cardmanager.cpp
index 7465cc4..ab3a0bc 100644
--- a/saltoqd/cardmanager.cpp
+++ b/saltoqd/cardmanager.cpp
@@ -274,28 +274,37 @@ void CardManager::uninstallDeck(CardDeck *deck)
disconnect(deck, 0, this, 0);
}
+QString CardManager::escapeString(const QString &s)
+{
+ QString e(s);
+ e.replace('\\', "\\\\");
+ e.replace('\n', "\\n");
+ e.replace('"', "\\\"");
+ return e;
+}
+
QString CardManager::generateCardDescription(const QString &verb, Card *card) const
{
QString desc = verb + " { ";
desc += QString("id = \"%1\", ").arg(card->id());
desc += QString("version = 2, cardevents = \"true\", ");
if (!card->header().isEmpty()) {
- desc += QString("header = \"%1\", ").arg(card->header());
+ desc += QString("header = \"%1\", ").arg(escapeString(card->header()));
}
if (!card->title().isEmpty()) {
- desc += QString("title = \"%1\", ").arg(card->title());
+ desc += QString("title = \"%1\", ").arg(escapeString(card->title()));
}
if (card->dateTime().isValid()) {
desc += QString("time = \"%1\", ").arg(card->dateTime().toMSecsSinceEpoch());
}
if (!card->info().isEmpty()) {
- desc += QString("info = \"%1\", ").arg(card->info());
+ desc += QString("info = \"%1\", ").arg(escapeString(card->info()));
}
if (!card->isVibrate()) {
desc += QString("suppressvibe = \"true\", ");
}
if (!card->text().isEmpty()) {
- desc += QString("detail = { \"%1\" }").arg(card->text());
+ desc += QString("detail = { \"%1\" }").arg(escapeString(card->text()));
}
desc += QString("}\n");
return desc;