summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp37
-rw-r--r--noncore/net/opieftp/opieftp.h6
2 files changed, 32 insertions, 11 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 523a36c..ed7f4bb 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -330,361 +330,380 @@ void OpieFtp::connector()
330 ftp_host+=":"+port; 330 ftp_host+=":"+port;
331 if (!FtpConnect( ftp_host.latin1(), &conn)) { 331 if (!FtpConnect( ftp_host.latin1(), &conn)) {
332 QMessageBox::message("Note","Unable to connect to\n"+ftp_host); 332 QMessageBox::message("Note","Unable to connect to\n"+ftp_host);
333 return ; 333 return ;
334 } 334 }
335 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) { 335 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) {
336 QString msg; 336 QString msg;
337 msg.sprintf("Unable to log in\n%s",FtpLastResponse(conn)); 337 msg.sprintf("Unable to log in\n%s",FtpLastResponse(conn));
338 msg.replace(QRegExp(":"),"\n"); 338 msg.replace(QRegExp(":"),"\n");
339 QMessageBox::message("Note",msg); 339 QMessageBox::message("Note",msg);
340 FtpQuit(conn); 340 FtpQuit(conn);
341 return ; 341 return ;
342 } 342 }
343 remoteDirList("/") ; 343 remoteDirList("/") ;
344 setCaption(ftp_host); 344 setCaption(ftp_host);
345 QCopEnvelope ( "QPE/System", "notBusy()" ); 345 QCopEnvelope ( "QPE/System", "notBusy()" );
346} 346}
347 347
348void OpieFtp::disConnector() 348void OpieFtp::disConnector()
349{ 349{
350 FtpQuit(conn); 350 FtpQuit(conn);
351 setCaption("OpieFtp"); 351 setCaption("OpieFtp");
352 currentRemoteDir="/"; 352 currentRemoteDir="/";
353 Remote_View->clear(); 353 Remote_View->clear();
354} 354}
355 355
356bool OpieFtp::remoteDirList(const QString &dir) 356bool OpieFtp::remoteDirList(const QString &dir)
357{ 357{
358 QCopEnvelope ( "QPE/System", "busy()" ); 358 QCopEnvelope ( "QPE/System", "busy()" );
359 if (!FtpDir( "./._temp", dir.latin1(), conn) ) { 359 if (!FtpDir( "./._temp", dir.latin1(), conn) ) {
360 QString msg; 360 QString msg;
361 msg.sprintf("Unable to list the directory\n"+dir+"\n%s",FtpLastResponse(conn) ); 361 msg.sprintf("Unable to list the directory\n"+dir+"\n%s",FtpLastResponse(conn) );
362 msg.replace(QRegExp(":"),"\n"); 362 msg.replace(QRegExp(":"),"\n");
363 QMessageBox::message("Note",msg); 363 QMessageBox::message("Note",msg);
364// FtpQuit(conn); 364// FtpQuit(conn);
365 return false; 365 return false;
366 } 366 }
367 populateRemoteView(); 367 populateRemoteView();
368 QCopEnvelope ( "QPE/System", "notBusy()" ); 368 QCopEnvelope ( "QPE/System", "notBusy()" );
369 return true; 369 return true;
370} 370}
371 371
372bool OpieFtp::remoteChDir(const QString &dir) 372bool OpieFtp::remoteChDir(const QString &dir)
373{ 373{
374 QCopEnvelope ( "QPE/System", "busy()" ); 374 QCopEnvelope ( "QPE/System", "busy()" );
375 if (!FtpChdir( dir.latin1(), conn )) { 375 if (!FtpChdir( dir.latin1(), conn )) {
376 QString msg; 376 QString msg;
377 msg.sprintf("Unable to change directories\n"+dir+"\n%s",FtpLastResponse(conn)); 377 msg.sprintf("Unable to change directories\n"+dir+"\n%s",FtpLastResponse(conn));
378 msg.replace(QRegExp(":"),"\n"); 378 msg.replace(QRegExp(":"),"\n");
379 QMessageBox::message("Note",msg); 379 QMessageBox::message("Note",msg);
380 qDebug(msg); 380 qDebug(msg);
381// FtpQuit(conn); 381// FtpQuit(conn);
382 QCopEnvelope ( "QPE/System", "notBusy()" ); 382 QCopEnvelope ( "QPE/System", "notBusy()" );
383 return FALSE; 383 return FALSE;
384 } 384 }
385 QCopEnvelope ( "QPE/System", "notBusy()" ); 385 QCopEnvelope ( "QPE/System", "notBusy()" );
386 return TRUE; 386 return TRUE;
387} 387}
388 388
389void OpieFtp::populateLocalView() 389void OpieFtp::populateLocalView()
390{ 390{
391 Local_View->clear(); 391 Local_View->clear();
392 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 392 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
393 currentDir.setMatchAllDirs(TRUE); 393 currentDir.setMatchAllDirs(TRUE);
394 currentDir.setNameFilter(filterStr); 394 currentDir.setNameFilter(filterStr);
395 QString fileL, fileS, fileDate; 395 QString fileL, fileS, fileDate;
396 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 396 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
397 QFileInfoListIterator it(*list); 397 QFileInfoListIterator it(*list);
398 QFileInfo *fi; 398 QFileInfo *fi;
399 while ( (fi=it.current()) ) { 399 while ( (fi=it.current()) ) {
400 if (fi->isSymLink() ){ 400 if (fi->isSymLink() ){
401 QString symLink=fi->readLink(); 401 QString symLink=fi->readLink();
402// qDebug("Symlink detected "+symLink); 402// qDebug("Symlink detected "+symLink);
403 QFileInfo sym( symLink); 403 QFileInfo sym( symLink);
404 fileS.sprintf( "%10li", sym.size() ); 404 fileS.sprintf( "%10li", sym.size() );
405 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); 405 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
406 fileDate = sym.lastModified().toString(); 406 fileDate = sym.lastModified().toString();
407 } else { 407 } else {
408// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 408// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
409 fileS.sprintf( "%10li", fi->size() ); 409 fileS.sprintf( "%10li", fi->size() );
410 fileL.sprintf( "%s",fi->fileName().data() ); 410 fileL.sprintf( "%s",fi->fileName().data() );
411 fileDate= fi->lastModified().toString(); 411 fileDate= fi->lastModified().toString();
412 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { 412 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
413 fileL+="/"; 413 fileL+="/";
414// qDebug( fileL); 414// qDebug( fileL);
415 } 415 }
416 } 416 }
417 item= new QListViewItem( Local_View,fileL,fileS, fileDate); 417 item= new QListViewItem( Local_View,fileL,fileS, fileDate);
418 ++it; 418 ++it;
419 } 419 }
420 Local_View->setSorting( 3,FALSE); 420 Local_View->setSorting( 3,FALSE);
421 currentPathEdit->setText( currentDir.canonicalPath() ); 421 currentPathEdit->setText( currentDir.canonicalPath() );
422} 422}
423 423
424bool OpieFtp::populateRemoteView() 424bool OpieFtp::populateRemoteView()
425{ 425{
426 Remote_View->clear(); 426 Remote_View->clear();
427 QFile tmp("./._temp"); 427 QFile tmp("./._temp");
428 QString s, File_Name; 428 QString s, File_Name;
429 QString fileL, fileS, fileDate; 429 QString fileL, fileS, fileDate;
430 new QListViewItem( Remote_View, "../"); 430 new QListViewItem( Remote_View, "../");
431 if (tmp.open(IO_ReadOnly)) { 431 if (tmp.open(IO_ReadOnly)) {
432 QTextStream t( &tmp ); // use a text stream 432 QTextStream t( &tmp ); // use a text stream
433 while ( !t.eof()) { 433 while ( !t.eof()) {
434 s = t.readLine(); 434 s = t.readLine();
435 fileL = s.right(s.length()-55); 435 fileL = s.right(s.length()-55);
436 fileL = fileL.stripWhiteSpace(); 436 fileL = fileL.stripWhiteSpace();
437 if(s.left(1) == "d") 437 if(s.left(1) == "d")
438 fileL = fileL+"/"; 438 fileL = fileL+"/";
439 fileS = s.mid( 30, 42-30); 439 fileS = s.mid( 30, 42-30);
440 fileS = fileS.stripWhiteSpace(); 440 fileS = fileS.stripWhiteSpace();
441 fileDate = s.mid( 42, 55-42); 441 fileDate = s.mid( 42, 55-42);
442 fileDate = fileDate.stripWhiteSpace(); 442 fileDate = fileDate.stripWhiteSpace();
443 if(fileL.find("total",0,TRUE) == -1) 443 if(fileL.find("total",0,TRUE) == -1)
444 new QListViewItem( Remote_View, fileL, fileS, fileDate); 444 new QListViewItem( Remote_View, fileL, fileS, fileDate);
445 } 445 }
446 tmp.close(); 446 tmp.close();
447 } 447 } else
448 qDebug("temp file not opened successfullly");
448 return true; 449 return true;
449} 450}
450 451
451void OpieFtp::remoteListClicked(QListViewItem *selectedItem) 452void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
452{ 453{
453 QCopEnvelope ( "QPE/System", "busy()" ); 454 QCopEnvelope ( "QPE/System", "busy()" );
454 QString oldRemoteCurrentDir = currentRemoteDir; 455 QString oldRemoteCurrentDir = currentRemoteDir;
455 QString strItem=selectedItem->text(0); 456 QString strItem=selectedItem->text(0);
456 strItem=strItem.simplifyWhiteSpace(); 457 strItem=strItem.simplifyWhiteSpace();
457 if(strItem == "../") { // the user wants to go ^ 458 if(strItem == "../") { // the user wants to go ^
458 if( FtpCDUp( conn) == 0) { 459 if( FtpCDUp( conn) == 0) {
459 QString msg; 460 QString msg;
460 msg.sprintf("Unable to cd up\n%s",FtpLastResponse(conn)); 461 msg.sprintf("Unable to cd up\n%s",FtpLastResponse(conn));
461 msg.replace(QRegExp(":"),"\n"); 462 msg.replace(QRegExp(":"),"\n");
462 QMessageBox::message("Note",msg); 463 QMessageBox::message("Note",msg);
463 qDebug(msg); 464 qDebug(msg);
464 } 465 }
465 char path[256]; 466 char path[256];
466 if( FtpPwd( path,sizeof(path),conn) == 0) { //this is easier than fudging the string 467 if( FtpPwd( path,sizeof(path),conn) == 0) { //this is easier than fudging the string
467 QString msg; 468 QString msg;
468 msg.sprintf("Unable to get working dir\n%s",FtpLastResponse(conn)); 469 msg.sprintf("Unable to get working dir\n%s",FtpLastResponse(conn));
469 msg.replace(QRegExp(":"),"\n"); 470 msg.replace(QRegExp(":"),"\n");
470 QMessageBox::message("Note",msg); 471 QMessageBox::message("Note",msg);
471 qDebug(msg); 472 qDebug(msg);
472 } 473 }
473 currentRemoteDir=path; 474 currentRemoteDir=path;
474 } else { 475 } else {
475 if(strItem.find("->",0,TRUE) != -1) { //symlink on some servers 476 if(strItem.find("->",0,TRUE) != -1) { //symlink on some servers
476 strItem=strItem.right( strItem.length() - strItem.find("->",0,TRUE) - 2 ); 477 strItem=strItem.right( strItem.length() - strItem.find("->",0,TRUE) - 2 );
477 strItem = strItem.stripWhiteSpace(); 478 strItem = strItem.stripWhiteSpace();
478 currentRemoteDir = strItem; 479 currentRemoteDir = strItem;
479 if( !remoteChDir( (const QString &)strItem)) { 480 if( !remoteChDir( (const QString &)strItem)) {
480 currentRemoteDir = oldRemoteCurrentDir; 481 currentRemoteDir = oldRemoteCurrentDir;
481 strItem=""; 482 strItem="";
482 populateRemoteView(); 483 populateRemoteView();
483 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 484 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
484 } 485 }
485 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory 486 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory
486 qDebug("trying directory"); 487 qDebug("trying directory");
487 if( !remoteChDir( (const QString &)currentRemoteDir + strItem)) { 488 if( !remoteChDir( (const QString &)currentRemoteDir + strItem)) {
488 currentRemoteDir = oldRemoteCurrentDir; 489 currentRemoteDir = oldRemoteCurrentDir;
489 strItem=""; 490 strItem="";
490 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 491 qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
491 492
492 populateRemoteView(); 493 populateRemoteView();
493 } else { 494 } else {
494 currentRemoteDir = currentRemoteDir+strItem; 495 currentRemoteDir = currentRemoteDir+strItem;
495 } 496 }
496 } else { 497 } else {
497 qDebug("download "+strItem); 498 qDebug("download "+strItem);
498 } 499 }
499 } 500 }
500 if(currentRemoteDir.right(1) !="/") 501 if(currentRemoteDir.right(1) !="/")
501 currentRemoteDir +="/"; 502 currentRemoteDir +="/";
502 currentPathEdit->setText( currentRemoteDir ); 503 currentPathEdit->setText( currentRemoteDir );
503 remoteDirList( (const QString &)currentRemoteDir); 504 remoteDirList( (const QString &)currentRemoteDir);
504 QCopEnvelope ( "QPE/System", "notBusy()" ); 505 QCopEnvelope ( "QPE/System", "notBusy()" );
505} 506}
506 507
507 void OpieFtp::localListClicked(QListViewItem *selectedItem) 508void OpieFtp::localListClicked(QListViewItem *selectedItem)
508{ 509{
509 QString strItem=selectedItem->text(0); 510 QString strItem=selectedItem->text(0);
510 QString strSize=selectedItem->text(1); 511 QString strSize=selectedItem->text(1);
511 strSize=strSize.stripWhiteSpace(); 512 strSize=strSize.stripWhiteSpace();
512 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 513 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
513 // is symlink 514 // is symlink
514 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 515 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
515 if(QDir(strItem2).exists() ) { 516 if(QDir(strItem2).exists() ) {
516 currentDir.cd(strItem2, TRUE); 517 currentDir.cd(strItem2, TRUE);
517 populateLocalView(); 518 populateLocalView();
518 } 519 }
519 } else { // not a symlink 520 } else { // not a symlink
520 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 521 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
521 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { 522 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
522 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 523 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
523 currentDir.cd(strItem,FALSE); 524 currentDir.cd(strItem,FALSE);
524 populateLocalView(); 525 populateLocalView();
525 } else { 526 } else {
526 currentDir.cdUp(); 527 currentDir.cdUp();
527 populateLocalView(); 528 populateLocalView();
528 } 529 }
529 if(QDir(strItem).exists()){ 530 if(QDir(strItem).exists()){
530 currentDir.cd(strItem, TRUE); 531 currentDir.cd(strItem, TRUE);
531 populateLocalView(); 532 populateLocalView();
532 } 533 }
533 } else { 534 } else {
534 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 535 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
535 if( QFile::exists(strItem ) ) { 536 if( QFile::exists(strItem ) ) {
536 qDebug("upload "+strItem); 537 qDebug("upload "+strItem);
537 } 538 }
538 } //end not symlink 539 } //end not symlink
539 chdir(strItem.latin1()); 540 chdir(strItem.latin1());
540 } 541 }
541} 542}
542 543
544void OpieFtp::doLocalCd()
545{
546 localListClicked( Local_View->currentItem());
547}
548
549void OpieFtp:: doRemoteCd()
550{
551 remoteListClicked( Remote_View->currentItem());
552
553}
554
543void OpieFtp::showHidden() 555void OpieFtp::showHidden()
544{ 556{
545 if (!b) { 557 if (!b) {
546 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 558 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
547// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 559// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
548 b=TRUE; 560 b=TRUE;
549 561
550 } else { 562 } else {
551 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 563 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
552// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 564// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
553 b=FALSE; 565 b=FALSE;
554 } 566 }
555 populateLocalView(); 567 populateLocalView();
556} 568}
557 569
558void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 570void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
559{ 571{
560 switch (mouse) { 572 switch (mouse) {
561 case 1: 573 case 1:
562 break; 574 break;
563 case 2: 575 case 2:
564 showLocalMenu(); 576 showLocalMenu(item);
565 break; 577 break;
566 }; 578 };
567} 579}
568 580
569void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 581void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
570{ 582{
571 switch (mouse) { 583 switch (mouse) {
572 case 1: 584 case 1:
573 break; 585 break;
574 case 2: 586 case 2:
575 showRemoteMenu(); 587 showRemoteMenu(item);
576 break; 588 break;
577 }; 589 };
578} 590}
579 591
580void OpieFtp::showRemoteMenu() 592void OpieFtp::showRemoteMenu(QListViewItem * item)
581{ 593{
582 QPopupMenu m;// = new QPopupMenu( Local_View ); 594 QPopupMenu m;// = new QPopupMenu( Local_View );
595 if(item->text(0).right(1) == "/")
596 m.insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() ));
597 else
583 m.insertItem( tr( "Download" ), this, SLOT( remoteDownload() )); 598 m.insertItem( tr( "Download" ), this, SLOT( remoteDownload() ));
584 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 599 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
585 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 600 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
586 m.insertSeparator(); 601 m.insertSeparator();
587 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 602 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
588 m.exec( QCursor::pos() ); 603 m.exec( QCursor::pos() );
589} 604}
590 605
591void OpieFtp::showLocalMenu() 606void OpieFtp::showLocalMenu(QListViewItem * item)
592{ 607{
593 QPopupMenu m; 608 QPopupMenu m;
594 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 609 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
610 m.insertSeparator();
611 if(item->text(0).right(1) == "/")
612 m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
613 else
595 m.insertItem( tr( "Upload" ), this, SLOT( localUpload() )); 614 m.insertItem( tr( "Upload" ), this, SLOT( localUpload() ));
596 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 615 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
597 m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); 616 m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
598 m.insertSeparator(); 617 m.insertSeparator();
599 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 618 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
600 m.exec( QCursor::pos() ); 619 m.exec( QCursor::pos() );
601} 620}
602 621
603void OpieFtp::localMakDir() 622void OpieFtp::localMakDir()
604{ 623{
605 InputDialog *fileDlg; 624 InputDialog *fileDlg;
606 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0); 625 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0);
607 fileDlg->exec(); 626 fileDlg->exec();
608 if( fileDlg->result() == 1 ) { 627 if( fileDlg->result() == 1 ) {
609 QString filename = fileDlg->LineEdit1->text(); 628 QString filename = fileDlg->LineEdit1->text();
610 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); 629 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
611 } 630 }
612 populateLocalView(); 631 populateLocalView();
613} 632}
614 633
615void OpieFtp::localDelete() 634void OpieFtp::localDelete()
616{ 635{
617 QString f = Local_View->currentItem()->text(0); 636 QString f = Local_View->currentItem()->text(0);
618 if(QDir(f).exists() ) { 637 if(QDir(f).exists() ) {
619 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+ 638 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+
620 " ?\nIt must be empty","Yes","No",0,0,1) ) { 639 " ?\nIt must be empty","Yes","No",0,0,1) ) {
621 case 0: { 640 case 0: {
622 f=currentDir.canonicalPath()+"/"+f; 641 f=currentDir.canonicalPath()+"/"+f;
623 QString cmd="rmdir "+f; 642 QString cmd="rmdir "+f;
624 system( cmd.latin1()); 643 system( cmd.latin1());
625 populateLocalView(); 644 populateLocalView();
626 } 645 }
627 break; 646 break;
628 case 1: 647 case 1:
629 // exit 648 // exit
630 break; 649 break;
631 }; 650 };
632 651
633 } else { 652 } else {
634 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f 653 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f
635 +" ?","Yes","No",0,0,1) ) { 654 +" ?","Yes","No",0,0,1) ) {
636 case 0: { 655 case 0: {
637 f=currentDir.canonicalPath()+"/"+f; 656 f=currentDir.canonicalPath()+"/"+f;
638 QString cmd="rm "+f; 657 QString cmd="rm "+f;
639 system( cmd.latin1()); 658 system( cmd.latin1());
640 populateLocalView(); 659 populateLocalView();
641 } 660 }
642 break; 661 break;
643 case 1: 662 case 1:
644 // exit 663 // exit
645 break; 664 break;
646 }; 665 };
647 } 666 }
648} 667}
649 668
650void OpieFtp::remoteMakDir() 669void OpieFtp::remoteMakDir()
651{ 670{
652 InputDialog *fileDlg; 671 InputDialog *fileDlg;
653 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0); 672 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0);
654 fileDlg->exec(); 673 fileDlg->exec();
655 if( fileDlg->result() == 1 ) { 674 if( fileDlg->result() == 1 ) {
656 QString filename = fileDlg->LineEdit1->text();//+".playlist"; 675 QString filename = fileDlg->LineEdit1->text();//+".playlist";
657 QString tmp=currentRemoteDir+filename; 676 QString tmp=currentRemoteDir+filename;
658 QCopEnvelope ( "QPE/System", "busy()" ); 677 QCopEnvelope ( "QPE/System", "busy()" );
659 if(FtpMkdir( tmp.latin1(), conn) == 0) { 678 if(FtpMkdir( tmp.latin1(), conn) == 0) {
660 QString msg; 679 QString msg;
661 msg.sprintf("Unable to make directory\n%s",FtpLastResponse(conn)); 680 msg.sprintf("Unable to make directory\n%s",FtpLastResponse(conn));
662 msg.replace(QRegExp(":"),"\n"); 681 msg.replace(QRegExp(":"),"\n");
663 QMessageBox::message("Note",msg); 682 QMessageBox::message("Note",msg);
664 } 683 }
665 QCopEnvelope ( "QPE/System", "notBusy()" ); 684 QCopEnvelope ( "QPE/System", "notBusy()" );
666 } 685 }
667 populateRemoteView(); 686 populateRemoteView();
668} 687}
669 688
670void OpieFtp::remoteDelete() 689void OpieFtp::remoteDelete()
671{ 690{
672 QString f = Remote_View->currentItem()->text(0); 691 QString f = Remote_View->currentItem()->text(0);
673 QCopEnvelope ( "QPE/System", "busy()" ); 692 QCopEnvelope ( "QPE/System", "busy()" );
674 if( f.right(1) =="/") { 693 if( f.right(1) =="/") {
675 QString path= currentRemoteDir+f; 694 QString path= currentRemoteDir+f;
676 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?" 695 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?"
677 ,"Yes","No",0,0,1) ) { 696 ,"Yes","No",0,0,1) ) {
678 case 0: { 697 case 0: {
679 f=currentDir.canonicalPath()+"/"+f; 698 f=currentDir.canonicalPath()+"/"+f;
680 if(FtpRmdir( path.latin1(), conn) ==0) { 699 if(FtpRmdir( path.latin1(), conn) ==0) {
681 QString msg; 700 QString msg;
682 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn)); 701 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn));
683 msg.replace(QRegExp(":"),"\n"); 702 msg.replace(QRegExp(":"),"\n");
684 QMessageBox::message("Note",msg); 703 QMessageBox::message("Note",msg);
685 } 704 }
686 } 705 }
687 break; 706 break;
688 }; 707 };
689 } else { 708 } else {
690 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?" 709 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?"
diff --git a/noncore/net/opieftp/opieftp.h b/noncore/net/opieftp/opieftp.h
index e00a398..5d1c63d 100644
--- a/noncore/net/opieftp/opieftp.h
+++ b/noncore/net/opieftp/opieftp.h
@@ -1,95 +1,97 @@
1/*************************************************************************** 1/***************************************************************************
2 opieftp.h 2 opieftp.h
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#ifndef OPIEFTP_H 12#ifndef OPIEFTP_H
13#define OPIEFTP_H 13#define OPIEFTP_H
14 14
15#include <qvariant.h> 15#include <qvariant.h>
16#include <qdialog.h> 16#include <qdialog.h>
17#include <qmainwindow.h> 17#include <qmainwindow.h>
18#include <qdir.h> 18#include <qdir.h>
19#include <qstring.h> 19#include <qstring.h>
20#include <qpoint.h> 20#include <qpoint.h>
21 21
22class QVBoxLayout; 22class QVBoxLayout;
23class QHBoxLayout; 23class QHBoxLayout;
24class QGridLayout; 24class QGridLayout;
25class QComboBox; 25class QComboBox;
26class QListView; 26class QListView;
27class QListviewItem; 27class QListviewItem;
28class QLabel; 28class QLabel;
29class QProgressBar; 29class QProgressBar;
30class QSpinBox; 30class QSpinBox;
31class QTabWidget; 31class QTabWidget;
32class QWidget; 32class QWidget;
33class QPEToolBar; 33class QPEToolBar;
34class QPEMenuBar; 34class QPEMenuBar;
35class QPopupMenu; 35class QPopupMenu;
36class QFile; 36class QFile;
37class QListViewItem; 37class QListViewItem;
38class QLineEdit; 38class QLineEdit;
39 39
40class OpieFtp : public QMainWindow 40class OpieFtp : public QMainWindow
41{ 41{
42 Q_OBJECT 42 Q_OBJECT
43 43
44public: 44public:
45 OpieFtp( ); 45 OpieFtp( );
46 ~OpieFtp(); 46 ~OpieFtp();
47 47
48 QTabWidget *TabWidget; 48 QTabWidget *TabWidget;
49 QWidget *tab, *tab_2, *tab_3;; 49 QWidget *tab, *tab_2, *tab_3;;
50 QListView *Local_View, *Remote_View; 50 QListView *Local_View, *Remote_View;
51 51
52 QComboBox *UsernameComboBox, *ServerComboBox; 52 QComboBox *UsernameComboBox, *ServerComboBox;
53 QLineEdit *PasswordEdit, *remotePath, *currentPathEdit; 53 QLineEdit *PasswordEdit, *remotePath, *currentPathEdit;
54 QLabel *TextLabel2, *TextLabel1, *TextLabel3, *TextLabel4;; 54 QLabel *TextLabel2, *TextLabel1, *TextLabel3, *TextLabel4;;
55 QSpinBox* PortSpinBox; 55 QSpinBox* PortSpinBox;
56 QPopupMenu *connectionMenu, *localMenu, *remoteMenu; 56 QPopupMenu *connectionMenu, *localMenu, *remoteMenu;
57 QDir currentDir; 57 QDir currentDir;
58 QString currentRemoteDir; 58 QString currentRemoteDir;
59 QString filterStr; 59 QString filterStr;
60 QListViewItem * item; 60 QListViewItem * item;
61 bool b; 61 bool b;
62 62
63protected slots: 63protected slots:
64 void showLocalMenu( ); 64 void showLocalMenu( QListViewItem *);
65 void showRemoteMenu( ); 65 void showRemoteMenu( QListViewItem *);
66 void doLocalCd();
67 void doRemoteCd();
66 void localUpload(); 68 void localUpload();
67 void remoteDownload(); 69 void remoteDownload();
68 void newConnection(); 70 void newConnection();
69 void connector(); 71 void connector();
70 void disConnector(); 72 void disConnector();
71 void populateLocalView(); 73 void populateLocalView();
72 bool populateRemoteView(); 74 bool populateRemoteView();
73 void showHidden(); 75 void showHidden();
74 76
75 void localListClicked(QListViewItem *); 77 void localListClicked(QListViewItem *);
76 void remoteListClicked(QListViewItem *); 78 void remoteListClicked(QListViewItem *);
77 void ListPressed( int, QListViewItem *, const QPoint&, int); 79 void ListPressed( int, QListViewItem *, const QPoint&, int);
78 void RemoteListPressed( int, QListViewItem *, const QPoint&, int); 80 void RemoteListPressed( int, QListViewItem *, const QPoint&, int);
79 void localMakDir(); 81 void localMakDir();
80 void localDelete(); 82 void localDelete();
81 void remoteMakDir(); 83 void remoteMakDir();
82 void remoteDelete(); 84 void remoteDelete();
83 bool remoteDirList(const QString &); 85 bool remoteDirList(const QString &);
84 bool remoteChDir(const QString &); 86 bool remoteChDir(const QString &);
85 void tabChanged(QWidget*); 87 void tabChanged(QWidget*);
86 void cleanUp(); 88 void cleanUp();
87 void remoteRename(); 89 void remoteRename();
88 void localRename(); 90 void localRename();
89 void currentPathEditChanged(); 91 void currentPathEditChanged();
90protected: 92protected:
91 void nullifyCallBack(); 93 void nullifyCallBack();
92 94
93}; 95};
94 96
95#endif // OPIEFTP_H 97#endif // OPIEFTP_H