Diffstat (limited to 'noncore/tools/formatter/formatter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/tools/formatter/formatter.cpp | 172 |
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 | /* |
56 | Blah blah blah blah */ | 56 | Blah blah blah blah */ |
57 | FormatterApp::FormatterApp( QWidget* parent, const char* name, bool modal, WFlags fl ) | 57 | FormatterApp::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 | /* | 168 | FormatterApp::~FormatterApp() { |
166 | * Destroys the object and frees any allocated resources | ||
167 | frickin no duh?!? | ||
168 | */ | ||
169 | FormatterApp::~FormatterApp() | ||
170 | { | ||
171 | 169 | ||
172 | } | 170 | } |
173 | 171 | ||
174 | void FormatterApp::doFormat() { | 172 | void 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 | ||
398 | void FormatterApp::cleanUp() { | 396 | void 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; |