author | llornkcor <llornkcor> | 2003-02-21 22:44:28 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-02-21 22:44:28 (UTC) |
commit | a7448ec87d97a0128618e83ad7526bd884ef8853 (patch) (side-by-side diff) | |
tree | 0dda2db8da959c26d0ec089bec161ae28486d2cc /noncore/apps/advancedfm/advancedfmMenu.cpp | |
parent | d48baa03492fd4785ca273defb4e21bf8c0d1c08 (diff) | |
download | opie-a7448ec87d97a0128618e83ad7526bd884ef8853.zip opie-a7448ec87d97a0128618e83ad7526bd884ef8853.tar.gz opie-a7448ec87d97a0128618e83ad7526bd884ef8853.tar.bz2 |
fix rename cancel.. hehehe
Diffstat (limited to 'noncore/apps/advancedfm/advancedfmMenu.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index f067013..2ddcabc 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -1006,110 +1006,122 @@ void AdvancedFm::startProcess(const QString & cmd) { } void AdvancedFm::processEnded() { populateLocalView(); populateRemoteView(); } bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) { if ( o->inherits( "QLineEdit" ) ) { if ( e->type() == QEvent::KeyPress ) { QKeyEvent *ke = (QKeyEvent*)e; if ( ke->key() == Key_Return || ke->key() == Key_Enter ) { okRename(); return true; } else if ( ke->key() == Key_Escape ) { cancelRename(); return true; } } else if ( e->type() == QEvent::FocusOut ) { cancelRename(); return true; } } + if ( o->inherits( "QListView" ) ) { + if ( e->type() == QEvent::FocusOut ) { + printf("focusIn\n"); + + } + } + return QWidget::eventFilter( o, e ); } -void AdvancedFm::cancelRename() { +void AdvancedFm::cancelRename() +{ qDebug("cancel rename"); QListView * view; - if (TabWidget->getCurrentTab() == 0) { + if (TabWidget->getCurrentTab() == 0) + { view = Local_View; } else { view = Remote_View; } bool resetFocus = view->viewport()->focusProxy() == renameBox; delete renameBox; renameBox = 0; if ( resetFocus ) { view->viewport()->setFocusProxy( view); view->setFocus(); } } -void AdvancedFm::doRename(QListView * view) { +void AdvancedFm::doRename(QListView * view) +{ QRect r = view->itemRect( view->currentItem( )); r = QRect( view->viewportToContents( r.topLeft() ), r.size() ); r.setX( view->contentsX() ); if ( r.width() > view->visibleWidth() ) r.setWidth( view->visibleWidth() ); renameBox = new QLineEdit( view->viewport(), "qt_renamebox" ); renameBox->setFrame(true); renameBox->setText( view->currentItem()->text(0) ); renameBox->selectAll(); renameBox->installEventFilter( this ); view->addChild( renameBox, r.x(), r.y() ); renameBox->resize( r.size() ); view->viewport()->setFocusProxy( renameBox ); renameBox->setFocus(); renameBox->show(); } -void AdvancedFm::localRename() { +void AdvancedFm::localRename() +{ oldName = Local_View->currentItem()->text(0); doRename(Local_View ); populateLocalView(); } void AdvancedFm::remoteRename() { oldName = Remote_View->currentItem()->text(0); doRename(Local_View ); populateRemoteView(); } -void AdvancedFm::okRename() { +void AdvancedFm::okRename() +{ QString newName = renameBox->text(); cancelRename(); int tabs=0; QListView * view; tabs = TabWidget->getCurrentTab(); if ( tabs == 0) { view = Local_View; QString path = currentDir.canonicalPath() + "/"; oldName = path + oldName; newName = path + newName; } else { view = Remote_View; QString path = currentRemoteDir.canonicalPath() + "/"; oldName = path + oldName; newName = path + newName; } if( view->currentItem() == NULL) return; if( rename(oldName.latin1(), newName.latin1())== -1) QMessageBox::message(tr("Note"),tr("Could not rename")); |