summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-08-06 13:59:45 (UTC)
committer llornkcor <llornkcor>2002-08-06 13:59:45 (UTC)
commit64888e9cd2f4c8f40f08a6712e2fd27220ff14ad (patch) (unidiff)
tree862bcda0849bf79b3eeb6fbab1ef18d08b005dc9
parentb980135ff5ce5447ca41411b6ace74ce2803fadb (diff)
downloadopie-64888e9cd2f4c8f40f08a6712e2fd27220ff14ad.zip
opie-64888e9cd2f4c8f40f08a6712e2fd27220ff14ad.tar.gz
opie-64888e9cd2f4c8f40f08a6712e2fd27220ff14ad.tar.bz2
re-add missing diskspace function
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp22
-rw-r--r--noncore/apps/advancedfm/advancedfm.pro28
2 files changed, 31 insertions, 19 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index b169a79..7ee78c0 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -1,69 +1,69 @@
1/*************************************************************************** 1/***************************************************************************
2 AdvancedFm.cpp 2 AdvancedFm.cpp
3 ------------------- 3 -------------------
4 ** Created: Sat Mar 9 23:33:09 2002 4 ** Created: Sat Mar 9 23:33:09 2002
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12#define DEVELOPERS_VERSION 12#define DEVELOPERS_VERSION
13#define QTOPIA_INTERNAL_FSLP // to get access to fileproperties 13#define QTOPIA_INTERNAL_FSLP // to get access to fileproperties
14 14
15#include "advancedfm.h" 15#include "advancedfm.h"
16#include "inputDialog.h" 16#include "inputDialog.h"
17#include "filePermissions.h" 17#include "filePermissions.h"
18#include "output.h" 18#include "output.h"
19 19
20#include <opie/ofileselector.h> 20// #include <opie/ofileselector.h>
21#include <opie/ofiledialog.h> 21// #include <opie/ofiledialog.h>
22 22
23 23
24#include <qpe/lnkproperties.h> 24#include <qpe/lnkproperties.h>
25#include <qpe/filemanager.h> 25#include <qpe/filemanager.h>
26#include <qpe/qcopenvelope_qws.h> 26#include <qpe/qcopenvelope_qws.h>
27#include <qpe/qpemenubar.h> 27#include <qpe/qpemenubar.h>
28#include <qpe/qpetoolbar.h> 28#include <qpe/qpetoolbar.h>
29#include <qpe/qpeapplication.h> 29#include <qpe/qpeapplication.h>
30#include <qpe/resource.h> 30#include <qpe/resource.h>
31#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
32#include <qpe/config.h> 32#include <qpe/config.h>
33#include <qpe/mimetype.h> 33#include <qpe/mimetype.h>
34#include <qpe/applnk.h> 34#include <qpe/applnk.h>
35#include <qpe/ir.h> 35#include <qpe/ir.h>
36 36
37//#include <opie/ofileselector.h> 37//#include <opie/ofileselector.h>
38#include <qmultilineedit.h> 38#include <qmultilineedit.h>
39 39
40#include <qtextstream.h> 40#include <qtextstream.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qtoolbutton.h> 42#include <qtoolbutton.h>
43#include <qdatetime.h> 43#include <qdatetime.h>
44#include <qdir.h> 44#include <qdir.h>
45#include <qfile.h> 45#include <qfile.h>
46#include <qstring.h> 46#include <qstring.h>
47#include <qcombobox.h> 47#include <qcombobox.h>
48#include <qpopupmenu.h> 48#include <qpopupmenu.h>
49#include <qlistview.h> 49#include <qlistview.h>
50#include <qmainwindow.h> 50#include <qmainwindow.h>
51#include <qlabel.h> 51#include <qlabel.h>
52#include <qprogressbar.h> 52#include <qprogressbar.h>
53#include <qspinbox.h> 53#include <qspinbox.h>
54#include <qtabwidget.h> 54#include <qtabwidget.h>
55#include <qwidget.h> 55#include <qwidget.h>
56#include <qlayout.h> 56#include <qlayout.h>
57#include <qimage.h> 57#include <qimage.h>
58#include <qpixmap.h> 58#include <qpixmap.h>
59#include <qmessagebox.h> 59#include <qmessagebox.h>
60#include <qlineedit.h> 60#include <qlineedit.h>
61#include <qregexp.h> 61#include <qregexp.h>
62 62
63#include <unistd.h> 63#include <unistd.h>
64#include <stdlib.h> 64#include <stdlib.h>
65#include <sys/stat.h> 65#include <sys/stat.h>
66#include <dirent.h> 66#include <dirent.h>
67#include <stdio.h> 67#include <stdio.h>
68#include <time.h> 68#include <time.h>
69#include <fcntl.h> 69#include <fcntl.h>
@@ -1687,98 +1687,111 @@ void AdvancedFm::QPEButtonPushed() {
1687 populateLocalView(); 1687 populateLocalView();
1688 } else { 1688 } else {
1689 currentRemoteDir.cd( current, TRUE); 1689 currentRemoteDir.cd( current, TRUE);
1690 populateRemoteView(); 1690 populateRemoteView();
1691 } 1691 }
1692 update(); 1692 update();
1693} 1693}
1694 1694
1695void AdvancedFm::parsetab(const QString &fileName) { 1695void AdvancedFm::parsetab(const QString &fileName) {
1696 1696
1697 fileSystemTypeList.clear(); 1697 fileSystemTypeList.clear();
1698 fsList.clear(); 1698 fsList.clear();
1699 struct mntent *me; 1699 struct mntent *me;
1700 FILE *mntfp = setmntent( fileName.latin1(), "r" ); 1700 FILE *mntfp = setmntent( fileName.latin1(), "r" );
1701 if ( mntfp ) { 1701 if ( mntfp ) {
1702 while ( (me = getmntent( mntfp )) != 0 ) { 1702 while ( (me = getmntent( mntfp )) != 0 ) {
1703 QString deviceName = me->mnt_fsname; 1703 QString deviceName = me->mnt_fsname;
1704 QString filesystemType = me->mnt_type; 1704 QString filesystemType = me->mnt_type;
1705 QString mountDir = me->mnt_dir; 1705 QString mountDir = me->mnt_dir;
1706 if(deviceName != "none") { 1706 if(deviceName != "none") {
1707 if( fsList.contains(filesystemType) == 0 1707 if( fsList.contains(filesystemType) == 0
1708 & filesystemType.find("proc",0,TRUE) == -1 1708 & filesystemType.find("proc",0,TRUE) == -1
1709 & filesystemType.find("cramfs",0,TRUE) == -1 1709 & filesystemType.find("cramfs",0,TRUE) == -1
1710 & filesystemType.find("auto",0,TRUE) == -1) 1710 & filesystemType.find("auto",0,TRUE) == -1)
1711 fsList << filesystemType; 1711 fsList << filesystemType;
1712 fileSystemTypeList << mountDir+"::"+filesystemType; 1712 fileSystemTypeList << mountDir+"::"+filesystemType;
1713 } 1713 }
1714 } 1714 }
1715 } 1715 }
1716 endmntent( mntfp ); 1716 endmntent( mntfp );
1717} 1717}
1718 1718
1719QString AdvancedFm::getFileSystemType(const QString &currentText) { 1719QString AdvancedFm::getFileSystemType(const QString &currentText) {
1720 parsetab("/etc/mtab"); //why did TT forget filesystem type? 1720 parsetab("/etc/mtab"); //why did TT forget filesystem type?
1721 QString current = currentText;//.right( currentText.length()-1); 1721 QString current = currentText;//.right( currentText.length()-1);
1722 QString baseFs; 1722 QString baseFs;
1723 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { 1723 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) {
1724 QString temp = (*it); 1724 QString temp = (*it);
1725 QString path = temp.left(temp.find("::",0,TRUE) ); 1725 QString path = temp.left(temp.find("::",0,TRUE) );
1726 path = path.right( path.length()-1); 1726 path = path.right( path.length()-1);
1727 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 1727 if(path.isEmpty()) baseFs = temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
1728 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) { 1728 if( current.find( path,0,TRUE) != -1 && !path.isEmpty()) {
1729 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 1729 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
1730 } 1730 }
1731 } 1731 }
1732 return baseFs; 1732 return baseFs;
1733} 1733}
1734 1734
1735QString AdvancedFm::getDiskSpace( const QString &) { 1735QString AdvancedFm::getDiskSpace( const QString &path) {
1736 1736 struct statfs fss;
1737 if ( !statfs( path.latin1(), &fss ) ) {
1738 int blkSize = fss.f_bsize;
1739 // int totalBlks = fs.f_blocks;
1740 int availBlks = fss.f_bavail;
1741
1742 long mult = blkSize / 1024;
1743 long div = 1024 / blkSize;
1744 if ( !mult ) mult = 1;
1745 if ( !div ) div = 1;
1746
1747 return QString::number(availBlks * mult / div);
1748 }
1749 return "";
1737} 1750}
1738 1751
1739void AdvancedFm::doBeam() { 1752void AdvancedFm::doBeam() {
1740 Ir ir; 1753 Ir ir;
1741 if(!ir.supported()){ 1754 if(!ir.supported()){
1742 } else { 1755 } else {
1743 1756
1744 QStringList curFileList = getPath(); 1757 QStringList curFileList = getPath();
1745 if( curFileList.count() > 0) { 1758 if( curFileList.count() > 0) {
1746 1759
1747 if (TabWidget->currentPageIndex() == 0) { 1760 if (TabWidget->currentPageIndex() == 0) {
1748 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1761 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1749 1762
1750 QString curFile = currentDir.canonicalPath()+"/"+(*it); 1763 QString curFile = currentDir.canonicalPath()+"/"+(*it);
1751 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1); 1764 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
1752 Ir *file = new Ir(this, "IR"); 1765 Ir *file = new Ir(this, "IR");
1753 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 1766 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
1754 file->send( curFile, curFile ); 1767 file->send( curFile, curFile );
1755 } 1768 }
1756 1769
1757 } else { 1770 } else {
1758 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 1771 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
1759 1772
1760 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it); 1773 QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
1761 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1); 1774 if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
1762 Ir *file = new Ir(this, "IR"); 1775 Ir *file = new Ir(this, "IR");
1763 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 1776 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
1764 file->send( curFile, curFile ); 1777 file->send( curFile, curFile );
1765 1778
1766 } 1779 }
1767 } 1780 }
1768 } 1781 }
1769 } 1782 }
1770 1783
1771} 1784}
1772 1785
1773void AdvancedFm::fileBeamFinished( Ir *ir) { 1786void AdvancedFm::fileBeamFinished( Ir *ir) {
1774 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 1787 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
1775 1788
1776} 1789}
1777 1790
1778void AdvancedFm::showFileMenu() { 1791void AdvancedFm::showFileMenu() {
1779 1792
1780 QString curApp; 1793 QString curApp;
1781 bool isLocalView = false; 1794 bool isLocalView = false;
1782 if (TabWidget->currentPageIndex() == 0) { 1795 if (TabWidget->currentPageIndex() == 0) {
1783 isLocalView = TRUE; 1796 isLocalView = TRUE;
1784 curApp = Local_View->currentItem()->text(0); 1797 curApp = Local_View->currentItem()->text(0);
@@ -1823,66 +1836,65 @@ void AdvancedFm::showFileMenu() {
1823 1836
1824 m->insertItem( tr( "Copy" ), this, SLOT( copy() )); 1837 m->insertItem( tr( "Copy" ), this, SLOT( copy() ));
1825 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 1838 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
1826 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() )); 1839 m->insertItem( tr( "Copy Same Dir" ), this, SLOT( copySameDir() ));
1827 m->insertItem( tr( "Move" ), this, SLOT( move() )); 1840 m->insertItem( tr( "Move" ), this, SLOT( move() ));
1828 m->insertSeparator(); 1841 m->insertSeparator();
1829 1842
1830 if(isLocalView) 1843 if(isLocalView)
1831 m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() )); 1844 m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
1832 else 1845 else
1833 m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); 1846 m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
1834 1847
1835 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 1848 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
1836 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 1849 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
1837 m->insertSeparator(); 1850 m->insertSeparator();
1838 1851
1839 if(isLocalView) 1852 if(isLocalView)
1840 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 1853 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
1841 else 1854 else
1842 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 1855 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
1843 1856
1844 m->insertSeparator(); 1857 m->insertSeparator();
1845 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 1858 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
1846 1859
1847 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings 1860 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
1848 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 1861 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
1849 m->setCheckable(TRUE); 1862 m->setCheckable(TRUE);
1850 if (!b) 1863 if (!b)
1851 m->setItemChecked(m->idAt(0),TRUE); 1864 m->setItemChecked(m->idAt(0),TRUE);
1852 else 1865 else
1853 m->setItemChecked(m->idAt(0),FALSE); 1866 m->setItemChecked(m->idAt(0),FALSE);
1854 if(Ir::supported()) 1867 if(Ir::supported())
1855 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); 1868 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
1856 m->setFocus(); 1869 m->setFocus();
1857 m->exec( QCursor::pos() ); 1870 m->exec( QCursor::pos() );
1858 sleep(1); 1871 sleep(1);
1859 if(m) delete m; 1872 if(m) delete m;
1860} 1873}
1861 1874
1862 1875
1863void AdvancedFm::cancelMenuTimer() { 1876void AdvancedFm::cancelMenuTimer() {
1864 1877
1865 qDebug("selectionChanged: cancel menu timer"); 1878 qDebug("selectionChanged: cancel menu timer");
1866 if( menuTimer.isActive() ) 1879 if( menuTimer.isActive() )
1867 menuTimer.stop(); 1880 menuTimer.stop();
1868} 1881}
1869 1882
1870QString AdvancedFm::checkDiskSpace(const QString &path) { 1883QString AdvancedFm::checkDiskSpace(const QString &path) {
1871
1872 struct statfs fss; 1884 struct statfs fss;
1873 if ( !statfs( path.latin1(), &fss ) ) { 1885 if ( !statfs( path.latin1(), &fss ) ) {
1874 int blkSize = fss.f_bsize; 1886 int blkSize = fss.f_bsize;
1875// int totalBlks = fs.f_blocks; 1887// int totalBlks = fs.f_blocks;
1876 int availBlks = fss.f_bavail; 1888 int availBlks = fss.f_bavail;
1877 1889
1878 long mult = blkSize / 1024; 1890 long mult = blkSize / 1024;
1879 long div = 1024 / blkSize; 1891 long div = 1024 / blkSize;
1880 if ( !mult ) mult = 1; 1892 if ( !mult ) mult = 1;
1881 if ( !div ) div = 1; 1893 if ( !div ) div = 1;
1882 1894
1883 1895
1884 return QString::number(availBlks * mult / div); 1896 return QString::number(availBlks * mult / div);
1885 } 1897 }
1886 return ""; 1898 return "";
1887} 1899}
1888 1900
diff --git a/noncore/apps/advancedfm/advancedfm.pro b/noncore/apps/advancedfm/advancedfm.pro
index e99ab12..0f0f770 100644
--- a/noncore/apps/advancedfm/advancedfm.pro
+++ b/noncore/apps/advancedfm/advancedfm.pro
@@ -1,25 +1,25 @@
1TEMPLATE = app 1TEMPLATE = app
2CONFIG += qt warn_on release 2CONFIG += qt warn_on release
3HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h 3HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h
4SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp 4SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp
5TARGET = advancedfm 5TARGET = advancedfm
6REQUIRES=medium-config 6REQUIRES=medium-config
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9DESTDIR = $(OPIEDIR)/bin 9DESTDIR = $(OPIEDIR)/bin
10LIBS += -lqpe -lopie 10LIBS += -lqpe
11 11
12TRANSLATIONS = ../../../i18n/de/advancedfm.ts \ 12TRANSLATIONS = ../../../i18n/de/advancedfm.ts \
13 ../../../i18n/en/advancedfm.ts \ 13 ../../../i18n/en/advancedfm.ts \
14 ../../../i18n/es/advancedfm.ts \ 14 ../../../i18n/es/advancedfm.ts \
15 ../../../i18n/fr/advancedfm.ts \ 15 ../../../i18n/fr/advancedfm.ts \
16 ../../../i18n/hu/advancedfm.ts \ 16 ../../../i18n/hu/advancedfm.ts \
17 ../../../i18n/ja/advancedfm.ts \ 17 ../../../i18n/ja/advancedfm.ts \
18 ../../../i18n/ko/advancedfm.ts \ 18 ../../../i18n/ko/advancedfm.ts \
19 ../../../i18n/no/advancedfm.ts \ 19 ../../../i18n/no/advancedfm.ts \
20 ../../../i18n/pl/advancedfm.ts \ 20 ../../../i18n/pl/advancedfm.ts \
21 ../../../i18n/pt/advancedfm.ts \ 21 ../../../i18n/pt/advancedfm.ts \
22 ../../../i18n/pt_BR/advancedfm.ts \ 22 ../../../i18n/pt_BR/advancedfm.ts \
23 ../../../i18n/sl/advancedfm.ts \ 23 ../../../i18n/sl/advancedfm.ts \
24 ../../../i18n/zh_CN/advancedfm.ts \ 24 ../../../i18n/zh_CN/advancedfm.ts \
25 ../../../i18n/zh_TW/advancedfm.ts 25 ../../../i18n/zh_TW/advancedfm.ts