+void UserInputHandler::timerEvent(QTimerEvent *event) {
+ if(!_delayedCommands.contains(event->timerId())) {
+ QObject::timerEvent(event);
+ return;
+ }
+ BufferInfo bufferInfo = _delayedCommands[event->timerId()].bufferInfo;
+ QString rawCommand = _delayedCommands[event->timerId()].command;
+ _delayedCommands.remove(event->timerId());
+ event->accept();
+
+ // the stored command might be the result of an alias expansion, so we need to split it up again
+ QStringList commands = rawCommand.split(QRegExp("; ?"));
+ foreach(QString command, commands) {
+ handleUserInput(bufferInfo, command);
+ }
+}