summaryrefslogtreecommitdiff
path: root/noncore/tools/formatter/formatter.cpp
Unidiff
Diffstat (limited to 'noncore/tools/formatter/formatter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/formatter/formatter.cpp172
1 files changed, 85 insertions, 87 deletions
diff --git a/noncore/tools/formatter/formatter.cpp b/noncore/tools/formatter/formatter.cpp
index bd0bb01..2b8ce7f 100644
--- a/noncore/tools/formatter/formatter.cpp
+++ b/noncore/tools/formatter/formatter.cpp
@@ -1,11 +1,11 @@
1/**************************************************************************** 1/****************************************************************************
2** formatter.cpp 2 ** formatter.cpp
3** 3 **
4** Copyright: Thu Apr 11 11:01:13 2002 4 ** Copyright: Thu Apr 11 11:01:13 2002
5** by: L. J. Potter 5 ** by: L. J. Potter
6** 6 **
7****************************************************************************/ 7 ****************************************************************************/
8 8
9#include "formatter.h" 9#include "formatter.h"
10#include "inputDialog.h" 10#include "inputDialog.h"
11#include "output.h" 11#include "output.h"
@@ -52,15 +52,15 @@
52#define BLANK ' ' 52#define BLANK ' '
53#define DELIMITER '#' 53#define DELIMITER '#'
54 54
55/* 55/*
56Blah blah blah blah */ 56 Blah blah blah blah */
57FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFlags fl ) 57FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFlags fl )
58 : QMainWindow( parent, name, fl ) 58 : QMainWindow( parent, name, fl )
59// : QDialog( parent, name, modal, fl ) 59// : QDialog( parent, name, modal, fl )
60{ 60{
61 if ( !name ) 61 if ( !name )
62 setName( "FormatterApp" ); 62 setName( "FormatterApp" );
63 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 63 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
64 64
65 setCaption( tr( "Formatter" ) ); 65 setCaption( tr( "Formatter" ) );
66 FormatterAppLayout = new QGridLayout( this ); 66 FormatterAppLayout = new QGridLayout( this );
@@ -70,59 +70,62 @@ FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFla
70 TabWidget = new QTabWidget( this, "TabWidget" ); 70 TabWidget = new QTabWidget( this, "TabWidget" );
71 71
72 tab = new QWidget( TabWidget, "tab" ); 72 tab = new QWidget( TabWidget, "tab" );
73 tabLayout = new QGridLayout( tab ); 73 tabLayout = new QGridLayout( tab );
74 tabLayout->setSpacing( 6); 74 tabLayout->setSpacing( 3);
75 tabLayout->setMargin( 11); 75 tabLayout->setMargin( 2);
76 76
77 storageComboBox = new QComboBox( FALSE, tab, "storageComboBox" ); 77 storageComboBox = new QComboBox( FALSE, tab, "storageComboBox" );
78 storageComboBox->setMaximumWidth(220);
78 79
79 tabLayout->addMultiCellWidget( storageComboBox, 0, 0, 0, 1 ); 80 tabLayout->addMultiCellWidget( storageComboBox, 0, 0, 0, 0 );
80 81
81 TextLabel4 = new QLabel( tab, "TextLabel4" ); 82 TextLabel4 = new QLabel( tab, "TextLabel4" );
82 TextLabel4->setText( tr( "Storage Type" ) ); 83 TextLabel4->setText( tr( "Storage Type" ) );
83 84
84 tabLayout->addMultiCellWidget( TextLabel4, 1, 1, 0, 1 ); 85 tabLayout->addMultiCellWidget( TextLabel4, 1, 1, 0, 0 );
85 86
86 TextLabel2 = new QLabel( tab, "TextLabel2" ); 87 TextLabel2 = new QLabel( tab, "TextLabel2" );
87 TextLabel2->setText( tr( "File Systems" ) ); 88 TextLabel2->setText( tr( "File Systems" ) );
88 89
89 tabLayout->addMultiCellWidget( TextLabel2, 4, 4, 0, 1 ); 90 tabLayout->addMultiCellWidget( TextLabel2, 4, 4, 0, 0 );
90 91
91 fileSystemsCombo = new QComboBox( FALSE, tab, "fileSystemsCombo" ); 92 fileSystemsCombo = new QComboBox( FALSE, tab, "fileSystemsCombo" );
93 fileSystemsCombo->setMaximumWidth(220);
92 94
93 tabLayout->addMultiCellWidget( fileSystemsCombo, 3, 3, 0, 1 ); 95 tabLayout->addMultiCellWidget( fileSystemsCombo, 3, 3, 0, 0 );
94 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 96 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Minimum );
95 tabLayout->addItem( spacer, 2, 1 ); 97 tabLayout->addItem( spacer, 2, 0 );
96 98
97 formatPushButton = new QPushButton( tab, "formatPushButton" ); 99 formatPushButton = new QPushButton( tab, "formatPushButton" );
98 formatPushButton->setText( tr( "Format" ) ); 100 formatPushButton->setText( tr( "Format" ) );
99 101 formatPushButton->setMaximumWidth(170);
100 tabLayout->addMultiCellWidget( formatPushButton, 6, 6, 0, 1 ); 102
101 QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 103 tabLayout->addMultiCellWidget( formatPushButton, 6, 6, 0, 0 );
104 QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Minimum );
102 tabLayout->addItem( spacer_2, 5, 0 ); 105 tabLayout->addItem( spacer_2, 5, 0 );
103 TabWidget->insertTab( tab, tr( "Main" ) ); 106 TabWidget->insertTab( tab, tr( "Main" ) );
104 107
105 tab_2 = new QWidget( TabWidget, "tab_2" ); 108 tab_2 = new QWidget( TabWidget, "tab_2" );
106 tabLayout_2 = new QGridLayout( tab_2 ); 109 tabLayout_2 = new QGridLayout( tab_2 );
107 tabLayout_2->setSpacing( 6); 110 tabLayout_2->setSpacing(3);
108 tabLayout_2->setMargin( 11); 111 tabLayout_2->setMargin(2);
109 112
110 mountPointLineEdit = new QLineEdit( tab_2, "mountPointLineEdit" ); 113 mountPointLineEdit = new QLineEdit( tab_2, "mountPointLineEdit" );
111 114
112 tabLayout_2->addMultiCellWidget( mountPointLineEdit, 0, 0, 0, 1 ); 115 tabLayout_2->addMultiCellWidget( mountPointLineEdit, 0, 0, 0, 0 );
113 116
114 deviceComboBox = new QComboBox( FALSE, tab_2, "deviceComboBox" ); 117 deviceComboBox = new QComboBox( FALSE, tab_2, "deviceComboBox" );
115 118
116 tabLayout_2->addMultiCellWidget( deviceComboBox, 3, 3, 0, 1 ); 119 tabLayout_2->addMultiCellWidget( deviceComboBox, 3, 3, 0, 0 );
117 120
118 TextLabel5 = new QLabel( tab_2, "TextLabel5" ); 121 TextLabel5 = new QLabel( tab_2, "TextLabel5" );
119 TextLabel5->setText( tr( "CAUTION:\n" 122 TextLabel5->setText( tr( "CAUTION:\n"
120 "Changing parameters on this \n" 123 "Changing parameters on this \n"
121 "page may cause your system \n" 124 "page may cause your system \n"
122 "to stop functioning properly!!" ) );//idiot message 125 "to stop functioning properly!!" ) );//idiot message
123 126
124 tabLayout_2->addMultiCellWidget( TextLabel5, 6, 6, 0, 1 ); 127 tabLayout_2->addMultiCellWidget( TextLabel5, 6, 6, 0, 0 );
125 128
126 editPushButton = new QPushButton( tab_2, "editPushButton" ); 129 editPushButton = new QPushButton( tab_2, "editPushButton" );
127 editPushButton->setText( tr( "Edit fstab" ) ); 130 editPushButton->setText( tr( "Edit fstab" ) );
128 131
@@ -130,21 +133,21 @@ FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFla
130 133
131 fsckButton = new QPushButton( tab_2, "fsckPushButton" ); 134 fsckButton = new QPushButton( tab_2, "fsckPushButton" );
132 fsckButton->setText( tr( "Check Disk" ) ); 135 fsckButton->setText( tr( "Check Disk" ) );
133 136
134 tabLayout_2->addMultiCellWidget( fsckButton, 7, 7, 1, 1 ); 137 tabLayout_2->addMultiCellWidget( fsckButton, 7, 7, 1, 0 );
135 138
136 TextLabel3 = new QLabel( tab_2, "TextLabel3" ); 139 TextLabel3 = new QLabel( tab_2, "TextLabel3" );
137 TextLabel3->setText( tr( "Device" ) ); 140 TextLabel3->setText( tr( "Device" ) );
138 141
139 tabLayout_2->addMultiCellWidget( TextLabel3, 4, 4, 0, 1 ); 142 tabLayout_2->addMultiCellWidget( TextLabel3, 4, 4, 0, 0 );
140 QSpacerItem* spacer_3 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 143 QSpacerItem* spacer_3 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
141 tabLayout_2->addItem( spacer_3, 5, 0 ); 144 tabLayout_2->addItem( spacer_3, 5, 0 );
142 145
143 TextLabel1 = new QLabel( tab_2, "TextLabel1" ); 146 TextLabel1 = new QLabel( tab_2, "TextLabel1" );
144 TextLabel1->setText( tr( "Mount Point" ) ); 147 TextLabel1->setText( tr( "Mount Point" ) );
145 148
146 tabLayout_2->addMultiCellWidget( TextLabel1, 1, 1, 0, 1 ); 149 tabLayout_2->addMultiCellWidget( TextLabel1, 1, 1, 0, 0 );
147 QSpacerItem* spacer_4 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 150 QSpacerItem* spacer_4 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
148 tabLayout_2->addItem( spacer_4, 2, 1 ); 151 tabLayout_2->addItem( spacer_4, 2, 1 );
149 TabWidget->insertTab( tab_2, tr( "Advanced" ) ); 152 TabWidget->insertTab( tab_2, tr( "Advanced" ) );
150 153
@@ -161,14 +164,9 @@ FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFla
161 164
162 fillCombos(); 165 fillCombos();
163} 166}
164 167
165/* 168FormatterApp::~FormatterApp() {
166 * Destroys the object and frees any allocated resources
167 frickin no duh?!?
168 */
169FormatterApp::~FormatterApp()
170{
171 169
172} 170}
173 171
174void FormatterApp::doFormat() { 172void FormatterApp::doFormat() {
@@ -325,9 +323,9 @@ void FormatterApp::fillCombos() {
325 storageComboBox->insertItem(name +" -> "+disk); 323 storageComboBox->insertItem(name +" -> "+disk);
326 } 324 }
327// deviceComboBox->insertItem(disk); 325// deviceComboBox->insertItem(disk);
328 } 326 }
329 parsetab("/etc/mtab"); 327 parsetab("/etc/mtab");
330// parsetab("/etc/fstab"); 328// parsetab("/etc/fstab");
331 fileSystemsCombo->insertStringList( fsList,-1); 329 fileSystemsCombo->insertStringList( fsList,-1);
332 deviceComboBox->insertStringList( deviceList,-1); 330 deviceComboBox->insertStringList( deviceList,-1);
333 storageComboSelected(0); 331 storageComboSelected(0);
@@ -350,9 +348,9 @@ void FormatterApp::storageComboSelected(int index ) {
350 QString fsType = getFileSystemType((const QString &) currentText); 348 QString fsType = getFileSystemType((const QString &) currentText);
351// qDebug(fsType); 349// qDebug(fsType);
352 for(int i = 0; i < fileSystemsCombo->count(); i++) { 350 for(int i = 0; i < fileSystemsCombo->count(); i++) {
353 if( fsType == fileSystemsCombo->text(i)) 351 if( fsType == fileSystemsCombo->text(i))
354 fileSystemsCombo->setCurrentItem(i); 352 fileSystemsCombo->setCurrentItem(i);
355 } 353 }
356// deviceComboSelected(index); 354// deviceComboSelected(index);
357} 355}
358 356
@@ -390,9 +388,9 @@ void FormatterApp::deviceComboSelected(int index) {
390 } 388 }
391 } 389 }
392 fsType = getFileSystemType((const QString &)selectedText); 390 fsType = getFileSystemType((const QString &)selectedText);
393 391
394 TextLabel5->setText("Type: "+ nameS+" Formatted with "+ fsType + " \n" + totalS + usedS + avS); 392 TextLabel5->setText("Type: "+ nameS+"\nFormatted with "+ fsType + " \n" + totalS + usedS + avS);
395// storageComboSelected(0); 393// storageComboSelected(0);
396} 394}
397 395
398void FormatterApp::cleanUp() { 396void FormatterApp::cleanUp() {
@@ -420,9 +418,9 @@ void FormatterApp::parsetab(const QString &fileName) {
420 if( fsList.contains(filesystemType) == 0 418 if( fsList.contains(filesystemType) == 0
421 & filesystemType.find("proc",0,TRUE) == -1 419 & filesystemType.find("proc",0,TRUE) == -1
422 & filesystemType.find("cramfs",0,TRUE) == -1 420 & filesystemType.find("cramfs",0,TRUE) == -1
423 & filesystemType.find("auto",0,TRUE) == -1) 421 & filesystemType.find("auto",0,TRUE) == -1)
424 fsList << filesystemType; 422 fsList << filesystemType;
425 deviceList << deviceName; 423 deviceList << deviceName;
426 qDebug(deviceName+"::"+filesystemType); 424 qDebug(deviceName+"::"+filesystemType);
427 fileSystemTypeList << deviceName+"::"+filesystemType; 425 fileSystemTypeList << deviceName+"::"+filesystemType;
428 } 426 }
@@ -489,66 +487,66 @@ bool FormatterApp::doFsck() {
489 if(fsType == "vfat") cmd = "dosfsck -vy "; 487 if(fsType == "vfat") cmd = "dosfsck -vy ";
490 if(fsType == "ext2") cmd = "e2fsck -cpvy "; 488 if(fsType == "ext2") cmd = "e2fsck -cpvy ";
491 cmd += selectedDevice + " 2>&1"; 489 cmd += selectedDevice + " 2>&1";
492 490
493 outDlg = new Output(this, tr("Formatter Output"),FALSE); 491 outDlg = new Output(this, tr("Formatter Output"),FALSE);
494 outDlg->showMaximized(); 492 outDlg->showMaximized();
495 outDlg->show(); 493 outDlg->show();
496 qApp->processEvents(); 494 qApp->processEvents();
497 FILE *fp; 495 FILE *fp;
498 char line[130]; 496 char line[130];
499 outDlg->OutputEdit->append( tr("Trying to umount.")); 497 outDlg->OutputEdit->append( tr("Trying to umount."));
500 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 498 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
501 499
502 sleep(1); 500 sleep(1);
503// qDebug("Command is "+umountS); 501// qDebug("Command is "+umountS);
504 fp = popen( (const char *) umountS, "r"); 502 fp = popen( (const char *) umountS, "r");
505// qDebug("%d", fp); 503// qDebug("%d", fp);
506 if ( !fp ) { 504 if ( !fp ) {
507 qDebug("Could not execute '" + umountS + "'!\n" +(QString)strerror(errno)); 505 qDebug("Could not execute '" + umountS + "'!\n" +(QString)strerror(errno));
508 QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") ); 506 QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") );
509 pclose(fp); 507 pclose(fp);
510 return false; 508 return false;
511 } else { 509 } else {
512// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted.")); 510// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted."));
513// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 511// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
514 while ( fgets( line, sizeof line, fp)) { 512 while ( fgets( line, sizeof line, fp)) {
515 if( ((QString)line).find("busy",0,TRUE) != -1) { 513 if( ((QString)line).find("busy",0,TRUE) != -1) {
516 qDebug("Could not find '" + umountS); 514 qDebug("Could not find '" + umountS);
517 QMessageBox::warning( this, tr("Formatter"), tr("Could not umount.\nDevice is busy!"), tr("&OK") ); 515 QMessageBox::warning( this, tr("Formatter"), tr("Could not umount.\nDevice is busy!"), tr("&OK") );
518 pclose(fp); 516 pclose(fp);
519 return false; 517 return false;
520 } else { 518 } else {
521 QString lineStr = line; 519 QString lineStr = line;
522 lineStr=lineStr.left(lineStr.length()-1); 520 lineStr=lineStr.left(lineStr.length()-1);
523 outDlg->OutputEdit->append(lineStr); 521 outDlg->OutputEdit->append(lineStr);
524 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 522 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
525 } 523 }
526 } 524 }
527 } 525 }
528 pclose(fp); 526 pclose(fp);
529///////////////////////////////////// 527/////////////////////////////////////
530 fp = popen( (const char *) cmd, "r"); 528 fp = popen( (const char *) cmd, "r");
531 while ( fgets( line, sizeof line, fp)) { 529 while ( fgets( line, sizeof line, fp)) {
532 if( ((QString)line).find("No such device",0,TRUE) != -1) { 530 if( ((QString)line).find("No such device",0,TRUE) != -1) {
533 qDebug("No such device '" + umountS); 531 qDebug("No such device '" + umountS);
534 QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") ); 532 QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") );
535 pclose(fp); 533 pclose(fp);
536// outDlg->OutputEdit->append("No such device"); 534// outDlg->OutputEdit->append("No such device");
537// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 535// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
538 return false; 536 return false;
539 } else { 537 } else {
540 QString lineStr = line; 538 QString lineStr = line;
541 lineStr=lineStr.left(lineStr.length()-1); 539 lineStr=lineStr.left(lineStr.length()-1);
542 outDlg->OutputEdit->append(lineStr); 540 outDlg->OutputEdit->append(lineStr);
543 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 541 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
544 } 542 }
545 } 543 }
546 outDlg->OutputEdit->append(tr("You can now close the output window.")); 544 outDlg->OutputEdit->append(tr("You can now close the output window."));
547 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 545 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
548// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted.")); 546// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted."));
549// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE); 547// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
550 pclose(fp); 548 pclose(fp);
551 549
552///////////////////////////////////////// 550/////////////////////////////////////////
553 551
554 return true; 552 return true;