summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.h1
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp1
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp220
3 files changed, 139 insertions, 83 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 12ebbf2..7bccce9 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -72,6 +72,7 @@ public:
72 QStringList fileSystemTypeList, fsList; 72 QStringList fileSystemTypeList, fsList;
73 int currentServerConfig; 73 int currentServerConfig;
74protected slots: 74protected slots:
75 void selectAll();
75 void addToDocs(); 76 void addToDocs();
76 void doLocalCd(); 77 void doLocalCd();
77 void doRemoteCd(); 78 void doRemoteCd();
diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp
index 7188640..f0a0a35 100644
--- a/noncore/apps/advancedfm/advancedfmData.cpp
+++ b/noncore/apps/advancedfm/advancedfmData.cpp
@@ -87,6 +87,7 @@ void AdvancedFm::init() {
87 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() )); 87 fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
88 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() )); 88 fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
89 fileMenu->insertSeparator(); 89 fileMenu->insertSeparator();
90 fileMenu->insertItem( tr( "Select All" ), this, SLOT( selectAll() ));
90 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() )); 91 fileMenu->insertItem( tr( "Add To Documents" ), this, SLOT( addToDocs() ));
91 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() )); 92 fileMenu->insertItem( tr( "Delete" ), this, SLOT( del() ));
92 fileMenu->setCheckable(TRUE); 93 fileMenu->setCheckable(TRUE);
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 27a119f..bef701a 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -199,8 +199,24 @@ void AdvancedFm::remoteMakDir() {
199 199
200void AdvancedFm::localDelete() { 200void AdvancedFm::localDelete() {
201 QStringList curFileList = getPath(); 201 QStringList curFileList = getPath();
202 if(curFileList.count() > 0) { 202 bool doMsg=true;
203 QString myFile; 203 int count=curFileList.count();
204 if( count > 0) {
205 if(count > 1 ){
206 QString msg;
207 msg=tr("Really delete\n%1 files?").arg(count);
208 switch ( QMessageBox::warning(this,tr("Delete"),msg
209 ,tr("Yes"),tr("No"),0,0,1) ) {
210 case 0:
211 doMsg=false;
212 break;
213 case 1:
214 return;
215 break;
216 };
217 }
218
219 QString myFile;
204 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 220 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
205 myFile = (*it); 221 myFile = (*it);
206 if( myFile.find(" -> ",0,TRUE) != -1) 222 if( myFile.find(" -> ",0,TRUE) != -1)
@@ -211,7 +227,7 @@ void AdvancedFm::localDelete() {
211 f+="/"; 227 f+="/";
212 f+=myFile; 228 f+=myFile;
213 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { 229 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
214 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ 230 switch ( QMessageBox::warning(this,tr("Delete Directory?"),tr("Really delete\n")+f+
215 "\nand all it's contents ?" 231 "\nand all it's contents ?"
216 ,tr("Yes"),tr("No"),0,0,1) ) { 232 ,tr("Yes"),tr("No"),0,0,1) ) {
217 case 0: { 233 case 0: {
@@ -227,72 +243,88 @@ void AdvancedFm::localDelete() {
227 }; 243 };
228 244
229 } else { 245 } else {
230 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f 246 if(doMsg) {
247 switch ( QMessageBox::warning(this,tr("Delete"),tr("Really delete\n")+f
231 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 248 +" ?",tr("Yes"),tr("No"),0,0,1) ) {
232 case 0: { 249 case 1:
233 QString cmd="rm "+f; 250 return;
234 QFile file(f); 251 break;
235 file.remove();
236 // system( cmd.latin1());
237 populateLocalView();
238 }
239 break;
240 case 1:
241 // exit
242 break;
243 }; 252 };
253 }
254 QString cmd="rm "+f;
255 QFile file(f);
256 if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1)
257 file.remove();
258 // system( cmd.latin1());
244 } 259 }
245 } 260 }
246 } 261 }
262 populateLocalView();
247} 263}
248 264
249void AdvancedFm::remoteDelete() { 265void AdvancedFm::remoteDelete() {
250 QStringList curFileList = getPath(); 266 QStringList curFileList = getPath();
251 if( curFileList.count() > 0) { 267 bool doMsg=true;
252 QString myFile; 268 int count=curFileList.count();
253 269 if( count > 0) {
254 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 270 if(count > 1 ){
255 myFile = (*it); 271 QString msg;
256 if(myFile.find(" -> ",0,TRUE) != -1) 272 msg=tr("Really delete\n%1 files?").arg(count);
257 myFile = myFile.left(myFile.find(" -> ",0,TRUE)); 273 switch ( QMessageBox::warning(this,tr("Delete"),msg
258 QString f = currentRemoteDir.canonicalPath(); 274 ,tr("Yes"),tr("No"),0,0,1) ) {
259 if(f.right(1).find("/",0,TRUE) == -1) 275 case 0:
260 f+="/"; 276 doMsg=false;
261 f+=myFile; 277 break;
262 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { 278 case 1:
263 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ 279 return;
264 "\nand all it's contents ?", 280 break;
265 tr("Yes"),tr("No"),0,0,1) ) { 281 };
266 case 0: {
267 f=f.left(f.length()-1);
268 QString cmd="rm -rf "+f;
269 system( cmd.latin1());
270 populateRemoteView();
271 } 282 }
272 break;
273 case 1:
274 // exit
275 break;
276 };
277 283
278 } else { 284 QString myFile;
279 switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f 285
280 +" ?",tr("Yes"),tr("No"),0,0,1) ) { 286 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
281 case 0: { 287 myFile = (*it);
282 QString cmd="rm "+f; 288 if(myFile.find(" -> ",0,TRUE) != -1)
283 QFile file(f); 289 myFile = myFile.left(myFile.find(" -> ",0,TRUE));
284 file.remove(); 290 QString f = currentRemoteDir.canonicalPath();
285 // system( cmd.latin1()); 291 if(f.right(1).find("/",0,TRUE) == -1)
286 populateRemoteView(); 292 f+="/";
293 f+=myFile;
294 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
295 switch ( QMessageBox::warning(this,tr("Delete Directory"),tr("Really delete\n")+f+
296 "\nand all it's contents ?",
297 tr("Yes"),tr("No"),0,0,1) ) {
298 case 0: {
299 f=f.left(f.length()-1);
300 QString cmd="rm -rf "+f;
301 system( cmd.latin1());
302 populateRemoteView();
303 }
304 break;
305 case 1:
306 // exit
307 break;
308 };
309
310 } else {
311 if(doMsg) {
312 switch ( QMessageBox::warning(this,tr("Delete"),tr("Really delete\n")+f
313 +" ?",tr("Yes"),tr("No"),0,0,1) ) {
314 case 1:
315 return;
316 break;
317 };
318 }
319 QString cmd="rm "+f;
320 QFile file(f);
321 if(QFileInfo(myFile).fileName().find("../",0,TRUE)==-1)
322 file.remove();
323 // system( cmd.latin1());
324 }
287 } 325 }
288 break;
289 case 1:
290 // exit
291 break;
292 };
293 }
294 } 326 }
295 } 327 populateRemoteView();
296} 328}
297 329
298void AdvancedFm::localRename() { 330void AdvancedFm::localRename() {
@@ -409,12 +441,27 @@ void AdvancedFm::upDir() {
409void AdvancedFm::copy() { 441void AdvancedFm::copy() {
410 qApp->processEvents(); 442 qApp->processEvents();
411 QStringList curFileList = getPath(); 443 QStringList curFileList = getPath();
412 if( curFileList.count() > 0) { 444 bool doMsg=true;
445 int count=curFileList.count();
446 if( count > 0) {
447 if(count > 1 ){
448 QString msg;
449 msg=tr("Really copy\n%1 files?").arg(count);
450 switch ( QMessageBox::warning(this,tr("Delete"),msg
451 ,tr("Yes"),tr("No"),0,0,1) ) {
452 case 0:
453 doMsg=false;
454 break;
455 case 1:
456 return;
457 break;
458 };
459 }
460
413 QString curFile, item, destFile; 461 QString curFile, item, destFile;
414 if (TabWidget->getCurrentTab() == 0) { 462 if (TabWidget->getCurrentTab() == 0) {
415 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 463 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
416 item=(*it); 464 item=(*it);
417
418 if(item.find("->",0,TRUE)) //symlink 465 if(item.find("->",0,TRUE)) //symlink
419 item = item.left(item.find("->",0,TRUE)); 466 item = item.left(item.find("->",0,TRUE));
420 467
@@ -426,19 +473,19 @@ void AdvancedFm::copy() {
426 473
427 QFile f(destFile); 474 QFile f(destFile);
428 if( f.exists()) { 475 if( f.exists()) {
429 switch ( QMessageBox::warning(this,tr("Delete"), 476 if(doMsg) {
430 destFile+tr(" already exists\nDo you really want to delete it?"), 477 switch ( QMessageBox::warning(this,tr("File Exists!"),
431 tr("Yes"),tr("No"),0,0,1) ) { 478 item+tr("\nexists. Ok to overwrite?"),
432 case 0: 479 tr("Yes"),tr("No"),0,0,1) ) {
433 f.remove(); 480 case 1:
434 break; 481 return;
435 case 1: 482 break;
436 return; 483 };
437 break; 484 }
438 }; 485 f.remove();
439 } 486 }
440 if(!copyFile(destFile, curFile) ) { 487 if(!copyFile(destFile, curFile) ) {
441 QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); 488 QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile);
442 return; 489 return;
443 } 490 }
444 } 491 }
@@ -448,7 +495,6 @@ void AdvancedFm::copy() {
448 } else { 495 } else {
449 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 496 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
450 item= (*it); 497 item= (*it);
451
452 if(item.find("->",0,TRUE)) //symlink 498 if(item.find("->",0,TRUE)) //symlink
453 item = item.left(item.find("->",0,TRUE)); 499 item = item.left(item.find("->",0,TRUE));
454 500
@@ -460,16 +506,14 @@ void AdvancedFm::copy() {
460 506
461 QFile f(destFile); 507 QFile f(destFile);
462 if( f.exists()) { 508 if( f.exists()) {
463 switch ( QMessageBox::warning(this,tr("Delete"), 509 switch ( QMessageBox::warning(this,tr("File Exists!"),
464 destFile+tr(" already exists\nDo you really want to delete it?"), 510 item+tr("\nexists. Ok to overwrite?"),
465 tr("Yes"),tr("No"),0,0,1) ) { 511 tr("Yes"),tr("No"),0,0,1) ) {
466 case 0:
467 f.remove();
468 break;
469 case 1: 512 case 1:
470 return; 513 return;
471 break; 514 break;
472 }; 515 };
516 f.remove();
473 } 517 }
474 if(!copyFile(destFile, curFile) ) { 518 if(!copyFile(destFile, curFile) ) {
475 QMessageBox::message("AdvancedFm",tr("Could not copy\n") 519 QMessageBox::message("AdvancedFm",tr("Could not copy\n")
@@ -507,8 +551,8 @@ void AdvancedFm::copyAs() {
507 551
508 QFile f(destFile); 552 QFile f(destFile);
509 if( f.exists()) { 553 if( f.exists()) {
510 switch (QMessageBox::warning(this,tr("Delete"), 554 switch (QMessageBox::warning(this,tr("File Exists!"),
511 destFile+tr(" already exists\nDo you really want to delete it?"), 555 item+tr("\nexists. Ok to overwrite?"),
512 tr("Yes"),tr("No"),0,0,1) ) { 556 tr("Yes"),tr("No"),0,0,1) ) {
513 case 0: 557 case 0:
514 f.remove(); 558 f.remove();
@@ -546,8 +590,8 @@ void AdvancedFm::copyAs() {
546 590
547 QFile f( destFile); 591 QFile f( destFile);
548 if( f.exists()) { 592 if( f.exists()) {
549 switch ( QMessageBox::warning(this,tr("Delete"), 593 switch ( QMessageBox::warning(this,tr("File Exists!"),
550 destFile+tr(" already exists\nDo you really want to delete it?"), 594 item+tr("\nexists. Ok to overwrite?"),
551 tr("Yes"),tr("No"),0,0,1) ) { 595 tr("Yes"),tr("No"),0,0,1) ) {
552 case 0: 596 case 0:
553 f.remove(); 597 f.remove();
@@ -962,3 +1006,13 @@ void AdvancedFm::fileBeamFinished( Ir *) {
962 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 1006 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
963 1007
964} 1008}
1009
1010void AdvancedFm::selectAll() {
1011 if (TabWidget->getCurrentTab() == 0) {
1012 Local_View->selectAll(true);
1013 Local_View->setSelected( Local_View->firstChild(),false);
1014 } else {
1015 Remote_View->selectAll(true);
1016 Remote_View->setSelected( Remote_View->firstChild(),false);
1017 }
1018}