-rw-r--r-- | noncore/net/opieftp/opieftp.cpp | 153 |
1 files changed, 84 insertions, 69 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp index fd6b028..907a812 100644 --- a/noncore/net/opieftp/opieftp.cpp +++ b/noncore/net/opieftp/opieftp.cpp | |||
@@ -92,82 +92,86 @@ OpieFtp::OpieFtp( ) | |||
92 | connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() )); | 92 | connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() )); |
93 | connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() )); | 93 | connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() )); |
94 | connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() )); | 94 | connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() )); |
95 | 95 | ||
96 | localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); | 96 | localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); |
97 | localMenu->insertSeparator(); | 97 | localMenu->insertSeparator(); |
98 | localMenu->insertItem( tr( "Upload" ), this, SLOT( localUpload() )); | 98 | localMenu->insertItem( tr( "Upload" ), this, SLOT( localUpload() )); |
99 | localMenu->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); | 99 | localMenu->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); |
100 | localMenu->insertItem( tr( "Rename" ), this, SLOT( localRename() )); | 100 | localMenu->insertItem( tr( "Rename" ), this, SLOT( localRename() )); |
101 | localMenu->insertSeparator(); | 101 | localMenu->insertSeparator(); |
102 | localMenu->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); | 102 | localMenu->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); |
103 | localMenu->setCheckable(TRUE); | 103 | localMenu->setCheckable(TRUE); |
104 | 104 | ||
105 | remoteMenu->insertItem( tr( "Download" ), this, SLOT( remoteDownload() )); | 105 | remoteMenu->insertItem( tr( "Download" ), this, SLOT( remoteDownload() )); |
106 | remoteMenu->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); | 106 | remoteMenu->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); |
107 | remoteMenu->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); | 107 | remoteMenu->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); |
108 | remoteMenu->insertSeparator(); | 108 | remoteMenu->insertSeparator(); |
109 | remoteMenu->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); | 109 | remoteMenu->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); |
110 | 110 | ||
111 | tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); | 111 | tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); |
112 | tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); | 112 | tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); |
113 | tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() )); | 113 | tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() )); |
114 | tabMenu->setCheckable(TRUE); | 114 | tabMenu->setCheckable(TRUE); |
115 | 115 | ||
116 | TabWidget = new QTabWidget( this, "TabWidget" ); | 116 | TabWidget = new QTabWidget( this, "TabWidget" ); |
117 | layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 ); | 117 | layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 ); |
118 | 118 | ||
119 | TabWidget->setTabShape(QTabWidget::Triangular); | 119 | TabWidget->setTabShape(QTabWidget::Triangular); |
120 | 120 | ||
121 | tab = new QWidget( TabWidget, "tab" ); | 121 | tab = new QWidget( TabWidget, "tab" ); |
122 | tabLayout = new QGridLayout( tab ); | 122 | tabLayout = new QGridLayout( tab ); |
123 | tabLayout->setSpacing( 2); | 123 | tabLayout->setSpacing( 2); |
124 | tabLayout->setMargin( 2); | 124 | tabLayout->setMargin( 2); |
125 | 125 | ||
126 | Local_View = new QListView( tab, "Local_View" ); | 126 | Local_View = new QListView( tab, "Local_View" ); |
127 | // Local_View->setResizePolicy( QListView::AutoOneFit ); | 127 | // Local_View->setResizePolicy( QListView::AutoOneFit ); |
128 | Local_View->addColumn( tr("File"),120); | 128 | Local_View->addColumn( tr("File"),150); |
129 | Local_View->addColumn( tr("Size"),-1); | 129 | Local_View->addColumn( tr("Size"),-1); |
130 | Local_View->setColumnAlignment(1,QListView::AlignRight); | 130 | Local_View->setColumnAlignment(1,QListView::AlignRight); |
131 | Local_View->addColumn( tr("Date"),-1); | 131 | Local_View->addColumn( tr("Date"),-1); |
132 | Local_View->setColumnAlignment(2,QListView::AlignRight); | 132 | Local_View->setColumnAlignment(2,QListView::AlignRight); |
133 | Local_View->setAllColumnsShowFocus(TRUE); | 133 | Local_View->setAllColumnsShowFocus(TRUE); |
134 | Local_View->setMultiSelection( TRUE ); | ||
135 | |||
134 | QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); | 136 | QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); |
135 | 137 | ||
136 | tabLayout->addWidget( Local_View, 0, 0 ); | 138 | tabLayout->addWidget( Local_View, 0, 0 ); |
137 | 139 | ||
138 | connect( Local_View, SIGNAL( clicked( QListViewItem*)), | 140 | connect( Local_View, SIGNAL( doubleClicked( QListViewItem*)), |
139 | this,SLOT( localListClicked(QListViewItem *)) ); | 141 | this,SLOT( localListClicked(QListViewItem *)) ); |
140 | connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 142 | connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
141 | this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); | 143 | this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); |
142 | 144 | ||
143 | TabWidget->insertTab( tab, tr( "Local" ) ); | 145 | TabWidget->insertTab( tab, tr( "Local" ) ); |
144 | 146 | ||
145 | tab_2 = new QWidget( TabWidget, "tab_2" ); | 147 | tab_2 = new QWidget( TabWidget, "tab_2" ); |
146 | tabLayout_2 = new QGridLayout( tab_2 ); | 148 | tabLayout_2 = new QGridLayout( tab_2 ); |
147 | tabLayout_2->setSpacing( 2); | 149 | tabLayout_2->setSpacing( 2); |
148 | tabLayout_2->setMargin( 2); | 150 | tabLayout_2->setMargin( 2); |
149 | 151 | ||
150 | Remote_View = new QListView( tab_2, "Remote_View" ); | 152 | Remote_View = new QListView( tab_2, "Remote_View" ); |
151 | Remote_View->addColumn( tr("File"),120); | 153 | Remote_View->addColumn( tr("File"),150); |
152 | Remote_View->addColumn( tr("Size"),-1); | 154 | Remote_View->addColumn( tr("Size"),-1); |
153 | Remote_View->setColumnAlignment(1,QListView::AlignRight); | 155 | Remote_View->setColumnAlignment(1,QListView::AlignRight); |
154 | Remote_View->addColumn( tr("Date"),-1); | 156 | Remote_View->addColumn( tr("Date"),-1); |
155 | Remote_View->setColumnAlignment(2,QListView::AlignRight); | 157 | Remote_View->setColumnAlignment(2,QListView::AlignRight); |
156 | Remote_View->addColumn( tr("Dir"),-1); | 158 | Remote_View->addColumn( tr("Dir"),-1); |
157 | Remote_View->setColumnAlignment(4,QListView::AlignRight); | 159 | Remote_View->setColumnAlignment(4,QListView::AlignRight); |
158 | Remote_View->setAllColumnsShowFocus(TRUE); | 160 | Remote_View->setAllColumnsShowFocus(TRUE); |
161 | Remote_View->setMultiSelection( TRUE ); | ||
162 | |||
159 | QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); | 163 | QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); |
160 | 164 | ||
161 | connect( Remote_View, SIGNAL( clicked( QListViewItem*)), | 165 | connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)), |
162 | this,SLOT( remoteListClicked(QListViewItem *)) ); | 166 | this,SLOT( remoteListClicked(QListViewItem *)) ); |
163 | connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 167 | connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
164 | this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); | 168 | this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); |
165 | 169 | ||
166 | tabLayout_2->addWidget( Remote_View, 0, 0 ); | 170 | tabLayout_2->addWidget( Remote_View, 0, 0 ); |
167 | 171 | ||
168 | TabWidget->insertTab( tab_2, tr( "Remote" ) ); | 172 | TabWidget->insertTab( tab_2, tr( "Remote" ) ); |
169 | 173 | ||
170 | tab_3 = new QWidget( TabWidget, "tab_3" ); | 174 | tab_3 = new QWidget( TabWidget, "tab_3" ); |
171 | tabLayout_3 = new QGridLayout( tab_3 ); | 175 | tabLayout_3 = new QGridLayout( tab_3 ); |
172 | tabLayout_3->setSpacing( 2); | 176 | tabLayout_3->setSpacing( 2); |
173 | tabLayout_3->setMargin( 2); | 177 | tabLayout_3->setMargin( 2); |
@@ -390,105 +394,118 @@ void OpieFtp::connector() | |||
390 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 394 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
391 | } | 395 | } |
392 | 396 | ||
393 | void OpieFtp::disConnector() | 397 | void OpieFtp::disConnector() |
394 | { | 398 | { |
395 | if(conn) | 399 | if(conn) |
396 | FtpQuit(conn); | 400 | FtpQuit(conn); |
397 | setCaption("OpieFtp"); | 401 | setCaption("OpieFtp"); |
398 | currentRemoteDir="/"; | 402 | currentRemoteDir="/"; |
399 | Remote_View->clear(); | 403 | Remote_View->clear(); |
400 | connectServerBtn->setText( tr("Connect")); | 404 | connectServerBtn->setText( tr("Connect")); |
401 | connectServerBtn->setOn(FALSE); | 405 | connectServerBtn->setOn(FALSE); |
402 | 406 | ||
403 | } | 407 | } |
404 | 408 | ||
405 | void OpieFtp::localUpload() | 409 | void OpieFtp::localUpload() |
406 | { | 410 | { |
407 | int fsz; | 411 | int fsz; |
408 | QCopEnvelope ( "QPE/System", "busy()" ); | 412 | QCopEnvelope ( "QPE/System", "busy()" ); |
409 | // qApp->processEvents(); | 413 | // qApp->processEvents(); |
410 | QString strItem = Local_View->currentItem()->text(0); | 414 | QList<QListViewItem> * getSelectedItems( QListView * Local_View ); |
411 | QString localFile = currentDir.canonicalPath()+"/"+strItem; | 415 | QListViewItemIterator it( Local_View ); |
412 | QString remoteFile= currentRemoteDir+strItem; | 416 | for ( ; it.current(); ++it ) { |
413 | QFileInfo fi(localFile); | 417 | if ( it.current()->isSelected() ) { |
414 | if( !fi.isDir()) { | 418 | QString strItem = it.current()->text(0); |
415 | fsz=fi.size(); | 419 | QString localFile = currentDir.canonicalPath()+"/"+strItem; |
416 | ProgressBar->setTotalSteps(fsz); | 420 | QString remoteFile= currentRemoteDir+strItem; |
417 | 421 | QFileInfo fi(localFile); | |
418 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); | 422 | if( !fi.isDir()) { |
419 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); | 423 | fsz=fi.size(); |
420 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); | 424 | ProgressBar->setTotalSteps(fsz); |
421 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); | 425 | |
422 | qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); | 426 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); |
423 | 427 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); | |
424 | if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { | 428 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); |
425 | QString msg; | 429 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); |
426 | msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn)); | 430 | qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); |
427 | msg.replace(QRegExp(":"),"\n"); | 431 | |
428 | QMessageBox::message(tr("Note"),msg); | 432 | if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { |
433 | QString msg; | ||
434 | msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn)); | ||
435 | msg.replace(QRegExp(":"),"\n"); | ||
436 | QMessageBox::message(tr("Note"),msg); | ||
437 | } | ||
438 | } else { | ||
439 | QMessageBox::message(tr("Note"),tr("Cannot upload directories")); | ||
440 | } | ||
441 | ProgressBar->reset(); | ||
442 | nullifyCallBack(); | ||
443 | it.current()->setSelected(FALSE); | ||
444 | } //end currentSelected | ||
429 | } | 445 | } |
430 | ProgressBar->reset(); | 446 | TabWidget->setCurrentPage(1); |
431 | nullifyCallBack(); | 447 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate |
432 | } else { | 448 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
433 | QMessageBox::message(tr("Note"),tr("Cannot upload directories")); | ||
434 | } | ||
435 | TabWidget->setCurrentPage(1); | ||
436 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate | ||
437 | QCopEnvelope ( "QPE/System", "notBusy()" ); | ||
438 | } | 449 | } |
439 | 450 | ||
440 | void OpieFtp::nullifyCallBack() | 451 | void OpieFtp::nullifyCallBack() |
441 | { | 452 | { |
442 | FtpOptions(FTPLIB_CALLBACK, NULL, conn); | 453 | FtpOptions(FTPLIB_CALLBACK, NULL, conn); |
443 | FtpOptions(FTPLIB_IDLETIME, NULL, conn); | 454 | FtpOptions(FTPLIB_IDLETIME, NULL, conn); |
444 | FtpOptions(FTPLIB_CALLBACKARG, NULL, conn); | 455 | FtpOptions(FTPLIB_CALLBACKARG, NULL, conn); |
445 | FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn); | 456 | FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn); |
446 | |||
447 | } | 457 | } |
448 | 458 | ||
449 | void OpieFtp::remoteDownload() | 459 | void OpieFtp::remoteDownload() |
450 | { | 460 | { |
451 | // qApp->processEvents(); | 461 | // qApp->processEvents(); |
452 | int fsz; | 462 | int fsz; |
453 | QCopEnvelope ( "QPE/System", "busy()" ); | 463 | QCopEnvelope ( "QPE/System", "busy()" ); |
454 | QString strItem = Remote_View->currentItem()->text(0); | ||
455 | // strItem=strItem.right(strItem.length()-1); | ||
456 | 464 | ||
457 | QString localFile = currentDir.canonicalPath(); | 465 | QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); |
458 | if(localFile.right(1).find("/",0,TRUE) == -1) | 466 | QListViewItemIterator it( Remote_View ); |
459 | localFile += "/"; | 467 | for ( ; it.current(); ++it ) { |
460 | localFile += strItem; | 468 | if ( it.current()->isSelected() ) { |
469 | QString strItem = it.current()->text(0); | ||
470 | // strItem=strItem.right(strItem.length()-1); | ||
471 | QString localFile = currentDir.canonicalPath(); | ||
472 | if(localFile.right(1).find("/",0,TRUE) == -1) | ||
473 | localFile += "/"; | ||
474 | localFile += strItem; | ||
461 | // QString localFile = currentDir.canonicalPath()+"/"+strItem; | 475 | // QString localFile = currentDir.canonicalPath()+"/"+strItem; |
462 | QString remoteFile= currentRemoteDir+strItem; | 476 | QString remoteFile= currentRemoteDir+strItem; |
463 | if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn)) | 477 | if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn)) |
464 | fsz = 0; | 478 | fsz = 0; |
465 | QString temp; | 479 | QString temp; |
466 | temp.sprintf( remoteFile+" "+" %dkb", fsz); | 480 | temp.sprintf( remoteFile+" "+" %dkb", fsz); |
467 | 481 | ||
468 | ProgressBar->setTotalSteps(fsz); | 482 | ProgressBar->setTotalSteps(fsz); |
469 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); | 483 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); |
470 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); | 484 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); |
471 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); | 485 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); |
472 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); | 486 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); |
473 | qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1()); | 487 | qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1()); |
474 | 488 | ||
475 | if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { | 489 | if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { |
476 | QString msg; | 490 | QString msg; |
477 | msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn)); | 491 | msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn)); |
478 | msg.replace(QRegExp(":"),"\n"); | 492 | msg.replace(QRegExp(":"),"\n"); |
479 | QMessageBox::message(tr("Note"),msg); | 493 | QMessageBox::message(tr("Note"),msg); |
494 | } | ||
495 | ProgressBar->reset(); | ||
496 | nullifyCallBack(); | ||
497 | it.current()->setSelected(FALSE); | ||
498 | } | ||
480 | } | 499 | } |
481 | ProgressBar->reset(); | ||
482 | nullifyCallBack(); | ||
483 | TabWidget->setCurrentPage(0); | 500 | TabWidget->setCurrentPage(0); |
484 | populateLocalView(); | 501 | populateLocalView(); |
485 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 502 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
486 | } | 503 | } |
487 | 504 | ||
488 | bool OpieFtp::remoteDirList(const QString &dir) | 505 | bool OpieFtp::remoteDirList(const QString &dir) |
489 | { | 506 | { |
490 | QString tmp = QDir::homeDirPath(); | 507 | QString tmp = QDir::homeDirPath(); |
491 | if(tmp.right(1) != "/") | 508 | if(tmp.right(1) != "/") |
492 | tmp+="/._temp"; | 509 | tmp+="/._temp"; |
493 | else | 510 | else |
494 | tmp+="._temp"; | 511 | tmp+="._temp"; |
@@ -548,57 +565,56 @@ void OpieFtp::populateLocalView() | |||
548 | fileDate= fi->lastModified().toString(); | 565 | fileDate= fi->lastModified().toString(); |
549 | if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { | 566 | if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { |
550 | fileL+="/"; | 567 | fileL+="/"; |
551 | isDir=TRUE; | 568 | isDir=TRUE; |
552 | // qDebug( fileL); | 569 | // qDebug( fileL); |
553 | } | 570 | } |
554 | } | 571 | } |
555 | if(fileL !="./" && fi->exists()) { | 572 | if(fileL !="./" && fi->exists()) { |
556 | item= new QListViewItem( Local_View,fileL,fileS , fileDate); | 573 | item= new QListViewItem( Local_View,fileL,fileS , fileDate); |
557 | QPixmap pm; | 574 | QPixmap pm; |
558 | 575 | ||
559 | if(isDir || fileL.find("/",0,TRUE) != -1) { | 576 | if(isDir || fileL.find("/",0,TRUE) != -1) { |
560 | if( !QDir( fi->filePath() ).isReadable()) | 577 | if( !QDir( fi->filePath() ).isReadable()) |
561 | pm = Resource::loadPixmap( "lockedfolder" ); | 578 | pm = Resource::loadPixmap( "lockedfolder" ); |
562 | else | 579 | else |
563 | pm= Resource::loadPixmap( "folder" ); | 580 | pm= Resource::loadPixmap( "folder" ); |
564 | item->setPixmap( 0,pm ); | 581 | item->setPixmap( 0,pm ); |
565 | } else { | 582 | } else { |
566 | if( !fi->isReadable() ) | 583 | if( !fi->isReadable() ) |
567 | pm = Resource::loadPixmap( "locked" ); | 584 | pm = Resource::loadPixmap( "locked" ); |
568 | else { | 585 | else { |
569 | MimeType mt(fi->filePath()); | 586 | MimeType mt(fi->filePath()); |
570 | pm=mt.pixmap(); | 587 | pm=mt.pixmap(); //sets the correct pixmap for mimetype |
571 | if(pm.isNull()) | 588 | if(pm.isNull()) |
572 | pm = Resource::loadPixmap( "UnknownDocument-14" ); | 589 | pm = Resource::loadPixmap( "UnknownDocument-14" ); |
573 | item->setPixmap( 0,pm); | 590 | item->setPixmap( 0,pm); |
574 | } | 591 | } |
575 | } | 592 | } |
576 | if( fileL.find("->",0,TRUE) != -1) { | 593 | if( fileL.find("->",0,TRUE) != -1) { |
577 | // overlay link image | 594 | // overlay link image |
578 | pm= Resource::loadPixmap( "folder" ); | 595 | pm= Resource::loadPixmap( "folder" ); |
579 | QPixmap lnk = Resource::loadPixmap( "symlink" ); | 596 | QPixmap lnk = Resource::loadPixmap( "symlink" ); |
580 | QPainter painter( &pm ); | 597 | QPainter painter( &pm ); |
581 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); | 598 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); |
582 | pm.setMask( pm.createHeuristicMask( FALSE ) ); | 599 | pm.setMask( pm.createHeuristicMask( FALSE ) ); |
583 | item->setPixmap( 0, pm); | 600 | item->setPixmap( 0, pm); |
584 | } | 601 | } |
585 | } | 602 | } |
586 | isDir=FALSE; | 603 | isDir=FALSE; |
587 | ++it; | 604 | ++it; |
588 | } | 605 | } |
589 | Local_View->setSorting( 3,FALSE); | 606 | Local_View->setSorting( 3,FALSE); |
590 | currentPathCombo->lineEdit()->setText( currentDir.canonicalPath() ); | 607 | currentPathCombo->lineEdit()->setText( currentDir.canonicalPath() ); |
591 | fillCombo( (const QString &)currentDir); | 608 | fillCombo( (const QString &)currentDir); |
592 | |||
593 | } | 609 | } |
594 | 610 | ||
595 | bool OpieFtp::populateRemoteView( ) | 611 | bool OpieFtp::populateRemoteView( ) |
596 | { | 612 | { |
597 | // qDebug("populate remoteview"); | 613 | // qDebug("populate remoteview"); |
598 | QString sfile=QDir::homeDirPath(); | 614 | QString sfile=QDir::homeDirPath(); |
599 | if(sfile.right(1) != "/") | 615 | if(sfile.right(1) != "/") |
600 | sfile+="/._temp"; | 616 | sfile+="/._temp"; |
601 | else | 617 | else |
602 | sfile+="._temp"; | 618 | sfile+="._temp"; |
603 | QFile file( sfile); | 619 | QFile file( sfile); |
604 | Remote_View->clear(); | 620 | Remote_View->clear(); |
@@ -634,25 +650,25 @@ bool OpieFtp::populateRemoteView( ) | |||
634 | itemFile=item; | 650 | itemFile=item; |
635 | } | 651 | } |
636 | } | 652 | } |
637 | } | 653 | } |
638 | QListViewItem * item1 = new QListViewItem( Remote_View, "../"); | 654 | QListViewItem * item1 = new QListViewItem( Remote_View, "../"); |
639 | item1->setPixmap( 0, Resource::loadPixmap( "folder" )); | 655 | item1->setPixmap( 0, Resource::loadPixmap( "folder" )); |
640 | file.close(); | 656 | file.close(); |
641 | if( file.exists()) | 657 | if( file.exists()) |
642 | file. remove(); | 658 | file. remove(); |
643 | } else | 659 | } else |
644 | qDebug("temp file not opened successfullly "+sfile); | 660 | qDebug("temp file not opened successfullly "+sfile); |
645 | Remote_View->setSorting( 4,TRUE); | 661 | Remote_View->setSorting( 4,TRUE); |
646 | return true; | 662 | return true; |
647 | } | 663 | } |
648 | 664 | ||
649 | void OpieFtp::remoteListClicked(QListViewItem *selectedItem) | 665 | void OpieFtp::remoteListClicked(QListViewItem *selectedItem) |
650 | { | 666 | { |
651 | if(item) { | 667 | if(item) { |
652 | QCopEnvelope ( "QPE/System", "busy()" ); | 668 | QCopEnvelope ( "QPE/System", "busy()" ); |
653 | QString oldRemoteCurrentDir = currentRemoteDir; | 669 | QString oldRemoteCurrentDir = currentRemoteDir; |
654 | QString strItem=selectedItem->text(0); | 670 | QString strItem=selectedItem->text(0); |
655 | strItem=strItem.simplifyWhiteSpace(); | 671 | strItem=strItem.simplifyWhiteSpace(); |
656 | if(strItem == "../") { // the user wants to go ^ | 672 | if(strItem == "../") { // the user wants to go ^ |
657 | if( FtpCDUp( conn) == 0) { | 673 | if( FtpCDUp( conn) == 0) { |
658 | QString msg; | 674 | QString msg; |
@@ -750,25 +766,25 @@ void OpieFtp:: doRemoteCd() | |||
750 | { | 766 | { |
751 | remoteListClicked( Remote_View->currentItem()); | 767 | remoteListClicked( Remote_View->currentItem()); |
752 | 768 | ||
753 | } | 769 | } |
754 | 770 | ||
755 | void OpieFtp::showHidden() | 771 | void OpieFtp::showHidden() |
756 | { | 772 | { |
757 | if (!b) { | 773 | if (!b) { |
758 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 774 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
759 | localMenu->setItemChecked(localMenu->idAt(0),TRUE); | 775 | localMenu->setItemChecked(localMenu->idAt(0),TRUE); |
760 | // currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); | 776 | // currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); |
761 | b=TRUE; | 777 | b=TRUE; |
762 | 778 | ||
763 | } else { | 779 | } else { |
764 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 780 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
765 | localMenu->setItemChecked(localMenu->idAt(0),FALSE); | 781 | localMenu->setItemChecked(localMenu->idAt(0),FALSE); |
766 | // currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); | 782 | // currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); |
767 | b=FALSE; | 783 | b=FALSE; |
768 | } | 784 | } |
769 | populateLocalView(); | 785 | populateLocalView(); |
770 | } | 786 | } |
771 | 787 | ||
772 | void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) | 788 | void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) |
773 | { | 789 | { |
774 | switch (mouse) { | 790 | switch (mouse) { |
@@ -847,25 +863,25 @@ void OpieFtp::localDelete() | |||
847 | tr(" ?\nIt must be empty"),tr("Yes"),tr("No"),0,0,1) ) { | 863 | tr(" ?\nIt must be empty"),tr("Yes"),tr("No"),0,0,1) ) { |
848 | case 0: { | 864 | case 0: { |
849 | f=currentDir.canonicalPath()+"/"+f; | 865 | f=currentDir.canonicalPath()+"/"+f; |
850 | QString cmd="rmdir "+f; | 866 | QString cmd="rmdir "+f; |
851 | system( cmd.latin1()); | 867 | system( cmd.latin1()); |
852 | populateLocalView(); | 868 | populateLocalView(); |
853 | } | 869 | } |
854 | break; | 870 | break; |
855 | case 1: | 871 | case 1: |
856 | // exit | 872 | // exit |
857 | break; | 873 | break; |
858 | }; | 874 | }; |
859 | 875 | ||
860 | } else { | 876 | } else { |
861 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f | 877 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f |
862 | +" ?",tr("Yes"),tr("No"),0,0,1) ) { | 878 | +" ?",tr("Yes"),tr("No"),0,0,1) ) { |
863 | case 0: { | 879 | case 0: { |
864 | f=currentDir.canonicalPath()+"/"+f; | 880 | f=currentDir.canonicalPath()+"/"+f; |
865 | QString cmd="rm "+f; | 881 | QString cmd="rm "+f; |
866 | system( cmd.latin1()); | 882 | system( cmd.latin1()); |
867 | populateLocalView(); | 883 | populateLocalView(); |
868 | } | 884 | } |
869 | break; | 885 | break; |
870 | case 1: | 886 | case 1: |
871 | // exit | 887 | // exit |
@@ -902,25 +918,24 @@ void OpieFtp::remoteDelete() | |||
902 | QString path= currentRemoteDir+f; | 918 | QString path= currentRemoteDir+f; |
903 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+"?" | 919 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+"?" |
904 | ,tr("Yes"),tr("No"),0,0,1) ) { | 920 | ,tr("Yes"),tr("No"),0,0,1) ) { |
905 | case 0: { | 921 | case 0: { |
906 | f=currentDir.canonicalPath()+"/"+f; | 922 | f=currentDir.canonicalPath()+"/"+f; |
907 | if(FtpRmdir( path.latin1(), conn) ==0) { | 923 | if(FtpRmdir( path.latin1(), conn) ==0) { |
908 | QString msg; | 924 | QString msg; |
909 | msg.sprintf(tr("Unable to remove directory\n")+"%s",FtpLastResponse(conn)); | 925 | msg.sprintf(tr("Unable to remove directory\n")+"%s",FtpLastResponse(conn)); |
910 | msg.replace(QRegExp(":"),"\n"); | 926 | msg.replace(QRegExp(":"),"\n"); |
911 | QMessageBox::message(tr("Note"),msg); | 927 | QMessageBox::message(tr("Note"),msg); |
912 | } | 928 | } |
913 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate | 929 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate |
914 | |||
915 | } | 930 | } |
916 | break; | 931 | break; |
917 | }; | 932 | }; |
918 | } else { | 933 | } else { |
919 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+"?" | 934 | switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+"?" |
920 | ,tr("Yes"),tr("No"),0,0,1) ) { | 935 | ,tr("Yes"),tr("No"),0,0,1) ) { |
921 | case 0: { | 936 | case 0: { |
922 | QString path= currentRemoteDir+f; | 937 | QString path= currentRemoteDir+f; |
923 | if(FtpDelete( path.latin1(), conn)==0) { | 938 | if(FtpDelete( path.latin1(), conn)==0) { |
924 | QString msg; | 939 | QString msg; |
925 | msg.sprintf(tr("Unable to delete file\n")+"%s",FtpLastResponse(conn)); | 940 | msg.sprintf(tr("Unable to delete file\n")+"%s",FtpLastResponse(conn)); |
926 | msg.replace(QRegExp(":"),"\n"); | 941 | msg.replace(QRegExp(":"),"\n"); |