summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-02-25 05:24:43 (UTC)
committer llornkcor <llornkcor>2002-02-25 05:24:43 (UTC)
commit160308bc29cf01582775f73e1aca13e82c65bffd (patch) (side-by-side diff)
tree67ebc478e5eef47e881f3f4ea330633a67df0827
parent1bebd27631a6c9d1ab967cbb32dd4e796b3b0402 (diff)
downloadopie-160308bc29cf01582775f73e1aca13e82c65bffd.zip
opie-160308bc29cf01582775f73e1aca13e82c65bffd.tar.gz
opie-160308bc29cf01582775f73e1aca13e82c65bffd.tar.bz2
fixed open setDoc bug
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/Makefile.in6
-rw-r--r--core/apps/textedit/textedit.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/core/apps/textedit/Makefile.in b/core/apps/textedit/Makefile.in
index fa394d6..234965b 100644
--- a/core/apps/textedit/Makefile.in
+++ b/core/apps/textedit/Makefile.in
@@ -1,218 +1,216 @@
#############################################################################
####### Compiler, tools and options
CXX = $(SYSCONF_CXX) $(QT_CXX_MT)
CXXFLAGS= $(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
CC = $(SYSCONF_CC) $(QT_C_MT)
CFLAGS = $(SYSCONF_CFLAGS)
INCPATH = -I$(OPIEDIR)/include
LFLAGS = $(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
LIBS = $(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP)
MOC = $(SYSCONF_MOC)
UIC = $(SYSCONF_UIC)
####### Target
DESTDIR = $(OPIEDIR)/bin/
VER_MAJ = 1
VER_MIN = 0
VER_PATCH = 0
TARGET = textedit
TARGET1 = lib$(TARGET).so.$(VER_MAJ)
####### Files
HEADERS = textedit.h \
fileBrowser.h \
fontDialog.h \
fileSaver.h \
filePermissions.h
SOURCES = main.cpp \
textedit.cpp \
fileBrowser.cpp \
fontDialog.cpp \
fileSaver.cpp \
filePermissions.cpp
OBJECTS = main.o \
textedit.o \
fileBrowser.o \
fontDialog.o \
fileSaver.o \
filePermissions.o
INTERFACES =
UICDECLS =
UICIMPLS =
SRCMOC = moc_textedit.cpp \
moc_fileBrowser.cpp \
moc_fontDialog.cpp \
moc_fileSaver.cpp \
moc_filePermissions.cpp
OBJMOC = moc_textedit.o \
moc_fileBrowser.o \
moc_fontDialog.o \
moc_fileSaver.o \
moc_filePermissions.o
####### Implicit rules
.SUFFIXES: .cpp .cxx .cc .C .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
####### Build rules
all: $(DESTDIR)$(TARGET)
$(DESTDIR)$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
$(SYSCONF_LINK) $(LFLAGS) -o $(DESTDIR)$(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
moc: $(SRCMOC)
-tmake: Makefile.in
-
-Makefile.in: textedit.pro
- tmake textedit.pro -o Makefile.in
+tmake:
+ tmake textedit.pro
clean:
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS)
-rm -f *~ core
-rm -f allmoc.cpp
####### Extension Modules
listpromodules:
@echo
listallmodules:
@echo
listaddonpromodules:
@echo
listaddonentmodules:
@echo
REQUIRES=
####### Sub-libraries
###### Combined headers
####### Compile
main.o: main.cpp \
textedit.h \
fileBrowser.h \
fileSaver.h \
$(OPIEDIR)/include/qpe/filemanager.h \
$(OPIEDIR)/include/qpe/qpeapplication.h \
$(OPIEDIR)/include/qpedecoration_qws.h \
$(OPIEDIR)/include/timestring.h
textedit.o: textedit.cpp \
textedit.h \
fileBrowser.h \
fileSaver.h \
$(OPIEDIR)/include/qpe/filemanager.h \
filePermissions.h \
fontDialog.h \
$(OPIEDIR)/include/qpe/fontdatabase.h \
$(OPIEDIR)/include/qpe/fontfactoryinterface.h \
$(OPIEDIR)/include/qpe/qcom.h \
$(OPIEDIR)/include/qpe/quuid.h \
$(OPIEDIR)/include/qpe/global.h \
$(OPIEDIR)/include/qpe/fileselector.h \
$(OPIEDIR)/include/filemanager.h \
$(OPIEDIR)/include/applnk.h \
$(OPIEDIR)/include/qpe/applnk.h \
$(OPIEDIR)/include/qpe/resource.h \
$(OPIEDIR)/include/qpe/config.h \
$(OPIEDIR)/include/qpe/qpeapplication.h \
$(OPIEDIR)/include/qpedecoration_qws.h \
$(OPIEDIR)/include/timestring.h \
$(OPIEDIR)/include/qpe/qpemenubar.h \
$(OPIEDIR)/include/qpe/qpetoolbar.h
fileBrowser.o: fileBrowser.cpp \
fileBrowser.h \
$(OPIEDIR)/include/qpe/config.h
fontDialog.o: fontDialog.cpp \
fontDialog.h \
$(OPIEDIR)/include/qpe/fontdatabase.h \
$(OPIEDIR)/include/qpe/fontfactoryinterface.h \
$(OPIEDIR)/include/qpe/qcom.h \
$(OPIEDIR)/include/qpe/quuid.h \
$(OPIEDIR)/include/qpe/config.h \
$(OPIEDIR)/include/qpe/qpeapplication.h \
$(OPIEDIR)/include/qpedecoration_qws.h \
$(OPIEDIR)/include/timestring.h
fileSaver.o: fileSaver.cpp \
fileSaver.h \
$(OPIEDIR)/include/qpe/config.h \
$(OPIEDIR)/include/qpe/qpeapplication.h \
$(OPIEDIR)/include/qpedecoration_qws.h \
$(OPIEDIR)/include/timestring.h
filePermissions.o: filePermissions.cpp \
filePermissions.h
moc_textedit.o: moc_textedit.cpp \
textedit.h \
fileBrowser.h \
fileSaver.h \
$(OPIEDIR)/include/qpe/filemanager.h
moc_fileBrowser.o: moc_fileBrowser.cpp \
fileBrowser.h
moc_fontDialog.o: moc_fontDialog.cpp \
fontDialog.h \
$(OPIEDIR)/include/qpe/fontdatabase.h \
$(OPIEDIR)/include/qpe/fontfactoryinterface.h \
$(OPIEDIR)/include/qpe/qcom.h \
$(OPIEDIR)/include/qpe/quuid.h
moc_fileSaver.o: moc_fileSaver.cpp \
fileSaver.h
moc_filePermissions.o: moc_filePermissions.cpp \
filePermissions.h
moc_textedit.cpp: textedit.h
$(MOC) textedit.h -o moc_textedit.cpp
moc_fileBrowser.cpp: fileBrowser.h
$(MOC) fileBrowser.h -o moc_fileBrowser.cpp
moc_fontDialog.cpp: fontDialog.h
$(MOC) fontDialog.h -o moc_fontDialog.cpp
moc_fileSaver.cpp: fileSaver.h
$(MOC) fileSaver.h -o moc_fileSaver.cpp
moc_filePermissions.cpp: filePermissions.h
$(MOC) filePermissions.h -o moc_filePermissions.cpp
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 603f032..bc975f3 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -451,446 +451,448 @@ void TextEdit::setFontSize(int sz, bool round_down_not_up)
} 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()
{
// if ( !save() ) {
// if ( QMessageBox::critical( this, tr( "Out of space" ),
// tr( "Text Editor was unable to\n"
// "save your changes.\n"
// "Free some space and try again.\n"
// "\nContinue anyway?" ),
// QMessageBox::Yes|QMessageBox::Escape,
// QMessageBox::No|QMessageBox::Default )
// != QMessageBox::Yes )
// return;
// else {
// delete doc;
// doc = 0;
// }
// }
menu->hide();
editBar->hide();
searchBar->hide();
clearWState (WState_Reserved1 );
editorStack->raiseWidget( fileSelector );
fileSelector->reread();
updateCaption();
}
void TextEdit::newFileOpen()
{
browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*");
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(fileName );
}
}
}
delete browseForFiles;
editor->setEdited( true );
}
#if 0
void TextEdit::slotFind()
{
FindDialog frmFind( "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();
}
void TextEdit::findNext()
{
editor->find( searchEdit->text(), FALSE, FALSE );
}
void TextEdit::findClose()
{
searchVisible = FALSE;
searchBar->hide();
}
void TextEdit::search()
{
editor->find( searchEdit->text(), FALSE, FALSE );
}
void TextEdit::newFile( const DocLnk &f )
{
DocLnk nf = f;
nf.setType("text/plain");
clear();
editorStack->raiseWidget( editor );
setWState (WState_Reserved1 );
editor->setFocus();
doc = new DocLnk(nf);
qDebug("newFile "+currentFileName);
updateCaption(currentFileName);
}
void TextEdit::openFile( const QString &f )
{
bFromDocView = TRUE;
DocLnk nf;
nf.setType("text/plain");
nf.setFile(f);
currentFileName=f;
QFileInfo fi( currentFileName);
nf.setName(fi.baseName());
qDebug("openFile string"+currentFileName);
openFile(nf);
showEditTools();
// Show filename in caption
QString name = f;
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();
qDebug("openFile doclnk " + currentFileName);
if ( !fm.loadFile( f, txt ) ) {
// ####### could be a new file
qDebug( "Cannot open file" );
//return;
}
fileNew();
if ( doc )
delete doc;
doc = new DocLnk(f);
editor->setText(txt);
editor->setEdited( false);
qDebug("openFile doclnk "+currentFileName);
doc->setName(currentFileName);
updateCaption();
}
void TextEdit::showEditTools()
{
// if ( !doc )
// close();
// clear();
fileSelector->hide();
menu->show();
editBar->show();
if ( searchVisible )
searchBar->show();
// updateCaption();
editorStack->raiseWidget( editor );
setWState (WState_Reserved1 );
}
/*!
unprompted save */
bool TextEdit::save()
{
QString file = doc->file();
QString name= doc->name();
QString rt = editor->text();
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 );
chmod( file.latin1(), mode);
return true;
}
/*!
prompted save */
bool TextEdit::saveAs()
{
// qDebug("saveAsFile "+currentFileName);
// case of nothing to save... /// there's always something 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 == "Unnamed") {
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 = "Unnamed";
doc->setName(docname);
currentFileName=docname;
}
}
fileSaveDlg=new fileSaver(this,"SaveFile",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) {
qDebug("doclnk exists");
// QString file = doc->file();
// doc->removeFiles();
delete doc;
DocLnk nf;
nf.setType("text/plain");
nf.setFile( fileNm);
doc = new DocLnk(nf);
// editor->setText(rt);
qDebug("openFile doclnk "+currentFileName);
doc->setName( currentFileName);
updateCaption( currentFileName);
FileManager fm;
if ( !fm.saveFile( *doc, rt ) ) {
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;
}
}
}
if(fileSaveDlg)
delete fileSaveDlg;
return true;
}
void TextEdit::clear()
{
delete doc;
doc = 0;
editor->clear();
}
void TextEdit::updateCaption( const QString &name )
{
if ( !doc )
setCaption( tr("Text Editor") );
else {
QString s = name;
if ( s.isNull() )
s = doc->name();
if ( s.isEmpty() ) {
s = tr( "Unnamed" );
currentFileName=s;
}
setCaption( s + " - " + tr("Text Editor") );
}
}
void TextEdit::setDocument(const QString& fileref)
{
bFromDocView = TRUE;
- openFile(DocLnk(fileref));
+ openFile(fileref);
+// bFromDocView = TRUE;
+// openFile(DocLnk(fileref));
// showEditTools();
}
void TextEdit::closeEvent( QCloseEvent *e )
{
if ( editorStack->visibleWidget() == fileSelector && !bFromDocView ) {
e->ignore();
repaint();
// fileRevert();
} else {
bFromDocView = FALSE;
e->accept();
}
}
void TextEdit::accept()
{
save();
close();
// fileOpen(); //godamn thats obnoxious! lemme out!!!
}
void TextEdit::changeFont() {
FontDatabase fdb;
QFont defaultFont=editor->font();
QFontInfo fontInfo(defaultFont);
Config cfg("TextEdit");
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);
FontDialog *fontDlg;
fontDlg=new FontDialog(this,"FontDialog",TRUE);
fontDlg->exec();
QFont myFont=fontDlg->selectedFont;
editor->setFont( myFont);
delete fontDlg;
}
void TextEdit::editDelete()
{
switch ( QMessageBox::warning(this,"Text Editor","Do you really want\nto delete the current file\nfrom the disk?\nThis is irreversable!!","Yes","No",0,0,1) ) {
case 0:
if(doc) {
doc->removeFiles();
clear();
}
break;
case 1:
// exit
break;
};
}