author | llornkcor <llornkcor> | 2003-05-12 14:52:31 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-05-12 14:52:31 (UTC) |
commit | 8a87ca1f7de6a205b47986db8ad4a082f39b9c34 (patch) (side-by-side diff) | |
tree | c7f80978a8f53c3faefa6bfc1a626bafcf8837a4 /noncore/apps/advancedfm/advancedfm.cpp | |
parent | ca02db5ebfc5e44c3b216c12757683bac246ba23 (diff) | |
download | opie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.zip opie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.tar.gz opie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.tar.bz2 |
show file selected if setDoc/openDir qcop is file
Diffstat (limited to 'noncore/apps/advancedfm/advancedfm.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 6b7fa1f..60558e7 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp @@ -899,14 +899,37 @@ void AdvancedFm::qcopReceive(const QCString &msg, const QByteArray &data) { } void AdvancedFm::gotoDirectory(const QString &file) { QString curDir = file; QDir *thisDir = CurrentDir(); - - if(QDir( curDir).exists() ) { + if(QDir( curDir).exists() ) { thisDir->setPath( curDir ); chdir( curDir.latin1() ); thisDir->cd( curDir, TRUE); populateView(); } + else if(QFileInfo(curDir).exists()) { + QFileInfo fileInfo(curDir); + curDir=fileInfo.dirPath(); + if(QDir( curDir).exists() ) { + thisDir->setPath( curDir ); + chdir( curDir.latin1() ); + thisDir->cd( curDir, TRUE); + populateView(); + } + findFile(file); + } + +} + +void AdvancedFm::findFile(const QString &fileName) { + QFileInfo fi(fileName); + QListView *thisView = CurrentView(); + QListViewItemIterator it( thisView ); + for ( ; it.current(); ++it ) { + if(it.current()->text(0) == fi.fileName()) { + it.current()->setSelected(true); + thisView->ensureItemVisible(it.current()); + } + } } |