[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [simon/nldm-dev] /: deleting turns & serialization of turns
From: Eddie Saenz <saenzeddie5 () gmail ! com>
Date: 2014-03-29 3:00:51
Message-ID: E1WTjVr-0006Fb-S6 () scm ! kde ! org
[Download RAW message or body]
Git commit 41309cd42940b77d1613aaae984b2515f86ad939 by Eddie Saenz.
Committed on 29/03/2014 at 01:14.
Pushed by eddiesaenz into branch 'nldm-dev'.
deleting turns & serialization of turns
M +18 -14 plugins/Commands/Dialog/dialogconfiguration.cpp
M +1 -0 plugins/Commands/Dialog/dialogconfiguration.h
M +20 -5 plugins/Commands/Dialog/turnconfiguration.cpp
M +5 -1 plugins/Commands/Dialog/turncreateeditview.ui
M +23 -72 simonlib/simondialogengine/dialogstate.cpp
M +1 -0 simonlib/simondialogengine/dialogstate.h
http://commits.kde.org/simon/41309cd42940b77d1613aaae984b2515f86ad939
diff --git a/plugins/Commands/Dialog/dialogconfiguration.cpp \
b/plugins/Commands/Dialog/dialogconfiguration.cpp index 662d477..cdb560e 100644
--- a/plugins/Commands/Dialog/dialogconfiguration.cpp
+++ b/plugins/Commands/Dialog/dialogconfiguration.cpp
@@ -78,8 +78,6 @@ DialogConfiguration::DialogConfiguration(DialogCommandManager* \
_commandManager, connect(ui.pbMoveStateUp, SIGNAL(clicked()), this, \
SLOT(moveStateUp())); connect(ui.pbMoveStateDown, SIGNAL(clicked()), this, \
SLOT(moveStateDown()));
- // connect(ui.pbEditText, SIGNAL(clicked()), this, SLOT(editText()));
-
// connect(ui.cbSilence, SIGNAL(toggled(bool)), this, SLOT(textSilenceChanged()));
// connect(ui.cbAnnounceRepeat, SIGNAL(toggled(bool)), this, \
SLOT(textAnnounceRepeatChanged()));
@@ -124,6 +122,7 @@ DialogConfiguration::DialogConfiguration(DialogCommandManager* \
_commandManager,
connect(ui.pbAddTurn, SIGNAL(clicked()), this, SLOT(addTurn()));
connect(ui.pbEditTurn, SIGNAL(clicked()), this, SLOT(editTurn()));
+ connect(ui.pbRemoveTurn, SIGNAL(clicked()), this, SLOT(removeTurn()));
displayCurrentState();
}
@@ -180,6 +179,12 @@ void DialogConfiguration::editTurn()
displayCurrentState();
}
+void DialogConfiguration::removeTurn()
+{
+ getCurrentState()->removeTurn(ui.lwTurns->currentRow());
+ displayCurrentState();
+}
+
void DialogConfiguration::avatarSelected ( const QModelIndex& selected )
{
// if (!selected.isValid())
@@ -465,23 +470,22 @@ QDomElement DialogConfiguration::serialize(QDomDocument* doc)
bool DialogConfiguration::deSerialize(const QDomElement& elem)
{
- // if (!outputConfiguration->deSerialize(elem)) {
- // defaults();
- // kDebug() << "Setting defaults...";
- // return true;
- // }
+ if (!outputConfiguration->deSerialize(elem)) {
+ defaults();
+ kDebug() << "Setting defaults...";
+ return true;
+ }
- // if (!templateOptionsConfig->deSerialize(elem))
- // return false;
+ if (!templateOptionsConfig->deSerialize(elem))
+ return false;
- // if (!boundValuesConfig->deSerialize(elem))
- // return false;
+ if (!boundValuesConfig->deSerialize(elem))
+ return false;
- // if (!avatarsConfig->deSerialize(elem))
- // return false;
+ if (!avatarsConfig->deSerialize(elem))
+ return false;
// ui.lvStateAvatar->setModel(avatarsConfig->getModel());
- // return true;
return true;
}
diff --git a/plugins/Commands/Dialog/dialogconfiguration.h \
b/plugins/Commands/Dialog/dialogconfiguration.h index 9568a85..131ac1d 100644
--- a/plugins/Commands/Dialog/dialogconfiguration.h
+++ b/plugins/Commands/Dialog/dialogconfiguration.h
@@ -91,6 +91,7 @@ class DialogConfiguration : public CommandConfiguration
void addTurn();
void editTurn();
+ void removeTurn();
public slots:
void init();
diff --git a/plugins/Commands/Dialog/turnconfiguration.cpp \
b/plugins/Commands/Dialog/turnconfiguration.cpp index 07469ac..3fd3543 100644
--- a/plugins/Commands/Dialog/turnconfiguration.cpp
+++ b/plugins/Commands/Dialog/turnconfiguration.cpp
@@ -45,6 +45,8 @@ TurnConfiguration::TurnConfiguration(DialogTurn* _turn, QWidget* \
parent) : ui.setupUi(mainWidget());
connect(ui.pbAddPrompt, SIGNAL(clicked()), this, SLOT(addPrompt()));
+ connect(ui.pbEditPrompt, SIGNAL(clicked()), this, SLOT(editPrompt()));
+ connect(ui.sbPrompt, SIGNAL(valueChanged(int)), this, \
SLOT(displaySelectedText())); connect(this, SIGNAL(okClicked()), this, \
SLOT(save())); connect(this, SIGNAL(cancelClicked()), this, SLOT(forget()));
@@ -53,6 +55,9 @@ TurnConfiguration::TurnConfiguration(DialogTurn* _turn, QWidget* \
parent) :
void TurnConfiguration::displayCurrentTurn()
{
+ ui.leTurnName->setText(turn->getName());
+ //TODO: display distractors
+ displaySelectedText();
}
void TurnConfiguration::addPrompt()
@@ -65,7 +70,21 @@ void TurnConfiguration::addPrompt()
void TurnConfiguration::removePrompt()
{
- turn->removeText(0);
+ turn->removeText(ui.sbPrompt->value() - 1);
+ displaySelectedText();
+}
+
+void TurnConfiguration::editPrompt()
+{
+ bool ok;
+ QString text = KInputDialog::getMultiLineText(i18n("Text"), i18n("Enter the text \
to present to the user when this turn is entered:"), + \
turn->getRawText(ui.sbPrompt->value()-1), &ok); + if (!ok) return;
+
+ if (!turn->setRawText(ui.sbPrompt->value()-1, text))
+ KMessageBox::sorry(this, i18n("Failed to update turn text."));
+
+ displaySelectedText();
}
void TurnConfiguration::updateTextSelector()
@@ -94,10 +113,6 @@ void TurnConfiguration::save()
turn->rename(ui.leTurnName->displayText());
}
-void TurnConfiguration::editPrompt()
-{
-}
-
void TurnConfiguration::textSilenceChanged()
{
}
diff --git a/plugins/Commands/Dialog/turncreateeditview.ui \
b/plugins/Commands/Dialog/turncreateeditview.ui index a6ac0a4..c41c9ab 100644
--- a/plugins/Commands/Dialog/turncreateeditview.ui
+++ b/plugins/Commands/Dialog/turncreateeditview.ui
@@ -87,7 +87,11 @@
</layout>
</item>
<item>
- <widget class="KTextEdit" name="tePrompt"/>
+ <widget class="KTextEdit" name="tePrompt">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
</item>
<item>
<widget class="QGroupBox" name="gbExtractors">
diff --git a/simonlib/simondialogengine/dialogstate.cpp \
b/simonlib/simondialogengine/dialogstate.cpp index ee7b03c..c424c76 100644
--- a/simonlib/simondialogengine/dialogstate.cpp
+++ b/simonlib/simondialogengine/dialogstate.cpp
@@ -79,6 +79,13 @@ void DialogState::addTurn(DialogTurn* turn)
currentDialogTurn = turn;
}
+void DialogState::removeTurn(int index)
+{
+ DialogTurn* turn = m_turns[index];
+ m_turns.removeAll(turn);
+ delete turn;
+}
+
void DialogState::setTurn(DialogTurn* turn, int index)
{
DialogTurn* old = m_turns[index];
@@ -178,106 +185,50 @@ void DialogState::left()
bool DialogState::deSerialize(DialogTextParser *parser, const QDomElement& elem)
{
- return true;
- /*
if (elem.isNull()) return false;
m_name = elem.attribute("name");
m_parser = parser;
- //qDeleteAll(m_texts);
- //m_texts.clear();
-
qDeleteAll(m_turns);
m_turns.clear();
-
- QList m_texts = QList<DialogText*>();
- QList m_transitions = QList<DialogCommand*>();
-
- QDomElement text = elem.firstChildElement("text");
- do
- {
- m_texts << new DialogText(parser, text.text());
- text = text.nextSiblingElement("text");
- } while (!text.isNull());
-
- updateRandomTextSelection();
-
- QDomElement textOptions = elem.firstChildElement("textOptions");
- QDomElement textSilenceOption = textOptions.firstChildElement("silence");
- QDomElement textAnnounceRepeatOption = \
textOptions.firstChildElement("announceRepeat");
-
- m_silence = (textSilenceOption.text() == "1");
- m_announceRepeat = (textAnnounceRepeatOption.text() == "1");
-
- QDomElement avatarElem = elem.firstChildElement("avatar");
- m_displayAvatar = (avatarElem.attribute("enabled") == "1");
- m_avatarId = avatarElem.text().toInt();
- QDomElement transitions = elem.firstChildElement("transitions");
- QDomElement transition = transitions.firstChildElement("command");
+ QDomElement turns = elem.firstChildElement("turns");
+ QDomElement turn = turns.firstChildElement("turn");
- QList<DialogCommand*> commands;
- kDebug() << "Deserializing transition: setup";
- while (!transition.isNull())
+ kDebug() << "Deserializing turn: setup";
+ while (!turn.isNull())
{
- kDebug() << "Deserializing transition";
- DialogCommand *c = DialogCommand::createInstance(transition);
- if (c)
+ kDebug() << "Deserializing turn";
+ DialogTurn* t = DialogTurn::createInstance(parser, turn);
+ if (t)
{
- connect(c, SIGNAL(requestDialogState(int)), this, \
SIGNAL(requestDialogState(int)));
- connect(c, SIGNAL(changed()), this, SIGNAL(changed()));
- commands << c;
+ connect(t, SIGNAL(requestDialogState(int)), this, \
SIGNAL(requestDialogState(int))); + connect(t, SIGNAL(changed()), this, \
SIGNAL(changed())); + m_turns << t;
} else
kDebug() << "FAILED";
- transition = transition.nextSiblingElement("command");
+ turn = turn.nextSiblingElement("turn");
}
- m_transitions = commands;
return true;
- */
}
QDomElement DialogState::serialize(QDomDocument *doc)
{
- /*
+
QDomElement elem = doc->createElement("state");
elem.setAttribute("name", m_name);
- foreach (DialogText *t, m_texts)
- {
- QDomElement textElem = doc->createElement("text");
- textElem.appendChild(doc->createTextNode(t->source()));
- elem.appendChild(textElem);
- }
- QDomElement textOptions = doc->createElement("textOptions");
- QDomElement textSilenceOption = doc->createElement("silence");
- QDomElement textAnnounceOption = doc->createElement("announceRepeat");
-
- textSilenceOption.appendChild(doc->createTextNode(m_silence ? "1" : "0"));
- textAnnounceOption.appendChild(doc->createTextNode(m_announceRepeat ? "1" : "0"));
-
- textOptions.appendChild(textSilenceOption);
- textOptions.appendChild(textAnnounceOption);
-
- QDomElement avatarElem = doc->createElement("avatar");
- avatarElem.setAttribute("enabled", m_displayAvatar ? "1" : "0");
- avatarElem.appendChild(doc->createTextNode(QString::number(m_avatarId)));
-
- QDomElement transitionsElem = doc->createElement("transitions");
+ QDomElement turnsElem = doc->createElement("turns");
- foreach (DialogCommand *c, m_transitions)
- transitionsElem.appendChild(c->serialize(doc));
+ foreach (DialogTurn* t, m_turns)
+ turnsElem.appendChild(t->serialize(doc));
- elem.appendChild(textOptions);
- elem.appendChild(avatarElem);
- elem.appendChild(transitionsElem);
+ elem.appendChild(turnsElem);
return elem;
- */
- // return m_turns.at(0)->serialize(doc);
- return currentDialogTurn->serialize(doc);
}
void DialogState::addTransition(DialogCommand* command)
diff --git a/simonlib/simondialogengine/dialogstate.h \
b/simonlib/simondialogengine/dialogstate.h index cbfafdc..6cf24d5 100644
--- a/simonlib/simondialogengine/dialogstate.h
+++ b/simonlib/simondialogengine/dialogstate.h
@@ -95,6 +95,7 @@ class SIMONDIALOGENGINE_EXPORT DialogState : public \
QAbstractItemModel DialogTurn* getCurrentTurn() { return currentDialogTurn; }
DialogTurn* createTurn();
void addTurn(DialogTurn* turn);
+ void removeTurn(int index);
void setTurn(DialogTurn* turn, int index);
void bindStateCommands(QList<Command*> commands);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic