author | llornkcor <llornkcor> | 2002-04-17 23:27:59 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-04-17 23:27:59 (UTC) |
commit | 025156262b9bcab1e484347fe89657671f8f951f (patch) (side-by-side diff) | |
tree | 1d80440bb9c954de4efb92afe30c7441aa85f92c | |
parent | 7b19e1d98d5acf01102ac057ec077fc036c034c6 (diff) | |
download | opie-025156262b9bcab1e484347fe89657671f8f951f.zip opie-025156262b9bcab1e484347fe89657671f8f951f.tar.gz opie-025156262b9bcab1e484347fe89657671f8f951f.tar.bz2 |
bug fix
-rw-r--r-- | core/apps/textedit/textedit.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 834bd8c..18402d4 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -376,438 +376,437 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) edit->insertSeparator(); a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); a->addTo( edit ); searchBar->hide(); editor = new QpeEditor( this ); setCentralWidget( editor ); editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); // resize( 200, 300 ); // setFontSize(defsize,TRUE); FontDatabase fdb; QFont defaultFont=editor->font(); QFontInfo fontInfo(defaultFont); cfg.setGroup("Font"); QString family = cfg.readEntry("Family", fontInfo.family()); QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); defaultFont = fdb.font(family,style,i_size,charSet); editor->setFont( defaultFont); wa->setOn(wrap); updateCaption(); cfg.setGroup("View"); if(cfg.readEntry("startNew","TRUE") == "TRUE") { nStart->setOn(TRUE); fileNew(); } else { fileOpen(); } viewSelection = cfg.readNumEntry( "FileView", 0 ); } 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::zoomIn() { setFontSize(editor->font().pointSize()+1,FALSE); } void TextEdit::zoomOut() { setFontSize(editor->font().pointSize()-1,TRUE); } 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 ) { if ( fontsize[i] < sz ) s = fontsize[i]; } else { if ( fontsize[i] > sz ) { s = fontsize[i]; break; } } } QFont f = editor->font(); f.setPointSize(s); editor->setFont(f); zin->setEnabled(s != fontsize[nfontsizes-1]); zout->setEnabled(s != fontsize[0]); } void TextEdit::setBold(bool y) { QFont f = editor->font(); f.setBold(y); editor->setFont(f); } void TextEdit::setItalic(bool y) { QFont f = editor->font(); f.setItalic(y); editor->setFont(f); } void TextEdit::setWordWrap(bool y) { bool state = editor->edited(); editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); editor->setEdited( state ); } void TextEdit::fileNew() { // if( !bFromDocView ) { // saveAs(); // } newFile(DocLnk()); } void TextEdit::fileOpen() { - // OFileSelector *fileSelector; - // fileSelector = new OFileSelector( this, 1,1,"/","", "text/*"); - //fileSelector->showMaximized(); QString str = OFileDialog::getOpenFileName(1,"/","", QStringList() , this ); if(!str.isEmpty() ) openFile( str ); // browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // // browseForFiles->setFileView( viewSelection ); // browseForFiles->showMaximized(); // // if( result != -1 ) // if( browseForFiles->exec() != -1 ) { // QString selFile = browseForFiles->selectedFileName; // QStringList fileList = browseForFiles->fileList; // qDebug(selFile); // QStringList::ConstIterator f; // QString fileTemp; // for ( f = fileList.begin(); f != fileList.end(); f++ ) { // fileTemp = *f; // fileTemp.right( fileTemp.length()-5); // QString fileName = fileTemp; // if( fileName != "Unnamed" || fileName != "Empty Text" ) { // currentFileName = fileName; // qDebug("please open "+currentFileName); // openFile(str ); // } // } // viewSelection = browseForFiles->SelectionCombo->currentItem(); // } // delete browseForFiles; // editor->setEdited( FALSE); // edited1=FALSE; // edited=FALSE; // if(caption().left(1)=="*") // setCaption(caption().right(caption().length()-1)); // doSearchBar(); } void TextEdit::doSearchBar() { Config cfg("TextEdit"); cfg.setGroup("View"); if(cfg.readEntry("SearchBar","Closed") != "Opened") searchBar->hide(); } #if 0 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] connect( editor, SIGNAL(notFound()), &frmFind, SLOT(slotNotFound()) ); connect( editor, SIGNAL(searchWrapped()), &frmFind, SLOT(slotWrapAround()) ); frmFind.exec(); } #endif void TextEdit::fileRevert() { clear(); fileOpen(); } void TextEdit::editCut() { #ifndef QT_NO_CLIPBOARD editor->cut(); #endif } void TextEdit::editCopy() { #ifndef QT_NO_CLIPBOARD editor->copy(); #endif } void TextEdit::editPaste() { #ifndef QT_NO_CLIPBOARD editor->paste(); #endif } void TextEdit::editFind() { searchBar->show(); searchVisible = TRUE; searchEdit->setFocus(); Config cfg("TextEdit"); cfg.setGroup("View"); cfg.writeEntry("SearchBar","Opened"); } void TextEdit::findNext() { editor->find( searchEdit->text(), FALSE, FALSE ); } void TextEdit::findClose() { searchVisible = FALSE; searchBar->hide(); Config cfg("TextEdit"); cfg.setGroup("View"); cfg.writeEntry("SearchBar","Closed"); cfg.write(); } void TextEdit::search() { editor->find( searchEdit->text(), FALSE, FALSE ); } 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 ) { qDebug("filename is "+ f); QString filer; // bFromDocView = TRUE; - if(f.find(".desktop",0,TRUE)) { + if(f.find(".desktop",0,TRUE) != -1) { switch ( QMessageBox::warning(this,tr("Text Editor"), tr("Text Editor has detected\n you selected a .desktop file.\nOpen .desktop file or linked file?"), - tr(".desktop File"),tr("Link"),0,0,1) ) { + tr(".desktop File"),tr("Linked Document"),0,1,1) ) { case 0: filer = f; break; case 1: DocLnk sf(f); filer = sf.file(); break; } - } + } else + filer = f; + DocLnk nf; nf.setType("text/plain"); nf.setFile(filer); currentFileName=filer; QFileInfo fi( currentFileName); nf.setName(fi.baseName()); qDebug("openFile string "+currentFileName); openFile(nf); showEditTools(); // Show filename in caption QString name = filer; int sep = name.findRev( '/' ); if ( sep > 0 ) name = name.mid( sep+1 ); updateCaption( name ); } void TextEdit::openFile( const DocLnk &f ) { // clear(); // bFromDocView = TRUE; FileManager fm; QString txt; - currentFileName=f.name(); + currentFileName=f.file(); qDebug("openFile doclnk " + currentFileName); if ( !fm.loadFile( f, txt ) ) { // ####### could be a new file qDebug( "Cannot open file" ); } // fileNew(); if ( doc ) delete doc; doc = new DocLnk(f); editor->setText(txt); editor->setEdited( FALSE); edited1=FALSE; edited=FALSE; doc->setName(currentFileName); updateCaption(); } void TextEdit::showEditTools() { // if ( !doc ) // close(); // clear(); menu->show(); editBar->show(); if ( searchVisible ) searchBar->show(); // updateCaption(); setWState (WState_Reserved1 ); } /*! unprompted 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() ) { if(name.isEmpty()) { saveAs(); } else { currentFileName= name ; qDebug("saveFile "+currentFileName); struct stat buf; mode_t mode; stat(file.latin1(), &buf); mode = buf.st_mode; doc->setName( name); FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } editor->setEdited( FALSE); edited1=FALSE; edited=FALSE; if(caption().left(1)=="*") setCaption(caption().right(caption().length()-1)); chmod( file.latin1(), mode); } return true; } return false; } /*! prompted save */ 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"); if ( doc->name().isEmpty() ) { QString pt = rt.simplifyWhiteSpace(); int i = pt.find( ' ' ); QString docname = pt; if ( i > 0 ) docname = pt.left( i ); // remove "." at the beginning while( docname.startsWith( "." ) ) docname = docname.mid( 1 ); docname.replace( QRegExp("/"), "_" ); // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. if ( docname.length() > 40 ) docname = docname.left(40); if ( docname.isEmpty() ) docname = tr("Unnamed"); doc->setName(docname); currentFileName=docname; } } fileSaveDlg=new fileSaver(this,tr("Save File As?"),TRUE, 0, currentFileName); qDebug("wanna save filename "+currentFileName); fileSaveDlg->exec(); if( fileSaveDlg->result() == 1 ) { QString fileNm=fileSaveDlg->selectedFileName; qDebug("saving filename "+fileNm); QFileInfo fi(fileNm); currentFileName=fi.fileName(); if(doc) { // QString file = doc->file(); // doc->removeFiles(); delete doc; DocLnk nf; nf.setType("text/plain"); |