summaryrefslogtreecommitdiff
Side-by-side diff
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
@@ -71,4 +71,6 @@
#include <string.h>
#include <errno.h>
+#include <sys/vfs.h>
+#include <mntent.h>
AdvancedFm::AdvancedFm( )
@@ -305,5 +307,5 @@ void AdvancedFm::populateLocalView()
QString fileL, fileS, fileDate;
QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
- setCaption("AdvancedFm :: "+fs);
+ setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentDir.canonicalPath())+" kB free" );
bool isDir=FALSE;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
@@ -403,5 +405,5 @@ void AdvancedFm::populateRemoteView()
QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
- setCaption("AdvancedFm :: "+fs);
+ setCaption("AdvancedFm :: "+fs+" :: "+checkDiskSpace((const QString &) currentRemoteDir.canonicalPath())+" kB free" );
bool isDir=FALSE;
const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
@@ -1467,4 +1469,6 @@ void AdvancedFm::runCommand() {
}
}
+ pclose(fp);
+
}
}
@@ -1522,4 +1526,5 @@ void AdvancedFm::fileStatus() {
}
+ pclose(fp);
}
@@ -1837,6 +1842,5 @@ void AdvancedFm::showFileMenu() {
-void AdvancedFm::cancelMenuTimer()
-{
+void AdvancedFm::cancelMenuTimer() {
qDebug("selectionChanged: cancel menu timer");
@@ -1844,2 +1848,22 @@ void AdvancedFm::cancelMenuTimer()
menuTimer.stop();
}
+
+QString AdvancedFm::checkDiskSpace(const QString &path) {
+
+ struct statfs fss;
+ if ( !statfs( path.latin1(), &fss ) ) {
+ int blkSize = fss.f_bsize;
+// int totalBlks = fs.f_blocks;
+ int availBlks = fss.f_bavail;
+
+ long mult = blkSize / 1024;
+ long div = 1024 / blkSize;
+ if ( !mult ) mult = 1;
+ if ( !div ) div = 1;
+
+
+ return QString::number(availBlks * mult / div);
+ }
+ return "";
+}
+
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
@@ -114,5 +114,5 @@ protected:
void parsetab(const QString &fileName);
-
+QString checkDiskSpace(const QString &);
protected slots:
void showFileMenu();