summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp32
-rw-r--r--noncore/apps/advancedfm/advancedfm.h2
2 files changed, 29 insertions, 5 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 96a2d0a..16dc7da 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -67,12 +67,14 @@
67#include <stdio.h> 67#include <stdio.h>
68#include <time.h> 68#include <time.h>
69#include <fcntl.h> 69#include <fcntl.h>
70#include <mntent.h> 70#include <mntent.h>
71#include <string.h> 71#include <string.h>
72#include <errno.h> 72#include <errno.h>
73#include <sys/vfs.h>
74#include <mntent.h>
73 75
74AdvancedFm::AdvancedFm( ) 76AdvancedFm::AdvancedFm( )
75 : QMainWindow( ) 77 : QMainWindow( )
76{ 78{
77 setCaption( tr( "AdvancedFm" ) ); 79 setCaption( tr( "AdvancedFm" ) );
78 80
@@ -301,13 +303,13 @@ void AdvancedFm::populateLocalView()
301 Local_View->clear(); 303 Local_View->clear();
302 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 304 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
303 currentDir.setMatchAllDirs(TRUE); 305 currentDir.setMatchAllDirs(TRUE);
304 currentDir.setNameFilter(filterStr); 306 currentDir.setNameFilter(filterStr);
305 QString fileL, fileS, fileDate; 307 QString fileL, fileS, fileDate;
306 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath()); 308 QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
307 setCaption("AdvancedFm :: "+fs); 309 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
308 bool isDir=FALSE; 310 bool isDir=FALSE;
309 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 311 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
310 QFileInfoListIterator it(*list); 312 QFileInfoListIterator it(*list);
311 QFileInfo *fi; 313 QFileInfo *fi;
312 while ( (fi=it.current()) ) { 314 while ( (fi=it.current()) ) {
313 if (fi->isSymLink() ) { 315 if (fi->isSymLink() ) {
@@ -399,13 +401,13 @@ void AdvancedFm::populateRemoteView()
399 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 401 currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
400 currentRemoteDir.setMatchAllDirs(TRUE); 402 currentRemoteDir.setMatchAllDirs(TRUE);
401 currentRemoteDir.setNameFilter(filterStr); 403 currentRemoteDir.setNameFilter(filterStr);
402 QString fileL, fileS, fileDate; 404 QString fileL, fileS, fileDate;
403 405
404 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); 406 QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
405 setCaption("AdvancedFm :: "+fs); 407 setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
406 bool isDir=FALSE; 408 bool isDir=FALSE;
407 const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 409 const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
408 QFileInfoListIterator it(*list); 410 QFileInfoListIterator it(*list);
409 QFileInfo *fi; 411 QFileInfo *fi;
410 while ( (fi=it.current()) ) { 412 while ( (fi=it.current()) ) {
411 if (fi->isSymLink() ){ 413 if (fi->isSymLink() ){
@@ -1463,12 +1465,14 @@ void AdvancedFm::runCommand() {
1463 QString lineStr = line; 1465 QString lineStr = line;
1464 lineStr=lineStr.left(lineStr.length()-1); 1466 lineStr=lineStr.left(lineStr.length()-1);
1465 outDlg->OutputEdit->append(lineStr); 1467 outDlg->OutputEdit->append(lineStr);
1466 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 1468 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
1467 } 1469 }
1468 } 1470 }
1471 pclose(fp);
1472
1469 } 1473 }
1470} 1474}
1471 1475
1472void AdvancedFm::runCommandStd() { 1476void AdvancedFm::runCommandStd() {
1473 QString curFile; 1477 QString curFile;
1474 if (TabWidget->currentPageIndex() == 0) { 1478 if (TabWidget->currentPageIndex() == 0) {
@@ -1518,12 +1522,13 @@ void AdvancedFm::fileStatus() {
1518 outDlg->OutputEdit->append(line); 1522 outDlg->OutputEdit->append(line);
1519 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 1523 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
1520 1524
1521 } 1525 }
1522 1526
1523 } 1527 }
1528 pclose(fp);
1524} 1529}
1525 1530
1526void AdvancedFm::mkDir() { 1531void AdvancedFm::mkDir() {
1527 if (TabWidget->currentPageIndex() == 0) 1532 if (TabWidget->currentPageIndex() == 0)
1528 localMakDir(); 1533 localMakDir();
1529 else 1534 else
@@ -1833,13 +1838,32 @@ void AdvancedFm::showFileMenu() {
1833 m->exec( QCursor::pos() ); 1838 m->exec( QCursor::pos() );
1834 sleep(1); 1839 sleep(1);
1835 if(m) delete m; 1840 if(m) delete m;
1836} 1841}
1837 1842
1838 1843
1839void AdvancedFm::cancelMenuTimer() 1844void AdvancedFm::cancelMenuTimer() {
1840{
1841 1845
1842 qDebug("selectionChanged: cancel menu timer"); 1846 qDebug("selectionChanged: cancel menu timer");
1843 if( menuTimer.isActive() ) 1847 if( menuTimer.isActive() )
1844 menuTimer.stop(); 1848 menuTimer.stop();
1845} 1849}
1850
1851QString AdvancedFm::checkDiskSpace(const QString &path) {
1852
1853 struct statfs fss;
1854 if ( !statfs( path.latin1(), &fss ) ) {
1855 int blkSize = fss.f_bsize;
1856// int totalBlks = fs.f_blocks;
1857 int availBlks = fss.f_bavail;
1858
1859 long mult = blkSize / 1024;
1860 long div = 1024 / blkSize;
1861 if ( !mult ) mult = 1;
1862 if ( !div ) div = 1;
1863
1864
1865 return QString::number(availBlks * mult / div);
1866 }
1867 return "";
1868}
1869
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 45f00ad..78f0bad 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -110,13 +110,13 @@ protected:
110 110
111 void keyReleaseEvent( QKeyEvent *); 111 void keyReleaseEvent( QKeyEvent *);
112 QString getFileSystemType(const QString &); 112 QString getFileSystemType(const QString &);
113 QString getDiskSpace(const QString &); 113 QString getDiskSpace(const QString &);
114 114
115 void parsetab(const QString &fileName); 115 void parsetab(const QString &fileName);
116 116QString checkDiskSpace(const QString &);
117protected slots: 117protected slots:
118 void showFileMenu(); 118 void showFileMenu();
119 void cancelMenuTimer(); 119 void cancelMenuTimer();
120 void homeButtonPushed(); 120 void homeButtonPushed();
121 void docButtonPushed(); 121 void docButtonPushed();
122 void SDButtonPushed(); 122 void SDButtonPushed();