/[svn]/qsampler/trunk/src/qsamplerMessages.cpp
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerMessages.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2459 by capela, Mon Jul 8 10:06:57 2013 UTC revision 2582 by capela, Fri May 30 20:58:26 2014 UTC
# Line 1  Line 1 
1  // qsamplerMessages.cpp  // qsamplerMessages.cpp
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2004-2013, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2014, rncbc aka Rui Nuno Capela. All rights reserved.
5     Copyright (C) 2007, Christian Schoenebeck     Copyright (C) 2007, Christian Schoenebeck
6    
7     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
# Line 49  namespace QSampler { Line 49  namespace QSampler {
49  #define QSAMPLER_MESSAGES_FDREAD    0  #define QSAMPLER_MESSAGES_FDREAD    0
50  #define QSAMPLER_MESSAGES_FDWRITE   1  #define QSAMPLER_MESSAGES_FDWRITE   1
51    
52    
53  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
54  // QSampler::Messages - Messages log dockable window.  // QSampler::Messages - Messages log dockable window.
55  //  //
# Line 116  void Messages::stdoutNotify ( int fd ) Line 117  void Messages::stdoutNotify ( int fd )
117  {  {
118  #if !defined(WIN32)  #if !defined(WIN32)
119          char achBuffer[1024];          char achBuffer[1024];
120          int  cchBuffer = ::read(fd, achBuffer, sizeof(achBuffer) - 1);          const int cchBuffer = ::read(fd, achBuffer, sizeof(achBuffer) - 1);
121          if (cchBuffer > 0) {          if (cchBuffer > 0) {
122                  achBuffer[cchBuffer] = (char) 0;                  achBuffer[cchBuffer] = (char) 0;
123                  appendStdoutBuffer(achBuffer);                  appendStdoutBuffer(achBuffer);
# Line 130  void Messages::appendStdoutBuffer ( cons Line 131  void Messages::appendStdoutBuffer ( cons
131  {  {
132          m_sStdoutBuffer.append(s);          m_sStdoutBuffer.append(s);
133    
134          int iLength = m_sStdoutBuffer.lastIndexOf('\n');          const int iLength = m_sStdoutBuffer.lastIndexOf('\n');
135          if (iLength > 0) {          if (iLength > 0) {
136                  QString sTemp = m_sStdoutBuffer.left(iLength);                  const QString& sTemp = m_sStdoutBuffer.left(iLength);
137                  m_sStdoutBuffer.remove(0, iLength + 1);                  m_sStdoutBuffer.remove(0, iLength + 1);
138                  QStringList list = sTemp.split('\n');                  QStringList list = sTemp.split('\n');
139                  QStringListIterator iter(list);                  QStringListIterator iter(list);
# Line 155  void Messages::flushStdoutBuffer (void) Line 156  void Messages::flushStdoutBuffer (void)
156  // Stdout capture accessors.  // Stdout capture accessors.
157  bool Messages::isCaptureEnabled (void)  bool Messages::isCaptureEnabled (void)
158  {  {
159          return (bool) (m_pStdoutNotifier != NULL);          return (m_pStdoutNotifier != NULL);
160  }  }
161    
162  void Messages::setCaptureEnabled ( bool bCapture )  void Messages::setCaptureEnabled ( bool bCapture )
# Line 173  void Messages::setCaptureEnabled ( bool Line 174  void Messages::setCaptureEnabled ( bool
174                          ::close(m_fdStdout[QSAMPLER_MESSAGES_FDREAD]);                          ::close(m_fdStdout[QSAMPLER_MESSAGES_FDREAD]);
175                          m_fdStdout[QSAMPLER_MESSAGES_FDREAD]  = QSAMPLER_MESSAGES_FDNIL;                          m_fdStdout[QSAMPLER_MESSAGES_FDREAD]  = QSAMPLER_MESSAGES_FDNIL;
176                  }                  }
                 if (m_fdStdout[QSAMPLER_MESSAGES_FDREAD] != QSAMPLER_MESSAGES_FDNIL) {  
                         ::close(m_fdStdout[QSAMPLER_MESSAGES_FDREAD]);  
                         m_fdStdout[QSAMPLER_MESSAGES_FDREAD]  = QSAMPLER_MESSAGES_FDNIL;  
                 }  
177          }          }
178          // Are we going to make up the capture?          // Are we going to make up the capture?
179          if (bCapture && m_pStdoutNotifier == NULL && ::pipe(m_fdStdout) == 0) {          if (bCapture && m_pStdoutNotifier == NULL && ::pipe(m_fdStdout) == 0) {
# Line 286  void Messages::appendMessages ( const QS Line 283  void Messages::appendMessages ( const QS
283    
284  void Messages::appendMessagesColor ( const QString& s, const QString &c )  void Messages::appendMessagesColor ( const QString& s, const QString &c )
285  {  {
286          QString sText = QTime::currentTime().toString("hh:mm:ss.zzz") + ' ' + s;          const QString& sText = QTime::currentTime().toString("hh:mm:ss.zzz") + ' ' + s;
287          appendMessagesLine("<font color=\"" + c + "\">" + sText + "</font>");          appendMessagesLine("<font color=\"" + c + "\">" + sText + "</font>");
288          appendMessagesLog(sText);          appendMessagesLog(sText);
289  }  }

Legend:
Removed from v.2459  
changed lines
  Added in v.2582

  ViewVC Help
Powered by ViewVC