-rw-r--r-- | core/apps/textedit/main.cpp | 4 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 120 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 6 |
3 files changed, 106 insertions, 24 deletions
diff --git a/core/apps/textedit/main.cpp b/core/apps/textedit/main.cpp index d0d37d2..4f27667 100644 --- a/core/apps/textedit/main.cpp +++ b/core/apps/textedit/main.cpp @@ -27,9 +27,9 @@ int main( int argc, char **argv ) QPEApplication a( argc, argv ); TextEdit e; a.showMainDocumentWidget(&e); - if ( argc == 3 && argv[1] == QCString("-f") ) - e.openFile(argv[2]); +// if ( argc == 3 && argv[1] == QCString("-f") ) +// e.openFile(argv[2]); a.exec(); } diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index e3b8361..464671a 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -42,8 +42,9 @@ #include <qpe/qpemenubar.h> #include <qpe/qpetoolbar.h> #include <qpe/qcopenvelope_qws.h> +#include <qtextstream.h> #include <qdatetime.h> #include <qclipboard.h> #include <qstringlist.h> #include <qaction.h> @@ -58,9 +59,9 @@ #include <qwidgetstack.h> #include <qcheckbox.h> #include <qcombo.h> #include <qlayout.h> - +#include <qapplication.h> #include <unistd.h> #include <sys/stat.h> #include <stdlib.h> //getenv @@ -170,10 +171,9 @@ class QpeEditor : public QMultiLineEdit { // Q_OBJECT public: QpeEditor( QWidget *parent, const char * name = 0 ) - : QMultiLineEdit( parent, name ) - { + : QMultiLineEdit( parent, name ) { clearTableFlags(); setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); } @@ -223,11 +223,9 @@ void QpeEditor::find ( const QString &txt, bool caseSensitive, } line++; col = 0; } - } - } #else @@ -356,8 +354,14 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) ); filePermAction->setToggleAction(TRUE); filePermAction->addTo( advancedMenu); + searchBarAction = new QAction( tr("Search Bar Open"), QString::null, 0, this, 0 ); + connect( searchBarAction, SIGNAL( toggled(bool) ), this, SLOT( setSearchBar(bool) ) ); + searchBarAction->setToggleAction(TRUE); + searchBarAction->addTo( advancedMenu); + + font->insertSeparator(); font->insertItem(tr("About"), this, SLOT( doAbout()) ); @@ -409,28 +413,48 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) defaultFont = QFont ( family, size, weight, italic ); editor-> setFont ( defaultFont ); - updateCaption(); +// updateCaption(); cfg.setGroup ( "View" ); promptExit = cfg. readBoolEntry ( "PromptExit", false ); openDesktop = cfg. readBoolEntry ( "OpenDesktop", true ); filePerms = cfg. readBoolEntry ( "FilePermissions", false ); + useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); + if(useSearchBar) { + searchBarAction->setOn(true); + } else{ + } if(promptExit ) nAdvanced->setOn ( true ); if(openDesktop) desktopAction->setOn ( true ); if(filePerms) filePermAction->setOn ( true ); bool wrap = cfg. readBoolEntry ( "Wrap", true ); wa-> setOn ( wrap ); setWordWrap ( wrap ); + if( qApp->argc() > 0) { + currentFileName=qApp->argv()[1]; +// qDebug("<<<<<<<<<<<<<<<<<<<<<<<< "+currentFileName); + QFileInfo fi(currentFileName); + + if(fi.baseName().left(1) == "") { + openDotFile(currentFileName); + } else { + + nStart->setOn(TRUE); + openFile(currentFileName); + } + } else if(cfg.readEntry("startNew","TRUE") == "TRUE") { + nStart->setOn(TRUE); fileNew(); } else { + fileOpen(); } viewSelection = cfg.readNumEntry( "FileView", 0 ); @@ -458,8 +482,9 @@ void TextEdit::cleanUp() { cfg. writeEntry ( "PromptExit", promptExit ); cfg. writeEntry ( "OpenDesktop", openDesktop ); cfg. writeEntry ( "FilePermissions", filePerms ); + cfg.writeEntry ( "SearchBar", useSearchBar ); } void TextEdit::accept() { @@ -519,8 +544,21 @@ void TextEdit::setWordWrap(bool y) { editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); editor->setEdited( state ); } +void TextEdit::setSearchBar(bool b) { + useSearchBar=b; + Config cfg("TextEdit"); + cfg.setGroup("View"); + cfg.writeEntry ( "SearchBar", b ); + searchBarAction->setOn(b); + if(b) + searchBar->show(); + else + searchBar->hide(); + editor->setFocus(); +} + void TextEdit::fileNew() { // if( !bFromDocView ) { // saveAs(); // } @@ -545,12 +583,12 @@ void TextEdit::fileOpen() { } void TextEdit::doSearchBar() { - Config cfg("TextEdit"); - cfg.setGroup("View"); - if(cfg.readEntry("SearchBar","Closed") != "Opened") + if(!useSearchBar) searchBar->hide(); + else + searchBar->show(); } #if 0 void TextEdit::slotFind() { @@ -597,11 +635,11 @@ void TextEdit::editPaste() { void TextEdit::editFind() { searchBar->show(); searchVisible = TRUE; searchEdit->setFocus(); - Config cfg("TextEdit"); - cfg.setGroup("View"); - cfg.writeEntry("SearchBar","Opened"); +// Config cfg("TextEdit"); +// cfg.setGroup("View"); +// cfg.writeEntry("SearchBar","Opened"); } void TextEdit::findNext() { @@ -611,12 +649,12 @@ void TextEdit::findNext() { void TextEdit::findClose() { searchVisible = FALSE; searchBar->hide(); - Config cfg("TextEdit"); - cfg.setGroup("View"); - cfg.writeEntry("SearchBar","Closed"); - cfg.write(); +// Config cfg("TextEdit"); +// cfg.setGroup("View"); +// cfg.writeEntry("SearchBar","Closed"); +// cfg.write(); } void TextEdit::search() { editor->find( searchEdit->text(), FALSE, FALSE ); @@ -634,11 +672,34 @@ void TextEdit::newFile( const DocLnk &f ) { updateCaption( currentFileName); // editor->setEdited( FALSE); } +void TextEdit::openDotFile( const QString &f ) { + if(!currentFileName.isEmpty()) { + currentFileName=f; + + qDebug("openFile dotfile " + currentFileName); + QString txt; + QFile file(f); + file.open(IO_ReadWrite); + QTextStream t(&file); + while ( !t.atEnd()) { + txt+=t.readLine(); + } + editor->setText(txt); + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + + + } + updateCaption( currentFileName); +} + void TextEdit::openFile( const QString &f ) { qDebug("filename is "+ f); QString filer; + QFileInfo fi( f); // bFromDocView = TRUE; if(f.find(".desktop",0,TRUE) != -1 && !openDesktop) { switch ( QMessageBox::warning(this,tr("Text Editor"), tr("Text Editor has detected<BR>you selected a <B>.desktop</B> @@ -651,8 +712,11 @@ file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), DocLnk sf(f); filer = sf.file(); break; } + } else if(fi.baseName().left(1) == "") { + currentFileName=f; + openDotFile(currentFileName); } else { DocLnk sf(f); filer = sf.file(); if(filer.right(1) == "/") @@ -662,13 +726,14 @@ file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), DocLnk nf; nf.setType("text/plain"); nf.setFile(filer); currentFileName=filer; - QFileInfo fi( currentFileName); + nf.setName(fi.baseName()); + openFile(nf); + qDebug("openFile string "+currentFileName); - openFile(nf); showEditTools(); // Show filename in caption QString name = filer; int sep = name.findRev( '/' ); @@ -875,9 +940,10 @@ void TextEdit::clear() { editor->clear(); } void TextEdit::updateCaption( const QString &name ) { - if ( !doc ) + + if ( name.isEmpty() ) setCaption( tr("Text Editor") ); else { QString s = name; if ( s.isNull() ) @@ -892,14 +958,27 @@ void TextEdit::updateCaption( const QString &name ) { } } void TextEdit::setDocument(const QString& fileref) { + if(fileref != "Unnamed") { + currentFileName=fileref; + qDebug("setDocument"); + QFileInfo fi(currentFileName); + qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName); + if(fi.baseName().left(1) == "") { +// openDotFile(currentFileName); + } else { + qDebug("setDoc open"); bFromDocView = TRUE; openFile(fileref); editor->setEdited(TRUE); edited1=FALSE; edited=TRUE; - doSearchBar(); + +// doSearchBar(); + } + } + updateCaption( currentFileName); } void TextEdit::closeEvent( QCloseEvent *e ) { bFromDocView = FALSE; @@ -999,4 +1078,5 @@ void TextEdit::editPasteTimeDate() { cb->setText( dt.toString()); editor->paste(); #endif } + diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index 4848051..a95e742 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -56,17 +56,17 @@ public: TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); ~TextEdit(); QPopupMenu *font; - QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction; + QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction; bool edited, edited1; void openFile( const QString & ); QCopChannel * channel; public slots: void editorChanged(); void receive(const QCString&, const QByteArray&); protected: - bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms; + bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar; void closeEvent( QCloseEvent *e ); void doSearchBar(); private slots: void editPasteTimeDate(); @@ -105,10 +105,12 @@ private slots: void zoomOut(); void setBold(bool y); void setItalic(bool y); void setWordWrap(bool y); + void setSearchBar(bool); private: + void openDotFile(const QString &); void colorChanged( const QColor &c ); void clear(); void updateCaption( const QString &name=QString::null ); void setFontSize(int sz, bool round_down_not_up); |