From 85487eac769308aad5702241ac943a601ee6ae33 Mon Sep 17 00:00:00 2001
From: Torsten Merz <tm@moon-ph.visitor.csiro.au>
Date: Fri, 1 Mar 2019 12:37:43 +1000
Subject: [PATCH] changes for newer Qt versions

---
 ui/cleanup.sh                        | 14 ++++++++++++++
 ui/editor/actionlistwidget.cc        |  1 +
 ui/editor/commentitemdialog.cc       |  5 +++++
 ui/editor/containerdialog.cc         |  5 +++++
 ui/editor/createdatastoragedialog.cc |  5 +++++
 ui/editor/createeventdialog.cc       |  5 +++++
 ui/editor/datastoragedialog.cc       |  5 +++++
 ui/editor/datastorageitemdialog.cc   |  6 ++++++
 ui/editor/editor.pro                 |  2 ++
 ui/editor/eventdialog.cc             |  6 ++++++
 ui/editor/flagdialog.cc              |  6 ++++++
 ui/editor/flagstatedialog.cc         |  6 ++++++
 ui/editor/formulalabel.cc            |  6 ++++++
 ui/editor/mainwindow.cc              | 24 ++++++++++++++++++++++--
 ui/editor/mylistwidget.cc            |  1 +
 ui/editor/myreflistwidget.cc         |  1 +
 ui/editor/portdialog.cc              | 17 +++++++++++++++++
 ui/editor/scene.cc                   | 18 ++++++++++++++++++
 ui/editor/statedialog.cc             | 17 +++++++++++++++++
 ui/editor/superstatedialog.cc        | 20 +++++++++++++++++++-
 ui/editor/taskstatedialog.cc         | 17 +++++++++++++++++
 ui/editor/transitiondialog.cc        | 17 +++++++++++++++++
 ui/esmeditor/esmeditor.pro           |  2 ++
 ui/esmeditor/main.cc                 |  2 ++
 ui/esmscheduler/slotspec.cc          |  3 ++-
 ui/esmtopdf/esmtopdf.pro             |  2 ++
 ui/esmtopdf/main.cc                  |  3 ++-
 ui/model/esmcontainer.cc             |  3 ++-
 ui/model/esmevent.cc                 |  3 +++
 ui/model/esmflag.cc                  | 12 ++++++------
 ui/model/esmsaxhandler.cc            | 24 ++++++++++++------------
 ui/model/modelinfo.cc                |  3 ++-
 ui/model/slotmap.cc                  |  3 ++-
 ui/model/slotsched.cc                |  3 ++-
 ui/model/taskdeclaration.cc          |  3 ++-
 35 files changed, 242 insertions(+), 28 deletions(-)
 create mode 100755 ui/cleanup.sh

diff --git a/ui/cleanup.sh b/ui/cleanup.sh
new file mode 100755
index 0000000..8a0fb39
--- /dev/null
+++ b/ui/cleanup.sh
@@ -0,0 +1,14 @@
+rm clone/Makefile
+rm editor/Makefile
+rm esmchecker/Makefile
+rm esmeditor/Makefile
+rm esmscheduler/Makefile
+rm esmtopdf/Makefile
+rm esmtosmi/Makefile
+rm esmtotaskspec/Makefile
+rm Makefile
+rm model/Makefile
+rm taskinfocodegen/Makefile
+qtchooser -run-tool=qmake -qt=4
+
+ 
diff --git a/ui/editor/actionlistwidget.cc b/ui/editor/actionlistwidget.cc
index 9ce490d..ba0b976 100644
--- a/ui/editor/actionlistwidget.cc
+++ b/ui/editor/actionlistwidget.cc
@@ -18,6 +18,7 @@
  */
 
 #include <QtGui>
+#include <QMenu>
 
 #include "actionlistwidget.h"
 #include "actioninfoitem.h"
diff --git a/ui/editor/commentitemdialog.cc b/ui/editor/commentitemdialog.cc
index e0a40ba..aca25d8 100644
--- a/ui/editor/commentitemdialog.cc
+++ b/ui/editor/commentitemdialog.cc
@@ -18,6 +18,11 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
 
 #include <iostream>
 
diff --git a/ui/editor/containerdialog.cc b/ui/editor/containerdialog.cc
index 9b51bcf..ba11da8 100644
--- a/ui/editor/containerdialog.cc
+++ b/ui/editor/containerdialog.cc
@@ -18,6 +18,11 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
 
 #include "containerdialog.h"
 #include "uuidnameitem.h"
diff --git a/ui/editor/createdatastoragedialog.cc b/ui/editor/createdatastoragedialog.cc
index 634b0ea..ce95e95 100644
--- a/ui/editor/createdatastoragedialog.cc
+++ b/ui/editor/createdatastoragedialog.cc
@@ -18,6 +18,11 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
 
 #include <iostream>
 
diff --git a/ui/editor/createeventdialog.cc b/ui/editor/createeventdialog.cc
index 8986390..2b590f0 100644
--- a/ui/editor/createeventdialog.cc
+++ b/ui/editor/createeventdialog.cc
@@ -18,6 +18,11 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
 
 #include <iostream>
 
diff --git a/ui/editor/datastoragedialog.cc b/ui/editor/datastoragedialog.cc
index cbebddd..3370d27 100644
--- a/ui/editor/datastoragedialog.cc
+++ b/ui/editor/datastoragedialog.cc
@@ -18,6 +18,11 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
 
 #include <iostream>
 
diff --git a/ui/editor/datastorageitemdialog.cc b/ui/editor/datastorageitemdialog.cc
index c7bea33..d95bfa3 100644
--- a/ui/editor/datastorageitemdialog.cc
+++ b/ui/editor/datastorageitemdialog.cc
@@ -18,6 +18,12 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
 
 #include <iostream>
 #include <algorithm>
diff --git a/ui/editor/editor.pro b/ui/editor/editor.pro
index 15da060..bbce8b0 100644
--- a/ui/editor/editor.pro
+++ b/ui/editor/editor.pro
@@ -100,6 +100,8 @@ SOURCES += uuidnameaction.cc
 
 QT += xml
 QT += network
+QT += widgets
+QT += printsupport
 
 INCLUDEPATH += ../model
 
diff --git a/ui/editor/eventdialog.cc b/ui/editor/eventdialog.cc
index 517677a..356bc21 100644
--- a/ui/editor/eventdialog.cc
+++ b/ui/editor/eventdialog.cc
@@ -18,6 +18,12 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
 
 #include <iostream>
 
diff --git a/ui/editor/flagdialog.cc b/ui/editor/flagdialog.cc
index d7aeeb2..00bc16d 100644
--- a/ui/editor/flagdialog.cc
+++ b/ui/editor/flagdialog.cc
@@ -18,6 +18,12 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
 
 #include <iostream>
 
diff --git a/ui/editor/flagstatedialog.cc b/ui/editor/flagstatedialog.cc
index 5487804..db6c4f2 100644
--- a/ui/editor/flagstatedialog.cc
+++ b/ui/editor/flagstatedialog.cc
@@ -18,6 +18,12 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
 
 #include <iostream>
 
diff --git a/ui/editor/formulalabel.cc b/ui/editor/formulalabel.cc
index 46feeb7..781ee44 100644
--- a/ui/editor/formulalabel.cc
+++ b/ui/editor/formulalabel.cc
@@ -18,6 +18,12 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
 
 #include "formulalabel.h"
 #include "transitiondialog.h"
diff --git a/ui/editor/mainwindow.cc b/ui/editor/mainwindow.cc
index fc9ea25..e62b1c0 100644
--- a/ui/editor/mainwindow.cc
+++ b/ui/editor/mainwindow.cc
@@ -18,6 +18,24 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
+#include <QPrinter>
 
 #include "mainwindow.h"
 #include "statedialog.h"
@@ -865,11 +883,12 @@ void MainWindow::load (std::string filename, std::string mifilename,
   EsmContainer * cont = new EsmContainer ();
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc(&file);
   EsmSaxHandler handler (cont);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   cont->set_filename (filename);
 
@@ -1032,10 +1051,11 @@ void MainWindow::check_save_and_load () {
   assert (file.exists());
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc(&file);
   EsmSaxHandler handler (root);
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   ofstream os2 ("save-2.xml");
   os2 <<  *root << endl;
diff --git a/ui/editor/mylistwidget.cc b/ui/editor/mylistwidget.cc
index 13903e2..6deee2b 100644
--- a/ui/editor/mylistwidget.cc
+++ b/ui/editor/mylistwidget.cc
@@ -18,6 +18,7 @@
  */
 
 #include <QtGui>
+#include <QAction>
 
 #include "mylistwidget.h"
 #include "uuidnameitem.h"
diff --git a/ui/editor/myreflistwidget.cc b/ui/editor/myreflistwidget.cc
index e11bac9..8345ed5 100644
--- a/ui/editor/myreflistwidget.cc
+++ b/ui/editor/myreflistwidget.cc
@@ -18,6 +18,7 @@
  */
 
 #include <QtGui>
+#include <QMenu>
 
 #include "myreflistwidget.h"
 #include "uuidnameitem.h"
diff --git a/ui/editor/portdialog.cc b/ui/editor/portdialog.cc
index e96749e..feff698 100644
--- a/ui/editor/portdialog.cc
+++ b/ui/editor/portdialog.cc
@@ -18,6 +18,23 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include "portdialog.h"
 
diff --git a/ui/editor/scene.cc b/ui/editor/scene.cc
index dae6507..c058724 100644
--- a/ui/editor/scene.cc
+++ b/ui/editor/scene.cc
@@ -18,6 +18,24 @@
  */
 
 #include <QtGui>
+#include <QGraphicsSceneMoveEvent>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include "scene.h"
 #include "transitionarrow.h"
diff --git a/ui/editor/statedialog.cc b/ui/editor/statedialog.cc
index eebd872..16879bf 100644
--- a/ui/editor/statedialog.cc
+++ b/ui/editor/statedialog.cc
@@ -18,6 +18,23 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include "statedialog.h"
 
diff --git a/ui/editor/superstatedialog.cc b/ui/editor/superstatedialog.cc
index cbdf9fb..03ea932 100644
--- a/ui/editor/superstatedialog.cc
+++ b/ui/editor/superstatedialog.cc
@@ -18,6 +18,23 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include "superstatedialog.h"
 #include "uuidnameitem.h"
@@ -153,11 +170,12 @@ void SuperStateDialog::default_instatiation_clicked() {
   EsmContainer * cont = new EsmContainer ();
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc(&file);
   EsmSaxHandler handler (cont);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  if (reader.parse(&file)) {
+  if (reader.parse(&xmlSrc)) {
 
     set_name (cont->get_name());
 
diff --git a/ui/editor/taskstatedialog.cc b/ui/editor/taskstatedialog.cc
index c97e675..d23788c 100644
--- a/ui/editor/taskstatedialog.cc
+++ b/ui/editor/taskstatedialog.cc
@@ -18,6 +18,23 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include "taskstatedialog.h"
 
diff --git a/ui/editor/transitiondialog.cc b/ui/editor/transitiondialog.cc
index 1b0917c..97ef88a 100644
--- a/ui/editor/transitiondialog.cc
+++ b/ui/editor/transitiondialog.cc
@@ -18,6 +18,23 @@
  */
 
 #include <QtGui>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QMenu>
+#include <QGraphicsView>
+#include <QCheckBox>
+#include <QSpinBox>
+#include <QMenuBar>
+#include <QPushButton>
+#include <QButtonGroup>
+#include <QToolBox>
+#include <QToolBar>
+#include <QToolButton>
+#include <QComboBox>
+#include <QFileDialog>
 
 #include <iostream>
 #include <algorithm>
diff --git a/ui/esmeditor/esmeditor.pro b/ui/esmeditor/esmeditor.pro
index c96a044..ef8772b 100644
--- a/ui/esmeditor/esmeditor.pro
+++ b/ui/esmeditor/esmeditor.pro
@@ -4,8 +4,10 @@ TARGET = esmeditor
 
 SOURCES += main.cc
 
+QT += widgets
 QT += xml
 QT += network
+QT += printsupport
 
 RESOURCES   =   esmeditor.qrc
 
diff --git a/ui/esmeditor/main.cc b/ui/esmeditor/main.cc
index bdf24b4..606aab5 100644
--- a/ui/esmeditor/main.cc
+++ b/ui/esmeditor/main.cc
@@ -18,6 +18,8 @@
  */
 
 #include <QtGui>
+#include <QApplication>
+#include <QDesktopWidget>
 
 #include <iostream>
 
diff --git a/ui/esmscheduler/slotspec.cc b/ui/esmscheduler/slotspec.cc
index 218f5e1..cd417cf 100644
--- a/ui/esmscheduler/slotspec.cc
+++ b/ui/esmscheduler/slotspec.cc
@@ -58,12 +58,13 @@ bool SlotSpec::load (string filename) {
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
 
   SlotSpecSaxHandler handler (this);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   return true;
 }
diff --git a/ui/esmtopdf/esmtopdf.pro b/ui/esmtopdf/esmtopdf.pro
index fb6d25a..4f7627c 100644
--- a/ui/esmtopdf/esmtopdf.pro
+++ b/ui/esmtopdf/esmtopdf.pro
@@ -6,8 +6,10 @@ HEADERS += ../editor/scene.h
 SOURCES += main.cc
 SOURCES += ../editor/scene.cc
 
+QT += widgets
 QT += xml
 QT += network
+QT += printsupport
 
 LIBS += -L../editor -leditor
 LIBS += -L../model -lmodel
diff --git a/ui/esmtopdf/main.cc b/ui/esmtopdf/main.cc
index 0506786..7f86138 100644
--- a/ui/esmtopdf/main.cc
+++ b/ui/esmtopdf/main.cc
@@ -77,11 +77,12 @@ int main(int argv, char *args[]) {
   EsmContainer * cont = new EsmContainer ();
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc(&file);
   EsmSaxHandler handler (cont);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   cont->set_filename (esmfilename);
 
diff --git a/ui/model/esmcontainer.cc b/ui/model/esmcontainer.cc
index ad2a05d..83531ba 100644
--- a/ui/model/esmcontainer.cc
+++ b/ui/model/esmcontainer.cc
@@ -61,11 +61,12 @@ EsmContainer::EsmContainer(std::string _filename) :
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
   EsmSaxHandler handler (this);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  initialized_from_file_flag = reader.parse(&file);
+  initialized_from_file_flag = reader.parse(&xmlSrc, false);
 
   if (!initialized_from_file_flag) {
     cerr << "EsmContainer:: Failed to read file: " << _filename << endl;
diff --git a/ui/model/esmevent.cc b/ui/model/esmevent.cc
index 4c5ac0d..dde1355 100644
--- a/ui/model/esmevent.cc
+++ b/ui/model/esmevent.cc
@@ -19,6 +19,8 @@
 
 #include "esmevent.h"
 
+#include <iostream>
+
 EsmEvent::EsmEvent () : EsmNamed(), pulse_event_flag(false) {
 
 }
@@ -56,6 +58,7 @@ std::ostream& operator<<(std::ostream& os, const EsmEvent& data) {
   }
   os << " comment=\"" << data.get_comment () << "\"";
   os << "/>";
+
   return os;
 }
 
diff --git a/ui/model/esmflag.cc b/ui/model/esmflag.cc
index 2194f72..bfcd4ed 100644
--- a/ui/model/esmflag.cc
+++ b/ui/model/esmflag.cc
@@ -76,10 +76,10 @@ bool EsmFlag::get_container_flag () {
 
 
 std::ostream& operator<<(std::ostream& os, const EsmFlag& data) {
-  os << "    <flag";
-  os << " uuid=\"" << data.get_uuid_str () << "\"";
-  os << " name=\"" << data.get_name () << "\"";
-  os << " comment=\"" << data.get_comment () << "\"";
+  os << std::string("    <flag");
+  os << std::string(" uuid=\"") << data.get_uuid_str () << std::string("\"");
+  os << std::string(" name=\"") << data.get_name () << std::string("\"");
+  os << std::string(" comment=\"") << data.get_comment () << std::string("\"");
   string type_str = "user_defined";
   if (data.type == EsmFlag::flag_exit) {
     type_str = "exit";
@@ -90,8 +90,8 @@ std::ostream& operator<<(std::ostream& os, const EsmFlag& data) {
   if (data.type == EsmFlag::flag_timeout) {
     type_str = "timeout";
   }
-  os << " type=\"" << type_str << "\"";
-  os << "/>";
+  os << std::string(" type=\"") << type_str << std::string("\"");
+  os << std::string("/>");
   return os;
 }
 
diff --git a/ui/model/esmsaxhandler.cc b/ui/model/esmsaxhandler.cc
index 619dc6f..d5c23e3 100644
--- a/ui/model/esmsaxhandler.cc
+++ b/ui/model/esmsaxhandler.cc
@@ -78,7 +78,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   }
 
   if (qName == "data-storage") {
-    root->create_data_storage (get_uuid (attribs.value ("uuid")), attribs.value ("name"));
+    root->create_data_storage (get_uuid (attribs.value ("uuid")).toString(), attribs.value ("name"));
   }
 
   if (qName == "input-ports") {
@@ -152,7 +152,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
 
   if (qName == "event") {
     if (state == inside_global_events) {
-      root->init_pulse_event (get_uuid (attribs.value ("uuid")), attribs.value ("comment"));
+      root->init_pulse_event (get_uuid (attribs.value ("uuid")).toString(), attribs.value ("comment"));
     } else {
       // Hack workaround for Piotr event bug
       std::vector<EsmEvent *> cevents = root->get_container_events ();
@@ -387,7 +387,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   if (qName == "initial-state") {
     inside_initial_state_flag = true;
     EsmInitialState * state = new EsmInitialState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_qname (attribs.value ("name"));
     state->set_qcomment (attribs.value ("comment"));
     state->set_timeout (attribs.value ("timeout").toInt ());
@@ -407,7 +407,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   if (qName == "simple-state") {
     inside_simple_state_flag = true;
     EsmBasicState * state = new EsmBasicState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_qname (attribs.value ("name"));
     state->set_qcomment (attribs.value ("comment"));
     state->set_timeout (attribs.value ("timeout").toInt ());
@@ -427,7 +427,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   if (qName == "basic-state") {
     inside_simple_state_flag = true;
     EsmBasicState * state = new EsmBasicState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_qname (attribs.value ("name"));
     state->set_qcomment (attribs.value ("comment"));
     state->set_timeout (attribs.value ("timeout").toInt ());
@@ -446,7 +446,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
 
   if (qName == "final-state") {
     EsmFinalState * state = new EsmFinalState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_qname (attribs.value ("name"));
     state->set_qcomment (attribs.value ("comment"));
     state->set_timeout (attribs.value ("timeout").toInt ());
@@ -465,7 +465,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   if (qName == "task-state") {
     inside_task_state_flag = true;
     EsmTaskState * state = new EsmTaskState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_qname (attribs.value ("name"));
     state->set_qcomment (attribs.value ("comment"));
     state->set_timeout (attribs.value ("timeout").toInt ());
@@ -497,7 +497,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
   if (qName == "super-state") {
     inside_super_state_flag = true;
     EsmSuperState * state = new EsmSuperState ();
-    state->set_uuid (get_uuid (attribs.value ("uuid")));
+    state->set_uuid (get_uuid (attribs.value ("uuid")).toString());
     state->set_cloned_from_uuid (attribs.value ("cloned-from-uuid").toStdString());
     state->set_path_string (attribs.value ("path-string").toStdString());
     QString name = attribs.value ("name");
@@ -526,7 +526,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
     string evname = attribs.value ("event-uuid").toStdString();
     if (verbose) cerr << "Event: " <<  evname << endl;
     EsmUuid * uuid = 
-      root->qstr_to_uuid (get_uuid (attribs.value ("event-uuid")));
+      root->qstr_to_uuid (get_uuid (attribs.value ("event-uuid")).toString());
     //    assert (uuid);
     EsmEvent * event = dynamic_cast<EsmEvent *>(uuid);
     if (!event) {
@@ -535,7 +535,7 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
     //    if (event) {
       if (verbose) cerr << "TRANSITION: " << attribs.value ("uuid").toStdString () << endl;
       EsmTransition * trans = 
-	new EsmTransition (get_uuid (attribs.value ("uuid")));
+    new EsmTransition (get_uuid (attribs.value ("uuid")).toString());
       if (verbose) 
 	cerr << "transition: " << attribs.value ("uuid").toStdString() << " - " 
 	     << uuidtostr[attribs.value ("uuid")].toStdString()<< endl;
@@ -543,10 +543,10 @@ bool EsmSaxHandler::startElement(const QString &namespaceURI,
       trans->set_container (root);
       trans->set_event (event);
       current_region->add_transition (trans);
-      EsmUuid * from_uuid = root->qstr_to_uuid (get_uuid (attribs.value ("from-state-uuid")));
+      EsmUuid * from_uuid = root->qstr_to_uuid (get_uuid (attribs.value ("from-state-uuid")).toString());
       // 0 allowed, meand not connected...
 						
-      EsmUuid * to_uuid = root->qstr_to_uuid (get_uuid (attribs.value ("to-state-uuid")));
+      EsmUuid * to_uuid = root->qstr_to_uuid (get_uuid (attribs.value ("to-state-uuid")).toString());
       // 0 allowed, meand not connected...
       trans->set_from_state (dynamic_cast<EsmState*>(from_uuid));
       trans->set_to_state (dynamic_cast<EsmState*>(to_uuid));
diff --git a/ui/model/modelinfo.cc b/ui/model/modelinfo.cc
index 1f9e55a..d808447 100644
--- a/ui/model/modelinfo.cc
+++ b/ui/model/modelinfo.cc
@@ -135,12 +135,13 @@ bool ModelInfo::load (string filename) {
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
 
   ModelInfoSaxHandler handler (this);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   return true;
 }
diff --git a/ui/model/slotmap.cc b/ui/model/slotmap.cc
index 2055d69..276b70d 100644
--- a/ui/model/slotmap.cc
+++ b/ui/model/slotmap.cc
@@ -57,12 +57,13 @@ bool SlotMap::load (string filename) {
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
 
   SlotMapSaxHandler handler (this);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   return true;
 }
diff --git a/ui/model/slotsched.cc b/ui/model/slotsched.cc
index 96fe042..9dbdb90 100644
--- a/ui/model/slotsched.cc
+++ b/ui/model/slotsched.cc
@@ -56,12 +56,13 @@ bool SlotSched::load (string filename) {
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
 
   SlotSchedSaxHandler handler (this);
 
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
-  reader.parse(&file);
+  reader.parse(&xmlSrc);
 
   return true;
 }
diff --git a/ui/model/taskdeclaration.cc b/ui/model/taskdeclaration.cc
index cdfb071..a47e603 100644
--- a/ui/model/taskdeclaration.cc
+++ b/ui/model/taskdeclaration.cc
@@ -115,6 +115,7 @@ bool TaskDeclaration::load (string filename) {
   }
 
   QXmlSimpleReader reader;
+  QXmlInputSource xmlSrc (&file);
   //  QtLibxmlReader reader;
 
   TaskDeclarationSaxHandler handler (this);
@@ -122,7 +123,7 @@ bool TaskDeclaration::load (string filename) {
   reader.setContentHandler(&handler);
   reader.setErrorHandler(&handler);
   reader.setEntityResolver(&handler);
-  return reader.parse(&file);
+  return reader.parse(&xmlSrc);
 }
 
 int TaskDeclaration::get_duration (std::string name) {
-- 
GitLab