summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-12-22 16:22:55 (UTC)
committer llornkcor <llornkcor>2002-12-22 16:22:55 (UTC)
commit9ee5295d934e0876dfe0b7e0a4ee05012c491f91 (patch) (unidiff)
tree1b89569cb70f8b671e4031d5f5303e1cef0ed321
parent043abeb16589fa2aaa0881d2781bb46fa99007b6 (diff)
downloadopie-9ee5295d934e0876dfe0b7e0a4ee05012c491f91.zip
opie-9ee5295d934e0876dfe0b7e0a4ee05012c491f91.tar.gz
opie-9ee5295d934e0876dfe0b7e0a4ee05012c491f91.tar.bz2
void functions cant return a bool value
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/tinykate/libkate/document/katedocument.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/noncore/apps/tinykate/libkate/document/katedocument.cpp b/noncore/apps/tinykate/libkate/document/katedocument.cpp
index 0d84bcf..10bc976 100644
--- a/noncore/apps/tinykate/libkate/document/katedocument.cpp
+++ b/noncore/apps/tinykate/libkate/document/katedocument.cpp
@@ -111,478 +111,478 @@ const char * KateActionGroup::typeName(int type)
111 switch (type) { 111 switch (type) {
112 case ugPaste : return "Paste Text"; 112 case ugPaste : return "Paste Text";
113 case ugDelBlock : return "Selection Overwrite"; 113 case ugDelBlock : return "Selection Overwrite";
114 case ugIndent : return "Indent"; 114 case ugIndent : return "Indent";
115 case ugUnindent : return "Unindent"; 115 case ugUnindent : return "Unindent";
116 case ugComment : return "Comment"; 116 case ugComment : return "Comment";
117 case ugUncomment : return "Uncomment"; 117 case ugUncomment : return "Uncomment";
118 case ugReplace : return "Text Replace"; 118 case ugReplace : return "Text Replace";
119 case ugSpell : return "Spell Check"; 119 case ugSpell : return "Spell Check";
120 case ugInsChar : return "Typing"; 120 case ugInsChar : return "Typing";
121 case ugDelChar : return "Delete Text"; 121 case ugDelChar : return "Delete Text";
122 case ugInsLine : return "New Line"; 122 case ugInsLine : return "New Line";
123 case ugDelLine : return "Delete Line"; 123 case ugDelLine : return "Delete Line";
124 } 124 }
125 return ""; 125 return "";
126} 126}
127 127
128const int KateDocument::maxAttribs = 32; 128const int KateDocument::maxAttribs = 32;
129 129
130QStringList KateDocument::searchForList = QStringList(); 130QStringList KateDocument::searchForList = QStringList();
131QStringList KateDocument::replaceWithList = QStringList(); 131QStringList KateDocument::replaceWithList = QStringList();
132 132
133uint KateDocument::uniqueID = 0; 133uint KateDocument::uniqueID = 0;
134 134
135QPtrDict<KateDocument::KateDocPrivate>* KateDocument::d_ptr = 0; 135QPtrDict<KateDocument::KateDocPrivate>* KateDocument::d_ptr = 0;
136 136
137 137
138KateDocument::KateDocument(bool bSingleViewMode, bool bBrowserView, 138KateDocument::KateDocument(bool bSingleViewMode, bool bBrowserView,
139 QWidget *parentWidget, const char *widgetName, 139 QWidget *parentWidget, const char *widgetName,
140 QObject *, const char *) 140 QObject *, const char *)
141 : Kate::Document (), 141 : Kate::Document (),
142 myFont(KGlobalSettings::generalFont()), myFontBold(KGlobalSettings::generalFont()), myFontItalic(KGlobalSettings::generalFont()), myFontBI(KGlobalSettings::generalFont()), 142 myFont(KGlobalSettings::generalFont()), myFontBold(KGlobalSettings::generalFont()), myFontItalic(KGlobalSettings::generalFont()), myFontBI(KGlobalSettings::generalFont()),
143 myFontMetrics (myFont), myFontMetricsBold (myFontBold), myFontMetricsItalic (myFontItalic), myFontMetricsBI (myFontBI), 143 myFontMetrics (myFont), myFontMetricsBold (myFontBold), myFontMetricsItalic (myFontItalic), myFontMetricsBI (myFontBI),
144 hlManager(HlManager::self ()) 144 hlManager(HlManager::self ())
145{ 145{
146 146
147 d(this)->hlSetByUser = false; 147 d(this)->hlSetByUser = false;
148 PreHighlightedTill=0; 148 PreHighlightedTill=0;
149 RequestPreHighlightTill=0; 149 RequestPreHighlightTill=0;
150 150
151 m_bSingleViewMode=bSingleViewMode; 151 m_bSingleViewMode=bSingleViewMode;
152 m_bBrowserView = bBrowserView; 152 m_bBrowserView = bBrowserView;
153 153
154 m_url = QString::null; 154 m_url = QString::null;
155 155
156 // NOTE: QFont::CharSet doesn't provide all the charsets KDE supports 156 // NOTE: QFont::CharSet doesn't provide all the charsets KDE supports
157 // (esp. it doesn't distinguish between UTF-8 and iso10646-1) 157 // (esp. it doesn't distinguish between UTF-8 and iso10646-1)
158 158
159 myEncoding = QString::fromLatin1(QTextCodec::codecForLocale()->name()); 159 myEncoding = QString::fromLatin1(QTextCodec::codecForLocale()->name());
160 160
161 maxLength = -1; 161 maxLength = -1;
162 162
163 setFont (KGlobalSettings::generalFont()); 163 setFont (KGlobalSettings::generalFont());
164 164
165 myDocID = uniqueID; 165 myDocID = uniqueID;
166 uniqueID++; 166 uniqueID++;
167 167
168 myDocName = QString (""); 168 myDocName = QString ("");
169 fileInfo = new QFileInfo (); 169 fileInfo = new QFileInfo ();
170 170
171 myCmd = new KateCmd (this); 171 myCmd = new KateCmd (this);
172 172
173 connect(this,SIGNAL(modifiedChanged ()),this,SLOT(slotModChanged ())); 173 connect(this,SIGNAL(modifiedChanged ()),this,SLOT(slotModChanged ()));
174 174
175 buffer = new KWBuffer; 175 buffer = new KWBuffer;
176 connect(buffer, SIGNAL(linesChanged(int)), this, SLOT(slotBufferChanged())); 176 connect(buffer, SIGNAL(linesChanged(int)), this, SLOT(slotBufferChanged()));
177// connect(buffer, SIGNAL(textChanged()), this, SIGNAL(textChanged())); 177// connect(buffer, SIGNAL(textChanged()), this, SIGNAL(textChanged()));
178 connect(buffer, SIGNAL(needHighlight(long,long)),this,SLOT(slotBufferHighlight(long,long))); 178 connect(buffer, SIGNAL(needHighlight(long,long)),this,SLOT(slotBufferHighlight(long,long)));
179 179
180 colors[0] = KGlobalSettings::baseColor(); 180 colors[0] = KGlobalSettings::baseColor();
181 colors[1] = KGlobalSettings::highlightColor(); 181 colors[1] = KGlobalSettings::highlightColor();
182 182
183 m_attribs = new Attribute[maxAttribs]; 183 m_attribs = new Attribute[maxAttribs];
184 184
185 m_highlight = 0L; 185 m_highlight = 0L;
186 tabChars = 8; 186 tabChars = 8;
187 187
188 m_singleSelection = false; 188 m_singleSelection = false;
189 189
190 newDocGeometry = false; 190 newDocGeometry = false;
191 readOnly = false; 191 readOnly = false;
192 newDoc = false; 192 newDoc = false;
193 193
194 modified = false; 194 modified = false;
195 195
196 undoList.setAutoDelete(true); 196 undoList.setAutoDelete(true);
197 undoState = 0; 197 undoState = 0;
198 undoSteps = 50; 198 undoSteps = 50;
199 199
200 pseudoModal = 0L; 200 pseudoModal = 0L;
201 clear(); 201 clear();
202 202
203 setHighlight(0); //calls updateFontData() 203 setHighlight(0); //calls updateFontData()
204 // if the user changes the highlight with the dialog, notify the doc 204 // if the user changes the highlight with the dialog, notify the doc
205 connect(hlManager,SIGNAL(changed()),SLOT(hlChanged())); 205 connect(hlManager,SIGNAL(changed()),SLOT(hlChanged()));
206 206
207 newDocGeometry = false; 207 newDocGeometry = false;
208 208
209 readConfig(); 209 readConfig();
210 210
211 setReadOnly(false); 211 setReadOnly(false);
212} 212}
213 213
214void KateDocument::setDontChangeHlOnSave() 214void KateDocument::setDontChangeHlOnSave()
215{ 215{
216 d(this)->hlSetByUser = true; 216 d(this)->hlSetByUser = true;
217} 217}
218 218
219void KateDocument::setFont (QFont font) 219void KateDocument::setFont (QFont font)
220{ 220{
221 kdDebug()<<"Kate:: setFont"<<endl; 221 kdDebug()<<"Kate:: setFont"<<endl;
222 int oldwidth=myFontMetrics.width('W'); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0 222 int oldwidth=myFontMetrics.width('W'); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0
223 myFont = font; 223 myFont = font;
224 myFontBold = QFont (font); 224 myFontBold = QFont (font);
225 myFontBold.setBold (true); 225 myFontBold.setBold (true);
226 226
227 myFontItalic = QFont (font); 227 myFontItalic = QFont (font);
228 myFontItalic.setItalic (true); 228 myFontItalic.setItalic (true);
229 229
230 myFontBI = QFont (font); 230 myFontBI = QFont (font);
231 myFontBI.setBold (true); 231 myFontBI.setBold (true);
232 myFontBI.setItalic (true); 232 myFontBI.setItalic (true);
233 233
234 myFontMetrics = CachedFontMetrics (myFont); 234 myFontMetrics = CachedFontMetrics (myFont);
235 myFontMetricsBold = CachedFontMetrics (myFontBold); 235 myFontMetricsBold = CachedFontMetrics (myFontBold);
236 myFontMetricsItalic = CachedFontMetrics (myFontItalic); 236 myFontMetricsItalic = CachedFontMetrics (myFontItalic);
237 myFontMetricsBI = CachedFontMetrics (myFontBI); 237 myFontMetricsBI = CachedFontMetrics (myFontBI);
238 int newwidth=myFontMetrics.width('W'); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0 238 int newwidth=myFontMetrics.width('W'); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0
239 maxLength=maxLength*(float)newwidth/(float)oldwidth; //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0 239 maxLength=maxLength*(float)newwidth/(float)oldwidth; //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0
240 240
241 updateFontData(); 241 updateFontData();
242 updateViews(); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0 242 updateViews(); //Quick & Dirty Hack (by JoWenn) //Remove in KDE 3.0
243 243
244} 244}
245 245
246long KateDocument::needPreHighlight(long till) 246long KateDocument::needPreHighlight(long till)
247{ 247{
248 int max=numLines()-1; 248 int max=numLines()-1;
249 if (till>max) 249 if (till>max)
250 { 250 {
251 till=max; 251 till=max;
252 } 252 }
253 if (PreHighlightedTill>=till) return -1; 253 if (PreHighlightedTill>=till) return -1;
254 254
255 long tmp=RequestPreHighlightTill; 255 long tmp=RequestPreHighlightTill;
256 if (RequestPreHighlightTill<till) 256 if (RequestPreHighlightTill<till)
257 { 257 {
258 RequestPreHighlightTill=till; 258 RequestPreHighlightTill=till;
259 if (tmp<=PreHighlightedTill) QTimer::singleShot(10,this,SLOT(doPreHighlight())); 259 if (tmp<=PreHighlightedTill) QTimer::singleShot(10,this,SLOT(doPreHighlight()));
260 } 260 }
261 return RequestPreHighlightTill; 261 return RequestPreHighlightTill;
262} 262}
263 263
264void KateDocument::doPreHighlight() 264void KateDocument::doPreHighlight()
265{ 265{
266 int from = PreHighlightedTill; 266 int from = PreHighlightedTill;
267 int till = PreHighlightedTill+200; 267 int till = PreHighlightedTill+200;
268 int max = numLines()-1; 268 int max = numLines()-1;
269 if (till > max) 269 if (till > max)
270 { 270 {
271 till = max; 271 till = max;
272 } 272 }
273 PreHighlightedTill = till; 273 PreHighlightedTill = till;
274 updateLines(from,till); 274 updateLines(from,till);
275 emit preHighlightChanged(PreHighlightedTill); 275 emit preHighlightChanged(PreHighlightedTill);
276 if (PreHighlightedTill<RequestPreHighlightTill) 276 if (PreHighlightedTill<RequestPreHighlightTill)
277 QTimer::singleShot(10,this,SLOT(doPreHighlight())); 277 QTimer::singleShot(10,this,SLOT(doPreHighlight()));
278} 278}
279 279
280KateDocument::~KateDocument() 280KateDocument::~KateDocument()
281{ 281{
282 m_highlight->release(); 282 m_highlight->release();
283 283
284 if ( !m_bSingleViewMode ) 284 if ( !m_bSingleViewMode )
285 { 285 {
286 m_views.setAutoDelete( true ); 286 m_views.setAutoDelete( true );
287 m_views.clear(); 287 m_views.clear();
288 m_views.setAutoDelete( false ); 288 m_views.setAutoDelete( false );
289 } 289 }
290 delete_d(this); 290 delete_d(this);
291} 291}
292 292
293void KateDocument::openURL(const QString &filename) 293void KateDocument::openURL(const QString &filename)
294{ 294{
295 295
296 m_file=filename; 296 m_file=filename;
297 fileInfo->setFile (m_file); 297 fileInfo->setFile (m_file);
298 setMTime(); 298 setMTime();
299 299
300 if (!fileInfo->exists() || !fileInfo->isReadable()) 300 if (!fileInfo->exists() || !fileInfo->isReadable())
301 { 301 {
302 qDebug("File doesn't exit or couldn't be read"); 302 qDebug("File doesn't exit or couldn't be read");
303 return false; 303 return ;
304 } 304 }
305 305
306 buffer->clear(); 306 buffer->clear();
307#warning fixme 307#warning fixme
308// buffer->insertFile(0, m_file, KGlobal::charsets()->codecForName(myEncoding)); 308// buffer->insertFile(0, m_file, KGlobal::charsets()->codecForName(myEncoding));
309 qDebug("Telling buffer to open file"); 309 qDebug("Telling buffer to open file");
310 buffer->insertFile(0, m_file, QTextCodec::codecForLocale()); 310 buffer->insertFile(0, m_file, QTextCodec::codecForLocale());
311 311
312 setMTime(); 312 setMTime();
313 313
314 if (myWordWrap) 314 if (myWordWrap)
315 wrapText (myWordWrapAt); 315 wrapText (myWordWrapAt);
316 316
317 int hl = hlManager->wildcardFind( m_file ); 317 int hl = hlManager->wildcardFind( m_file );
318 318
319 setHighlight(hl); 319 setHighlight(hl);
320 320
321 updateLines(); 321 updateLines();
322 updateViews(); 322 updateViews();
323 323
324 emit fileNameChanged(); 324 emit fileNameChanged();
325 325
326 return true; 326 return ;
327} 327}
328 328
329bool KateDocument::saveFile() 329bool KateDocument::saveFile()
330{ 330{
331 QFile f( m_file ); 331 QFile f( m_file );
332 if ( !f.open( IO_WriteOnly ) ) 332 if ( !f.open( IO_WriteOnly ) )
333 return false; // Error 333 return false; // Error
334 334
335 QTextStream stream(&f); 335 QTextStream stream(&f);
336 336
337 stream.setEncoding(QTextStream::RawUnicode); // disable Unicode headers 337 stream.setEncoding(QTextStream::RawUnicode); // disable Unicode headers
338#warning fixme 338#warning fixme
339// stream.setCodec(KGlobal::charsets()->codecForName(myEncoding)); 339// stream.setCodec(KGlobal::charsets()->codecForName(myEncoding));
340 stream.setCodec(QTextCodec::codecForLocale()); // this line sets the mapper to the correct codec 340 stream.setCodec(QTextCodec::codecForLocale()); // this line sets the mapper to the correct codec
341 341
342 int maxLine = numLines(); 342 int maxLine = numLines();
343 int line = 0; 343 int line = 0;
344 while(true) 344 while(true)
345 { 345 {
346 stream << getTextLine(line)->getString(); 346 stream << getTextLine(line)->getString();
347 line++; 347 line++;
348 if (line >= maxLine) break; 348 if (line >= maxLine) break;
349 349
350 if (eolMode == KateDocument::eolUnix) stream << "\n"; 350 if (eolMode == KateDocument::eolUnix) stream << "\n";
351 else if (eolMode == KateDocument::eolDos) stream << "\r\n"; 351 else if (eolMode == KateDocument::eolDos) stream << "\r\n";
352 else if (eolMode == KateDocument::eolMacintosh) stream << '\r'; 352 else if (eolMode == KateDocument::eolMacintosh) stream << '\r';
353 }; 353 };
354 f.close(); 354 f.close();
355 355
356 fileInfo->setFile (m_file); 356 fileInfo->setFile (m_file);
357 setMTime(); 357 setMTime();
358 358
359 if (!(d(this)->hlSetByUser)) 359 if (!(d(this)->hlSetByUser))
360 { 360 {
361 int hl = hlManager->wildcardFind( m_file ); 361 int hl = hlManager->wildcardFind( m_file );
362 362
363 setHighlight(hl); 363 setHighlight(hl);
364 } 364 }
365 emit fileNameChanged (); 365 emit fileNameChanged ();
366 366
367 return (f.status() == IO_Ok); 367 return (f.status() == IO_Ok);
368} 368}
369 369
370KTextEditor::View *KateDocument::createView( QWidget *parent, const char *name ) 370KTextEditor::View *KateDocument::createView( QWidget *parent, const char *name )
371{ 371{
372 return new KateView( this, parent, name); 372 return new KateView( this, parent, name);
373} 373}
374 374
375QString KateDocument::textLine( int line ) const 375QString KateDocument::textLine( int line ) const
376{ 376{
377 TextLine::Ptr l = getTextLine( line ); 377 TextLine::Ptr l = getTextLine( line );
378 if ( !l ) 378 if ( !l )
379 return QString(); 379 return QString();
380 380
381 return l->getString(); 381 return l->getString();
382} 382}
383 383
384void KateDocument::replaceLine(const QString& s,int line) 384void KateDocument::replaceLine(const QString& s,int line)
385{ 385{
386 remove_Line(line,false); 386 remove_Line(line,false);
387 insert_Line(s,line,true); 387 insert_Line(s,line,true);
388} 388}
389 389
390void KateDocument::insertLine( const QString &str, int l ) { 390void KateDocument::insertLine( const QString &str, int l ) {
391 insert_Line(str,l,true); 391 insert_Line(str,l,true);
392} 392}
393 393
394void KateDocument::insert_Line(const QString& s,int line, bool update) 394void KateDocument::insert_Line(const QString& s,int line, bool update)
395{ 395{
396 kdDebug(13020)<<"KateDocument::insertLine "<<s<<QString("%1").arg(line)<<endl; 396 kdDebug(13020)<<"KateDocument::insertLine "<<s<<QString(" %1").arg(line)<<endl;
397 TextLine::Ptr TL=new TextLine(); 397 TextLine::Ptr TL=new TextLine();
398 TL->append(s.unicode(),s.length()); 398 TL->append(s.unicode(),s.length());
399 buffer->insertLine(line,TL); 399 buffer->insertLine(line,TL);
400 if (update) 400 if (update)
401 { 401 {
402 newDocGeometry=true; 402 newDocGeometry=true;
403 updateLines(line); 403 updateLines(line);
404 updateViews(); 404 updateViews();
405 } 405 }
406} 406}
407 407
408void KateDocument::insertAt( const QString &s, int line, int col, bool ) 408void KateDocument::insertAt( const QString &s, int line, int col, bool )
409{ 409{
410 VConfig c; 410 VConfig c;
411 c.view = 0; // ### FIXME 411 c.view = 0; // ### FIXME
412 c.cursor.x = col; 412 c.cursor.x = col;
413 c.cursor.y = line; 413 c.cursor.y = line;
414 c.cXPos = 0; // ### FIXME 414 c.cXPos = 0; // ### FIXME
415 c.flags = 0; // ### FIXME 415 c.flags = 0; // ### FIXME
416 insert( c, s ); 416 insert( c, s );
417} 417}
418 418
419void KateDocument::removeLine( int line ) { 419void KateDocument::removeLine( int line ) {
420 remove_Line(line,true); 420 remove_Line(line,true);
421} 421}
422 422
423void KateDocument::remove_Line(int line,bool update) 423void KateDocument::remove_Line(int line,bool update)
424{ 424{
425 kdDebug(13020)<<"KateDocument::removeLine "<<QString("%1").arg(line)<<endl; 425 kdDebug(13020)<<"KateDocument::removeLine "<<QString("%1").arg(line)<<endl;
426 buffer->removeLine(line); 426 buffer->removeLine(line);
427// newDocGeometry=true; 427// newDocGeometry=true;
428// if line==0) 428// if line==0)
429 if (update) 429 if (update)
430 { 430 {
431 updateLines(line); 431 updateLines(line);
432 updateViews(); 432 updateViews();
433 } 433 }
434} 434}
435 435
436int KateDocument::length() const 436int KateDocument::length() const
437{ 437{
438 return text().length(); 438 return text().length();
439} 439}
440 440
441void KateDocument::setSelection( int , int , int , int ) 441void KateDocument::setSelection( int , int , int , int )
442{ 442{
443} 443}
444 444
445bool KateDocument::hasSelection() const 445bool KateDocument::hasSelection() const
446{ 446{
447 return (selectEnd >= selectStart); 447 return (selectEnd >= selectStart);
448} 448}
449 449
450QString KateDocument::selection() const 450QString KateDocument::selection() const
451{ 451{
452 uint flags = 0; 452 uint flags = 0;
453 TextLine::Ptr textLine; 453 TextLine::Ptr textLine;
454 int len, z, start, end, i; 454 int len, z, start, end, i;
455 455
456 len = 1; 456 len = 1;
457 if (!(flags & KateView::cfVerticalSelect)) { 457 if (!(flags & KateView::cfVerticalSelect)) {
458 for (z = selectStart; z <= selectEnd; z++) { 458 for (z = selectStart; z <= selectEnd; z++) {
459 textLine = getTextLine(z); 459 textLine = getTextLine(z);
460 len += textLine->numSelected(); 460 len += textLine->numSelected();
461 if (textLine->isSelected()) len++; 461 if (textLine->isSelected()) len++;
462 } 462 }
463 QString s; 463 QString s;
464 len = 0; 464 len = 0;
465 for (z = selectStart; z <= selectEnd; z++) { 465 for (z = selectStart; z <= selectEnd; z++) {
466 textLine = getTextLine(z); 466 textLine = getTextLine(z);
467 end = 0; 467 end = 0;
468 do { 468 do {
469 start = textLine->findUnselected(end); 469 start = textLine->findUnselected(end);
470 end = textLine->findSelected(start); 470 end = textLine->findSelected(start);
471 for (i = start; i < end; i++) { 471 for (i = start; i < end; i++) {
472 s[len] = textLine->getChar(i); 472 s[len] = textLine->getChar(i);
473 len++; 473 len++;
474 } 474 }
475 } while (start < end); 475 } while (start < end);
476 if (textLine->isSelected()) { 476 if (textLine->isSelected()) {
477 s[len] = '\n'; 477 s[len] = '\n';
478 len++; 478 len++;
479 } 479 }
480 } 480 }
481// s[len] = '\0'; 481// s[len] = '\0';
482 return s; 482 return s;
483 } else { 483 } else {
484 for (z = selectStart; z <= selectEnd; z++) { 484 for (z = selectStart; z <= selectEnd; z++) {
485 textLine = getTextLine(z); 485 textLine = getTextLine(z);
486 len += textLine->numSelected() + 1; 486 len += textLine->numSelected() + 1;
487 } 487 }
488 QString s; 488 QString s;
489 len = 0; 489 len = 0;
490 for (z = selectStart; z <= selectEnd; z++) { 490 for (z = selectStart; z <= selectEnd; z++) {
491 textLine = getTextLine(z); 491 textLine = getTextLine(z);
492 end = 0; 492 end = 0;
493 do { 493 do {
494 start = textLine->findUnselected(end); 494 start = textLine->findUnselected(end);
495 end = textLine->findSelected(start); 495 end = textLine->findSelected(start);
496 for (i = start; i < end; i++) { 496 for (i = start; i < end; i++) {
497 s[len] = textLine->getChar(i); 497 s[len] = textLine->getChar(i);
498 len++; 498 len++;
499 } 499 }
500 } while (start < end); 500 } while (start < end);
501 s[len] = '\n'; 501 s[len] = '\n';
502 len++; 502 len++;
503 } 503 }
504// s[len] = '\0'; // the final \0 is not counted in length() 504// s[len] = '\0'; // the final \0 is not counted in length()
505 return s; 505 return s;
506 } 506 }
507} 507}
508 508
509int KateDocument::numLines() const 509int KateDocument::numLines() const
510{ 510{
511 return buffer->count(); 511 return buffer->count();
512} 512}
513 513
514 514
515TextLine::Ptr KateDocument::getTextLine(int line) const 515TextLine::Ptr KateDocument::getTextLine(int line) const
516{ 516{
517 // This is a hack to get this stuff working. 517 // This is a hack to get this stuff working.
518 return buffer->line(line); 518 return buffer->line(line);
519} 519}
520 520
521int KateDocument::textLength(int line) { 521int KateDocument::textLength(int line) {
522 TextLine::Ptr textLine = getTextLine(line); 522 TextLine::Ptr textLine = getTextLine(line);
523 if (!textLine) return 0; 523 if (!textLine) return 0;
524 return textLine->length(); 524 return textLine->length();
525} 525}
526 526
527void KateDocument::setTabWidth(int chars) { 527void KateDocument::setTabWidth(int chars) {
528 if (tabChars == chars) return; 528 if (tabChars == chars) return;
529 if (chars < 1) chars = 1; 529 if (chars < 1) chars = 1;
530 if (chars > 16) chars = 16; 530 if (chars > 16) chars = 16;
531 tabChars = chars; 531 tabChars = chars;
532 updateFontData(); 532 updateFontData();
533 533
534 maxLength = -1; 534 maxLength = -1;
535 for (int i=0; i < buffer->count(); i++) 535 for (int i=0; i < buffer->count(); i++)
536 { 536 {
537 TextLine::Ptr textLine = buffer->line(i); 537 TextLine::Ptr textLine = buffer->line(i);
538 int len = textWidth(textLine,textLine->length()); 538 int len = textWidth(textLine,textLine->length());
539 if (len > maxLength) { 539 if (len > maxLength) {
540 maxLength = len; 540 maxLength = len;
541 longestLine = textLine; 541 longestLine = textLine;
542 } 542 }
543 } 543 }
544} 544}
545 545
546void KateDocument::setReadOnly(bool m) { 546void KateDocument::setReadOnly(bool m) {
547 KTextEditor::View *view; 547 KTextEditor::View *view;
548 548
549 if (m != readOnly) { 549 if (m != readOnly) {
550 readOnly = m; 550 readOnly = m;
551// if (readOnly) recordReset(); 551// if (readOnly) recordReset();
552 for (view = m_views.first(); view != 0L; view = m_views.next() ) { 552 for (view = m_views.first(); view != 0L; view = m_views.next() ) {
553 emit static_cast<KateView *>( view )->newStatus(); 553 emit static_cast<KateView *>( view )->newStatus();
554 } 554 }
555 } 555 }
556} 556}
557 557
558bool KateDocument::isReadOnly() const { 558bool KateDocument::isReadOnly() const {
559 return readOnly; 559 return readOnly;
560} 560}
561 561
562void KateDocument::setNewDoc( bool m ) 562void KateDocument::setNewDoc( bool m )
563{ 563{
564// KTextEditor::View *view; 564// KTextEditor::View *view;
565 565
566 if ( m != newDoc ) 566 if ( m != newDoc )
567 { 567 {
568 newDoc = m; 568 newDoc = m;
569//// if (readOnly) recordReset(); 569//// if (readOnly) recordReset();
570// for (view = m_views.first(); view != 0L; view = m_views.next() ) { 570// for (view = m_views.first(); view != 0L; view = m_views.next() ) {
571// emit static_cast<KateView *>( view )->newStatus(); 571// emit static_cast<KateView *>( view )->newStatus();
572// } 572// }
573 } 573 }
574} 574}
575 575
576bool KateDocument::isNewDoc() const { 576bool KateDocument::isNewDoc() const {
577 return newDoc; 577 return newDoc;
578} 578}
579 579
580void KateDocument::setModified(bool m) { 580void KateDocument::setModified(bool m) {
581 KTextEditor::View *view; 581 KTextEditor::View *view;
582 582
583 if (m != modified) { 583 if (m != modified) {
584 modified = m; 584 modified = m;
585 for (view = m_views.first(); view != 0L; view = m_views.next() ) { 585 for (view = m_views.first(); view != 0L; view = m_views.next() ) {
586 emit static_cast<KateView *>( view )->newStatus(); 586 emit static_cast<KateView *>( view )->newStatus();
587 } 587 }
588 emit modifiedChanged (); 588 emit modifiedChanged ();