-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 66 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.h | 3 |
2 files changed, 19 insertions, 50 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 02898de..fec320d 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp | |||
@@ -23,60 +23,51 @@ | |||
23 | #include <qcombobox.h> | 23 | #include <qcombobox.h> |
24 | #include <qpopupmenu.h> | 24 | #include <qpopupmenu.h> |
25 | #include <qlistview.h> | 25 | #include <qlistview.h> |
26 | #include <qmessagebox.h> | 26 | #include <qmessagebox.h> |
27 | #include <qlineedit.h> | 27 | #include <qlineedit.h> |
28 | 28 | ||
29 | 29 | ||
30 | #include <sys/stat.h> | 30 | #include <sys/stat.h> |
31 | #include <time.h> | 31 | #include <time.h> |
32 | #include <dirent.h> | 32 | #include <dirent.h> |
33 | #include <fcntl.h> | 33 | #include <fcntl.h> |
34 | #include <sys/vfs.h> | 34 | #include <sys/vfs.h> |
35 | #include <mntent.h> | 35 | #include <mntent.h> |
36 | 36 | ||
37 | using namespace Opie::Ui; | 37 | using namespace Opie::Ui; |
38 | 38 | ||
39 | AdvancedFm::AdvancedFm(QWidget *,const char*, WFlags ) | 39 | AdvancedFm::AdvancedFm(QWidget *,const char*, WFlags ) |
40 | : QMainWindow( ) { | 40 | : QMainWindow( ) { |
41 | init(); | 41 | init(); |
42 | renameBox = 0; | 42 | renameBox = 0; |
43 | 43 | ||
44 | unknownXpm = Resource::loadImage("UnknownDocument").smoothScale(AppLnk::smallIconSize(),AppLnk::smallIconSize() ); | 44 | unknownXpm = Resource::loadImage("UnknownDocument").smoothScale(AppLnk::smallIconSize(),AppLnk::smallIconSize() ); |
45 | 45 | ||
46 | initConnections(); | 46 | initConnections(); |
47 | 47 | populateView(); | |
48 | whichTab = 1; | ||
49 | populateView(); | ||
50 | // rePopulate(); | ||
51 | // currentPathCombo->setFocus(); | ||
52 | channel = new QCopChannel( "QPE/Application/advancedfm", this ); | 48 | channel = new QCopChannel( "QPE/Application/advancedfm", this ); |
53 | connect(channel,SIGNAL(received(const QCString&,const QByteArray&)),this,SLOT(qcopReceive(const QCString&,const QByteArray&))); | 49 | connect(channel,SIGNAL(received(const QCString&,const QByteArray&)),this,SLOT(qcopReceive(const QCString&,const QByteArray&))); |
54 | |||
55 | // if( CurrentView() == Local_View) | ||
56 | // qDebug("LOCAL VIEW"); | ||
57 | // else | ||
58 | // qDebug("REMOTE VIEW"); | ||
59 | switchToLocalTab(); | 50 | switchToLocalTab(); |
60 | } | 51 | } |
61 | 52 | ||
62 | AdvancedFm::~AdvancedFm() { | 53 | AdvancedFm::~AdvancedFm() { |
63 | } | 54 | } |
64 | 55 | ||
65 | 56 | ||
66 | void AdvancedFm::cleanUp() { | 57 | void AdvancedFm::cleanUp() { |
67 | QString sfile=QDir::homeDirPath(); | 58 | QString sfile=QDir::homeDirPath(); |
68 | if(sfile.right(1) != "/") | 59 | if(sfile.right(1) != "/") |
69 | sfile+="/._temp"; | 60 | sfile+="/._temp"; |
70 | else | 61 | else |
71 | sfile+="._temp"; | 62 | sfile+="._temp"; |
72 | QFile file( sfile); | 63 | QFile file( sfile); |
73 | if(file.exists()) | 64 | if(file.exists()) |
74 | file.remove(); | 65 | file.remove(); |
75 | } | 66 | } |
76 | 67 | ||
77 | void AdvancedFm::tabChanged(QWidget *wd) { | 68 | void AdvancedFm::tabChanged(QWidget *wd) { |
78 | // qDebug("tabChanged"); | 69 | // qDebug("tabChanged"); |
79 | if(wd == tab) { | 70 | if(wd == tab) { |
80 | whichTab = 1; | 71 | whichTab = 1; |
81 | // qDebug("tabchanged: LOCAL VIEW SHOWN"); | 72 | // qDebug("tabchanged: LOCAL VIEW SHOWN"); |
82 | } | 73 | } |
@@ -269,68 +260,57 @@ void AdvancedFm::ListClicked(QListViewItem *selectedItem) { | |||
269 | void AdvancedFm::ListPressed( int mouse, QListViewItem *item, const QPoint& , int ) { | 260 | void AdvancedFm::ListPressed( int mouse, QListViewItem *item, const QPoint& , int ) { |
270 | Q_UNUSED(item); | 261 | Q_UNUSED(item); |
271 | switch (mouse) { | 262 | switch (mouse) { |
272 | case 1: | 263 | case 1: |
273 | { | 264 | { |
274 | if(renameBox != 0 ) { | 265 | if(renameBox != 0 ) { |
275 | cancelRename(); | 266 | cancelRename(); |
276 | } | 267 | } |
277 | } | 268 | } |
278 | break; | 269 | break; |
279 | // case 2: | 270 | // case 2: |
280 | // menuTimer.start( 50, TRUE ); | 271 | // menuTimer.start( 50, TRUE ); |
281 | // break; | 272 | // break; |
282 | }; | 273 | }; |
283 | } | 274 | } |
284 | 275 | ||
285 | 276 | ||
286 | void AdvancedFm::refreshCurrentTab() { | 277 | void AdvancedFm::refreshCurrentTab() { |
287 | populateView(); | 278 | populateView(); |
288 | // if ( TabWidget->currentWidget() == tab) { | 279 | // if ( TabWidget->currentWidget() == tab) { |
289 | 280 | ||
290 | } | 281 | } |
291 | 282 | ||
292 | void AdvancedFm::switchToLocalTab() { | 283 | void AdvancedFm::switchToLocalTab() { |
293 | qDebug("switchToLocal "); | 284 | TabWidget->setCurrentWidget(0); |
294 | TabWidget->setCurrentWidget(0); | 285 | Local_View->setFocus(); |
295 | Local_View->setFocus(); | 286 | whichTab = 1; |
296 | whichTab = 1; | ||
297 | |||
298 | } | 287 | } |
299 | 288 | ||
300 | void AdvancedFm::switchToRemoteTab() { | 289 | void AdvancedFm::switchToRemoteTab() { |
301 | qDebug("switchToRemoteTab() "); | 290 | TabWidget->setCurrentWidget(1); |
302 | TabWidget->setCurrentWidget(1); | 291 | Remote_View->setFocus(); |
303 | Remote_View->setFocus(); | 292 | whichTab = 2; |
304 | whichTab = 2; | ||
305 | } | ||
306 | |||
307 | void AdvancedFm::readConfig() { | ||
308 | Config cfg("AdvancedFm"); | ||
309 | } | ||
310 | |||
311 | void AdvancedFm::writeConfig() { | ||
312 | Config cfg("AdvancedFm"); | ||
313 | } | 293 | } |
314 | 294 | ||
315 | void AdvancedFm::currentPathComboChanged() { | 295 | void AdvancedFm::currentPathComboChanged() { |
316 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { | 296 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { |
317 | CurrentDir()->setPath( currentPathCombo->lineEdit()->text() ); | 297 | CurrentDir()->setPath( currentPathCombo->lineEdit()->text() ); |
318 | populateView(); | 298 | populateView(); |
319 | } else { | 299 | } else { |
320 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); | 300 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); |
321 | } | 301 | } |
322 | } | 302 | } |
323 | 303 | ||
324 | void AdvancedFm::fillCombo(const QString ¤tPath) { | 304 | void AdvancedFm::fillCombo(const QString ¤tPath) { |
325 | 305 | ||
326 | if ( TabWidget->currentWidget() == tab) { | 306 | if ( TabWidget->currentWidget() == tab) { |
327 | // if ( whichTab == 1) { | 307 | // if ( whichTab == 1) { |
328 | currentPathCombo->lineEdit()->setText( currentPath); | 308 | currentPathCombo->lineEdit()->setText( currentPath); |
329 | if( localDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { | 309 | if( localDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { |
330 | currentPathCombo->clear(); | 310 | currentPathCombo->clear(); |
331 | localDirPathStringList.prepend( currentPath ); | 311 | localDirPathStringList.prepend( currentPath ); |
332 | currentPathCombo->insertStringList( localDirPathStringList,-1); | 312 | currentPathCombo->insertStringList( localDirPathStringList,-1); |
333 | } | 313 | } |
334 | } else { | 314 | } else { |
335 | currentPathCombo->lineEdit()->setText( currentPath); | 315 | currentPathCombo->lineEdit()->setText( currentPath); |
336 | if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { | 316 | if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { |
@@ -341,82 +321,72 @@ void AdvancedFm::fillCombo(const QString ¤tPath) { | |||
341 | } | 321 | } |
342 | } | 322 | } |
343 | 323 | ||
344 | void AdvancedFm::currentPathComboActivated(const QString & currentPath) { | 324 | void AdvancedFm::currentPathComboActivated(const QString & currentPath) { |
345 | chdir( currentPath.latin1() ); | 325 | chdir( currentPath.latin1() ); |
346 | CurrentDir()->cd( currentPath, TRUE); | 326 | CurrentDir()->cd( currentPath, TRUE); |
347 | populateView(); | 327 | populateView(); |
348 | update(); | 328 | update(); |
349 | } | 329 | } |
350 | 330 | ||
351 | QStringList AdvancedFm::getPath() { | 331 | QStringList AdvancedFm::getPath() { |
352 | QStringList strList; | 332 | QStringList strList; |
353 | QListView *thisView=CurrentView(); | 333 | QListView *thisView=CurrentView(); |
354 | QList<QListViewItem> * getSelectedItems( QListView * thisView ); | 334 | QList<QListViewItem> * getSelectedItems( QListView * thisView ); |
355 | QListViewItemIterator it( thisView ); | 335 | QListViewItemIterator it( thisView ); |
356 | for ( ; it.current(); ++it ) { | 336 | for ( ; it.current(); ++it ) { |
357 | if ( it.current()->isSelected() ) { | 337 | if ( it.current()->isSelected() ) { |
358 | strList << it.current()->text(0); | 338 | strList << it.current()->text(0); |
359 | // odebug << it.current()->text(0) << oendl; | 339 | // odebug << it.current()->text(0) << oendl; |
360 | } | 340 | } |
361 | } | 341 | } |
362 | return strList; | 342 | return strList; |
363 | } | 343 | } |
364 | 344 | ||
365 | void AdvancedFm::homeButtonPushed() { | 345 | void AdvancedFm::changeTo(QString dir) { |
366 | QString current = QDir::homeDirPath(); | 346 | chdir( dir.latin1()); |
367 | chdir( current.latin1() ); | 347 | CurrentDir()->cd(dir, TRUE); |
368 | CurrentDir()->cd( current, TRUE); | ||
369 | populateView(); | 348 | populateView(); |
370 | update(); | 349 | update(); |
371 | } | 350 | } |
372 | 351 | ||
352 | void AdvancedFm::homeButtonPushed() { | ||
353 | changeTo(QDir::homeDirPath()); | ||
354 | } | ||
355 | |||
373 | void AdvancedFm::docButtonPushed() { | 356 | void AdvancedFm::docButtonPushed() { |
374 | QString current = QPEApplication::documentDir(); | 357 | changeTo(QPEApplication::documentDir()); |
375 | chdir( current.latin1() ); | ||
376 | CurrentDir()->cd( current, TRUE); | ||
377 | populateView(); | ||
378 | update(); | ||
379 | } | 358 | } |
380 | 359 | ||
381 | void AdvancedFm::SDButtonPushed() { | 360 | void AdvancedFm::SDButtonPushed() { |
382 | QString current = "/mnt/card";// this can change so fix | 361 | changeTo("/mnt/card");// this can change so fix |
383 | chdir( current.latin1() ); | ||
384 | CurrentDir()->cd( current, TRUE); | ||
385 | populateView(); | ||
386 | update(); | ||
387 | } | 362 | } |
388 | 363 | ||
389 | void AdvancedFm::CFButtonPushed() { | 364 | void AdvancedFm::CFButtonPushed() { |
390 | QString current; | ||
391 | if(zaurusDevice) | 365 | if(zaurusDevice) |
392 | current= "/mnt/cf"; //zaurus | 366 | changeTo("/mnt/cf"); //zaurus |
393 | else | 367 | else |
394 | current = "/mnt/hda"; //ipaq | 368 | changeTo("/mnt/hda"); //ipaq |
395 | chdir( current.latin1() ); | ||
396 | CurrentDir()->cd( current, TRUE); | ||
397 | populateView(); | ||
398 | update(); | ||
399 | } | 369 | } |
400 | 370 | ||
401 | 371 | ||
402 | void AdvancedFm::doAbout() { | 372 | void AdvancedFm::doAbout() { |
403 | QMessageBox::message("AdvancedFm",tr("<P>Advanced FileManager is copyright 2002-2003 by L.J.Potter<llornkcor@handhelds.org> and is licensed by the GPL</P>")); | 373 | QMessageBox::message("AdvancedFm",tr("<P>Advanced FileManager is copyright 2002-2003 by L.J.Potter<llornkcor@handhelds.org> and is licensed by the GPL</P>")); |
404 | } | 374 | } |
405 | 375 | ||
406 | void AdvancedFm::keyPressEvent( QKeyEvent *e) { | 376 | void AdvancedFm::keyPressEvent( QKeyEvent *e) { |
407 | // owarn << "key " << e->key() << "" << oendl; | 377 | // owarn << "key " << e->key() << "" << oendl; |
408 | // if( CurrentView()->hasFocus() ) | 378 | // if( CurrentView()->hasFocus() ) |
409 | { | 379 | { |
410 | switch ( e->key() ) { | 380 | switch ( e->key() ) { |
411 | case Key_Left: | 381 | case Key_Left: |
412 | upDir(); | 382 | upDir(); |
413 | break; | 383 | break; |
414 | case Key_Next: | 384 | case Key_Next: |
415 | break; | 385 | break; |
416 | case Key_Return: | 386 | case Key_Return: |
417 | case Key_Enter: | 387 | case Key_Enter: |
418 | navigateToSelected(); | 388 | navigateToSelected(); |
419 | break; | 389 | break; |
420 | case Key_Tab: { | 390 | case Key_Tab: { |
421 | setOtherTabCurrent(); | 391 | setOtherTabCurrent(); |
422 | } | 392 | } |
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h index 2234b3c..c52b853 100644 --- a/noncore/apps/advancedfm/advancedfm.h +++ b/noncore/apps/advancedfm/advancedfm.h | |||
@@ -76,66 +76,65 @@ protected: | |||
76 | QString filterStr, s_addBookmark, s_removeBookmark; | 76 | QString filterStr, s_addBookmark, s_removeBookmark; |
77 | QListViewItem * item; | 77 | QListViewItem * item; |
78 | bool b; | 78 | bool b; |
79 | QStringList fileSystemTypeList, fsList; | 79 | QStringList fileSystemTypeList, fsList; |
80 | int currentServerConfig; | 80 | int currentServerConfig; |
81 | bool zaurusDevice; | 81 | bool zaurusDevice; |
82 | QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; | 82 | QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; |
83 | QStringList remoteDirPathStringList, localDirPathStringList; | 83 | QStringList remoteDirPathStringList, localDirPathStringList; |
84 | QLineEdit *renameBox; | 84 | QLineEdit *renameBox; |
85 | 85 | ||
86 | void init(); | 86 | void init(); |
87 | void initConnections(); | 87 | void initConnections(); |
88 | void keyReleaseEvent( QKeyEvent *); | 88 | void keyReleaseEvent( QKeyEvent *); |
89 | void keyPressEvent( QKeyEvent *); | 89 | void keyPressEvent( QKeyEvent *); |
90 | QString getFileSystemType(const QString &); | 90 | QString getFileSystemType(const QString &); |
91 | QString getDiskSpace(const QString &); | 91 | QString getDiskSpace(const QString &); |
92 | void parsetab(const QString &fileName); | 92 | void parsetab(const QString &fileName); |
93 | QString checkDiskSpace(const QString &); | 93 | QString checkDiskSpace(const QString &); |
94 | QString dealWithSymName(const QString &); | 94 | QString dealWithSymName(const QString &); |
95 | QDir *CurrentDir(); | 95 | QDir *CurrentDir(); |
96 | QDir *OtherDir(); | 96 | QDir *OtherDir(); |
97 | QListView *CurrentView(); | 97 | QListView *CurrentView(); |
98 | QListView *OtherView(); | 98 | QListView *OtherView(); |
99 | void setOtherTabCurrent(); | 99 | void setOtherTabCurrent(); |
100 | void changeTo(QString & dir); | ||
100 | 101 | ||
101 | //protected signals: | 102 | //protected signals: |
102 | // void newPath(QString); | 103 | // void newPath(QString); |
103 | 104 | ||
104 | protected slots: | 105 | protected slots: |
105 | void slotSwitchMenu(int); | 106 | void slotSwitchMenu(int); |
106 | void selectAll(); | 107 | void selectAll(); |
107 | void addToDocs(); | 108 | void addToDocs(); |
108 | void doDirChange(); | 109 | void doDirChange(); |
109 | void mkDir(); | 110 | void mkDir(); |
110 | void del(); | 111 | void del(); |
111 | void rn(); | 112 | void rn(); |
112 | void populateView(); | 113 | void populateView(); |
113 | void rePopulate(); | 114 | void rePopulate(); |
114 | void showHidden(); | 115 | void showHidden(); |
115 | void showMenuHidden(); | 116 | void showMenuHidden(); |
116 | void writeConfig(); | ||
117 | void readConfig(); | ||
118 | void ListClicked(QListViewItem *); | 117 | void ListClicked(QListViewItem *); |
119 | void ListPressed( int, QListViewItem *, const QPoint&, int); | 118 | void ListPressed( int, QListViewItem *, const QPoint&, int); |
120 | void makeDir(); | 119 | void makeDir(); |
121 | void doDelete(); | 120 | void doDelete(); |
122 | void tabChanged(QWidget*); | 121 | void tabChanged(QWidget*); |
123 | void cleanUp(); | 122 | void cleanUp(); |
124 | void renameIt(); | 123 | void renameIt(); |
125 | void runThis(); | 124 | void runThis(); |
126 | void runText(); | 125 | void runText(); |
127 | void filePerms(); | 126 | void filePerms(); |
128 | void doProperties(); | 127 | void doProperties(); |
129 | void runCommand(); | 128 | void runCommand(); |
130 | void runCommandStd(); | 129 | void runCommandStd(); |
131 | QStringList getPath(); | 130 | QStringList getPath(); |
132 | void mkSym(); | 131 | void mkSym(); |
133 | void switchToLocalTab(); | 132 | void switchToLocalTab(); |
134 | void switchToRemoteTab(); | 133 | void switchToRemoteTab(); |
135 | void refreshCurrentTab(); | 134 | void refreshCurrentTab(); |
136 | 135 | ||
137 | void openSearch(); | 136 | void openSearch(); |
138 | void dirMenuSelected(int); | 137 | void dirMenuSelected(int); |
139 | void showFileMenu(); | 138 | void showFileMenu(); |
140 | void homeButtonPushed(); | 139 | void homeButtonPushed(); |
141 | void docButtonPushed(); | 140 | void docButtonPushed(); |