#include "SpeechReverser.h" SpeechReverser::SpeechReverser(QObject *parent) : QObject(parent) { } void SpeechReverser::reverse(const QString& text) { this->text = text; doReverse(); emit reverseDone(this->text); } void SpeechReverser::doReverse() { QStringList words = text.split(" "); for ( int wordIndex = 0; wordIndex < words.size(); ++wordIndex ) { QString& word = words[wordIndex]; for ( int charIndex = 1; charIndex < word.length() - 2; charIndex += 2 ) { // swap QChar temp = word[charIndex]; word[charIndex] = word[charIndex + 1]; word[charIndex + 1] = temp; } } text = words.join(" "); }