summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp19
-rw-r--r--noncore/apps/advancedfm/advancedfm.h3
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp5
3 files changed, 18 insertions, 9 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index d56e746..bb7f346 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -53,92 +53,89 @@
53#include <qmessagebox.h> 53#include <qmessagebox.h>
54#include <qlineedit.h> 54#include <qlineedit.h>
55#include <qregexp.h> 55#include <qregexp.h>
56 56
57#include <unistd.h> 57#include <unistd.h>
58#include <stdlib.h> 58#include <stdlib.h>
59#include <sys/stat.h> 59#include <sys/stat.h>
60#include <dirent.h> 60#include <dirent.h>
61#include <stdio.h> 61#include <stdio.h>
62#include <time.h> 62#include <time.h>
63#include <fcntl.h> 63#include <fcntl.h>
64#include <mntent.h> 64#include <mntent.h>
65#include <string.h> 65#include <string.h>
66#include <errno.h> 66#include <errno.h>
67#include <sys/vfs.h> 67#include <sys/vfs.h>
68#include <mntent.h> 68#include <mntent.h>
69#include <sys/utsname.h> 69#include <sys/utsname.h>
70 70
71AdvancedFm::AdvancedFm( ) 71AdvancedFm::AdvancedFm( )
72 : QMainWindow( ) { 72 : QMainWindow( ) {
73 init(); 73 init();
74 renameBox = 0; 74 renameBox = 0;
75 75
76 initConnections(); 76 initConnections();
77 TabWidget->setCurrentTab(1); 77 whichTab=1;
78 populateView(); 78 rePopulate();
79 TabWidget->setCurrentTab(0);
80 populateView();
81 currentPathCombo->setFocus(); 79 currentPathCombo->setFocus();
82} 80}
83 81
84AdvancedFm::~AdvancedFm() { 82AdvancedFm::~AdvancedFm() {
85} 83}
86 84
87 85
88void AdvancedFm::cleanUp() 86void AdvancedFm::cleanUp()
89{ 87{
90 QString sfile=QDir::homeDirPath(); 88 QString sfile=QDir::homeDirPath();
91 if(sfile.right(1) != "/") 89 if(sfile.right(1) != "/")
92 sfile+="/._temp"; 90 sfile+="/._temp";
93 else 91 else
94 sfile+="._temp"; 92 sfile+="._temp";
95 QFile file( sfile); 93 QFile file( sfile);
96 if(file.exists()) 94 if(file.exists())
97 file.remove(); 95 file.remove();
98} 96}
99 97
100void AdvancedFm::tabChanged(QWidget *w) 98void AdvancedFm::tabChanged(QWidget *w)
101{ 99{
102 if( w == tab) 100 if( w == tab)
103 whichTab = 1; 101 whichTab = 1;
104 else 102 else
105 whichTab = 2; 103 whichTab = 2;
106 104
107 //qDebug("tab changed %d", whichTab ); 105 //qDebug("tab changed %d", whichTab );
108 106
109 QString path = CurrentDir()->canonicalPath(); 107 QString path = CurrentDir()->canonicalPath();
110 currentPathCombo->lineEdit()->setText( path ); 108 currentPathCombo->lineEdit()->setText( path );
111 109
112 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE); 110 viewMenu->setItemChecked(viewMenu->idAt(0),TRUE);
113 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE); 111 viewMenu->setItemChecked(viewMenu->idAt(1),FALSE);
114 112
115 QString fs= getFileSystemType( (const QString &) path); 113 QString fs= getFileSystemType( (const QString &) path);
116 114
117 setCaption("AdvancedFm :: "+fs+" :: " 115 setCaption("AdvancedFm :: "+fs+" :: "
118 +checkDiskSpace( (const QString &) path )+ " kB free" ); 116 +checkDiskSpace( (const QString &) path )+ " kB free" );
119 chdir( path.latin1()); 117 chdir( path.latin1());
120 //2populateView();
121} 118}
122 119
123 120
124void AdvancedFm::populateView() 121void AdvancedFm::populateView()
125{ 122{
126 QPixmap pm; 123 QPixmap pm;
127 QListView *thisView = CurrentView(); 124 QListView *thisView = CurrentView();
128 QDir *thisDir = CurrentDir(); 125 QDir *thisDir = CurrentDir();
129 QString path = thisDir->canonicalPath(); 126 QString path = thisDir->canonicalPath();
130 127
131 thisView->clear(); 128 thisView->clear();
132 thisDir->setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 129 thisDir->setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
133 thisDir->setMatchAllDirs(TRUE); 130 thisDir->setMatchAllDirs(TRUE);
134 thisDir->setNameFilter(filterStr); 131 thisDir->setNameFilter(filterStr);
135 QString fileL, fileS, fileDate; 132 QString fileL, fileS, fileDate;
136 QString fs= getFileSystemType((const QString &) path); 133 QString fs= getFileSystemType((const QString &) path);
137 setCaption("AdvancedFm :: "+fs+" :: " 134 setCaption("AdvancedFm :: "+fs+" :: "
138 +checkDiskSpace((const QString &) path)+" kB free" ); 135 +checkDiskSpace((const QString &) path)+" kB free" );
139 bool isDir=FALSE; 136 bool isDir=FALSE;
140 const QFileInfoList *list = thisDir->entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 137 const QFileInfoList *list = thisDir->entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
141 QFileInfoListIterator it(*list); 138 QFileInfoListIterator it(*list);
142 QFileInfo *fi; 139 QFileInfo *fi;
143 while ( (fi=it.current()) ) 140 while ( (fi=it.current()) )
144 { 141 {
@@ -222,48 +219,60 @@ void AdvancedFm::populateView()
222 if((dir = opendir( path.latin1())) != NULL) 219 if((dir = opendir( path.latin1())) != NULL)
223 while ((mydirent = readdir(dir)) != NULL) 220 while ((mydirent = readdir(dir)) != NULL)
224 { 221 {
225 lstat( mydirent->d_name, &buf); 222 lstat( mydirent->d_name, &buf);
226// qDebug(mydirent->d_name); 223// qDebug(mydirent->d_name);
227 fileL.sprintf("%s", mydirent->d_name); 224 fileL.sprintf("%s", mydirent->d_name);
228 devT = buf.st_dev; 225 devT = buf.st_dev;
229 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF); 226 fileS.sprintf("%d, %d", (int) ( devT >>8) &0xFF, (int)devT &0xFF);
230 fileDate.sprintf("%s", ctime( &buf.st_mtime)); 227 fileDate.sprintf("%s", ctime( &buf.st_mtime));
231 if( fileL.find(".") == -1 ) 228 if( fileL.find(".") == -1 )
232 { 229 {
233 item= new QListViewItem( thisView, fileL, fileS, fileDate); 230 item= new QListViewItem( thisView, fileL, fileS, fileDate);
234 pm = Resource::loadPixmap( "UnknownDocument-14" ); 231 pm = Resource::loadPixmap( "UnknownDocument-14" );
235 item->setPixmap( 0,pm); 232 item->setPixmap( 0,pm);
236 } 233 }
237 } 234 }
238 235
239 closedir(dir); 236 closedir(dir);
240 } 237 }
241 238
242 thisView->setSorting( 3,FALSE); 239 thisView->setSorting( 3,FALSE);
243 fillCombo( (const QString &) path ); 240 fillCombo( (const QString &) path );
244} 241}
245 242
243void AdvancedFm::rePopulate()
244{
245 int tmpTab = whichTab;
246 qDebug("%d", tmpTab);
247
248 for(int i =1; i < 3; i++)
249 {
250 TabWidget->setCurrentTab(i - 1);
251 populateView();
252 }
253 TabWidget->setCurrentTab( tmpTab - 1);
254}
246 255
247void AdvancedFm::ListClicked(QListViewItem *selectedItem) 256void AdvancedFm::ListClicked(QListViewItem *selectedItem)
248{ 257{
249 if(selectedItem) 258 if(selectedItem)
250 { 259 {
251 QString strItem=selectedItem->text(0); 260 QString strItem=selectedItem->text(0);
252 QString strSize=selectedItem->text(1); 261 QString strSize=selectedItem->text(1);
253 strSize=strSize.stripWhiteSpace(); 262 strSize=strSize.stripWhiteSpace();
254 bool isDirectory = false; 263 bool isDirectory = false;
255 QString strItem2; 264 QString strItem2;
256 265
257 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 )//if symlink 266 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 )//if symlink
258 { 267 {
259 strItem2 = dealWithSymName((const QString&)strItem); 268 strItem2 = dealWithSymName((const QString&)strItem);
260 if(QDir(strItem2).exists() ) 269 if(QDir(strItem2).exists() )
261 strItem = strItem2; 270 strItem = strItem2;
262 } 271 }
263 272
264 if( strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) 273 if( strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 )
265 { 274 {
266 275
267 if(QDir(strItem).exists()) 276 if(QDir(strItem).exists())
268 isDirectory = true; 277 isDirectory = true;
269 } 278 }
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 024ab29..3250a66 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -43,48 +43,49 @@ class QPEMenuBar;
43class QPopupMenu; 43class QPopupMenu;
44class QFile; 44class QFile;
45class QListViewItem; 45class QListViewItem;
46class QLineEdit; 46class QLineEdit;
47class MenuButton; 47class MenuButton;
48 48
49//class QPushButton; 49//class QPushButton;
50class QToolButton; 50class QToolButton;
51class Ir; 51class Ir;
52 52
53class AdvancedFm : public QMainWindow 53class AdvancedFm : public QMainWindow
54{ 54{
55 Q_OBJECT 55 Q_OBJECT
56public: 56public:
57 AdvancedFm(); 57 AdvancedFm();
58 ~AdvancedFm(); 58 ~AdvancedFm();
59protected slots: 59protected slots:
60 void selectAll(); 60 void selectAll();
61 void addToDocs(); 61 void addToDocs();
62 void doDirChange(); 62 void doDirChange();
63 void mkDir(); 63 void mkDir();
64 void del(); 64 void del();
65 void rn(); 65 void rn();
66 void populateView(); 66 void populateView();
67 void rePopulate();
67 void showHidden(); 68 void showHidden();
68 void showMenuHidden(); 69 void showMenuHidden();
69 void writeConfig(); 70 void writeConfig();
70 void readConfig(); 71 void readConfig();
71 void ListClicked(QListViewItem *); 72 void ListClicked(QListViewItem *);
72 void ListPressed( int, QListViewItem *, const QPoint&, int); 73 void ListPressed( int, QListViewItem *, const QPoint&, int);
73 void makeDir(); 74 void makeDir();
74 void doDelete(); 75 void doDelete();
75 void tabChanged(QWidget*); 76 void tabChanged(QWidget*);
76 void cleanUp(); 77 void cleanUp();
77 void renameIt(); 78 void renameIt();
78 void runThis(); 79 void runThis();
79 void runText(); 80 void runText();
80 void filePerms(); 81 void filePerms();
81 void doProperties(); 82 void doProperties();
82 void runCommand(); 83 void runCommand();
83 void runCommandStd(); 84 void runCommandStd();
84 QStringList getPath(); 85 QStringList getPath();
85 void mkSym(); 86 void mkSym();
86 void switchToLocalTab(); 87 void switchToLocalTab();
87 void switchToRemoteTab(); 88 void switchToRemoteTab();
88 89
89protected: 90protected:
90 91
@@ -99,49 +100,49 @@ protected:
99 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; 100 QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
100// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; 101// QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton;
101 QDir currentDir, currentRemoteDir; 102 QDir currentDir, currentRemoteDir;
102 QComboBox *currentPathCombo; 103 QComboBox *currentPathCombo;
103 QString filterStr, s_addBookmark, s_removeBookmark; 104 QString filterStr, s_addBookmark, s_removeBookmark;
104 QListViewItem * item; 105 QListViewItem * item;
105 bool b; 106 bool b;
106 QStringList fileSystemTypeList, fsList; 107 QStringList fileSystemTypeList, fsList;
107 int currentServerConfig; 108 int currentServerConfig;
108 bool zaurusDevice; 109 bool zaurusDevice;
109 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; 110 QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3;
110 QStringList remoteDirPathStringList, localDirPathStringList; 111 QStringList remoteDirPathStringList, localDirPathStringList;
111 QLineEdit *renameBox; 112 QLineEdit *renameBox;
112 113
113 void init(); 114 void init();
114 void initConnections(); 115 void initConnections();
115 void keyReleaseEvent( QKeyEvent *); 116 void keyReleaseEvent( QKeyEvent *);
116 void keyPressEvent( QKeyEvent *); 117 void keyPressEvent( QKeyEvent *);
117 QString getFileSystemType(const QString &); 118 QString getFileSystemType(const QString &);
118 QString getDiskSpace(const QString &); 119 QString getDiskSpace(const QString &);
119 void parsetab(const QString &fileName); 120 void parsetab(const QString &fileName);
120 QString checkDiskSpace(const QString &); 121 QString checkDiskSpace(const QString &);
121 QString dealWithSymName(const QString &); 122 QString dealWithSymName(const QString &);
122 QDir *CurrentDir(); 123 QDir *CurrentDir();
123 QDir *OtherDir(); 124 QDir *OtherDir();
124 QListView *CurrentView(); 125 QListView *CurrentView();
125 QListView *OtherView(); 126 QListView *OtherView();
126 void setOtherTabCurrent(); 127 void setOtherTabCurrent();
127 128
128protected slots: 129protected slots:
129 void dirMenuSelected(int); 130 void dirMenuSelected(int);
130 void showFileMenu(); 131 void showFileMenu();
131 void cancelMenuTimer(); 132 void cancelMenuTimer();
132 void homeButtonPushed(); 133 void homeButtonPushed();
133 void docButtonPushed(); 134 void docButtonPushed();
134 void SDButtonPushed(); 135 void SDButtonPushed();
135 void CFButtonPushed(); 136 void CFButtonPushed();
136 void QPEButtonPushed(); 137 void QPEButtonPushed();
137 void upDir(); 138 void upDir();
138 void currentPathComboChanged(); 139 void currentPathComboChanged();
139 void copy(); 140 void copy();
140 void copyAs(); 141 void copyAs();
141 void copySameDir(); 142 void copySameDir();
142 void currentPathComboActivated(const QString &); 143 void currentPathComboActivated(const QString &);
143 void fillCombo(const QString &); 144 void fillCombo(const QString &);
144 bool copyFile( const QString & , const QString & ); 145 bool copyFile( const QString & , const QString & );
145 void move(); 146 void move();
146 void fileStatus(); 147 void fileStatus();
147 void doAbout(); 148 void doAbout();
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index f46503c..a82d69a 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -47,72 +47,71 @@
47 47
48 48
49void AdvancedFm::doDirChange() 49void AdvancedFm::doDirChange()
50{ 50{
51 ListClicked( CurrentView()->currentItem()); 51 ListClicked( CurrentView()->currentItem());
52} 52}
53 53
54void AdvancedFm::showMenuHidden() 54void AdvancedFm::showMenuHidden()
55{ 55{
56 if (b) 56 if (b)
57 { 57 {
58 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 58 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
59 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 59 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
60 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 60 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
61// b=FALSE; 61// b=FALSE;
62 62
63 } 63 }
64 else 64 else
65 { 65 {
66 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 66 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
67 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 67 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
68 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 68 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
69// b=TRUE; 69// b=TRUE;
70 } 70 }
71 populateView(); 71 rePopulate();
72// populateRemoteView();
73// if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true"); 72// if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true");
74 if(b) b = false; else b = true; 73 if(b) b = false; else b = true;
75} 74}
76 75
77void AdvancedFm::showHidden() 76void AdvancedFm::showHidden()
78{ 77{
79 if (b) 78 if (b)
80 { 79 {
81 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 80 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
82 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 81 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
83// fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 82// fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
84// b=FALSE; 83// b=FALSE;
85 84
86 } 85 }
87 else 86 else
88 { 87 {
89 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 88 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
90 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 89 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
91// fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 90// fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
92// b=TRUE; 91// b=TRUE;
93 } 92 }
94 populateView(); 93 rePopulate();
95} 94}
96 95
97QString AdvancedFm::dealWithSymName(const QString &fileName) 96QString AdvancedFm::dealWithSymName(const QString &fileName)
98{ 97{
99 QString strItem = fileName; 98 QString strItem = fileName;
100 return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 99 return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
101} 100}
102 101
103void AdvancedFm::runThis() 102void AdvancedFm::runThis()
104{ 103{
105 QString fs; 104 QString fs;
106 QDir *thisDir = CurrentDir(); 105 QDir *thisDir = CurrentDir();
107 106
108 QString curFile = CurrentView()->currentItem()->text(0); 107 QString curFile = CurrentView()->currentItem()->text(0);
109 QString path = thisDir->canonicalPath(); 108 QString path = thisDir->canonicalPath();
110 109
111 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink 110 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink
112 111
113 curFile = dealWithSymName((const QString&)curFile); 112 curFile = dealWithSymName((const QString&)curFile);
114 113
115 if(curFile != "../") 114 if(curFile != "../")
116 { 115 {
117 116
118 fs = getFileSystemType((const QString &) path); 117 fs = getFileSystemType((const QString &) path);