diff --git a/OMEdit/OMEditGUI/MainWindow.cpp b/OMEdit/OMEditGUI/MainWindow.cpp index 63c40dbc129..e12ca97b94d 100644 --- a/OMEdit/OMEditGUI/MainWindow.cpp +++ b/OMEdit/OMEditGUI/MainWindow.cpp @@ -138,7 +138,7 @@ void MainWindow::setUpMainWindow() setbuf(stdout, NULL); // used non-buffered stdout mpOutputFileDataNotifier = 0; mpOutputFileDataNotifier = new FileDataNotifier(outputFileName); - connect(mpOutputFileDataNotifier, SIGNAL(bytesAvailable(qint64)), SLOT(readOutputFile(qint64))); + connect(mpOutputFileDataNotifier, SIGNAL(sendData(QString)), SLOT(writeOutputFileData(QString))); mpOutputFileDataNotifier->start(); // Reopen the standard error stream. QString errorFileName = Utilities::tempDirectory() + "/omediterror.txt"; @@ -146,7 +146,7 @@ void MainWindow::setUpMainWindow() setbuf(stderr, NULL); // used non-buffered stderr mpErrorFileDataNotifier = 0; mpErrorFileDataNotifier = new FileDataNotifier(errorFileName); - connect(mpErrorFileDataNotifier, SIGNAL(bytesAvailable(qint64)), SLOT(readErrorFile(qint64))); + connect(mpErrorFileDataNotifier, SIGNAL(sendData(QString)), SLOT(writeErrorFileData(QString))); mpErrorFileDataNotifier->start(); // Create an object of QProgressBar mpProgressBar = new QProgressBar; @@ -1378,25 +1378,25 @@ void MainWindow::loadSystemLibrary() } /*! - * \brief MainWindow::readOutputFile - * Reads the available output data from file and adds it to MessagesWidget. - * \param bytes + * \brief MainWindow::writeOutputFileData + * Writes the output data from stdout file and adds it to MessagesWidget. + * \param data */ -void MainWindow::readOutputFile(qint64 bytes) +void MainWindow::writeOutputFileData(QString data) { - QString data = mpOutputFileDataNotifier->read(bytes); - MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, "", false, 0, 0, 0, 0, data, Helper::scriptingKind, Helper::notificationLevel)); + MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, "", false, 0, 0, 0, 0, data, + Helper::scriptingKind, Helper::notificationLevel)); } /*! - * \brief MainWindow::readErrorFile - * Reads the available error data from file and adds it to MessagesWidget. - * \param bytes + * \brief MainWindow::writeErrorFileData + * Writes the error data from stderr file and adds it to MessagesWidget. + * \param data */ -void MainWindow::readErrorFile(qint64 bytes) +void MainWindow::writeErrorFileData(QString data) { - QString data = mpErrorFileDataNotifier->read(bytes); - MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, "", false, 0, 0, 0, 0, data, Helper::scriptingKind, Helper::notificationLevel)); + MessagesWidget::instance()->addGUIMessage(MessageItem(MessageItem::Modelica, "", false, 0, 0, 0, 0, data, + Helper::scriptingKind, Helper::errorLevel)); } //! Opens the recent file. diff --git a/OMEdit/OMEditGUI/MainWindow.h b/OMEdit/OMEditGUI/MainWindow.h index 3594d5995c0..2f51b5265d7 100644 --- a/OMEdit/OMEditGUI/MainWindow.h +++ b/OMEdit/OMEditGUI/MainWindow.h @@ -368,8 +368,8 @@ public slots: void loadExternalModels(); void openDirectory(); void loadSystemLibrary(); - void readOutputFile(qint64 bytes); - void readErrorFile(qint64 bytes); + void writeOutputFileData(QString data); + void writeErrorFileData(QString data); void openRecentFile(); void clearRecentFilesList(); void undo(); diff --git a/OMEdit/OMEditGUI/Util/Utilities.cpp b/OMEdit/OMEditGUI/Util/Utilities.cpp index d47936742f1..23b756a7830 100644 --- a/OMEdit/OMEditGUI/Util/Utilities.cpp +++ b/OMEdit/OMEditGUI/Util/Utilities.cpp @@ -149,7 +149,6 @@ FileDataNotifier::FileDataNotifier(const QString fileName) { mFile.setFileName(fileName); mStop = false; - mBytesAvailable = 0; } /*! @@ -164,17 +163,6 @@ void FileDataNotifier::exit(int retcode) QThread::exit(retcode); } -/*! - * \brief FileDataNotifier::read - * Reads the bytes from the file. - * \param maxlen - * \return - */ -QByteArray FileDataNotifier::read(qint64 maxlen) -{ - return mFile.read(maxlen); -} - /*! * \brief FileDataNotifier::run * Reimplentation of QThread::run(). @@ -190,9 +178,8 @@ void FileDataNotifier::run() break; } // if file has bytes available to read. - if (mFile.bytesAvailable() > mBytesAvailable) { - mBytesAvailable = mFile.bytesAvailable(); - emit bytesAvailable(mFile.bytesAvailable()); + if (mFile.bytesAvailable() > 0) { + emit sendData(QString(mFile.readAll())); } Sleep::sleep(1); } diff --git a/OMEdit/OMEditGUI/Util/Utilities.h b/OMEdit/OMEditGUI/Util/Utilities.h index 3bfc5397db6..b1ac2438628 100644 --- a/OMEdit/OMEditGUI/Util/Utilities.h +++ b/OMEdit/OMEditGUI/Util/Utilities.h @@ -120,17 +120,15 @@ class FileDataNotifier : public QThread public: FileDataNotifier(const QString fileName); void exit(int retcode = 0); - QByteArray read(qint64 maxlen); private: QFile mFile; bool mStop; - qint64 mBytesAvailable; protected: void run(); public slots: void start(Priority = InheritPriority); signals: - void bytesAvailable(qint64 bytes); + void sendData(QString data); }; /*!