summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-05-12 14:52:31 (UTC)
committer llornkcor <llornkcor>2003-05-12 14:52:31 (UTC)
commit8a87ca1f7de6a205b47986db8ad4a082f39b9c34 (patch) (unidiff)
treec7f80978a8f53c3faefa6bfc1a626bafcf8837a4
parentca02db5ebfc5e44c3b216c12757683bac246ba23 (diff)
downloadopie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.zip
opie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.tar.gz
opie-8a87ca1f7de6a205b47986db8ad4a082f39b9c34.tar.bz2
show file selected if setDoc/openDir qcop is file
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp27
-rw-r--r--noncore/apps/advancedfm/advancedfm.h2
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp15
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp17
4 files changed, 54 insertions, 7 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
@@ -893,20 +893,43 @@ void AdvancedFm::qcopReceive(const QCString &msg, const QByteArray &data) {
893 } 893 }
894} 894}
895 895
896 void AdvancedFm::setDocument(const QString &file) { 896 void AdvancedFm::setDocument(const QString &file) {
897 gotoDirectory( file); 897 gotoDirectory( file);
898 898
899 } 899 }
900 900
901void AdvancedFm::gotoDirectory(const QString &file) { 901void AdvancedFm::gotoDirectory(const QString &file) {
902 902
903 QString curDir = file; 903 QString curDir = file;
904 QDir *thisDir = CurrentDir(); 904 QDir *thisDir = CurrentDir();
905 905 if(QDir( curDir).exists() ) {
906 if(QDir( curDir).exists() ) {
907 thisDir->setPath( curDir ); 906 thisDir->setPath( curDir );
908 chdir( curDir.latin1() ); 907 chdir( curDir.latin1() );
909 thisDir->cd( curDir, TRUE); 908 thisDir->cd( curDir, TRUE);
910 populateView(); 909 populateView();
911 } 910 }
911 else if(QFileInfo(curDir).exists()) {
912 QFileInfo fileInfo(curDir);
913 curDir=fileInfo.dirPath();
914 if(QDir( curDir).exists() ) {
915 thisDir->setPath( curDir );
916 chdir( curDir.latin1() );
917 thisDir->cd( curDir, TRUE);
918 populateView();
919 }
920 findFile(file);
921 }
922
923}
924
925void AdvancedFm::findFile(const QString &fileName) {
926 QFileInfo fi(fileName);
927 QListView *thisView = CurrentView();
928 QListViewItemIterator it( thisView );
929 for ( ; it.current(); ++it ) {
930 if(it.current()->text(0) == fi.fileName()) {
931 it.current()->setSelected(true);
932 thisView->ensureItemVisible(it.current());
933 }
934 }
912} 935}
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index c9a5525..94d7bd7 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -156,23 +156,25 @@ private:
156 MenuButton *menuButton; 156 MenuButton *menuButton;
157 QString oldName; 157 QString oldName;
158 QTimer menuTimer; 158 QTimer menuTimer;
159 void startProcess(const QString &); 159 void startProcess(const QString &);
160 bool eventFilter( QObject * , QEvent * ); 160 bool eventFilter( QObject * , QEvent * );
161 void cancelRename(); 161 void cancelRename();
162 void doRename(QListView *); 162 void doRename(QListView *);
163 void okRename(); 163 void okRename();
164 void customDirsToMenu(); 164 void customDirsToMenu();
165 void addCustomDir(); 165 void addCustomDir();
166 void removeCustomDir(); 166 void removeCustomDir();
167 void gotoDirectory(const QString &); 167 void gotoDirectory(const QString &);
168 void openSearch();
169 void findFile(const QString &);
168 170
169private slots: 171private slots:
170 void processEnded(OProcess *); 172 void processEnded(OProcess *);
171 void oprocessStderr(OProcess *, char *, int); 173 void oprocessStderr(OProcess *, char *, int);
172 void gotoCustomDir(const QString &); 174 void gotoCustomDir(const QString &);
173 void qcopReceive(const QCString&, const QByteArray&); 175 void qcopReceive(const QCString&, const QByteArray&);
174 void setDocument(const QString &); 176 void setDocument(const QString &);
175 177
176}; 178};
177 179
178#endif // ADVANCEDFM_H 180#endif // ADVANCEDFM_H
diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp
index d0de442..a120f35 100644
--- a/noncore/apps/advancedfm/advancedfmData.cpp
+++ b/noncore/apps/advancedfm/advancedfmData.cpp
@@ -3,24 +3,26 @@
3 ------------------- 3 -------------------
4** Created: Mon 09-23-2002 13:24:11 4** Created: Mon 09-23-2002 13:24:11
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12#include "advancedfm.h" 12#include "advancedfm.h"
13 13
14#include <opie/otabwidget.h> 14#include <opie/otabwidget.h>
15#include <qpe/storage.h>
16
15#include <qpe/qpeapplication.h> 17#include <qpe/qpeapplication.h>
16#include <qpe/resource.h> 18#include <qpe/resource.h>
17#include <qpe/menubutton.h> 19#include <qpe/menubutton.h>
18 20
19#include <qlayout.h> 21#include <qlayout.h>
20#include <qhbox.h> 22#include <qhbox.h>
21#include <qmenubar.h> 23#include <qmenubar.h>
22#include <qcombobox.h> 24#include <qcombobox.h>
23#include <qtoolbutton.h> 25#include <qtoolbutton.h>
24#include <qlineedit.h> 26#include <qlineedit.h>
25#include <qlistview.h> 27#include <qlistview.h>
26 28
@@ -74,24 +76,26 @@ void AdvancedFm::init() {
74 docButton->setPixmap(Resource::loadPixmap("DocsIcon")); 76 docButton->setPixmap(Resource::loadPixmap("DocsIcon"));
75 docButton->setAutoRaise( true ); 77 docButton->setAutoRaise( true );
76 menuBar->insertItem( docButton ); 78 menuBar->insertItem( docButton );
77 79
78 homeButton = new QToolButton( 0, "homeButton"); 80 homeButton = new QToolButton( 0, "homeButton");
79 homeButton->setPixmap(Resource::loadPixmap("home")); 81 homeButton->setPixmap(Resource::loadPixmap("home"));
80 homeButton->setAutoRaise( true ); 82 homeButton->setAutoRaise( true );
81 menuBar->insertItem( homeButton ); 83 menuBar->insertItem( homeButton );
82 84
83 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() )); 85 fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() ));
84 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 86 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
85 fileMenu->insertSeparator(); 87 fileMenu->insertSeparator();
88 fileMenu->insertItem( tr( "File Search" ), this, SLOT( openSearch() ));
89 fileMenu->insertSeparator();
86 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() )); 90 fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
87 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() )); 91 fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
88 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() )); 92 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
89 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() )); 93 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
90 fileMenu->insertSeparator(); 94 fileMenu->insertSeparator();
91 fileMenu->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 95 fileMenu->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
92 fileMenu->insertItem( tr( "Select All" ), this, SLOT( selectAll() )); 96 fileMenu->insertItem( tr( "Select All" ), this, SLOT( selectAll() ));
93 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); 97 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
94 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() )); 98 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() ));
95 fileMenu->setCheckable(TRUE); 99 fileMenu->setCheckable(TRUE);
96 100
97 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); 101 viewMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
@@ -189,35 +193,43 @@ void AdvancedFm::init() {
189 193
190 QListView *fileTree; 194 QListView *fileTree;
191 fileTree = new QListView( tab_3, "tree" ); 195 fileTree = new QListView( tab_3, "tree" );
192 196
193 197
194 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 ); 198 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
195 199
196 TabWidget->insertTab( tab_3, tr( "Remote" ) ); 200 TabWidget->insertTab( tab_3, tr( "Remote" ) );
197 */ 201 */
198 202
199 /////////////// 203 ///////////////
200 204
205
201 struct utsname name; /* check for embedix kernel running on the zaurus*/ 206 struct utsname name; /* check for embedix kernel running on the zaurus*/
202 if (uname(&name) != -1) { 207 if (uname(&name) != -1) {
203 QString release=name.release; 208 QString release=name.release;
204 if(release.find("embedix",0,TRUE) !=-1) { 209 if(release.find("embedix",0,TRUE) !=-1) {
205 zaurusDevice=TRUE; 210 zaurusDevice=TRUE;
206 } else { 211 } else {
207 zaurusDevice=FALSE; 212 zaurusDevice=FALSE;
208 sdButton->hide();
209 } 213 }
210 } 214 }
211 215
216 if( !StorageInfo::hasSd() || !StorageInfo::hasMmc()) {
217 qDebug("not have sd");
218 sdButton->hide();
219 }
220 if( !StorageInfo::hasCf() ) {
221 qDebug("not have cf");
222 cfButton->hide();
223 }
212 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 224 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
213 currentDir.setPath( QDir::currentDirPath()); 225 currentDir.setPath( QDir::currentDirPath());
214 226
215 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 227 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
216 currentRemoteDir.setPath( QDir::currentDirPath()); 228 currentRemoteDir.setPath( QDir::currentDirPath());
217 229
218 b = TRUE; 230 b = TRUE;
219 231
220 filterStr="*"; 232 filterStr="*";
221 b=FALSE; 233 b=FALSE;
222 TabWidget->setCurrentTab(0); 234 TabWidget->setCurrentTab(0);
223 235
@@ -239,24 +251,25 @@ void AdvancedFm::initConnections()
239 connect( docButton,SIGNAL(released()), 251 connect( docButton,SIGNAL(released()),
240 this,SLOT( docButtonPushed()) ); 252 this,SLOT( docButtonPushed()) );
241 connect( homeButton,SIGNAL(released()), 253 connect( homeButton,SIGNAL(released()),
242 this,SLOT( homeButtonPushed()) ); 254 this,SLOT( homeButtonPushed()) );
243 connect( currentPathCombo, SIGNAL( activated( const QString & ) ), 255 connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
244 this, SLOT( currentPathComboActivated( const QString & ) ) ); 256 this, SLOT( currentPathComboActivated( const QString & ) ) );
245 257
246 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()), 258 connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
247 this,SLOT(currentPathComboChanged())); 259 this,SLOT(currentPathComboChanged()));
248 260
249 connect( Local_View, SIGNAL( clicked( QListViewItem*)), 261 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
250 this,SLOT( ListClicked(QListViewItem *)) ); 262 this,SLOT( ListClicked(QListViewItem *)) );
263
251 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 264 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
252 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 265 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
253 266
254 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 267 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
255 268
256 connect( Remote_View, SIGNAL( clicked( QListViewItem*)), 269 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
257 this,SLOT( ListClicked(QListViewItem *)) ); 270 this,SLOT( ListClicked(QListViewItem *)) );
258 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 271 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
259 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 272 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
260 273
261 connect( TabWidget,SIGNAL(currentChanged(QWidget *)), 274 connect( TabWidget,SIGNAL(currentChanged(QWidget *)),
262 this,SLOT(tabChanged(QWidget*))); 275 this,SLOT(tabChanged(QWidget*)));
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 575833a..2201960 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -1,18 +1,18 @@
1/*************************************************************************** 1/***************************************************************************
2 AdvancedFm.cpp 2 AdvancedFm.cpp
3 ------------------- 3 -------------------
4 ** Created: Sat Mar 9 23:33:09 2002 4 ** Created: Sat Mar 9 23:33:09 2002
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12#include "advancedfm.h" 12#include "advancedfm.h"
13#include "output.h" 13#include "output.h"
14#include "filePermissions.h" 14#include "filePermissions.h"
15 15
16#include <opie/otabwidget.h> 16#include <opie/otabwidget.h>
17#include <opie/oprocess.h> 17#include <opie/oprocess.h>
18 18
@@ -194,25 +194,25 @@ void AdvancedFm::doDelete()
194 194
195 QString myFile; 195 QString myFile;
196 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) 196 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it )
197 { 197 {
198 myFile = (*it); 198 myFile = (*it);
199 if( myFile.find(" -> ",0,TRUE) != -1) 199 if( myFile.find(" -> ",0,TRUE) != -1)
200 myFile = myFile.left( myFile.find(" -> ",0,TRUE)); 200 myFile = myFile.left( myFile.find(" -> ",0,TRUE));
201 201
202 QString f = CurrentDir()->canonicalPath(); 202 QString f = CurrentDir()->canonicalPath();
203 if(f.right(1).find("/",0,TRUE) == -1) 203 if(f.right(1).find("/",0,TRUE) == -1)
204 f += "/"; 204 f += "/";
205 f += myFile; 205 f += myFile;
206 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) 206 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) //if file is a directory
207 { 207 {
208 switch ( QMessageBox::warning( this, tr("Delete Directory?"), tr("Really delete\n") + f + 208 switch ( QMessageBox::warning( this, tr("Delete Directory?"), tr("Really delete\n") + f +
209 "\nand all it's contents ?" 209 "\nand all it's contents ?"
210 ,tr("Yes"),tr("No"),0,0,1) ) 210 ,tr("Yes"),tr("No"),0,0,1) )
211 { 211 {
212 case 0: 212 case 0:
213 { 213 {
214 f=f.left(f.length()-1); 214 f=f.left(f.length()-1);
215 QString cmd="rm -rf "+f; 215 QString cmd="rm -rf "+f;
216 startProcess( (const QString)cmd.latin1() ); 216 startProcess( (const QString)cmd.latin1() );
217 populateView(); 217 populateView();
218 } 218 }
@@ -224,26 +224,31 @@ void AdvancedFm::doDelete()
224 224
225 } else { 225 } else {
226 if(doMsg) { 226 if(doMsg) {
227 switch ( QMessageBox::warning(this,tr("Delete"),tr("Really delete\n")+f 227 switch ( QMessageBox::warning(this,tr("Delete"),tr("Really delete\n")+f
228 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 228 +" ?",tr("Yes"),tr("No"),0,0,1) ) {
229 case 1: 229 case 1:
230 return; 230 return;
231 break; 231 break;
232 }; 232 };
233 } 233 }
234 QString cmd="rm "+f; 234 QString cmd="rm "+f;
235 QFile file(f); 235 QFile file(f);
236 if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1) 236 if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1) {
237 file.remove(); 237 qDebug("remove link files "+f);
238// AppLnk lnk(f);
239// qDebug(lnk.linkFile());
240// lnk.removeLinkFile();
241 file.remove();
242 }
238 } 243 }
239 } 244 }
240 } 245 }
241 populateView(); 246 populateView();
242} 247}
243 248
244void AdvancedFm::filePerms() 249void AdvancedFm::filePerms()
245{ 250{
246 QStringList curFileList = getPath(); 251 QStringList curFileList = getPath();
247 QString filePath; 252 QString filePath;
248 253
249 filePath = CurrentDir()->canonicalPath()+"/"; 254 filePath = CurrentDir()->canonicalPath()+"/";
@@ -876,12 +881,16 @@ void AdvancedFm::okRename()
876 881
877 if( view->currentItem() == NULL) 882 if( view->currentItem() == NULL)
878 return; 883 return;
879 if( rename( oldName.latin1(), newName.latin1())== -1) 884 if( rename( oldName.latin1(), newName.latin1())== -1)
880 QMessageBox::message(tr("Note"),tr("Could not rename")); 885 QMessageBox::message(tr("Note"),tr("Could not rename"));
881 else 886 else
882 oldName = ""; 887 oldName = "";
883 888
884 view->takeItem( view->currentItem() ); 889 view->takeItem( view->currentItem() );
885 delete view->currentItem(); 890 delete view->currentItem();
886 populateView(); 891 populateView();
887} 892}
893
894void AdvancedFm::openSearch() {
895
896}