summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp34
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp26
2 files changed, 45 insertions, 15 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index c653b90..9edf7c1 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -58,24 +58,26 @@
#include <time.h>
#include <fcntl.h>
#include <mntent.h>
#include <string.h>
#include <errno.h>
#include <sys/vfs.h>
#include <mntent.h>
#include <sys/utsname.h>
AdvancedFm::AdvancedFm( )
: QMainWindow( ) {
init();
+ renameBox = 0;
+
initConnections();
populateLocalView();
populateRemoteView();
currentPathCombo->setFocus();
}
AdvancedFm::~AdvancedFm() {
}
void AdvancedFm::cleanUp() {
QString sfile=QDir::homeDirPath();
if(sfile.right(1) != "/")
@@ -393,42 +395,57 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) {
}
} //end not symlink
chdir(strItem.latin1());
}
}
}
void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int ) {
// qDebug("list pressed");
switch (mouse) {
case 1:
+ {
+ if(renameBox != 0 )
+ {
+ qDebug("cancel rename");
+ cancelRename();
+ }
+
+ }
break;
case 2:
menuTimer.start( 500, TRUE );
qDebug("Start menu timer\n");
break;
};
}
void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) {
- switch (mouse) {
- case 1:
- break;
- case 2:
- menuTimer.start( 500, TRUE );
- qDebug("Start menu timer");
- break;
- };
+ switch (mouse) {
+ case 1:
+ {
+ if(renameBox != 0 )
+ {
+ qDebug("cancel rename");
+ cancelRename();
+ }
+ }
+ break;
+ case 2:
+ menuTimer.start( 500, TRUE );
+ qDebug("Start menu timer");
+ break;
+ };
}
void AdvancedFm::switchToLocalTab() {
TabWidget->setCurrentTab(0);
Local_View->setFocus();
}
void AdvancedFm::switchToRemoteTab() {
TabWidget->setCurrentTab(1);
Remote_View->setFocus();
}
@@ -870,12 +887,13 @@ void AdvancedFm::addToDocs() {
curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
qDebug(curFile);
DocLnk f;
// curFile.replace(QRegExp("\\..*"),"");
f.setName((*it));
f.setFile( curFile);
f.writeLink();
}
}
}
}
+
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
@@ -1018,86 +1018,98 @@ bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) {
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) {
- view = Local_View;
- }
+ 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;
}