summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp28
-rw-r--r--core/apps/textedit/textedit.cpp99
-rw-r--r--core/apps/textedit/textedit.h7
3 files changed, 73 insertions, 61 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index bc99348..f322513 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -39,25 +39,25 @@
39#include <stdlib.h> 39#include <stdlib.h>
40 40
41static int u_id = 1; 41static int u_id = 1;
42static int get_unique_id() 42static int get_unique_id()
43{ 43{
44 return u_id++; 44 return u_id++;
45} 45}
46 46
47fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter ) 47fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter )
48 : QDialog( parent, name, modal, fl ) 48 : QDialog( parent, name, modal, fl )
49{ 49{
50 if ( !name ) 50 if ( !name )
51 setName( tr("fileBrowser") ); 51 setName( "fileBrowser" );
52 setCaption(tr( name ) ); 52 setCaption(tr( name ) );
53// mimeType = mimeFilter; 53// mimeType = mimeFilter;
54// MimeType mt( mimeType); 54// MimeType mt( mimeType);
55// if( mt.extension().isEmpty()) 55// if( mt.extension().isEmpty())
56// QStringList filterList; 56// QStringList filterList;
57// filterList=QStringList::split(";",mimeFilter,FALSE); 57// filterList=QStringList::split(";",mimeFilter,FALSE);
58// for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) { 58// for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) {
59// printf( "%s \n", (*it).latin1() ); 59// printf( "%s \n", (*it).latin1() );
60// } 60// }
61 61
62 filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*"; 62 filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*";
63 63
@@ -111,39 +111,39 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
111 homeButton->setFlat(TRUE); 111 homeButton->setFlat(TRUE);
112 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 ); 112 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 );
113 113
114 FileStack = new QWidgetStack( this ); 114 FileStack = new QWidgetStack( this );
115 115
116 ListView = new QListView( this, "ListView" ); 116 ListView = new QListView( this, "ListView" );
117// ListView->setMinimumSize( QSize( 100, 25 ) ); 117// ListView->setMinimumSize( QSize( 100, 25 ) );
118 ListView->addColumn( tr( "Name" ) ); 118 ListView->addColumn( tr( "Name" ) );
119 ListView->setColumnWidth(0,120); 119 ListView->setColumnWidth(0,120);
120 ListView->setSorting( 2, FALSE); 120 ListView->setSorting( 2, FALSE);
121 ListView->addColumn( tr( "Size" ) ); 121 ListView->addColumn( tr( "Size" ) );
122 ListView->setColumnWidth(1,-1); 122 ListView->setColumnWidth(1,-1);
123 ListView->addColumn( tr("Date"),-1); 123 ListView->addColumn( "Date",-1);
124 124
125 ListView->setColumnWidthMode(0,QListView::Manual); 125 ListView->setColumnWidthMode(0,QListView::Manual);
126 ListView->setColumnAlignment(1,QListView::AlignRight); 126 ListView->setColumnAlignment(1,QListView::AlignRight);
127 ListView->setColumnAlignment(2,QListView::AlignRight); 127 ListView->setColumnAlignment(2,QListView::AlignRight);
128 ListView->setAllColumnsShowFocus( TRUE ); 128 ListView->setAllColumnsShowFocus( TRUE );
129 129
130 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); 130 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
131 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 131 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
132 this, SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 132 this, SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
133 133
134 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 134 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
135 135
136 FileStack->addWidget( ListView, get_unique_id() ); 136 FileStack->addWidget( ListView, get_unique_id() );
137 137mimeType="text/plain";
138 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy 138 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
139// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) ); 139// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
140// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 140// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
141 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), 141 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ),
142 this, SLOT( docOpen( const DocLnk & ) ) ); 142 this, SLOT( docOpen( const DocLnk & ) ) );
143 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 ); 143 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 );
144 144
145 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" ); 145 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
146 SelectionCombo->insertItem( tr( "Documents" ) ); 146 SelectionCombo->insertItem( tr( "Documents" ) );
147 SelectionCombo->insertItem( tr( "All files" ) ); 147 SelectionCombo->insertItem( tr( "All files" ) );
148 SelectionCombo->insertItem( tr( "Hidden files" ) ); 148 SelectionCombo->insertItem( tr( "Hidden files" ) );
149// SelectionCombo->setMaximumWidth(120); 149// SelectionCombo->setMaximumWidth(120);
@@ -339,32 +339,32 @@ void fileBrowser::homeButtonPushed() {
339 339
340void fileBrowser::docButtonPushed() { 340void fileBrowser::docButtonPushed() {
341 QString current = QPEApplication::documentDir(); 341 QString current = QPEApplication::documentDir();
342 chdir( current.latin1() ); 342 chdir( current.latin1() );
343 currentDir.cd( current, TRUE); 343 currentDir.cd( current, TRUE);
344 populateList(); 344 populateList();
345 update(); 345 update();
346 346
347} 347}
348 348
349void fileBrowser::selectionChanged( const QString &select ) 349void fileBrowser::selectionChanged( const QString &select )
350{ 350{
351 if ( select == tr("Documents")) { 351 if ( select == "Documents") {
352 FileStack->raiseWidget( fileSelector ); 352 FileStack->raiseWidget( fileSelector );
353 dirPathCombo->hide(); 353 dirPathCombo->hide();
354 cdUpButton->hide(); 354 cdUpButton->hide();
355 docButton->hide(); 355 docButton->hide();
356 homeButton->hide(); 356 homeButton->hide();
357 } else { 357 } else {
358 if ( select == tr("All files") ) 358 if ( select == "All files" )
359 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All); 359 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All);
360 else 360 else
361 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 361 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
362 362
363 populateList(); 363 populateList();
364 update(); 364 update();
365 dirPathCombo->show(); 365 dirPathCombo->show();
366 cdUpButton->show(); 366 cdUpButton->show();
367 docButton->show(); 367 docButton->show();
368 homeButton->show(); 368 homeButton->show();
369 FileStack->raiseWidget( ListView ); 369 FileStack->raiseWidget( ListView );
370 } 370 }
@@ -403,68 +403,68 @@ void fileBrowser::showListMenu(QListViewItem *item) {
403 m.insertItem( tr( "Rescan" ), this, SLOT( populateList() )); 403 m.insertItem( tr( "Rescan" ), this, SLOT( populateList() ));
404 404
405 } 405 }
406 m.exec( QCursor::pos() ); 406 m.exec( QCursor::pos() );
407} 407}
408 408
409void fileBrowser::doCd() { 409void fileBrowser::doCd() {
410 listClicked( ListView->currentItem()); 410 listClicked( ListView->currentItem());
411} 411}
412 412
413void fileBrowser::makDir() { 413void fileBrowser::makDir() {
414 InputDialog *fileDlg; 414 InputDialog *fileDlg;
415 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 415 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0);
416 fileDlg->exec(); 416 fileDlg->exec();
417 if( fileDlg->result() == 1 ) { 417 if( fileDlg->result() == 1 ) {
418 QString filename = fileDlg->LineEdit1->text(); 418 QString filename = fileDlg->LineEdit1->text();
419 qDebug("Make dir"); 419 qDebug("Make dir");
420 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); 420 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
421 } 421 }
422 populateList(); 422 populateList();
423} 423}
424 424
425void fileBrowser::localRename() { 425void fileBrowser::localRename() {
426 QString curFile = ListView->currentItem()->text(0); 426 QString curFile = ListView->currentItem()->text(0);
427 InputDialog *fileDlg; 427 InputDialog *fileDlg;
428 fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0); 428 fileDlg = new InputDialog(this,"Rename",TRUE, 0);
429 fileDlg->setTextEdit((const QString &) curFile); 429 fileDlg->setTextEdit((const QString &) curFile);
430 fileDlg->exec(); 430 fileDlg->exec();
431 if( fileDlg->result() == 1 ) { 431 if( fileDlg->result() == 1 ) {
432 QString oldname = currentDir.canonicalPath() + "/" + curFile; 432 QString oldname = currentDir.canonicalPath() + "/" + curFile;
433 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; 433 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
434 if( rename(oldname.latin1(), newName.latin1())== -1) 434 if( rename(oldname.latin1(), newName.latin1())== -1)
435 QMessageBox::message(tr("Note"),tr("Could not rename")); 435 QMessageBox::message("Note","Could not rename");
436 } 436 }
437 populateList(); 437 populateList();
438} 438}
439 439
440void fileBrowser::localDelete() { 440void fileBrowser::localDelete() {
441 QString f = ListView->currentItem()->text(0); 441 QString f = ListView->currentItem()->text(0);
442 if(QDir(f).exists() ) { 442 if(QDir(f).exists() ) {
443 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ 443 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+
444 tr(" ?\nIt must be empty"),tr("Yes"),tr("No"),0,0,1) ) { 444 " ?\nIt must be empty","Yes","No",0,0,1) ) {
445 case 0: { 445 case 0: {
446 f=currentDir.canonicalPath()+"/"+f; 446 f=currentDir.canonicalPath()+"/"+f;
447 QString cmd="rmdir "+f; 447 QString cmd="rmdir "+f;
448 system( cmd.latin1()); 448 system( cmd.latin1());
449 populateList(); 449 populateList();
450 } 450 }
451 break; 451 break;
452 case 1: 452 case 1:
453 // exit 453 // exit
454 break; 454 break;
455 }; 455 };
456 } else { 456 } else {
457 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f 457 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f
458 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 458 +" ?","Yes","No",0,0,1) ) {
459 case 0: { 459 case 0: {
460 f=currentDir.canonicalPath()+"/"+f; 460 f=currentDir.canonicalPath()+"/"+f;
461 QString cmd="rm "+f; 461 QString cmd="rm "+f;
462 system( cmd.latin1()); 462 system( cmd.latin1());
463 populateList(); 463 populateList();
464 } 464 }
465 break; 465 break;
466 case 1: 466 case 1:
467 // exit 467 // exit
468 break; 468 break;
469 }; 469 };
470 } 470 }
@@ -484,25 +484,25 @@ void fileBrowser::updateMimeTypeMenu() {
484 types += getMimeTypes(); 484 types += getMimeTypes();
485 prev = typemb->currentText(); 485 prev = typemb->currentText();
486 typemb->clear(); 486 typemb->clear();
487 typemb->insertItems(types); 487 typemb->insertItems(types);
488 // typemb->select(prev); 488 // typemb->select(prev);
489 489
490 connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&))); 490 connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&)));
491} 491}
492 492
493void fileBrowser::showType(const QString &t) { 493void fileBrowser::showType(const QString &t) {
494 494
495 qDebug(t); 495 qDebug(t);
496 if(t.find(tr("All"),0,TRUE) != -1) { 496 if(t.find("All",0,TRUE) != -1) {
497 filterStr = "*"; 497 filterStr = "*";
498 } else { 498 } else {
499 QStringList list = mimetypes.grep( t,TRUE); 499 QStringList list = mimetypes.grep( t,TRUE);
500 QString ext; 500 QString ext;
501 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { 501 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
502 mimeType =(*it); 502 mimeType =(*it);
503 MimeType mt( mimeType); 503 MimeType mt( mimeType);
504// qDebug("mime "+mimeType); 504// qDebug("mime "+mimeType);
505// qDebug("description "+mt.description()); 505// qDebug("description "+mt.description());
506// qDebug( "id "+mt.id()); 506// qDebug( "id "+mt.id());
507// qDebug("extension "+mt.extension()); 507// qDebug("extension "+mt.extension());
508// if( mt.extension().isEmpty()) 508// if( mt.extension().isEmpty())
@@ -596,25 +596,25 @@ void fileBrowser::fillCombo(const QString &currentPath) {
596 if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 596 if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
597 dirPathCombo->clear(); 597 dirPathCombo->clear();
598 dirPathStringList.prepend(currentPath ); 598 dirPathStringList.prepend(currentPath );
599 dirPathCombo->insertStringList( dirPathStringList,-1); 599 dirPathCombo->insertStringList( dirPathStringList,-1);
600 } 600 }
601} 601}
602 602
603 603
604InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl ) 604InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
605 : QDialog( parent, name, modal, fl ) 605 : QDialog( parent, name, modal, fl )
606{ 606{
607 if ( !name ) 607 if ( !name )
608 setName( tr("InputDialog") ); 608 setName( "InputDialog" );
609 resize( 234, 50 ); 609 resize( 234, 50 );
610 setMaximumSize( QSize( 240, 50 ) ); 610 setMaximumSize( QSize( 240, 50 ) );
611 setCaption( tr(name ) ); 611 setCaption( tr(name ) );
612 612
613 LineEdit1 = new QLineEdit( this, "LineEdit1" ); 613 LineEdit1 = new QLineEdit( this, "LineEdit1" );
614 LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) ); 614 LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) );
615} 615}
616 616
617InputDialog::~InputDialog() 617InputDialog::~InputDialog()
618{ 618{
619 inputText= LineEdit1->text(); 619 inputText= LineEdit1->text();
620 620
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 6804918..943fecd 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -26,24 +26,25 @@
26 26
27#include "fontDialog.h" 27#include "fontDialog.h"
28 28
29#include <qpe/fontdatabase.h> 29#include <qpe/fontdatabase.h>
30#include <qpe/global.h> 30#include <qpe/global.h>
31#include <qpe/fileselector.h> 31#include <qpe/fileselector.h>
32#include <qpe/applnk.h> 32#include <qpe/applnk.h>
33#include <qpe/resource.h> 33#include <qpe/resource.h>
34#include <qpe/config.h> 34#include <qpe/config.h>
35#include <qpe/qpeapplication.h> 35#include <qpe/qpeapplication.h>
36#include <qpe/qpemenubar.h> 36#include <qpe/qpemenubar.h>
37#include <qpe/qpetoolbar.h> 37#include <qpe/qpetoolbar.h>
38#include <qpe/qcopenvelope_qws.h>
38//#include <qpe/finddialog.h> 39//#include <qpe/finddialog.h>
39 40
40#include <qstringlist.h> 41#include <qstringlist.h>
41#include <qaction.h> 42#include <qaction.h>
42#include <qcolordialog.h> 43#include <qcolordialog.h>
43#include <qfileinfo.h> 44#include <qfileinfo.h>
44#include <qlineedit.h> 45#include <qlineedit.h>
45#include <qmessagebox.h> 46#include <qmessagebox.h>
46#include <qobjectlist.h> 47#include <qobjectlist.h>
47#include <qpopupmenu.h> 48#include <qpopupmenu.h>
48#include <qspinbox.h> 49#include <qspinbox.h>
49#include <qtoolbutton.h> 50#include <qtoolbutton.h>
@@ -229,24 +230,28 @@ void QpeEditor::find ( const QString &txt, bool caseSensitive,
229static const int nfontsizes = 6; 230static const int nfontsizes = 6;
230static const int fontsize[nfontsizes] = {8,10,12,14,18,24}; 231static const int fontsize[nfontsizes] = {8,10,12,14,18,24};
231 232
232TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) 233TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
233 : QMainWindow( parent, name, f ), bFromDocView( FALSE ) 234 : QMainWindow( parent, name, f ), bFromDocView( FALSE )
234{ 235{
235 doc = 0; 236 doc = 0;
236 edited=FALSE; 237 edited=FALSE;
237 edited1=FALSE; 238 edited1=FALSE;
238 setToolBarsMovable( FALSE ); 239 setToolBarsMovable( FALSE );
239 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 240 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
240 241
242 channel = new QCopChannel( "QPE/Application/textedit", this );
243 connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
244 this, SLOT(receive(const QCString&, const QByteArray&)) );
245
241 setIcon( Resource::loadPixmap( "TextEditor" ) ); 246 setIcon( Resource::loadPixmap( "TextEditor" ) );
242 247
243 QPEToolBar *bar = new QPEToolBar( this ); 248 QPEToolBar *bar = new QPEToolBar( this );
244 bar->setHorizontalStretchable( TRUE ); 249 bar->setHorizontalStretchable( TRUE );
245 menu = bar; 250 menu = bar;
246 251
247 QPEMenuBar *mb = new QPEMenuBar( bar ); 252 QPEMenuBar *mb = new QPEMenuBar( bar );
248 QPopupMenu *file = new QPopupMenu( this ); 253 QPopupMenu *file = new QPopupMenu( this );
249 QPopupMenu *edit = new QPopupMenu( this ); 254 QPopupMenu *edit = new QPopupMenu( this );
250 font = new QPopupMenu( this ); 255 font = new QPopupMenu( this );
251 256
252 bar = new QPEToolBar( this ); 257 bar = new QPEToolBar( this );
@@ -388,31 +393,31 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
388 cfg.setGroup("Font"); 393 cfg.setGroup("Font");
389 QString family = cfg.readEntry("Family", fontInfo.family()); 394 QString family = cfg.readEntry("Family", fontInfo.family());
390 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); 395 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont));
391 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); 396 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10);
392 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); 397 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) );
393 398
394 defaultFont = fdb.font(family,style,i_size,charSet); 399 defaultFont = fdb.font(family,style,i_size,charSet);
395 editor->setFont( defaultFont); 400 editor->setFont( defaultFont);
396 401
397 wa->setOn(wrap); 402 wa->setOn(wrap);
398 updateCaption(); 403 updateCaption();
399 404
400 cfg.setGroup("View"); 405 cfg.setGroup("View");
401 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 406 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
402 nStart->setOn(TRUE); 407 nStart->setOn(TRUE);
403 fileNew(); 408 fileNew();
404 } else { 409 } else {
405 fileOpen(); 410 fileOpen();
406 } 411 }
407 viewSelection = cfg.readNumEntry( "FileView", 0 ); 412 viewSelection = cfg.readNumEntry( "FileView", 0 );
408} 413}
409 414
410void TextEdit::cleanUp() 415void TextEdit::cleanUp()
411{ 416{
412// save(); 417// save();
413 Config cfg("TextEdit"); 418 Config cfg("TextEdit");
414 cfg.setGroup("View"); 419 cfg.setGroup("View");
415 QFont f = editor->font(); 420 QFont f = editor->font();
416 cfg.writeEntry("FontSize",f.pointSize()); 421 cfg.writeEntry("FontSize",f.pointSize());
417 cfg.writeEntry("Bold",f.bold()); 422 cfg.writeEntry("Bold",f.bold());
418 cfg.writeEntry("Italic",f.italic()); 423 cfg.writeEntry("Italic",f.italic());
@@ -476,35 +481,37 @@ void TextEdit::setItalic(bool y)
476 editor->setFont(f); 481 editor->setFont(f);
477} 482}
478 483
479void TextEdit::setWordWrap(bool y) 484void TextEdit::setWordWrap(bool y)
480{ 485{
481 bool state = editor->edited(); 486 bool state = editor->edited();
482 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 487 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
483 editor->setEdited( state ); 488 editor->setEdited( state );
484} 489}
485 490
486void TextEdit::fileNew() 491void TextEdit::fileNew()
487{ 492{
488 if( !bFromDocView ) { 493// if( !bFromDocView ) {
489 saveAs(); 494// saveAs();
490 } 495// }
491 newFile(DocLnk()); 496 newFile(DocLnk());
492} 497}
493 498
494void TextEdit::fileOpen() 499void TextEdit::fileOpen()
495{ 500{
496 browseForFiles=new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // 501 browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); //
497 browseForFiles->setFileView( viewSelection ); 502 browseForFiles->setFileView( viewSelection );
498 browseForFiles->showMaximized(); 503 browseForFiles->showMaximized();
504// if( result != -1 )
505
499 if( browseForFiles->exec() != -1 ) { 506 if( browseForFiles->exec() != -1 ) {
500 QString selFile = browseForFiles->selectedFileName; 507 QString selFile = browseForFiles->selectedFileName;
501 QStringList fileList = browseForFiles->fileList; 508 QStringList fileList = browseForFiles->fileList;
502 qDebug(selFile); 509 qDebug(selFile);
503 QStringList::ConstIterator f; 510 QStringList::ConstIterator f;
504 QString fileTemp; 511 QString fileTemp;
505 for ( f = fileList.begin(); f != fileList.end(); f++ ) { 512 for ( f = fileList.begin(); f != fileList.end(); f++ ) {
506 fileTemp = *f; 513 fileTemp = *f;
507 fileTemp.right( fileTemp.length()-5); 514 fileTemp.right( fileTemp.length()-5);
508 QString fileName = fileTemp; 515 QString fileName = fileTemp;
509 if( fileName != "Unnamed" || fileName != "Empty Text" ) { 516 if( fileName != "Unnamed" || fileName != "Empty Text" ) {
510 currentFileName = fileName; 517 currentFileName = fileName;
@@ -609,100 +616,98 @@ void TextEdit::search()
609{ 616{
610 editor->find( searchEdit->text(), FALSE, FALSE ); 617 editor->find( searchEdit->text(), FALSE, FALSE );
611} 618}
612 619
613void TextEdit::newFile( const DocLnk &f ) 620void TextEdit::newFile( const DocLnk &f )
614{ 621{
615 DocLnk nf = f; 622 DocLnk nf = f;
616 nf.setType("text/plain"); 623 nf.setType("text/plain");
617 clear(); 624 clear();
618 setWState (WState_Reserved1 ); 625 setWState (WState_Reserved1 );
619 editor->setFocus(); 626 editor->setFocus();
620 doc = new DocLnk(nf); 627 doc = new DocLnk(nf);
628 currentFileName = "Unnamed";
621 qDebug("newFile "+currentFileName); 629 qDebug("newFile "+currentFileName);
622 updateCaption(currentFileName); 630 updateCaption( currentFileName);
631// editor->setEdited( FALSE);
623} 632}
624 633
625void TextEdit::openFile( const QString &f ) 634void TextEdit::openFile( const QString &f )
626{ 635{
627 636
628 bFromDocView = TRUE; 637// bFromDocView = TRUE;
629 DocLnk nf; 638 DocLnk nf;
630 nf.setType("text/plain"); 639 nf.setType("text/plain");
631 nf.setFile(f); 640 nf.setFile(f);
632 currentFileName=f; 641 currentFileName=f;
633 QFileInfo fi( currentFileName); 642 QFileInfo fi( currentFileName);
634 nf.setName(fi.baseName()); 643 nf.setName(fi.baseName());
635 qDebug("openFile string"+currentFileName); 644 qDebug("openFile string"+currentFileName);
636 645
637 openFile(nf); 646 openFile(nf);
638 showEditTools(); 647 showEditTools();
639 // Show filename in caption 648 // Show filename in caption
640 QString name = f; 649 QString name = f;
641 int sep = name.findRev( '/' ); 650 int sep = name.findRev( '/' );
642 if ( sep > 0 ) 651 if ( sep > 0 )
643 name = name.mid( sep+1 ); 652 name = name.mid( sep+1 );
644 updateCaption( name ); 653 updateCaption( name );
645} 654}
646 655
647void TextEdit::openFile( const DocLnk &f ) 656void TextEdit::openFile( const DocLnk &f )
648{ 657{
649// clear(); 658// clear();
650 bFromDocView = TRUE; 659// bFromDocView = TRUE;
651 FileManager fm; 660 FileManager fm;
652 QString txt; 661 QString txt;
653 currentFileName=f.name(); 662 currentFileName=f.name();
654 qDebug("openFile doclnk " + currentFileName); 663 qDebug("openFile doclnk " + currentFileName);
655 if ( !fm.loadFile( f, txt ) ) { 664 if ( !fm.loadFile( f, txt ) ) {
656 // ####### could be a new file 665 // ####### could be a new file
657 qDebug( "Cannot open file" ); 666 qDebug( "Cannot open file" );
658
659 //return;
660 } 667 }
661 668// fileNew();
662 fileNew();
663 if ( doc ) 669 if ( doc )
664 delete doc; 670 delete doc;
665 doc = new DocLnk(f); 671 doc = new DocLnk(f);
666 editor->setText(txt); 672 editor->setText(txt);
667 editor->setEdited( FALSE); 673 editor->setEdited( FALSE);
668 edited1=FALSE; 674 edited1=FALSE;
669 edited=FALSE; 675 edited=FALSE;
670 676
671 qDebug("openFile doclnk "+currentFileName);
672 doc->setName(currentFileName); 677 doc->setName(currentFileName);
673 updateCaption(); 678 updateCaption();
674} 679}
675 680
676void TextEdit::showEditTools() 681void TextEdit::showEditTools()
677{ 682{
678// if ( !doc ) 683// if ( !doc )
679// close(); 684// close();
680// clear(); 685// clear();
681 menu->show(); 686 menu->show();
682 editBar->show(); 687 editBar->show();
683 if ( searchVisible ) 688 if ( searchVisible )
684 searchBar->show(); 689 searchBar->show();
685// updateCaption(); 690// updateCaption();
686 setWState (WState_Reserved1 ); 691 setWState (WState_Reserved1 );
687} 692}
688 693
689/*! 694/*!
690 unprompted save */ 695 unprompted save */
691bool TextEdit::save() 696bool TextEdit::save()
692{ 697{
693 QString file = doc->file(); 698 QString file = doc->file();
694 qDebug(file); 699 qDebug("saver file "+file);
695 QString name= doc->name(); 700 QString name= doc->name();
696 qDebug(name); 701 qDebug("File named "+name);
697 QString rt = editor->text(); 702 QString rt = editor->text();
698 if( !rt.isEmpty() ) { 703 if( !rt.isEmpty() ) {
699 if(name.isEmpty()) { 704 if(name.isEmpty()) {
700 saveAs(); 705 saveAs();
701 } else { 706 } else {
702 currentFileName= name ; 707 currentFileName= name ;
703 qDebug("saveFile "+currentFileName); 708 qDebug("saveFile "+currentFileName);
704 709
705 struct stat buf; 710 struct stat buf;
706 mode_t mode; 711 mode_t mode;
707 stat(file.latin1(), &buf); 712 stat(file.latin1(), &buf);
708 mode = buf.st_mode; 713 mode = buf.st_mode;
@@ -722,41 +727,40 @@ bool TextEdit::save()
722 chmod( file.latin1(), mode); 727 chmod( file.latin1(), mode);
723 } 728 }
724 return true; 729 return true;
725 } 730 }
726 return false; 731 return false;
727} 732}
728 733
729/*! 734/*!
730 prompted save */ 735 prompted save */
731bool TextEdit::saveAs() 736bool TextEdit::saveAs()
732{ 737{
733// qDebug("saveAsFile "+currentFileName); 738// qDebug("saveAsFile "+currentFileName);
734 739 // case of nothing to save...
735 // case of nothing to save... /// there's always something to save 740 if ( !doc )//|| !bFromDocView)
736// if ( !doc )//|| !bFromDocView) 741 {
737// { 742 qDebug("no doc");
738// qDebug("no doc"); 743 return true;
739// return true; 744 }
740// }
741 if ( !editor->edited() ) { 745 if ( !editor->edited() ) {
742 delete doc; 746 delete doc;
743 doc = 0; 747 doc = 0;
744 return true; 748 return true;
745 } 749 }
746 750
747 QString rt = editor->text(); 751 QString rt = editor->text();
748 qDebug(currentFileName); 752 qDebug(currentFileName);
749 753
750 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed")) { 754 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) {
751 qDebug("do silly TT filename thing"); 755 qDebug("do silly TT filename thing");
752 if ( doc->name().isEmpty() ) { 756 if ( doc->name().isEmpty() ) {
753 QString pt = rt.simplifyWhiteSpace(); 757 QString pt = rt.simplifyWhiteSpace();
754 int i = pt.find( ' ' ); 758 int i = pt.find( ' ' );
755 QString docname = pt; 759 QString docname = pt;
756 if ( i > 0 ) 760 if ( i > 0 )
757 docname = pt.left( i ); 761 docname = pt.left( i );
758 // remove "." at the beginning 762 // remove "." at the beginning
759 while( docname.startsWith( "." ) ) 763 while( docname.startsWith( "." ) )
760 docname = docname.mid( 1 ); 764 docname = docname.mid( 1 );
761 docname.replace( QRegExp("/"), "_" ); 765 docname.replace( QRegExp("/"), "_" );
762 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. 766 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long.
@@ -805,80 +809,77 @@ bool TextEdit::saveAs()
805 } 809 }
806 } 810 }
807 } 811 }
808 editor->setEdited(TRUE); 812 editor->setEdited(TRUE);
809 edited1=FALSE; 813 edited1=FALSE;
810 edited=TRUE; 814 edited=TRUE;
811 if(caption().left(1)=="*") 815 if(caption().left(1)=="*")
812 setCaption(caption().right(caption().length()-1)); 816 setCaption(caption().right(caption().length()-1));
813 817
814 if(fileSaveDlg) 818 if(fileSaveDlg)
815 delete fileSaveDlg; 819 delete fileSaveDlg;
816 return true; 820 return true;
817} 821} //end saveAs
818 822
819void TextEdit::clear() 823void TextEdit::clear()
820{ 824{
821 delete doc; 825 delete doc;
822 doc = 0; 826 doc = 0;
823 editor->clear(); 827 editor->clear();
824} 828}
825 829
826void TextEdit::updateCaption( const QString &name ) 830void TextEdit::updateCaption( const QString &name )
827{ 831{
828 if ( !doc ) 832 if ( !doc )
829 setCaption( tr("Text Editor") ); 833 setCaption( tr("Text Editor") );
830 else { 834 else {
831 QString s = name; 835 QString s = name;
832 if ( s.isNull() ) 836 if ( s.isNull() )
833 s = doc->name(); 837 s = doc->name();
834 if ( s.isEmpty() ) { 838 if ( s.isEmpty() ) {
835 s = tr( "Unnamed" ); 839 s = tr( "Unnamed" );
836 currentFileName=s; 840 currentFileName=s;
837 } 841 }
838 842 if(s.left(1) == "/")
843 s = s.right(s.length()-1);
839 setCaption( s + " - " + tr("Text Editor") ); 844 setCaption( s + " - " + tr("Text Editor") );
840 } 845 }
841} 846}
842 847
843void TextEdit::setDocument(const QString& fileref) 848void TextEdit::setDocument(const QString& fileref)
844{ 849{
845 bFromDocView = TRUE; 850 bFromDocView = TRUE;
846 qDebug("setDocument "+fileref);
847 bFromDocView = TRUE;
848 if(fileref.find(".desktop",0,TRUE) == -1) { 851 if(fileref.find(".desktop",0,TRUE) == -1) {
849 openFile(fileref); 852 openFile(fileref);
850 } else { 853 } else {
851 openFile(DocLnk(fileref)); 854 qDebug("is desktop file");
855 openFile(DocLnk(fileref));
852 } 856 }
853 editor->setEdited(TRUE); 857 editor->setEdited(TRUE);
854 edited1=FALSE; 858 edited1=FALSE;
855 edited=TRUE; 859 edited=TRUE;
856 doSearchBar(); 860 doSearchBar();
857} 861}
858 862
859void TextEdit::closeEvent( QCloseEvent *e ) 863void TextEdit::closeEvent( QCloseEvent *e )
860{ 864{
861 bFromDocView = FALSE; 865 bFromDocView = FALSE;
862 e->accept(); 866 e->accept();
863} 867}
864 868
865void TextEdit::accept() 869void TextEdit::accept()
866 { 870 {
867 QString file = doc->file(); 871 //if(caption() !="Unnamed")
868 if (file.find("_.txt",0,TRUE) ==-1) 872 if(edited1)
869 save(); 873 saveAs();
870 else {
871 QFile(file).remove();
872 }
873 exit(0); 874 exit(0);
874 875
875} 876}
876 877
877void TextEdit::changeFont() { 878void TextEdit::changeFont() {
878 FontDatabase fdb; 879 FontDatabase fdb;
879 QFont defaultFont=editor->font(); 880 QFont defaultFont=editor->font();
880 QFontInfo fontInfo(defaultFont); 881 QFontInfo fontInfo(defaultFont);
881 Config cfg("TextEdit"); 882 Config cfg("TextEdit");
882 cfg.setGroup("Font"); 883 cfg.setGroup("Font");
883 QString family = cfg.readEntry("Family", fontInfo.family()); 884 QString family = cfg.readEntry("Family", fontInfo.family());
884 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); 885 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont));
@@ -925,12 +926,20 @@ void TextEdit::changeStartConfig( bool b ) {
925 cfg.writeEntry("startNew","FALSE"); 926 cfg.writeEntry("startNew","FALSE");
926 } 927 }
927 update(); 928 update();
928} 929}
929 930
930void TextEdit::editorChanged() { 931void TextEdit::editorChanged() {
931 if(editor->edited() && edited && !edited1) { 932 if(editor->edited() && edited && !edited1) {
932 setCaption( "*"+caption()); 933 setCaption( "*"+caption());
933 edited1=TRUE; 934 edited1=TRUE;
934 } 935 }
935 edited=TRUE; 936 edited=TRUE;
936} 937}
938
939void TextEdit::receive(const QCString&msg, const QByteArray&) {
940 qDebug("QCop "+msg);
941 if ( msg == "setDocument(QString)" ) {
942 qDebug("bugger all");
943 }
944
945}
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index af69518..61fa2a0 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -19,24 +19,27 @@
19**********************************************************************/ 19**********************************************************************/
20// additions made by L.J. Potter Sun 02-17-2002 22:27:46 20// additions made by L.J. Potter Sun 02-17-2002 22:27:46
21 21
22#ifndef TEXTEDIT_H 22#ifndef TEXTEDIT_H
23#define TEXTEDIT_H 23#define TEXTEDIT_H
24 24
25#define QTEXTEDIT_OPEN_API 25#define QTEXTEDIT_OPEN_API
26 26
27#include "fileBrowser.h" 27#include "fileBrowser.h"
28#include "fileSaver.h" 28#include "fileSaver.h"
29 29
30#include <qpe/filemanager.h> 30#include <qpe/filemanager.h>
31#include <qpe/qcopenvelope_qws.h>
32
33#include <opie/ofileselector.h>
31 34
32#include <qmainwindow.h> 35#include <qmainwindow.h>
33#include <qmultilineedit.h> 36#include <qmultilineedit.h>
34#include <qlist.h> 37#include <qlist.h>
35#include <qmap.h> 38#include <qmap.h>
36 39
37class QAction; 40class QAction;
38class QWidgetStack; 41class QWidgetStack;
39class QToolButton; 42class QToolButton;
40class QPopupMenu; 43class QPopupMenu;
41class QToolBar; 44class QToolBar;
42class QLineEdit; 45class QLineEdit;
@@ -48,27 +51,28 @@ class QPopupMenu;
48class TextEdit : public QMainWindow 51class TextEdit : public QMainWindow
49{ 52{
50 Q_OBJECT 53 Q_OBJECT
51 54
52public: 55public:
53 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
54 ~TextEdit(); 57 ~TextEdit();
55 58
56 QPopupMenu *font; 59 QPopupMenu *font;
57 QAction *nStart; 60 QAction *nStart;
58 bool edited, edited1; 61 bool edited, edited1;
59 void openFile( const QString & ); 62 void openFile( const QString & );
63 QCopChannel * channel;
60public slots: 64public slots:
61 void editorChanged(); 65 void editorChanged();
62 66void receive(const QCString&, const QByteArray&);
63protected: 67protected:
64 void closeEvent( QCloseEvent *e ); 68 void closeEvent( QCloseEvent *e );
65 void doSearchBar(); 69 void doSearchBar();
66private slots: 70private slots:
67 void setDocument(const QString&); 71 void setDocument(const QString&);
68 void changeFont(); 72 void changeFont();
69 void fileNew(); 73 void fileNew();
70 void fileRevert(); 74 void fileRevert();
71 void fileOpen(); 75 void fileOpen();
72 void changeStartConfig(bool); 76 void changeStartConfig(bool);
73 bool save(); 77 bool save();
74 bool saveAs(); 78 bool saveAs();
@@ -97,25 +101,24 @@ private slots:
97 void setItalic(bool y); 101 void setItalic(bool y);
98 void setWordWrap(bool y); 102 void setWordWrap(bool y);
99 103
100private: 104private:
101 void colorChanged( const QColor &c ); 105 void colorChanged( const QColor &c );
102 void clear(); 106 void clear();
103 void updateCaption( const QString &name=QString::null ); 107 void updateCaption( const QString &name=QString::null );
104 void setFontSize(int sz, bool round_down_not_up); 108 void setFontSize(int sz, bool round_down_not_up);
105 109
106private: 110private:
107 fileSaver *fileSaveDlg; 111 fileSaver *fileSaveDlg;
108 fileBrowser *browseForFiles; 112 fileBrowser *browseForFiles;
109
110 QpeEditor* editor; 113 QpeEditor* editor;
111 QToolBar *menu, *editBar, *searchBar; 114 QToolBar *menu, *editBar, *searchBar;
112 QLineEdit *searchEdit; 115 QLineEdit *searchEdit;
113 DocLnk *doc; 116 DocLnk *doc;
114 bool searchVisible; 117 bool searchVisible;
115 bool bFromDocView; 118 bool bFromDocView;
116 int viewSelection; 119 int viewSelection;
117 QAction *zin, *zout; 120 QAction *zin, *zout;
118 QString currentFileName; 121 QString currentFileName;
119}; 122};
120 123
121#endif 124#endif