-rw-r--r-- | core/apps/textedit/textedit.cpp | 158 |
1 files changed, 67 insertions, 91 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 107695a..d61da2a 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -360,14 +360,20 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) nStart->addTo( font ); nAdvanced = new QAction( tr("Advanced features"), QString::null, 0, this, 0 ); connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doAdvanced(bool) ) ); nAdvanced->setToggleAction(TRUE); nAdvanced->addTo( font ); - if(cfg.readBoolEntry("AdvancedFeatures")) - nAdvanced->setOn(TRUE); + + if(cfg.readBoolEntry("AdvancedFeatures")) { + qDebug("using advanced features"); + useAdvancedFeatures = true; + nAdvanced->setOn(TRUE); + } else + useAdvancedFeatures = false; + font->insertSeparator(); font->insertItem(tr("About"), this, SLOT( doAbout()) ); mb->insertItem( tr( "File" ), file ); mb->insertItem( tr( "Edit" ), edit ); @@ -431,43 +437,44 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) fileOpen(); } viewSelection = cfg.readNumEntry( "FileView", 0 ); } -void TextEdit::cleanUp() -{ +TextEdit::~TextEdit() { +} + +void TextEdit::cleanUp() { // save(); Config cfg("TextEdit"); cfg.setGroup("View"); QFont f = editor->font(); cfg.writeEntry("FontSize",f.pointSize()); cfg.writeEntry("Bold",f.bold()); cfg.writeEntry("Italic",f.italic()); cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth); cfg.writeEntry( "FileView", viewSelection ); - } -TextEdit::~TextEdit() -{ + +void TextEdit::accept() { + if(edited1) + saveAs(); + exit(0); } -void TextEdit::zoomIn() -{ +void TextEdit::zoomIn() { setFontSize(editor->font().pointSize()+1,FALSE); } -void TextEdit::zoomOut() -{ +void TextEdit::zoomOut() { setFontSize(editor->font().pointSize()-1,TRUE); } -void TextEdit::setFontSize(int sz, bool round_down_not_up) -{ +void TextEdit::setFontSize(int sz, bool round_down_not_up) { int s=10; for (int i=0; i<nfontsizes; i++) { if ( fontsize[i] == sz ) { s = sz; break; } else if ( round_down_not_up ) { @@ -486,43 +493,38 @@ void TextEdit::setFontSize(int sz, bool round_down_not_up) editor->setFont(f); zin->setEnabled(s != fontsize[nfontsizes-1]); zout->setEnabled(s != fontsize[0]); } -void TextEdit::setBold(bool y) -{ +void TextEdit::setBold(bool y) { QFont f = editor->font(); f.setBold(y); editor->setFont(f); } -void TextEdit::setItalic(bool y) -{ +void TextEdit::setItalic(bool y) { QFont f = editor->font(); f.setItalic(y); editor->setFont(f); } -void TextEdit::setWordWrap(bool y) -{ +void TextEdit::setWordWrap(bool y) { bool state = editor->edited(); editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); editor->setEdited( state ); } -void TextEdit::fileNew() -{ +void TextEdit::fileNew() { // if( !bFromDocView ) { // saveAs(); // } newFile(DocLnk()); } -void TextEdit::fileOpen() -{ +void TextEdit::fileOpen() { Config cfg("TextEdit"); cfg.setGroup("View"); // bool b=FALSE; QMap<QString, QStringList> map; map.insert(tr("All"), QStringList() ); @@ -534,23 +536,21 @@ void TextEdit::fileOpen() QString str = OFileDialog::getOpenFileName( 2,"/", QString::null, map); if(!str.isEmpty() ) openFile( str ); } -void TextEdit::doSearchBar() -{ +void TextEdit::doSearchBar() { Config cfg("TextEdit"); cfg.setGroup("View"); if(cfg.readEntry("SearchBar","Closed") != "Opened") searchBar->hide(); } #if 0 -void TextEdit::slotFind() -{ +void TextEdit::slotFind() { FindDialog frmFind( tr("Text Editor"), this ); connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), editor, SLOT(slotDoFind( const QString&,bool,bool))); //case sensitive, backwards, [category] @@ -562,87 +562,77 @@ void TextEdit::slotFind() frmFind.exec(); } #endif -void TextEdit::fileRevert() -{ +void TextEdit::fileRevert() { clear(); fileOpen(); } -void TextEdit::editCut() -{ +void TextEdit::editCut() { #ifndef QT_NO_CLIPBOARD editor->cut(); #endif } -void TextEdit::editCopy() -{ +void TextEdit::editCopy() { #ifndef QT_NO_CLIPBOARD editor->copy(); #endif } -void TextEdit::editPaste() -{ +void TextEdit::editPaste() { #ifndef QT_NO_CLIPBOARD editor->paste(); #endif } -void TextEdit::editFind() -{ +void TextEdit::editFind() { searchBar->show(); searchVisible = TRUE; searchEdit->setFocus(); Config cfg("TextEdit"); cfg.setGroup("View"); cfg.writeEntry("SearchBar","Opened"); } -void TextEdit::findNext() -{ +void TextEdit::findNext() { editor->find( searchEdit->text(), FALSE, FALSE ); } -void TextEdit::findClose() -{ +void TextEdit::findClose() { searchVisible = FALSE; searchBar->hide(); Config cfg("TextEdit"); cfg.setGroup("View"); cfg.writeEntry("SearchBar","Closed"); cfg.write(); } -void TextEdit::search() -{ +void TextEdit::search() { editor->find( searchEdit->text(), FALSE, FALSE ); } -void TextEdit::newFile( const DocLnk &f ) -{ +void TextEdit::newFile( const DocLnk &f ) { DocLnk nf = f; nf.setType("text/plain"); clear(); setWState (WState_Reserved1 ); editor->setFocus(); doc = new DocLnk(nf); currentFileName = "Unnamed"; qDebug("newFile "+currentFileName); updateCaption( currentFileName); // editor->setEdited( FALSE); } -void TextEdit::openFile( const QString &f ) -{ +void TextEdit::openFile( const QString &f ) { qDebug("filename is "+ f); QString filer; // bFromDocView = TRUE; if(f.find(".desktop",0,TRUE) != -1 && useAdvancedFeatures) { switch ( QMessageBox::warning(this,tr("Text Editor"), tr("Text Editor has detected\n you selected a .desktop file.\nOpen .desktop file or linked file?"), @@ -675,14 +665,13 @@ void TextEdit::openFile( const QString &f ) int sep = name.findRev( '/' ); if ( sep > 0 ) name = name.mid( sep+1 ); updateCaption( name ); } -void TextEdit::openFile( const DocLnk &f ) -{ +void TextEdit::openFile( const DocLnk &f ) { // clear(); // bFromDocView = TRUE; FileManager fm; QString txt; currentFileName=f.file(); qDebug("openFile doclnk " + currentFileName); @@ -700,14 +689,13 @@ void TextEdit::openFile( const DocLnk &f ) edited=FALSE; doc->setName(currentFileName); updateCaption(); } -void TextEdit::showEditTools() -{ +void TextEdit::showEditTools() { // if ( !doc ) // close(); // clear(); menu->show(); editBar->show(); if ( searchVisible ) @@ -715,14 +703,13 @@ void TextEdit::showEditTools() // updateCaption(); setWState (WState_Reserved1 ); } /*! unprompted save */ -bool TextEdit::save() -{ +bool TextEdit::save() { QString file = doc->file(); qDebug("saver file "+file); QString name= doc->name(); qDebug("File named "+name); QString rt = editor->text(); if( !rt.isEmpty() ) { @@ -768,32 +755,31 @@ bool TextEdit::save() } return false; } /*! prompted save */ -bool TextEdit::saveAs() -{ -// qDebug("saveAsFile "+currentFileName); - // case of nothing to save... - if ( !doc )//|| !bFromDocView) - { - qDebug("no doc"); - return true; - } +bool TextEdit::saveAs() { + qDebug("saveAsFile "+currentFileName); + // case of nothing to save... + if ( !doc ) { +//|| !bFromDocView) + qDebug("no doc"); + return true; + } if ( !editor->edited() ) { delete doc; doc = 0; return true; } QString rt = editor->text(); qDebug(currentFileName); if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { - qDebug("do silly TT filename thing"); +// qDebug("do silly TT filename thing"); if ( doc->name().isEmpty() ) { QString pt = rt.simplifyWhiteSpace(); int i = pt.find( ' ' ); QString docname = pt; if ( i > 0 ) docname = pt.left( i ); @@ -815,13 +801,15 @@ bool TextEdit::saveAs() map.insert(tr("All"), QStringList() ); QStringList text; text << "text/*"; map.insert(tr("Text"), text ); text << "*"; map.insert(tr("All"), text ); + QString str = OFileDialog::getSaveFileName( 2,"/", QString::null, map); + if(!str.isEmpty() ) { QString fileNm=str; qDebug("saving filename "+fileNm); QFileInfo fi(fileNm); currentFileName=fi.fileName(); @@ -845,35 +833,35 @@ bool TextEdit::saveAs() if( useAdvancedFeatures ) { filePermissions *filePerm; filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); filePerm->exec(); - if( filePerm) - delete filePerm; + if( filePerm) + delete filePerm; } } + editor->setEdited( false); + edited1 = false; + edited = false; + if(caption().left(1)=="*") + setCaption(caption().right(caption().length()-1)); + + return true; } - editor->setEdited(TRUE); - edited1=FALSE; - edited=TRUE; - if(caption().left(1)=="*") - setCaption(caption().right(caption().length()-1)); - - return true; + qDebug("returning false"); + return false; } //end saveAs -void TextEdit::clear() -{ +void TextEdit::clear() { delete doc; doc = 0; editor->clear(); } -void TextEdit::updateCaption( const QString &name ) -{ +void TextEdit::updateCaption( const QString &name ) { if ( !doc ) setCaption( tr("Text Editor") ); else { QString s = name; if ( s.isNull() ) s = doc->name(); @@ -884,37 +872,26 @@ void TextEdit::updateCaption( const QString &name ) if(s.left(1) == "/") s = s.right(s.length()-1); setCaption( s + " - " + tr("Text Editor") ); } } -void TextEdit::setDocument(const QString& fileref) -{ +void TextEdit::setDocument(const QString& fileref) { bFromDocView = TRUE; openFile(fileref); editor->setEdited(TRUE); edited1=FALSE; edited=TRUE; doSearchBar(); } -void TextEdit::closeEvent( QCloseEvent *e ) -{ +void TextEdit::closeEvent( QCloseEvent *e ) { bFromDocView = FALSE; e->accept(); } -void TextEdit::accept() - { - //if(caption() !="Unnamed") - if(edited1) - saveAs(); - exit(0); - -} - void TextEdit::changeFont() { FontDatabase fdb; QFont defaultFont=editor->font(); QFontInfo fontInfo(defaultFont); Config cfg("TextEdit"); cfg.setGroup("Font"); @@ -933,14 +910,13 @@ void TextEdit::changeFont() { QFont myFont=fontDlg->selectedFont; editor->setFont( myFont); delete fontDlg; } -void TextEdit::editDelete() -{ +void TextEdit::editDelete() { switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Do you really want\nto delete the current file\nfrom the disk?\nThis is irreversable!!"),tr("Yes"),tr("No"),0,0,1) ) { case 0: if(doc) { doc->removeFiles(); clear(); setCaption( tr("Text Editor") ); |