summaryrefslogtreecommitdiff
path: root/core/apps/textedit
authorllornkcor <llornkcor>2002-08-30 12:16:14 (UTC)
committer llornkcor <llornkcor>2002-08-30 12:16:14 (UTC)
commit73ccaa41947cd22902b96c18f3b96a6f9f3e565c (patch) (side-by-side diff)
treedbddb746c97da59cd0af50e24ac2ef71603ee553 /core/apps/textedit
parent146dfec7bdcac24df009b434d0f4683c53ce7552 (diff)
downloadopie-73ccaa41947cd22902b96c18f3b96a6f9f3e565c.zip
opie-73ccaa41947cd22902b96c18f3b96a6f9f3e565c.tar.gz
opie-73ccaa41947cd22902b96c18f3b96a6f9f3e565c.tar.bz2
fixed canceling saveas dialog return
Diffstat (limited to 'core/apps/textedit') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp158
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") );