qspwebchannel.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "qspwebchannel.h"
  2. #include <QMessageBox>
  3. #include <qsp_default.h>
  4. #include "callbacks_gui.h"
  5. #include "comtools.h"
  6. QspWebChannel::QspWebChannel(QObject *parent) : QObject(parent)
  7. {
  8. }
  9. void QspWebChannel::ExecString(const QString &string)
  10. {
  11. if (!QSPExecString(qspStringFromQString(string), QSP_TRUE))
  12. ShowError();
  13. }
  14. void QspWebChannel::ShowError()
  15. {
  16. QString errorMessage;
  17. QSP_CHAR *loc;
  18. int code, actIndex, line;
  19. QSPGetLastErrorData(&code, &loc, &actIndex, &line);
  20. QString desc = QSPTools::qspStrToQt(QSPGetErrorDesc(code));
  21. if (loc)
  22. errorMessage = QString("Location: %1\nArea: %2\nLine: %3\nCode: %4\nDesc: %5")
  23. .arg(QSPTools::qspStrToQt(loc))
  24. .arg(actIndex < 0 ? QString("on visit") : QString("on action"))
  25. .arg(line)
  26. .arg(code)
  27. .arg(desc);
  28. else
  29. errorMessage = QString("Code: %1\nDesc: %2")
  30. .arg(code)
  31. .arg(desc);
  32. QMessageBox dialog(QMessageBox::Critical, tr("Error"), errorMessage, QMessageBox::Ok);
  33. dialog.exec();
  34. QSPCallBacks::RefreshInt(QSP_FALSE);
  35. }