-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 90c887f..26bc36d 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp @@ -791,60 +791,64 @@ void AdvancedFm::cancelRename() { if ( resetFocus ) { view->viewport()->setFocusProxy( view); view->setFocus(); } } void AdvancedFm::doRename(QListView * view) { if( !CurrentView()->currentItem()) return; QRect r = view->itemRect( view->currentItem( )); r = QRect( view->viewportToContents( r.topLeft() ), r.size() ); r.setX( view->contentsX() ); - if ( r.width() > view->visibleWidth() ) + + 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->resize( r.size() ); + + view->viewport()->setFocusProxy( renameBox ); + + renameBox->setFocus(); renameBox->show(); } void AdvancedFm::renameIt() { - if( !CurrentView()->currentItem()) return; - QListView *thisView = CurrentView(); + if( !CurrentView()->currentItem()) return; + + QListView *thisView = CurrentView(); oldName = thisView->currentItem()->text(0); doRename( thisView ); - rePopulate(); } void AdvancedFm::okRename() { if( !CurrentView()->currentItem()) return; + QString newName = renameBox->text(); - cancelRename(); - QListView * view = CurrentView(); + cancelRename(); + QListView * view = CurrentView(); QString path = CurrentDir()->canonicalPath() + "/"; oldName = path + oldName; newName = path + newName; - if( rename( oldName.latin1(), newName.latin1())== -1) QMessageBox::message(tr("Note"),tr("Could not rename")); else oldName = ""; - view->takeItem( view->currentItem() ); delete view->currentItem(); - rePopulate(); + rePopulate(); } void AdvancedFm::openSearch() { QMessageBox::message(tr("Note"),tr("Not Yet Implemented")); } |