@@ -127,8 +127,8 @@ TChar::TChar( const TChar & copy )
127
127
128
128
TBuffer::TBuffer ( Host * pH )
129
129
: mLinkID ( 0 )
130
- , mLinesLimit ( 10000 )
131
- , mBatchDeleteSize ( 1000 )
130
+ , mLinesLimit ( 1000 )
131
+ , mBatchDeleteSize ( 100 )
132
132
, mUntriggered ( 0 )
133
133
, mWrapAt ( 99999999 )
134
134
, mWrapIndent ( 0 )
@@ -1993,6 +1993,7 @@ void TBuffer::append( QString & text,
1993
1993
{
1994
1994
if ( text.at (i) == ' \n ' )
1995
1995
{
1996
+ log (size ()-1 , size ()-1 );
1996
1997
std::deque<TChar> newLine;
1997
1998
buffer.push_back ( newLine );
1998
1999
lineBuffer.push_back ( QString () );
@@ -2869,6 +2870,7 @@ inline int TBuffer::wrap( int startLine )
2869
2870
dirty.push_back ( true );
2870
2871
}
2871
2872
2873
+ log (startLine, startLine+tempList.size ());
2872
2874
// qDebug()<<"lB="<<lineBuffer.size()<<" pB="<<promptBuffer.size()<<" tB="<<timeBuffer.size()<<" pB="<<promptBuffer.size()<<" dB="<<dirty.size();
2873
2875
// Q_ASSERT(!(lineBuffer.size() == promptBuffer.size() == timeBuffer.size() == dirty.size() ));
2874
2876
return insertedLines > 0 ? insertedLines : 0 ;
@@ -2993,6 +2995,48 @@ int TBuffer::wrap( int startLine, int screenWidth, int indentSize, TChar & forma
2993
2995
return insertedLines > 0 ? insertedLines : 0 ;
2994
2996
}
2995
2997
2998
+ void TBuffer::log ( int from, int to )
2999
+ {
3000
+
3001
+ TBuffer * pB = &mpHost->mpConsole ->buffer ;
3002
+ if ( pB == this )
3003
+ {
3004
+ if ( mpHost->mpConsole ->mLogToLogFile )
3005
+ {
3006
+ if ( from >= size () || from < 0 )
3007
+ {
3008
+ return ;
3009
+ }
3010
+ if ( to >= size () )
3011
+ {
3012
+ to = size ()-1 ;
3013
+ }
3014
+ if ( to < 0 )
3015
+ {
3016
+ return ;
3017
+ }
3018
+ for ( int i=from; i<=to; i++ )
3019
+ {
3020
+
3021
+ QString toLog;
3022
+ if ( mpHost->mRawStreamDump )
3023
+ {
3024
+ QPoint P1 = QPoint (0 ,i);
3025
+ QPoint P2 = QPoint ( buffer[i].size (), i);
3026
+ toLog = bufferToHtml (P1, P2);
3027
+ }
3028
+ else
3029
+ {
3030
+ toLog = lineBuffer[i];
3031
+ toLog.append (" \n " );
3032
+ }
3033
+ mpHost->mpConsole ->mLogStream << toLog;
3034
+ }
3035
+ mpHost->mpConsole ->mLogStream .flush ();
3036
+ }
3037
+ }
3038
+ }
3039
+
2996
3040
// returns how many new lines have been inserted by the wrapping action
2997
3041
int TBuffer::wrapLine ( int startLine, int screenWidth, int indentSize, TChar & format )
2998
3042
{
@@ -3091,6 +3135,7 @@ int TBuffer::wrapLine( int startLine, int screenWidth, int indentSize, TChar & f
3091
3135
3092
3136
if ( lineCount < 1 )
3093
3137
{
3138
+ log ( startLine, startLine );
3094
3139
return 0 ;
3095
3140
}
3096
3141
@@ -3118,6 +3163,7 @@ int TBuffer::wrapLine( int startLine, int screenWidth, int indentSize, TChar & f
3118
3163
promptBuffer.insert ( startLine+i, isPrompt );
3119
3164
dirty.insert ( startLine+i, true );
3120
3165
}
3166
+ log ( startLine, startLine+tempList.size ()-1 );
3121
3167
// Q_ASSERT(!((lineBuffer.size()==promptBuffer.size()) && (lineBuffer.size()==timeBuffer.size()) && (lineBuffer.size() == dirty.size()) ));
3122
3168
// qDebug()<<"lB="<<lineBuffer.size()<<" pB="<<promptBuffer.size()<<" tB="<<timeBuffer.size()<<" pB="<<promptBuffer.size()<<" dB="<<dirty.size();
3123
3169
return insertedLines > 0 ? insertedLines : 0 ;
0 commit comments