author | llornkcor <llornkcor> | 2002-12-16 04:14:46 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-12-16 04:14:46 (UTC) |
commit | cc6c77e7014a3056debd6963946265671d41517d (patch) (unidiff) | |
tree | 1b8f929dd83a8d64915b91ecb3052c19ff5ac0b5 | |
parent | b1880703eea8601e06cf3d3e8593b649cd1a485e (diff) | |
download | opie-cc6c77e7014a3056debd6963946265671d41517d.zip opie-cc6c77e7014a3056debd6963946265671d41517d.tar.gz opie-cc6c77e7014a3056debd6963946265671d41517d.tar.bz2 |
send as text the real filename is symlink
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.cpp | 8 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfm.h | 1 | ||||
-rw-r--r-- | noncore/apps/advancedfm/advancedfmMenu.cpp | 34 |
3 files changed, 30 insertions, 13 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp index 92804b2..c653b90 100644 --- a/noncore/apps/advancedfm/advancedfm.cpp +++ b/noncore/apps/advancedfm/advancedfm.cpp | |||
@@ -254,275 +254,277 @@ void AdvancedFm::populateRemoteView() { | |||
254 | if(isDir || fileL.find("/",0,TRUE) != -1) { | 254 | if(isDir || fileL.find("/",0,TRUE) != -1) { |
255 | if( !QDir( fi->filePath() ).isReadable()) | 255 | if( !QDir( fi->filePath() ).isReadable()) |
256 | pm = Resource::loadPixmap( "lockedfolder" ); | 256 | pm = Resource::loadPixmap( "lockedfolder" ); |
257 | else | 257 | else |
258 | pm= Resource::loadPixmap( "folder" ); | 258 | pm= Resource::loadPixmap( "folder" ); |
259 | } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) { | 259 | } else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) { |
260 | pm = Resource::loadPixmap( "exec"); | 260 | pm = Resource::loadPixmap( "exec"); |
261 | } else if( (fileInfo.permission( QFileInfo::ExeUser) | 261 | } else if( (fileInfo.permission( QFileInfo::ExeUser) |
262 | | fileInfo.permission( QFileInfo::ExeGroup) | 262 | | fileInfo.permission( QFileInfo::ExeGroup) |
263 | | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) { | 263 | | fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) { |
264 | pm = Resource::loadPixmap( "exec"); | 264 | pm = Resource::loadPixmap( "exec"); |
265 | } else if( !fi->isReadable() ) { | 265 | } else if( !fi->isReadable() ) { |
266 | pm = Resource::loadPixmap( "locked" ); | 266 | pm = Resource::loadPixmap( "locked" ); |
267 | } else { | 267 | } else { |
268 | MimeType mt(fi->filePath()); | 268 | MimeType mt(fi->filePath()); |
269 | pm=mt.pixmap(); //sets the correct pixmap for mimetype | 269 | pm=mt.pixmap(); //sets the correct pixmap for mimetype |
270 | if(pm.isNull()) | 270 | if(pm.isNull()) |
271 | pm = Resource::loadPixmap( "UnknownDocument-14" ); | 271 | pm = Resource::loadPixmap( "UnknownDocument-14" ); |
272 | } | 272 | } |
273 | if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) { | 273 | if( fi->isSymLink() && fileL.find("->",0,TRUE) != -1) { |
274 | // overlay link image | 274 | // overlay link image |
275 | pm= Resource::loadPixmap( "folder" ); | 275 | pm= Resource::loadPixmap( "folder" ); |
276 | QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); | 276 | QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); |
277 | QPainter painter( &pm ); | 277 | QPainter painter( &pm ); |
278 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); | 278 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); |
279 | pm.setMask( pm.createHeuristicMask( FALSE ) ); | 279 | pm.setMask( pm.createHeuristicMask( FALSE ) ); |
280 | } | 280 | } |
281 | item->setPixmap( 0, pm); | 281 | item->setPixmap( 0, pm); |
282 | } | 282 | } |
283 | isDir=FALSE; | 283 | isDir=FALSE; |
284 | ++it; | 284 | ++it; |
285 | } | 285 | } |
286 | 286 | ||
287 | if(currentRemoteDir.canonicalPath().find("dev",0,TRUE) != -1) { | 287 | if(currentRemoteDir.canonicalPath().find("dev",0,TRUE) != -1) { |
288 | struct stat buf; | 288 | struct stat buf; |
289 | DIR *dir; | 289 | DIR *dir; |
290 | struct dirent *mydirent; | 290 | struct dirent *mydirent; |
291 | if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL) | 291 | if((dir = opendir( currentRemoteDir.canonicalPath().latin1())) != NULL) |
292 | while ((mydirent = readdir(dir)) != NULL) { | 292 | while ((mydirent = readdir(dir)) != NULL) { |
293 | lstat( mydirent->d_name, &buf); | 293 | lstat( mydirent->d_name, &buf); |
294 | qDebug(mydirent->d_name); | 294 | qDebug(mydirent->d_name); |
295 | fileL.sprintf("%s", mydirent->d_name); | 295 | fileL.sprintf("%s", mydirent->d_name); |
296 | fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF); | 296 | fileS.sprintf("%d,%d", (int) (buf.st_dev>>8)&0xFF, (int) buf.st_dev &0xFF); |
297 | fileDate.sprintf("%s", ctime( &buf.st_mtime)); | 297 | fileDate.sprintf("%s", ctime( &buf.st_mtime)); |
298 | if( fileL.find(".") == -1 ){ | 298 | if( fileL.find(".") == -1 ){ |
299 | item= new QListViewItem( Remote_View, fileL, fileS, fileDate); | 299 | item= new QListViewItem( Remote_View, fileL, fileS, fileDate); |
300 | pm = Resource::loadPixmap( "UnknownDocument-14" ); | 300 | pm = Resource::loadPixmap( "UnknownDocument-14" ); |
301 | item->setPixmap( 0,pm); | 301 | item->setPixmap( 0,pm); |
302 | } | 302 | } |
303 | } | 303 | } |
304 | 304 | ||
305 | closedir(dir); | 305 | closedir(dir); |
306 | } | 306 | } |
307 | 307 | ||
308 | Remote_View->setSorting( 3,FALSE); | 308 | Remote_View->setSorting( 3,FALSE); |
309 | fillCombo( (const QString &) currentRemoteDir.canonicalPath() ); | 309 | fillCombo( (const QString &) currentRemoteDir.canonicalPath() ); |
310 | } | 310 | } |
311 | 311 | ||
312 | void AdvancedFm::localListClicked(QListViewItem *selectedItem) { | 312 | void AdvancedFm::localListClicked(QListViewItem *selectedItem) { |
313 | if(selectedItem) { | 313 | if(selectedItem) { |
314 | QString strItem=selectedItem->text(0); | 314 | QString strItem=selectedItem->text(0); |
315 | QString strSize=selectedItem->text(1); | 315 | QString strSize=selectedItem->text(1); |
316 | strSize=strSize.stripWhiteSpace(); | 316 | strSize=strSize.stripWhiteSpace(); |
317 | if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink | 317 | if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink |
318 | QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); | 318 | QString strItem2 = dealWithSymName((const QString&)strItem); |
319 | // QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); | ||
319 | if(QDir(strItem2).exists() ) { | 320 | if(QDir(strItem2).exists() ) { |
320 | currentDir.cd(strItem2, TRUE); | 321 | currentDir.cd(strItem2, TRUE); |
321 | populateLocalView(); | 322 | populateLocalView(); |
322 | 323 | ||
323 | } | 324 | } |
324 | } else { // not a symlink | 325 | } else { // not a symlink |
325 | if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { | 326 | if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { |
326 | if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { | 327 | if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { |
327 | strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); | 328 | strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); |
328 | currentDir.cd(strItem,FALSE); | 329 | currentDir.cd(strItem,FALSE); |
329 | populateLocalView(); | 330 | populateLocalView(); |
330 | Local_View->ensureItemVisible(Local_View->firstChild()); | 331 | Local_View->ensureItemVisible(Local_View->firstChild()); |
331 | 332 | ||
332 | } else { | 333 | } else { |
333 | currentDir.cdUp(); | 334 | currentDir.cdUp(); |
334 | populateLocalView(); | 335 | populateLocalView(); |
335 | Local_View->ensureItemVisible(Local_View->firstChild()); | 336 | Local_View->ensureItemVisible(Local_View->firstChild()); |
336 | } | 337 | } |
337 | if(QDir(strItem).exists()){ | 338 | if(QDir(strItem).exists()){ |
338 | currentDir.cd(strItem, TRUE); | 339 | currentDir.cd(strItem, TRUE); |
339 | Local_View->ensureItemVisible(Local_View->firstChild()); | 340 | Local_View->ensureItemVisible(Local_View->firstChild()); |
340 | populateLocalView(); | 341 | populateLocalView(); |
341 | } | 342 | } |
342 | } else { | 343 | } else { |
343 | strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); | 344 | strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); |
344 | if( QFile::exists(strItem ) ) { | 345 | if( QFile::exists(strItem ) ) { |
345 | // qDebug("clicked item "+strItem); | 346 | // qDebug("clicked item "+strItem); |
346 | // DocLnk doc( strItem, FALSE ); | 347 | // DocLnk doc( strItem, FALSE ); |
347 | // doc.execute(); | 348 | // doc.execute(); |
348 | // Local_View->clearSelection(); | 349 | // Local_View->clearSelection(); |
349 | } | 350 | } |
350 | } //end not symlink | 351 | } //end not symlink |
351 | chdir(strItem.latin1()); | 352 | chdir(strItem.latin1()); |
352 | } | 353 | } |
353 | 354 | ||
354 | } | 355 | } |
355 | } | 356 | } |
356 | 357 | ||
357 | void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) { | 358 | void AdvancedFm::remoteListClicked(QListViewItem *selectedItem) { |
358 | 359 | ||
359 | if(selectedItem) { | 360 | if(selectedItem) { |
360 | QString strItem=selectedItem->text(0); | 361 | QString strItem=selectedItem->text(0); |
361 | QString strSize=selectedItem->text(1); | 362 | QString strSize=selectedItem->text(1); |
362 | strSize=strSize.stripWhiteSpace(); | 363 | strSize=strSize.stripWhiteSpace(); |
363 | if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink | 364 | if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink |
364 | QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); | 365 | QString strItem2 = dealWithSymName((const QString&)strItem); |
366 | // QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); | ||
365 | currentRemoteDir.cd(strItem2, TRUE); | 367 | currentRemoteDir.cd(strItem2, TRUE); |
366 | populateRemoteView(); | 368 | populateRemoteView(); |
367 | } else { // not a symlink | 369 | } else { // not a symlink |
368 | if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { | 370 | if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { |
369 | if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) { | 371 | if(QDir(QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem)).exists() ) { |
370 | strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); | 372 | strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); |
371 | currentRemoteDir.cd(strItem,FALSE); | 373 | currentRemoteDir.cd(strItem,FALSE); |
372 | populateRemoteView(); | 374 | populateRemoteView(); |
373 | Remote_View->ensureItemVisible(Remote_View->firstChild()); | 375 | Remote_View->ensureItemVisible(Remote_View->firstChild()); |
374 | } else { | 376 | } else { |
375 | currentRemoteDir.cdUp(); | 377 | currentRemoteDir.cdUp(); |
376 | populateRemoteView(); | 378 | populateRemoteView(); |
377 | Remote_View->ensureItemVisible(Remote_View->firstChild()); | 379 | Remote_View->ensureItemVisible(Remote_View->firstChild()); |
378 | } | 380 | } |
379 | if(QDir(strItem).exists()){ | 381 | if(QDir(strItem).exists()){ |
380 | currentRemoteDir.cd(strItem, TRUE); | 382 | currentRemoteDir.cd(strItem, TRUE); |
381 | populateRemoteView(); | 383 | populateRemoteView(); |
382 | Remote_View->ensureItemVisible(Remote_View->firstChild()); | 384 | Remote_View->ensureItemVisible(Remote_View->firstChild()); |
383 | } | 385 | } |
384 | } else { | 386 | } else { |
385 | strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); | 387 | strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); |
386 | if( QFile::exists(strItem ) ) { | 388 | if( QFile::exists(strItem ) ) { |
387 | // qDebug("clicked item "+strItem); | 389 | // qDebug("clicked item "+strItem); |
388 | // DocLnk doc( strItem, FALSE ); | 390 | // DocLnk doc( strItem, FALSE ); |
389 | // doc.execute(); | 391 | // doc.execute(); |
390 | // Remote_View->clearSelection(); | 392 | // Remote_View->clearSelection(); |
391 | } | 393 | } |
392 | } //end not symlink | 394 | } //end not symlink |
393 | chdir(strItem.latin1()); | 395 | chdir(strItem.latin1()); |
394 | } | 396 | } |
395 | } | 397 | } |
396 | } | 398 | } |
397 | 399 | ||
398 | 400 | ||
399 | void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int ) { | 401 | void AdvancedFm::localListPressed( int mouse, QListViewItem *, const QPoint& , int ) { |
400 | // qDebug("list pressed"); | 402 | // qDebug("list pressed"); |
401 | switch (mouse) { | 403 | switch (mouse) { |
402 | case 1: | 404 | case 1: |
403 | break; | 405 | break; |
404 | case 2: | 406 | case 2: |
405 | menuTimer.start( 500, TRUE ); | 407 | menuTimer.start( 500, TRUE ); |
406 | qDebug("Start menu timer\n"); | 408 | qDebug("Start menu timer\n"); |
407 | break; | 409 | break; |
408 | }; | 410 | }; |
409 | } | 411 | } |
410 | 412 | ||
411 | void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) { | 413 | void AdvancedFm::remoteListPressed( int mouse, QListViewItem*, const QPoint&, int ) { |
412 | 414 | ||
413 | switch (mouse) { | 415 | switch (mouse) { |
414 | case 1: | 416 | case 1: |
415 | break; | 417 | break; |
416 | case 2: | 418 | case 2: |
417 | menuTimer.start( 500, TRUE ); | 419 | menuTimer.start( 500, TRUE ); |
418 | qDebug("Start menu timer"); | 420 | qDebug("Start menu timer"); |
419 | break; | 421 | break; |
420 | }; | 422 | }; |
421 | } | 423 | } |
422 | 424 | ||
423 | 425 | ||
424 | void AdvancedFm::switchToLocalTab() { | 426 | void AdvancedFm::switchToLocalTab() { |
425 | TabWidget->setCurrentTab(0); | 427 | TabWidget->setCurrentTab(0); |
426 | Local_View->setFocus(); | 428 | Local_View->setFocus(); |
427 | } | 429 | } |
428 | 430 | ||
429 | void AdvancedFm::switchToRemoteTab() { | 431 | void AdvancedFm::switchToRemoteTab() { |
430 | TabWidget->setCurrentTab(1); | 432 | TabWidget->setCurrentTab(1); |
431 | Remote_View->setFocus(); | 433 | Remote_View->setFocus(); |
432 | } | 434 | } |
433 | 435 | ||
434 | void AdvancedFm::readConfig() { | 436 | void AdvancedFm::readConfig() { |
435 | Config cfg("AdvancedFm"); | 437 | Config cfg("AdvancedFm"); |
436 | } | 438 | } |
437 | 439 | ||
438 | void AdvancedFm::writeConfig() { | 440 | void AdvancedFm::writeConfig() { |
439 | Config cfg("AdvancedFm"); | 441 | Config cfg("AdvancedFm"); |
440 | } | 442 | } |
441 | 443 | ||
442 | void AdvancedFm::currentPathComboChanged() { | 444 | void AdvancedFm::currentPathComboChanged() { |
443 | if (TabWidget->getCurrentTab() == 0) { | 445 | if (TabWidget->getCurrentTab() == 0) { |
444 | // if (TabWidget->currentPageIndex() == 0) { | 446 | // if (TabWidget->currentPageIndex() == 0) { |
445 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { | 447 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { |
446 | currentDir.setPath( currentPathCombo->lineEdit()->text() ); | 448 | currentDir.setPath( currentPathCombo->lineEdit()->text() ); |
447 | populateLocalView(); | 449 | populateLocalView(); |
448 | } else { | 450 | } else { |
449 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); | 451 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); |
450 | } | 452 | } |
451 | } | 453 | } |
452 | if (TabWidget->getCurrentTab() == 0) { | 454 | if (TabWidget->getCurrentTab() == 0) { |
453 | // if (TabWidget->currentPageIndex() == 0) { | 455 | // if (TabWidget->currentPageIndex() == 0) { |
454 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { | 456 | if(QDir( currentPathCombo->lineEdit()->text()).exists()) { |
455 | currentRemoteDir.setPath( currentPathCombo->lineEdit()->text() ); | 457 | currentRemoteDir.setPath( currentPathCombo->lineEdit()->text() ); |
456 | populateRemoteView(); | 458 | populateRemoteView(); |
457 | } else { | 459 | } else { |
458 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); | 460 | QMessageBox::message(tr("Note"),tr("That directory does not exist")); |
459 | } | 461 | } |
460 | } | 462 | } |
461 | } | 463 | } |
462 | 464 | ||
463 | void AdvancedFm::fillCombo(const QString ¤tPath) { | 465 | void AdvancedFm::fillCombo(const QString ¤tPath) { |
464 | 466 | qDebug("%d",TabWidget->getCurrentTab()); | |
465 | if (TabWidget->getCurrentTab() == 0) { | 467 | if (TabWidget->getCurrentTab() == 0) { |
466 | // if (TabWidget->currentPageIndex() == 0) { | 468 | // if (TabWidget->currentPageIndex() == 0) { |
467 | currentPathCombo->lineEdit()->setText( currentPath); | 469 | currentPathCombo->lineEdit()->setText( currentPath); |
468 | if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) { | 470 | if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) { |
469 | currentPathCombo->clear(); | 471 | currentPathCombo->clear(); |
470 | localDirPathStringList.prepend( currentPath ); | 472 | localDirPathStringList.prepend( currentPath ); |
471 | currentPathCombo->insertStringList( localDirPathStringList,-1); | 473 | currentPathCombo->insertStringList( localDirPathStringList,-1); |
472 | } | 474 | } |
473 | } else { | 475 | } else { |
474 | currentPathCombo->lineEdit()->setText( currentPath); | 476 | currentPathCombo->lineEdit()->setText( currentPath); |
475 | if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { | 477 | if( remoteDirPathStringList.grep( currentPath,TRUE).isEmpty() ) { |
476 | currentPathCombo->clear(); | 478 | currentPathCombo->clear(); |
477 | remoteDirPathStringList.prepend( currentPath ); | 479 | remoteDirPathStringList.prepend( currentPath ); |
478 | currentPathCombo->insertStringList( remoteDirPathStringList,-1); | 480 | currentPathCombo->insertStringList( remoteDirPathStringList,-1); |
479 | } | 481 | } |
480 | } | 482 | } |
481 | } | 483 | } |
482 | 484 | ||
483 | void AdvancedFm::currentPathComboActivated(const QString & currentPath) { | 485 | void AdvancedFm::currentPathComboActivated(const QString & currentPath) { |
484 | if (TabWidget->getCurrentTab() == 0) { | 486 | if (TabWidget->getCurrentTab() == 0) { |
485 | // if (TabWidget->currentPageIndex() == 0) { | 487 | // if (TabWidget->currentPageIndex() == 0) { |
486 | chdir( currentPath.latin1() ); | 488 | chdir( currentPath.latin1() ); |
487 | currentDir.cd( currentPath, TRUE); | 489 | currentDir.cd( currentPath, TRUE); |
488 | populateLocalView(); | 490 | populateLocalView(); |
489 | update(); | 491 | update(); |
490 | } else { | 492 | } else { |
491 | chdir( currentPath.latin1() ); | 493 | chdir( currentPath.latin1() ); |
492 | currentRemoteDir.cd( currentPath, TRUE); | 494 | currentRemoteDir.cd( currentPath, TRUE); |
493 | populateRemoteView(); | 495 | populateRemoteView(); |
494 | update(); | 496 | update(); |
495 | } | 497 | } |
496 | } | 498 | } |
497 | 499 | ||
498 | QStringList AdvancedFm::getPath() { | 500 | QStringList AdvancedFm::getPath() { |
499 | QStringList strList; | 501 | QStringList strList; |
500 | if (TabWidget->getCurrentTab() == 0) { | 502 | if (TabWidget->getCurrentTab() == 0) { |
501 | // if (TabWidget->currentPageIndex() == 0) { | 503 | // if (TabWidget->currentPageIndex() == 0) { |
502 | QList<QListViewItem> * getSelectedItems( QListView * Local_View ); | 504 | QList<QListViewItem> * getSelectedItems( QListView * Local_View ); |
503 | QListViewItemIterator it( Local_View ); | 505 | QListViewItemIterator it( Local_View ); |
504 | for ( ; it.current(); ++it ) { | 506 | for ( ; it.current(); ++it ) { |
505 | if ( it.current()->isSelected() ) { | 507 | if ( it.current()->isSelected() ) { |
506 | strList << it.current()->text(0); | 508 | strList << it.current()->text(0); |
507 | qDebug(it.current()->text(0)); | 509 | qDebug(it.current()->text(0)); |
508 | } | 510 | } |
509 | } | 511 | } |
510 | return strList; | 512 | return strList; |
511 | } else { | 513 | } else { |
512 | QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); | 514 | QList<QListViewItem> * getSelectedItems( QListView * Remote_View ); |
513 | QListViewItemIterator it( Remote_View ); | 515 | QListViewItemIterator it( Remote_View ); |
514 | for ( ; it.current(); ++it ) { | 516 | for ( ; it.current(); ++it ) { |
515 | if ( it.current()->isSelected() ) { | 517 | if ( it.current()->isSelected() ) { |
516 | strList << it.current()->text(0); | 518 | strList << it.current()->text(0); |
517 | qDebug(it.current()->text(0)); | 519 | qDebug(it.current()->text(0)); |
518 | } | 520 | } |
519 | } | 521 | } |
520 | return strList; | 522 | return strList; |
521 | } | 523 | } |
522 | return ""; | 524 | return ""; |
523 | } | 525 | } |
524 | 526 | ||
525 | void AdvancedFm::homeButtonPushed() { | 527 | void AdvancedFm::homeButtonPushed() { |
526 | QString current = QDir::homeDirPath(); | 528 | QString current = QDir::homeDirPath(); |
527 | chdir( current.latin1() ); | 529 | chdir( current.latin1() ); |
528 | if (TabWidget->getCurrentTab() == 0) { | 530 | if (TabWidget->getCurrentTab() == 0) { |
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h index 9948255..7ced056 100644 --- a/noncore/apps/advancedfm/advancedfm.h +++ b/noncore/apps/advancedfm/advancedfm.h | |||
@@ -63,95 +63,96 @@ public: | |||
63 | QLineEdit *currentPathEdit; | 63 | QLineEdit *currentPathEdit; |
64 | QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu; | 64 | QPopupMenu *fileMenu, *localMenu, *remoteMenu, *viewMenu; |
65 | QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; | 65 | QToolButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; |
66 | // QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; | 66 | // QPushButton *homeButton, *docButton, *cdUpButton, *sdButton, *cfButton, *qpeDirButton; |
67 | QDir currentDir, currentRemoteDir; | 67 | QDir currentDir, currentRemoteDir; |
68 | QComboBox *currentPathCombo; | 68 | QComboBox *currentPathCombo; |
69 | QString filterStr; | 69 | QString filterStr; |
70 | QListViewItem * item; | 70 | QListViewItem * item; |
71 | bool b; | 71 | bool b; |
72 | QStringList fileSystemTypeList, fsList; | 72 | QStringList fileSystemTypeList, fsList; |
73 | int currentServerConfig; | 73 | int currentServerConfig; |
74 | protected slots: | 74 | protected slots: |
75 | void selectAll(); | 75 | void selectAll(); |
76 | void addToDocs(); | 76 | void addToDocs(); |
77 | void doLocalCd(); | 77 | void doLocalCd(); |
78 | void doRemoteCd(); | 78 | void doRemoteCd(); |
79 | // void copy(); | 79 | // void copy(); |
80 | void mkDir(); | 80 | void mkDir(); |
81 | void del(); | 81 | void del(); |
82 | void rn(); | 82 | void rn(); |
83 | void populateLocalView(); | 83 | void populateLocalView(); |
84 | void populateRemoteView(); | 84 | void populateRemoteView(); |
85 | void showHidden(); | 85 | void showHidden(); |
86 | void showMenuHidden(); | 86 | void showMenuHidden(); |
87 | void showRemoteHidden(); | 87 | void showRemoteHidden(); |
88 | void writeConfig(); | 88 | void writeConfig(); |
89 | void readConfig(); | 89 | void readConfig(); |
90 | void localListClicked(QListViewItem *); | 90 | void localListClicked(QListViewItem *); |
91 | void remoteListClicked(QListViewItem *); | 91 | void remoteListClicked(QListViewItem *); |
92 | void localListPressed( int, QListViewItem *, const QPoint&, int); | 92 | void localListPressed( int, QListViewItem *, const QPoint&, int); |
93 | void remoteListPressed( int, QListViewItem *, const QPoint&, int); | 93 | void remoteListPressed( int, QListViewItem *, const QPoint&, int); |
94 | void localMakDir(); | 94 | void localMakDir(); |
95 | void localDelete(); | 95 | void localDelete(); |
96 | void remoteMakDir(); | 96 | void remoteMakDir(); |
97 | void remoteDelete(); | 97 | void remoteDelete(); |
98 | /* bool remoteDirList(const QString &); */ | 98 | /* bool remoteDirList(const QString &); */ |
99 | /* bool remoteChDir(const QString &); */ | 99 | /* bool remoteChDir(const QString &); */ |
100 | void tabChanged(QWidget*); | 100 | void tabChanged(QWidget*); |
101 | void cleanUp(); | 101 | void cleanUp(); |
102 | void remoteRename(); | 102 | void remoteRename(); |
103 | void localRename(); | 103 | void localRename(); |
104 | void runThis(); | 104 | void runThis(); |
105 | void runText(); | 105 | void runText(); |
106 | void filePerms(); | 106 | void filePerms(); |
107 | void doProperties(); | 107 | void doProperties(); |
108 | void runCommand(); | 108 | void runCommand(); |
109 | void runCommandStd(); | 109 | void runCommandStd(); |
110 | QStringList getPath(); | 110 | QStringList getPath(); |
111 | void mkSym(); | 111 | void mkSym(); |
112 | void switchToLocalTab(); | 112 | void switchToLocalTab(); |
113 | void switchToRemoteTab(); | 113 | void switchToRemoteTab(); |
114 | 114 | ||
115 | protected: | 115 | protected: |
116 | bool zaurusDevice; | 116 | bool zaurusDevice; |
117 | QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; | 117 | QGridLayout *tabLayout, *tabLayout_2, *tabLayout_3; |
118 | QStringList remoteDirPathStringList, localDirPathStringList; | 118 | QStringList remoteDirPathStringList, localDirPathStringList; |
119 | 119 | ||
120 | void init(); | 120 | void init(); |
121 | void initConnections(); | 121 | void initConnections(); |
122 | void keyReleaseEvent( QKeyEvent *); | 122 | void keyReleaseEvent( QKeyEvent *); |
123 | QString getFileSystemType(const QString &); | 123 | QString getFileSystemType(const QString &); |
124 | QString getDiskSpace(const QString &); | 124 | QString getDiskSpace(const QString &); |
125 | void parsetab(const QString &fileName); | 125 | void parsetab(const QString &fileName); |
126 | QString checkDiskSpace(const QString &); | 126 | QString checkDiskSpace(const QString &); |
127 | QString dealWithSymName(const QString &); | ||
127 | 128 | ||
128 | protected slots: | 129 | protected slots: |
129 | void showFileMenu(); | 130 | void showFileMenu(); |
130 | void cancelMenuTimer(); | 131 | void cancelMenuTimer(); |
131 | void homeButtonPushed(); | 132 | void homeButtonPushed(); |
132 | void docButtonPushed(); | 133 | void docButtonPushed(); |
133 | void SDButtonPushed(); | 134 | void SDButtonPushed(); |
134 | void CFButtonPushed(); | 135 | void CFButtonPushed(); |
135 | void QPEButtonPushed(); | 136 | void QPEButtonPushed(); |
136 | void upDir(); | 137 | void upDir(); |
137 | void currentPathComboChanged(); | 138 | void currentPathComboChanged(); |
138 | void copy(); | 139 | void copy(); |
139 | void copyAs(); | 140 | void copyAs(); |
140 | void copySameDir(); | 141 | void copySameDir(); |
141 | void currentPathComboActivated(const QString &); | 142 | void currentPathComboActivated(const QString &); |
142 | void fillCombo(const QString &); | 143 | void fillCombo(const QString &); |
143 | bool copyFile( const QString & , const QString & ); | 144 | bool copyFile( const QString & , const QString & ); |
144 | void move(); | 145 | void move(); |
145 | void fileStatus(); | 146 | void fileStatus(); |
146 | void doAbout(); | 147 | void doAbout(); |
147 | void doBeam(); | 148 | void doBeam(); |
148 | void fileBeamFinished( Ir *); | 149 | void fileBeamFinished( Ir *); |
149 | 150 | ||
150 | private: | 151 | private: |
151 | QTimer menuTimer; | 152 | QTimer menuTimer; |
152 | void startProcess(const QString &); | 153 | void startProcess(const QString &); |
153 | private slots: | 154 | private slots: |
154 | void processEnded(); | 155 | void processEnded(); |
155 | }; | 156 | }; |
156 | 157 | ||
157 | #endif // ADVANCEDFM_H | 158 | #endif // ADVANCEDFM_H |
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp index 0a9f921..f77554a 100644 --- a/noncore/apps/advancedfm/advancedfmMenu.cpp +++ b/noncore/apps/advancedfm/advancedfmMenu.cpp | |||
@@ -42,193 +42,207 @@ | |||
42 | 42 | ||
43 | #include <stdlib.h> | 43 | #include <stdlib.h> |
44 | #include <unistd.h> | 44 | #include <unistd.h> |
45 | #include <sys/stat.h> | 45 | #include <sys/stat.h> |
46 | #include <dirent.h> | 46 | #include <dirent.h> |
47 | 47 | ||
48 | 48 | ||
49 | void AdvancedFm::doLocalCd() { | 49 | void AdvancedFm::doLocalCd() { |
50 | localListClicked( Local_View->currentItem()); | 50 | localListClicked( Local_View->currentItem()); |
51 | } | 51 | } |
52 | 52 | ||
53 | void AdvancedFm::doRemoteCd() { | 53 | void AdvancedFm::doRemoteCd() { |
54 | localListClicked( Remote_View->currentItem()); | 54 | localListClicked( Remote_View->currentItem()); |
55 | } | 55 | } |
56 | 56 | ||
57 | void AdvancedFm::showMenuHidden() { | 57 | void AdvancedFm::showMenuHidden() { |
58 | if (b) { | 58 | if (b) { |
59 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 59 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
60 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 60 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
61 | fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); | 61 | fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); |
62 | // b=FALSE; | 62 | // b=FALSE; |
63 | 63 | ||
64 | } else { | 64 | } else { |
65 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 65 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
66 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 66 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
67 | fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); | 67 | fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); |
68 | // b=TRUE; | 68 | // b=TRUE; |
69 | } | 69 | } |
70 | populateLocalView(); | 70 | populateLocalView(); |
71 | populateRemoteView(); | 71 | populateRemoteView(); |
72 | // if(TabWidget->getCurrentTab() == 0) | 72 | // if(TabWidget->getCurrentTab() == 0) |
73 | // showHidden(); | 73 | // showHidden(); |
74 | // else | 74 | // else |
75 | // showRemoteHidden(); | 75 | // showRemoteHidden(); |
76 | // if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true"); | 76 | // if(b) qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<< true"); |
77 | if(b) b = false; else b = true; | 77 | if(b) b = false; else b = true; |
78 | } | 78 | } |
79 | 79 | ||
80 | void AdvancedFm::showHidden() { | 80 | void AdvancedFm::showHidden() { |
81 | if (b) { | 81 | if (b) { |
82 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 82 | currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
83 | // fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); | 83 | // fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); |
84 | // b=FALSE; | 84 | // b=FALSE; |
85 | 85 | ||
86 | } else { | 86 | } else { |
87 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 87 | currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
88 | // fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); | 88 | // fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); |
89 | // b=TRUE; | 89 | // b=TRUE; |
90 | } | 90 | } |
91 | populateLocalView(); | 91 | populateLocalView(); |
92 | } | 92 | } |
93 | 93 | ||
94 | void AdvancedFm::showRemoteHidden() { | 94 | void AdvancedFm::showRemoteHidden() { |
95 | if (b) { | 95 | if (b) { |
96 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); | 96 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); |
97 | // b=TRUE; | 97 | // b=TRUE; |
98 | 98 | ||
99 | } else { | 99 | } else { |
100 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); | 100 | currentRemoteDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); |
101 | // b=FALSE; | 101 | // b=FALSE; |
102 | } | 102 | } |
103 | populateRemoteView(); | 103 | populateRemoteView(); |
104 | } | 104 | } |
105 | 105 | ||
106 | QString AdvancedFm::dealWithSymName(const QString &fileName) { | ||
107 | QString strItem = fileName; | ||
108 | return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); | ||
109 | } | ||
110 | |||
106 | void AdvancedFm::runThis() { | 111 | void AdvancedFm::runThis() { |
107 | QString fs; | 112 | QString fs; |
108 | if (TabWidget->getCurrentTab() == 0) { | 113 | if (TabWidget->getCurrentTab() == 0) { |
109 | QString curFile = Local_View->currentItem()->text(0); | 114 | QString curFile = Local_View->currentItem()->text(0); |
115 | if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink | ||
116 | curFile = dealWithSymName((const QString&)curFile); | ||
117 | |||
110 | if(curFile != "../") { | 118 | if(curFile != "../") { |
111 | 119 | ||
112 | fs= getFileSystemType((const QString &) currentDir.canonicalPath()); | 120 | fs = getFileSystemType((const QString &) currentDir.canonicalPath()); |
113 | QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); | 121 | QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile); |
114 | qDebug( fileInfo.owner()); | 122 | qDebug( fileInfo.owner()); |
115 | if( (fileInfo.permission( QFileInfo::ExeUser) | 123 | if( (fileInfo.permission( QFileInfo::ExeUser) |
116 | | fileInfo.permission( QFileInfo::ExeGroup) | 124 | | fileInfo.permission( QFileInfo::ExeGroup) |
117 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { | 125 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { |
118 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { | 126 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { |
119 | QCopEnvelope e("QPE/System", "execute(QString)" ); | 127 | QCopEnvelope e("QPE/System", "execute(QString)" ); |
120 | e << curFile; | 128 | e << curFile; |
121 | } else { | 129 | } else { |
122 | curFile = currentDir.canonicalPath()+"/"+curFile; | 130 | curFile = currentDir.canonicalPath()+"/"+curFile; |
123 | DocLnk nf(curFile); | 131 | DocLnk nf(curFile); |
124 | QString execStr = nf.exec(); | 132 | QString execStr = nf.exec(); |
125 | qDebug( execStr); | 133 | qDebug( execStr); |
126 | if( execStr.isEmpty() ) { | 134 | if( execStr.isEmpty() ) { |
127 | } else { | 135 | } else { |
128 | nf.execute(); | 136 | nf.execute(); |
129 | } | 137 | } |
130 | } | 138 | } |
131 | } | 139 | } |
132 | } else { | 140 | } else { |
133 | QString curFile = Remote_View->currentItem()->text(0); | 141 | QString curFile = Remote_View->currentItem()->text(0); |
134 | if(curFile != "../") { | 142 | if(curFile != "../") { |
143 | if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink | ||
144 | curFile = dealWithSymName((const QString&)curFile); | ||
135 | 145 | ||
136 | fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); | 146 | fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath()); |
137 | qDebug("Filesystemtype is "+fs); | 147 | qDebug("Filesystemtype is "+fs); |
138 | QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); | 148 | QFileInfo fileInfo( currentRemoteDir.canonicalPath()+"/"+curFile); |
139 | if( (fileInfo.permission( QFileInfo::ExeUser) | 149 | if( (fileInfo.permission( QFileInfo::ExeUser) |
140 | | fileInfo.permission( QFileInfo::ExeGroup) | 150 | | fileInfo.permission( QFileInfo::ExeGroup) |
141 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { | 151 | | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { |
142 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { | 152 | | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { |
143 | QCopEnvelope e("QPE/System", "execute(QString)" ); | 153 | QCopEnvelope e("QPE/System", "execute(QString)" ); |
144 | e << curFile; | 154 | e << curFile; |
145 | } else { | 155 | } else { |
146 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; | 156 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; |
147 | DocLnk nf(curFile); | 157 | DocLnk nf(curFile); |
148 | QString execStr = nf.exec(); | 158 | QString execStr = nf.exec(); |
149 | qDebug(execStr); | 159 | qDebug(execStr); |
150 | if( execStr.isEmpty() ) { | 160 | if( execStr.isEmpty() ) { |
151 | } else { | 161 | } else { |
152 | nf.execute(); | 162 | nf.execute(); |
153 | } | 163 | } |
154 | } | 164 | } |
155 | } | 165 | } |
156 | } | 166 | } |
157 | } | 167 | } |
158 | 168 | ||
159 | void AdvancedFm::runText() { | 169 | void AdvancedFm::runText() { |
160 | if (TabWidget->getCurrentTab() == 0) { | 170 | if (TabWidget->getCurrentTab() == 0) { |
161 | QString curFile = Local_View->currentItem()->text(0); | 171 | QString curFile = Local_View->currentItem()->text(0); |
162 | if(curFile != "../") { | 172 | if(curFile != "../") { |
173 | if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink | ||
174 | curFile = dealWithSymName((const QString&)curFile); | ||
163 | curFile = currentDir.canonicalPath()+"/"+curFile; | 175 | curFile = currentDir.canonicalPath()+"/"+curFile; |
164 | QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); | 176 | QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); |
165 | e << curFile; | 177 | e << curFile; |
166 | } | 178 | } |
167 | } else { | 179 | } else { |
168 | QString curFile = Remote_View->currentItem()->text(0); | 180 | QString curFile = Remote_View->currentItem()->text(0); |
169 | if(curFile != "../") { | 181 | if(curFile != "../") { |
170 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; | 182 | curFile = currentRemoteDir.canonicalPath()+"/"+curFile; |
183 | if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink | ||
184 | curFile = dealWithSymName((const QString&)curFile); | ||
171 | DocLnk nf(curFile); | 185 | DocLnk nf(curFile); |
172 | QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); | 186 | QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); |
173 | e << curFile; | 187 | e << curFile; |
174 | } | 188 | } |
175 | } | 189 | } |
176 | } | 190 | } |
177 | 191 | ||
178 | void AdvancedFm::localMakDir() { | 192 | void AdvancedFm::localMakDir() { |
179 | InputDialog *fileDlg; | 193 | InputDialog *fileDlg; |
180 | fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); | 194 | fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); |
181 | fileDlg->exec(); | 195 | fileDlg->exec(); |
182 | if( fileDlg->result() == 1 ) { | 196 | if( fileDlg->result() == 1 ) { |
183 | QString filename = fileDlg->LineEdit1->text(); | 197 | QString filename = fileDlg->LineEdit1->text(); |
184 | currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); | 198 | currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); |
185 | } | 199 | } |
186 | populateLocalView(); | 200 | populateLocalView(); |
187 | } | 201 | } |
188 | 202 | ||
189 | void AdvancedFm::remoteMakDir() { | 203 | void AdvancedFm::remoteMakDir() { |
190 | InputDialog *fileDlg; | 204 | InputDialog *fileDlg; |
191 | fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); | 205 | fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); |
192 | fileDlg->exec(); | 206 | fileDlg->exec(); |
193 | if( fileDlg->result() == 1 ) { | 207 | if( fileDlg->result() == 1 ) { |
194 | QString filename = fileDlg->LineEdit1->text(); | 208 | QString filename = fileDlg->LineEdit1->text(); |
195 | currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename); | 209 | currentRemoteDir.mkdir( currentRemoteDir.canonicalPath()+"/"+filename); |
196 | } | 210 | } |
197 | populateRemoteView(); | 211 | populateRemoteView(); |
198 | } | 212 | } |
199 | 213 | ||
200 | void AdvancedFm::localDelete() { | 214 | void AdvancedFm::localDelete() { |
201 | QStringList curFileList = getPath(); | 215 | QStringList curFileList = getPath(); |
202 | bool doMsg=true; | 216 | bool doMsg=true; |
203 | int count=curFileList.count(); | 217 | int count=curFileList.count(); |
204 | if( count > 0) { | 218 | if( count > 0) { |
205 | if(count > 1 ){ | 219 | if(count > 1 ){ |
206 | QString msg; | 220 | QString msg; |
207 | msg=tr("Really delete\n%1 files?").arg(count); | 221 | msg=tr("Really delete\n%1 files?").arg(count); |
208 | switch ( QMessageBox::warning(this,tr("Delete"),msg | 222 | switch ( QMessageBox::warning(this,tr("Delete"),msg |
209 | ,tr("Yes"),tr("No"),0,0,1) ) { | 223 | ,tr("Yes"),tr("No"),0,0,1) ) { |
210 | case 0: | 224 | case 0: |
211 | doMsg=false; | 225 | doMsg=false; |
212 | break; | 226 | break; |
213 | case 1: | 227 | case 1: |
214 | return; | 228 | return; |
215 | break; | 229 | break; |
216 | }; | 230 | }; |
217 | } | 231 | } |
218 | 232 | ||
219 | QString myFile; | 233 | QString myFile; |
220 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 234 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
221 | myFile = (*it); | 235 | myFile = (*it); |
222 | if( myFile.find(" -> ",0,TRUE) != -1) | 236 | if( myFile.find(" -> ",0,TRUE) != -1) |
223 | myFile = myFile.left( myFile.find(" -> ",0,TRUE)); | 237 | myFile = myFile.left( myFile.find(" -> ",0,TRUE)); |
224 | 238 | ||
225 | QString f = currentDir.canonicalPath(); | 239 | QString f = currentDir.canonicalPath(); |
226 | if(f.right(1).find("/",0,TRUE) == -1) | 240 | if(f.right(1).find("/",0,TRUE) == -1) |
227 | f+="/"; | 241 | f+="/"; |
228 | f+=myFile; | 242 | f+=myFile; |
229 | if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { | 243 | if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { |
230 | switch ( QMessageBox::warning(this,tr("Delete Directory?"),tr("Really delete\n")+f+ | 244 | switch ( QMessageBox::warning(this,tr("Delete Directory?"),tr("Really delete\n")+f+ |
231 | "\nand all it's contents ?" | 245 | "\nand all it's contents ?" |
232 | ,tr("Yes"),tr("No"),0,0,1) ) { | 246 | ,tr("Yes"),tr("No"),0,0,1) ) { |
233 | case 0: { | 247 | case 0: { |
234 | f=f.left(f.length()-1); | 248 | f=f.left(f.length()-1); |
@@ -421,423 +435,423 @@ void AdvancedFm::upDir() { | |||
421 | dir.cdUp(); | 435 | dir.cdUp(); |
422 | current = dir.canonicalPath(); | 436 | current = dir.canonicalPath(); |
423 | chdir( current.latin1() ); | 437 | chdir( current.latin1() ); |
424 | currentDir.cd( current, TRUE); | 438 | currentDir.cd( current, TRUE); |
425 | populateLocalView(); | 439 | populateLocalView(); |
426 | update(); | 440 | update(); |
427 | } else { | 441 | } else { |
428 | QString current = currentRemoteDir.canonicalPath(); | 442 | QString current = currentRemoteDir.canonicalPath(); |
429 | QDir dir(current); | 443 | QDir dir(current); |
430 | dir.cdUp(); | 444 | dir.cdUp(); |
431 | current = dir.canonicalPath(); | 445 | current = dir.canonicalPath(); |
432 | chdir( current.latin1() ); | 446 | chdir( current.latin1() ); |
433 | currentRemoteDir.cd( current, TRUE); | 447 | currentRemoteDir.cd( current, TRUE); |
434 | populateRemoteView(); | 448 | populateRemoteView(); |
435 | update(); | 449 | update(); |
436 | } | 450 | } |
437 | } | 451 | } |
438 | 452 | ||
439 | void AdvancedFm::copy() { | 453 | void AdvancedFm::copy() { |
440 | qApp->processEvents(); | 454 | qApp->processEvents(); |
441 | QStringList curFileList = getPath(); | 455 | QStringList curFileList = getPath(); |
442 | bool doMsg=true; | 456 | bool doMsg=true; |
443 | int count=curFileList.count(); | 457 | int count=curFileList.count(); |
444 | if( count > 0) { | 458 | if( count > 0) { |
445 | if(count > 1 ){ | 459 | if(count > 1 ){ |
446 | QString msg; | 460 | QString msg; |
447 | msg=tr("Really copy\n%1 files?").arg(count); | 461 | msg=tr("Really copy\n%1 files?").arg(count); |
448 | switch ( QMessageBox::warning(this,tr("Delete"),msg | 462 | switch ( QMessageBox::warning(this,tr("Delete"),msg |
449 | ,tr("Yes"),tr("No"),0,0,1) ) { | 463 | ,tr("Yes"),tr("No"),0,0,1) ) { |
450 | case 0: | 464 | case 0: |
451 | doMsg=false; | 465 | doMsg=false; |
452 | break; | 466 | break; |
453 | case 1: | 467 | case 1: |
454 | return; | 468 | return; |
455 | break; | 469 | break; |
456 | }; | 470 | }; |
457 | } | 471 | } |
458 | 472 | ||
459 | QString curFile, item, destFile; | 473 | QString curFile, item, destFile; |
460 | if (TabWidget->getCurrentTab() == 0) { | 474 | if (TabWidget->getCurrentTab() == 0) { |
461 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 475 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
462 | item=(*it); | 476 | item=(*it); |
463 | if(item.find("->",0,TRUE)) //symlink | 477 | if(item.find("->",0,TRUE)) //symlink |
464 | item = item.left(item.find("->",0,TRUE)); | 478 | item = item.left(item.find("->",0,TRUE)); |
465 | 479 | ||
466 | destFile = currentRemoteDir.canonicalPath()+"/"+ item; | 480 | destFile = currentRemoteDir.canonicalPath()+"/"+ item; |
467 | qDebug("Destination file is "+destFile); | 481 | qDebug("Destination file is "+destFile); |
468 | 482 | ||
469 | curFile = currentDir.canonicalPath()+"/"+ item; | 483 | curFile = currentDir.canonicalPath()+"/"+ item; |
470 | qDebug("CurrentFile file is " + curFile); | 484 | qDebug("CurrentFile file is " + curFile); |
471 | 485 | ||
472 | QFile f(destFile); | 486 | QFile f(destFile); |
473 | if( f.exists()) { | 487 | if( f.exists()) { |
474 | if(doMsg) { | 488 | if(doMsg) { |
475 | switch ( QMessageBox::warning(this,tr("File Exists!"), | 489 | switch ( QMessageBox::warning(this,tr("File Exists!"), |
476 | item+tr("\nexists. Ok to overwrite?"), | 490 | item+tr("\nexists. Ok to overwrite?"), |
477 | tr("Yes"),tr("No"),0,0,1) ) { | 491 | tr("Yes"),tr("No"),0,0,1) ) { |
478 | case 1: | 492 | case 1: |
479 | return; | 493 | return; |
480 | break; | 494 | break; |
481 | }; | 495 | }; |
482 | } | 496 | } |
483 | f.remove(); | 497 | f.remove(); |
484 | } | 498 | } |
485 | if(!copyFile(destFile, curFile) ) { | 499 | if(!copyFile( curFile, destFile) ) { |
486 | QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); | 500 | QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile); |
487 | return; | 501 | return; |
488 | } | 502 | } |
489 | } | 503 | } |
490 | populateRemoteView(); | 504 | populateRemoteView(); |
491 | TabWidget->setCurrentTab(1); | 505 | TabWidget->setCurrentTab(1); |
492 | 506 | ||
493 | } else { | 507 | } else { |
494 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 508 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
495 | item= (*it); | 509 | item= (*it); |
496 | if(item.find("->",0,TRUE)) //symlink | 510 | if(item.find("->",0,TRUE)) //symlink |
497 | item = item.left(item.find("->",0,TRUE)); | 511 | item = item.left(item.find("->",0,TRUE)); |
498 | 512 | ||
499 | destFile = currentDir.canonicalPath()+"/"+ item; | 513 | destFile = currentDir.canonicalPath()+"/"+ item; |
500 | qDebug("Destination file is "+destFile); | 514 | qDebug("Destination file is "+destFile); |
501 | 515 | ||
502 | curFile = currentRemoteDir.canonicalPath()+"/"+ item;; | 516 | curFile = currentRemoteDir.canonicalPath()+"/"+ item;; |
503 | qDebug("CurrentFile file is " + curFile); | 517 | qDebug("CurrentFile file is " + curFile); |
504 | 518 | ||
505 | QFile f(destFile); | 519 | QFile f(destFile); |
506 | if( f.exists()) { | 520 | if( f.exists()) { |
507 | switch ( QMessageBox::warning(this,tr("File Exists!"), | 521 | switch ( QMessageBox::warning(this,tr("File Exists!"), |
508 | item+tr("\nexists. Ok to overwrite?"), | 522 | item+tr("\nexists. Ok to overwrite?"), |
509 | tr("Yes"),tr("No"),0,0,1) ) { | 523 | tr("Yes"),tr("No"),0,0,1) ) { |
510 | case 1: | 524 | case 1: |
511 | return; | 525 | return; |
512 | break; | 526 | break; |
513 | }; | 527 | }; |
514 | f.remove(); | 528 | f.remove(); |
515 | } | 529 | } |
516 | if(!copyFile(destFile, curFile) ) { | 530 | if(!copyFile( curFile, destFile) ) { |
517 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") | 531 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") |
518 | +curFile +tr("to\n")+destFile); | 532 | +curFile +tr("to\n")+destFile); |
519 | return; | 533 | return; |
520 | 534 | ||
521 | } | 535 | } |
522 | } | 536 | } |
523 | populateLocalView(); | 537 | populateLocalView(); |
524 | TabWidget->setCurrentTab(0); | 538 | TabWidget->setCurrentTab(0); |
525 | } | 539 | } |
526 | 540 | ||
527 | } | 541 | } |
528 | } | 542 | } |
529 | 543 | ||
530 | void AdvancedFm::copyAs() { | 544 | void AdvancedFm::copyAs() { |
531 | qApp->processEvents(); | 545 | qApp->processEvents(); |
532 | 546 | ||
533 | QStringList curFileList = getPath(); | 547 | QStringList curFileList = getPath(); |
534 | QString curFile, item; | 548 | QString curFile, item; |
535 | InputDialog *fileDlg; | 549 | InputDialog *fileDlg; |
536 | if (TabWidget->getCurrentTab() == 0) { | 550 | if (TabWidget->getCurrentTab() == 0) { |
537 | qDebug("tab 1"); | 551 | qDebug("tab 1"); |
538 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 552 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
539 | QString destFile; | 553 | QString destFile; |
540 | item=(*it); | 554 | item=(*it); |
541 | curFile = currentDir.canonicalPath()+"/"+(*it); | 555 | curFile = currentDir.canonicalPath()+"/"+(*it); |
542 | fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); | 556 | fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); |
543 | 557 | ||
544 | fileDlg->setInputText((const QString &) destFile ); | 558 | fileDlg->setInputText((const QString &) destFile ); |
545 | fileDlg->exec(); | 559 | fileDlg->exec(); |
546 | 560 | ||
547 | if( fileDlg->result() == 1 ) { | 561 | if( fileDlg->result() == 1 ) { |
548 | QString filename = fileDlg->LineEdit1->text(); | 562 | QString filename = fileDlg->LineEdit1->text(); |
549 | destFile = currentRemoteDir.canonicalPath()+"/"+filename; | 563 | destFile = currentRemoteDir.canonicalPath()+"/"+filename; |
550 | 564 | ||
551 | QFile f(destFile); | 565 | QFile f(destFile); |
552 | if( f.exists()) { | 566 | if( f.exists()) { |
553 | switch (QMessageBox::warning(this,tr("File Exists!"), | 567 | switch (QMessageBox::warning(this,tr("File Exists!"), |
554 | item+tr("\nexists. Ok to overwrite?"), | 568 | item+tr("\nexists. Ok to overwrite?"), |
555 | tr("Yes"),tr("No"),0,0,1) ) { | 569 | tr("Yes"),tr("No"),0,0,1) ) { |
556 | case 0: | 570 | case 0: |
557 | f.remove(); | 571 | f.remove(); |
558 | break; | 572 | break; |
559 | case 1: | 573 | case 1: |
560 | return; | 574 | return; |
561 | break; | 575 | break; |
562 | }; | 576 | }; |
563 | } | 577 | } |
564 | if(!copyFile(destFile, curFile) ) { | 578 | if(!copyFile( curFile,destFile) ) { |
565 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") | 579 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") |
566 | +curFile +tr("to\n")+destFile); | 580 | +curFile +tr("to\n")+destFile); |
567 | return; | 581 | return; |
568 | } | 582 | } |
569 | } | 583 | } |
570 | delete fileDlg; | 584 | delete fileDlg; |
571 | 585 | ||
572 | } | 586 | } |
573 | populateRemoteView(); | 587 | populateRemoteView(); |
574 | TabWidget->setCurrentTab(1); | 588 | TabWidget->setCurrentTab(1); |
575 | 589 | ||
576 | } else { | 590 | } else { |
577 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 591 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
578 | 592 | ||
579 | item=(*it); | 593 | item=(*it); |
580 | curFile = currentRemoteDir.canonicalPath()+"/"+(*it); | 594 | curFile = currentRemoteDir.canonicalPath()+"/"+(*it); |
581 | fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); | 595 | fileDlg = new InputDialog( this,tr("Copy "+curFile+" As"), TRUE, 0); |
582 | 596 | ||
583 | QString destFile; | 597 | QString destFile; |
584 | fileDlg->setInputText((const QString &) destFile); | 598 | fileDlg->setInputText((const QString &) destFile); |
585 | fileDlg->exec(); | 599 | fileDlg->exec(); |
586 | 600 | ||
587 | if( fileDlg->result() == 1 ) { | 601 | if( fileDlg->result() == 1 ) { |
588 | QString filename = fileDlg->LineEdit1->text(); | 602 | QString filename = fileDlg->LineEdit1->text(); |
589 | destFile = currentDir.canonicalPath()+"/"+filename; | 603 | destFile = currentDir.canonicalPath()+"/"+filename; |
590 | 604 | ||
591 | QFile f( destFile); | 605 | QFile f( destFile); |
592 | if( f.exists()) { | 606 | if( f.exists()) { |
593 | switch ( QMessageBox::warning(this,tr("File Exists!"), | 607 | switch ( QMessageBox::warning(this,tr("File Exists!"), |
594 | item+tr("\nexists. Ok to overwrite?"), | 608 | item+tr("\nexists. Ok to overwrite?"), |
595 | tr("Yes"),tr("No"),0,0,1) ) { | 609 | tr("Yes"),tr("No"),0,0,1) ) { |
596 | case 0: | 610 | case 0: |
597 | f.remove(); | 611 | f.remove(); |
598 | break; | 612 | break; |
599 | case 1: | 613 | case 1: |
600 | return; | 614 | return; |
601 | break; | 615 | break; |
602 | }; | 616 | }; |
603 | } | 617 | } |
604 | if(!copyFile(destFile, curFile) ) { | 618 | if(!copyFile( curFile,destFile) ) { |
605 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") | 619 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") |
606 | +curFile +tr("to\n")+destFile); | 620 | +curFile +tr("to\n")+destFile); |
607 | return; | 621 | return; |
608 | } | 622 | } |
609 | 623 | ||
610 | } | 624 | } |
611 | delete fileDlg; | 625 | delete fileDlg; |
612 | 626 | ||
613 | } | 627 | } |
614 | populateLocalView(); | 628 | populateLocalView(); |
615 | TabWidget->setCurrentTab(0); | 629 | TabWidget->setCurrentTab(0); |
616 | } | 630 | } |
617 | } | 631 | } |
618 | 632 | ||
619 | void AdvancedFm::copySameDir() { | 633 | void AdvancedFm::copySameDir() { |
620 | qApp->processEvents(); | 634 | qApp->processEvents(); |
621 | QStringList curFileList = getPath(); | 635 | QStringList curFileList = getPath(); |
622 | QString curFile, item, destFile; | 636 | QString curFile, item, destFile; |
623 | InputDialog *fileDlg; | 637 | InputDialog *fileDlg; |
624 | 638 | ||
625 | if (TabWidget->getCurrentTab() == 0) { | 639 | if (TabWidget->getCurrentTab() == 0) { |
626 | 640 | ||
627 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 641 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
628 | item=(*it); | 642 | item=(*it); |
629 | curFile = currentDir.canonicalPath()+"/"+ item; | 643 | curFile = currentDir.canonicalPath()+"/"+ item; |
630 | 644 | ||
631 | fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); | 645 | fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); |
632 | fileDlg->setInputText((const QString &) destFile ); | 646 | fileDlg->setInputText((const QString &) destFile ); |
633 | fileDlg->exec(); | 647 | fileDlg->exec(); |
634 | 648 | ||
635 | if( fileDlg->result() == 1 ) { | 649 | if( fileDlg->result() == 1 ) { |
636 | 650 | ||
637 | QString filename = fileDlg->LineEdit1->text(); | 651 | QString filename = fileDlg->LineEdit1->text(); |
638 | destFile = currentDir.canonicalPath()+"/"+filename; | 652 | destFile = currentDir.canonicalPath()+"/"+filename; |
639 | 653 | ||
640 | QFile f(destFile); | 654 | QFile f(destFile); |
641 | if( f.exists()) { | 655 | if( f.exists()) { |
642 | switch (QMessageBox::warning(this,tr("Delete"), | 656 | switch (QMessageBox::warning(this,tr("Delete"), |
643 | destFile+tr(" already exists\nDo you really want to delete it?"), | 657 | destFile+tr(" already exists\nDo you really want to delete it?"), |
644 | tr("Yes"),tr("No"),0,0,1) ) { | 658 | tr("Yes"),tr("No"),0,0,1) ) { |
645 | case 0: | 659 | case 0: |
646 | 660 | ||
647 | f.remove(); | 661 | f.remove(); |
648 | break; | 662 | break; |
649 | case 1: | 663 | case 1: |
650 | return; | 664 | return; |
651 | break; | 665 | break; |
652 | }; | 666 | }; |
653 | } | 667 | } |
654 | if(!copyFile(destFile, curFile) ) { | 668 | if(!copyFile( curFile,destFile) ) { |
655 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") | 669 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") |
656 | +curFile +tr("to\n")+destFile); | 670 | +curFile +tr("to\n")+destFile); |
657 | return; | 671 | return; |
658 | } | 672 | } |
659 | 673 | ||
660 | qDebug("copy "+curFile+" as "+destFile); | 674 | qDebug("copy "+curFile+" as "+destFile); |
661 | } | 675 | } |
662 | delete fileDlg; | 676 | delete fileDlg; |
663 | } | 677 | } |
664 | populateLocalView(); | 678 | populateLocalView(); |
665 | 679 | ||
666 | } else { | 680 | } else { |
667 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 681 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
668 | item=(*it); | 682 | item=(*it); |
669 | curFile = currentRemoteDir.canonicalPath()+"/"+ item; | 683 | curFile = currentRemoteDir.canonicalPath()+"/"+ item; |
670 | 684 | ||
671 | fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); | 685 | fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); |
672 | fileDlg->setInputText((const QString &) destFile); | 686 | fileDlg->setInputText((const QString &) destFile); |
673 | fileDlg->exec(); | 687 | fileDlg->exec(); |
674 | if( fileDlg->result() == 1 ) { | 688 | if( fileDlg->result() == 1 ) { |
675 | QString filename = fileDlg->LineEdit1->text(); | 689 | QString filename = fileDlg->LineEdit1->text(); |
676 | 690 | ||
677 | destFile = currentRemoteDir.canonicalPath()+"/"+filename; | 691 | destFile = currentRemoteDir.canonicalPath()+"/"+filename; |
678 | 692 | ||
679 | QFile f(destFile); | 693 | QFile f(destFile); |
680 | if( f.exists()) { | 694 | if( f.exists()) { |
681 | switch ( QMessageBox::warning(this,tr("Delete"), | 695 | switch ( QMessageBox::warning(this,tr("Delete"), |
682 | destFile+tr(" already exists\nDo you really want to delete it?"), | 696 | destFile+tr(" already exists\nDo you really want to delete it?"), |
683 | tr("Yes"),tr("No"),0,0,1) ) { | 697 | tr("Yes"),tr("No"),0,0,1) ) { |
684 | case 0: | 698 | case 0: |
685 | f.remove(); | 699 | f.remove(); |
686 | break; | 700 | break; |
687 | case 1: | 701 | case 1: |
688 | return; | 702 | return; |
689 | break; | 703 | break; |
690 | }; | 704 | }; |
691 | } | 705 | } |
692 | if(!copyFile(destFile, curFile) ) { | 706 | if(!copyFile( curFile,destFile) ) { |
693 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") | 707 | QMessageBox::message("AdvancedFm",tr("Could not copy\n") |
694 | +curFile +tr("to\n")+destFile); | 708 | +curFile +tr("to\n")+destFile); |
695 | return; | 709 | return; |
696 | } | 710 | } |
697 | qDebug("copy "+curFile+" as "+destFile); | 711 | qDebug("copy "+curFile+" as "+destFile); |
698 | } | 712 | } |
699 | delete fileDlg; | 713 | delete fileDlg; |
700 | } | 714 | } |
701 | populateRemoteView(); | 715 | populateRemoteView(); |
702 | } | 716 | } |
703 | } | 717 | } |
704 | 718 | ||
705 | void AdvancedFm::move() { | 719 | void AdvancedFm::move() { |
706 | qApp->processEvents(); | 720 | qApp->processEvents(); |
707 | 721 | ||
708 | QStringList curFileList = getPath(); | 722 | QStringList curFileList = getPath(); |
709 | if( curFileList.count() > 0) { | 723 | if( curFileList.count() > 0) { |
710 | QString curFile, destFile, item; | 724 | QString curFile, destFile, item; |
711 | 725 | ||
712 | if (TabWidget->getCurrentTab() == 0) { | 726 | if (TabWidget->getCurrentTab() == 0) { |
713 | 727 | ||
714 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 728 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
715 | item=(*it); | 729 | item=(*it); |
716 | QString destFile = currentRemoteDir.canonicalPath(); | 730 | QString destFile = currentRemoteDir.canonicalPath(); |
717 | 731 | ||
718 | if(destFile.right(1).find("/",0,TRUE) == -1) | 732 | if(destFile.right(1).find("/",0,TRUE) == -1) |
719 | destFile+="/"; | 733 | destFile+="/"; |
720 | destFile += item; | 734 | destFile += item; |
721 | curFile = currentDir.canonicalPath(); | 735 | curFile = currentDir.canonicalPath(); |
722 | 736 | ||
723 | qDebug("Destination file is "+destFile); | 737 | qDebug("Destination file is "+destFile); |
724 | 738 | ||
725 | if(curFile.right(1).find("/",0,TRUE) == -1) | 739 | if(curFile.right(1).find("/",0,TRUE) == -1) |
726 | curFile +="/"; | 740 | curFile +="/"; |
727 | 741 | ||
728 | curFile+= item; | 742 | curFile+= item; |
729 | qDebug("CurrentFile file is " + curFile); | 743 | qDebug("CurrentFile file is " + curFile); |
730 | 744 | ||
731 | QFile f( curFile); | 745 | QFile f( curFile); |
732 | if( f.exists()) { | 746 | if( f.exists()) { |
733 | if(!copyFile( destFile, curFile) ) { | 747 | if(!copyFile( curFile,destFile) ) { |
734 | QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); | 748 | QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); |
735 | return; | 749 | return; |
736 | } else | 750 | } else |
737 | QFile::remove(curFile); | 751 | QFile::remove(curFile); |
738 | } | 752 | } |
739 | } | 753 | } |
740 | 754 | ||
741 | TabWidget->setCurrentTab(1); | 755 | TabWidget->setCurrentTab(1); |
742 | 756 | ||
743 | } else { //view 2 | 757 | } else { //view 2 |
744 | 758 | ||
745 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { | 759 | for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { |
746 | item = (*it); | 760 | item = (*it); |
747 | QString destFile = currentDir.canonicalPath(); | 761 | QString destFile = currentDir.canonicalPath(); |
748 | 762 | ||
749 | if(destFile.right(1).find("/",0,TRUE) == -1) | 763 | if(destFile.right(1).find("/",0,TRUE) == -1) |
750 | destFile+="/"; | 764 | destFile+="/"; |
751 | 765 | ||
752 | destFile += item; | 766 | destFile += item; |
753 | 767 | ||
754 | qDebug("Destination file is "+destFile); | 768 | qDebug("Destination file is "+destFile); |
755 | 769 | ||
756 | curFile = currentRemoteDir.canonicalPath(); | 770 | curFile = currentRemoteDir.canonicalPath(); |
757 | 771 | ||
758 | if(curFile.right(1).find("/",0,TRUE) == -1) | 772 | if(curFile.right(1).find("/",0,TRUE) == -1) |
759 | curFile +="/"; | 773 | curFile +="/"; |
760 | curFile+= item; | 774 | curFile+= item; |
761 | qDebug("CurrentFile file is " + curFile); | 775 | qDebug("CurrentFile file is " + curFile); |
762 | 776 | ||
763 | QFile f( curFile); | 777 | QFile f( curFile); |
764 | if( f.exists()) { | 778 | if( f.exists()) { |
765 | if(!copyFile( destFile, curFile) ) { | 779 | if(!copyFile( curFile, destFile) ) { |
766 | QMessageBox::message(tr("Note"),tr("Could not move\n") + curFile); | 780 | QMessageBox::message(tr("Note"),tr("Could not move\n") + curFile); |
767 | return; | 781 | return; |
768 | } else | 782 | } else |
769 | QFile::remove( curFile); | 783 | QFile::remove( curFile); |
770 | } | 784 | } |
771 | TabWidget->setCurrentTab(0); | 785 | TabWidget->setCurrentTab(0); |
772 | } | 786 | } |
773 | } | 787 | } |
774 | populateRemoteView(); | 788 | populateRemoteView(); |
775 | populateLocalView(); | 789 | populateLocalView(); |
776 | } | 790 | } |
777 | } | 791 | } |
778 | 792 | ||
779 | bool AdvancedFm::copyFile( const QString & dest, const QString & src ) { | 793 | bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { |
780 | char bf[ 50000 ]; | 794 | char bf[ 50000 ]; |
781 | int bytesRead; | 795 | int bytesRead; |
782 | bool success = TRUE; | 796 | bool success = TRUE; |
783 | struct stat status; | 797 | struct stat status; |
784 | 798 | ||
785 | QFile s( src ); | 799 | QFile s( src ); |
786 | QFile d( dest ); | 800 | QFile d( dest ); |
787 | 801 | ||
788 | if( s.open( IO_ReadOnly | IO_Raw ) && d.open( IO_WriteOnly | IO_Raw ) ) { | 802 | if( s.open( IO_ReadOnly | IO_Raw ) && d.open( IO_WriteOnly | IO_Raw ) ) { |
789 | while( (bytesRead = s.readBlock( bf, sizeof( bf ) )) == sizeof( bf ) ) { | 803 | while( (bytesRead = s.readBlock( bf, sizeof( bf ) )) == sizeof( bf ) ) { |
790 | if( d.writeBlock( bf, sizeof( bf ) ) != sizeof( bf ) ){ | 804 | if( d.writeBlock( bf, sizeof( bf ) ) != sizeof( bf ) ){ |
791 | success = FALSE; | 805 | success = FALSE; |
792 | break; | 806 | break; |
793 | } | 807 | } |
794 | } | 808 | } |
795 | if( success && (bytesRead > 0) ){ | 809 | if( success && (bytesRead > 0) ){ |
796 | d.writeBlock( bf, bytesRead ); | 810 | d.writeBlock( bf, bytesRead ); |
797 | } | 811 | } |
798 | } else { | 812 | } else { |
799 | success = FALSE; | 813 | success = FALSE; |
800 | } | 814 | } |
801 | 815 | ||
802 | // Set file permissions | 816 | // Set file permissions |
803 | if( stat( (const char *) src, &status ) == 0 ){ | 817 | if( stat( (const char *) src, &status ) == 0 ){ |
804 | chmod( (const char *) dest, status.st_mode ); | 818 | chmod( (const char *) dest, status.st_mode ); |
805 | } | 819 | } |
806 | 820 | ||
807 | return success; | 821 | return success; |
808 | } | 822 | } |
809 | 823 | ||
810 | void AdvancedFm::runCommand() { | 824 | void AdvancedFm::runCommand() { |
811 | QString curFile; | 825 | QString curFile; |
812 | if (TabWidget->getCurrentTab() == 0) { | 826 | if (TabWidget->getCurrentTab() == 0) { |
813 | if( Local_View->currentItem()) | 827 | if( Local_View->currentItem()) |
814 | curFile = currentDir.canonicalPath() +"/"+ Local_View->currentItem()->text(0); | 828 | curFile = currentDir.canonicalPath() +"/"+ Local_View->currentItem()->text(0); |
815 | } else { | 829 | } else { |
816 | if(Remote_View->currentItem()) | 830 | if(Remote_View->currentItem()) |
817 | curFile = currentRemoteDir.canonicalPath() + "/"+Remote_View->currentItem()->text(0); | 831 | curFile = currentRemoteDir.canonicalPath() + "/"+Remote_View->currentItem()->text(0); |
818 | } | 832 | } |
819 | 833 | ||
820 | InputDialog *fileDlg; | 834 | InputDialog *fileDlg; |
821 | fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); | 835 | fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); |
822 | fileDlg->setInputText(curFile); | 836 | fileDlg->setInputText(curFile); |
823 | fileDlg->exec(); | 837 | fileDlg->exec(); |
824 | //QString command; | 838 | //QString command; |
825 | 839 | ||
826 | if( fileDlg->result() == 1 ) { | 840 | if( fileDlg->result() == 1 ) { |
827 | qDebug(fileDlg->LineEdit1->text()); | 841 | qDebug(fileDlg->LineEdit1->text()); |
828 | QStringList command; | 842 | QStringList command; |
829 | 843 | ||
830 | command << "/bin/sh"; | 844 | command << "/bin/sh"; |
831 | command << "-c"; | 845 | command << "-c"; |
832 | command << fileDlg->LineEdit1->text(); | 846 | command << fileDlg->LineEdit1->text(); |
833 | Output *outDlg; | 847 | Output *outDlg; |
834 | outDlg = new Output( command, this, tr("AdvancedFm Output"), true); | 848 | outDlg = new Output( command, this, tr("AdvancedFm Output"), true); |
835 | outDlg->showMaximized(); | 849 | outDlg->showMaximized(); |
836 | outDlg->exec(); | 850 | outDlg->exec(); |
837 | qApp->processEvents(); | 851 | qApp->processEvents(); |
838 | 852 | ||
839 | } | 853 | } |
840 | } | 854 | } |
841 | 855 | ||
842 | void AdvancedFm::runCommandStd() { | 856 | void AdvancedFm::runCommandStd() { |
843 | QString curFile; | 857 | QString curFile; |