summaryrefslogtreecommitdiff
path: root/noncore/tools/formatter/formatter.cpp
Side-by-side diff
Diffstat (limited to 'noncore/tools/formatter/formatter.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/formatter/formatter.cpp174
1 files changed, 111 insertions, 63 deletions
diff --git a/noncore/tools/formatter/formatter.cpp b/noncore/tools/formatter/formatter.cpp
index 532ee40..e869317 100644
--- a/noncore/tools/formatter/formatter.cpp
+++ b/noncore/tools/formatter/formatter.cpp
@@ -7,43 +7,43 @@
****************************************************************************/
#include "formatter.h"
#include "inputDialog.h"
#include "output.h"
-#include <qmenubar.h>
+/* OPIE */
#include <qpe/qpetoolbar.h>
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/config.h>
#include <qpe/mimetype.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/storage.h>
+/* QT */
+#include <qmenubar.h>
#include <qmultilineedit.h>
#include <qstring.h>
#include <qlist.h>
#include <qstringlist.h>
#include <qdir.h>
#include <qfile.h>
-
#include <qtstream.h>
-
#include <qcombobox.h>
#include <qpopupmenu.h>
#include <qmessagebox.h>
#include <qregexp.h>
-
#include <qlabel.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qtabwidget.h>
#include <qwidget.h>
#include <qlayout.h>
#include <qvariant.h>
+/* STD */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/vfs.h>
#include <mntent.h>
#include <string.h>
@@ -165,17 +165,17 @@ FormatterApp::FormatterApp( QWidget* parent, const char* name, WFlags fl, bool
connect( deviceComboBox,SIGNAL(activated(int)),this,SLOT( deviceComboSelected(int ) ));
fillCombos();
}
-FormatterApp::~FormatterApp() {
-
-}
+FormatterApp::~FormatterApp()
+{}
-void FormatterApp::doFormat() {
+void FormatterApp::doFormat()
+{
int err=0;
Output *outDlg;
QString umountS, remountS;
QString text = storageComboBox->currentText();
QString currentText = storageComboBox->currentText();
QString cmd;
@@ -187,20 +187,22 @@ void FormatterApp::doFormat() {
#else
currentText = diskDevice = "/dev/fd0";
umountS = "umount -v /floppy 2>&1";
remountS = "mount -v /floppy 2>&1";
#endif
- if( currentText.find("CF",0,TRUE) != -1) {
+ if( currentText.find("CF",0,TRUE) != -1)
+ {
umountS = "umount ";
remountS = "mount ";
// umountS = "/sbin/cardctl eject";
// remountS = "/sbin/cardctl insert";
}
- if( currentText.find("SD",0,TRUE) != -1) {
+ if( currentText.find("SD",0,TRUE) != -1)
+ {
umountS = "umount ";
remountS = "mount ";
// umountS = "/etc/sdcontrol compeject";
// remountS = "/etc/sdcontrol insert";
}
@@ -208,53 +210,62 @@ void FormatterApp::doFormat() {
, tr("Really format\n") +diskName+" "+ currentText +
tr("\nwith %1 filesystem?\nYou will loose all data!!").arg( fs )
,tr("Yes")
,tr("No")
,0
,1
- ,1) ) {
- case 0: {
+ ,1) )
+ {
+ case 0:
+ {
if(fs == "vfat")
cmd = "mkdosfs -v " + diskDevice+" 2>&1";
else if(fs == "ext2")
cmd = "mke2fs -v " + diskDevice+" 2>&1";
- else {
+ else
+ {
QMessageBox::warning(this, tr("Formatter"),tr("Could not format.\nUnknown type"), tr("Ok"));
break;
}
// cmd = "ls -l";
outDlg = new Output(this, tr("Formatter Output"),FALSE);
- outDlg->showMaximized();
- outDlg->show();
+ QPEApplication::showDialog( outDlg);
qApp->processEvents();
FILE *fp;
char line[130];
outDlg->OutputEdit->append( tr("Trying to umount %1.").arg( currentText) );
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
sleep(1);
qDebug("Command is "+umountS);
fp = popen( (const char *) umountS, "r");
// qDebug("%d", fp);
- if ( !fp ) {
+ if ( !fp )
+ {
qDebug("Could not execute '" + umountS + "'! err=%d\n" +(QString)strerror(errno), err);
QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") );
pclose(fp);
return;
- } else {
+ }
+ else
+ {
// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted."));
// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
- while ( fgets( line, sizeof line, fp)) {
- if( ((QString)line).find("busy",0,TRUE) != -1) {
+ while ( fgets( line, sizeof line, fp))
+ {
+ if( ((QString)line).find("busy",0,TRUE) != -1)
+ {
qDebug("Could not find '" + umountS);
QMessageBox::warning( this, tr("Formatter"), tr("Could not umount.\nDevice is busy!"), tr("&OK") );
pclose(fp);
return;
- } else {
+ }
+ else
+ {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
}
}
@@ -263,21 +274,25 @@ void FormatterApp::doFormat() {
qDebug("Command would be: "+cmd);
outDlg->OutputEdit->append( tr("Trying to format.") );
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
fp = popen( (const char *) cmd, "r");
- while ( fgets( line, sizeof line, fp)) {
- if( ((QString)line).find("No such device",0,TRUE) != -1) {
+ while ( fgets( line, sizeof line, fp))
+ {
+ if( ((QString)line).find("No such device",0,TRUE) != -1)
+ {
qDebug("No such device '" + umountS);
QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") );
pclose(fp);
// outDlg->OutputEdit->append("No such device");
// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
return;
- } else {
+ }
+ else
+ {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
}
}
@@ -285,19 +300,23 @@ void FormatterApp::doFormat() {
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
pclose(fp);
outDlg->OutputEdit->append( tr("Trying to mount %1.").arg( currentText) );
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
fp = popen( (const char *) remountS, "r");
- if ( !fp) {
+ if ( !fp)
+ {
qDebug("Could not execute '" + remountS + "'! err=%d\n" +(QString)strerror(errno), err);
QMessageBox::warning( this, tr("Formatter"), tr("Card mount failed!"), tr("&OK") );
- } else {
+ }
+ else
+ {
outDlg->OutputEdit->append(tr("%1\nhas been successfully mounted.").arg( currentText ));
- while ( fgets( line, sizeof line, fp)) {
+ while ( fgets( line, sizeof line, fp))
+ {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
}
}
@@ -311,29 +330,33 @@ void FormatterApp::doFormat() {
// delete outDlg;
}
break;
};
}
-bool FormatterApp::doFdisk() {
+bool FormatterApp::doFdisk()
+{
return FALSE;
}
-void FormatterApp::fillCombos() {
+void FormatterApp::fillCombos()
+{
StorageInfo storageInfo;
const QList<FileSystem> &fs = storageInfo.fileSystems();
QListIterator<FileSystem> it ( fs );
QString storage;
- for( ; it.current(); ++it ){
+ for( ; it.current(); ++it )
+ {
const QString name = (*it)->name();
const QString path = (*it)->path();
const QString disk = (*it)->disk();
const QString options = (*it)->options();
- if( name.find( tr("Internal"),0,TRUE) == -1) {
+ if( name.find( tr("Internal"),0,TRUE) == -1)
+ {
storageComboBox->insertItem(name +" -> "+disk);
}
// deviceComboBox->insertItem(disk);
}
parsetab("/etc/mtab");
// parsetab("/etc/fstab");
@@ -341,49 +364,53 @@ void FormatterApp::fillCombos() {
deviceComboBox->insertStringList( deviceList,-1);
storageComboSelected(0);
deviceComboSelected(0);
}
-void FormatterApp::fsComboSelected(int ) {
+void FormatterApp::fsComboSelected(int )
+{}
-}
-
-void FormatterApp::storageComboSelected(int index ) {
+void FormatterApp::storageComboSelected(int index )
+{
QString currentText = storageComboBox->text(index);
QString nameS = currentText.left( currentText.find("->",0,TRUE));
TextLabel4->setText( tr( "Storage Type: %1").arg( nameS) );
currentText = currentText.right( currentText.length() - currentText.find(" -> ",0,TRUE) - 4);
QString fsType = getFileSystemType((const QString &) currentText);
// qDebug(fsType);
- for(int i = 0; i < fileSystemsCombo->count(); i++) {
+ for(int i = 0; i < fileSystemsCombo->count(); i++)
+ {
if( fsType == fileSystemsCombo->text(i))
fileSystemsCombo->setCurrentItem(i);
}
// deviceComboSelected(index);
}
-void FormatterApp::deviceComboSelected(int index) {
+void FormatterApp::deviceComboSelected(int index)
+{
StorageInfo storageInfo;
QString totalS, usedS, avS, diskS, nameS, fsType, selectedText;
selectedText = deviceComboBox->text(index);
const QList<FileSystem> &fs = storageInfo.fileSystems();
QListIterator<FileSystem> it ( fs );
QString storage;
- for( ; it.current(); ++it ){
+ for( ; it.current(); ++it )
+ {
const QString name = (*it)->name();
const QString path = (*it)->path();
const QString disk = (*it)->disk();
// const QString options = (*it)->options();
- if( selectedText == disk) {
+ if( selectedText == disk)
+ {
diskS = disk; nameS= name;
mountPointLineEdit->setText(path);
long mult = (*it)->blockSize() / 1024;
long div = 1024 / (*it)->blockSize();
if ( !mult ) mult = 1;
if ( !div ) div = 1;
@@ -402,34 +429,38 @@ void FormatterApp::deviceComboSelected(int index) {
TextLabel5->setText(tr("Type: %1\nFormatted with %2\n%3, %4, %5").arg( nameS).arg( fsType).arg(totalS).arg( usedS).arg( avS ));
TextLabel5->setTextFormat( Qt::RichText );
// storageComboSelected(0);
}
-void FormatterApp::cleanUp() {
-
-}
+void FormatterApp::cleanUp()
+{}
-void FormatterApp::editFstab() {
+void FormatterApp::editFstab()
+{
QCopEnvelope e("QPE/Application/textedit","setDocument(QString)");
e << (const QString &)"/etc/fstab";
}
-void FormatterApp::parsetab(const QString &fileName) {
+void FormatterApp::parsetab(const QString &fileName)
+{
fileSystemTypeList.clear();
fsList.clear();
struct mntent *me;
// if(fileName == "/etc/mtab") {
FILE *mntfp = setmntent( fileName.latin1(), "r" );
- if ( mntfp ) {
- while ( (me = getmntent( mntfp )) != 0 ) {
+ if ( mntfp )
+ {
+ while ( (me = getmntent( mntfp )) != 0 )
+ {
QString deviceName = me->mnt_fsname;
QString filesystemType = me->mnt_type;
- if(deviceName != "none") {
+ if(deviceName != "none")
+ {
if( fsList.contains(filesystemType) == 0
& filesystemType.find("proc",0,TRUE) == -1
& filesystemType.find("cramfs",0,TRUE) == -1
& filesystemType.find("auto",0,TRUE) == -1)
fsList << filesystemType;
deviceList << deviceName;
@@ -461,27 +492,31 @@ void FormatterApp::parsetab(const QString &fileName) {
// }
// }
// f.close();
// }
}
-QString FormatterApp::getFileSystemType(const QString &currentText) {
+QString FormatterApp::getFileSystemType(const QString &currentText)
+{
parsetab("/etc/mtab"); //why did TT forget filesystem type?
- for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it ) {
+ for ( QStringList::Iterator it = fileSystemTypeList.begin(); it != fileSystemTypeList.end(); ++it )
+ {
QString temp = (*it);
- if( temp.find( currentText,0,TRUE) != -1) {
+ if( temp.find( currentText,0,TRUE) != -1)
+ {
return temp.right( temp.length() - temp.find("::",0,TRUE) - 2);
// qDebug(fsType);
}
}
return "";
}
-bool FormatterApp::doFsck() {
+bool FormatterApp::doFsck()
+{
Output *outDlg;
QString selectedDevice;
// #if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX)
selectedDevice = deviceComboBox->currentText();
QString mountPoint = mountPointLineEdit->text();
@@ -501,59 +536,69 @@ bool FormatterApp::doFsck() {
qDebug( selectedDevice +" "+ fsType);
if(fsType == "vfat") cmd = "dosfsck -vy ";
if(fsType == "ext2") cmd = "e2fsck -cpvy ";
cmd += selectedDevice + " 2>&1";
outDlg = new Output(this, tr("Formatter Output"),FALSE);
- outDlg->showMaximized();
- outDlg->show();
+ QPEApplication::showDialog( outDlg );
qApp->processEvents();
FILE *fp;
char line[130];
outDlg->OutputEdit->append( tr("Trying to umount."));
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
sleep(1);
// qDebug("Command is "+umountS);
fp = popen( (const char *) umountS, "r");
// qDebug("%d", fp);
- if ( !fp ) {
+ if ( !fp )
+ {
qDebug("Could not execute '" + umountS + "'!\n" +(QString)strerror(errno));
QMessageBox::warning( this, tr("Formatter"), tr("umount failed!"), tr("&OK") );
pclose(fp);
return false;
- } else {
+ }
+ else
+ {
// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully umounted."));
// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
- while ( fgets( line, sizeof line, fp)) {
- if( ((QString)line).find("busy",0,TRUE) != -1) {
+ while ( fgets( line, sizeof line, fp))
+ {
+ if( ((QString)line).find("busy",0,TRUE) != -1)
+ {
qDebug("Could not find '" + umountS);
QMessageBox::warning( this, tr("Formatter"),
tr("Could not umount.\nDevice is busy!"), tr("&OK") );
pclose(fp);
return false;
- } else {
+ }
+ else
+ {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
}
}
}
pclose(fp);
/////////////////////////////////////
fp = popen( (const char *) cmd, "r");
- while ( fgets( line, sizeof line, fp)) {
- if( ((QString)line).find("No such device",0,TRUE) != -1) {
+ while ( fgets( line, sizeof line, fp))
+ {
+ if( ((QString)line).find("No such device",0,TRUE) != -1)
+ {
qDebug("No such device '" + umountS);
QMessageBox::warning( this, tr("Formatter"), tr("No such device!"), tr("&OK") );
pclose(fp);
// outDlg->OutputEdit->append("No such device");
// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
return false;
- } else {
+ }
+ else
+ {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
}
}
@@ -565,20 +610,23 @@ bool FormatterApp::doFsck() {
/////////////////////////////////////////
return true;
}
-bool FormatterApp::doFsckCheck() {
+bool FormatterApp::doFsckCheck()
+{
return FALSE;
}
-int FormatterApp::formatCheck(const QString &) {
+int FormatterApp::formatCheck(const QString &)
+{
return -1;
}
-int FormatterApp::runCommand(const QString &) {
+int FormatterApp::runCommand(const QString &)
+{
return -1;
}