summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp200
-rw-r--r--noncore/apps/advancedfm/advancedfm.h6
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp76
3 files changed, 74 insertions, 208 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 74654fc..fc6c3bf 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -73,10 +73,12 @@ AdvancedFm::AdvancedFm( )
init();
renameBox = 0;
initConnections();
- populateLocalView();
- populateRemoteView();
+ TabWidget->setCurrentTab(1);
+ populateView();
+ TabWidget->setCurrentTab(0);
+ populateView();
currentPathCombo->setFocus();
}
AdvancedFm::~AdvancedFm() {
@@ -114,24 +116,29 @@ void AdvancedFm::tabChanged(QWidget *w)
setCaption("AdvancedFm :: "+fs+" :: "
+checkDiskSpace( (const QString &) path )+ " kB free" );
chdir( path.latin1());
+//2 populateView();
}
-void AdvancedFm::populateLocalView()
+void AdvancedFm::populateView()
{
QPixmap pm;
- Local_View->clear();
- currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
- currentDir.setMatchAllDirs(TRUE);
- currentDir.setNameFilter(filterStr);
+ QListView *thisView = CurrentView();
+ QDir *thisDir = CurrentDir();
+ QString path = thisDir->canonicalPath();
+
+ thisView->clear();
+ thisDir->setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
+ thisDir->setMatchAllDirs(TRUE);
+ thisDir->setNameFilter(filterStr);
QString fileL, fileS, fileDate;
- QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
+ QString fs= getFileSystemType((const QString &) path);
setCaption("AdvancedFm :: "+fs+" :: "
- +checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
+ +checkDiskSpace((const QString &) path)+" kB free" );
bool isDir=FALSE;
- const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
+ const QFileInfoList *list = thisDir->entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) )
{
@@ -147,18 +154,20 @@ void AdvancedFm::populateLocalView()
{
fileS.sprintf( "%10i", fi->size() );
fileL.sprintf( "%s",fi->fileName().data() );
fileDate= fi->lastModified().toString();
- if( QDir(QDir::cleanDirPath( currentDir.canonicalPath()+"/"+fileL)).exists() )
+ if( QDir(QDir::cleanDirPath( path +"/"+fileL)).exists() )
{
fileL+="/";
isDir=TRUE;
}
}
- QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL);
+
+ QFileInfo fileInfo( path + "/" + fileL);
+
if(fileL !="./" && fi->exists())
{
- item= new QListViewItem( Local_View, fileL, fileS , fileDate);
+ item= new QListViewItem( thisView, fileL, fileS , fileDate);
if(isDir || fileL.find("/",0,TRUE) != -1)
{
@@ -202,16 +211,16 @@ void AdvancedFm::populateLocalView()
isDir=FALSE;
++it;
}
- if(currentDir.canonicalPath().find("dev",0,TRUE) != -1)
+ if( path.find("dev",0,TRUE) != -1)
{
struct stat buf;
dev_t devT;
DIR *dir;
struct dirent *mydirent;
- if((dir = opendir( currentDir.canonicalPath().latin1())) != NULL)
+ if((dir = opendir( path.latin1())) != NULL)
while ((mydirent = readdir(dir)) != NULL)
{
lstat( mydirent->d_name, &buf);
// qDebug(mydirent->d_name);
@@ -220,143 +229,22 @@ void AdvancedFm::populateLocalView()
fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF);
fileDate.sprintf("%s", ctime( &buf.st_mtime));
if( fileL.find(".") == -1 )
{
- item= new QListViewItem( Local_View, fileL, fileS, fileDate);
+ item= new QListViewItem( thisView, fileL, fileS, fileDate);
pm = Resource::loadPixmap( "UnknownDocument-14" );
item->setPixmap( 0,pm);
}
}
closedir(dir);
}
- Local_View->setSorting( 3,FALSE);
- fillCombo( (const QString &) currentDir.canonicalPath());
+ thisView->setSorting( 3,FALSE);
+ fillCombo( (const QString &) path );
}
-void AdvancedFm::populateRemoteView()
-{
- QPixmap pm;
- Remote_View->clear();
- currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
- currentRemoteDir.setMatchAllDirs(TRUE);
- currentRemoteDir.setNameFilter(filterStr);
- QString fileL, fileS, fileDate;
-
- QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
- setCaption("AdvancedFm :: "+fs+" :: "
- +checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
- bool isDir=FALSE;
- const QFileInfoList *list = currentRemoteDir.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( "%10i", sym.size() );
- fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.filePath().data() );
- fileDate = sym.lastModified().toString();
- }
- else
- {
- // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
- fileS.sprintf( "%10i", fi->size() );
- fileL.sprintf( "%s",fi->fileName().data() );
- fileDate= fi->lastModified().toString();
-
- if( QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+fileL)).exists() )
- {
- fileL+="/";
- isDir=TRUE;
- // qDebug( fileL);
- }
- }
-
- QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+fileL);
- if(fileL !="./" && fi->exists())
- {
- item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
- QPixmap pm;
-
- if(isDir || fileL.find("/",0,TRUE) != -1)
- {
- if( !QDir( fi->filePath() ).isReadable())
- pm = Resource::loadPixmap( "lockedfolder" );
- else
- pm= Resource::loadPixmap( "folder" );
- }
- else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") )
- {
- pm = Resource::loadPixmap( "exec");
- }
- else if( (fileInfo.permission( QFileInfo::ExeUser)
- | fileInfo.permission( QFileInfo::ExeGroup)
- | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" )
- {
- pm = Resource::loadPixmap( "exec");
- }
- else if( !fi->isReadable() )
- {
- pm = Resource::loadPixmap( "locked" );
- }
- else
- {
- MimeType mt(fi->filePath());
- pm=mt.pixmap(); //sets the correct pixmap for mimetype
- if(pm.isNull())
- pm = Resource::loadPixmap( "UnknownDocument-14" );
- }
- if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1)
- {
- // overlay link image
- pm= Resource::loadPixmap( "folder" );
- QPixmap lnk = Resource::loadPixmap( "opie/symlink" );
- QPainter painter( &pm );
- painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
- pm.setMask( pm.createHeuristicMask( FALSE ) );
- }
- item->setPixmap( 0, pm);
- }
- isDir=FALSE;
- ++it;
- }
-
- if(currentRemoteDir.canonicalPath().find("dev",0,TRUE) != -1)
- {
- struct stat buf;
- DIR *dir;
- struct dirent *mydirent;
- if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL)
-
- while ((mydirent = readdir(dir)) != NULL)
- {
- lstat( mydirent->d_name, &buf);
-// qDebug(mydirent->d_name);
- fileL.sprintf("%s", mydirent->d_name);
- fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF);
- fileDate.sprintf("%s", ctime( &buf.st_mtime));
-
- if( fileL.find(".") == -1 )
- {
- item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
- pm = Resource::loadPixmap( "UnknownDocument-14" );
- item->setPixmap( 0,pm);
- }
- }
-
- closedir(dir);
- }
-
- Remote_View->setSorting( 3,FALSE);
- fillCombo( (const QString &) currentRemoteDir.canonicalPath() );
-}
-
void AdvancedFm::ListClicked(QListViewItem *selectedItem)
{
if(selectedItem)
{
@@ -382,9 +270,9 @@ void AdvancedFm::ListClicked(QListViewItem *selectedItem)
if( isDirectory )
{
CurrentDir()->cd( strItem, TRUE);
- PopulateView();
+ populateView();
CurrentView()->ensureItemVisible( CurrentView()->firstChild());
}
chdir( strItem.latin1());
}
@@ -433,9 +321,9 @@ void AdvancedFm::currentPathComboChanged()
{
if(QDir( currentPathCombo->lineEdit()->text()).exists())
{
CurrentDir()->setPath( currentPathCombo->lineEdit()->text() );
- PopulateView();
+ populateView();
}
else
{
QMessageBox::message(tr("Note"),tr("That directory does not exist"));
@@ -470,9 +358,9 @@ void AdvancedFm::fillCombo(const QString &currentPath)
void AdvancedFm::currentPathComboActivated(const QString & currentPath)
{
chdir( currentPath.latin1() );
CurrentDir()->cd( currentPath, TRUE);
- PopulateView();
+ populateView();
update();
}
QStringList AdvancedFm::getPath()
@@ -496,9 +384,9 @@ void AdvancedFm::homeButtonPushed()
{
QString current = QDir::homeDirPath();
chdir( current.latin1() );
CurrentDir()->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
void AdvancedFm::docButtonPushed()
@@ -506,18 +394,18 @@ void AdvancedFm::docButtonPushed()
QString current = QPEApplication::documentDir();
chdir( current.latin1() );
CurrentDir()->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
void AdvancedFm::SDButtonPushed()
{
QString current = "/mnt/card";// this can change so fix
chdir( current.latin1() );
CurrentDir()->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
void AdvancedFm::CFButtonPushed()
@@ -529,9 +417,9 @@ void AdvancedFm::CFButtonPushed()
current = "/mnt/hda"; //ipaq
chdir( current.latin1() );
CurrentDir()->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
@@ -630,9 +518,9 @@ void AdvancedFm::QPEButtonPushed()
{
QString current = QPEApplication::qpeDir();
chdir( current.latin1() );
CurrentDir()->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
void AdvancedFm::parsetab(const QString &fileName)
@@ -947,9 +835,9 @@ void AdvancedFm::gotoCustomDir(const QString &dir)
{
thisDir->setPath( curDir );
chdir( curDir.latin1() );
thisDir->cd( curDir, TRUE);
- PopulateView();
+ populateView();
}
}
}
@@ -976,16 +864,8 @@ QDir *AdvancedFm::OtherDir()
return &currentDir;
}
}
-void AdvancedFm::PopulateView()
-{
- if ( whichTab == 1)
- populateLocalView();
- else
- populateRemoteView();
-}
-
QListView * AdvancedFm::CurrentView()
{
if ( whichTab == 1)
return Local_View;
@@ -999,4 +879,12 @@ QListView * AdvancedFm::OtherView()
return Remote_View;
else
return Local_View;
}
+
+void AdvancedFm::setOtherTabCurrent()
+{
+ if ( whichTab == 1)
+ TabWidget->setCurrentTab(1);
+ else
+ TabWidget->setCurrentTab(0);
+}
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 8eec6ba..024ab29 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -62,13 +62,11 @@ protected slots:
void doDirChange();
void mkDir();
void del();
void rn();
- void populateLocalView();
- void populateRemoteView();
+ void populateView();
void showHidden();
void showMenuHidden();
-// void showRemoteHidden();
void writeConfig();
void readConfig();
void ListClicked(QListViewItem *);
void ListPressed( int, QListViewItem *, const QPoint&, int);
@@ -124,9 +122,9 @@ protected:
QDir *CurrentDir();
QDir *OtherDir();
QListView *CurrentView();
QListView *OtherView();
- void PopulateView();
+ void setOtherTabCurrent();
protected slots:
void dirMenuSelected(int);
void showFileMenu();
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 13dad33..c553017 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -67,10 +67,10 @@ void AdvancedFm::showMenuHidden()
currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
// b=TRUE;
}
- populateLocalView();
- populateRemoteView();
+ populateView();
+// populateRemoteView();
// if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true");
if(b) b = false; else b = true;
}
@@ -88,9 +88,9 @@ void AdvancedFm::showHidden()
CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
// fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
// b=TRUE;
}
- PopulateView();
+ populateView();
}
QString AdvancedFm::dealWithSymName(const QString &fileName)
{
@@ -164,9 +164,9 @@ void AdvancedFm::makeDir()
QDir *thisDir = CurrentDir();
QString filename = fileDlg->LineEdit1->text();
thisDir->mkdir( thisDir->canonicalPath()+"/"+filename);
}
- PopulateView();
+ populateView();
}
void AdvancedFm::doDelete()
{
@@ -213,9 +213,9 @@ void AdvancedFm::doDelete()
{
f=f.left(f.length()-1);
QString cmd="rm -rf "+f;
startProcess( (const QString)cmd.latin1() );
- PopulateView();
+ populateView();
}
break;
case 1:
// exit
@@ -237,9 +237,9 @@ void AdvancedFm::doDelete()
file.remove();
}
}
}
- PopulateView();
+ populateView();
}
void AdvancedFm::filePerms()
{
@@ -256,9 +256,9 @@ void AdvancedFm::filePerms()
filePerm->exec();
if( filePerm)
delete filePerm;
}
- PopulateView();
+ populateView();
}
void AdvancedFm::doProperties()
{
@@ -292,9 +292,9 @@ void AdvancedFm::upDir()
current = dir.canonicalPath();
chdir( current.latin1() );
thisDir->cd( current, TRUE);
- PopulateView();
+ populateView();
update();
}
void AdvancedFm::copy()
@@ -359,11 +359,10 @@ void AdvancedFm::copy()
tr( "Could not copy %1 to %2").arg( curFile ).arg( destFile ) );
return;
}
}
-
- PopulateView();
-// TabWidget->setCurrentTab(1);
+ setOtherTabCurrent();
+ populateView();
}
}
void AdvancedFm::copyAs()
@@ -416,9 +415,10 @@ void AdvancedFm::copyAs()
}
delete fileDlg;
}
- PopulateView();
+ setOtherTabCurrent();
+ populateView();
}
void AdvancedFm::copySameDir()
{
@@ -469,9 +469,9 @@ void AdvancedFm::copySameDir()
qDebug("copy "+curFile+" as "+destFile);
}
delete fileDlg;
}
- PopulateView();
+ populateView();
}
void AdvancedFm::move()
{
@@ -511,10 +511,11 @@ void AdvancedFm::move()
}
}
}
- populateRemoteView();
- populateLocalView();
+ setOtherTabCurrent();
+ populateView();
+// populateLocalView();
}
bool AdvancedFm::copyFile( const QString & src, const QString & dest )
{
@@ -642,41 +643,22 @@ void AdvancedFm::mkSym()
QString cmd;
QStringList curFileList = getPath();
if( curFileList.count() > 0)
{
- if ( whichTab == 1)
- {
- for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it )
- {
+ QDir *thisDir = CurrentDir();
+ QDir * thatDir = OtherDir();
- QString destName = currentRemoteDir.canonicalPath()+"/"+(*it);
- if(destName.right(1) == "/")
- {
- destName = destName.left( destName.length() -1);
- }
- QString curFile = currentDir.canonicalPath()+"/"+(*it);
- if( curFile.right(1) == "/")
- {
- curFile = curFile.left( curFile.length() -1);
- }
- cmd = "ln -s "+curFile+" "+destName;
- qDebug(cmd);
- startProcess( (const QString)cmd );
- }
- populateRemoteView();
- TabWidget->setCurrentTab(1);
- }
- else
- {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it )
{
- QString destName = currentDir.canonicalPath()+"/"+(*it);
+ QString destName = thatDir->canonicalPath()+"/"+(*it);
if(destName.right(1) == "/")
{
destName = destName.left( destName.length() -1);
}
- QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
+
+ QString curFile = thisDir->canonicalPath()+"/"+(*it);
+
if( curFile.right(1) == "/")
{
curFile = curFile.left( curFile.length() -1);
}
@@ -684,11 +666,10 @@ void AdvancedFm::mkSym()
cmd = "ln -s "+curFile+" "+destName;
qDebug(cmd);
startProcess( (const QString)cmd );
}
- populateLocalView();
- TabWidget->setCurrentTab(0);
- }
+ setOtherTabCurrent();
+ populateView();
}
}
void AdvancedFm::doBeam()
@@ -698,9 +679,8 @@ void AdvancedFm::doBeam()
{
}
else
{
-
QStringList curFileList = getPath();
if( curFileList.count() > 0)
{
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it )
@@ -754,10 +734,10 @@ void AdvancedFm::startProcess(const QString & cmd)
}
void AdvancedFm::processEnded()
{
- populateLocalView();
- populateRemoteView();
+// populateLocalView();
+ populateView();
}
bool AdvancedFm::eventFilter( QObject * o, QEvent * e )
{
@@ -842,9 +822,9 @@ void AdvancedFm::renameIt()
{
QListView *thisView = CurrentView();
oldName = thisView->currentItem()->text(0);
doRename( thisView );
- PopulateView();
+ populateView();
}
void AdvancedFm::okRename()
{
@@ -864,6 +844,6 @@ void AdvancedFm::okRename()
oldName = "";
view->takeItem( view->currentItem() );
delete view->currentItem();
- PopulateView();
+ populateView();
}