summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/formatter/formatter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/tools/formatter/formatter.cpp b/noncore/tools/formatter/formatter.cpp
index ed0ced1..46dc01c 100644
--- a/noncore/tools/formatter/formatter.cpp
+++ b/noncore/tools/formatter/formatter.cpp
@@ -382,190 +382,193 @@ void FormatterApp::deviceComboSelected(int index) {
382 long total = (*it)->totalBlocks() * mult / div; 382 long total = (*it)->totalBlocks() * mult / div;
383 long totalMb = total/1024; 383 long totalMb = total/1024;
384 long avail = (*it)->availBlocks() * mult / div; 384 long avail = (*it)->availBlocks() * mult / div;
385 long availMb = avail/1024; 385 long availMb = avail/1024;
386 long used = total - avail; 386 long used = total - avail;
387 long usedMb = used/1024; 387 long usedMb = used/1024;
388 totalS.sprintf(tr("Total: %1 kB ( %d mB)\n").arg( total ), totalMb ); 388 totalS.sprintf(tr("Total: %1 kB ( %d mB)\n").arg( total ), totalMb );
389 usedS.sprintf(tr("Used: %1 kB ( %d mB)\n").arg(used) ,usedMb); 389 usedS.sprintf(tr("Used: %1 kB ( %d mB)\n").arg(used) ,usedMb);
390 avS.sprintf( tr("Available: %1 kB ( %d mB)").arg(avail), availMb ); 390 avS.sprintf( tr("Available: %1 kB ( %d mB)").arg(avail), availMb );
391 } 391 }
392 } 392 }
393 fsType = getFileSystemType((const QString &)selectedText); 393 fsType = getFileSystemType((const QString &)selectedText);
394 394
395 TextLabel5->setText("Type: "+ nameS+"\nFormatted with "+ fsType + " \n" + totalS + usedS + avS); 395 TextLabel5->setText("Type: "+ nameS+"\nFormatted with "+ fsType + " \n" + totalS + usedS + avS);
396// storageComboSelected(0); 396// storageComboSelected(0);
397} 397}
398 398
399void FormatterApp::cleanUp() { 399void FormatterApp::cleanUp() {
400 400
401} 401}
402 402
403 403
404void FormatterApp::editFstab() { 404void FormatterApp::editFstab() {
405 QCopEnvelope e("QPE/Application/textedit","setDocument(QString)"); 405 QCopEnvelope e("QPE/Application/textedit","setDocument(QString)");
406 e << (const QString &)"/etc/fstab"; 406 e << (const QString &)"/etc/fstab";
407} 407}
408 408
409void FormatterApp::parsetab(const QString &fileName) { 409void FormatterApp::parsetab(const QString &fileName) {
410 410
411 fileSystemTypeList.clear(); 411 fileSystemTypeList.clear();
412 fsList.clear(); 412 fsList.clear();
413 struct mntent *me; 413 struct mntent *me;
414// if(fileName == "/etc/mtab") { 414// if(fileName == "/etc/mtab") {
415 FILE *mntfp = setmntent( fileName.latin1(), "r" ); 415 FILE *mntfp = setmntent( fileName.latin1(), "r" );
416 if ( mntfp ) { 416 if ( mntfp ) {
417 while ( (me = getmntent( mntfp )) != 0 ) { 417 while ( (me = getmntent( mntfp )) != 0 ) {
418 QString deviceName = me->mnt_fsname; 418 QString deviceName = me->mnt_fsname;
419 QString filesystemType = me->mnt_type; 419 QString filesystemType = me->mnt_type;
420 if(deviceName != "none") { 420 if(deviceName != "none") {
421 if( fsList.contains(filesystemType) == 0 421 if( fsList.contains(filesystemType) == 0
422 & filesystemType.find("proc",0,TRUE) == -1 422 & filesystemType.find("proc",0,TRUE) == -1
423 & filesystemType.find("cramfs",0,TRUE) == -1 423 & filesystemType.find("cramfs",0,TRUE) == -1
424 & filesystemType.find("auto",0,TRUE) == -1) 424 & filesystemType.find("auto",0,TRUE) == -1)
425 fsList << filesystemType; 425 fsList << filesystemType;
426 deviceList << deviceName; 426 deviceList << deviceName;
427 qDebug(deviceName+"::"+filesystemType); 427 qDebug(deviceName+"::"+filesystemType);
428 fileSystemTypeList << deviceName+"::"+filesystemType; 428 fileSystemTypeList << deviceName+"::"+filesystemType;
429 } 429 }
430 } 430 }
431 } 431 }
432 endmntent( mntfp ); 432 endmntent( mntfp );
433// } else if(fileName == "/etc/fstab") { 433// } else if(fileName == "/etc/fstab") {
434// QFile f("/etc/fstab"); 434// QFile f("/etc/fstab");
435// if ( f.open(IO_ReadOnly) ) { 435// if ( f.open(IO_ReadOnly) ) {
436// QTextStream t (&f); 436// QTextStream t (&f);
437// QString s; 437// QString s;
438// while (! t.eof()) { 438// while (! t.eof()) {
439// s=t.readLine(); 439// s=t.readLine();
440// s=s.simplifyWhiteSpace(); 440// s=s.simplifyWhiteSpace();
441// if ( (!s.isEmpty() ) && (s.find(" ")!=0) ) { 441// if ( (!s.isEmpty() ) && (s.find(" ")!=0) ) {
442// // = me->mnt_fsname; 442// // = me->mnt_fsname;
443// QString filesystemType = me->mnt_type; 443// QString filesystemType = me->mnt_type;
444// QString deviceName = s.left(0,s.find(BLANK) ); 444// QString deviceName = s.left(0,s.find(BLANK) );
445// s=s.remove(0,s.find(BLANK)+1 ); // devicename 445// s=s.remove(0,s.find(BLANK)+1 ); // devicename
446 446
447// s=s.remove(0,s.find(BLANK)+1 ); // mountpoint 447// s=s.remove(0,s.find(BLANK)+1 ); // mountpoint
448// QStringt mountPoint= s.left(0,s.find(BLANK) ); 448// QStringt mountPoint= s.left(0,s.find(BLANK) );
449// s=s.remove(0,s.find(BLANK)+1 ); // fs 449// s=s.remove(0,s.find(BLANK)+1 ); // fs
450// QString filesystemType= s.left(0,s.find(BLANK) ); 450// QString filesystemType= s.left(0,s.find(BLANK) );
451// } 451// }
452// } 452// }
453// } 453// }
454// f.close(); 454// f.close();
455// } 455// }
456} 456}
457 457
458QString FormatterApp::getFileSystemType(const QString &currentText) { 458QString FormatterApp::getFileSystemType(const QString &currentText) {
459 459
460 parsetab("/etc/mtab"); //why did TT forget filesystem type? 460 parsetab("/etc/mtab"); //why did TT forget filesystem type?
461 461
462 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) { 462 for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) {
463 QString temp = (*it); 463 QString temp = (*it);
464 if( temp.find( currentText,0,TRUE) != -1) { 464 if( temp.find( currentText,0,TRUE) != -1) {
465 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2); 465 return temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
466// qDebug(fsType); 466// qDebug(fsType);
467 } 467 }
468 } 468 }
469 return ""; 469 return "";
470} 470}
471 471
472bool FormatterApp::doFsck() { 472bool FormatterApp::doFsck() {
473 473
474 Output *outDlg; 474 Output *outDlg;
475 QString selectedDevice; 475 QString selectedDevice;
476#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) 476#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX)
477 selectedDevice = deviceComboBox->currentText(); 477 selectedDevice = deviceComboBox->currentText();
478
479 QString umountS = "umount -v "+selectedDevice+" 2>&1";
480 QString remountS = "mount -v "+selectedDevice+" 2>&1";
478#else 481#else
479 // for testing 482 // for testing
480// currentText = diskDevice = "/dev/fd0"; 483// currentText = diskDevice = "/dev/fd0";
481 QString umountS = "umount -v /floppy 2>&1"; 484 QString umountS = "umount -v /floppy 2>&1";
482 QString remountS = "mount -v /floppy 2>&1"; 485 QString remountS = "mount -v /floppy 2>&1";
483 selectedDevice ="/dev/fd0"; 486 selectedDevice ="/dev/fd0";
484 487
485#endif 488#endif
486 489
487 QString fsType = getFileSystemType((const QString &)selectedDevice); 490 QString fsType = getFileSystemType((const QString &)selectedDevice);
488 QString cmd; 491 QString cmd;
489 qDebug( selectedDevice +" "+ fsType); 492 qDebug( selectedDevice +" "+ fsType);
490 if(fsType == "vfat") cmd = "dosfsck -vy "; 493 if(fsType == "vfat") cmd = "dosfsck -vy ";
491 if(fsType == "ext2") cmd = "e2fsck -cpvy "; 494 if(fsType == "ext2") cmd = "e2fsck -cpvy ";
492 cmd += selectedDevice + " 2>&1"; 495 cmd += selectedDevice + " 2>&1";
493 496
494 outDlg = new Output(this, tr("Formatter Output"),FALSE); 497 outDlg = new Output(this, tr("Formatter Output"),FALSE);
495 outDlg->showMaximized(); 498 outDlg->showMaximized();
496 outDlg->show(); 499 outDlg->show();
497 qApp->processEvents(); 500 qApp->processEvents();
498 FILE *fp; 501 FILE *fp;
499 char line[130]; 502 char line[130];
500 outDlg->OutputEdit->append( tr("Trying to umount.")); 503 outDlg->OutputEdit->append( tr("Trying to umount."));
501 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 504 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
502 505
503 sleep(1); 506 sleep(1);
504// qDebug("Command is "+umountS); 507// qDebug("Command is "+umountS);
505 fp = popen( (const char *) umountS, "r"); 508 fp = popen( (const char *) umountS, "r");
506// qDebug("%d", fp); 509// qDebug("%d", fp);
507 if ( !fp ) { 510 if ( !fp ) {
508 qDebug("Could not execute '" + umountS + "'!\n" +(QString)strerror(errno)); 511 qDebug("Could not execute '" + umountS + "'!\n" +(QString)strerror(errno));
509 QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") ); 512 QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") );
510 pclose(fp); 513 pclose(fp);
511 return false; 514 return false;
512 } else { 515 } else {
513// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted.")); 516// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted."));
514// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 517// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
515 while ( fgets( line, sizeof line, fp)) { 518 while ( fgets( line, sizeof line, fp)) {
516 if( ((QString)line).find("busy",0,TRUE) != -1) { 519 if( ((QString)line).find("busy",0,TRUE) != -1) {
517 qDebug("Could not find '" + umountS); 520 qDebug("Could not find '" + umountS);
518 QMessageBox::warning( this, tr("Formatter"), tr("Could not umount.\nDevice is busy!"), tr("&OK") ); 521 QMessageBox::warning( this, tr("Formatter"), tr("Could not umount.\nDevice is busy!"), tr("&OK") );
519 pclose(fp); 522 pclose(fp);
520 return false; 523 return false;
521 } else { 524 } else {
522 QString lineStr = line; 525 QString lineStr = line;
523 lineStr=lineStr.left(lineStr.length()-1); 526 lineStr=lineStr.left(lineStr.length()-1);
524 outDlg->OutputEdit->append(lineStr); 527 outDlg->OutputEdit->append(lineStr);
525 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 528 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
526 } 529 }
527 } 530 }
528 } 531 }
529 pclose(fp); 532 pclose(fp);
530///////////////////////////////////// 533/////////////////////////////////////
531 fp = popen( (const char *) cmd, "r"); 534 fp = popen( (const char *) cmd, "r");
532 while ( fgets( line, sizeof line, fp)) { 535 while ( fgets( line, sizeof line, fp)) {
533 if( ((QString)line).find("No such device",0,TRUE) != -1) { 536 if( ((QString)line).find("No such device",0,TRUE) != -1) {
534 qDebug("No such device '" + umountS); 537 qDebug("No such device '" + umountS);
535 QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") ); 538 QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") );
536 pclose(fp); 539 pclose(fp);
537// outDlg->OutputEdit->append("No such device"); 540// outDlg->OutputEdit->append("No such device");
538// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 541// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
539 return false; 542 return false;
540 } else { 543 } else {
541 QString lineStr = line; 544 QString lineStr = line;
542 lineStr=lineStr.left(lineStr.length()-1); 545 lineStr=lineStr.left(lineStr.length()-1);
543 outDlg->OutputEdit->append(lineStr); 546 outDlg->OutputEdit->append(lineStr);
544 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 547 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
545 } 548 }
546 } 549 }
547 outDlg->OutputEdit->append(tr("You can now close the output window.")); 550 outDlg->OutputEdit->append(tr("You can now close the output window."));
548 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 551 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
549// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted.")); 552// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted."));
550// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 553// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
551 pclose(fp); 554 pclose(fp);
552 555
553///////////////////////////////////////// 556/////////////////////////////////////////
554 557
555 return true; 558 return true;
556} 559}
557 560
558bool FormatterApp::doFsckCheck() { 561bool FormatterApp::doFsckCheck() {
559 562
560 return FALSE; 563 return FALSE;
561} 564}
562 565
563int FormatterApp::formatCheck(const QString &deviceStr) { 566int FormatterApp::formatCheck(const QString &deviceStr) {
564 567
565 return -1; 568 return -1;
566} 569}
567 570
568int FormatterApp::runCommand(const QString &command) { 571int FormatterApp::runCommand(const QString &command) {
569 572
570 return -1; 573 return -1;
571} 574}