author | llornkcor <llornkcor> | 2002-03-10 00:09:03 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-03-10 00:09:03 (UTC) |
commit | 637cea2664defb5414a3897f70b616deba926ffe (patch) (side-by-side diff) | |
tree | 369bac70a10207db8e464dc591b7015cafb0624a /core/apps | |
parent | 1ad5936cfea54786379c58200d7bbf321dcd6185 (diff) | |
download | opie-637cea2664defb5414a3897f70b616deba926ffe.zip opie-637cea2664defb5414a3897f70b616deba926ffe.tar.gz opie-637cea2664defb5414a3897f70b616deba926ffe.tar.bz2 |
added an asterik in the caption if the text is edited and unsaved
-rw-r--r-- | core/apps/textedit/textedit.cpp | 38 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 3 |
2 files changed, 35 insertions, 6 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 03f3a1e..78c4d8a 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -164,11 +164,11 @@ public: clearTableFlags(); setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); } - //public slots: void find( const QString &txt, bool caseSensitive, bool backwards ); +//public slots: /* signals: void notFound(); void searchWrapped(); @@ -239,9 +239,10 @@ static const int fontsize[nfontsizes] = {8,10,12,14,18,24}; TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ), bFromDocView( FALSE ) { doc = 0; - + edited=FALSE; + edited1=FALSE; setToolBarsMovable( FALSE ); setIcon( Resource::loadPixmap( "TextEditor" ) ); @@ -399,8 +400,9 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) editor = new QpeEditor( editorStack ); editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); editorStack->addWidget( editor, get_unique_id() ); + connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); resize( 200, 300 ); // setFontSize(defsize,TRUE); @@ -555,9 +557,12 @@ void TextEdit::newFileOpen() } } } delete browseForFiles; - editor->setEdited( true ); + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + setCaption(caption().right(caption().length()-1)); } #if 0 void TextEdit::slotFind() @@ -683,9 +688,13 @@ void TextEdit::openFile( const DocLnk &f ) if ( doc ) delete doc; doc = new DocLnk(f); editor->setText(txt); - editor->setEdited( false); + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + setCaption(caption().right(caption().length()-1)); + qDebug("openFile doclnk "+currentFileName); doc->setName(currentFileName); updateCaption(); } @@ -730,9 +739,13 @@ bool TextEdit::save() FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } - editor->setEdited( false ); + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + setCaption(caption().right(caption().length()-1)); + chmod( file.latin1(), mode); } return true; @@ -812,14 +825,19 @@ bool TextEdit::saveAs() if( fileSaveDlg->filePermCheck->isChecked() ) { filePermissions *filePerm; filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)fileNm); filePerm->exec(); - editor->setEdited( false ); + if( filePerm) delete filePerm; } } } + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + if(caption().left(1)=="*") + setCaption(caption().right(caption().length()-1)); if(fileSaveDlg) delete fileSaveDlg; return true; @@ -937,4 +955,12 @@ void TextEdit::changeStartConfig( bool b ) { cfg.writeEntry("startNew","FALSE"); } update(); } + +void TextEdit::editorChanged() { + if(editor->edited() && edited && !edited1) { + setCaption( "*"+caption()); + edited1=TRUE; + } + edited=TRUE; +} diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index fb58738..e7e20e3 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -53,9 +53,12 @@ public: TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); ~TextEdit(); QPopupMenu *font; QAction *nStart; + bool edited, edited1; void openFile( const QString & ); +public slots: + void editorChanged(); protected: void closeEvent( QCloseEvent *e ); |