summaryrefslogtreecommitdiff
path: root/core/apps/textedit
authorllornkcor <llornkcor>2002-03-10 00:09:03 (UTC)
committer llornkcor <llornkcor>2002-03-10 00:09:03 (UTC)
commit637cea2664defb5414a3897f70b616deba926ffe (patch) (side-by-side diff)
tree369bac70a10207db8e464dc591b7015cafb0624a /core/apps/textedit
parent1ad5936cfea54786379c58200d7bbf321dcd6185 (diff)
downloadopie-637cea2664defb5414a3897f70b616deba926ffe.zip
opie-637cea2664defb5414a3897f70b616deba926ffe.tar.gz
opie-637cea2664defb5414a3897f70b616deba926ffe.tar.bz2
added an asterik in the caption if the text is edited and unsaved
Diffstat (limited to 'core/apps/textedit') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp40
-rw-r--r--core/apps/textedit/textedit.h5
2 files changed, 37 insertions, 8 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
@@ -162,16 +162,16 @@ public:
: QMultiLineEdit( parent, name )
{
clearTableFlags();
setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar );
}
- //public slots:
void find( const QString &txt, bool caseSensitive,
bool backwards );
- /*
+//public slots:
+ /*
signals:
void notFound();
void searchWrapped();
*/
private:
@@ -237,13 +237,14 @@ static const int nfontsizes = 6;
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" ) );
QPEToolBar *bar = new QPEToolBar( this );
bar->setHorizontalStretchable( TRUE );
@@ -397,12 +398,13 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( openFile( const DocLnk & ) ) );
// fileOpen();
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);
FontDatabase fdb;
QFont defaultFont=editor->font();
@@ -553,13 +555,16 @@ void TextEdit::newFileOpen()
qDebug("please open "+currentFileName);
openFile(fileName );
}
}
}
delete browseForFiles;
- editor->setEdited( true );
+ editor->setEdited( FALSE);
+ edited1=FALSE;
+ edited=FALSE;
+ setCaption(caption().right(caption().length()-1));
}
#if 0
void TextEdit::slotFind()
{
FindDialog frmFind( "Text Editor", this );
@@ -681,13 +686,17 @@ void TextEdit::openFile( const DocLnk &f )
fileNew();
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();
}
void TextEdit::showEditTools()
@@ -728,13 +737,17 @@ bool TextEdit::save()
doc->setName( name);
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;
}
return false;
@@ -810,18 +823,23 @@ bool TextEdit::saveAs()
return false;
}
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;
}
@@ -935,6 +953,14 @@ void TextEdit::changeStartConfig( bool b ) {
cfg.writeEntry("startNew","TRUE");
} else {
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
@@ -51,14 +51,17 @@ class TextEdit : public QMainWindow
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 );
private slots:
void setDocument(const QString&);
void changeFont();