summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-03-17 01:20:09 (UTC)
committer llornkcor <llornkcor>2002-03-17 01:20:09 (UTC)
commit2fe80a98551e89b45798369f1bf91f0368382ba6 (patch) (unidiff)
treea09d8dd51306563faf3496a05cbaca987665b365
parent6fa31a92ee5ae6b4e9df2713b0ed7b8fb39fff49 (diff)
downloadopie-2fe80a98551e89b45798369f1bf91f0368382ba6.zip
opie-2fe80a98551e89b45798369f1bf91f0368382ba6.tar.gz
opie-2fe80a98551e89b45798369f1bf91f0368382ba6.tar.bz2
fixed problem with remote directory not being listed after an upload, and fixed
problem with temp file poop with strewn throughout the local filesystem.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp79
-rw-r--r--noncore/net/opieftp/opieftp.h6
2 files changed, 53 insertions, 32 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 042ed59..6a3a64d 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -73,18 +73,18 @@ OpieFtp::OpieFtp( )
73 QPEMenuBar *menuBar = new QPEMenuBar(this); 73 QPEMenuBar *menuBar = new QPEMenuBar(this);
74 connectionMenu = new QPopupMenu( this ); 74 connectionMenu = new QPopupMenu( this );
75 localMenu = new QPopupMenu( this ); 75 localMenu = new QPopupMenu( this );
76 remoteMenu = new QPopupMenu( this ); 76 remoteMenu = new QPopupMenu( this );
77 tabMenu = new QPopupMenu( this ); 77 tabMenu = new QPopupMenu( this );
78 78
79 layout->addMultiCellWidget( menuBar, 0, 0, 0, 3 ); 79 layout->addMultiCellWidget( menuBar, 0, 0, 0, 3 );
80 80
81 menuBar->insertItem( tr( "Connection" ), connectionMenu); 81 menuBar->insertItem( tr( "Connection" ), connectionMenu);
82 menuBar->insertItem( tr( "Local" ), localMenu); 82 menuBar->insertItem( tr( "Local" ), localMenu);
83 menuBar->insertItem( tr( "Remote" ), remoteMenu); 83 menuBar->insertItem( tr( "Remote" ), remoteMenu);
84 menuBar->insertItem( tr( "View" ), tabMenu); 84 menuBar->insertItem( tr( "View" ), tabMenu);
85 85
86 connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() )); 86 connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() ));
87 connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() )); 87 connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() ));
88 connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() )); 88 connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() ));
89 89
90 localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 90 localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
@@ -104,9 +104,9 @@ OpieFtp::OpieFtp( )
104 tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); 104 tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
105 tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); 105 tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
106 tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() )); 106 tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() ));
107 107
108 TabWidget = new QTabWidget( this, "TabWidget" ); 108 TabWidget = new QTabWidget( this, "TabWidget" );
109 layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 ); 109 layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 );
110 110
111 TabWidget->setTabShape(QTabWidget::Triangular); 111 TabWidget->setTabShape(QTabWidget::Triangular);
112 112
@@ -147,16 +147,16 @@ OpieFtp::OpieFtp( )
147 Remote_View->setColumnAlignment(2,QListView::AlignRight); 147 Remote_View->setColumnAlignment(2,QListView::AlignRight);
148 Remote_View->setAllColumnsShowFocus(TRUE); 148 Remote_View->setAllColumnsShowFocus(TRUE);
149 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 149 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
150 150
151 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)), 151 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)),
152 this,SLOT( remoteListClicked(QListViewItem *)) ); 152 this,SLOT( remoteListClicked(QListViewItem *)) );
153 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 153 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
154 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 154 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) );
155 155
156 tabLayout_2->addWidget( Remote_View, 0, 0 ); 156 tabLayout_2->addWidget( Remote_View, 0, 0 );
157 157
158 TabWidget->insertTab( tab_2, tr( "Remote" ) ); 158 TabWidget->insertTab( tab_2, tr( "Remote" ) );
159 159
160 tab_3 = new QWidget( TabWidget, "tab_3" ); 160 tab_3 = new QWidget( TabWidget, "tab_3" );
161 tabLayout_3 = new QGridLayout( tab_3 ); 161 tabLayout_3 = new QGridLayout( tab_3 );
162 tabLayout_3->setSpacing( 2); 162 tabLayout_3->setSpacing( 2);
@@ -204,21 +204,21 @@ OpieFtp::OpieFtp( )
204// remotePath->setText( currentRemoteDir = "/home/llornkcor/"); 204// remotePath->setText( currentRemoteDir = "/home/llornkcor/");
205 205
206 TextLabel4 = new QLabel( tab_3, "TextLabel4" ); 206 TextLabel4 = new QLabel( tab_3, "TextLabel4" );
207 TextLabel4->setText( tr( "Port" ) ); 207 TextLabel4->setText( tr( "Port" ) );
208 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 ); 208 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 );
209 209
210 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" ); 210 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" );
211 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows ); 211 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows );
212 PortSpinBox->setMaxValue(32786); 212 PortSpinBox->setMaxValue(32786);
213 PortSpinBox->setValue( 4242); 213 PortSpinBox->setValue( 4242);
214// PortSpinBox->setValue( 21); 214// PortSpinBox->setValue( 21);
215 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1); 215 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1);
216 216
217 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 217 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
218 tabLayout_3->addItem( spacer, 5, 0 ); 218 tabLayout_3->addItem( spacer, 5, 0 );
219 219
220 TabWidget->insertTab( tab_3, tr( "Config" ) ); 220 TabWidget->insertTab( tab_3, tr( "Config" ) );
221 221
222 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 222 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
223 this,SLOT(tabChanged(QWidget*))); 223 this,SLOT(tabChanged(QWidget*)));
224 224
@@ -227,9 +227,9 @@ OpieFtp::OpieFtp( )
227// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 227// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
228 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" ); 228 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" );
229 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 ); 229 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 );
230 230
231 currentPathEdit->setText( currentDir.canonicalPath()); 231 currentPathEdit->setText( currentDir.canonicalPath());
232 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged())); 232 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged()));
233 233
234 ProgressBar = new QProgressBar( this, "ProgressBar" ); 234 ProgressBar = new QProgressBar( this, "ProgressBar" );
235 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 ); 235 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 );
@@ -245,22 +245,27 @@ OpieFtp::~OpieFtp()
245void OpieFtp::cleanUp() 245void OpieFtp::cleanUp()
246{ 246{
247 if(conn) 247 if(conn)
248 FtpQuit(conn); 248 FtpQuit(conn);
249 QFile f("./._temp"); 249 QString sfile=QDir::homeDirPath();
250 if(f.exists()) 250 if(sfile.right(1) != "/")
251 f. remove(); 251 sfile+="/._temp";
252 else
253 sfile+="._temp";
254 QFile file( sfile);
255 if(file.exists())
256 file.remove();
252} 257}
253 258
254void OpieFtp::tabChanged(QWidget *w) 259void OpieFtp::tabChanged(QWidget *w)
255{ 260{
256 if (TabWidget->currentPageIndex() == 0) { 261 if (TabWidget->currentPageIndex() == 0) {
257 currentPathEdit->setText( currentDir.canonicalPath()); 262 currentPathEdit->setText( currentDir.canonicalPath());
258 } 263 }
259 if (TabWidget->currentPageIndex() == 1) { 264 if (TabWidget->currentPageIndex() == 1) {
260 currentPathEdit->setText( currentRemoteDir ); 265 currentPathEdit->setText( currentRemoteDir );
261 } 266 }
262 if (TabWidget->currentPageIndex() == 2) { 267 if (TabWidget->currentPageIndex() == 2) {
263 } 268 }
264} 269}
265 270
266void OpieFtp::localUpload() 271void OpieFtp::localUpload()
@@ -294,9 +299,9 @@ void OpieFtp::localUpload()
294 } else { 299 } else {
295 QMessageBox::message("Note","Cannot upload directories"); 300 QMessageBox::message("Note","Cannot upload directories");
296 } 301 }
297 TabWidget->setCurrentPage(1); 302 TabWidget->setCurrentPage(1);
298 populateRemoteView(); 303 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
299 QCopEnvelope ( "QPE/System", "notBusy()" ); 304 QCopEnvelope ( "QPE/System", "notBusy()" );
300} 305}
301 306
302void OpieFtp::nullifyCallBack() 307void OpieFtp::nullifyCallBack()
@@ -396,18 +401,24 @@ void OpieFtp::disConnector()
396} 401}
397 402
398bool OpieFtp::remoteDirList(const QString &dir) 403bool OpieFtp::remoteDirList(const QString &dir)
399{ 404{
405 QString tmp = QDir::homeDirPath();
406 if(tmp.right(1) != "/")
407 tmp+="/._temp";
408 else
409 tmp+="._temp";
410// qDebug("Listing remote dir "+tmp);
400 QCopEnvelope ( "QPE/System", "busy()" ); 411 QCopEnvelope ( "QPE/System", "busy()" );
401 if (!FtpDir( "./._temp", dir.latin1(), conn) ) { 412 if (!FtpDir( tmp.latin1(), dir.latin1(), conn) ) {
402 QString msg; 413 QString msg;
403 msg.sprintf("Unable to list the directory\n"+dir+"\n%s",FtpLastResponse(conn) ); 414 msg.sprintf("Unable to list the directory\n"+dir+"\n%s",FtpLastResponse(conn) );
404 msg.replace(QRegExp(":"),"\n"); 415 msg.replace(QRegExp(":"),"\n");
405 QMessageBox::message("Note",msg); 416 QMessageBox::message("Note",msg);
406// FtpQuit(conn); 417// FtpQuit(conn);
407 return false; 418 return false;
408 } 419 }
409 populateRemoteView(); 420 populateRemoteView() ;
410 QCopEnvelope ( "QPE/System", "notBusy()" ); 421 QCopEnvelope ( "QPE/System", "notBusy()" );
411 return true; 422 return true;
412} 423}
413 424
@@ -462,17 +473,23 @@ void OpieFtp::populateLocalView()
462 Local_View->setSorting( 3,FALSE); 473 Local_View->setSorting( 3,FALSE);
463 currentPathEdit->setText( currentDir.canonicalPath() ); 474 currentPathEdit->setText( currentDir.canonicalPath() );
464} 475}
465 476
466bool OpieFtp::populateRemoteView() 477bool OpieFtp::populateRemoteView( )
467{ 478{
479// qDebug("populate remoteview");
480 QString sfile=QDir::homeDirPath();
481 if(sfile.right(1) != "/")
482 sfile+="/._temp";
483 else
484 sfile+="._temp";
485 QFile file( sfile);
468 Remote_View->clear(); 486 Remote_View->clear();
469 QFile tmp("./._temp");
470 QString s, File_Name; 487 QString s, File_Name;
471 QString fileL, fileS, fileDate; 488 QString fileL, fileS, fileDate;
472 new QListViewItem( Remote_View, "../"); 489 new QListViewItem( Remote_View, "../");
473 if (tmp.open(IO_ReadOnly)) { 490 if ( file.open(IO_ReadOnly)) {
474 QTextStream t( &tmp ); // use a text stream 491 QTextStream t( &file ); // use a text stream
475 while ( !t.eof()) { 492 while ( !t.eof()) {
476 s = t.readLine(); 493 s = t.readLine();
477 fileL = s.right(s.length()-55); 494 fileL = s.right(s.length()-55);
478 fileL = fileL.stripWhiteSpace(); 495 fileL = fileL.stripWhiteSpace();
@@ -484,11 +501,14 @@ bool OpieFtp::populateRemoteView()
484 fileDate = fileDate.stripWhiteSpace(); 501 fileDate = fileDate.stripWhiteSpace();
485 if(fileL.find("total",0,TRUE) == -1) 502 if(fileL.find("total",0,TRUE) == -1)
486 new QListViewItem( Remote_View, fileL, fileS, fileDate); 503 new QListViewItem( Remote_View, fileL, fileS, fileDate);
487 } 504 }
488 tmp.close(); 505 file.close();
506 if( file.exists())
507 file. remove();
489 } else 508 } else
490 qDebug("temp file not opened successfullly"); 509 qDebug("temp file not opened successfullly "+sfile);
510
491 return true; 511 return true;
492} 512}
493 513
494void OpieFtp::remoteListClicked(QListViewItem *selectedItem) 514void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
@@ -521,9 +541,8 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
521 currentRemoteDir = strItem; 541 currentRemoteDir = strItem;
522 if( !remoteChDir( (const QString &)strItem)) { 542 if( !remoteChDir( (const QString &)strItem)) {
523 currentRemoteDir = oldRemoteCurrentDir; 543 currentRemoteDir = oldRemoteCurrentDir;
524 strItem=""; 544 strItem="";
525 populateRemoteView();
526 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 545 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
527 } 546 }
528 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory 547 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory
529 qDebug("trying directory"); 548 qDebug("trying directory");
@@ -531,20 +550,19 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
531 currentRemoteDir = oldRemoteCurrentDir; 550 currentRemoteDir = oldRemoteCurrentDir;
532 strItem=""; 551 strItem="";
533 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 552 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
534 553
535 populateRemoteView();
536 } else { 554 } else {
537 currentRemoteDir = currentRemoteDir+strItem; 555 currentRemoteDir = currentRemoteDir+strItem;
538 } 556 }
539 } else { 557 } else {
540 qDebug("download "+strItem); 558 qDebug("download "+strItem);
541 } 559 }
542 } 560 }
561 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
543 if(currentRemoteDir.right(1) !="/") 562 if(currentRemoteDir.right(1) !="/")
544 currentRemoteDir +="/"; 563 currentRemoteDir +="/";
545 currentPathEdit->setText( currentRemoteDir ); 564 currentPathEdit->setText( currentRemoteDir );
546 remoteDirList( (const QString &)currentRemoteDir);
547 QCopEnvelope ( "QPE/System", "notBusy()" ); 565 QCopEnvelope ( "QPE/System", "notBusy()" );
548} 566}
549 567
550void OpieFtp::localListClicked(QListViewItem *selectedItem) 568void OpieFtp::localListClicked(QListViewItem *selectedItem)
@@ -723,10 +741,10 @@ void OpieFtp::remoteMakDir()
723 msg.replace(QRegExp(":"),"\n"); 741 msg.replace(QRegExp(":"),"\n");
724 QMessageBox::message("Note",msg); 742 QMessageBox::message("Note",msg);
725 } 743 }
726 QCopEnvelope ( "QPE/System", "notBusy()" ); 744 QCopEnvelope ( "QPE/System", "notBusy()" );
745 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
727 } 746 }
728 populateRemoteView();
729} 747}
730 748
731void OpieFtp::remoteDelete() 749void OpieFtp::remoteDelete()
732{ 750{
@@ -743,8 +761,10 @@ void OpieFtp::remoteDelete()
743 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn)); 761 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn));
744 msg.replace(QRegExp(":"),"\n"); 762 msg.replace(QRegExp(":"),"\n");
745 QMessageBox::message("Note",msg); 763 QMessageBox::message("Note",msg);
746 } 764 }
765 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
766
747 } 767 }
748 break; 768 break;
749 }; 769 };
750 } else { 770 } else {
@@ -757,8 +777,9 @@ void OpieFtp::remoteDelete()
757 msg.sprintf("Unable to delete file\n%s",FtpLastResponse(conn)); 777 msg.sprintf("Unable to delete file\n%s",FtpLastResponse(conn));
758 msg.replace(QRegExp(":"),"\n"); 778 msg.replace(QRegExp(":"),"\n");
759 QMessageBox::message("Note",msg); 779 QMessageBox::message("Note",msg);
760 } 780 }
781 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
761 } 782 }
762 break; 783 break;
763 }; 784 };
764 } 785 }
@@ -782,10 +803,10 @@ void OpieFtp::remoteRename()
782 msg.replace(QRegExp(":"),"\n"); 803 msg.replace(QRegExp(":"),"\n");
783 QMessageBox::message("Note",msg); 804 QMessageBox::message("Note",msg);
784 } 805 }
785 QCopEnvelope ( "QPE/System", "notBusy()" ); 806 QCopEnvelope ( "QPE/System", "notBusy()" );
807 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
786 } 808 }
787 populateRemoteView();
788} 809}
789 810
790void OpieFtp::localRename() 811void OpieFtp::localRename()
791{ 812{
diff --git a/noncore/net/opieftp/opieftp.h b/noncore/net/opieftp/opieftp.h
index e3ff334..1e5fffa 100644
--- a/noncore/net/opieftp/opieftp.h
+++ b/noncore/net/opieftp/opieftp.h
@@ -88,11 +88,11 @@ protected slots:
88 void cleanUp(); 88 void cleanUp();
89 void remoteRename(); 89 void remoteRename();
90 void localRename(); 90 void localRename();
91 void currentPathEditChanged(); 91 void currentPathEditChanged();
92 void switchToLocalTab(); 92 void switchToLocalTab();
93 void switchToRemoteTab(); 93 void switchToRemoteTab();
94 void switchToConfigTab(); 94 void switchToConfigTab();
95protected: 95protected:
96 void nullifyCallBack(); 96 void nullifyCallBack();
97 QGridLayout* tabLayout; 97 QGridLayout* tabLayout;
98 QGridLayout* tabLayout_2; 98 QGridLayout* tabLayout_2;