summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp44
-rw-r--r--core/apps/textedit/fileBrowser.h11
-rw-r--r--core/apps/textedit/fileSaver.cpp35
-rw-r--r--core/apps/textedit/fileSaver.h7
-rw-r--r--core/apps/textedit/textedit.cpp4
5 files changed, 85 insertions, 16 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 8c1e962..c16bd41 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -1,106 +1,121 @@
/****************************************************************************
** copyright 2001 ljp ljp@llornkcor.com
** Created: Fri Dec 14 08:16:46 2001
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
#include "fileBrowser.h"
#include <qpe/config.h>
#include <qpe/resource.h>
+#include <qpe/qpeapplication.h>
#include <qlistview.h>
#include <qpushbutton.h>
#include <qfile.h>
#include <qmessagebox.h>
#include <unistd.h>
+
+
fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "fileBrowser" );
resize( 240, 280 );
setCaption(tr( name ) );
filterStr=filter;
dirLabel = new QLabel(this, "DirLabel");
dirLabel->setText(currentDir.canonicalPath());
dirLabel->setGeometry(10,20,230,15);
- QPushButton *homeButton;
- homeButton = new QPushButton(Resource::loadIconSet("home"),"",this,"homeButton");
+ homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
homeButton->setGeometry(200,4,25,25);
connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
-
+ homeButton->setFlat(TRUE);
+
+ docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
+ docButton->setGeometry(170,4,25,25);
+ connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
+ docButton->setFlat(TRUE);
+
+ hideButton = new QPushButton( Resource::loadIconSet("s_hidden"),"",this,"hideButton");
+ hideButton->setGeometry(140,4,25,25);
+ connect( hideButton,SIGNAL(toggled(bool)),this,SLOT( hideButtonPushed(bool)) );
+ hideButton->setToggleButton(TRUE);
+ hideButton->setFlat(TRUE);
+
ListView = new QListView( this, "ListView" );
ListView->addColumn( tr( "Name" ) );
ListView->setColumnWidth(0,140);
ListView->setSorting( 2, FALSE);
ListView->addColumn( tr( "Size" ) );
ListView->setColumnWidth(1,59);
// ListView->addColumn( tr( "" ) );
ListView->setColumnWidthMode(0,QListView::Manual);
ListView->setColumnAlignment(1,QListView::AlignRight);
// ListView->setMultiSelection(true);
// ListView->setSelectionMode(QListView::Extended);
ListView->setAllColumnsShowFocus( TRUE );
ListView->setGeometry( QRect( 10, 35, 220, 240 ) );
// signals and slots connections
connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
currentDir.setPath(QDir::currentDirPath());
+ currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
+
populateList();
move(0,15);
}
fileBrowser::~fileBrowser()
{
}
void fileBrowser::populateList()
{
ListView->clear();
//qDebug(currentDir.canonicalPath());
- currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentDir.setMatchAllDirs(TRUE);
currentDir.setNameFilter(filterStr);
// currentDir.setNameFilter("*.txt;*.etx");
QString fileL, fileS;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) ) {
if (fi->isSymLink() ){
QString symLink=fi->readLink();
// qDebug("Symlink detected "+symLink);
QFileInfo sym( symLink);
fileS.sprintf( "%10li", sym.size() );
fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
} else {
// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
fileS.sprintf( "%10li", fi->size() );
fileL.sprintf( "%s",fi->fileName().data() );
if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
fileL+="/";
// qDebug( fileL);
}
}
item= new QListViewItem( ListView,fileL,fileS );
++it;
}
ListView->setSorting( 2, FALSE);
dirLabel->setText(currentDir.canonicalPath());
@@ -149,32 +164,53 @@ void fileBrowser::listClicked(QListViewItem *selectedItem)
}
} else {
strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
if( QFile::exists(strItem ) ) {
//currentDir.canonicalPath()
qDebug("We found our files!!"+strItem);
OnOK();
}
} //end not symlink
chdir(strItem.latin1());
}
}
void fileBrowser::OnOK()
{
QListViewItemIterator it1( ListView);
for ( ; it1.current(); ++it1 ) {
if ( it1.current()->isSelected() ) {
selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0));
qDebug("selected filename is "+selectedFileName);
fileList.append( selectedFileName );
}
}
accept();
}
void fileBrowser::homeButtonPushed() {
chdir( QDir::homeDirPath().latin1() );
currentDir.cd( QDir::homeDirPath(), TRUE);
populateList();
update();
}
+
+void fileBrowser::docButtonPushed() {
+ chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
+ currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
+ populateList();
+ update();
+
+}
+
+void fileBrowser::hideButtonPushed(bool b) {
+ if (b)
+ currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
+ else
+ currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
+
+// chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
+// currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
+ populateList();
+ update();
+
+}
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index c0e1d4a..50ed485 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -10,58 +10,59 @@
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com
****************************************************************************/
#ifndef FILEBROWSER_H
#define FILEBROWSER_H
//#include <qvariant.h>
#include <qdialog.h>
#include <qfile.h>
#include <qdir.h>
#include <qstringlist.h>
#include <qlabel.h>
#include <qstring.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QListView;
class QListViewItem;
class QPushButton;
class fileBrowser : public QDialog
{
Q_OBJECT
public:
void populateList();
fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
~fileBrowser();
- QPushButton* buttonOk;
+ QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton;
QListView* ListView;
- QPushButton* buttonCancel;
+
QLabel *dirLabel;
QString selectedFileName, filterStr;
QDir currentDir;
QFile file;
QStringList fileList;
-
-QListViewItem * item;
+ QListViewItem * item;
public slots:
-void homeButtonPushed();
+ void homeButtonPushed();
+ void docButtonPushed();
+ void hideButtonPushed(bool);
private:
private slots:
void upDir();
void listDoubleClicked(QListViewItem *);
void listClicked(QListViewItem *);
void OnOK();
protected slots:
protected:
};
#endif // FILEBROWSER_H
diff --git a/core/apps/textedit/fileSaver.cpp b/core/apps/textedit/fileSaver.cpp
index 4e80735..fbf50cf 100644
--- a/core/apps/textedit/fileSaver.cpp
+++ b/core/apps/textedit/fileSaver.cpp
@@ -10,111 +10,122 @@
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
#include "fileSaver.h"
#include <qpe/config.h>
#include <qpe/resource.h>
#include <qpe/qpeapplication.h>
#include <qlistview.h>
#include <qpushbutton.h>
#include <qfile.h>
#include <qmessagebox.h>
#include <qlineedit.h>
#include <qcheckbox.h>
#include <unistd.h>
fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl , const QString currentFileName )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "fileSaver" );
resize( 240, 280 );
setCaption(tr( name ) );
QFileInfo fi(currentFileName);
QString tmpFileName=fi.fileName();
// qDebug( tmpFileName);
dirLabel = new QLabel(this, "DirLabel");
dirLabel->setText(currentDir.canonicalPath());
dirLabel->setGeometry(10,20,230,15);
- QPushButton *homeButton;
homeButton = new QPushButton(Resource::loadIconSet("home"),"",this,"homeButton");
homeButton->setGeometry(200,4,25,25);
connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
+ homeButton->setFlat(TRUE);
+ docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
+ docButton->setGeometry(170,4,25,25);
+ connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
+ docButton->setFlat(TRUE);
+
+ hideButton = new QPushButton( Resource::loadIconSet("s_hidden"),"",this,"hideButton");
+ hideButton->setGeometry(140,4,25,25);
+ connect( hideButton,SIGNAL(toggled(bool)),this,SLOT( hideButtonPushed(bool)) );
+ hideButton->setToggleButton(TRUE);
+ hideButton->setFlat(TRUE);
+
ListView = new QListView( this, "ListView" );
ListView->addColumn( tr( "Name" ) );
ListView->setColumnWidth(0,140);
ListView->setSorting( 2, FALSE);
ListView->addColumn( tr( "Size" ) );
ListView->setColumnWidth(1,59);
ListView->setColumnWidthMode(0,QListView::Manual);
ListView->setColumnAlignment(1,QListView::AlignRight);
// ListView->setMultiSelection(true);
// ListView->setSelectionMode(QListView::Extended);
ListView->setAllColumnsShowFocus( TRUE );
ListView->setGeometry( QRect( 10,35,220,125));
fileEdit= new QLineEdit(this);
fileEdit->setGeometry( QRect( 10, 162, 205, 17));
fileEdit->setText( tmpFileName);
filePermCheck = new QCheckBox( this, "SetFilePerms" );
filePermCheck->setText("set file permissions");
filePermCheck->setGeometry(10, 178, 150,17);
// signals and slots connections
connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
// tmpFileName=fi.FilePath();
// qDebug( tmpFileName);
currentDir.setPath( QDir::currentDirPath() );
+ currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
populateList();
move(0,15);
fileEdit->setFocus();
}
fileSaver::~fileSaver()
{
}
void fileSaver::populateList()
{
ListView->clear();
- currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden );
currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentDir.setMatchAllDirs(TRUE);
currentDir.setNameFilter("*");
QString fileL, fileS;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) ) {
if (fi->isSymLink() ){
QString symLink=fi->readLink();
// qDebug("Symlink detected "+symLink);
QFileInfo sym( symLink);
fileS.sprintf( "%10li", sym.size() );
fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
} else {
// // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
fileS.sprintf( "%10li", fi->size() );
fileL.sprintf( "%s",fi->fileName().data() );
if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
fileL+="/";
// qDebug(currentDir.canonicalPath()+fileL);
}
}
item= new QListViewItem( ListView,fileL,fileS );
++it;
}
ListView->setSorting( 2, FALSE);
dirLabel->setText(currentDir.canonicalPath());
@@ -171,32 +182,52 @@ void fileSaver::listClicked(QListViewItem *selectedItem)
}
void fileSaver::closeEvent( QCloseEvent *e )
{
if(e->isAccepted()) {
e->accept();
} else {
qDebug("not accepted");
done(-1);
}
}
void fileSaver::accept() {
selectedFileName = fileEdit->text();
QString path = currentDir.canonicalPath()+"/" + selectedFileName;
if( path.find("//",0,TRUE) ==-1 ) {
selectedFileName = path;
} else {
selectedFileName = currentDir.canonicalPath()+selectedFileName;
}
qDebug("going to save "+selectedFileName);
done(1);
}
void fileSaver::homeButtonPushed() {
chdir( QDir::homeDirPath().latin1() );
currentDir.cd( QDir::homeDirPath(), TRUE);
populateList();
update();
}
+void fileSaver::docButtonPushed() {
+ chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
+ currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
+ populateList();
+ update();
+
+}
+
+void fileSaver::hideButtonPushed(bool b) {
+ if (b)
+ currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
+ else
+ currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
+
+// chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
+// currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
+ populateList();
+ update();
+
+}
diff --git a/core/apps/textedit/fileSaver.h b/core/apps/textedit/fileSaver.h
index 526085d..195a775 100644
--- a/core/apps/textedit/fileSaver.h
+++ b/core/apps/textedit/fileSaver.h
@@ -14,61 +14,62 @@ copyright Sun 02-17-2002 22:28:48 L. J. Potter ljp@llornkcor.com
**
****************************************************************************/
#ifndef FILESAVER_H
#define FILESAVER_H
//#include <qvariant.h>
#include <qdialog.h>
#include <qfile.h>
#include <qdir.h>
#include <qstringlist.h>
#include <qlabel.h>
#include <qstring.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QListView;
class QListViewItem;
class QPushButton;
class QLineEdit;
class QCheckBox;
class fileSaver : public QDialog
{
Q_OBJECT
public:
void populateList();
fileSaver( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
~fileSaver();
QLineEdit *fileEdit;
- QPushButton* buttonOk;
+ QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton;
QListView* ListView;
- QPushButton* buttonCancel;
QLabel *dirLabel;
QString selectedFileName, filterStr;
QDir currentDir;
QFile file;
QStringList fileList;
QCheckBox *filePermCheck;
QListViewItem * item;
public slots:
-void homeButtonPushed();
+ void homeButtonPushed();
+ void docButtonPushed();
+ void hideButtonPushed(bool);
private:
private slots:
void accept();
void upDir();
void listDoubleClicked(QListViewItem *);
void listClicked(QListViewItem *);
void closeEvent( QCloseEvent * );
protected slots:
protected:
};
#endif // FILESAVER_H
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 78c4d8a..dafe1dc 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -532,65 +532,66 @@ void TextEdit::fileOpen()
editBar->hide();
searchBar->hide();
clearWState (WState_Reserved1 );
editorStack->raiseWidget( fileSelector );
fileSelector->reread();
updateCaption();
}
void TextEdit::newFileOpen()
{
browseForFiles=new fileBrowser(this,"Open File",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( FALSE);
edited1=FALSE;
edited=FALSE;
- setCaption(caption().right(caption().length()-1));
+ if(caption().left(1)=="*")
+ setCaption(caption().right(caption().length()-1));
}
#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();
@@ -663,65 +664,64 @@ void TextEdit::openFile( const QString &f )
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);
edited1=FALSE;
edited=FALSE;
- setCaption(caption().right(caption().length()-1));
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();
qDebug(file);
QString name= doc->name();
qDebug(name);
QString rt = editor->text();
if( !rt.isEmpty() ) {
if(name.isEmpty()) {