author | llornkcor <llornkcor> | 2002-03-30 02:00:10 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-03-30 02:00:10 (UTC) |
commit | 4fc58d156db9197bc8299f040d4337ea85b9f0d2 (patch) (unidiff) | |
tree | 7baa553895a5ccdb35c8309b8a5c43a8f05a24ec /noncore/net/opieftp/opieftp.cpp | |
parent | e49717bf2fa15791c2437a3ac69058ac909f0c6b (diff) | |
download | opie-4fc58d156db9197bc8299f040d4337ea85b9f0d2.zip opie-4fc58d156db9197bc8299f040d4337ea85b9f0d2.tar.gz opie-4fc58d156db9197bc8299f040d4337ea85b9f0d2.tar.bz2 |
fixed a workaround for an apparent bug in libqte when the listview is multi, and you try to select one item and popup the menu.., it needs extended mode selection to work
Diffstat (limited to 'noncore/net/opieftp/opieftp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieftp/opieftp.cpp | 89 |
1 files changed, 43 insertions, 46 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp index 3e13466..956409f 100644 --- a/noncore/net/opieftp/opieftp.cpp +++ b/noncore/net/opieftp/opieftp.cpp | |||
@@ -129,13 +129,13 @@ OpieFtp::OpieFtp( ) | |||
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 ); | 134 | Local_View->setMultiSelection( TRUE ); |
135 | 135 | Local_View->setSelectionMode(QlistView::Extended); | |
136 | QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); | 136 | QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); |
137 | 137 | ||
138 | tabLayout->addWidget( Local_View, 0, 0 ); | 138 | tabLayout->addWidget( Local_View, 0, 0 ); |
139 | 139 | ||
140 | connect( Local_View, SIGNAL( clicked( QListViewItem*)), | 140 | connect( Local_View, SIGNAL( clicked( QListViewItem*)), |
141 | this,SLOT( localListClicked(QListViewItem *)) ); | 141 | this,SLOT( localListClicked(QListViewItem *)) ); |
@@ -158,12 +158,13 @@ OpieFtp::OpieFtp( ) | |||
158 | Remote_View->addColumn( tr("Date"),-1); | 158 | Remote_View->addColumn( tr("Date"),-1); |
159 | Remote_View->setColumnAlignment(2,QListView::AlignRight); | 159 | Remote_View->setColumnAlignment(2,QListView::AlignRight); |
160 | Remote_View->addColumn( tr("Dir"),-1); | 160 | Remote_View->addColumn( tr("Dir"),-1); |
161 | Remote_View->setColumnAlignment(4,QListView::AlignRight); | 161 | Remote_View->setColumnAlignment(4,QListView::AlignRight); |
162 | Remote_View->setAllColumnsShowFocus(TRUE); | 162 | Remote_View->setAllColumnsShowFocus(TRUE); |
163 | Remote_View->setMultiSelection( TRUE ); | 163 | Remote_View->setMultiSelection( TRUE ); |
164 | Remote_View->setSelectionMode(QlistView::Extended); | ||
164 | 165 | ||
165 | QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); | 166 | QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); |
166 | 167 | ||
167 | connect( Remote_View, SIGNAL( clicked( QListViewItem*)), | 168 | connect( Remote_View, SIGNAL( clicked( QListViewItem*)), |
168 | this,SLOT( remoteListClicked(QListViewItem *)) ); | 169 | this,SLOT( remoteListClicked(QListViewItem *)) ); |
169 | connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), | 170 | connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), |
@@ -282,12 +283,13 @@ void OpieFtp::cleanUp() | |||
282 | sfile+="/._temp"; | 283 | sfile+="/._temp"; |
283 | else | 284 | else |
284 | sfile+="._temp"; | 285 | sfile+="._temp"; |
285 | QFile file( sfile); | 286 | QFile file( sfile); |
286 | if(file.exists()) | 287 | if(file.exists()) |
287 | file.remove(); | 288 | file.remove(); |
289 | exit(0); | ||
288 | } | 290 | } |
289 | 291 | ||
290 | void OpieFtp::tabChanged(QWidget *w) | 292 | void OpieFtp::tabChanged(QWidget *w) |
291 | { | 293 | { |
292 | if (TabWidget->currentPageIndex() == 0) { | 294 | if (TabWidget->currentPageIndex() == 0) { |
293 | currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); | 295 | currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); |
@@ -391,55 +393,54 @@ void OpieFtp::disConnector() | |||
391 | FtpQuit(conn); | 393 | FtpQuit(conn); |
392 | setCaption("OpieFtp"); | 394 | setCaption("OpieFtp"); |
393 | currentRemoteDir="/"; | 395 | currentRemoteDir="/"; |
394 | Remote_View->clear(); | 396 | Remote_View->clear(); |
395 | connectServerBtn->setText( tr("Connect")); | 397 | connectServerBtn->setText( tr("Connect")); |
396 | connectServerBtn->setOn(FALSE); | 398 | connectServerBtn->setOn(FALSE); |
397 | |||
398 | } | 399 | } |
399 | 400 | ||
400 | void OpieFtp::localUpload() | 401 | void OpieFtp::localUpload() |
401 | { | 402 | { |
402 | int fsz; | 403 | int fsz; |
403 | QCopEnvelope ( "QPE/System", "busy()" ); | 404 | QCopEnvelope ( "QPE/System", "busy()" ); |
404 | // qApp->processEvents(); | 405 | // qApp->processEvents(); |
405 | QList<QListViewItem> * getSelectedItems( QListView * Local_View ); | 406 | QList<QListViewItem> * getSelectedItems( QListView * Local_View ); |
406 | QListViewItemIterator it( Local_View ); | 407 | QListViewItemIterator it( Local_View ); |
407 | for ( ; it.current(); ++it ) { | 408 | for ( ; it.current(); ++it ) { |
408 | if ( it.current()->isSelected() ) { | 409 | if ( it.current()->isSelected() ) { |
409 | QString strItem = it.current()->text(0); | 410 | QString strItem = it.current()->text(0); |
410 | QString localFile = currentDir.canonicalPath()+"/"+strItem; | 411 | QString localFile = currentDir.canonicalPath()+"/"+strItem; |
411 | QString remoteFile= currentRemoteDir+strItem; | 412 | QString remoteFile= currentRemoteDir+strItem; |
412 | QFileInfo fi(localFile); | 413 | QFileInfo fi(localFile); |
413 | if( !fi.isDir()) { | 414 | if( !fi.isDir()) { |
414 | fsz=fi.size(); | 415 | fsz=fi.size(); |
415 | ProgressBar->setTotalSteps(fsz); | 416 | ProgressBar->setTotalSteps(fsz); |
416 | 417 | ||
417 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); | 418 | FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); |
418 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); | 419 | FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); |
419 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); | 420 | FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); |
420 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); | 421 | FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); |
421 | qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); | 422 | qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); |
422 | 423 | ||
423 | if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { | 424 | if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { |
424 | QString msg; | 425 | QString msg; |
425 | msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn)); | 426 | msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn)); |
426 | msg.replace(QRegExp(":"),"\n"); | 427 | msg.replace(QRegExp(":"),"\n"); |
427 | QMessageBox::message(tr("Note"),msg); | 428 | QMessageBox::message(tr("Note"),msg); |
428 | } | ||
429 | } else { | ||
430 | QMessageBox::message(tr("Note"),tr("Cannot upload directories")); | ||
431 | } | 429 | } |
432 | ProgressBar->reset(); | 430 | } else { |
433 | nullifyCallBack(); | 431 | QMessageBox::message(tr("Note"),tr("Cannot upload directories")); |
434 | it.current()->setSelected(FALSE); | 432 | } |
435 | } //end currentSelected | 433 | ProgressBar->reset(); |
436 | } | 434 | nullifyCallBack(); |
437 | TabWidget->setCurrentPage(1); | 435 | it.current()->setSelected(FALSE); |
438 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate | 436 | } //end currentSelected |
439 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 437 | } |
438 | TabWidget->setCurrentPage(1); | ||
439 | remoteDirList( (const QString &)currentRemoteDir); //this also calls populate | ||
440 | QCopEnvelope ( "QPE/System", "notBusy()" ); | ||
440 | } | 441 | } |
441 | 442 | ||
442 | void OpieFtp::nullifyCallBack() | 443 | void OpieFtp::nullifyCallBack() |
443 | { | 444 | { |
444 | FtpOptions(FTPLIB_CALLBACK, NULL, conn); | 445 | FtpOptions(FTPLIB_CALLBACK, NULL, conn); |
445 | FtpOptions(FTPLIB_IDLETIME, NULL, conn); | 446 | FtpOptions(FTPLIB_IDLETIME, NULL, conn); |
@@ -482,13 +483,13 @@ void OpieFtp::remoteDownload() | |||
482 | msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn)); | 483 | msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn)); |
483 | msg.replace(QRegExp(":"),"\n"); | 484 | msg.replace(QRegExp(":"),"\n"); |
484 | QMessageBox::message(tr("Note"),msg); | 485 | QMessageBox::message(tr("Note"),msg); |
485 | } | 486 | } |
486 | ProgressBar->reset(); | 487 | ProgressBar->reset(); |
487 | nullifyCallBack(); | 488 | nullifyCallBack(); |
488 | it.current()->setSelected(FALSE); | 489 | it.current()->setSelected(FALSE); |
489 | } | 490 | } |
490 | } | 491 | } |
491 | TabWidget->setCurrentPage(0); | 492 | TabWidget->setCurrentPage(0); |
492 | populateLocalView(); | 493 | populateLocalView(); |
493 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 494 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
494 | } | 495 | } |
@@ -519,13 +520,13 @@ bool OpieFtp::remoteChDir(const QString &dir) | |||
519 | QCopEnvelope ( "QPE/System", "busy()" ); | 520 | QCopEnvelope ( "QPE/System", "busy()" ); |
520 | if (!FtpChdir( dir.latin1(), conn )) { | 521 | if (!FtpChdir( dir.latin1(), conn )) { |
521 | QString msg; | 522 | QString msg; |
522 | msg.sprintf(tr("Unable to change directories\n")+dir+"\n%s",FtpLastResponse(conn)); | 523 | msg.sprintf(tr("Unable to change directories\n")+dir+"\n%s",FtpLastResponse(conn)); |
523 | msg.replace(QRegExp(":"),"\n"); | 524 | msg.replace(QRegExp(":"),"\n"); |
524 | QMessageBox::message(tr("Note"),msg); | 525 | QMessageBox::message(tr("Note"),msg); |
525 | qDebug(msg); | 526 | qDebug(msg); |
526 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 527 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
527 | return FALSE; | 528 | return FALSE; |
528 | } | 529 | } |
529 | QCopEnvelope ( "QPE/System", "notBusy()" ); | 530 | QCopEnvelope ( "QPE/System", "notBusy()" ); |
530 | return TRUE; | 531 | return TRUE; |
531 | } | 532 | } |
@@ -777,26 +778,22 @@ void OpieFtp::showHidden() | |||
777 | populateLocalView(); | 778 | populateLocalView(); |
778 | } | 779 | } |
779 | 780 | ||
780 | void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) | 781 | void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) |
781 | { | 782 | { |
782 | // if(item) | 783 | // if(item) |
783 | if (mouse == 2) { | 784 | if (mouse == 2) { |
784 | showLocalMenu(item); | 785 | showLocalMenu(item); |
785 | } | 786 | } |
786 | } | 787 | } |
787 | 788 | ||
788 | void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) | 789 | void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) |
789 | { | 790 | { |
790 | switch (mouse) { | 791 | if(mouse == 2) { |
791 | case 1: | 792 | showRemoteMenu(item); |
792 | break; | 793 | } |
793 | case 2: | ||
794 | showRemoteMenu(item); | ||
795 | break; | ||
796 | }; | ||
797 | } | 794 | } |
798 | 795 | ||
799 | void OpieFtp::showRemoteMenu(QListViewItem * item) | 796 | void OpieFtp::showRemoteMenu(QListViewItem * item) |
800 | { | 797 | { |
801 | QPopupMenu m;// = new QPopupMenu( Local_View ); | 798 | QPopupMenu m;// = new QPopupMenu( Local_View ); |
802 | if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) != -1) | 799 | if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) != -1) |